28 #include <QApplication>
30 #include "../WGuiConsts.h"
31 #include "../events/WEventTypes.h"
32 #include "../events/WPropertyChangedEvent.h"
33 #include "WPropertyBoolWidget.h"
34 #include "WPropertyColorWidget.h"
35 #include "WPropertyDoubleWidget.h"
36 #include "WPropertyFilenameWidget.h"
37 #include "WPropertyIntWidget.h"
38 #include "WPropertyIntervalWidget.h"
39 #include "WPropertyMatrix4X4Widget.h"
40 #include "WPropertyPositionWidget.h"
41 #include "WPropertySelectionWidget.h"
42 #include "WPropertyStringWidget.h"
43 #include "WPropertyStructWidget.h"
44 #include "WPropertyTransferFunctionWidget.h"
45 #include "WPropertyTriggerWidget.h"
46 #include "WPropertyWidget.h"
47 #include "WQtPropertyGroupWidget.h"
48 #include "core/common/WLogger.h"
52 m_property( property ),
53 m_propertyGrid( propertyGrid ),
56 m_useLabel( m_propertyGrid ),
58 m_informationWidgets(),
61 setObjectName(
"ControlPanelPropertyWidget" );
65 QColor defaultCol = palette.window().color();
85 setToolTip(
m_label.toolTip() );
104 m_label.setObjectName(
"ControlPanelPropertyLabelWidget" );
106 m_label.setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Expanding ) );
107 m_label.setStyleSheet(
" padding-left:1px; background-color:" +
m_labelCol.name() +
";" );
110 setStyleSheet(
"QStackedWidget#ControlPanelPropertyWidget{ background-color:" +
m_propertyCol.name() +
111 "; margin-left:1px; margin-right:1px; }" );
119 if(
m_property->getPurpose() == PV_PURPOSE_INFORMATION )
121 setCurrentIndex( 1 );
141 if( !force && (
m_property->getPurpose() != PV_PURPOSE_INFORMATION ) )
143 setCurrentIndex( 0 );
147 setCurrentIndex( 1 );
158 if(
event->type() == WQT_PROPERTY_CHANGED_EVENT )
167 return QWidget::event(
event );
172 std::string tip =
"<b>Property: </b>" +
m_property->getName() +
"<br/>";
173 tip +=
"<b>Status: </b>";
174 tip +=
m_invalid ?
"<font color=#FF0000><b>invalid</b></font>" :
"valid";
192 setToolTip(
m_label.toolTip() );
196 m_label.setStyleSheet(
" padding-left:1px; background-color:" +
m_errorCol.name() +
"; font-weight: bold;" );
200 m_label.setStyleSheet(
" padding-left:1px; background-color:" +
m_labelCol.name() +
";" );
217 switch( property->getType() )
252 case PV_TRANSFERFUNCTION:
void addLogMessage(std::string message, std::string source="", LogLevel level=LL_DEBUG)
Appends a log message to the logging queue.
static WLogger * getLogger()
Returns pointer to the currently running logger instance.
std::shared_ptr< WPropertyBase > SPtr
Convenience typedef for a std::shared_ptr< WPropertyBase >
Event signalling a new module has been associated with the root container in the kernel.
virtual void addAdditionalWidth(int margin)
Set this to reserve extra space for a margin.
virtual void setText(const QString &text)
reimplemented function to setText