3#include <GuiFoundation/GuiFoundationDLL.h>
5#include <Foundation/Communication/Event.h>
6#include <Foundation/Containers/HybridArray.h>
7#include <Foundation/Types/Variant.h>
8#include <GuiFoundation/PropertyGrid/PropertyBaseWidget.moc.h>
21class QStandardItemModel;
38 virtual void mousePressEvent(QMouseEvent* pEv)
override;
41 void on_StateChanged_triggered(
int state);
44 virtual void OnInit()
override {}
45 virtual void InternalSetValue(
const plVariant& value)
override;
47 QHBoxLayout* m_pLayout;
64 void on_EditingFinished_triggered();
65 void SlotSliderValueChanged(
int value);
66 void SlotValueChanged();
69 virtual void OnInit()
override;
70 virtual void InternalSetValue(
const plVariant& value)
override;
72 bool m_bUseTemporaryTransaction =
false;
73 bool m_bTemporaryCommand =
false;
74 plInt8 m_iNumComponents = 0;
75 QSlider* m_pSlider =
nullptr;
77 QHBoxLayout* m_pLayout =
nullptr;
79 QLabel* m_pWidgetLabel[4] = {};
80 const char m_cAxisNames[4] = {
'X',
'Y',
'Z',
'W'};
81 const char* m_pWidgetLabelColors[4] = {
"#63000D",
"#006317",
"#000863",
"transparent"};
94 void on_EditingFinished_triggered();
95 void SlotValueChanged();
98 virtual void OnInit()
override;
99 virtual void InternalSetValue(
const plVariant& value)
override;
101 bool m_bTemporaryCommand;
102 QHBoxLayout* m_pLayout;
116 void on_EditingFinished_triggered();
117 void SlotValueChanged();
120 virtual void OnInit()
override;
121 virtual void InternalSetValue(
const plVariant& value)
override;
123 bool m_bTemporaryCommand;
124 QHBoxLayout* m_pLayout;
141 void SlotValueChanged();
142 void SlotSliderValueChanged(
int value);
143 void on_EditingFinished_triggered();
146 virtual void OnInit()
override;
147 virtual void InternalSetValue(
const plVariant& value)
override;
149 bool m_bUseTemporaryTransaction =
false;
150 bool m_bTemporaryCommand =
false;
151 plInt8 m_iNumComponents = 0;
153 QHBoxLayout* m_pLayout =
nullptr;
155 QSlider* m_pSlider =
nullptr;
164 using ImageGeneratorFunc = QImage (*)(plUInt32 uiWidth, plUInt32 uiHeight,
double fMinValue,
double fMaxValue);
166 plQtImageSliderWidget(ImageGeneratorFunc generator,
double fMinValue,
double fMaxValue, QWidget* pParent);
170 double GetValue()
const {
return m_fValue; }
171 void SetValue(
double fValue);
174 void valueChanged(
double x);
175 void sliderReleased();
178 virtual void paintEvent(QPaintEvent*)
override;
179 virtual void mouseMoveEvent(QMouseEvent*)
override;
180 virtual void mousePressEvent(QMouseEvent*)
override;
181 virtual void mouseReleaseEvent(QMouseEvent*)
override;
185 ImageGeneratorFunc m_Generator =
nullptr;
188 double m_fMinValue = 0;
189 double m_fMaxValue = 0;
201 void SlotSliderValueChanged(
double fValue);
202 void on_EditingFinished_triggered();
205 virtual void OnInit()
override;
206 virtual void InternalSetValue(
const plVariant& value)
override;
208 bool m_bTemporaryCommand =
false;
210 QHBoxLayout* m_pLayout =
nullptr;
213 double m_fMinValue = 0;
214 double m_fMaxValue = 0;
227 void on_EditingFinished_triggered();
228 void SlotValueChanged();
231 virtual void OnInit()
override;
232 virtual void InternalSetValue(
const plVariant& value)
override;
235 bool m_bTemporaryCommand;
236 QHBoxLayout* m_pLayout;
238 QLabel* m_pWidgetLabel[3];
239 const char m_cAxisNames[3] = {
'X',
'Y',
'Z'};
240 const char* m_pWidgetLabelColors[3] = {
"#63000D",
"#006317",
"#000863"};
256 void on_TextChanged_triggered(
const QString& value);
257 void on_TextFinished_triggered();
260 virtual void OnInit()
override;
261 virtual void InternalSetValue(
const plVariant& value)
override;
264 QHBoxLayout* m_pLayout;
265 QLineEdit* m_pWidget;
284 virtual void showEvent(QShowEvent* event)
override;
285 virtual void mouseReleaseEvent(QMouseEvent* event)
override;
287 virtual QSize sizeHint()
const override;
288 virtual QSize minimumSizeHint()
const override;
302 void on_Button_triggered();
303 void on_CurrentColor_changed(
const plColor& color);
304 void on_Color_reset();
305 void on_Color_accepted();
308 virtual void OnInit()
override;
309 virtual void InternalSetValue(
const plVariant& value)
override;
313 QHBoxLayout* m_pLayout;
329 void on_CurrentEnum_changed(
int iEnum);
332 virtual void OnInit()
override;
333 virtual void InternalSetValue(
const plVariant& value)
override;
336 QHBoxLayout* m_pLayout;
337 QComboBox* m_pWidget;
338 plInt64 m_iCurrentEnum;
353 void on_Menu_aboutToShow();
354 void on_Menu_aboutToHide();
357 virtual void OnInit()
override;
358 virtual void InternalSetValue(
const plVariant& value)
override;
359 void SetAllChecked(
bool bChecked);
363 QHBoxLayout* m_pLayout =
nullptr;
364 QPushButton* m_pWidget =
nullptr;
365 QPushButton* m_pAllButton =
nullptr;
366 QPushButton* m_pClearButton =
nullptr;
367 QMenu* m_pMenu =
nullptr;
368 plInt64 m_iCurrentBitflags = 0;
381 void UpdatePreview(
plObjectAccessorBase* pObjectAccessor,
const plDocumentObject* pCurveObject, QColor color,
double fLowerExtents,
bool bLowerFixed,
double fUpperExtents,
bool bUpperFixed,
double fDefaultValue,
double fLowerRange,
double fUpperRange);
387 virtual void mouseReleaseEvent(QMouseEvent* event)
override;
398 void on_Button_triggered();
402 virtual void OnInit()
override;
403 virtual void DoPrepareToDie()
override;
404 void UpdatePreview();
407 QHBoxLayout* m_pLayout =
nullptr;
plColor represents an RGBA color in linear color space. Values are stored as float,...
Definition Color.h:44
Definition DocumentObjectBase.h:11
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Definition ObjectAccessorBase.h:8
Definition DoubleSpinBox.moc.h:8
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37