Plasma Engine  2.0
Loading...
Searching...
No Matches
EditActions.h
1#pragma once
2
3#include <GuiFoundation/Action/BaseActions.h>
4#include <GuiFoundation/GuiFoundationDLL.h>
5#include <ToolsFoundation/Selection/SelectionManager.h>
7class PL_GUIFOUNDATION_DLL plEditActions
8{
9public:
10 static void RegisterActions();
11 static void UnregisterActions();
12
13 static void MapActions(plStringView sMapping, bool bDeleteAction, bool bAdvancedPasteActions);
14 static void MapContextMenuActions(plStringView sMapping);
15 static void MapViewContextMenuActions(plStringView sMapping);
16
17 static plActionDescriptorHandle s_hEditCategory;
18 static plActionDescriptorHandle s_hCopy;
19 static plActionDescriptorHandle s_hPaste;
20 static plActionDescriptorHandle s_hPasteAsChild;
21 static plActionDescriptorHandle s_hPasteAtOriginalLocation;
22 static plActionDescriptorHandle s_hDelete;
23};
24
25
27class PL_GUIFOUNDATION_DLL plEditAction : public plButtonAction
28{
29 PL_ADD_DYNAMIC_REFLECTION(plEditAction, plButtonAction);
30
31public:
32 enum class ButtonType
33 {
34 Copy,
35 Paste,
36 PasteAsChild,
37 PasteAtOriginalLocation,
38 Delete,
39 };
40 plEditAction(const plActionContext& context, const char* szName, ButtonType button);
42
43 virtual void Execute(const plVariant& value) override;
44
45private:
46 void SelectionEventHandler(const plSelectionManagerEvent& e);
47
48 ButtonType m_ButtonType;
49};
Handle for a plAction.
Definition Action.h:27
Definition BaseActions.h:159
Definition EditActions.h:28
Definition EditActions.h:8
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 Action.h:67
Definition SelectionManager.h:10