OpenLexocad  27.0
Core::PythonClassObject Class Reference

Keeps the information about a Python class like class name, the super class etc. Also keeps the information how properties are displayed. More...

#include <PythonClassObject.h>

Inheritance diagram for Core::PythonClassObject:
Core::DocObject Core::PropertyContainer Base::Persistance Base::BaseClass

Public Member Functions

Core::StandardManipulatorPolicy getStandardManipulatorPolicy () const
 
void setStandardManipulatorPolicy (const Core::StandardManipulatorPolicy &aPolicy)
 
void setPropertyHeader (const Base::String &aDefaultName, int aTranslationId=-1)
 
void setPropertyGroupName (const Base::String &aDefaultName, int aTranslationId=-1)
 
Base::String getPropertyHeader () const
 
int getTranslationHeader () const
 
Base::String getPropertyGroupName () const
 
int getTranslationGroupName () const
 
void save (Base::AbstractWriter &writer, Base::PersistanceVersion &save_version) override
 Saves the PropertyContainer to writer. More...
 
void restore (Base::AbstractXMLReader &reader, Base::PersistanceVersion &version) override
 Restores the PropertyContainer from reader in specified version. More...
 
bool mustbeSaved () const override
 Return 'true' if this object must always be saved in the file. More...
 
bool restorePythonInstance (const Base::GlobalId &aObjectId)
 
std::list< PropertyDescriptor * > getPropertyDescriptorList () const
 
std::map< std::string, PropertyDescriptor * > getPropertyDescriptorMap () const
 
void addPropertyDescriptor (PropertyDescriptor *aDescriptor)
 
PropertyDescriptorgetPropertyDescriptorByName (const std::string &aName)
 
 PythonClassObject ()
 
virtual ~PythonClassObject ()
 
- Public Member Functions inherited from Core::DocObject
void setDocument (Core::CoreDocument *doc)
 Sets the CoreDocument of this DocObject. More...
 
Core::CoreDocumentgetDocument () const
 Returns the CoreDocument of this DocObject. More...
 
IdType getId () const
 Returns the id of the object. More...
 
virtual void onChanged (Core::Property *p)
 Is called when a property has changed its value. More...
 
virtual bool isExecutable () const
 Checks if the DocObject is executable. More...
 
long getRefCount () const
 Returns the reference count of this object. More...
 
virtual std::string getViewProviderName ()
 Returns the ViewProvider name of the object. More...
 
virtual bool hasLazyViewProvider () const
 If true ViewProvider are only created on demand. More...
 
virtual bool attachViewProvider () const
 
virtual long getIfcId () const
 Returns the IFC Entity Id (not the GUID) More...
 
virtual bool ignoreInGraph () const
 The object should not added to the graph. More...
 
virtual void shallowCopyProperties (const DocObject *source)
 
virtual void setNewTimestamp (int aTimeStamp)
 
virtual void setUpdatedTimestamp (int aTimeStamp)
 
virtual void setDeletedTimestamp (int aTimeStamp)
 
virtual void setImportedTimestamp (int aTimeStamp)
 
virtual int getNewTimestamp () const
 
virtual int getUpdatedTimestamp () const
 
virtual int getDeletedTimestamp () const
 
virtual int getImportedTimestamp () const
 
void ref (void)
 
void unref (void)
 
void setTimeSlot (int p)
 
int getTimeSlot () const
 
std::vector< Base::StringgetFilesInTemp () const
 
void addFileInTemp (const Base::String &s)
 
void removeFileInTemp (const Base::String &s)
 
virtual bool replace (Core::DocObject *source, Core::CoreDocument *fromDoc)
 
virtual void onCreated ()
 
virtual void initDocObject ()
 
Base::String getTypeName () const
 
const char * getTypeCName () const
 
virtual std::shared_ptr< Core::DbgInfogetDbgInfo () const
 
virtual std::shared_ptr< Core::DbgInfogetDbgInfo (const Core::Property *p) const
 
virtual bool viewProviderDisabled () const
 
virtual void setViewProviderDisabled (bool)
 
virtual bool isTemporary () const
 
virtual Base::GlobalId getGlobalId () const
 
void __setId__ (const DocObject::IdType &id)
 For internal use only. More...
 
