wxArt2D
|
specialized generator for flow on one a2dcanvasObject using wires More...
#include <connectgen.h>
Public Member Functions | |
a2dConnectionGeneratorDirectedFlow () | |
constructor | |
~a2dConnectionGeneratorDirectedFlow () | |
destructor | |
virtual a2dPinClass * | GetPinClassForTask (a2dPinClass *pinClass, a2dConnectTask task, a2dCanvasObject *obj=NULL, a2dPinClass *pinClassTo=NULL, a2dPin *pinFrom=NULL) const |
return a a2dPinClass which should be used to connect to the input a2dPinClass. More... | |
![]() | |
a2dConnectionGenerator () | |
constructor | |
~a2dConnectionGenerator () | |
destructor | |
virtual a2dCanvasObject * | CreateConnectObject (a2dCanvasObject *parent, a2dPin *pinThis, a2dPin *pinOther, bool undo=false) const |
create connection object based on two pins which need to be connected. More... | |
virtual a2dCanvasObject * | GetConnectTemplate (const a2dCanvasObject *object, a2dPinClass *thisPinClass, const a2dCanvasObject *other, a2dPinClass *otherPinClass) const |
create connection object based on two pin classes, which (may) need to be connected. More... | |
virtual void | SetPinsToBeginState (a2dCanvasObject *root, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE) |
set begin state of pins, before a tools starts asking feedback or after tool is finsihed | |
virtual void | SetPinsToEndState (a2dCanvasObject *root, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE) |
set end state of pins after tool is finsihed | |
virtual bool | GeneratePossibleConnections (a2dCanvasObject *object, a2dPinClass *pinClass, a2dConnectTask task, double x, double y, double margin) const |
generate temporary pins to which objects can connect More... | |
a2dPinClass * | GetAnyPinClass () const |
return the pin class for GetPinClassForTask( a2dPinClass::Any ) More... | |
void | SetAnyPinClass (a2dPinClass *pinClass) |
see GetAnyPinClass() | |
a2dPinClass * | GetReturnPinClass () const |
a2dCanvasObject * | GetReturnConnect () const |
bool | GetLastConnectCreationDirection () const |
when a wire was created, this return the direction is was created ( first to last pin or visa versa ). | |
virtual bool | GeneratePinsToConnect (a2dDrawingPart *part, a2dCanvasObject *root, a2dPinClass *pinClassToConnectTo, a2dConnectTask task, double xpin, double ypin, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE) |
virtual a2dPin * | SearchPinForFinishWire (a2dCanvasObject *root, a2dPin *pinToConnectTo, a2dPinClass *pinClassToConnectTo, double margin, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE) |
virtual a2dPin * | SearchPinForStartWire (a2dCanvasObject *root, double xpin, double ypin, a2dPinClass *pinClassToConnectTo, double margin, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE) |
virtual bool | GeneratePinsToConnectObject (a2dDrawingPart *part, a2dCanvasObject *root, a2dCanvasObject *connectObject, a2dPinClass *pinClassToConnectTo=NULL, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE) |
Generate pins on objects, and test which can connect to the given object. More... | |
virtual bool | ConnectToPinsObject (a2dCanvasObject *root, a2dCanvasObject *connectObject, double margin, a2dPinClass *pinClassToConnectTo=NULL, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE) |
void | SetConnectObject (a2dCanvasObject *tmplObject) |
the template object is used as a template for creating new wires between pins. More... | |
a2dCanvasObject * | GetConnectObject () const |
return connect object. | |
void | AddRerouteWires (a2dCanvasObjectList *wires, a2dCanvasObject *parentOfWires) |
void | AddRerouteWire (a2dCanvasObject *wire, a2dCanvasObject *parentOfWires) |
void | PrepareForRewire (a2dCanvasObject *parent, a2dCanvasObjectList &dragList, bool walkWires=true, bool selected=false, bool stopAtSelectedWire=false, bool CreateExtraWires=true, a2dBaseTool *tool=NULL, a2dRefMap *refs=NULL) |
void | CreateWiresOnPins (a2dCanvasObject *parent, const a2dCanvasObjectList &objectsToDrag, bool undo, bool onlyNonSelected=false) |
create wires on pins which do not have wires, but directly are connected to other objects. More... | |
void | OptimizeRerouteWires (bool removeZero=false) |
void | ResetCloneBrother () |
Reset clonebrothers. | |
void | ResetPositionsToOrignals () |
void | PrepareForRerouteWires (a2dBaseTool *tool=NULL, a2dRefMap *refs=NULL) |
void | RerouteWires (bool final=false, bool fromOriginal=true) |
void | SetRouteWhenDrag (bool routeWhenDrag) |
route also while dragging object | |
bool | GetRouteWhenDrag () |
route also while dragging object | |
void | SetRouteMethod (RouteMethod routing) |
set the way routing will be done | |
RouteMethod | GetRouteMethod () |
wxString | GetRouteMethodAsString () |
void | RotateRouteMethod () |
cycle through routing methods | |
void | SetAllowRedirect (bool allowredirect) |
bool | GetAllowRedirect () |
see SetAllowRedirect() | |
void | SetGeneratePins (bool onOff) |
bool | GetGeneratePins () const |
void | SetNoEditCopy (bool noEditCopy) |
bool | GetNoEditCopy () |
void | SetOffSet (double offset) |
double | GetOffSet () const |
![]() | |
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... | |
Static Public Attributes | |
static a2dPinClass * | ObjectInput = NULL |
Pins of this class can only connect to WireInput pins. | |
static a2dPinClass * | ObjectOutput = NULL |
Pins of this class can only connect to WireOutput pins. | |
static a2dPinClass * | WireInput = NULL |
Pins of this class can only connect to ObjectInput pins. | |
static a2dPinClass * | WireOutput = NULL |
Pins of this class can only connect to ObjectOutput pins. | |
![]() | |
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() | |
Protected Member Functions | |
virtual a2dObject * | Clone (CloneOptions options) const |
Some stuff needed by the ref counting base class. | |
![]() | |
void | EndManhattanRoute (a2dPin *pin, a2dLineSegment *seg1, a2dLineSegment *seg2, a2dLineSegment *seg3, a2dVertexList *points, bool reverse) |
![]() | |
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... | |
Additional Inherited Members | |
![]() | |
enum | RouteMethod { StraightSegment, StraightEndSegment, GridRouting, StraightEndSegmentUnlessPins, StraightSegmentUnlessPins, ManhattanSegments, ManhattanEndSegments, ManhattanEndSegmentsStay, ManhattanEndSegmentsConvertAndStay } |
![]() | |
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 | |
![]() | |
enum | { refcount_nondynamic = 0x76543210 } |
special refcount value for non-dynamic objects | |
![]() | |
a2dCanvasObjectList * | m_wires |
a2dCanvasObjectList * | m_wiresEditCopies |
bool | m_routeWhenDrag |
RouteMethod | m_routeMethod |
a2dCanvasObjectPtr | m_tmplObject |
Template for created object which represents a connection. e.g a2dWirePolylineL. | |
a2dPinClass * | m_returnPinClass |
a2dCanvasObject * | m_returnConnect |
a2dPinClass * | m_anypinclass |
template pinclass | |
bool | m_reverseCreate |
how to create a connection | |
bool | m_allowredirect |
bool | m_generatePins |
double | m_offset |
![]() | |
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 | |
specialized generator for flow on one a2dcanvasObject using wires
This a2dConnectionGenerator can be set to a a2dPinClass, and will be called from there.
Definition at line 499 of file connectgen.h.
|
virtual |
return a a2dPinClass which should be used to connect to the input a2dPinClass.
The connection generator searches for a possible connection to the input a2dPinClass in combination with the canvasobject obj if needed.
pinClass | pin class for which to search a connecting PinClass |
task | for what purpose is the connection needed |
obj | object for which pins are checked / needed. |
Reimplemented from a2dConnectionGenerator.
Definition at line 2487 of file connectgen.cpp.