All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Valuable::AttributeLocation2f Class Reference

This class provides an attribute for Nimble::Vector2f. More...

#include <Valuable/AttributeLocation.hpp>

Inheritance diagram for Valuable::AttributeLocation2f:
Valuable::AttributeVector< Nimble::Vector2f > Valuable::AttributeT< Nimble::Vector2f > Valuable::Attribute Valuable::Serializable

Public Member Functions

 AttributeLocation2f (Node *host, const QByteArray &name, const Nimble::Vector2f &v=Nimble::Vector2f(0, 0), bool transit=false)
 
virtual void clearValue (Attribute::Layer layer=USER)
 Unsets the value from a specific layer. More...
 
virtual bool set (float v, Layer layer=USER, ValueUnit unit=VU_UNKNOWN)
 
virtual bool set (int v, Layer layer=USER, ValueUnit=VU_UNKNOWN)
 
void set (const Nimble::Vector2f &v, Layer layer=USER)
 
virtual bool set (const Nimble::Vector2f &v, Layer layer, QList< ValueUnit > units)
 
virtual void setAsDefaults ()
 Sets the current USER attribute value as the default value and clears the USER value. More...
 
void setSrc (Nimble::Vector2f src)
 
void setSrcx (float src)
 
void setSrcy (float src)
 
void setX (float x, Layer layer=USER, ValueUnit unit=VU_PXS)
 
void setY (float y, Layer layer=USER, ValueUnit unit=VU_PXS)
 
- Public Member Functions inherited from Valuable::AttributeVector< Nimble::Vector2f >
virtual QString asString (bool *const ok, Attribute::Layer layer) const
 Converts the value object to a string. More...
 
const Nimble::Vector2fasVector () const
 Returns the internal vector object as a constant reference. More...
 
 AttributeVector (Node *host, const QByteArray &name, const Nimble::Vector2f &v=Nimble::Vector2f::null(), bool transit=false)
  More...
 
const ElementType * data () const
 Returns the data in its native format.
 
virtual void eventProcess (const QByteArray &id, Radiant::BinaryData &data)
 Process a message. More...
 
const ElementType & get (int i) const
 Returns the ith element.
 
void normalize (ElementType len=1.0)
 Normalizes the vector.
 
Nimble::Vector2f operator+ (const Nimble::Vector2f &v) const
 Addition operator.
 
AttributeVector
< Nimble::Vector2f > & 
operator+= (const Nimble::Vector2f &v)
 Assigns by addition.
 
Nimble::Vector2f operator- (const Nimble::Vector2f &v) const
 Subtraction operator.
 
AttributeVector
< Nimble::Vector2f > & 
operator-= (const Nimble::Vector2f &v)
 Assigns by subtraction.
 
ElementType operator[] (int i) const
 Access vector elements by their index. More...
 
virtual bool set (const StyleValue &value, Attribute::Layer layer=Attribute::USER)
 Sets the value.
 
const ElementType & x () const
 Returns the first component.
 
const ElementType & y () const
 Returns the second component.
 
- Public Member Functions inherited from Valuable::AttributeT< Nimble::Vector2f >
 AttributeT (Node *host, const QByteArray &name, const Nimble::Vector2f &v=Nimble::Vector2f(), bool transit=false)
 Creates a new AttributeT and stores the default and current value as a separate variables. More...
 
Layer currentLayer () const
 
const Nimble::Vector2fdefaultValue () const
 The default value (the value given in constructor) of the Attribute.
 
virtual bool deserialize (const ArchiveElement &element)
 Deserializes (reads) this object from serializer element. More...
 
virtual bool isChanged () const
 
virtual bool isValueDefinedOnLayer (Layer layer) const final
 
 operator const Nimble::Vector2f & () const
 Typecast operator for the wrapped value.
 
const Nimble::Vector2foperator* () const
 Access the wrapped object with the dereference operator.
 
const Nimble::Vector2foperator-> () const
 Use the arrow operator to access fields inside the wrapped object.
 
AttributeT< Nimble::Vector2f > & operator= (const Nimble::Vector2f &t)
 Calls setValue with USER layer. More...
 
virtual ArchiveElement serialize (Archive &archive) const
 The object is serialized using its name as a tag name. More...
 
void setValue (const Nimble::Vector2f &t, Layer layer=USER)
 Sets a new value for a specific layer. More...
 
const Nimble::Vector2fvalue (Layer layer) const
 
const Nimble::Vector2fvalue () const
 
- 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...
 
virtual int asInt (bool *const ok=0, Layer layer=LAYER_CURRENT) const
 Converts the value object in an integer. 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 Attributeattribute (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.
 
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...
 
Nodehost () const
 The host object of the value object (is any). More...
 
bool layerForSerialization (SerializationOptions flags, Layer &layer) const
 
const QByteArray & name () const
 Returns the name of the object.
 
const Attributeoperator= (const Attribute &)
 Create a copy of the given Attribute WITHOUT the link to host, listeners, or the attribute name. More...
 
AttributeownerShorthand () 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 bool set (float v, Layer layer=USER, ValueUnit unit=VU_UNKNOWN)
 Sets the value of the object.
 
virtual bool set (int 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)
 

Public Attributes

using operator = typedef
 

Additional Inherited Members

- 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...
 
- Protected Member Functions inherited from Valuable::Attribute
virtual void emitDelete ()
 Invokes the change valueDeleted function of all listeners.
 
- Protected Attributes inherited from Valuable::AttributeT< Nimble::Vector2f >
Layer m_current
 
Nimble::Vector2f m_values [LAYER_COUNT]
 
bool m_valueSet [LAYER_COUNT]
 

Detailed Description

This class provides an attribute for Nimble::Vector2f.

Member Function Documentation

virtual void Valuable::AttributeLocation2f::clearValue ( Attribute::Layer  layout = USER)
inlinevirtual

Unsets the value from a specific layer.

Parameters
layerlayer to clear, must not be DEFAULT, since DEFAULT layer should always be set

Reimplemented from Valuable::AttributeT< Nimble::Vector2f >.

virtual void Valuable::AttributeLocation2f::setAsDefaults ( )
inlinevirtual

Sets the current USER attribute value as the default value and clears the USER value.

Reimplemented from Valuable::AttributeT< Nimble::Vector2f >.