summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner/components/edit3d/edit3dactions.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/components/edit3d/edit3dactions.h')
-rw-r--r--src/plugins/qmldesigner/components/edit3d/edit3dactions.h42
1 files changed, 36 insertions, 6 deletions
diff --git a/src/plugins/qmldesigner/components/edit3d/edit3dactions.h b/src/plugins/qmldesigner/components/edit3d/edit3dactions.h
index 5b87563c30..bad427a25b 100644
--- a/src/plugins/qmldesigner/components/edit3d/edit3dactions.h
+++ b/src/plugins/qmldesigner/components/edit3d/edit3dactions.h
@@ -5,12 +5,15 @@
#include <abstractaction.h>
#include <QAction>
+#include <QWidgetAction>
#include <QIcon>
+class QWidgetAction;
namespace QmlDesigner {
using SelectionContextOperation = std::function<void(const SelectionContext &)>;
class Edit3DView;
+class SeekerSliderAction;
class Edit3DActionTemplate : public DefaultAction
{
@@ -29,6 +32,15 @@ public:
View3DActionType m_type;
};
+class Edit3DWidgetActionTemplate : public PureActionInterface
+{
+ Q_DISABLE_COPY(Edit3DWidgetActionTemplate)
+
+public:
+ explicit Edit3DWidgetActionTemplate(QWidgetAction *widget);
+ virtual void setSelectionContext(const SelectionContext &) {}
+};
+
class Edit3DAction : public AbstractAction
{
public:
@@ -38,13 +50,15 @@ public:
const QKeySequence &key,
bool checkable,
bool checked,
- const QIcon &iconOff,
- const QIcon &iconOn,
+ const QIcon &icon,
Edit3DView *view,
SelectionContextOperation selectionAction = nullptr,
const QString &toolTip = {});
- virtual ~Edit3DAction();
+ Edit3DAction(const QByteArray &menuId,
+ View3DActionType type,
+ Edit3DView *view,
+ PureActionInterface *pureInt);
QByteArray category() const override;
@@ -71,7 +85,7 @@ protected:
private:
QByteArray m_menuId;
- Edit3DActionTemplate *m_actionTemplate = nullptr;
+ View3DActionType m_actionType;
};
class Edit3DCameraAction : public Edit3DAction
@@ -83,8 +97,7 @@ public:
const QKeySequence &key,
bool checkable,
bool checked,
- const QIcon &iconOff,
- const QIcon &iconOn,
+ const QIcon &icon,
Edit3DView *view,
SelectionContextOperation selectionAction = nullptr);
@@ -92,4 +105,21 @@ protected:
bool isEnabled(const SelectionContext &selectionContext) const override;
};
+class Edit3DParticleSeekerAction : public Edit3DAction
+{
+public:
+ Edit3DParticleSeekerAction(const QByteArray &menuId,
+ View3DActionType type,
+ Edit3DView *view);
+
+ SeekerSliderAction *seekerAction();
+
+protected:
+ bool isVisible(const SelectionContext &) const override;
+ bool isEnabled(const SelectionContext &) const override;
+
+private:
+ SeekerSliderAction *m_seeker = nullptr;
+};
+
} // namespace QmlDesigner