Serializable UI authoring document with hierarchy and inspector capabilities. 更多...
#include <UiDocument.h>
Public 成员函数 | |
| UiDocumentTarget (std::string id) | |
| Ui document target. | |
| TargetId | targetId () const override |
| Target id. | |
| TargetDescriptor | describe () const override |
| Describe. | |
| void * | queryCapability (const CapabilityId &capability) override |
| Query an optional target capability. | |
| Result< void > | applyDomainOperation (const DomainOperation &operation) override |
| Applies domain operation. | |
| std::unique_ptr< IDomainOperationTarget > | cloneDomainState () const override |
| Clone an isolated owning candidate for atomic compensation. | |
| Result< void > | commitDomainState (std::unique_ptr< IDomainOperationTarget > candidate) override |
| Publish a validated candidate belonging to this document. | |
| Result< UiWidgetSnapshot > | widget (const ObjectId &id) const override |
| Widget. | |
| std::vector< ObjectId > | children (const ObjectId &parent) const override |
| Children. | |
| Result< DomainOperation > | makeCreate (const CreateUiWidgetRequest &request) const override |
| Make create. | |
| Result< DomainOperation > | makeDelete (const ObjectId &id) const override |
| Make delete. | |
| Result< DomainOperation > | makeRename (const ObjectId &id, const std::string &name) const override |
| Make rename. | |
| Result< DomainOperation > | makeReparent (const ObjectId &id, const ObjectId &parent) const override |
| Make reparent. | |
| Result< DomainOperation > | makeSetLayout (const ObjectId &id, const UiLayoutValue &layout) const override |
| Make set layout. | |
| Result< DomainOperation > | makeSetStyle (const ObjectId &id, const UiStyleValue &style) const override |
| Make set style. | |
| Result< DomainOperation > | makeSetContent (const ObjectId &id, const UiContentValue &content) const override |
| Make set content. | |
| std::vector< EditorDiagnostic > | validate () const |
| Validate style, hierarchy and viewport layout constraints. | |
| eve::Result< eve::Revision > | currentRevision (const SelectionSnapshot &selection) const override |
| Current revision. | |
| PropertySchema | schema (const SelectionSnapshot &selection) const override |
| Schema. | |
| PropertyReadResult | read (const SelectionSnapshot &selection, const PropertyPath &path) const override |
| Reads . | |
| Result< DomainOperation > | makeSet (const SelectionSnapshot &selection, const PropertyPath &path, const EditorValue &value, PropertySetMode mode) const override |
| Make set. | |
| Result< DomainOperation > | makeReset (const SelectionSnapshot &selection, const PropertyPath &path) const override |
| Make reset. | |
| EditorValue | snapshotValue () const |
| Capture deterministic UI document content. | |
| Result< void > | loadSnapshot (const EditorValue &snapshot) |
| Atomically load and validate a persisted UI document. | |
Public 成员函数 继承自 eve::editing::EditableTargetState | |
| EditableTargetState (Revision initial=1) | |
| Constructs the shared state with an explicit initial revision. | |
| EditRegion | dirtyRegion () const override |
| Return the accumulated dirty region. | |
| void | clearDirtyRegion () override |
| Discard the dirty region; the revision does not change. | |
| std::uint64_t | revision () const override |
| Return the current revision. | |
| Revision | revisionValue () const noexcept |
| Return the revision as the shared protocol revision type. | |
Public 成员函数 继承自 eve::editing::IEditableTarget | |
| virtual | ~IEditableTarget ()=default |
| Releases IEditableTarget resources. | |
| virtual void * | queryCapability (const CapabilityId &capability) |
| Query an optional stable capability. | |
| template<class C > | |
| eve::OptionalRef< C > | capability () |
| Query a capability through its interface-owned stable identity. | |
| template<class C > | |
| eve::OptionalRef< const C > | capability () const |
| Capability. | |
| template<class C > | |
| C * | query () |
| Queries query. | |
| template<class C > | |
| const C * | query () const |
| Queries query. | |
Public 成员函数 继承自 eve::editing::IDomainOperationTarget | |
| ~IDomainOperationTarget () override=default | |
| Releases IDomainOperationTarget resources. | |
Public 成员函数 继承自 eve::editing::IDomainOperationTargetStaging | |
| virtual | ~IDomainOperationTargetStaging ()=default |
| Releases IDomainOperationTargetStaging resources. | |
Public 成员函数 继承自 eve::ui_editing::IUiDocumentEditTarget | |
| virtual | ~IUiDocumentEditTarget ()=default |
| Releases IUiDocumentEditTarget resources. | |
Public 成员函数 继承自 eve::editing::IPropertyProvider | |
| virtual | ~IPropertyProvider ()=default |
| Releases IPropertyProvider resources. | |
| virtual Result< DomainOperation > | makeSet (const SelectionSnapshot &selection, const PropertyPath &path, const Value &value, PropertySetMode mode) const =0 |
| Make set. | |
额外继承的成员函数 | |
静态 Public 成员函数 继承自 eve::ui_editing::IUiDocumentEditTarget | |
| static CapabilityId | editorCapabilityId () |
| Editor capability id. | |
静态 Public 成员函数 继承自 eve::editing::IPropertyProvider | |
| static CapabilityId | editingCapabilityId () |
| Stable capability identity for generic property editing. | |
Protected 成员函数 继承自 eve::editing::EditableTargetState | |
| void | widenDirty (int x, int y) |
| Widen the dirty region without advancing the revision. | |
| void | widenDirty (const EditRegion ®ion) |
| Widen the dirty region without advancing the revision. | |
| void | widenDirty () |
| Mark an unknown area dirty without advancing the revision. | |
| void | bumpRevision () |
| Advance the revision without touching the dirty region. | |
| void | setRevision (Revision revision) |
| Adopt a revision observed elsewhere, without advancing it. | |
| void | setDirtyRegion (const EditRegion ®ion) |
| Replace the dirty region wholesale, without advancing the revision. | |
| void | markDirty (int x, int y) |
| Include one cell in the dirty region and advance the revision. | |
| void | markDirty (const EditRegion ®ion) |
| Include a whole region and advance the revision. | |
| void | markDirty () |
| Mark an unknown area dirty and advance the revision. | |
详细描述
Serializable UI authoring document with hierarchy and inspector capabilities.
在文件 UiDocument.h 第 144 行定义.
构造及析构函数说明
◆ UiDocumentTarget()
|
explicit |
Ui document target.
在文件 UiDocument.cpp 第 19 行定义.
成员函数说明
◆ applyDomainOperation()
|
overridevirtual |
Applies domain operation.
实现了 eve::editing::IDomainOperationTarget.
在文件 UiDocument.cpp 第 35 行定义.
引用了 eve::editing::EditableTargetState::bumpRevision(), children, current, entries, operation, value , 以及 eve::editing::EditableTargetState::widenDirty().
◆ children()
|
overridevirtual |
◆ cloneDomainState()
|
overridevirtual |
Clone an isolated owning candidate for atomic compensation.
实现了 eve::editing::IDomainOperationTargetStaging.
在文件 UiDocument.cpp 第 106 行定义.
◆ commitDomainState()
|
overridevirtual |
Publish a validated candidate belonging to this document.
实现了 eve::editing::IDomainOperationTargetStaging.
在文件 UiDocument.cpp 第 110 行定义.
◆ currentRevision()
|
overridevirtual |
◆ describe()
|
overridevirtual |
Describe.
重载 eve::editing::IEditableTarget .
在文件 UiDocument.cpp 第 21 行定义.
引用了 eve::ui_editing::IUiDocumentEditTarget::editorCapabilityId() , 以及 eve::editing::EditableTargetState::revisionValue().
◆ loadSnapshot()
| Result< void > eve::ui_editing::UiDocumentTarget::loadSnapshot | ( | const EditorValue & | snapshot | ) |
Atomically load and validate a persisted UI document.
在文件 UiDocumentSerialization.cpp 第 230 行定义.
引用了 eve::editing::EditableTargetState::bumpRevision(), eve::editing::IEditableTarget::clearDirtyRegion(), eve::editing::Value::getIf(), value , 以及 widget.
◆ makeCreate()
|
overridevirtual |
Make create.
实现了 eve::ui_editing::IUiDocumentEditTarget.
在文件 UiDocument.cpp 第 134 行定义.
引用了 eve::ui_editing::UiWidgetSnapshot::id, operation, request, eve::editing::DomainOperation::type, eve::UuidIdAdapter< Tag >::value() , 以及 value.
◆ makeDelete()
|
overridevirtual |
Make delete.
实现了 eve::ui_editing::IUiDocumentEditTarget.
在文件 UiDocument.cpp 第 157 行定义.
引用了 children, current, operation, eve::editing::DomainOperation::type, eve::UuidIdAdapter< Tag >::value() , 以及 widget.
◆ makeRename()
|
overridevirtual |
Make rename.
实现了 eve::ui_editing::IUiDocumentEditTarget.
在文件 UiDocument.cpp 第 176 行定义.
引用了 current, name, eve::ui_editing::UiWidgetSnapshot::name , 以及 widget.
◆ makeReparent()
|
overridevirtual |
Make reparent.
实现了 eve::ui_editing::IUiDocumentEditTarget.
在文件 UiDocument.cpp 第 189 行定义.
引用了 current, parent, eve::ui_editing::UiWidgetSnapshot::parent , 以及 widget.
◆ makeReset()
|
overridevirtual |
Make reset.
实现了 eve::editing::IPropertyProvider.
在文件 UiDocumentProperty.cpp 第 285 行定义.
引用了 eve::editing::PropertySchema::find(), makeSet(), path, schema() , 以及 eve::UuidIdAdapter< Tag >::value().
被这些函数引用 makeSet().
◆ makeSet()
|
override |
Make set.
在文件 UiDocumentProperty.cpp 第 245 行定义.
引用了 found, eve::editing::SelectionSnapshot::items, makeReset(), operation, path, payload, schema(), eve::ui_editing::UiWidgetSnapshot::type, eve::UuidIdAdapter< Tag >::value() , 以及 value.
被这些函数引用 makeReset().
◆ makeSetContent()
|
overridevirtual |
Make set content.
实现了 eve::ui_editing::IUiDocumentEditTarget.
在文件 UiDocument.cpp 第 250 行定义.
引用了 colors, eve::ui_editing::UiWidgetSnapshot::content, current, eve::ui_editing::UiContentValue::fontSize, eve::ui_editing::UiContentValue::horizontalAlign, eve::ui_editing::UiContentValue::imageFit, eve::ui_editing::UiContentValue::textA, eve::ui_editing::UiContentValue::textB, eve::ui_editing::UiContentValue::textG, eve::ui_editing::UiContentValue::textR, value, eve::ui_editing::UiContentValue::verticalAlign , 以及 widget.
◆ makeSetLayout()
|
overridevirtual |
Make set layout.
实现了 eve::ui_editing::IUiDocumentEditTarget.
在文件 UiDocument.cpp 第 205 行定义.
引用了 current, layout, eve::ui_editing::UiWidgetSnapshot::layout , 以及 widget.
◆ makeSetStyle()
|
overridevirtual |
Make set style.
实现了 eve::ui_editing::IUiDocumentEditTarget.
在文件 UiDocument.cpp 第 221 行定义.
引用了 eve::ui_editing::UiStyleValue::align, eve::ui_editing::UiStyleValue::cornerRadius, current, eve::ui_editing::UiStyleValue::direction, directions, eve::ui_editing::UiStyleValue::flexGrow, eve::ui_editing::UiStyleValue::gap, eve::ui_editing::UiStyleValue::justify, eve::ui_editing::UiStyleValue::marginBottom, eve::ui_editing::UiStyleValue::marginLeft, eve::ui_editing::UiStyleValue::marginRight, eve::ui_editing::UiStyleValue::marginTop, eve::ui_editing::UiStyleValue::paddingBottom, eve::ui_editing::UiStyleValue::paddingLeft, eve::ui_editing::UiStyleValue::paddingRight, eve::ui_editing::UiStyleValue::paddingTop, eve::ui_editing::UiWidgetSnapshot::style, eve::ui_editing::UiStyleValue::tintA, eve::ui_editing::UiStyleValue::tintB, eve::ui_editing::UiStyleValue::tintG, eve::ui_editing::UiStyleValue::tintR, value, values , 以及 widget.
◆ queryCapability()
|
override |
Query an optional target capability.
- 返回
- Borrowed pointer owned by this target, or null. @lifetime Valid until this target is destroyed or mutated.
在文件 UiDocument.cpp 第 29 行定义.
引用了 eve::editing::IEditableTarget::capability() , 以及 eve::ui_editing::IUiDocumentEditTarget::editorCapabilityId().
◆ read()
|
overridevirtual |
Reads .
实现了 eve::editing::IPropertyProvider.
在文件 UiDocumentProperty.cpp 第 230 行定义.
引用了 found, eve::editing::SelectionSnapshot::items, eve::editing::Value::Null, path , 以及 value.
◆ schema()
|
overridevirtual |
Schema.
实现了 eve::editing::IPropertyProvider.
在文件 UiDocumentProperty.cpp 第 190 行定义.
引用了 eve::editing::PropertySchema::properties , 以及 eve::editing::PropertySchema::typeId.
被这些函数引用 makeReset() , 以及 makeSet().
◆ snapshotValue()
| EditorValue eve::ui_editing::UiDocumentTarget::snapshotValue | ( | ) | const |
Capture deterministic UI document content.
在文件 UiDocumentSerialization.cpp 第 217 行定义.
◆ targetId()
|
inlineoverridevirtual |
◆ validate()
| std::vector< EditorDiagnostic > eve::ui_editing::UiDocumentTarget::validate | ( | ) | const |
◆ widget()
|
overridevirtual |
该类的文档由以下文件生成:
- src/modules/ui/editing/UiDocument.h
- src/modules/ui/editing/UiDocument.cpp
- src/modules/ui/editing/UiDocumentProperty.cpp
- src/modules/ui/editing/UiDocumentSerialization.cpp
Public 成员函数 继承自