virtual Base::GlobalId __createAndSetGUID__ ()
 For internal use only. Sets a random GUID. More...
 
virtual bool createSQLColumnNames (Base::AbstractWriter &writer, Base::PersistanceVersion &save_version, bool dataMode)
 
virtual bool createSQL (Base::AbstractWriter &, Base::PersistanceVersion &, bool data) override
 This method is used to save properties or very small amounts of data to an XML document. More...
 
virtual void collectDocProperties (Core::DocProperties &props) const
 
- Public Member Functions inherited from Core::PropertyContainer
 PropertyContainer (void)
 
 PropertyContainer (const PropertyContainer &rhs)
 
virtual ~PropertyContainer (void)=default
 
bool addProperty (Core::Property *p, const std::string &name)
 
Core::PropertyaddProperty (Base::Type t, const std::string &name, const Core::Variant &defaultValue)
 Adds a property to the PropertyContainer. Returns the added property on success, '0' on failure. More...
 
Core::PropertyUseraddPropertyUser (const std::string &name, const Core::Variant &value)
 Convenience method for Python bindings. More...
 
void removeProperty (Core::Property *p, std::string pName)
 Removes a property from the PropertyContainer and deletes it. More...
 
void removeAllProperties ()
 Removes all properties from the PropertyContainer and deletes them. More...
 
Core::PropertygetPropertyByName (const std::string &name) const
 Returns the property with name 'name'. Returns '0' on failure. More...
 
Core::PropertygetPropertyByName (const Base::String &name) const
 Returns the property with name 'name'. Returns '0' on failure. More...
 
template<typename T >
T * getPropertyByName (const std::string &name) const
 Returns the property of type T with name 'name'. Returns 'nullptr' on failure. More...
 
void getPropertyMap (Core::PropertyMap &) const
 Fills a PropertyMap. More...
 
std::vector< std::pair< Core::Property *, std::string > > getPropertiesAndNameByType (Base::Type type) const
 Returns all properties of type 'type'. More...
 
std::vector< Core::Property * > getPropertiesByType (Base::Type type) const
 
std::vector< Core::Property * > getPropertiesByTypes (const std::vector< Base::Type > &type) const
 
bool setPropertyFromVariant (const std::string &name, const Core::Variant &value)
 Sets a property to value. More...
 
bool setProperty (const std::string &name, double value)
 
bool setProperty (const std::string &name, int value)
 
bool setProperty (const std::string &name, const Geom::Vec &value)
 
bool setProperty (const std::string &name, const std::list< Geom::Vec > &value)
 
bool setProperty (const std::string &name, const Geom::Trsf &value)
 
bool setProperty (const std::string &name, const std::string &value)
 
bool setProperty (const std::string &name, const char *value)
 
bool setProperty (const std::string &name, const Base::String &value)
 
bool setProperty (const std::string &name, const Geom::Pnt &value)
 
bool setProperty (const std::string &name, const Geom::Pnt2d &value)
 
bool setProperty (const std::string &name, const std::vector< Geom::Pnt > &value)
 
bool setProperty (const std::string &name, const std::vector< Geom::Pnt2d > &value)
 
bool setProperty (const std::string &name, const MD5 &value)
 
bool setProperty (const std::string &name, bool value)
 
bool setProperty (const std::string &name, Core::DocObject *value)
 
bool setProperty (const std::string &name, const Core::DocObject *value)
 
bool setProperty (const std::string &name, const boost::unordered_set< Core::DocObject * > &value)
 
bool setProperty (const std::string &name, const std::list< Core::DocObject * > &value)
 
bool setProperty (const std::string &name, const std::vector< int > &value)
 
bool setProperty (const std::string &name, const QFont &value)
 
bool setProperty (const std::string &name, const Draw::DrawStyle &value)
 
bool setProperty (const std::string &name, const Draw::Arrowheads &value)
 
bool setProperty (const std::string &name, const Geom::Dir &value)
 
bool setProperty (const std::string &name, const Geom::Dir2d &value)
 
bool setProperty (const std::string &name, const Base::Color &value)
 
bool setProperty (const std::string &name, const Geom::Ax1 &value)
 
bool setProperty (const std::string &name, const Geom::Ax2 &value)
 
