OpenLexocad  27.1
Core::PropertyEnum Class Reference

#include <PropertyInteger.h>

Inheritance diagram for Core::PropertyEnum:
Core::PropertyIndex Core::PropertyInteger Core::Property Base::Persistence Base::BaseClass

Public Member Functions

 PropertyEnum ()
 
virtual ~PropertyEnum ()
 
void setEnums (const char **plEnums)
 Enumeration methods. More...
 
void setValue (const char *value)
 
void setValue (int)
 
const char * getValueAsString (void) const
 get the value as string More...
 
std::vector< std::string > getEnumVector (void) const
 get all possible enum values as vector of strings More...
 
const char ** getEnums (void) const
 get the pointer to the enum list More...
 
virtual void copyValue (Core::Property *p)
 
virtual bool isEqual (const Property *) const
 compare properties More...
 
- Public Member Functions inherited from Core::PropertyIndex
 PropertyIndex (void)
 
virtual ~PropertyIndex (void)
 
- Public Member Functions inherited from Core::PropertyInteger
 PropertyInteger (void)
 
virtual ~PropertyInteger (void)
 
bool setValueFromVariant (const Core::Variant &value)
 
int getValue () const
 
Core::Variant getVariant (void) const
 
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. More...
 
virtual void restore (Base::AbstractXMLReader &reader, Base::PersistenceVersion &version)
 This method is used to restore properties from an XML document. More...
 
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 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)
 
virtual bool setKeyValue (const std::string &key, const Core::Variant &value)
 Sets a sub key in this property. More...
 
virtual std::map< std::string, Core::VariantgetKeyValueMap () const
 Returns all keys and their values of this property. More...
 
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...
 
virtual void deepCopy (Core::Property *p, Core::CoreDocument *dest_doc, DocObjectMap &copyMap)
 
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 const Core::PropertyKind getPropertyKind (void) const
 
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...
 
virtual bool isLink () const
 Check if Property is of type PropertyLink, LinkSet etc. For better performance. More...
 
virtual std::shared_ptr< Core::DbgInfogetDbgInfo () const
 Returns the debug information for this property. 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

const char ** _enumArray
 
- Protected Attributes inherited from Core::PropertyInteger
int _nValue
 
- 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

◆ PropertyEnum()

Core::PropertyEnum::PropertyEnum ( )

◆ ~PropertyEnum()

virtual Core::PropertyEnum::~PropertyEnum ( )
virtual

Member Function Documentation

◆ copyValue()

virtual void Core::PropertyEnum::copyValue ( Core::Property p)
virtual

Reimplemented from Core::PropertyInteger.

◆ getEnums()

const char** Core::PropertyEnum::getEnums ( void  ) const

get the pointer to the enum list

◆ getEnumVector()

std::vector<std::string> Core::PropertyEnum::getEnumVector ( void  ) const

get all possible enum values as vector of strings

◆ getValueAsString()

const char* Core::PropertyEnum::getValueAsString ( void  ) const

get the value as string

◆ isEqual()

virtual bool Core::PropertyEnum::isEqual ( const Property ) const
virtual

compare properties

Reimplemented from Core::PropertyInteger.

◆ setEnums()

void Core::PropertyEnum::setEnums ( const char **  plEnums)

Enumeration methods.

setting the enumeration string list The list is a NULL terminated array of pointers to a const char* string

const char enums[] = {"Black","White","Other",NULL}

◆ setValue() [1/2]

void Core::PropertyEnum::setValue ( const char *  value)

set the enum by a string is slower the setValue(long). Use long if possible

◆ setValue() [2/2]

void Core::PropertyEnum::setValue ( int  )
virtual

set directly the enum value In DEBUG checks for boundaries. Is faster then using setValue(const char*).

Reimplemented from Core::PropertyInteger.

Member Data Documentation

◆ _enumArray

const char** Core::PropertyEnum::_enumArray
protected

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