载入中...
搜索中...
未找到
UiDocument.cpp
浏览该文件的文档.
12EditorDiagnostic uiDiagnostic(const char* rule, DiagnosticSeverity severity, std::string message) {
13 return eve::editing::ruleDiagnostic(eve::DiagnosticCode::PreconditionViolation, RuleId(rule), severity,
30 if (capability == IUiDocumentEditTarget::editorCapabilityId()) return static_cast<IUiDocumentEditTarget*>(this);
31 if (capability == CapabilityId("eve.editor.target.ui-properties")) return static_cast<IPropertyProvider*>(this);
58 return eve::editing::failed<void>(EditorStatus::Rejected, RuleId("editor.ui.widget-has-children"),
110Result<void> UiDocumentTarget::commitDomainState(std::unique_ptr<IDomainOperationTarget> candidate) {
134Result<DomainOperation> UiDocumentTarget::makeCreate(const CreateUiWidgetRequest& request) const {
136 return eve::editing::failed<DomainOperation>(EditorStatus::Rejected, RuleId("editor.ui.invalid-widget"),
139 return eve::editing::failed<DomainOperation>(EditorStatus::Conflict, RuleId("editor.ui.widget-exists"),
160 return eve::editing::failed<DomainOperation>(EditorStatus::NotFound, RuleId("editor.ui.widget-not-found"),
176Result<DomainOperation> UiDocumentTarget::makeRename(const ObjectId& id, const std::string& name) const {
179 return eve::editing::failed<DomainOperation>(EditorStatus::NotFound, RuleId("editor.ui.widget-not-found"),
189Result<DomainOperation> UiDocumentTarget::makeReparent(const ObjectId& id, const ObjectId& parent) const {
192 return eve::editing::failed<DomainOperation>(EditorStatus::NotFound, RuleId("editor.ui.widget-not-found"),
195 return eve::editing::failed<DomainOperation>(EditorStatus::NotFound, RuleId("editor.ui.parent-not-found"),
205Result<DomainOperation> UiDocumentTarget::makeSetLayout(const ObjectId& id, const UiLayoutValue& layout) const {
208 return eve::editing::failed<DomainOperation>(EditorStatus::NotFound, RuleId("editor.ui.widget-not-found"),
221Result<DomainOperation> UiDocumentTarget::makeSetStyle(const ObjectId& id, const UiStyleValue& style) const {
224 return eve::editing::failed<DomainOperation>(EditorStatus::NotFound, RuleId("editor.ui.widget-not-found"),
232 return eve::editing::failed<DomainOperation>(EditorStatus::Rejected, RuleId("editor.ui.nonfinite-style"),
236 const std::set<std::string> justifies{"start", "center", "end", "space-between", "space-around"};
237 if (style.marginLeft < 0.0 || style.marginTop < 0.0 || style.marginRight < 0.0 || style.marginBottom < 0.0 ||
238 style.paddingLeft < 0.0 || style.paddingTop < 0.0 || style.paddingRight < 0.0 || style.paddingBottom < 0.0 ||
239 style.cornerRadius < 0.0 || style.gap < 0.0 || style.flexGrow < 0.0 || style.tintR < 0.0 || style.tintR > 1.0 ||
240 style.tintG < 0.0 || style.tintG > 1.0 || style.tintB < 0.0 || style.tintB > 1.0 || style.tintA < 0.0 ||
297Result<DomainOperation> UiDocumentTarget::makeReplace(const UiWidgetSnapshot& before, UiWidgetSnapshot after,
A structured explanation of a failed, degraded, or noteworthy result.
Definition Diagnostic.h:94
const std::string & value() const noexcept
Returns the exact legacy or canonical compatibility spelling.
Definition Identity.h:362
void bumpRevision()
Advance the revision without touching the dirty region.
Definition EditableTarget.h:179
Revision revisionValue() const noexcept
Return the revision as the shared protocol revision type.
Definition EditableTarget.h:169
void widenDirty()
Mark an unknown area dirty without advancing the revision.
Definition EditableTarget.h:177
eve::OptionalRef< C > capability()
Query a capability through its interface-owned stable identity.
Definition EditableTarget.h:82
UI-independent property access for an immutable selection snapshot.
Definition EditingProperty.h:139
Deterministic owning value tree shared by authoring hosts.
Definition EditingValue.h:19
Hierarchy/layout capability consumed by UI tree and canvas tools.
Definition UiDocument.h:117
Serializable UI authoring document with hierarchy and inspector capabilities.
Definition UiDocument.h:149
Result< void > commitDomainState(std::unique_ptr< IDomainOperationTarget > candidate) override
Publish a validated candidate belonging to this document.
Definition UiDocument.cpp:110
Result< DomainOperation > makeSetContent(const ObjectId &id, const UiContentValue &content) const override
Make set content.
Definition UiDocument.cpp:250
Result< DomainOperation > makeCreate(const CreateUiWidgetRequest &request) const override
Make create.
Definition UiDocument.cpp:134
std::vector< EditorDiagnostic > validate() const
Validate style, hierarchy and viewport layout constraints.
Definition UiDocument.cpp:272
std::vector< ObjectId > children(const ObjectId &parent) const override
Children.
Definition UiDocument.cpp:127
Result< DomainOperation > makeReparent(const ObjectId &id, const ObjectId &parent) const override
Make reparent.
Definition UiDocument.cpp:189
Result< void > applyDomainOperation(const DomainOperation &operation) override
Applies domain operation.
Definition UiDocument.cpp:35
Result< DomainOperation > makeRename(const ObjectId &id, const std::string &name) const override
Make rename.
Definition UiDocument.cpp:176
void * queryCapability(const CapabilityId &capability) override
Query an optional target capability.
Definition UiDocument.cpp:29
Result< DomainOperation > makeSetLayout(const ObjectId &id, const UiLayoutValue &layout) const override
Make set layout.
Definition UiDocument.cpp:205
Result< DomainOperation > makeSetStyle(const ObjectId &id, const UiStyleValue &style) const override
Make set style.
Definition UiDocument.cpp:221
Result< UiWidgetSnapshot > widget(const ObjectId &id) const override
Widget.
Definition UiDocument.cpp:119
std::unique_ptr< IDomainOperationTarget > cloneDomainState() const override
Clone an isolated owning candidate for atomic compensation.
Definition UiDocument.cpp:106
Result< DomainOperation > makeDelete(const ObjectId &id) const override
Make delete.
Definition UiDocument.cpp:157
Diagnostic ruleDiagnostic(eve::DiagnosticCode code, RuleId rule, DiagnosticSeverity severity, std::string message)
Build a common diagnostic carrying an open editing rule identity.
Definition EditingResult.h:25
Definition UiDocument.cpp:9
@ PreconditionViolation
Definition Container.h:602
Stable discovery metadata exposed by every editable target.
Definition EditableTarget.h:39
Request for creating one widget with stable identity.
Definition UiDocument.h:108
Renderer-neutral text and image skin authored per widget.
Definition UiDocument.h:79
std::string horizontalAlign
Definition UiDocument.h:83
Renderer-neutral layout values shared by UI document hosts.
Definition UiDocument.h:48
Renderer-neutral visual and box-model style authored per widget.
Definition UiDocument.h:63
Immutable widget snapshot used across editor/runtime boundaries.
Definition UiDocument.h:94