wxArt2D
Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members

Ref Counted base object. More...

#include <gen.h>

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

Public Types

enum  CloneOptions {
  clone_members = 0x00000001, clone_properties = 0x00000002, clone_childs = 0x00000004, clone_unused = 0x00000008,
  clone_setoriginal = 0x00000010, clone_seteditcopy = 0x00000020, clone_noReference = 0x00000040, clone_noCameleonRef = 0x00000080,
  clone_toDrag = 0x00000100, clone_flat = 0x00000000, clone_deep = clone_members | clone_properties | clone_childs
}
 options for cloning More...
 
typedef a2dAutoZeroPtr< a2dObjectTAutoZeroPtrListClass
 this is needed inside the smart pointer template code
 

Public Member Functions

virtual bool ProcessEvent (wxEvent &event)
 
bool SearchDynamicEventTable (wxEvent &event)
 
void Connect (int winid, int lastId, int eventType, wxObjectEventFunction func, wxObject *userData=(wxObject *) NULL, wxEvtHandler *eventSink=(wxEvtHandler *) NULL)
 
bool Disconnect (int winid, int lastId, wxEventType eventType, wxObjectEventFunction func=NULL, wxObject *userData=(wxObject *) NULL, wxEvtHandler *eventSink=(wxEvtHandler *) NULL)
 
void ProcessConnectedEvent (wxEvent &event)
 wxCHECK_VERSION(2,9,0) More...
 
void ConnectEvent (wxEventType type, wxEvtHandler *eventSink)
 
bool DisconnectEvent (wxEventType type, wxEvtHandler *eventSink)
 
bool DisconnectEventAll (wxEvtHandler *eventSink)
 Remove all dynamic events in classA, going to classB (eventSink) More...
 
 a2dObject ()
 constructor
 
virtual ~a2dObject ()
 destructor
 
void operator= (const a2dObject &other)
 assignment operator
 
int GetOwnedBy ()
 like it to be protected, but this does not work with wxList macros More...
 
virtual a2dObjectSetNonDynamic ()
 Call to mark this object as non-dynamic (static/local/auto) More...
 
void CheckReferences ()
 Check zero reference count and delete if count is 0. More...
 
a2dObjectClone (CloneOptions options, a2dRefMap *refs=NULL) const
 create an exact copy of this property
 
 a2dObject (const a2dObject &other, CloneOptions options, a2dRefMap *refs)
 
virtual wxString GetName () const
 Returns the name of this object, if no name is given the internal id will be returned. More...
 
virtual void SetName (const wxString &name)
 Creates the a2dStringProperty PROPID_Name. More...
 
virtual bool IsTemporary_DontSave () const
 Check if this is a temporary object, which should not be saved.
 
void SaveAsDocument (a2dIOHandlerXmlSerOut &out)
 Save this object and all below as an XML document. More...
 
virtual void Save (wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dObjectList *towrite)
 write all needed to an XML type of file called the CVG format More...
 
void LoadFromDocument (a2dIOHandlerXmlSerIn &parser)
 Load this object and all below from an XML document. More...
 
virtual void Load (wxObject *parent, a2dIOHandlerXmlSerIn &parser)
 load object from CVG file More...
 
wxInt64 GetUniqueSerializationId () const
 return a unique id for this object More...
 
virtual bool AlwaysWriteSerializationId () const
 If true, always write an id. More...
 
virtual bool LinkReference (a2dObject *other)
 link a reference in the object to the given value More...
 
virtual void ResolveInform ()
 inform an object that reference resolution was done More...
 
void Walker (wxObject *parent, a2dWalkerIOHandler &handler)
 This is used to recursively walk through an object tree.
 
void SetCheck (bool check)
 general flag use at will. More...
 
bool GetCheck () const
 general flag use at will.
 
void SetRelease (bool value)
 set release flag More...
 
bool GetRelease () const
 get release flag More...
 
a2dAutoZeroPtr< a2dObject > ** GetAutoZeroPtrList ()
 return the list head pointer for autozero pointers to this object More...
 
 DECLARE_PROPERTIES ()
 
Properties

a a2dObject has a list of general named properties

a2dNamedPropertyGetProperty (const a2dPropertyId *propertyId, a2dPropertyId::Flags flags=a2dPropertyId::flag_none) const
 get property on this object More...
 
