Plasma Engine  2.0
Loading...
Searching...
No Matches
CurveEditDlg.moc.h
1#pragma once
2
3#include <GuiFoundation/GuiFoundationDLL.h>
4#include <GuiFoundation/Widgets/CurveEditData.h>
5#include <GuiFoundation/ui_CurveEditDlg.h>
6#include <QDialog>
7
11
12class PL_GUIFOUNDATION_DLL plQtCurveEditDlg : public QDialog, Ui_CurveEditDlg
13{
14 Q_OBJECT
15public:
16 plQtCurveEditDlg(plObjectAccessorBase* pObjectAccessor, const plDocumentObject* pCurveObject, QWidget* pParent);
18
19 static QByteArray GetLastDialogGeometry() { return s_LastDialogGeometry; }
20
21 void SetCurveColor(const plColor& color);
22 void SetCurveExtents(double fLower, bool bLowerFixed, double fUpper, bool bUpperFixed);
23 void SetCurveRanges(double fLower, double fUpper);
24
25 virtual void reject() override;
26 virtual void accept() override;
27
28 void cancel();
29
30Q_SIGNALS:
31
32private Q_SLOTS:
33 void OnCpMovedEvent(plUInt32 curveIdx, plUInt32 cpIdx, plInt64 iTickX, double newPosY);
34 void OnCpDeletedEvent(plUInt32 curveIdx, plUInt32 cpIdx);
35 void OnTangentMovedEvent(plUInt32 curveIdx, plUInt32 cpIdx, float newPosX, float newPosY, bool rightTangent);
36 void OnInsertCpEvent(plUInt32 uiCurveIdx, plInt64 tickX, double value);
37 void OnTangentLinkEvent(plUInt32 curveIdx, plUInt32 cpIdx, bool bLink);
38 void OnCpTangentModeEvent(plUInt32 curveIdx, plUInt32 cpIdx, bool rightTangent, int mode); // plCurveTangentMode
39
40 void OnBeginCpChangesEvent(QString name);
41 void OnEndCpChangesEvent();
42
43 void OnBeginOperationEvent(QString name);
44 void OnEndOperationEvent(bool commit);
45
46 void on_actionUndo_triggered();
47 void on_actionRedo_triggered();
48 void on_ButtonOk_clicked();
49 void on_ButtonCancel_clicked();
50
51private:
52 static QByteArray s_LastDialogGeometry;
53
54 void RetrieveCurveState();
55 void UpdatePreview();
56
57 double m_fLowerRange = -plMath::HighValue<double>();
58 double m_fUpperRange = plMath::HighValue<double>();
59 double m_fLowerExtents = 0.0;
60 double m_fUpperExtents = 1.0;
61 bool m_bLowerFixed = false;
62 bool m_bUpperFixed = false;
63 bool m_bCurveLengthIsFixed = false;
64 plCurveGroupData m_Curves;
65 plUInt32 m_uiActionsUndoBaseline = 0;
66
67 QShortcut* m_pShortcutUndo = nullptr;
68 QShortcut* m_pShortcutRedo = nullptr;
69
70 plObjectAccessorBase* m_pObjectAccessor = nullptr;
71 const plDocumentObject* m_pCurveObject = nullptr;
72
73protected:
74 virtual void closeEvent(QCloseEvent* e) override;
75 virtual void showEvent(QShowEvent* e) override;
76};
plColor represents an RGBA color in linear color space. Values are stored as float,...
Definition Color.h:44
Definition CurveEditData.h:109
Definition DocumentObjectBase.h:11
Definition ObjectAccessorBase.h:8
Definition CurveEditDlg.moc.h:13
constexpr TYPE HighValue()
A very large value, that is slightly smaller than sqrt(MaxValue()).