Attribute containing flags, bitmask of enum values. More...
#include <Valuable/AttributeFlags.hpp>
Public Types | |
|
typedef void(AttributeFlagsT < T >::* | bool_type )() |
| best you can do to emulate c++0x explicit boolean conversion operator | |
| typedef Radiant::FlagsT< T > | Flags |
Public Types inherited from Valuable::Attribute | |
| enum | Layer { DEFAULT = 0, STYLE, USER, STYLE_IMPORTANT, LAYER_COUNT, LAYER_CURRENT } |
| Attribute has multiple independent attribute values on LAYER_COUNT different layers. More... | |
| typedef std::function< void()> | ListenerFunc |
| Callback function type in the listener API. | |
| enum | ListenerRole { DELETE_ROLE = 1 << 0, CHANGE_ROLE = 1 << 1, ALL_ROLES = (CHANGE_ROLE << 1) -1 } |
| Different listener roles, used when adding a new listener. | |
| enum | ValueUnit { VU_UNKNOWN, VU_PXS, VU_PERCENTAGE, VU_EMS, VU_EXS } |
| Units of a value. More... | |
Public Member Functions | |
| virtual int | asInt (bool *const ok, Layer layer) const |
| Converts the value object in an integer. More... | |
| QString | asString (bool *const ok, Layer layer) const |
| Converts the value object to a string. More... | |
| AttributeFlagsT (Node *parent, const QByteArray &name, const FlagNames *names, Flags v=Flags(), bool transit=false) | |
| void | clearFlags (const Flags &f, Layer layer) |
| virtual void | clearValue (Layer layout) |
| Unsets the value from a specific layer. More... | |
| virtual bool | deserialize (const ArchiveElement &element) |
| Deserializes (reads) this object from serializer element. More... | |
| virtual void | eventProcess (const QByteArray &, Radiant::BinaryData &data) |
| Process a message. More... | |
| virtual bool | handleShorthand (const Valuable::StyleValue &value, Radiant::ArrayMap< Valuable::Attribute *, Valuable::StyleValue > &expanded) |
| If attribute supports shorthand properties, this should be used to parse those. More... | |
| bool | isFlagDefinedOnLayer (Radiant::FlagsT< T > flags, Layer layer) const |
| operator bool_type () const | |
| operator Flags () const | |
| bool | operator! () const |
| bool | operator!= (const Flags &b) const |
| Flags | operator& (const Flags &b) const |
| AttributeFlagsT & | operator&= (const Flags &b) |
| AttributeFlagsT & | operator= (const Flags &b) |
| bool | operator== (const Flags &b) const |
| Flags | operator^ (const Flags &b) const |
| AttributeFlagsT & | operator^= (const Flags &b) |
| Flags | operator| (const Flags &b) const |
| AttributeFlagsT & | operator|= (const Flags &b) |
| Flags | operator~ () const |
| virtual bool | set (int v, Layer layer, ValueUnit=VU_UNKNOWN) |
| Sets the value of the object. | |
| virtual bool | set (const StyleValue &v, Layer layer=USER) |
| Sets the value of the object. | |
| virtual void | setAsDefaults () |
| Sets the current USER attribute value as the default value and clears the USER value. More... | |
| void | setFlags (const Flags &f, bool state, Layer layer=USER) |
| virtual void | setValue (const Flags &flags, Layer layer) |
| Flags | value () const |
| Flags | value (Layer layer) const |
| For example value(USER) returns bitset that includes bits only from USER level, not from any lower or higher priority level. More... | |
| Flags | value (Layer topLayer, Layer bottomLayer) const |
| Collects bits between layers topLayer to bottomLayer (inclusive) to bitmask. | |
Public Member Functions inherited from Valuable::Attribute | |
| long | addListener (ListenerFunc func, int role=CHANGE_ROLE) |
| Adds a listener that is invoked whenever the value is changed. More... | |
| long | addListener (Node *listener, ListenerFunc func, int role=CHANGE_ROLE) |
| Adds a listener that is invoked whenever the value is changed. More... | |
| long | addListener (v8::Persistent< v8::Function > func, int role=CHANGE_ROLE) |
| Adds a JavaScript listener that is invoked whenever the value is changed. More... | |
| virtual float | asFloat (bool *const ok=0, Layer layer=LAYER_CURRENT) const |
| Converts the value object in a floating point number. More... | |
| Attribute (const Attribute &o) | |
| Create a copy of the given Attribute WITHOUT the link to host, listeners, or the attribute name. More... | |
| Attribute (Node *host, const QByteArray &name, bool transit=false) | |
| Constructs a new value object and attaches it to its host. More... | |
| virtual Attribute * | attribute (const QByteArray &name) const |
| Gets an Attribute with the given name. More... | |
| virtual void | emitChange () |
| Invokes the change valueChanged function of all listeners. | |
| void | eventProcessFloat (const char *id, float v) |
| Utility function for sending a float message to the object. | |
| void | eventProcessInt (const char *id, int v) |
| Utility function for sending an int message to the object. | |
| void | eventProcessString (const char *id, const QString &str) |
| Utility function for sending string message to the object. | |
| void | eventProcessString (const char *id, const char *str) |
| Utility function for sending string message to the object. | |
| void | eventProcessVector2 (const char *id, Nimble::Vector2) |
| Utility function for sending a Nimble::Vector2f message to the object. | |
| void | eventProcessVector3 (const char *id, Nimble::Vector3) |
| Utility function for sending a Vector3 message to the object. | |
| void | eventProcessVector4 (const char *id, Nimble::Vector4) |
| Utility function for sending a Vector4 message to the object. | |
| Node * | host () const |
| The host object of the value object (is any). More... | |
| virtual bool | isChanged () const |
| virtual bool | isValueDefinedOnLayer (Layer layer) const |
| Check if the given layer defines a value. More... | |
| bool | layerForSerialization (SerializationOptions flags, Layer &layer) const |
| const QByteArray & | name () const |
| Returns the name of the object. | |
| const Attribute & | operator= (const Attribute &) |
| Create a copy of the given Attribute WITHOUT the link to host, listeners, or the attribute name. More... | |
| Attribute * | ownerShorthand () const |
| QByteArray | path () const |
| Returns the path (separated by '/'s) from the root. | |
| void | removeHost () |
| Sets the host pointer to zero and removes this object from the host. More... | |
| bool | removeListener (Node *listener, int role=ALL_ROLES) |
| Removes a listener from the listener list. More... | |
| bool | removeListener (long id) |
| Removes a listener from the listener list. More... | |
| void | removeListeners (int role=ALL_ROLES) |
| Removes listeners from the listener list. | |
| virtual ArchiveElement | serialize (Archive &archive) const |
| The object is serialized using its name as a tag name. More... | |
| virtual bool | set (float v, Layer layer=USER, ValueUnit unit=VU_UNKNOWN) |
| Sets the value of the object. | |
| virtual bool | set (const QString &v, Layer layer=USER, ValueUnit unit=VU_UNKNOWN) |
| Sets the value of the object. | |
| virtual bool | set (const Nimble::Vector2f &v, Layer layer=USER, QList< ValueUnit > units=QList< ValueUnit >()) |
| Sets the value of the object. | |
| virtual bool | set (const Nimble::Vector3f &v, Layer layer=USER, QList< ValueUnit > units=QList< ValueUnit >()) |
| Sets the value of the object. | |
| virtual bool | set (const Nimble::Vector4f &v, Layer layer=USER, QList< ValueUnit > units=QList< ValueUnit >()) |
| Sets the value of the object. | |
| void | setName (const QByteArray &s) |
| Sets the name of the object. | |
| void | setOwnerShorthand (Attribute *owner) |
| virtual QByteArray | type () const |
| Get the type id of the attribute. More... | |
Public Member Functions inherited from Valuable::Serializable | |
| virtual bool | deserializeXML (const DOMElement &element) |
| Deserializes (reads) this object from an XML element. More... | |
| bool | isSerializable () const |
| void | setSerializable (bool v) |
Additional Inherited Members | |
Protected Member Functions inherited from Valuable::Attribute | |
| virtual void | emitDelete () |
| Invokes the change valueDeleted function of all listeners. | |
Attribute containing flags, bitmask of enum values.
|
inlinevirtual |
Converts the value object in an integer.
| ok | If non-null, *ok is set to true/false on success/error |
Reimplemented from Valuable::Attribute.
|
inlinevirtual |
Converts the value object to a string.
| ok | If non-null, *ok is set to true/false on success/error |
Reimplemented from Valuable::Attribute.
|
inlinevirtual |
Unsets the value from a specific layer.
| layer | layer to clear, must not be DEFAULT, since DEFAULT layer should always be set |
Reimplemented from Valuable::Attribute.
|
inlinevirtual |
Deserializes (reads) this object from serializer element.
| element | Serialized element that holds the data that should be deserialized. |
Implements Valuable::Serializable.
|
inlinevirtual |
Process a message.
This method is a key element in the event-passing system. It is used to deliver information between objects. The information contains two parts:
This function is overridden in number of classes that need to receive and process events. In a typical case, when overriding this function, you should either process the message, or call the function of the parent class.
| id | The indentifier for the message. Typically this is quite human-readable |
| data | Binary blob that contains the argument data in easily parseable format. |
Reimplemented from Valuable::Attribute.
|
inlinevirtual |
If attribute supports shorthand properties, this should be used to parse those.
For example "background: url('image.png') repeat" is a shorhand for setting background-image to "url('image.png')" and background-repeat to "repeat".
| [in] | value | shorthand value |
| [out] | expanded | shorthand property split to parts. With the previous background-example map should have two values. |
this is not a flag, probably a typo in CSS file
Reimplemented from Valuable::Attribute.
|
inlinevirtual |
Sets the current USER attribute value as the default value and clears the USER value.
Reimplemented from Valuable::Attribute.
|
inline |
For example value(USER) returns bitset that includes bits only from USER level, not from any lower or higher priority level.
This might be confusing in some situations.