void SetProperty (a2dNamedProperty *propertyHolder, a2dPropertyId::SetFlags flags=a2dPropertyId::set_none)
 Set the property to the this object. More...
 
void SetProperty (const a2dNamedProperty &propertyHolder, a2dPropertyId::SetFlags flags=a2dPropertyId::set_none)
 Set the property to the this object and if enabled, to all childs and object members. More...
 
virtual a2dNamedPropertyFindProperty (const a2dPropertyId *id, a2dPropertyId::Flags flags=a2dPropertyId::flag_none)
 Find a dynamic property with given id in the property list. More...
 
virtual const a2dNamedPropertyFindProperty (const a2dPropertyId *id, a2dPropertyId::Flags flags=a2dPropertyId::flag_none) const
 Find a dynamic property with given id in the property list. More...
 
virtual bool HasProperty (const a2dPropertyId *id, const wxString &stringvalue=wxEmptyString) const
 Check if the object has a property with given id and string representation. More...
 
virtual void OnPropertyChanged (const a2dPropertyId *id)
 This function is called after a property changed. More...
 
virtual bool EditProperties (const a2dPropertyId *id, bool withUndo=true)
 edit properties of the object More...
 
void TakeOverProperties (a2dObject *from, a2dPropertyIdList *listOfIds)
 Properties in the id list are taken from the given object, en set to this. More...
 
wxURI GetURI () const
 quick way to get to PROPID_URI property More...
 
void SetURI (const wxURI &url)
 quickly set a property PROPID_URI More...
 
const a2dNamedPropertyListGetPropertyList () const
 Get the Property List. More...
 
bool HasDynamicProperties () const
 test if there are dynamic properties in the m_propertylist
 
virtual bool RemoveProperty (const a2dPropertyId *id, bool all=true)
 This function is called by a2dPropertyId to remove a property from the list. More...
 
void RemoveTemporaryProperties ()
 remove all temporary properties
 
virtual bool AddProperty (a2dNamedProperty *property)
 This function is called by a2dPropertyId to add a property to the list. More...
 

Static Public Attributes

static a2dPropertyIdBoolPROPID_Check = NULL
 used for linking multiple referenced objects when serializing
 
static a2dPropertyIdUriPROPID_URI = NULL
 attach an URL to the object
 
static a2dPropertyIdStringPROPID_Name = NULL
 Name property, to return name of this object.
 
static a2dPropertyIdVoidPtrPROPID_autozeroptrlist = NULL
 
static const a2dSignal sm_Edit_properties = wxNewId()
 edit properties event, see EditProperties()
 

Protected Types

enum  { refcount_nondynamic = 0x76543210 }
 special refcount value for non-dynamic objects
 

Protected Member Functions

virtual bool DoIgnoreIfNotMember (const a2dPropertyId *id) const
 used to decide if a property shall be ignored, if it is not a member More...
 
virtual a2dObjectDoClone (CloneOptions options, a2dRefMap *refs) const =0
 
virtual void DoWalker (wxObject *parent, a2dWalkerIOHandler &handler)
 iterate over this object and its children More...
 
virtual void DoSave (wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dXmlSer_flag xmlparts, a2dObjectList *towrite)
 Save settings.
 
virtual void DoLoad (wxObject *parent, a2dIOHandlerXmlSerIn &parser, a2dXmlSer_flag xmlparts)
 Load settings.
 

Protected Attributes

a2dNamedPropertyList m_propertylist
 properties
 
int m_refcount
 how many references to this object do exist
 
bool m_check: 1
 used for linking multiple referenced objects when serializing
 
bool m_release: 1
 when set object is treated as being deleted, and wil be deleted in idle time.
 
bool m_recursion_active: 1
 this is used as a recursion stopper
 
bool m_pendingDisconnects: 1
 
unsigned int m_iteratorCount
 
a2dAutoZeroPtr< a2dObject > * m_autozeroptrlist
 this is a list of all a2dAutoZeroPtr object pointing to this object
 

Friends

class a2dPropertyId
 wxProperty is a friend and allowed to use these functions
 
class a2dSmrtPtrBase
 
CloneOptions operator| (CloneOptions a, CloneOptions b)
 

