载入中...
搜索中...
未找到
EditingProperty.h
浏览该文件的文档.
56 return static_cast<PropertyFlag>(static_cast<std::uint64_t>(left) | static_cast<std::uint64_t>(right));
60 return static_cast<PropertyFlag>(static_cast<std::uint64_t>(left) & static_cast<std::uint64_t>(right));
63constexpr bool hasPropertyFlag(PropertyFlag value, PropertyFlag flag) { return (value & flag) == flag; }
96 explicit PropertyDescriptorLookup(PropertyDescriptor descriptor) : descriptor_(std::move(descriptor)) {}
119 std::uint32_t version = 1;
144 static CapabilityId editingCapabilityId() { return CapabilityId("eve.editor.target.material-properties"); }
146 [[nodiscard]] virtual eve::Result<eve::Revision> currentRevision(const SelectionSnapshot& selection) const {
157 virtual PropertyReadResult read(const SelectionSnapshot& selection, const PropertyPath& path) const = 0;
159 [[nodiscard]] virtual Result<DomainOperation> makeSet(const SelectionSnapshot& selection, const PropertyPath& path,
167[[nodiscard]] EVENGINE_API_PLATFORM Result<void> validatePropertyValue(const PropertyDescriptor& descriptor,
170[[nodiscard]] EVENGINE_API_PLATFORM property_access::PropertyDescriptor toPresentationDescriptor(
Move-only, checked operation results for the common layer.
Monotonic state revision for concurrency and change checks.
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
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
UI-independent property access for an immutable selection snapshot.
Definition EditingProperty.h:139
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.
virtual PropertyReadResult read(const SelectionSnapshot &selection, const PropertyPath &path) const =0
Reads read.
virtual eve::Result< eve::Revision > currentRevision(const SelectionSnapshot &selection) const
Current revision.
Definition EditingProperty.h:146
virtual Result< DomainOperation > makeReset(const SelectionSnapshot &selection, const PropertyPath &path) const =0
Make reset.
static CapabilityId editingCapabilityId()
Stable capability identity for generic property editing.
Definition EditingProperty.h:144
virtual PropertySchema schema(const SelectionSnapshot &selection) const =0
Schema.
PropertyDescriptorLookup public API.
Definition EditingProperty.h:91
PropertyDescriptorLookup(PropertyDescriptor descriptor)
Constructs a PropertyDescriptorLookup.
Definition EditingProperty.h:96
friend bool operator==(const PropertyDescriptorLookup &lookup, std::nullptr_t) noexcept
Operator ==.
Definition EditingProperty.h:104
friend bool operator!=(const PropertyDescriptorLookup &lookup, std::nullptr_t) noexcept
Operator !=.
Definition EditingProperty.h:108
PropertyDescriptorLookup()=default
Constructs a PropertyDescriptorLookup.
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
Definition EditableTarget.h:7
eve::Value toPresentationValue(const Value &value)
To presentation value.
Definition EditingProperty.cpp:94
@ Transform
@ AssetRef
@ ObjectRef
@ ReadOnlyText
@ Relative
@ Absolute
@ ReadOnly
@ Advanced
@ MultiEdit
@ Transient
@ Replicated
@ EditorOnly
@ Dangerous
Result< void > validatePropertyValue(const PropertyDescriptor &descriptor, const Value &value)
Validate property value.
Definition EditingProperty.cpp:138
property_access::PropertyDescriptor toPresentationDescriptor(const PropertyDescriptor &source)
To presentation descriptor.
Definition EditingProperty.cpp:75
constexpr bool hasPropertyFlag(PropertyFlag value, PropertyFlag flag)
True when property flag.
Definition EditingProperty.h:63
@ Unsupported
Definition Container.h:602
std::optional< double > maximum
Definition EditingProperty.h:68
std::optional< double > minimum
Definition EditingProperty.h:67
std::vector< RuleId > validators
Definition EditingProperty.h:87
std::vector< std::string > enumItems
Definition EditingProperty.h:84
std::string displayNameKey
Definition EditingProperty.h:77
std::string presenterHint
Definition EditingProperty.h:86
std::string descriptionKey
Definition EditingProperty.h:78
std::vector< std::string > assetTypeFilters
Definition EditingProperty.h:85
std::vector< Diagnostic > diagnostics
Definition EditingProperty.h:132
std::vector< PropertyDescriptor > properties
Definition EditingProperty.h:120
One stable property description consumed by any UI shell.
Definition PropertyAccess.h:72