wxShapeFramework  1.13.0 beta
wxSFShapeBase Class Reference

Base class for all shapes providing fundamental functionality and publishing set of virtual functions which must be defined by the user in derived shapes. This class shouldn't be used as it is. More...

#include <ShapeBase.h>

Inheritance diagram for wxSFShapeBase:
Collaboration diagram for wxSFShapeBase:

List of all members.

Public Types

enum  BBMODE {
  bbSELF = 1, bbCHILDREN = 2, bbCONNECTIONS = 4, bbSHADOW = 8,
  bbALL = 15
}
 Bit flags for wxSFShapeBase::GetCompleteBoundingBox function. More...
enum  CONNECTMODE { lineSTARTING, lineENDING, lineBOTH }
 Search mode flags for GetAssignedConnections function. More...
enum  VALIGN {
  valignNONE, valignTOP, valignMIDDLE, valignBOTTOM,
  valignEXPAND, valignLINE_START, valignLINE_END
}
 Flags for SetVAlign function. More...
enum  HALIGN {
  halignNONE, halignLEFT, halignCENTER, halignRIGHT,
  halignEXPAND, halignLINE_START, halignLINE_END
}
 Flags for SetHAlign function. More...
enum  STYLE {
  sfsPARENT_CHANGE = 1, sfsPOSITION_CHANGE = 2, sfsSIZE_CHANGE = 4, sfsHOVERING = 8,
  sfsHIGHLIGHTING = 16, sfsALWAYS_INSIDE = 32, sfsDELETE_USER_DATA = 64, sfsPROCESS_DEL = 128,
  sfsSHOW_HANDLES = 256, sfsSHOW_SHADOW = 512, sfsLOCK_CHILDREN = 1024, sfsEMIT_EVENTS = 2048,
  sfsPROPAGATE_DRAGGING = 4096, sfsPROPAGATE_SELECTION = 8192, sfsPROPAGATE_INTERACTIVE_CONNECTION = 16384, sfsNO_FIT_TO_CHILDREN = 32768,
  sfsDEFAULT_SHAPE_STYLE = sfsPARENT_CHANGE | sfsPOSITION_CHANGE | sfsSIZE_CHANGE | sfsHOVERING | sfsHIGHLIGHTING | sfsSHOW_HANDLES | sfsALWAYS_INSIDE | sfsDELETE_USER_DATA
}
 Basic shape's styles used with SetStyle() function. More...

Public Member Functions

 XS_DECLARE_CLONABLE_CLASS (wxSFShapeBase)
 wxSFShapeBase (void)
 Basic constructor.
 wxSFShapeBase (const wxRealPoint &pos, wxSFDiagramManager *manager)
 Enhanced constructor.
 wxSFShapeBase (const wxSFShapeBase &obj)
 Copy constructor.
virtual ~wxSFShapeBase (void)
 Destructor.
void Refresh (bool delayed=false)
 Refresh (redraw) the shape.
virtual void Draw (wxDC &dc, bool children=sfWITHCHILDREN)
 Draw shape. Default implementation tests basic shape visual states (normal/ready, mouse is over the shape, dragged shape can be accepted) and call appropriate virtual functions (DrawNormal, DrawHover, DrawHighlighted) for its visualisation. The function can be overrided if neccessary.
virtual bool Contains (const wxPoint &pos)
 Test whether the given point is inside the shape. The function can be overrided if neccessary.
virtual bool IsInside (const wxRect &rct)
 Test whether the shape is completely inside given rectangle. The function can be overrided if neccessary.
virtual bool Intersects (const wxRect &rct)
 Test whether the given rectangle intersects the shape.
virtual wxRealPoint GetAbsolutePosition ()
 Get the shape's absolute position in the canvas (calculated as a sumation of all relative positions in the shapes' hierarchy. The function can be overrided if neccessary.
virtual wxRealPoint GetBorderPoint (const wxRealPoint &start, const wxRealPoint &end)
 Get intersection point of the shape border and a line leading from 'start' point to 'end' point. Default implementation does nothing. The function can be overrided if neccessary.
virtual wxRealPoint GetCenter ()
 Get shape's center. Default implementation does nothing. The function can be overrided if neccessary.
virtual void CreateHandles ()
 Function called by the framework responsible for creation of shape handles at the creation time. Default implementation does nothing. The function can be overrided if neccesary.
void ShowHandles (bool show)
 Show/hide shape handles. Hidden handles are inactive.
void SetStyle (long style)
 Set shape's style.
long GetStyle () const
 Get current shape style.
void AddStyle (STYLE style)
void RemoveStyle (STYLE style)
bool ContainsStyle (STYLE style) const
void GetChildShapes (wxClassInfo *type, ShapeList &children, bool recursive=false, xsSerializable::SEARCHMODE mode=xsSerializable::searchBFS)
 Get child shapes associated with this (parent) shape.
void GetNeighbours (ShapeList &neighbours, wxClassInfo *shapeInfo, CONNECTMODE condir, bool direct=true)
 Get neighbour shapes connected to this shape.
void GetAssignedConnections (wxClassInfo *shapeInfo, wxSFShapeBase::CONNECTMODE mode, ShapeList &lines)
 Get list of connections assigned to this shape.
virtual wxRect GetBoundingBox ()
 Get shapes's bounding box. The function can be overrided if neccessary.
void GetCompleteBoundingBox (wxRect &rct, int mask=bbALL)
 Get shape's bounding box which includes also associated child shapes and connections.