Detailed Description

Ref Counted base object.

Used for counting the number of objects that own this (derived) object.

This object is the base object for most classes which used a2dSmrtPtr to keep track of them.
An instance of a2dObject is held by a a2dObjectPtr, and many of those can point to the same a2dObject.
When the a2dObjectPtr goes out of scope, automatically the reference count will be decremented.
When the last a2dObjectPtr holding on to the a2dObject goes is destructed, the a2dObject will be deleted
too.

Smart pointers are ideal for holding events, since you can hold on to it until you think it is oke to
release them.
In wxDocview smart pointers are used for a2dCanvasObject's, that makes it possible to have a hierarchy of
drawable objects, a multiple references a2dCanvasObject is drawn at a different locations, because its
parent is responsible for its position.


a2dObject has a a2dNamedProperty List containing dynamic properties.
All objects derived from this can have dynamic properties added to them.
For that there is a property list, to which those properties are added.
Functions to manipulate the properties are all concentrated in this class.

A property is a2dNamedProperty class, which are unique via a a2dPropertyId identification class.

Assume that a derived class a2dCanvasObject has:

<code>

declare of static member in the class static const a2dPropertyIdBoundingBox PROPID_BoundingBox;

initialize static member in cpp file const a2dPropertyIdBoundingBox a2dCanvasObject::PROPID_BoundingBox( CLASSNAME( a2dCanvasObject ), wxT("statebox"), a2dPropertyId::flag_temporary|a2dPropertyId::flag_multiple, a2dBoundingBox() );

We can set it like this: a2dBoundingBox updatearea(0,0,100,100); a2dCanvasObject::PROPID_BoundingBox->SetPropertyToObject( a_canvasobject, updatearea ); a2dBoundingBox updatearea2(0,0,100,100); a2dCanvasObject::PROPID_BoundingBox->SetPropertyToObject( a_canvasobject, updatearea2 );

see a2dPropertyId a2dPropertyIdTyped for more.

\remark Little is needed to make it carbage collected.
\remark Specilized memeory allocation is possible e.g like in a2dFill with a2dMemManager
\remark And debugging on id, helps a lot.

Definition at line 1045 of file gen.h.

Member Enumeration Documentation

options for cloning

a2dObject is reference counted, and therefore each object can have more then one owner. For this reason there are many ways to clone a tree of nested a2dObject's. The options here are meant to stear this clone process for nested childs and/or properties. Although a a2dObject by itself does not have properties nor child objects, the idea is that in derived objects there will be such a structure, a2dObject and a2dCanvasObject to start with.

Enumerator
clone_members 

if set, clone members (e.g. line end styles), otherwise ref-copy them

clone_properties 

if set, clone properties (e.g. fill style), otherwise ref-copy them

clone_childs 

if set, clone childs, otherwise ref-copy them

clone_unused 

use this for new future flag

clone_setoriginal 

if set, set in the clone the PROPID_Original property to the copied object

clone_setoriginal is done recursively, if childs are cloned

clone_seteditcopy 

if set, set in the clone the PROPID_editcopy property to the original object

clone_seteditcopy is NOT done recursively, even if childs are cloned

clone_noReference 

Prevent cloning a reference at a deeper level.

clone_noCameleonRef 

Prevent cloning a a2dCameleon reference at a deeper level.

clone_toDrag 

Hint to clone enough of the object to do proper dragging in graphics.

Definition at line 1200 of file gen.h.

Member Function Documentation

bool a2dObject::AddProperty ( a2dNamedProperty property)
virtual

This function is called by a2dPropertyId to add a property to the list.

Best used via the a2dPropertyId.

Definition at line 1541 of file gen.cpp.

bool a2dObject::AlwaysWriteSerializationId ( ) const
virtual

If true, always write an id.

Usually an id is only written if the object is multiple referenced and refcount is >= 2. Some objects, namely a2dPin objects, are multiple referenced even if refcount = 1.

Reimplemented in a2dPin.

Definition at line 1455 of file gen.cpp.

void a2dObject::CheckReferences ( )

Check zero reference count and delete if count is 0.

This is usefull if a reference counted object was never owned. Then the reference counter is always 0 and Release will never be called. As not all pointers (e.g. temporary, paramaters) call Own, this may happen.

