wxArt2D
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
a2dNamedProperty Class Referenceabstract

(In) Visible property that can be added to Docview Objects. More...

#include <gen.h>

Inheritance diagram for a2dNamedProperty:
Inheritance graph
[legend]
Collaboration diagram for a2dNamedProperty:
Collaboration graph
[legend]

Public Member Functions

 a2dNamedProperty ()
 Default constructor.
 
 a2dNamedProperty (const a2dPropertyId *id)
 Constructor giving an id.
 
 a2dNamedProperty (const a2dNamedProperty &other)
 Copy constructor.
 
a2dNamedPropertyClone (a2dObject::CloneOptions options, a2dRefMap *refs=NULL) const
 Virtual copy constructor.
 
virtual void Assign (const a2dNamedProperty &other)=0
 Virtual assignment operator.
 
virtual ~a2dNamedProperty ()
 Destructor.
 
void SetCheck (bool check)
 general flag use at will. More...
 
bool GetCheck () const
 general flag use at will.
 
void SetToObject (a2dObject *obj, a2dPropertyId::SetFlags setflags=a2dPropertyId::set_none)
 Set this property to an object. More...
 
void SetToObjectClone (a2dObject *obj, a2dPropertyId::SetFlags setflags=a2dPropertyId::set_none) const
 Set this property to an object and clone it if neccessary. More...
 
const a2dPropertyIdGetId () const
 Get the a2dPropertyId object identifying this property.
 
virtual const a2dPropertyIdCreateId (a2dObject *parent, const wxString &name)
 creates an a2dPropertyId for this property, if it is not available.
 
wxString GetName () const
 Get the name of the a2dPropertyId object.
 
virtual wxString GetString () const
 when a2dStringProperty, return its value else assert
 
virtual double GetDouble () const
 when a2dDoubleProperty, return its value else assert
 
virtual float GetFloat () const
 when a2dFloatProperty, return its value else assert
 
virtual bool GetBool () const
 when a2dBoolProperty, return its value else assert
 
virtual wxInt16 GetInt16 () const
 when a2dInt16Property, return its value else assert
 
virtual wxUint16 GetUint16 () const
 when a2dUint16Property, return its value else assert
 
virtual wxInt32 GetInt32 () const
 when a2dInt32Property, return its value else assert
 
virtual wxUint32 GetUint32 () const
 when a2dUint32Property, return its value else assert
 
virtual void * GetVoidPtr () const
 when a2dVoidPtrProperty, return its value else assert
 
virtual a2dObjectGetRefObject () const
 when a2dProperty, return its value else assert
 
virtual a2dObjectGetRefObjectNA () const
 when a2dProperty, return its value else return NULL
 
virtual wxString StringRepresentation () const
 
virtual wxString StringValueRepresentation () const
 
virtual bool GetVisible () const
 some derived properties can be visible or not and override this
 
virtual bool GetCanRender () const
 some derived properties can be renderable or not and override this More...
 
double ParseDouble (unsigned int &position)
 parse a double from the value string
 
void SkipCommaSpaces (unsigned int &position)
 parse comma, whitespace and skip it form teh value string
 
void SkipSpaces (unsigned int &position)
 parse whitespace and skip it form teh value string
 
void Walker (wxObject *parent, a2dWalkerIOHandler &handler)
 This is used to recursively walk through an object tree.
 
virtual void DoWalker (wxObject *parent, a2dWalkerIOHandler &handler)
 
virtual void Save (wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dObjectList *towrite)
 
virtual void Load (wxObject *parent, a2dIOHandlerXmlSerIn &parser)
 
virtual void DoSave (wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dXmlSer_flag xmlparts, a2dObjectList *towrite)
 
virtual void DoLoad (wxObject *parent, a2dIOHandlerXmlSerIn &parser, a2dXmlSer_flag xmlparts)
 

Protected Member Functions

virtual a2dNamedPropertyDoClone (a2dObject::CloneOptions options, a2dRefMap *refs) const =0
 

Protected Attributes

const a2dPropertyIdm_id
 The property id object identifying this property.
 

Friends

class a2dPropertyId
 
class a2dSmrtPtrBase
 

Detailed Description

(In) Visible property that can be added to Docview Objects.

In general derived objects of this class are added as properties to a a2dObject. You can store/wrap almost any information you like in a property. The purpose is mainly to allow users of the library to attach extra information to an object, without the need to extend the object with C++ members. The properties are dynamic, and space needed for them is freed when the property is removed. This keeps classes small since all extra information needed for editing an object are whatever, can be stored via the property system, as soon as the action is finished all extra data can be removed again.

There are many ways to use the properties. But the important thing is to understand that a2dNamedProperties instances are made unique in type of info and purpose by its a2dPropertyId. A specific derived a2dNamedProperty, containing some data, does have a a2dPropertyId set to it on creation. This id is like a unique application broad name for this a2dNamedProperty. The type of id can only be used in conbination with that type of a2dNamedProperty. Normally you add specific a2dPropertyId instances to a a2dObject as static members, which defines which properties can be set to the object.

class a2dNamedProperty_X has a one to relation to a class a2dPropertyId_Y. There can be many instances of a2dNamedProperty_X all with instantiated with different instances of that a2dPropertyId_Y.

Properties are chained via its next member.

see a2dObject

Definition at line 1785 of file gen.h.

Member Function Documentation

virtual bool a2dNamedProperty::GetCanRender ( ) const
inlinevirtual

some derived properties can be renderable or not and override this

some properties have a reference to a a2dCanvasObject, but only to store it, not to render it as part of the object.

a2dPropertyId of a property normally decides if this specific property is to be rendered or not.

Reimplemented in a2dClipPathProperty, and a2dCanvasObjectPtrProperty.

Definition at line 1916 of file gen.h.

void a2dNamedProperty::SetCheck ( bool  check)
inline

general flag use at will.

Remarks
This flag should only be used for temporarly purposes. This object uses this flag too and you might run into problems if you use this flag. It's a good practice to set this flag if you need it and reset this flag to false if you don't need it anymore. Another possibility might be to add a new property to this object if you want to be on the secure side.
Parameters
checktemporarely status information

Definition at line 1844 of file gen.h.

void a2dNamedProperty::SetToObject ( a2dObject obj,
a2dPropertyId::SetFlags  setflags = a2dPropertyId::set_none 
)
inline

Set this property to an object.

The property "this" will be owned by the object

Definition at line 1851 of file gen.h.

void a2dNamedProperty::SetToObjectClone ( a2dObject obj,
a2dPropertyId::SetFlags  setflags = a2dPropertyId::set_none 
) const
inline

Set this property to an object and clone it if neccessary.

The property "this" will NOT be owned by the object. It will be cloned if neccessary

Definition at line 1855 of file gen.h.

virtual wxString a2dNamedProperty::StringRepresentation ( ) const
inlinevirtual
virtual wxString a2dNamedProperty::StringValueRepresentation ( ) const
inlinevirtual

The documentation for this class was generated from the following files:
a2dNamedProperty Class Reference -- Sun Oct 12 2014 17:04:43 -- Sun Oct 12 2014 -- 1.8.5 -- wxArt2D -- . -- Main Page Reference Documentation