bool setProperty (const std::string &name, const Draw::Texture2Transform &value)
 
bool setProperty (const std::string &name, const std::list< std::list< Geom::Pnt > > &value)
 
bool setProperty (const std::string &name, const std::list< double > &value)
 
bool setProperty (const std::string &name, pBrepData &value)
 
virtual bool onBeforeChange (Core::Property *p, const Core::Variant &newValue=Core::Variant())
 
virtual void onDeleted ()
 Is called when a PropertyContainer's status is set to MarkedForDelete. More...
 
virtual void onNew ()
 Is called when a PropertyContainer's status is set to New. More...
 
bool enableNotify (const bool enable)
 
bool isNotifyEnabled (void) const
 Returns whether notification of changes to the field values in the container is propagated to its auditors. More...
 
void touch ()
 Sets all properties of this PropertyContainer to updated. More...
 
bool isDeleted () const
 
bool isStatusDeleted () const
 Returns true if the status is set to 'Deleted'. More...
 
bool isMarkedForDelete () const
 Returns true if the status is set to 'MarkedForDelete'. More...
 
bool isMarkedForDeleteFinal () const
 Returns true if the status is set to 'MarkedForDeleteFinal'. More...
 
bool isDeletedFinal () const
 Returns true if the status is set to 'DeletedFinal'. More...
 
bool isNew () const
 Returns true if the status is set to 'New'. More...
 
bool isUpdated () const
 Returns true if the status is set to 'Updated'. More...
 
bool isValid () const
 Returns true if the status is set to 'Valid'. More...
 
bool hasErrors () const
 Returns true if the status is set to 'Error'. More...
 
void setData (const std::string &key, void *data)
 Adds arbitrary data for this key to the PropertyContainer (Used in SDK) More...
 
void * getData (const std::string &key, bool *ok=nullptr) const
 Returns data for this key from the PropertyContainer (Used in SDK) More...
 
void removeData (const std::string &key)
 Removes the data from the PropertyContainer (Used in SDK) More...
 
bool hasSameValuesAs (const PropertyContainer *container) const
 Returns 'true' if all values in 'container' match the corresponding property in this PropertyContainer. More...
 
void setPropertyValues (const PropertyContainer *other)
 Copies the property values from 'other' PropertyContainer to this PropertyContainer. More...
 
template<typename T >
getPropertyValueByName (const std::string &propertyName, bool *ok=0) const
 Returns the property value T with this name. If ok=true T holds a valid value. More...
 
virtual void ensureIntegrity ()
 
void integrityMaintained ()
 
void integrityLost ()
 Sets _integrity to false. More...
 
bool checkIntegrity ()
 Returns the value of _integrity. More...
 
Core::PropertyValueMap getPropertyValueMap () const
 Returns a map with the name of the property and its PropertyValue as a struct of the property type and the Core::Variant value. More...
 
std::map< std::string, Core::VariantgetKeyValueMap () const
 Returns all keys and sub keys with their values of this container. More...
 
bool setPropertyFromKeyValue (const std::string &propertyName, const std::string &key, const Core::Variant &value)
 Sets the key in a property to value. More...
 
std::set< Core::Property * > getUpdatedProperties () const
 Returns all properties that were updated since the last recompute. More...
 
void setUpdated ()
 Sets the status to 'Updated' if the old status was 'Valid'. More...
 
void setUpdated (const Core::Property *p)
 
void setHasErrors ()
 Sets the status to 'Error'. More...
 
void setNew ()
 Sets the status to 'New'. More...
 
void setValid ()
 Sets the status to 'Valid'. More...
 
void setDeleted ()
 Sets the status to 'Delete'. More...
 
void setMarkedForDelete ()
 Sets the status to 'MarkedForDelete'. More...
 
void setMarkedForDeleteFinal ()
 Sets the status to 'MarkedForDeleteFinal'. More...
 
void setDeleteFinal ()
 Sets the status to 'DeleteFinal'. More...
 
unsigned int getPropertyChangeStatus () const
 
CheckStatus getCheckStatus () const
 Gets checkStatus. More...
 
void setCheckStatus (CheckStatus status)
 Sets checkStatus. More...
 
void setAllPropertiesValid ()
 Sets the status of all properties to 'Valid'. More...
 