Definition at line 1280 of file gen.cpp.

void a2dObject::ConnectEvent ( wxEventType  type,
wxEvtHandler *  eventSink 
)

Connect an event from coming classA to classB as a dynamic event. The event is handled by calling ProcessEvent(), but will always be skipped.

Parameters
eventSinkClassB in which to receive the event.

Definition at line 876 of file gen.cpp.

bool a2dObject::DisconnectEvent ( wxEventType  type,
wxEvtHandler *  eventSink 
)

Disconnect an event from classA to classB as a dynamic event. The event is handled by calling ProcessEvent(), but will always be skipped.

Parameters
eventSinkClassB in to which connection was made.

Definition at line 902 of file gen.cpp.

bool a2dObject::DisconnectEventAll ( wxEvtHandler *  eventSink)

Remove all dynamic events in classA, going to classB (eventSink)

wxCHECK_VERSION(2,9,0)

Definition at line 1021 of file gen.cpp.

virtual bool a2dObject::DoIgnoreIfNotMember ( const a2dPropertyId id) const
inlineprotectedvirtual

used to decide if a property shall be ignored, if it is not a member

The base class definition ignores all ids, that have the "flag_onlymember" set Derived classes might want to check the flag_onlymemberhint or specific ids.

Definition at line 1393 of file gen.h.

void a2dObject::DoWalker ( wxObject *  parent,
a2dWalkerIOHandler handler 
)
protectedvirtual

iterate over this object and its children

This function allows you to extend the functionality of all a2dObject classes in a a2dDocument, without adding extra members to these objects.

Default functions are called on the a2dWalkerIOHandler, which redirect the calls to other functions based on this object its classname. On can register classes to a2dWalkerIOHandler or derived classes. This way for each unique object in the document there can be a function in a2dWalkerIOHandler.

Returns
false if some object did not have a function attached via a2dWalkerIOHandler.

See a2dWalkerIOHandler for more.

Reimplemented in a2dCanvasObject, a2dEndsEllipticChord, a2dEndsLine, a2dBarCurve, a2dCameleonSymbolicRef, a2dCameleon, a2dDrawing, a2dCanvasXYDisplayGroupAreas, a2dBuildIn, a2dMarkerShow, a2dDiagram, a2dPolylineL, a2dCurvesAreaList, a2dRectWindowT2, a2dNameReference, a2dCameleonInst, a2dMarker, a2dExternalReference, a2dLibraryReference, a2dAxisMarker, a2dCurvesArea, a2dCurveGroupLegend, a2dWidgetButton, a2dDrawingFrame, a2dCanvasObjectReference, and a2d3DShape.

Definition at line 1488 of file gen.cpp.

bool a2dObject::EditProperties ( const a2dPropertyId id,
bool  withUndo = true 
)
virtual

edit properties of the object

Parameters
idIf property id is set only matching properties are selected
withUndoIf true, the changes can be undone later.

Reimplemented in a2dCanvasObject.

Definition at line 1499 of file gen.cpp.

a2dNamedProperty * a2dObject::FindProperty ( const a2dPropertyId id,
a2dPropertyId::Flags  flags = a2dPropertyId::flag_none 
)
virtual

Find a dynamic property with given id in the property list.

Searches the Properties stored in the dynamic property list of a a2dObject, not the member properties.

Definition at line 1547 of file gen.cpp.

const a2dNamedProperty * a2dObject::FindProperty ( const a2dPropertyId id,
a2dPropertyId::Flags  flags = a2dPropertyId::flag_none 
) const
virtual

Find a dynamic property with given id in the property list.

Searches the Properties stored in the dynamic property list of a a2dObject, not the member properties.

Definition at line 1560 of file gen.cpp.

a2dAutoZeroPtr<a2dObject>** a2dObject::GetAutoZeroPtrList ( )
inline

return the list head pointer for autozero pointers to this object

This is a void pointer, because there might be auto zero pointers of various different types (for derived classes) pointing to this object, so a strictly typed pointer isn't possible anyway

Definition at line 1359 of file gen.h.

wxString a2dObject::GetName ( ) const
virtual

Returns the name of this object, if no name is given the internal id will be returned.

Gives the name of the object in string form, or when the a2dStringProperty PROPID_Name is set, its value will be returned

