载入中...
搜索中...
未找到
SceneComponentPayload.cpp
浏览该文件的文档.
19 return eve::editing::failed<void>(EditorStatus::Rejected, RuleId("editor.scene.component-binding-invalid"),
30SceneComponentChange SceneComponentPropertyBindings::unbind(const TargetId& scene, const StableId& component) {
41 const auto found = std::find_if(bindings_.begin(), bindings_.end(), [&](const Binding& binding) {
114PropertySchema SceneComponentPropertyBindings::schema(const SelectionSnapshot& selection) const {
155SceneComponentChange SceneComponentPayloadRegistry::unregisterProvider(ISceneComponentPayloadProvider* provider) {
158 if (found == providers_.end() || found->second != provider) return SceneComponentChange::Unchanged;
217 return eve::editing::applied<IPropertyProvider*>(static_cast<IPropertyProvider*>(provider.value()));
245 "The component changed since its inspector reference was captured: " + component.component.value());
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
Editable-target capability that applies owning domain operations.
Definition EditingTargetOperations.h:11
UI-independent property access for an immutable selection snapshot.
Definition EditingProperty.h:139
Dotted property path (layout.size) compared and persisted as text.
Definition EditingIds.h:78
Deterministic owning value tree shared by authoring hosts.
Definition EditingValue.h:19
Module-owned adapter for one scene component payload type.
Definition SceneComponentPayload.h:37
virtual const std::string & componentType() const =0
Stable component type handled by this provider.
Result< std::vector< EditorDiagnostic > > validatePayload(const SceneComponentPayloadRef &component) const override
Validate payload.
Definition SceneComponentPayload.cpp:227
Result< IDomainOperationTarget * > operationTarget(const SelectionSnapshot &selection) const override
Operation target.
Definition SceneComponentPayload.cpp:220
Result< IPropertyProvider * > propertyProvider(const SelectionSnapshot &selection) const override
Property provider.
Definition SceneComponentPayload.cpp:213
SceneComponentChange unregisterProvider(ISceneComponentPayloadProvider *provider)
Remove a provider only when the exact registered instance matches.
Definition SceneComponentPayload.cpp:155
Result< void > registerProvider(ISceneComponentPayloadProvider *provider)
Register one provider; component types must be non-empty and unique.
Definition SceneComponentPayload.cpp:142
Result< std::vector< SceneComponentPayloadRef > > componentPayloads(const TargetId &scene, const ObjectId &object) const override
Component payloads.
Definition SceneComponentPayload.cpp:163
Result< DomainOperation > makeSet(const SelectionSnapshot &selection, const PropertyPath &path, const EditorValue &value, PropertySetMode mode) const override
Make set.
Definition SceneComponentPayload.cpp:127
Result< void > bind(SceneComponentPayloadRef component, SelectionItem moduleSelection, IPropertyProvider *properties, IDomainOperationTarget *operations, Validator validator={})
Bind one stable scene component to an existing module editor target.
Definition SceneComponentPayload.cpp:13
std::vector< EditorDiagnostic > validateComponent(const SceneComponentPayloadRef &component) const override
Validate component.
Definition SceneComponentPayload.cpp:94
PropertySchema schema(const SelectionSnapshot &selection) const override
Schema.
Definition SceneComponentPayload.cpp:114
SceneComponentChange unbind(const TargetId &scene, const StableId &component)
Remove one exact scene component binding.
Definition SceneComponentPayload.cpp:30
std::function< std::vector< EditorDiagnostic >()> Validator
Definition SceneComponentPayload.h:62
Result< IDomainOperationTarget * > payloadOperationTarget(const SelectionSnapshot &selection) const override
Payload operation target.
Definition SceneComponentPayload.cpp:87
PropertyReadResult read(const SelectionSnapshot &selection, const PropertyPath &path) const override
Reads .
Definition SceneComponentPayload.cpp:120
std::vector< SceneComponentPayloadRef > components(const TargetId &scene, const ObjectId &object) const override
Components.
Definition SceneComponentPayload.cpp:47
eve::Result< eve::Revision > currentRevision(const SelectionSnapshot &selection) const override
Current revision.
Definition SceneComponentPayload.cpp:104
SceneComponentPropertyBindings(std::string componentType)
Create bindings for one stable component type.
Definition SceneComponentPayload.cpp:10
Result< DomainOperation > makeReset(const SelectionSnapshot &selection, const PropertyPath &path) const override
Make reset.
Definition SceneComponentPayload.cpp:135
Result< T > failed(Status status, eve::DiagnosticCode code, RuleId rule, std::string message)
Construct a failed editing result with explicit status and diagnostic categories.
Definition EditingResult.h:70
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
Result< SelectionSnapshot > makeSceneComponentSelection(std::string channel, const std::vector< SceneComponentPayloadRef > &components, std::uint64_t sequence)
Build a property selection for one or more homogeneous component references.
Definition SceneComponentPayload.cpp:250
SceneComponentChange
Whether a registry or binding removal changed authoritative state.
Definition SceneComponentPayload.h:15
@ InvalidArgument
@ NotFound
Definition Container.h:602
std::vector< SelectionItem > items
Definition EditingSelection.h:22
std::optional< SelectionItem > primary
Definition EditingSelection.h:23
Stable, pointer-free reference to one editable component instance.
Definition SceneComponentPayload.h:18
Revision revision
Definition SceneComponentPayload.h:24
std::uint64_t generation
Definition SceneComponentPayload.h:23
TargetId target
Definition SceneComponentPayload.h:19
std::string type
Definition SceneComponentPayload.h:22
StableId component
Definition SceneComponentPayload.h:21
ObjectId object
Definition SceneComponentPayload.h:20