void setPropertyValues (const Core::PropertyValueMap &other)
 Copies the property values from a Core::PropertyValueMap to this PropertyContainer. More...
 
std::vector< Core::Property * > getPropertiesOrdered () const
 Returns the properties in the init order. More...
 
void __setCheckIsNew__ ()
 For internal use only. More...
 
virtual bool check_lx (char *f, char *n)
 
bool rollBack ()
 Brings back the PropertyContainer to its last valid status. More...
 
void saveLastValidPropertyMap ()
 Saves the last valid property map, p.e. before a recompute to enable a rollback. More...
 
const Core::PropertyValueMapgetLastValidPropertyMap () const
 Returns the last valid PropertyValueMap. More...
 
- Public Member Functions inherited from Base::Persistance
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...
 
- Public Member Functions inherited from Base::BaseClass
virtual Type getTypeId (void) const
 
template<typename T >
bool isDerivedFrom () const
 
 BaseClass ()
 Construction. More...
 
virtual ~BaseClass ()
 Destruction. More...
 

Static Public Member Functions

static bool isRegistered (const Base::GlobalId &aClassId)
 
static bool registerClass (PythonClassObject *aClassObject)
 
static PythonClassObjectgetRegisteredClass (const Base::GlobalId &aClassId)
 
- Static Public Member Functions inherited from Base::BaseClass
static Type getClassTypeId (void)
 
static void init (void)
 
static void * create (void)
 
static void setIfcNameAndID (std::string n, int id)
 

Public Attributes

PropertyBackLink< PythonScriptObject * > pythonScriptObject
 
PropertyGUID classId
 
PropertyText className
 
PropertyText superClassName
 
PropertyUInt64 standardManipulatorPolicy
 
PropertyText propertyHeader
 
PropertyIndex translatorHeader
 
PropertyText propertyGroupName
 
PropertyIndex translatorGroupName
 
- Public Attributes inherited from Core::PropertyContainer
bool isRestored = false
 

Protected Member Functions

Core::DocObjectcopy (Core::CoreDocument *toDoc, DocObjectMap &copyMap=DocObjectMap()) override
 Copies the object to the specified document, provides map of pairs original-copy to see which object is a copy of another one. More...
 
- Protected Member Functions inherited from Core::DocObject
 DocObject ()
 
virtual ~DocObject ()
 
virtual DocObjectshallowCopy (Core::CoreDocument *toDoc)
 Copies the object to the specified document. Provide only shallow copy. Do not copy objects on link. More...
 
virtual DocObjectcopyToDifferentType (Base::Type aNewType, DocObjectMap &aCopyMap)
 
- Protected Member Functions inherited from Core::PropertyContainer
void addPropertiesFrom (const Core::PropertyContainer *other)
 Adds copy of all properties from other to this PropertyContainer. More...
 
virtual void setStatus (Status status)
 
Status getStatus () const
 
bool checkForAlreadyExistingProperty (Core::Property *property)
 
virtual void restoreProperty (Core::Property *property, const Base::String &name, Base::AbstractXMLReader &reader, Base::PersistanceVersion &version)
 Restores property from from reader in specified version. More...
 

Friends

class PythonClassObject_Factory
 

Additional Inherited Members

- Public Types inherited from Core::DocObject
typedef std::string IdType
 
- Public Types inherited from Core::PropertyContainer
enum  CheckStatus { CheckStatus::IsNew, CheckStatus::IsUpdated }
 
- Protected Types inherited from Core::PropertyContainer
enum  Status {
  Status::New = 1, Status::Updated = 2, Status::Valid = 3, Status::MarkedForDelete = 4,
  Status::MarkedForDeleteFinal, Status::Deleted, Status::DeletedFinal, Status::Error
}
 
- 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 (std::string s, Base::Type classTypeId, int id)
 
- Protected Attributes inherited from Core::PropertyContainer
unsigned int _changedProperties
 

Detailed Description

Keeps the information about a Python class like class name, the super class etc. Also keeps the information how properties are displayed.

Since
24.0

Constructor & Destructor Documentation

◆ PythonClassObject()

Core::PythonClassObject::PythonClassObject ( )

◆ ~PythonClassObject()