Remarks
Don't rely on the internal id, because it's a temporary value. If you want to save this value, it's more secure to set a name because the name can be persistent instead of the internal id.
See Also
SetName
a2dObject::GetId

Reimplemented in a2dPin, a2dCommand, a2dXMLTag, a2dLayerInfo, and a2dHandle.

Definition at line 1310 of file gen.cpp.

int a2dObject::GetOwnedBy ( )
inline

like it to be protected, but this does not work with wxList macros

used together with wxObject debug possibility, sent a string containing m_id to the output stream. get the reference count, how many owners/references are made to this object.

normally the object should only be deleted is the refcount is 0, which means that is not longer owned by any other object. Use Release() For that.

Definition at line 1173 of file gen.h.

a2dNamedProperty * a2dObject::GetProperty ( const a2dPropertyId propertyId,
a2dPropertyId::Flags  flags = a2dPropertyId::flag_none 
) const

get property on this object

If the propertyId has member or member function pointers, that will be used to get the value. Else the property list will be searched for the right propertyId. In any case the value of the property is wrapped into a new a2dNamedProperty, which is returned. You must delete the returned object yourself.

Definition at line 1590 of file gen.cpp.

const a2dNamedPropertyList& a2dObject::GetPropertyList ( ) const
inline

Get the Property List.

Returns a reference to the propertylist

Definition at line 1510 of file gen.h.

bool a2dObject::GetRelease ( ) const
inline

get release flag

If this flag is set, the object will be released on the next update

Definition at line 1350 of file gen.h.

wxInt64 a2dObject::GetUniqueSerializationId ( ) const

return a unique id for this object

The id is derived from the address

Definition at line 1450 of file gen.cpp.

wxURI a2dObject::GetURI ( ) const

quick way to get to PROPID_URI property

Returns
if no property PROPID_URI is available the return string is empty else it is the string containing the complete URL.

Definition at line 1650 of file gen.cpp.

bool a2dObject::HasProperty ( const a2dPropertyId id,
const wxString &  stringvalue = wxEmptyString 
) const
virtual

Check if the object has a property with given id and string representation.

first the a check is done if the given id is valid for this object. If yes, the property value is retrieved and the stringvalue checked. If the property id dynamic, and not set, false is returned. If stringvalue is an empty string, only availability of the property is checked.

Definition at line 1621 of file gen.cpp.

bool a2dObject::LinkReference ( a2dObject other)
virtual

link a reference in the object to the given value

This is intended for e.g. paired links as in a2dPin, where the usual a2dResolveIdInfo mechanism cannot be used.

Reimplemented in a2dCameleonSymbolicRef, a2dDrawing, a2dPin, a2dNameReference, a2dCameleonInst, a2dParPin, and a2dCanvasObjectReference.

Definition at line 1460 of file gen.cpp.

void a2dObject::Load ( wxObject *  parent,
a2dIOHandlerXmlSerIn parser 
)
virtual

load object from CVG file

Parameters
parentparent object from where this was called.
parserbasic pull parser for XML content

Reimplemented in a2dDocument, a2dDrawing, and a2dCanvasDocument.

Definition at line 1396 of file gen.cpp.

void a2dObject::LoadFromDocument ( a2dIOHandlerXmlSerIn parser)

Load this object and all below from an XML document.

a2dWalker_SetBoolProperty setp( PROPID_Check, false ); setp.Start( this ); a2dIOHandlerXmlSerIn parser; SaveAsDocument( parser );

Definition at line 1385 of file gen.cpp.

void a2dObject::OnPropertyChanged ( const a2dPropertyId id)
virtual

This function is called after a property changed.

This is overloaded to set e.g. a pending flag

Reimplemented in a2dDrawingPart.

Definition at line 1635 of file gen.cpp.

void a2dObject::ProcessConnectedEvent ( wxEvent &  event)

wxCHECK_VERSION(2,9,0)

Used to connect an event coming from classA to classB as a dynamic event. The dynamic can be handled by the static event table of classB. The event is handled by calling ProcessEvent(), but will always be skipped.

Definition at line 855 of file gen.cpp.

bool a2dObject::RemoveProperty ( const a2dPropertyId id,
bool  all = true 
)
virtual

