OpenLexocad  27.1
Core::PropertyLinkBase Class Reference

#include <PropertyLinkBase.h>

Inheritance diagram for Core::PropertyLinkBase:
Core::PropertyLinkBaseBase Core::Property Base::Persistence Base::BaseClass Core::PropertyLink< T >

Public Member Functions

 PropertyLinkBase (void)
 
virtual ~PropertyLinkBase (void)
 
virtual void setValue (Core::DocObject *o)
 
virtual bool setValueFromVariant (const Core::Variant &value) override
 
virtual bool setKeyValue (const std::string &key, const Core::Variant &value) override
 Sets a sub key in this property. More...
 
virtual std::map< std::string, Core::VariantgetKeyValueMap () const override
 Returns all keys and their values of this property. More...
 
Core::DocObjectgetValue () const
 
virtual Core::Variant getVariant (void) const override
 
virtual void copyValue (Core::Property *p) override
 Copies the value from 'p' into this property. More...
 
virtual void deepCopy (Core::Property *p, Core::CoreDocument *dest_doc, DocObjectMap &copyMap) override
 
virtual bool createSQL (Base::AbstractWriter &writer, Base::PersistenceVersion &save_version, bool data) override
 This method is used to save properties or very small amounts of data to an XML document. More...
 
virtual void save (Base::AbstractWriter &writer, Base::PersistenceVersion &save_version) override
 This method is used to save properties or very small amounts of data to an XML document. More...
 
virtual void restore (Base::AbstractXMLReader &reader, Base::PersistenceVersion &version) override
 This method is used to restore properties from an XML document. More...
 
virtual const Core::PropertyKind getPropertyKind (void) const override
 
virtual bool isEqual (const Property *) const override
 compare properties More...
 
virtual bool isLink () const override
 Check if Property is of type PropertyLink, LinkSet etc. For better performance. More...
 
virtual std::shared_ptr< Core::DbgInfogetDbgInfo () const override
 Returns the debug information for this property. More...
 
virtual Core::Propertycopy (void) const override
 Returns a new copy of the property (mainly for Undo/Redo and transactions). The copy has no container. More...
 
virtual void paste (const Core::Property &from) override
 Paste the value from the property (mainly for Undo/Redo and transactions) More...
 
bool resolveLink ()
 
virtual bool removeLink (DocObject *) override
 
- Public Member Functions inherited from Core::Property
 Property (void)
 
virtual ~Property (void)
 
void setName (const std::string &name)
 
std::string getName () const
 
Core::PropertyContainergetContainer () const
 
void setContainer (Core::PropertyContainer *container)
 
void addToContainer (const std::string &name)
 
Core::Variant getVariantFromKey (const std::string &key) const
 Gets the variant for a key. More...
 
std::vector< std::string > getKeys () const
 Returns all keys of this property. More...
 
bool enableNotify (bool on)
 
bool isNotifyEnabled (void) const
 
void touch ()
 
bool setWillChangeStatusOnChange (bool on)
 
long getTransactionNumber () const
 
bool isUpdated () const
 Checks if the property was updated. More...
 
bool isTheOnlyUpdatedPropertyInContainer () const
 Checks if this is the only updated property in the container. More...
 
virtual void setPropertyKind (Core::PropertyKind p)
 
bool hasValue () const
 Returns 'true' if the property has a value. This is mainly for optional properties. More...
 
virtual bool isOptional () const
 Checks if this is an optional property. More...
 
void setHasValue (bool yesno)
 is called when a property holds a value. For optional properties. More...
 
void setStatus (const Property::Status &in)
 
Property::Status getStatus () const
 
bool isDefaultValue () const
 
void setDefaultValue (bool on)
 
void accept (Core::CoreVisitor *visitor)
 
short getType (void) const
 Get the type of the property in the container. More...
 
unsigned long getExStatus () const
 
bool testExStatus (ExStatus pos) const
 
void setExStatus (ExStatus pos, bool on)
 
void setExStatusValue (unsigned long status)
 
- Public Member Functions inherited from Base::Persistence
virtual void saveDocFile (Base::AbstractWriter &, const Base::String &, const Base::String &)
 This method is used to save large amounts of data to a binary file. More...
 
virtual void restoreDocFile (Base::Reader &, const Base::String &)
 This method is used to restore large amounts of data from a binary file. More...
 
virtual bool mustbeSaved () const
 Return 'true' if this object must always be saved in the file. More...
 
- Public Member Functions inherited from Base::BaseClass
virtual Type getTypeId (void) const
 
template<typename T >
bool isDerivedFrom () const
 
bool isDerivedFrom (const Type type) const
 
 BaseClass ()
 Construction. More...
 
virtual ~BaseClass ()
 Destruction. More...
 

Protected Attributes

Core::Object_Hnd hObject
 
- Protected Attributes inherited from Core::Property
std::bitset< 32 > StatusBits
 

Additional Inherited Members

- Public Types inherited from Core::Property
enum  Status { New = 1 << 1, Valid = 1 << 2, Updated = 1 << 3 }
 
enum  ExStatus {
  Touched = 0, Immutable = 1, ReadOnly = 2, Hidden = 3,
  Transient = 4, MaterialEdit = 5, NoMaterialListEdit = 6, Output = 7,
  LockDynamic = 8, NoModify = 9, PartialTrigger = 10, NoRecompute = 11,
  Single = 12, Ordered = 13, EvalOnRestore = 14, PropStaticBegin = 21,
  PropDynamic = 21, PropNoPersist = 22, PropNoRecompute = 23, PropReadOnly = 24,
  PropTransient = 25, PropHidden = 26, PropOutput = 27, PropStaticEnd = 28,
  User1 = 28, User2 = 29, User3 = 30, User4 = 31
}
 
