wxArt2D
|
Connect objects, which can connect to the given object. More...
#include <algos.h>
Public Member Functions | |
a2dWalker_ConnectToPinsObject (a2dCanvasObjectFlagsMask which, a2dCanvasObject *connectObject, a2dConnectTask connectTask, double margin) | |
void | Initialize () |
used from constructors | |
bool | Start (a2dCanvasObject *top, bool alsoWires=false) |
![]() | |
a2dWalker_FilterCanvasObjects (a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL) | |
constructor with no a2dPropertyId added yet. For that use AddPropertyId() | |
a2dWalker_FilterCanvasObjects (const a2dPropertyId *id, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL) | |
constructor with a2dPropertyId added to the propertyIsList to search for. | |
a2dWalker_FilterCanvasObjects (const a2dPropertyIdList &idList, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL) | |
constructor with the propertyIdList to search for as input | |
void | AddPropertyId (const a2dPropertyId *id) |
add a a2dPropertyId to the list | |
bool | Start (a2dCanvasObject *object) |
void | AddClassName (wxString className) |
add to classname to set of classes to be filtered. | |
void | RemoveClassName (wxString className) |
remove this classname from set. | |
void | SetAllowClassList (bool allow) |
bool | GetAllowClassList () |
void | SetObjectName (const wxString &objectname=wxT("")) |
if not empty, objects must have this name | |
void | SetUniqueSerializationId (wxInt64 id) |
if not 0, objects must have this UniqueSerializationId | |
void | SetBoundingBox (const a2dBoundingBox &bbox) |
if valid, objects must fit in this boundingbox | |
void | SetBoundingBoxCondition (wxUint16 intersectionCondition) |
if boundingbox is set, the object is testen against this condition, default _IN | |
void | SetRecursionDepth (int depth=INT_MAX) |
how far we go into nested a2dObject's | |
void | SetCheckLayerVisible (bool check) |
if set, layer which the object is on must be visible | |
void | SetCheckLayerSelectable (bool check) |
if set, layer which the object is on must be selectable | |
void | SetSkipStart (bool skip) |
if set, the start object will be skipped | |
![]() | |
a2dWalkerIOHandler () | |
constructor | |
~a2dWalkerIOHandler () | |
destructor | |
wxString | GetErrorString () |
get this when an error occured. | |
void | SetStopWalking (bool stopWalking) |
to further recursion, e.g. in a2dObject::Walker() | |
bool | GetStopWalking () |
check for stop | |
void | IncCurrentDepth () |
Increment recursion depth. | |
void | DecCurrentDepth () |
Decrement recursion depth. | |
int | GetCurrentDepth () |
What is the current recursion depth. | |
void | SetDepthFirst (bool depthFirst) |
set if walker needs to go into recursive objects first. | |
bool | GetDepthFirst () |
What is the current recursion depth. | |
void | SetUseCheck (bool useCheck) |
set if walker needs to check objects for a2dObject::m_check set, before walking into it | |
bool | GetUseCheck () |
see SetUseCheck | |
void | Register (const wxString &classname, a2dObjectIOFn *IOfunc) |
to register a function to handle a class | |
void | Unregister (const wxString &classname) |
to Un-register a function to handle a class | |
virtual bool | WalkTask (wxObject *parent, wxObject *object, a2dWalkEvent event) |
called from within a2dObject's and derived classes More... | |
wxObject * | GetParent () |
bool | GetSkipNotRenderedInDrawing () const |
void | SetSkipNotRenderedInDrawing (bool skipNotRenderedInDrawing) |
bool | GetResult () |
depending upon derived class implementation. | |
![]() | |
a2dIOHandler () | |
constructor | |
~a2dIOHandler () | |
destructor | |
virtual wxObject * | CreateObject (const wxString &symbolicName) |
Creates an specific object by name. More... | |
![]() | |
a2dRefMap () | |
constructor | |
~a2dRefMap () | |
destructor | |
a2dHashMapIntToObject & | GetObjectHashMap () |
This is used to find multiple referenced objects by id. | |
a2dHashMapCreateObject & | GetObjectCreateHashMap () |
has to map symbolic names to real classnames. | |
a2dResolveIdList & | GetResolveIdList () |
list of not resolved objects | |
bool | ResolveOrAdd (a2dSmrtPtr< a2dObject > *storedHere, const wxString &id=wxT("")) |
try to resolve the object that is in storedHere when it is a reference. More... | |
bool | ResolveOrAdd (a2dAutoZeroPtr< a2dObject > *storedHere, const wxString &id=wxT("")) |
try to resolve the object that is in storedHere when it is a reference. | |
bool | ResolveOrAddLink (a2dObject *obj, const wxString &id=wxT("")) |
try to resolve an object referenced by obj using the LinkReference function | |
void | ResolveInform (a2dObject *obj) |
call the objects LinkReference function (ptr=0) to inform it that links are done | |
void | SetLastObjectLoadedId (const wxString &lastid) |
set by RefObject when finding a reference id during loading. | |
virtual bool | LinkReferences (bool ignoreNonResolved=false) |
link references to their destination More... | |
bool | RemoveReference (const wxString &idToRemove) |
remove given reference if from reference map. | |
a2dError | GetLastError () const |
get last error encountered | |
void | SetLastError (a2dError error) |
set last error encountered | |
![]() | |
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 a2dObject * | SetNonDynamic () |
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... | |
a2dObject * | Clone (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 () | |
a2dNamedProperty * | GetProperty (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 a2dNamedProperty * | FindProperty (const a2dPropertyId *id, a2dPropertyId::Flags flags=a2dPropertyId::flag_none) |
Find a dynamic property with given id in the property list. More... | |
virtual const a2dNamedProperty * | FindProperty (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 a2dNamedPropertyList & | GetPropertyList () 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... | |
Additional Inherited Members | |
![]() | |
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< a2dObject > | TAutoZeroPtrListClass |
this is needed inside the smart pointer template code | |
![]() | |
a2dPropertyIdList | m_propertyList |
if not empty, object must have the properties in this list | |
a2dCanvasObjectFlagsMask | m_mask |
object must fit this mask. | |
set< wxString > | m_classnameMap |
list of classnames to be filtered | |
wxString | m_objectname |
name for object is not empty | |
wxInt64 | m_id |
wanted id | |
int | m_depth |
wanted depth | |
a2dBoundingBox | m_bbox |
object must be in this box if it the box is valid | |
wxUint16 | m_intersectionCondition |
test m_bbox against teh object in question for this condition | |
bool | m_layervisible |
if set, the layer must be visible | |
bool | m_layerselectable |
if set, the layer must be selectable | |
bool | m_skipStartObject |
the start object itself is not checked | |
bool | m_allowClassList |
to negate list of classnames to be filtered | |
![]() | |
static a2dPropertyIdBool * | PROPID_Check = NULL |
used for linking multiple referenced objects when serializing | |
static a2dPropertyIdUri * | PROPID_URI = NULL |
attach an URL to the object | |
static a2dPropertyIdString * | PROPID_Name = NULL |
Name property, to return name of this object. | |
static a2dPropertyIdVoidPtr * | PROPID_autozeroptrlist = NULL |
static const a2dSignal | sm_Edit_properties = wxNewId() |
edit properties event, see EditProperties() | |
![]() | |
enum | { refcount_nondynamic = 0x76543210 } |
special refcount value for non-dynamic objects | |
![]() | |
a2dCanvasObjectList * | ConvertToPolygons (a2dCanvasObject *canvasobject, bool transform) |
a2dCanvasObjectList * | ConvertToVpath (a2dCanvasObject *canvasobject, bool transform) |
bool | ObjectOke (a2dCanvasObject *obj) |
return true if object fits the filter | |
bool | ClassOfObjectOke (a2dCanvasObject *obj) |
return true of object fits the classname filter | |
![]() | |
virtual bool | DoIgnoreIfNotMember (const a2dPropertyId *id) const |
used to decide if a property shall be ignored, if it is not a member More... | |
virtual void | DoWalker (wxObject *parent, a2dWalkerIOHandler &handler) |
iterate over this object and its children More... | |
![]() | |
bool | m_result |
result of walk, set false at start, use at will. | |
wxObject * | m_currentParent |
parent object of current object | |
wxString | m_error |
to store errors | |
bool | m_stopWalking |
quit the iteration | |
int | m_currentDepth |
contour to be used by algorithm, to decide on how deep recursing is to be. | |
bool | m_depthFirst |
bool | m_useCheck |
if set a2dObject are only walked if not m_check is set | |
bool | m_skipNotRenderedInDrawing |
a2dIOHandlerCoupleHash | m_register |
coupling function to event and classname | |
![]() | |
a2dHashMapIntToObject | m_objecthashmap |
This is used to find multiple referenced objects by id. | |
a2dHashMapCreateObject | m_objectCreate |
This is used to find a classname using a symbolic name. | |
a2dResolveIdList | m_toResolve |
refernces to object which have not bin resolved yet ( e.g not read yet, but already referenced ) | |
wxString | m_lastObjectId |
a2dError | m_lastError |
set to last error found when parsing | |
![]() | |
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 | |
Connect objects, which can connect to the given object.
Pins in the given canvas object are tested for possible connection to pins on other objects. Meaning if pins of other objects are at the same position as a pin of the given object, a test done, to see if a connection can be made. If a connection is allowed, a wire is created to connect the objects at the those pins.