This function is called by a2dPropertyId to remove a property from the list.

The base class implementation does nothing

Definition at line 1573 of file gen.cpp.

void a2dObject::ResolveInform ( )
virtual

inform an object that reference resolution was done

This is intended for objects that need to do something with loaded objects

Definition at line 1467 of file gen.cpp.

void a2dObject::Save ( wxObject *  parent,
a2dIOHandlerXmlSerOut out,
a2dObjectList towrite 
)
virtual

write all needed to an XML type of file called the CVG format

Parameters
parentparent object from where this was called.
outXML io handler
towritenested object to write later.

Reimplemented in a2dDocument, and a2dCanvasDocument.

Definition at line 1343 of file gen.cpp.

void a2dObject::SaveAsDocument ( a2dIOHandlerXmlSerOut out)

Save this object and all below as an XML document.

    <code>

check flag is used for writing once an object which is referenced many times a2dWalker_SetCheck setp( false ); setp.Start( m_rootObject ); setp.Start( m_layersetup ); a2dIOHandlerXmlSerOut out; SaveAsDocument( out );

Definition at line 1321 of file gen.cpp.

void a2dObject::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 1339 of file gen.h.

void a2dObject::SetName ( const wxString &  name)
virtual

Creates the a2dStringProperty PROPID_Name.

If set, the name will be returned for GetName() from now on.

Parameters
namename to be set for the object

Reimplemented in a2dPin, a2dPort, a2dLayerInfo, and a2dHandle.

Definition at line 1305 of file gen.cpp.

a2dObject * a2dObject::SetNonDynamic ( )
virtual

Call to mark this object as non-dynamic (static/local/auto)

Used to have an a2dObject as a non pointer/smart pointer.

Returns
The return value is the object itself.
Remarks
You need NOT call Release, but you must destruct the object (usually automatic)

Definition at line 1298 of file gen.cpp.

void a2dObject::SetProperty ( a2dNamedProperty propertyHolder,
a2dPropertyId::SetFlags  flags = a2dPropertyId::set_none 
)

Set the property to the this object.

The a2dNamedProperty to set to the object as indicated by its a2dPropertyId, is used as as, or the value is taken from it and assigned to something in the object and the property is deleted itself in the end.

  • The property given will be owned by the object or deleted, so you must give a new or cloned property
  • Derived class versions of this function might redirect to a different object (wxHierarchicalId)
  • This is the recommended function for setting a property object in/to a target object
  • Typed derived classes supply a SetPropertyToObject function that takes a value. That is the prefered method.

Definition at line 1605 of file gen.cpp.

void a2dObject::SetProperty ( const a2dNamedProperty propertyHolder,
a2dPropertyId::SetFlags  flags = a2dPropertyId::set_none 
)

Set the property to the this object and if enabled, to all childs and object members.

The a2dNamedProperty to set to the object as indicated by this a2dPropertyId is cloned and like that added to the object, or the value is taken from it and assigned to something in the object.

  • The property given will NOT be owned by the object or deleted. You can give a temporary object. If required, the property will be cloned.
  • Derived class versions of this function might redirect to a different object (wxHierarchicalId)
  • This is the recommended function for setting a property object in/to a target object
  • Typed derived classes supply a SetPropertyToObject function that takes a value. This is the prefered method.

Definition at line 1613 of file gen.cpp.

void a2dObject::SetRelease ( bool  value)
inline

set release flag

If this flag is set, the object will be released on the next update

Definition at line 1346 of file gen.h.

void a2dObject::SetURI ( const wxURI &  url)

quickly set a property PROPID_URI

This function stores an url string within a property called PROPID_URI When writing to SVG (scalable vector graphics), it is translated to the tag. This tag is for linking to other svg content or HTML etc. See SVG specification, for a complete overview.

Parameters
urla string containing a complete url ex: "xlink:href="http://www.w3.org"" ex: "href="http://www.w3.org" ex: "mydrawing.svg::myid"

Definition at line 1645 of file gen.cpp.

void a2dObject::TakeOverProperties ( a2dObject from,
a2dPropertyIdList listOfIds 
)

Properties in the id list are taken from the given object, en set to this.

If some id in the list is not found in this or the other object, it will be skipped.

Definition at line 1527 of file gen.cpp.


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