- Static Public Member Functions inherited from Core::Property
static void registerProperties (Base::Type t, const Core::PropertyValueMap &pvm)
 Registers the properties with default values for type 't'. More...
 
static bool getRegisteredProperties (Base::Type t, Core::PropertyValueMap &pvm)
 Returns the properties with default values of type t;. More...
 
static const char * getXMLPropertyAttributeName ()
 
static const char * getXMLPropertyAttributeValue ()
 
static void setXMLPropertyAttributeName (const char *)
 
static void setXMLPropertyAttributeValue (const char *)
 
- Static Public Member Functions inherited from Base::Persistence
static std::string encodeAttribute (const std::string &)
 
- Static Public Member Functions inherited from Base::BaseClass
static Type getClassTypeId (void)
 
static void init (void)
 
static void * create (void)
 
static void setIfcNameAndID (const std::string &n, int id)
 
- Public Attributes inherited from Base::BaseClass
long ____deadVal = 0xBADEAFFE
 
- Protected Member Functions inherited from Core::Property
void hasSetValue (void)
 Should be called by all setValue() methods after the value was changed. More...
 
bool aboutToSetValue (const Core::Variant &newValue=Core::Variant())
 
- Static Protected Member Functions inherited from Base::BaseClass
static void initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=0)
 
static void initIfcTypes (const std::string &s, Base::Type classTypeId, int id)
 

Constructor & Destructor Documentation

◆ PropertyLinkBase()

Core::PropertyLinkBase::PropertyLinkBase ( void  )

◆ ~PropertyLinkBase()

virtual Core::PropertyLinkBase::~PropertyLinkBase ( void  )
virtual

Member Function Documentation

◆ copy()

virtual Core::Property* Core::PropertyLinkBase::copy ( void  ) const
overridevirtual

Returns a new copy of the property (mainly for Undo/Redo and transactions). The copy has no container.

Implements Core::Property.

◆ copyValue()

virtual void Core::PropertyLinkBase::copyValue ( Core::Property p)
overridevirtual

Copies the value from 'p' into this property.

Implements Core::Property.

◆ createSQL()

virtual bool Core::PropertyLinkBase::createSQL ( Base::AbstractWriter ,
Base::PersistenceVersion ,
bool   
)
overridevirtual

This method is used to save properties or very small amounts of data to an XML document.

Reimplemented from Core::Property.

◆ deepCopy()

virtual void Core::PropertyLinkBase::deepCopy ( Core::Property p,
Core::CoreDocument dest_doc,
DocObjectMap copyMap 
)
overridevirtual

Reimplemented from Core::Property.

◆ getDbgInfo()

virtual std::shared_ptr<Core::DbgInfo> Core::PropertyLinkBase::getDbgInfo ( ) const
overridevirtual

Returns the debug information for this property.

Reimplemented from Core::Property.

◆ getKeyValueMap()

virtual std::map<std::string, Core::Variant> Core::PropertyLinkBase::getKeyValueMap ( ) const
overridevirtual

Returns all keys and their values of this property.

Reimplemented from Core::Property.

◆ getPropertyKind()

virtual const Core::PropertyKind Core::PropertyLinkBase::getPropertyKind ( void  ) const
overridevirtual

Reimplemented from Core::Property.

◆ getValue()

Core::DocObject* Core::PropertyLinkBase::getValue ( ) const

◆ getVariant()

virtual Core::Variant Core::PropertyLinkBase::getVariant ( void  ) const
overridevirtual

Implements Core::Property.

◆ isEqual()

virtual bool Core::PropertyLinkBase::isEqual ( const Property ) const
overridevirtual

compare properties

Implements Core::Property.

◆ isLink()

virtual bool Core::PropertyLinkBase::isLink ( ) const
inlineoverridevirtual

Check if Property is of type PropertyLink, LinkSet etc. For better performance.

Reimplemented from Core::Property.

◆ paste()

virtual void Core::PropertyLinkBase::paste ( const Core::Property from)
overridevirtual

Paste the value from the property (mainly for Undo/Redo and transactions)

Implements Core::Property.

◆ removeLink()

virtual bool Core::PropertyLinkBase::removeLink ( DocObject )
inlineoverridevirtual

Implements Core::PropertyLinkBaseBase.

Reimplemented in Core::PropertyLink< T >.

◆ resolveLink()

bool Core::PropertyLinkBase::resolveLink ( )

◆ restore()

virtual void Core::PropertyLinkBase::restore ( Base::AbstractXMLReader ,
Base::PersistenceVersion  
)
inlineoverridevirtual

This method is used to restore properties from an XML document.

Implements Base::Persistence.

Reimplemented in Core::PropertyLink< T >.

◆ save()

virtual void Core::PropertyLinkBase::save ( Base::AbstractWriter ,
Base::PersistenceVersion  
)
overridevirtual

This method is used to save properties or very small amounts of data to an XML document.

Implements Base::Persistence.

◆ setKeyValue()

virtual bool Core::PropertyLinkBase::setKeyValue ( const std::string &  key,
const Core::Variant value 
)
overridevirtual

Sets a sub key in this property.

Reimplemented from Core::Property.

◆ setValue()

virtual void Core::PropertyLinkBase::setValue ( Core::DocObject o)
virtual

◆ setValueFromVariant()

virtual bool Core::PropertyLinkBase::setValueFromVariant ( const Core::Variant value)
overridevirtual

Implements Core::Property.

Member Data Documentation

◆ hObject

Core::Object_Hnd Core::PropertyLinkBase::hObject
protected

The documentation for this class was generated from the following file: