Plasma Engine  2.0
Loading...
Searching...
No Matches
ProcGenActions.h
1#pragma once
2
3#include <EditorPluginProcGen/EditorPluginProcGenDLL.h>
4#include <GuiFoundation/Action/BaseActions.h>
5#include <GuiFoundation/GuiFoundationDLL.h>
6
7class plPreferences;
8
9class PL_EDITORPLUGINPROCGEN_DLL plProcGenActions
10{
11public:
12 static void RegisterActions();
13 static void UnregisterActions();
14
15 static void MapMenuActions();
16
17 static plActionDescriptorHandle s_hCategory;
18 static plActionDescriptorHandle s_hDumpAST;
19 static plActionDescriptorHandle s_hDumpDisassembly;
20};
21
22class PL_EDITORPLUGINPROCGEN_DLL plProcGenAction : public plButtonAction
23{
24 PL_ADD_DYNAMIC_REFLECTION(plProcGenAction, plButtonAction);
25
26public:
27 enum class ActionType
28 {
29 DumpAST,
30 DumpDisassembly,
31 };
32
33 plProcGenAction(const plActionContext& context, const char* szName, ActionType type);
35
36 virtual void Execute(const plVariant& value) override;
37
38private:
39 void OnPreferenceChange(plPreferences* pref);
40
41 ActionType m_Type;
42};
Handle for a plAction.
Definition Action.h:27
Definition BaseActions.h:159
Base class for all preferences.
Definition Preferences.h:17
Definition ProcGenActions.h:23
Definition ProcGenActions.h:10
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
Definition Action.h:67