virtual Core::PythonClassObject::~PythonClassObject ( )
virtual

Member Function Documentation

◆ addPropertyDescriptor()

void Core::PythonClassObject::addPropertyDescriptor ( PropertyDescriptor aDescriptor)

◆ copy()

Core::DocObject* Core::PythonClassObject::copy ( Core::CoreDocument toCoreDoc,
DocObjectMap copyMap = DocObjectMap() 
)
overrideprotectedvirtual

Copies the object to the specified document, provides map of pairs original-copy to see which object is a copy of another one.

Reimplemented from Core::DocObject.

◆ getPropertyDescriptorByName()

PropertyDescriptor* Core::PythonClassObject::getPropertyDescriptorByName ( const std::string &  aName)

◆ getPropertyDescriptorList()

std::list<PropertyDescriptor*> Core::PythonClassObject::getPropertyDescriptorList ( ) const

◆ getPropertyDescriptorMap()

std::map<std::string, PropertyDescriptor*> Core::PythonClassObject::getPropertyDescriptorMap ( ) const

◆ getPropertyGroupName()

Base::String Core::PythonClassObject::getPropertyGroupName ( ) const

◆ getPropertyHeader()

Base::String Core::PythonClassObject::getPropertyHeader ( ) const

◆ getRegisteredClass()

static PythonClassObject* Core::PythonClassObject::getRegisteredClass ( const Base::GlobalId aClassId)
static

◆ getStandardManipulatorPolicy()

Core::StandardManipulatorPolicy Core::PythonClassObject::getStandardManipulatorPolicy ( ) const

◆ getTranslationGroupName()

int Core::PythonClassObject::getTranslationGroupName ( ) const

◆ getTranslationHeader()

int Core::PythonClassObject::getTranslationHeader ( ) const

◆ isRegistered()

static bool Core::PythonClassObject::isRegistered ( const Base::GlobalId aClassId)
static

◆ mustbeSaved()

bool Core::PythonClassObject::mustbeSaved ( ) const
overridevirtual

Return 'true' if this object must always be saved in the file.

Reimplemented from Base::Persistance.

◆ registerClass()

static bool Core::PythonClassObject::registerClass ( PythonClassObject aClassObject)
static

◆ restore()

void Core::PythonClassObject::restore ( Base::AbstractXMLReader reader,
Base::PersistanceVersion version 
)
overridevirtual

Restores the PropertyContainer from reader in specified version.

Reimplemented from Core::PropertyContainer.

◆ restorePythonInstance()

bool Core::PythonClassObject::restorePythonInstance ( const Base::GlobalId aObjectId)

◆ save()

void Core::PythonClassObject::save ( Base::AbstractWriter writer,
Base::PersistanceVersion version 
)
overridevirtual

Saves the PropertyContainer to writer.

Reimplemented from Core::PropertyContainer.

◆ setPropertyGroupName()

void Core::PythonClassObject::setPropertyGroupName ( const Base::String aDefaultName,
int  aTranslationId = -1 
)

◆ setPropertyHeader()

void Core::PythonClassObject::setPropertyHeader ( const Base::String aDefaultName,
int  aTranslationId = -1 
)

◆ setStandardManipulatorPolicy()

void Core::PythonClassObject::setStandardManipulatorPolicy ( const Core::StandardManipulatorPolicy aPolicy)

Friends And Related Function Documentation

◆ PythonClassObject_Factory

friend class PythonClassObject_Factory
friend

Member Data Documentation

◆ classId

PropertyGUID Core::PythonClassObject::classId

◆ className

PropertyText Core::PythonClassObject::className

◆ propertyGroupName

PropertyText Core::PythonClassObject::propertyGroupName

◆ propertyHeader

PropertyText Core::PythonClassObject::propertyHeader

◆ pythonScriptObject

PropertyBackLink<PythonScriptObject*> Core::PythonClassObject::pythonScriptObject

◆ standardManipulatorPolicy

PropertyUInt64 Core::PythonClassObject::standardManipulatorPolicy

◆ superClassName

PropertyText Core::PythonClassObject::superClassName

◆ translatorGroupName

PropertyIndex Core::PythonClassObject::translatorGroupName

◆ translatorHeader

PropertyIndex Core::PythonClassObject::translatorHeader

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