27 #include <QtCore/QList>
28 #include <QScrollArea>
29 #include <QVBoxLayout>
30 #include <QListWidgetItem>
31 #include <QApplication>
32 #include <QWidgetAction>
34 #include "../guiElements/WScaleLabel.h"
35 #include "../WQtGui.h"
36 #include "../WMainWindow.h"
37 #include "WPropertyBoolWidget.h"
38 #include "WPropertyStringWidget.h"
40 #include "WTreeItemTypes.h"
41 #include "WQtRoiTreeItem.h"
47 setFlags( Qt::ItemIsEditable | Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled );
62 QWidget* itemWidget =
new QWidget( );
63 QHBoxLayout* containerLayout =
new QHBoxLayout();
64 itemWidget->setLayout( containerLayout );
67 QWidget* labelContainer =
new QWidget( itemWidget );
68 QHBoxLayout* labelContainerLayout =
new QHBoxLayout();
69 labelContainer->setLayout( labelContainerLayout );
71 QWidget* propertyContainer =
new QWidget( itemWidget );
72 QHBoxLayout* propertyContainerLayout =
new QHBoxLayout();
73 propertyContainer->setLayout( propertyContainerLayout );
74 propertyContainer->setObjectName(
"propertyContainer" );
78 name->setToolTip(
"The name of this ROI." );
84 isnot->setToolTip( QString::fromStdString(
m_roi->invertProperty()->getDescription() ) );
88 active->setToolTip( QString::fromStdString(
m_roi->activeProperty()->getDescription() ) );
92 show->setToolTip( QString::fromStdString(
m_roi->showProperty()->getDescription() ) );
94 QLabel* grabWidget =
new QLabel( itemWidget );
95 grabWidget->setPixmap(
WQtGui::getMainWindow()->getIconManager()->getIcon(
"touchpoint_small" ).pixmap( 24, 32 ) );
96 grabWidget->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ) );
97 grabWidget->setFixedWidth( 24 );
98 grabWidget->setToolTip(
"Drag and drop this ROI to change their ordering." );
102 QColor defaultCol = palette.window().color();
105 QColor labelCol = defaultCol.darker( 115 );
107 QColor propertyCol = defaultCol;
110 labelContainer->setStyleSheet(
"background-color:" + labelCol.name() +
";" );
111 propertyContainer->setStyleSheet(
"QWidget#propertyContainer{ background-color:" + propertyCol.name() +
";}" );
114 propertyContainerLayout->addWidget( isnot );
115 propertyContainerLayout->addWidget( show );
117 labelContainerLayout->addWidget( active );
118 labelContainerLayout->addWidget( name );
119 labelContainerLayout->setStretchFactor( name, 100 );
120 labelContainerLayout->setStretchFactor( active, 0 );
123 containerLayout->addWidget( grabWidget );
124 containerLayout->addWidget( labelContainer );
125 containerLayout->addWidget( propertyContainer );
128 containerLayout->setContentsMargins( 0, 2, 0, 2 );
129 containerLayout->setSpacing( 0 );
130 labelContainerLayout->setContentsMargins( 2, 2, 0, 2 );
131 labelContainerLayout->setSpacing( 0 );
132 propertyContainerLayout->setContentsMargins( 2, 2, 0, 2 );
133 propertyContainerLayout->setSpacing( 0 );
136 containerLayout->setStretchFactor( grabWidget, 0 );
137 containerLayout->setStretchFactor( labelContainer, 100 );
138 containerLayout->setStretchFactor( propertyContainer, 0 );
141 itemWidget->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ) );
static WMainWindow * getMainWindow()
Returns the current main window instance or NULL if not existent.
osg::ref_ptr< WROI > getRoi()
Getter.
WQtRoiTreeItem(QTreeWidgetItem *parent, osg::ref_ptr< WROI > roi, WTreeItemType type=ROI)
Constructor.
QWidget * createWidget() const
Create a representation widget for this item.
osg::ref_ptr< WROI > m_roi
Pointer to the ROI represented by this item.
virtual ~WQtRoiTreeItem()
Destructor.