wxArt2D
|
specialized generator for two flow on one a2dcanvasObject More...
#include <connectgen.h>
Public Member Functions | |
a2dConnectionGeneratorTwoFlow () | |
constructor | |
~a2dConnectionGeneratorTwoFlow () | |
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... | |
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... | |
void | SetConnectObjectFlowB (a2dCanvasObject *tmplObject) |
the template object is used as a template for creating new wires between pins. More... | |
a2dCanvasObject * | GetConnectObjectFlowB () const |
return connect object. | |
![]() | |
a2dConnectionGenerator () | |
constructor | |
~a2dConnectionGenerator () | |
destructor | |
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 * | FlowAInput = NULL |
Pins of this class can only connect to FlowAWireOutput and FlowAOutput pins. | |
static a2dPinClass * | FlowAOutput = NULL |
Pins of this class can only connect to FlowAWireInput and FlowAInput pins. | |
static a2dPinClass * | FlowAWireInput = NULL |
Pins of this class can only connect to FlowAWireOutput and FlowAOutput pins. | |
static a2dPinClass * | FlowAWireOutput = NULL |
Pins of this class can only connect to FlowAInput and FlowAWireInput pins. | |
static a2dPinClass * | FlowBInput = NULL |
Pins of this class can only connect to FlowBWireOutput and FlowBOutput pins. | |
static a2dPinClass * | FlowBOutput = NULL |
Pins of this class can only connect to FlowBWireInput and FlowBInput pins. | |
static a2dPinClass * | FlowBWireInput = NULL |
Pins of this class can only connect to FlowBWireOutput and FlowBOutput pins. | |
static a2dPinClass * | FlowBWireOutput = NULL |
Pins of this class can only connect to FlowBInput and FlowBWireInput 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... | |
Protected Attributes | |
a2dCanvasObjectPtr | m_tmplObjectFlowB |
Template for created object which represents a connection. e.g a2dWirePolylineL. | |
![]() | |
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 | |
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 | |
specialized generator for two flow on one a2dcanvasObject
This a2dConnectionGenerator can be set to a a2dPinClass, and will be called from there.
Definition at line 539 of file connectgen.h.
|
virtual |
create connection object based on two pins which need to be connected.
Called from the default a2dCanvasObject::CreateConnectObject(), in order to easily change the behaviour of standard objects concerning possible connections. The returned object is a (connection) object (e.g. a2dWirePolylineL ), with correct pins at the position of pinThis and pinOther. The pins are connected already. When undo is true, the right commands are sent to the document its command processor. In general this means those commands are part of a group of commands in a a2dCommandGroup, which internal resulted in a connection being created. For example as a result of dragging an object.
Reimplemented from a2dConnectionGenerator.
Definition at line 2780 of file connectgen.cpp.
|
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 2693 of file connectgen.cpp.
void a2dConnectionGeneratorTwoFlow::SetConnectObjectFlowB | ( | a2dCanvasObject * | tmplObject | ) |
the template object is used as a template for creating new wires between pins.
You can use it for other purposes as well if needed. This is a template for a new wire in FlowB.
Definition at line 2683 of file connectgen.cpp.