Plasma Engine  2.0
Loading...
Searching...
No Matches
ViewActions.h
1#pragma once
2
3#include <EditorFramework/EditorFrameworkDLL.h>
4#include <GuiFoundation/Action/BaseActions.h>
5
7class PL_EDITORFRAMEWORK_DLL plViewActions
8{
9public:
10 static void RegisterActions();
11 static void UnregisterActions();
12
13 enum Flags
14 {
15 PerspectiveMode = PL_BIT(0),
16 RenderMode = PL_BIT(1),
17 ActivateRemoteProcess = PL_BIT(2),
18 };
19
20 static void MapToolbarActions(plStringView sMapping, plUInt32 uiFlags);
21
22 static plActionDescriptorHandle s_hRenderMode;
23 static plActionDescriptorHandle s_hPerspective;
24 static plActionDescriptorHandle s_hActivateRemoteProcess;
25 static plActionDescriptorHandle s_hLinkDeviceCamera;
26};
27
29class PL_EDITORFRAMEWORK_DLL plRenderModeAction : public plEnumerationMenuAction
30{
31 PL_ADD_DYNAMIC_REFLECTION(plRenderModeAction, plEnumerationMenuAction);
32
33public:
34 plRenderModeAction(const plActionContext& context, const char* szName, const char* szIconPath);
35 virtual plInt64 GetValue() const override;
36 virtual void Execute(const plVariant& value) override;
37};
38
40class PL_EDITORFRAMEWORK_DLL plPerspectiveAction : public plEnumerationMenuAction
41{
42 PL_ADD_DYNAMIC_REFLECTION(plPerspectiveAction, plEnumerationMenuAction);
43
44public:
45 plPerspectiveAction(const plActionContext& context, const char* szName, const char* szIconPath);
46 virtual plInt64 GetValue() const override;
47 virtual void Execute(const plVariant& value) override;
48};
49
50class PL_EDITORFRAMEWORK_DLL plViewAction : public plButtonAction
51{
52 PL_ADD_DYNAMIC_REFLECTION(plViewAction, plButtonAction);
53
54public:
55 enum class ButtonType
56 {
57 ActivateRemoteProcess,
58 LinkDeviceCamera,
59 };
60
61 plViewAction(const plActionContext& context, const char* szName, ButtonType button);
63
64 virtual void Execute(const plVariant& value) override;
65
66private:
67 ButtonType m_ButtonType;
68};
Handle for a plAction.
Definition Action.h:27
Definition BaseActions.h:159
Definition BaseActions.h:144
Definition ViewActions.h:41
Definition ViewActions.h:30
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
Definition ViewActions.h:51
Definition ViewActions.h:8
Definition Action.h:67