Plasma Engine  2.0
Loading...
Searching...
No Matches
ObjectCommandAccessor.h
1#pragma once
2
3#include <ToolsFoundation/Object/ObjectDirectAccessor.h>
4
7
8class PL_TOOLSFOUNDATION_DLL plObjectCommandAccessor : public plObjectDirectAccessor
9{
10public:
12
13 virtual void StartTransaction(plStringView sDisplayString) override;
14 virtual void CancelTransaction() override;
15 virtual void FinishTransaction() override;
16 virtual void BeginTemporaryCommands(plStringView sDisplayString, bool bFireEventsWhenUndoingTempCommands = false) override;
17 virtual void CancelTemporaryCommands() override;
18 virtual void FinishTemporaryCommands() override;
19
20 virtual plStatus SetValue(
21 const plDocumentObject* pObject, const plAbstractProperty* pProp, const plVariant& newValue, plVariant index = plVariant()) override;
22 virtual plStatus InsertValue(
23 const plDocumentObject* pObject, const plAbstractProperty* pProp, const plVariant& newValue, plVariant index = plVariant()) override;
24 virtual plStatus RemoveValue(const plDocumentObject* pObject, const plAbstractProperty* pProp, plVariant index = plVariant()) override;
25 virtual plStatus MoveValue(
26 const plDocumentObject* pObject, const plAbstractProperty* pProp, const plVariant& oldIndex, const plVariant& newIndex) override;
27
28 virtual plStatus AddObject(const plDocumentObject* pParent, const plAbstractProperty* pParentProp, const plVariant& index, const plRTTI* pType,
29 plUuid& inout_objectGuid) override;
30 virtual plStatus RemoveObject(const plDocumentObject* pObject) override;
31 virtual plStatus MoveObject(
32 const plDocumentObject* pObject, const plDocumentObject* pNewParent, const plAbstractProperty* pParentProp, const plVariant& index) override;
33
34protected:
35 plCommandHistory* m_pHistory;
36};
This is the base interface for all properties in the reflection system. It provides enough informatio...
Definition AbstractProperty.h:150
Stores the undo / redo stacks of transactions done on a document.
Definition CommandHistory.h:52
Definition DocumentObjectBase.h:11
Definition ObjectCommandAccessor.h:9
Definition ObjectDirectAccessor.h:8
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
This data type is the abstraction for 128-bit Uuid (also known as GUID) instances.
Definition Uuid.h:11
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
An plResult with an additional message for the reason of failure.
Definition Status.h:12