OpenLexocad  28.0
PropertyUser.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Core/Property.h>
4 
5 
6 namespace Core
7 {
14 class LX_CORE_EXPORT PropertyUser : public Core::Property
15 {
17 
18 public:
19  bool setValue(const Core::Variant& value);
20  bool setValueFromVariant(const Core::Variant& value) { return setValue(value); }
21  bool setTextValue(const Base::String& text);
22  Base::String getTextValue(bool* ok = 0);
23  void copyValue(Core::Property* p) override;
24 
25  const Core::Variant& getValue() const;
26  Core::Variant getVariant(void) const override;
27 
28  virtual void save(Base::AbstractWriter& writer, Base::PersistenceVersion& save_version);
30  virtual bool isEqual(const Property*) const;
31  Core::Property* copy(void) const override;
32  void paste(const Core::Property& from) override;
33 
34 protected:
36 };
37 
39 
40 class LX_CORE_EXPORT PropertyIfc : public Core::PropertyUser
41 {
43 };
44 
46 
47 } // namespace Core
Property.h
Core::PropertyUser::copy
Core::Property * copy(void) const override
Returns a new copy of the property (mainly for Undo/Redo and transactions). The copy has no container...
Core::PropertyIfc
Definition: PropertyUser.h:41
Core::PropertyUser
Core::PropertyUser is a class that can hold properties defined by the user. Its value member is a Cor...
Definition: PropertyUser.h:15
Core::PropertyUser::restore
virtual void restore(Base::AbstractXMLReader &reader, Base::PersistenceVersion &version)
This method is used to restore properties from an XML document.
Base::PersistenceVersion
Definition: Persistence.h:13
Core
Definition: Base.h:5
Core::Variant
Definition: Variant.h:78
Base::AbstractWriter
Definition: Writer.h:13
Core::PropertyUser::isEqual
virtual bool isEqual(const Property *) const
compare properties
Core::PropertyUser::copyValue
void copyValue(Core::Property *p) override
Base::AbstractXMLReader
Definition: AbstractXMLReader.h:7
Core::PropertyUser::save
virtual void save(Base::AbstractWriter &writer, Base::PersistenceVersion &save_version)
This method is used to save properties or very small amounts of data to an XML document.
Core::PropertyUser::getVariant
Core::Variant getVariant(void) const override
Core::version
LX_CORE_EXPORT Version & version
Core::Property
Definition: Property.h:72
Core::PropertyUser::paste
void paste(const Core::Property &from) override
Paste the value from the property (mainly for Undo/Redo and transactions)
Base::String
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:18
Core::PropertyUser::setTextValue
bool setTextValue(const Base::String &text)
Core::PropertyUser::_value
Core::Variant _value
Definition: PropertyUser.h:35
Core::PropertyUser::setValueFromVariant
bool setValueFromVariant(const Core::Variant &value)
Definition: PropertyUser.h:20
TYPESYSTEM_HEADER
#define TYPESYSTEM_HEADER()
define for subclassing Base::BaseClass
Definition: Base.h:12
Core::PropertyUser::setValue
bool setValue(const Core::Variant &value)
Core::DECLARE_PROPERTY_FACTORY
DECLARE_PROPERTY_FACTORY(PropertyAxis1_Factory, Core::PropertyAxis1)
Core::PropertyUser::getTextValue
Base::String getTextValue(bool *ok=0)
Core::PropertyUser::getValue
const Core::Variant & getValue() const