virtual void Scale (double x, double y, bool children=sfWITHCHILDREN)
 Scale the shape size by in both directions. The function can be overrided if necessary (new implementation should call default one ore scale shape's children manualy if neccesary).
void Scale (const wxRealPoint &scale, bool children=sfWITHCHILDREN)
 Scale the shape size by in both directions.
void ScaleChildren (double x, double y)
 Scale shape's children.
virtual void MoveTo (double x, double y)
 Move the shape to the given absolute position. The function can be overrided if necessary.
void MoveTo (const wxRealPoint &pos)
 Move the shape to the given absolute position.
virtual void MoveBy (double x, double y)
 Move the shape by the given offset. The function can be overrided if neccessary.
void MoveBy (const wxRealPoint &delta)
 Move the shape by the given offset.
void DoAlignment ()
 Update the shape's position in order to its alignment.
virtual void Update ()
 Upate shape (align all child shapes an resize it to fit them)
virtual void FitToChildren ()
 Resize the shape to bound all child shapes. The function can be overrided if neccessary.
bool IsSelected () const
 Function returns TRUE if the shape is selected, otherwise returns FALSE.
void Select (bool state)
 Set the shape as a selected/deselected one.
void SetRelativePosition (const wxRealPoint &pos)
 Set shape's relative position. Absolute shape's position is then calculated as a sumation of the relative positions of this shape and all parent shapes in the shape's hierarchy.
void SetRelativePosition (double x, double y)
 Set shape's relative position. Absolute shape's position is then calculated as a sumation of the relative positions of this shape and all parent shapes in the shape's hierarchy.
wxRealPoint GetRelativePosition () const
 Get shape's relative position.
void SetVAlign (VALIGN val)
 Set vertical alignment of this shape inside its parent.
VALIGN GetVAlign () const
 Get vertical alignment of this shape inside its parent.
void SetHAlign (HALIGN val)
 Set horizontal alignment of this shape inside its parent.
HALIGN GetHAlign () const
 Get horizontal alignment of this shape inside its parent.
void SetVBorder (double border)
 Set vertical border between this shape and its parent (is vertical alignment is set).
double GetVBorder () const
 Get vertical border between this shape and its parent (is vertical alignment is set).
void SetHBorder (double border)
 Set horizontal border between this shape and its parent (is horizontal alignment is set).
double GetHBorder () const
 Get horizontal border between this shape and its parent (is horizontal alignment is set).
void SetCustomDockPoint (int dp)
 Set custom dock point used if the shape is child shape of a line shape.
int GetCustomDockPoint ()
 Get custom dock point used if the shape is child shape of a line shape.
wxSFShapeBaseGetParentShape ()
 Get pointer to a parent shape.
wxSFShapeBaseGetGrandParentShape ()
 Get pointer to the topmost parent shape.
bool IsAncestor (wxSFShapeBase *child)
 Determine whether this shape is ancestor of given child shape.
bool IsDescendant (wxSFShapeBase *parent)
 Determine whether this shape is descendant of given parent shape.
void SetUserData (xsSerializable *data)
 Associate user data with the shape.
xsSerializableGetUserData ()
 Get associated user data.
wxSFDiagramManagerGetShapeManager ()
 Get shape's parent diagram manager.
wxSFShapeCanvasGetParentCanvas ()
 Get shape's parent canvas.
bool IsVisible () const
 Get the shape's visibility status.
void Show (bool show)
 Show/hide shape.
void SetHoverColour (const wxColour &col)
 Set shape's hover color.
wxColour GetHoverColour () const
 Get shape's hover color.
bool IsActive () const
 Function returns value of a shape's activation flag.
void Activate (bool active)
 Shape's activation/deactivation.
bool IsChildAccepted (const wxString &type)
 Tells whether the given shape type is accepted by this shape (it means whether this shape can be its parent).
bool AcceptCurrentlyDraggedShapes ()
 Function returns TRUE if all currently dragged shapes can be accepted as children of this shape.
void AcceptChild (const wxString &type)
 Add given shape type to an acceptance list. The acceptance list contains class names of the shapes which can be accepted as children of this shape. Note: Keyword 'All' behaves like any class name.
wxArrayString & GetAcceptedChildren ()
 Get shape types acceptance list.
bool IsConnectionAccepted (const wxString &type)
 Tells whether the given connection type is accepted by this shape (it means whether this shape can be connected to another one by a connection of given type).
void AcceptConnection (const wxString &type)
 Add given connection type to an acceptance list. The acceptance list contains class names of the connection which can be accepted by this shape. Note: Keyword 'All' behaves like any class name.
wxArrayString & GetAcceptedConnections ()
 Get connection types acceptance list.
bool IsSrcNeighbourAccepted (const wxString &type)
 Tells whether the given shape type is accepted by this shape as its source neighbour(it means whether this shape can be connected from another one of given type).
void AcceptSrcNeighbour (const wxString &type)
 Add given shape type to an source neighbours' acceptance list. The acceptance list contains class names of the shape types which can be accepted by this shape as its source neighbour. Note: Keyword 'All' behaves like any class name.
wxArrayString & GetAcceptedSrcNeighbours ()
 Get source neighbour types acceptance list.
bool IsTrgNeighbourAccepted (const wxString &type)
 Tells whether the given shape type is accepted by this shape as its target neighbour(it means whether this shape can be connected to another one of given type).
void AcceptTrgNeighbour (const wxString &type)
 Add given shape type to an target neighbours' acceptance list. The acceptance list contains class names of the shape types which can be accepted by this shape as its target neighbour. Note: Keyword 'All' behaves like any class name.
wxArrayString & GetAcceptedTrgNeighbours ()
 Get target neighbour types acceptance list.
void ClearAcceptedChilds ()
 Clear shape object acceptance list.
void ClearAcceptedConnections ()
 Clear connection object acceptance list.
void ClearAcceptedSrcNeighbours ()
 Clear source neighbour objects acceptance list.
void ClearAcceptedTrgNeighbours ()
 Clear target neighbour objects acceptance list.
HandleList & GetHandles ()
 Get list of currently assigned shape handles.
wxSFShapeHandleGetHandle (wxSFShapeHandle::HANDLETYPE type, long id=-1)
 Get shape handle.
void AddHandle (wxSFShapeHandle::HANDLETYPE type, long id=-1)
 Add new handle to the shape.
void RemoveHandle (wxSFShapeHandle::HANDLETYPE type, long id=-1)
 Remove given shape handle (if exists).
ConnectionPointListGetConnectionPoints ()
 Get reference to connection points list.
wxSFConnectionPointGetConnectionPoint (wxSFConnectionPoint::CPTYPE type, long id=-1)
 Get connection point of given type assigned to the shape.
wxSFConnectionPointGetNearestConnectionPoint (const wxRealPoint &pos)
 Get connection point closest to the diven position.
void AddConnectionPoint (wxSFConnectionPoint::CPTYPE type, bool persistent=true)
 Assign connection point of given type to the shape.
void AddConnectionPoint (wxSFConnectionPoint *cp, bool persistent=true)
 Assigned given connection point to the shape.
void AddConnectionPoint (const wxRealPoint &relpos, long id=-1, bool persistent=true)
 Assign custom connection point to the shape.
void RemoveConnectionPoint (wxSFConnectionPoint::CPTYPE type)
 Remove connection point of given type from the shape (if pressent).
virtual void OnLeftClick (const wxPoint &pos)
 Event handler called when the shape is clicked by the left mouse button. The function can be overrided if necessary.
virtual void OnRightClick (const wxPoint &pos)
 Event handler called when the shape is clicked by the right mouse button. The function can be overrided if necessary.
virtual void OnLeftDoubleClick (const wxPoint &pos)
 Event handler called when the shape is double-clicked by the left mouse button. The function can be overrided if necessary.
virtual void OnRightDoubleClick (const wxPoint &pos)
 Event handler called when the shape is double-clicked by the right mouse button. The function can be overrided if necessary.
virtual void OnBeginDrag (const wxPoint &pos)
 Event handler called at the begining of the shape dragging process. The function can be overrided if necessary.
virtual void OnDragging (const wxPoint &pos)
 Event handler called during the shape dragging process. The function can be overrided if necessary.
virtual void OnEndDrag (const wxPoint &pos)
 Event handler called at the end of the shape dragging process. The function can be overrided if necessary.
virtual void OnBeginHandle (wxSFShapeHandle &handle)
 Event handler called when the user started to drag the shape handle. The function can be overrided if necessary.
virtual void OnHandle (wxSFShapeHandle &handle)
 Event handler called during dragging of the shape handle. The function can be overrided if necessary.
virtual void OnEndHandle (wxSFShapeHandle &handle)
 Event handler called when the user finished dragging of the shape handle. The function can be overrided if necessary.
virtual void OnMouseEnter (const wxPoint &pos)
 Event handler called when a mouse pointer enters the shape area. The function can be overrided if necessary.
virtual void OnMouseOver (const wxPoint &pos)
 Event handler called when a mouse pointer moves above the shape area. The function can be overrided if necessary.
virtual void OnMouseLeave (const wxPoint &pos)
 Event handler called when a mouse pointer leaves the shape area. The function can be overrided if necessary.
virtual bool OnKey (int key)
 Event handler called when any key is pressed (in the shape canvas). The function can be overrided if necessary.
virtual void OnChildDropped (const wxRealPoint &pos, wxSFShapeBase *child)
 Event handler called when any shape is dropped above this shape (and the dropped shape is accepted as a child of this shape). The function can be overrided if necessary.

Protected Member Functions

virtual void DrawNormal (wxDC &dc)
 Draw the shape in the normal way. The function can be overrided if neccessary.
virtual void DrawSelected (wxDC &dc)
 Draw the shape in the selected way. The function can be overrided if neccessary.
virtual void DrawHover (wxDC &dc)
 Draw the shape in the hower mode (the mouse cursor is above the shape). The function can be overrided if neccessary.
virtual void DrawHighlighted (wxDC &dc)
 Draw the shape in the highlighted mode (another shape is dragged over this shape and this shape will accept the dragged one if it will be dropped on it). The function can be overrided if neccessary.
virtual void DrawShadow (wxDC &dc)
 Draw shadow under the shape. The function can be overrided if neccessary.
virtual wxXmlNode * Serialize (wxXmlNode *node)
 Serialize shape's properties to the given XML node. The serialization routine is automatically called by the framework and should take care about serialization of all specific (non-standard) shape's properties.
virtual void Deserialize (wxXmlNode *node)
 Deserialize shape's properties from the given XML node. The routine is automatically called by the framework and should take care about deserialization of all specific (non-standard) shape's properties.
void Refresh (const wxRect &rct, bool delayed=false)
 Repaint the shape.
wxRealPoint GetParentAbsolutePosition ()
 Get absolute position of the shape parent.

Protected Attributes

bool m_fSelected
 Selection flag.
bool m_fVisible
 Visibility flag.
bool m_fActive
 Activation flag.
long m_nStyle
 Shape's style mask.
wxColour m_nHoverColor
wxRealPoint m_nRelativePosition
wxArrayString m_arrAcceptedChildren
 String list with class names of accepted child shapes.
wxArrayString m_arrAcceptedConnections
 String list with class names of accepted connections.
wxArrayString m_arrAcceptedSrcNeighbours
 String list with class names of accepted source neighbour shapes.
wxArrayString m_arrAcceptedTrgNeighbours
 String list with class names of accepted target neighbour shapes.
double m_nVBorder
 Value of vertical border used by AlignV function.
double m_nHBorder
 Value of horizontal border used by AlignH function.
VALIGN m_nVAlign
 Vertical alignment of child shapes.
HALIGN m_nHAlign
 Horizontal alignment of child shapes.
int m_nCustomDockPoint
 Custom line dock point.
HandleList m_lstHandles
 Handle list.
ConnectionPointList m_lstConnectionPts
xsSerializablem_pUserData
 Container for serializable user data associated with the shape.

Private Member Functions

void MarkSerializableDataMembers ()
 Initialize serializable properties.
void _GetNeighbours (ShapeList &neighbours, wxClassInfo *shapeInfo, CONNECTMODE condir, bool direct)
 Auxiliary function called by GetNeighbours function.
void _GetCompleteBoundingBox (wxRect &rct, int mask=bbALL)
 Auxiliary function called by GetCompleteBoundingBox function.
void _OnMouseMove (const wxPoint &pos)
 Original protected event handler called when the mouse pointer is moving around the shape canvas.
void _OnBeginDrag (const wxPoint &pos)
 Original protected event handler called at the begininig of dragging process.
void _OnDragging (const wxPoint &pos)
 Original protected event handler called during a dragging process.
void _OnEndDrag (const wxPoint &pos)
 Original protected event handler called at the end of dragging process.
void _OnKey (int key)
 Original protected event handler called when any key is pressed (in the shape canvas).
void _OnHandle (wxSFShapeHandle &handle)
 Original protected event handler called during dragging of the shape handle.

Private Attributes

bool m_fMouseOver
bool m_fFirstMove
bool m_fHighlighParent
wxRealPoint m_nMouseOffset

Friends

class wxSFShapeCanvas
class wxSFDiagramManager
class wxSFShapeHandle

Detailed Description

Base class for all shapes providing fundamental functionality and publishing set of virtual functions which must be defined by the user in derived shapes. This class shouldn't be used as it is.

Shape objects derived from this class use hierarchical approach. It means that every shape must have defined parent shape (can be NULL for topmost shapes). An absolute shape position is then calculated as a sumation of all relative positions of all parent shapes. Also the size of the parent shape can be limited be a boundind box of all children shapes.

This class also declares set of virtual functions used as event handlers for various events (moving, sizing, drawing, mouse events, serialization and deserialization requests, ...) mostly triggered by a parent shape canvas.


Member Enumeration Documentation

Bit flags for wxSFShapeBase::GetCompleteBoundingBox function.

Enumerator:
bbSELF 
bbCHILDREN 
bbCONNECTIONS 
bbSHADOW 
bbALL 

Search mode flags for GetAssignedConnections function.

Enumerator:
lineSTARTING 

Search for connection starting in examined shape.

lineENDING 

Search for connection ending in examined shape.

lineBOTH 

Search for both starting and ending connections.

Flags for SetHAlign function.

Enumerator:
halignNONE 
halignLEFT 
halignCENTER 
halignRIGHT 
halignEXPAND 
halignLINE_START 
halignLINE_END 

Basic shape's styles used with SetStyle() function.

Enumerator:
sfsPARENT_CHANGE 

Interactive parent change is allowed.

sfsPOSITION_CHANGE 

Interactive position change is allowed.

sfsSIZE_CHANGE 

Interactive size change is allowed.

sfsHOVERING 

Shape is highlighted at mouse hovering.

sfsHIGHLIGHTING 

Shape is highlighted at shape dragging.

sfsALWAYS_INSIDE 

Shape is always inside its parent.

sfsDELETE_USER_DATA 

User data is destroyed at the shape deletion.

sfsPROCESS_DEL 

The DEL key is processed by the shape (not by the shape canvas)

sfsSHOW_HANDLES 

Show handles if the shape is selected.

sfsSHOW_SHADOW 

Show shadow under the shape.

sfsLOCK_CHILDREN 

Lock children relative position if the parent is resized.

sfsEMIT_EVENTS 

Emit events (catchable in shape canvas)

sfsPROPAGATE_DRAGGING 

Propagate mouse dragging event to parent shape.

sfsPROPAGATE_SELECTION 

Propagate selection to parent shape (it means this shape cannot be selected because its focus is redirected to its parent shape)

sfsPROPAGATE_INTERACTIVE_CONNECTION 

Propagate interactive connection request to parent shape (it means this shape cannot be connected interactively because this feature is redirected to its parent shape)

sfsNO_FIT_TO_CHILDREN 

Do no resize the shape to fit its children automatically.

sfsDEFAULT_SHAPE_STYLE 

Default shape style.

Flags for SetVAlign function.

Enumerator:
valignNONE 
valignTOP 
valignMIDDLE 
valignBOTTOM 
valignEXPAND 
valignLINE_START 
valignLINE_END 

Constructor & Destructor Documentation

Basic constructor.

wxSFShapeBase::wxSFShapeBase ( const wxRealPoint &  pos,
wxSFDiagramManager manager 
)

Enhanced constructor.

Parameters:
posInitial relative position
managerPointer to parent diagram manager

Copy constructor.

Parameters:
objReference to the source object
virtual wxSFShapeBase::~wxSFShapeBase ( void  ) [virtual]

Destructor.


Member Function Documentation

void wxSFShapeBase::_GetCompleteBoundingBox ( wxRect &  rct,
int  mask = bbALL 
) [private]

Auxiliary function called by GetCompleteBoundingBox function.

Parameters:
rctReturned bounding rectangle
maskBit mask of object types which should be included into calculation
See also:
BBMODE
void wxSFShapeBase::_GetNeighbours ( ShapeList &  neighbours,
wxClassInfo *  shapeInfo,
CONNECTMODE  condir,
bool  direct 
) [private]

Auxiliary function called by GetNeighbours function.

Parameters:
neighboursList of neighbour shapes
shapeInfoLine object type
condirConnection direction
directSet this flag to TRUE if only closest shapes should be found, otherwise also shapes connected by forked lines will be found (also constants sfDIRECT and sfINDIRECT can be used)
See also:
GetNeighbours
void wxSFShapeBase::_OnBeginDrag ( const wxPoint &  pos) [private]

Original protected event handler called at the begininig of dragging process.

The function is called by the framework (by the shape canvas). After processing the event an overridable event handler is called.

Parameters:
posCurrent mouse position
See also:
wxShapeBase::OnBeginDrag
void wxSFShapeBase::_OnDragging ( const wxPoint &  pos) [private]

Original protected event handler called during a dragging process.

The function is called by the framework (by the shape canvas). After processing the event an overridable event handler is called.

Parameters:
posCurrent mouse position
See also:
wxShapeBase::OnDragging
void wxSFShapeBase::_OnEndDrag ( const wxPoint &  pos) [private]

Original protected event handler called at the end of dragging process.

The function is called by the framework (by the shape canvas). After processing the event an overridable event handler is called.

Parameters:
posCurrent mouse position
See also:
wxShapeBase::OnEndDrag
void wxSFShapeBase::_OnHandle ( wxSFShapeHandle handle) [private]

Original protected event handler called during dragging of the shape handle.

The function is called by the framework (by the shape canvas). Default implementation manages the child shapes' alignment (if set).

Parameters:
handleReference to dragged handle
void wxSFShapeBase::_OnKey ( int  key) [private]

Original protected event handler called when any key is pressed (in the shape canvas).

The function is called by the framework (by the shape canvas). Default implementation performs operations necessary for proper shape's moving and repainting.

Parameters:
keyThe key code
See also:
wxSFShapeBase::OnKey
void wxSFShapeBase::_OnMouseMove ( const wxPoint &  pos) [private]

Original protected event handler called when the mouse pointer is moving around the shape canvas.

The function is called by the framework (by the shape canvas). After processing the event relevant overridable event handlers are called.

Parameters:
posCurrent mouse position
See also:
wxShapeBase::OnMouseEnter, wxShapeBase::OnMouseOver, wxShapeBase::OnMouseLeave
void wxSFShapeBase::AcceptChild ( const wxString &  type) [inline]

Add given shape type to an acceptance list. The acceptance list contains class names of the shapes which can be accepted as children of this shape. Note: Keyword 'All' behaves like any class name.

Parameters:
typeClass name of accepted shape object
See also:
IsChildAccepted
void wxSFShapeBase::AcceptConnection ( const wxString &  type) [inline]

Add given connection type to an acceptance list. The acceptance list contains class names of the connection which can be accepted by this shape. Note: Keyword 'All' behaves like any class name.

Parameters:
typeClass name of accepted connection object
See also:
IsConnectionAccepted

Function returns TRUE if all currently dragged shapes can be accepted as children of this shape.

See also:
IsShapeAccepted
void wxSFShapeBase::AcceptSrcNeighbour ( const wxString &  type) [inline]

Add given shape type to an source neighbours' acceptance list. The acceptance list contains class names of the shape types which can be accepted by this shape as its source neighbour. Note: Keyword 'All' behaves like any class name.

Parameters:
typeClass name of accepted connection object
See also:
IsSrcNeighbourAccepted
void wxSFShapeBase::AcceptTrgNeighbour ( const wxString &  type) [inline]

Add given shape type to an target neighbours' acceptance list. The acceptance list contains class names of the shape types which can be accepted by this shape as its target neighbour. Note: Keyword 'All' behaves like any class name.

Parameters:
typeClass name of accepted connection object
See also:
IsTrgNeighbourAccepted
void wxSFShapeBase::Activate ( bool  active) [inline]

Shape's activation/deactivation.

Deactivated shapes are visible, but don't receive (process) any events.

Parameters:
activeTRUE for activation, FALSE for deactivation
Returns:
Description
See also:
Show
void wxSFShapeBase::AddConnectionPoint ( wxSFConnectionPoint::CPTYPE  type,
bool  persistent = true 
)

Assign connection point of given type to the shape.

Parameters:
typeConnection point type
persistentTRUE if the connection point should be serialized
See also:
wxSFConnectionPoint::CPTYPE
void wxSFShapeBase::AddConnectionPoint ( wxSFConnectionPoint cp,
bool  persistent = true 
)

Assigned given connection point to the shape.

Parameters:
cpPointer to connection point (shape will take the ownership)
persistentTRUE if the connection point should be serialized
void wxSFShapeBase::AddConnectionPoint ( const wxRealPoint &  relpos,
long  id = -1,
bool  persistent = true 
)

Assign custom connection point to the shape.

Parameters:
relposRelative position in percentages
idOptional connection point ID
persistentTRUE if the connection point should be serialized
void wxSFShapeBase::AddHandle ( wxSFShapeHandle::HANDLETYPE  type,
long  id = -1 
)

Add new handle to the shape.

The function creates new instance of shape handle (if it doesn't exist yet) and inserts it into handle list.

Parameters:
typeHandle type
idHandle ID (usefull only for line control points)
See also:
wxSFShapeHandle
void wxSFShapeBase::AddStyle ( STYLE  style) [inline]

Clear shape object acceptance list.

See also:
AcceptChild

Clear connection object acceptance list.

See also:
AcceptConnection

Clear source neighbour objects acceptance list.

See also:
AcceptSrcNeighbour

Clear target neighbour objects acceptance list.

See also:
AcceptTrgNeighbour
virtual bool wxSFShapeBase::Contains ( const wxPoint &  pos) [virtual]

Test whether the given point is inside the shape. The function can be overrided if neccessary.

Parameters:
posExamined point
Returns:
TRUE if the point is inside the shape area, otherwise FALSE

Reimplemented in wxSFLineShape, wxSFRoundRectShape, wxSFEllipseShape, wxSFDiamondShape, and wxSFCircleShape.

bool wxSFShapeBase::ContainsStyle ( STYLE  style) const [inline]
virtual void wxSFShapeBase::CreateHandles ( ) [virtual]

Function called by the framework responsible for creation of shape handles at the creation time. Default implementation does nothing. The function can be overrided if neccesary.

Reimplemented in wxSFLineShape, and wxSFRectShape.

virtual void wxSFShapeBase::Deserialize ( wxXmlNode *  node) [protected, virtual]

Deserialize shape's properties from the given XML node. The routine is automatically called by the framework and should take care about deserialization of all specific (non-standard) shape's properties.

Note, that the shape serialization is used not only for saving canvas's content to a file but also during Undo/Redo and the clipboard operations so it is very important to implement this virtual function otherwise all mentioned operations wont be available for this shape.

Parameters:
nodePointer to a source XML node containig the shape's property nodes
See also:
xsSerializable::Deserialize

Reimplemented from xsSerializable.

Reimplemented in wxSFPolygonShape, wxSFBitmapShape, and wxSFTextShape.

Update the shape's position in order to its alignment.

virtual void wxSFShapeBase::Draw ( wxDC &  dc,
bool  children = sfWITHCHILDREN 
) [virtual]

Draw shape. Default implementation tests basic shape visual states (normal/ready, mouse is over the shape, dragged shape can be accepted) and call appropriate virtual functions (DrawNormal, DrawHover, DrawHighlighted) for its visualisation. The function can be overrided if neccessary.

Parameters:
dcReference to a device context where the shape will be drawn to
childrenTRUE if the shape's children should be drawn as well
virtual void wxSFShapeBase::DrawHighlighted ( wxDC &  dc) [protected, virtual]

Draw the shape in the highlighted mode (another shape is dragged over this shape and this shape will accept the dragged one if it will be dropped on it). The function can be overrided if neccessary.

Parameters:
dcReference to device context where the shape will be drawn to

Reimplemented in wxSFLineShape, wxSFRectShape, wxSFPolygonShape, wxSFBitmapShape, wxSFTextShape, wxSFRoundRectShape, wxSFEllipseShape, and wxSFCircleShape.

virtual void wxSFShapeBase::DrawHover ( wxDC &  dc) [protected, virtual]

Draw the shape in the hower mode (the mouse cursor is above the shape). The function can be overrided if neccessary.

Parameters:
dcReference to device context where the shape will be drawn to

Reimplemented in wxSFLineShape, wxSFRectShape, wxSFPolygonShape, wxSFBitmapShape, wxSFTextShape, wxSFRoundRectShape, wxSFEllipseShape, and wxSFCircleShape.

virtual void wxSFShapeBase::DrawNormal ( wxDC &  dc) [protected, virtual]

Draw the shape in the normal way. The function can be overrided if neccessary.

Parameters:
dcReference to device context where the shape will be drawn to

Reimplemented in wxSFLineShape, wxSFRectShape, wxSFPolygonShape, wxSFBitmapShape, wxSFTextShape, wxSFRoundRectShape, wxSFEllipseShape, and wxSFCircleShape.

virtual void wxSFShapeBase::DrawSelected ( wxDC &  dc) [protected, virtual]

Draw the shape in the selected way. The function can be overrided if neccessary.

Parameters:
dcReference to device context where the shape will be drawn to
virtual void wxSFShapeBase::DrawShadow ( wxDC &  dc) [protected, virtual]

Draw shadow under the shape. The function can be overrided if neccessary.

Parameters:
dcReference to device context where the shadow will be drawn to

Reimplemented in wxSFRectShape, wxSFPolygonShape, wxSFTextShape, wxSFRoundRectShape, wxSFEllipseShape, and wxSFCircleShape.

virtual void wxSFShapeBase::FitToChildren ( ) [virtual]

Resize the shape to bound all child shapes. The function can be overrided if neccessary.

Reimplemented in wxSFControlShape, wxSFGridShape, wxSFRectShape, and wxSFPolygonShape.

virtual wxRealPoint wxSFShapeBase::GetAbsolutePosition ( ) [virtual]

Get the shape's absolute position in the canvas (calculated as a sumation of all relative positions in the shapes' hierarchy. The function can be overrided if neccessary.

Returns:
Shape's position

Reimplemented in wxSFLineShape.

wxArrayString& wxSFShapeBase::GetAcceptedChildren ( ) [inline]

Get shape types acceptance list.

Returns:
String array with class names of accepted shape types.
See also:
IsChildAccepted
wxArrayString& wxSFShapeBase::GetAcceptedConnections ( ) [inline]

Get connection types acceptance list.

Returns:
String array with class names of accepted connection types.
See also:
IsConnectionAccepted
wxArrayString& wxSFShapeBase::GetAcceptedSrcNeighbours ( ) [inline]

Get source neighbour types acceptance list.

Returns:
String array with class names of accepted source neighbours types.
See also:
IsSrcNeighbourAccepted
wxArrayString& wxSFShapeBase::GetAcceptedTrgNeighbours ( ) [inline]

Get target neighbour types acceptance list.

Returns:
String array with class names of accepted target neighbours types.
See also:
IsTrgNeighbourAccepted
void wxSFShapeBase::GetAssignedConnections ( wxClassInfo *  shapeInfo,
wxSFShapeBase::CONNECTMODE  mode,
ShapeList &  lines 
)

Get list of connections assigned to this shape.

Note: For proper functionality the shape must be managed by a diagram manager.

Parameters:
shapeInfoLine object type
modeSearch mode
linesReference to shape list where pointers to all found connections will be stored
See also:
wxSFShapeBase::CONNECTMODE
virtual wxRealPoint wxSFShapeBase::GetBorderPoint ( const wxRealPoint &  start,
const wxRealPoint &  end 
) [virtual]

Get intersection point of the shape border and a line leading from 'start' point to 'end' point. Default implementation does nothing. The function can be overrided if neccessary.

Parameters:
startStarting point of the virtual intersection line
endEnding point of the virtual intersection line
Returns:
Intersection point

Reimplemented in wxSFLineShape, wxSFPolygonShape, wxSFRectShape, wxSFEllipseShape, and wxSFCircleShape.

virtual wxRect wxSFShapeBase::GetBoundingBox ( ) [virtual]

Get shapes's bounding box. The function can be overrided if neccessary.

Returns:
Bounding rectangle

Reimplemented in wxSFLineShape, wxSFRectShape, and wxSFCurveShape.

virtual wxRealPoint wxSFShapeBase::GetCenter ( ) [virtual]

Get shape's center. Default implementation does nothing. The function can be overrided if neccessary.

Returns:
Center point
void wxSFShapeBase::GetChildShapes ( wxClassInfo *  type,
ShapeList &  children,
bool  recursive = false,
xsSerializable::SEARCHMODE  mode = xsSerializable::searchBFS 
)

Get child shapes associated with this (parent) shape.

Parameters:
typeType of searched child shapes (NULL for any type)
childrenList of child shapes
recursiveSet this flag TRUE if also children of children of ... should be found (also sfRECURSIVE a sfNORECURSIVE constants can be used).
modeSearch mode (has sense only for recursive search)
See also:
xsSerializable::SEARCHMODE
void wxSFShapeBase::GetCompleteBoundingBox ( wxRect &  rct,
int  mask = bbALL 
)

Get shape's bounding box which includes also associated child shapes and connections.

Parameters:
rctReturned bounding rectangle
maskBit mask of object types which should be included into calculation
See also:
BBMODE

Get connection point of given type assigned to the shape.

Parameters:
typeConnection point type
idOptional connection point ID
Returns:
Pointer to connection point if exists, otherwise NULL
See also:
wxSFConnectionPoint::CPTYPE

Get reference to connection points list.

Returns:
Constant reference to connection points list

Get custom dock point used if the shape is child shape of a line shape.

Returns:
Custom dock point

Get pointer to the topmost parent shape.

HALIGN wxSFShapeBase::GetHAlign ( ) const [inline]

Get horizontal alignment of this shape inside its parent.

Returns:
Alignment type
See also:
VALIGN

Get shape handle.

Parameters:
typeHandle type
idHandle ID (usefull only for line control points)
Returns:
Pointer to the shape handle object
See also:
wxSFShapeHandle
HandleList& wxSFShapeBase::GetHandles ( ) [inline]

Get list of currently assigned shape handles.

Returns:
Reference to the handle list
See also:
CHandleList
double wxSFShapeBase::GetHBorder ( ) const [inline]

Get horizontal border between this shape and its parent (is horizontal alignment is set).

Returns:
Vertical border
See also:
SetHAlign
wxColour wxSFShapeBase::GetHoverColour ( ) const [inline]

Get shape's hover color.

Returns:
Current hover color

Get connection point closest to the diven position.

Parameters:
posPosition
Returns:
Pointer to closest connection point if exists, otherwise NULL
void wxSFShapeBase::GetNeighbours ( ShapeList &  neighbours,
wxClassInfo *  shapeInfo,
CONNECTMODE  condir,
bool  direct = true 
)

Get neighbour shapes connected to this shape.

Parameters:
neighboursList of neighbour shapes
shapeInfoLine object type
condirConnection direction
directSet this flag to TRUE if only closest shapes should be found, otherwise also shapes connected by forked lines will be found (also constants sfDIRECT and sfINDIRECT can be used)
See also:
CONNECTMODE
wxRealPoint wxSFShapeBase::GetParentAbsolutePosition ( ) [protected]

Get absolute position of the shape parent.

Returns:
Absolute position of the shape parent if exists, otherwise 0,0

Get shape's parent canvas.

Returns:
Pointer to shape canvas if assigned via diagram manager, otherwise NULL
See also:
wxSFDiagramManager

Get pointer to a parent shape.

wxRealPoint wxSFShapeBase::GetRelativePosition ( ) const [inline]

Get shape's relative position.

Returns:
Current relative position
See also:
GetAbsolutePosition

Get shape's parent diagram manager.

Returns:
Pointer to diagram manager
See also:
wxSFDiagramManager
long wxSFShapeBase::GetStyle ( ) const [inline]

Get current shape style.

Get associated user data.

Returns:
Pointer to user data
VALIGN wxSFShapeBase::GetVAlign ( ) const [inline]

Get vertical alignment of this shape inside its parent.

Returns:
Alignment type
See also:
VALIGN
double wxSFShapeBase::GetVBorder ( ) const [inline]

Get vertical border between this shape and its parent (is vertical alignment is set).

Returns:
Vertical border
See also:
SetVAlign
virtual bool wxSFShapeBase::Intersects ( const wxRect &  rct) [virtual]

Test whether the given rectangle intersects the shape.

Parameters:
rctExamined rectangle
Returns:
TRUE if the examined rectangle intersects the shape, otherwise FALSE
bool wxSFShapeBase::IsActive ( ) const [inline]

Function returns value of a shape's activation flag.

Non-active shapes are visible, but don't receive (process) any events.

Returns:
TRUE if the shape is active, othervise FALSE

Determine whether this shape is ancestor of given child shape.

Parameters:
childPointer to child shape.
Returns:
TRUE if this shape is parent of given child shape, otherwise FALSE
bool wxSFShapeBase::IsChildAccepted ( const wxString &  type)

Tells whether the given shape type is accepted by this shape (it means whether this shape can be its parent).

The function is typically used by the framework for determination whether a dropped shape can be assigned to an underlying shape as its child.

Parameters:
typeClass name of examined shape object
Returns:
TRUE if the shape type is accepted, otherwise FALSE.
bool wxSFShapeBase::IsConnectionAccepted ( const wxString &  type)

Tells whether the given connection type is accepted by this shape (it means whether this shape can be connected to another one by a connection of given type).

The function is typically used by the framework during interactive connection creation.

Parameters:
typeClass name of examined connection object
Returns:
TRUE if the connection type is accepted, otherwise FALSE.

Determine whether this shape is descendant of given parent shape.

Parameters:
parentPointer to parent shape
Returns:
TRUE if this shape is a child of given parent shape, otherwise FALSE
virtual bool wxSFShapeBase::IsInside ( const wxRect &  rct) [virtual]

Test whether the shape is completely inside given rectangle. The function can be overrided if neccessary.

Parameters:
rctExamined rectangle
Returns:
TRUE if the shape is completely inside given rectangle, otherwise FALSE
bool wxSFShapeBase::IsSelected ( ) const [inline]

Function returns TRUE if the shape is selected, otherwise returns FALSE.

bool wxSFShapeBase::IsSrcNeighbourAccepted ( const wxString &  type)

Tells whether the given shape type is accepted by this shape as its source neighbour(it means whether this shape can be connected from another one of given type).

The function is typically used by the framework during interactive connection creation.

Parameters:
typeClass name of examined connection object
Returns:
TRUE if the shape type is accepted, otherwise FALSE.
bool wxSFShapeBase::IsTrgNeighbourAccepted ( const wxString &  type)

Tells whether the given shape type is accepted by this shape as its target neighbour(it means whether this shape can be connected to another one of given type).

The function is typically used by the framework during interactive connection creation.

Parameters:
typeClass name of examined connection object
Returns:
TRUE if the shape type is accepted, otherwise FALSE.
bool wxSFShapeBase::IsVisible ( ) const [inline]

Get the shape's visibility status.

Returns:
TRUE if the shape is visible, otherwise FALSE
virtual void wxSFShapeBase::MoveBy ( double  x,
double  y 
) [virtual]

Move the shape by the given offset. The function can be overrided if neccessary.

Parameters:
xX offset
yY offset

Reimplemented in wxSFLineShape, and wxSFControlShape.

void wxSFShapeBase::MoveBy ( const wxRealPoint &  delta)

Move the shape by the given offset.

Parameters:
deltaOffset
virtual void wxSFShapeBase::MoveTo ( double  x,
double  y 
) [virtual]

Move the shape to the given absolute position. The function can be overrided if necessary.

Parameters:
xX coordinate
yY coordinate

Reimplemented in wxSFLineShape, and wxSFControlShape.

void wxSFShapeBase::MoveTo ( const wxRealPoint &  pos)

Move the shape to the given absolute position.

Parameters:
posNew absolute position
virtual void wxSFShapeBase::OnBeginDrag ( const wxPoint &  pos) [virtual]

Event handler called at the begining of the shape dragging process. The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_DRAG_BEGIN event.

See also:
wxSFShapeCanvas

Reimplemented in wxSFLineShape, and wxSFControlShape.

virtual void wxSFShapeBase::OnBeginHandle ( wxSFShapeHandle handle) [virtual]

Event handler called when the user started to drag the shape handle. The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_HANDLE_BEGIN event.

Parameters:
handleReference to dragged handle

Reimplemented in wxSFControlShape, wxSFBitmapShape, wxSFRectShape, and wxSFMultiSelRect.

virtual void wxSFShapeBase::OnChildDropped ( const wxRealPoint &  pos,
wxSFShapeBase child 
) [virtual]

Event handler called when any shape is dropped above this shape (and the dropped shape is accepted as a child of this shape). The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_CHILD_DROP event.

Parameters:
posRelative position of dropped shape
childPointer to dropped shape

Reimplemented in wxSFGridShape.

virtual void wxSFShapeBase::OnDragging ( const wxPoint &  pos) [virtual]

Event handler called during the shape dragging process. The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_DRAG event.

Parameters:
posCurrent mouse position
See also:
wxSFShapeCanvas
virtual void wxSFShapeBase::OnEndDrag ( const wxPoint &  pos) [virtual]

Event handler called at the end of the shape dragging process. The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_DRAG_END event.

Parameters:
posCurrent mouse position
See also:
wxSFShapeCanvas

Reimplemented in wxSFControlShape.

virtual void wxSFShapeBase::OnEndHandle ( wxSFShapeHandle handle) [virtual]

Event handler called when the user finished dragging of the shape handle. The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_HANDLE_END event.

Parameters:
handleReference to dragged handle

Reimplemented in wxSFLineShape, wxSFControlShape, wxSFBitmapShape, and wxSFMultiSelRect.

virtual void wxSFShapeBase::OnHandle ( wxSFShapeHandle handle) [virtual]

Event handler called during dragging of the shape handle. The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_HANDLE event.

Parameters:
handleReference to dragged handle

Reimplemented in wxSFLineShape, wxSFControlShape, wxSFPolygonShape, wxSFBitmapShape, wxSFTextShape, wxSFRectShape, wxSFSquareShape, and wxSFMultiSelRect.

virtual bool wxSFShapeBase::OnKey ( int  key) [virtual]

Event handler called when any key is pressed (in the shape canvas). The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_KEYDOWN event.

Parameters:
keyThe key code
Returns:
The function must return TRUE if the default event routine should be called as well, otherwise FALSE
See also:
wxSFShapeBase::_OnKey

Reimplemented in wxSFEditTextShape.

virtual void wxSFShapeBase::OnLeftClick ( const wxPoint &  pos) [virtual]

Event handler called when the shape is clicked by the left mouse button. The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_LEFT_DOWN event.

Parameters:
posCurrent mouse position
See also:
wxSFShapeCanvas
virtual void wxSFShapeBase::OnLeftDoubleClick ( const wxPoint &  pos) [virtual]

Event handler called when the shape is double-clicked by the left mouse button. The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_LEFT_DCLICK event.

Parameters:
posCurrent mouse position
See also:
wxSFShapeCanvas

Reimplemented in wxSFLineShape, and wxSFEditTextShape.

virtual void wxSFShapeBase::OnMouseEnter ( const wxPoint &  pos) [virtual]

Event handler called when a mouse pointer enters the shape area. The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_MOUSE_ENTER event.

Parameters:
posCurrent mouse position
virtual void wxSFShapeBase::OnMouseLeave ( const wxPoint &  pos) [virtual]

Event handler called when a mouse pointer leaves the shape area. The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_MOUSE_LEAVE event.

Parameters:
posCurrent mouse position
virtual void wxSFShapeBase::OnMouseOver ( const wxPoint &  pos) [virtual]

Event handler called when a mouse pointer moves above the shape area. The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_MOUSE_OVER event.

Parameters:
posCurrent mouse position
virtual void wxSFShapeBase::OnRightClick ( const wxPoint &  pos) [virtual]

Event handler called when the shape is clicked by the right mouse button. The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_RIGHT_DOWN event.

Parameters:
posCurrent mouse position
See also:
wxSFShapeCanvas
virtual void wxSFShapeBase::OnRightDoubleClick ( const wxPoint &  pos) [virtual]

Event handler called when the shape is double-clicked by the right mouse button. The function can be overrided if necessary.

The function is called by the framework (by the shape canvas). Default implementation emmits wxEVT_SF_SHAPE_RIGHT_DCLICK event.

Parameters:
posCurrent mouse position
See also:
wxSFShapeCanvas
void wxSFShapeBase::Refresh ( bool  delayed = false)

Refresh (redraw) the shape.

Parameters:
delayedIf TRUE then the shape canvas will be rather invalidated than refreshed.
See also:
wxSFShapeCanvas::InvalidateRect(), wxSFShapeCanvas::RefreshInvalidatedRect()
void wxSFShapeBase::Refresh ( const wxRect &  rct,
bool  delayed = false 
) [protected]

Repaint the shape.

Parameters:
rctCanvas portion that should be updated
delayedIf TRUE then the shape canvas will be rather invalidated than refreshed.
See also:
wxSFShapeCanvas::InvalidateRect(), wxSFShapeCanvas::RefreshInvalidatedRect()

Remove connection point of given type from the shape (if pressent).

Parameters:
typeConnection point type
See also:
wxSFConnectionPoint::CPTYPE
void wxSFShapeBase::RemoveHandle ( wxSFShapeHandle::HANDLETYPE  type,
long  id = -1 
)

Remove given shape handle (if exists).

Parameters:
typeHandle type
idHandle ID (usefull only for line control points)
See also:
wxSFShapeHandle
void wxSFShapeBase::RemoveStyle ( STYLE  style) [inline]
virtual void wxSFShapeBase::Scale ( double  x,
double  y,
bool  children = sfWITHCHILDREN 
) [virtual]

Scale the shape size by in both directions. The function can be overrided if necessary (new implementation should call default one ore scale shape's children manualy if neccesary).

Parameters:
xHorizontal scale factor
yVertical scale factor
childrenTRUE if the shape's children shoould be scaled as well, otherwise the shape will be updated after scaling via Update() function.

Reimplemented in wxSFLineShape, wxSFControlShape, wxSFRectShape, wxSFPolygonShape, wxSFTextShape, wxSFBitmapShape, and wxSFSquareShape.

void wxSFShapeBase::Scale ( const wxRealPoint &  scale,
bool  children = sfWITHCHILDREN 
)

Scale the shape size by in both directions.

Parameters:
scaleScaling factor
childrenTRUE if the shape's children shoould be scaled as well, otherwise the shape will be updated after scaling via Update() function.
void wxSFShapeBase::ScaleChildren ( double  x,
double  y 
)

Scale shape's children.

Parameters:
xHorizontal scale factor
yVertical scale factor
See also:
Scale
void wxSFShapeBase::Select ( bool  state) [inline]

Set the shape as a selected/deselected one.

Parameters:
stateSelection state (TRUE is selected, FALSE is deselected)
virtual wxXmlNode* wxSFShapeBase::Serialize ( wxXmlNode *  node) [protected, virtual]

Serialize shape's properties to the given XML node. The serialization routine is automatically called by the framework and should take care about serialization of all specific (non-standard) shape's properties.

Note, that the shape serialization is used not only for saving canvas's content to a file but also during Undo/Redo and the clipboard operations so it is very important to implement this virtual function otherwise all mentioned operations wont be available for this shape.

Parameters:
nodePointer to XML node where the shape's property nodes will be appended to
See also:
xsSerializable::Serialize

Reimplemented from xsSerializable.

Reimplemented in wxSFPolygonShape, wxSFBitmapShape, and wxSFTextShape.

void wxSFShapeBase::SetCustomDockPoint ( int  dp) [inline]

Set custom dock point used if the shape is child shape of a line shape.

Parameters:
dpCustom dock point
void wxSFShapeBase::SetHAlign ( HALIGN  val) [inline]

Set horizontal alignment of this shape inside its parent.

Parameters:
valHorizontal type
See also:
HALIGN
void wxSFShapeBase::SetHBorder ( double  border) [inline]

Set horizontal border between this shape and its parent (is horizontal alignment is set).

Parameters:
borderHorizontal border
See also:
SetVAlign
void wxSFShapeBase::SetHoverColour ( const wxColour &  col) [inline]

Set shape's hover color.

Parameters:
colHover color
void wxSFShapeBase::SetRelativePosition ( const wxRealPoint &  pos) [inline]

Set shape's relative position. Absolute shape's position is then calculated as a sumation of the relative positions of this shape and all parent shapes in the shape's hierarchy.

Parameters:
posNew relative position
See also:
MoveTo
void wxSFShapeBase::SetRelativePosition ( double  x,
double  y 
) [inline]

Set shape's relative position. Absolute shape's position is then calculated as a sumation of the relative positions of this shape and all parent shapes in the shape's hierarchy.

Parameters:
xHorizontal coordinate of new relative position
yVertical coordinate of new relative position
See also:
MoveTo
void wxSFShapeBase::SetStyle ( long  style) [inline]

Set shape's style.

Default value is sfsPARENT_CHANGE | sfsPOSITION_CHANGE | sfsSIZE_CHANGE | sfsHOVERING | sfsHIGHLIGHTING | sfsSHOW_HANDLES | sfsALWAYS_INSIDE | sfsDELETE_USER_DATA

Parameters:
styleCombination of the shape's styles
See also:
STYLE

Associate user data with the shape.

If the data object is properly set then its marked properties will be serialized together with the parent shape.

Parameters:
dataPointer to user data
void wxSFShapeBase::SetVAlign ( VALIGN  val) [inline]

Set vertical alignment of this shape inside its parent.

Parameters:
valAlignment type
See also:
VALIGN
void wxSFShapeBase::SetVBorder ( double  border) [inline]

Set vertical border between this shape and its parent (is vertical alignment is set).

Parameters:
borderVertical border
See also:
SetVAlign
void wxSFShapeBase::Show ( bool  show) [inline]

Show/hide shape.

Parameters:
showSet the parameter to TRUE if the shape should be visible, otherwise use FALSE
void wxSFShapeBase::ShowHandles ( bool  show)

Show/hide shape handles. Hidden handles are inactive.

Parameters:
showTRUE for showing, FALSE for hidding
virtual void wxSFShapeBase::Update ( ) [virtual]

Upate shape (align all child shapes an resize it to fit them)

Reimplemented in wxSFControlShape, wxSFGridShape, and wxSFTextShape.


Friends And Related Function Documentation

friend class wxSFDiagramManager [friend]

Reimplemented in wxSFGridShape.

friend class wxSFShapeCanvas [friend]

Reimplemented in wxSFLineShape.

friend class wxSFShapeHandle [friend]

Member Data Documentation

wxArrayString wxSFShapeBase::m_arrAcceptedChildren [protected]

String list with class names of accepted child shapes.

wxArrayString wxSFShapeBase::m_arrAcceptedConnections [protected]

String list with class names of accepted connections.

wxArrayString wxSFShapeBase::m_arrAcceptedSrcNeighbours [protected]

String list with class names of accepted source neighbour shapes.

wxArrayString wxSFShapeBase::m_arrAcceptedTrgNeighbours [protected]

String list with class names of accepted target neighbour shapes.

bool wxSFShapeBase::m_fActive [protected]

Activation flag.

bool wxSFShapeBase::m_fSelected [protected]

Selection flag.

bool wxSFShapeBase::m_fVisible [protected]

Visibility flag.

HandleList wxSFShapeBase::m_lstHandles [protected]

Handle list.

Custom line dock point.

Horizontal alignment of child shapes.

double wxSFShapeBase::m_nHBorder [protected]

Value of horizontal border used by AlignH function.

wxColour wxSFShapeBase::m_nHoverColor [protected]
wxRealPoint wxSFShapeBase::m_nMouseOffset [private]
wxRealPoint wxSFShapeBase::m_nRelativePosition [protected]
long wxSFShapeBase::m_nStyle [protected]

Shape's style mask.

Vertical alignment of child shapes.

double wxSFShapeBase::m_nVBorder [protected]

Value of vertical border used by AlignV function.

Container for serializable user data associated with the shape.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines