Base class of Properties. More...
Public Types | |
using | Specif = int32_t |
Specificity of Properties. | |
Public Member Functions | |
virtual GProp * | clone (bool copy_value) const |
Clones the prop (when applicable). More... | |
virtual bool | isMutable () const |
Returns true if the prop is mutable. More... | |
virtual void | setImmutable () |
Makes the prop immutable. More... | |
virtual GString | stringValue () const |
Returns the value of the prop as a string. More... | |
virtual float | floatValue () const |
Returns the value of the prop as a float. More... | |
virtual bool | boolValue () const |
Returns the value as a bool. More... | |
virtual bool | isEquivalent (GProp const &other) const |
Returns true if these props are equivalent. More... | |
virtual bool | onAdd (Gadget *) |
Called when the property is added to an object. More... | |
virtual void | onRemove (Gadget *) |
Called when the property is removed from an object. More... | |
virtual void | error (GString const &funname, GString const &message) const |
Prints an error message. More... | |
void | operator delete (void *) |
delete does nothing, see GObject class. | |
void | forgetSmartPointers () |
Forgets all smart pointers pointing this object. More... | |
unsigned int | useCount () const |
Returns the numbers of smart pointers referencing the object. | |
virtual void | removeNotifiers (void *obj) |
[Implementation] Notifies this object that it must no longer refer obj. | |
GString | typeName () const override |
Returns the name and role of the prop's type. | |
GProp * | toProp () override |
Class conversions. | |
virtual class GVarProp * | toVarProp () |
Type conversions. | |
template<class Subclass > | |
Subclass * | to () |
Class conversions. | |
void | ignoreSmartPointers () |
Checks/sets whether this object can be auto-deleted by smart pointers. More... | |
using | GType = GPropType |
Returns prop's meta-class. More... | |
bool | write (GString const &filename) const |
Writes the value of the prop on a file or a stream. | |
Base class of Properties.
Properties specify the appearance or behavior of the gadgets they are added to. They can be shared by several gadgets and are added to them by using the << operator. See Gadget for details and examples.
The class has two main subclasses: GCond for conditional expressions (Callbacks and Conditional Props) and GVarProp for all other props.
using guit::GProp::GType = GPropType |
Returns prop's meta-class.
Both functions return the prop's type, but Type() is a static method and type() a virtual method.
|
inlinevirtual |
Clones the prop (when applicable).
Mutable props (i.e. deriving from GVarProp) can be cloned, otherwise this method returns null. The value is copied if copy_value is used, the default value is used otherwise.
Reimplemented in guit::GTextData, guit::GTip, guit::GBackground, guit::GRelativePos, guit::GCond, guit::GRegText, guit::GDragPos, guit::GDragSize, guit::GExpr, guit::GBorder, guit::GCheck, guit::GColor, guit::GFont, guit::GFlex, guit::GPos, guit::GSize, guit::GFlow, guit::GIcon, guit::GState, guit::GMargin, guit::GShow, guit::GFormat, guit::GCursor, guit::GGap, guit::GAnim, guit::GChoice, guit::GBool, guit::GFloat, guit::GInt, guit::GText, guit::GEnable, and guit::GHotkey.
|
inlinevirtual |
Returns true if the prop is mutable.
Returns true only if the prop derives from GVarProp and setImmutable() was not called. Props with another type than GVarProp are always immutable.
Reimplemented in guit::GVarProp.
|
inlinevirtual |
Makes the prop immutable.
Affects only GVarProp props (other props are always immutable). A prop cannot be made mutable again after this method has been called.
Reimplemented in guit::GVarProp.
|
inlinevirtual |
Returns the value of the prop as a string.
Returns "" if the prop has no value of its value cannot be converted to a string.
Reimplemented in guit::GNumExpr, guit::GTextExpr, guit::GBoolExpr, guit::GOtherwise, guit::GGuard, guit::GVarProp_< T >, guit::GVarProp_< GMarginValue >, guit::GVarProp_< GFlexValue >, guit::GVarProp_< GSizeValue >, guit::GVarProp_< GIconValue >, guit::GVarProp_< GFontValue >, guit::GVarProp_< GGapValue >, guit::GVarProp_< GPosValue >, guit::GVarProp_< GRgba >, guit::GVarProp_< GBorderValue >, guit::GVarProp_< bool >, guit::GVarProp_< GString >, guit::GVarProp_< GFormatValue >, guit::GVarProp_< GAlignValue >, guit::GVarProp_< GFlowValue >, guit::GCond, guit::GExpr, guit::GState, guit::GAnim, and guit::GText.
|
inlinevirtual |
Returns the value of the prop as a float.
Returns 0.f if the prop has no value of its value cannot be converted to a float.
Reimplemented in guit::GNumExpr, guit::GTextExpr, guit::GBoolExpr, guit::GExpr, guit::GState, guit::GText, and guit::GBool.
|
inlinevirtual |
Returns the value as a bool.
Returns false if the prop has no value of its value cannot be converted to a bool.
Reimplemented in guit::GNumExpr, guit::GTextExpr, guit::GBoolExpr, guit::GExpr, and guit::GBool.
|
virtual |
Returns true if these props are equivalent.
Adding a prop to a gadget replaces the equivalent prop it contains (if it contains any). In all other cases, the prop is added to the gadget proplist. NOTE: props with a negative role are never equivalent!
Reimplemented in guit::GExpr, guit::GCond, guit::GState, and guit::GAnim.
|
virtual |
Called when the property is added to an object.
note: must call addModes().
Reimplemented in guit::GTextData, guit::GTip, guit::GCond, guit::GDragPos, guit::GDragSize, guit::GPos, guit::GText, guit::GSize, guit::GFlex, guit::GFlow, guit::GItems, and guit::GValue.
|
virtual |
Called when the property is removed from an object.
note: must call removeModes().
Reimplemented in guit::GTextData, guit::GTip, guit::GCond, guit::GDragPos, guit::GDragSize, guit::GPos, guit::GText, guit::GSize, guit::GFlex, and guit::GHotkey.
|
virtualinherited |
Prints an error message.
|
inlineinherited |
Checks/sets whether this object can be auto-deleted by smart pointers.
ignoreSmartPointers() has a permanent effect, contrary to forgetSmartPointers(). Objects not created by calling new are never auto-deleted by smart pointers.
|
inlineinherited |
Forgets all smart pointers pointing this object.
The smart pointers that are currently pointing to the object won't auto-delete it. forgetSmartPointers() has a temporary effect, contrary to ignoreSmartPointers().