OpenLexocad  27.1
Core::PropertyLinkSetBase Class Reference

#include <PropertyLinkSetBase.h>

Inheritance diagram for Core::PropertyLinkSetBase:
Core::PropertyLinkBaseBase Core::Property Base::Persistence Base::BaseClass Core::PropertyLinkSet< T >

Public Member Functions

 PropertyLinkSetBase ()
 
virtual ~PropertyLinkSetBase ()
 
virtual void setValue (const std::unordered_set< Core::DocObject * > &set)
 
bool setValueFromVariant (const Core::Variant &value) override
 
bool setKeyValue (const std::string &key, const Core::Variant &value) override
 Sets a sub key in this property. More...
 
std::map< std::string, Core::VariantgetKeyValueMap () const override
 Returns all keys and their values of this property. More...
 
const std::unordered_set< Core::DocObject * > & getValue () const
 
Core::Variant getVariant () const override
 
void copyValue (Core::Property *p) override
 
void deepCopy (Core::Property *p, Core::CoreDocument *dest_doc, DocObjectMap &copyMap) override
 
virtual bool addLink (Core::DocObject *link)
 
virtual void addLinks (const std::unordered_set< Core::DocObject * > &linkset)
 
virtual bool removeLink (Core::DocObject *link) override
 
bool hasLink (const Core::DocObject *o) const
 
void setEmpty ()
 
bool isEmpty () const
 
size_t getSize () const
 
void rehash (long n)
 
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...
 
void restore (Base::AbstractXMLReader &reader, Base::PersistenceVersion &version) override
 This method is used to restore properties from an XML document. More...
 
const Core::PropertyKind getPropertyKind (void) const override
 
bool isEqual (const Property *p) const override
 compare properties More...
 
bool isLink () const override
 Check if Property is of type PropertyLink, LinkSet etc. For better performance. More...
 
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...
 
- 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)
 
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...
 
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

std::unordered_set< Core::DocObject * > _linkSet
 
- 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

◆ PropertyLinkSetBase()

Core::PropertyLinkSetBase::PropertyLinkSetBase ( )

◆ ~PropertyLinkSetBase()

virtual Core::PropertyLinkSetBase::~PropertyLinkSetBase ( )
virtual

Member Function Documentation

◆ addLink()

virtual bool Core::PropertyLinkSetBase::addLink ( Core::DocObject link)
virtual

◆ addLinks()

virtual void Core::PropertyLinkSetBase::addLinks ( const std::unordered_set< Core::DocObject * > &  linkset)
virtual

◆ copy()

virtual Core::Property* Core::PropertyLinkSetBase::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()

void Core::PropertyLinkSetBase::copyValue ( Core::Property p)
overridevirtual

Implements Core::Property.

◆ deepCopy()

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

Reimplemented from Core::Property.

◆ getDbgInfo()

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

Returns the debug information for this property.

Reimplemented from Core::Property.

◆ getKeyValueMap()

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

Returns all keys and their values of this property.

Reimplemented from Core::Property.

◆ getPropertyKind()

const Core::PropertyKind Core::PropertyLinkSetBase::getPropertyKind ( void  ) const
overridevirtual

Reimplemented from Core::Property.

◆ getSize()

size_t Core::PropertyLinkSetBase::getSize ( ) const

◆ getValue()

const std::unordered_set<Core::DocObject*>& Core::PropertyLinkSetBase::getValue ( ) const

◆ getVariant()

Core::Variant Core::PropertyLinkSetBase::getVariant ( ) const
overridevirtual

Implements Core::Property.

◆ hasLink()

bool Core::PropertyLinkSetBase::hasLink ( const Core::DocObject o) const

◆ isEmpty()

bool Core::PropertyLinkSetBase::isEmpty ( ) const

◆ isEqual()

bool Core::PropertyLinkSetBase::isEqual ( const Property ) const
overridevirtual

compare properties

Implements Core::Property.

◆ isLink()

bool Core::PropertyLinkSetBase::isLink ( ) const
inlineoverridevirtual

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

Reimplemented from Core::Property.

◆ paste()

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

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

Implements Core::Property.

◆ rehash()

void Core::PropertyLinkSetBase::rehash ( long  n)

◆ removeLink()

virtual bool Core::PropertyLinkSetBase::removeLink ( Core::DocObject link)
overridevirtual

◆ restore()

void Core::PropertyLinkSetBase::restore ( Base::AbstractXMLReader ,
Base::PersistenceVersion  
)
inlineoverridevirtual

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

Implements Base::Persistence.

◆ save()

void Core::PropertyLinkSetBase::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.

◆ setEmpty()

void Core::PropertyLinkSetBase::setEmpty ( )

◆ setKeyValue()

bool Core::PropertyLinkSetBase::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::PropertyLinkSetBase::setValue ( const std::unordered_set< Core::DocObject * > &  set)
virtual

◆ setValueFromVariant()

bool Core::PropertyLinkSetBase::setValueFromVariant ( const Core::Variant value)
overridevirtual

Implements Core::Property.

Member Data Documentation

◆ _linkSet

std::unordered_set<Core::DocObject*> Core::PropertyLinkSetBase::_linkSet
protected

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