wxShapeFramework  1.13.0 beta
wxSFPolygonShape Class Reference

Class extends the wxSFRectShape and encapsulates general polygon shape defined by a set of its vertices. The class can be used as it is or as a base class for shapes with more complex form and functionality. More...

#include <PolygonShape.h>

Inheritance diagram for wxSFPolygonShape:
Collaboration diagram for wxSFPolygonShape:

Public Member Functions

 XS_DECLARE_CLONABLE_CLASS (wxSFPolygonShape)
 
 wxSFPolygonShape (void)
 Default constructor. More...
 
 wxSFPolygonShape (int n, const wxRealPoint pts[], const wxRealPoint &pos, wxSFDiagramManager *manager)
 User constructor. More...
 
 wxSFPolygonShape (const wxSFPolygonShape &obj)
 Copy constructor. More...
 
virtual ~wxSFPolygonShape (void)
 Destructor. More...
 
void SetConnectToVertex (bool enable)
 Set connecting mode. More...
 
bool IsConnectedToVertex ()
 Get status of connecting mode. More...
 
void SetVertices (size_t n, const wxRealPoint pts[])
 Set the poly vertices which define its form. More...
 
virtual void FitToChildren ()
 Resize the rectangle to bound all child shapes. The function can be overrided if neccessary. More...
 
virtual wxRealPoint GetBorderPoint (const wxRealPoint &start, const wxRealPoint &end)
 
virtual void Scale (double x, double y, bool children=sfWITHCHILDREN)
 
virtual void OnHandle (wxSFShapeHandle &handle)
 Event handler called during dragging of the shape handle. The function can be overrided if necessary. More...
 
- Public Member Functions inherited from wxSFRectShape
 XS_DECLARE_CLONABLE_CLASS (wxSFRectShape)
 
 wxSFRectShape (void)
 Default constructor. More...
 
 wxSFRectShape (const wxRealPoint &pos, const wxRealPoint &size, wxSFDiagramManager *manager)
 User constructor. More...
 
 wxSFRectShape (const wxSFRectShape &obj)
 Copy constructor. More...
 
virtual ~wxSFRectShape (void)
 Destructor. More...
 
virtual wxRect GetBoundingBox ()
 
virtual void CreateHandles ()
 
virtual void OnBeginHandle (wxSFShapeHandle &handle)
 Event handler called when the user started to drag the shape handle. The function can be overrided if necessary. More...
 
void SetFill (const wxBrush &brush)
 Set rectangle's fill style. More...
 
wxBrush GetFill () const
 Get current fill style. More...
 
void SetBorder (const wxPen &pen)
 Set rectangle's border style. More...
 
wxPen GetBorder () const
 Get current border style. More...
 
void SetRectSize (const wxRealPoint &size)
 Set the rectangle size. More...
 
void SetRectSize (double x, double y)
 Set the rectangle size. More...
 
wxRealPoint GetRectSize () const
 Get the rectangle size. More...
 
- Public Member Functions inherited from wxSFShapeBase
 XS_DECLARE_CLONABLE_CLASS (wxSFShapeBase)
 
 wxSFShapeBase (void)
 Basic constructor. More...
 
 wxSFShapeBase (const wxRealPoint &pos, wxSFDiagramManager *manager)
 Enhanced constructor. More...
 
 wxSFShapeBase (const wxSFShapeBase &obj)
 Copy constructor. More...
 
virtual ~wxSFShapeBase (void)
 Destructor. More...
 
void Refresh (bool delayed=false)
 Refresh (redraw) the shape. More...
 
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. More...
 
virtual bool Contains (const wxPoint &pos)
 
virtual bool IsInside (const wxRect &rct)
 
virtual bool Intersects (const wxRect &rct)
 Test whether the given rectangle intersects the shape. More...
 
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. More...
 
virtual wxRealPoint GetCenter ()
 Get shape's center. Default implementation does nothing. The function can be overrided if neccessary. More...
 
void ShowHandles (bool show)
 Show/hide shape handles. Hidden handles are inactive. More...
 
void SetStyle (long style)
 Set shape's style. More...
 
long GetStyle () const
 Get current shape style. More...
 
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)
 
void GetNeighbours (ShapeList &neighbours, wxClassInfo *shapeInfo, CONNECTMODE condir, bool direct=true)
 Get neighbour shapes connected to this shape. More...
 
void GetAssignedConnections (wxClassInfo *shapeInfo, wxSFShapeBase::CONNECTMODE mode, ShapeList &lines)
 Get list of connections assigned to this shape. More...
 
void GetCompleteBoundingBox (wxRect &rct, int mask=bbALL)
 Get shape's bounding box which includes also associated child shapes and connections. More...
 
void Scale (const wxRealPoint &scale, bool children=sfWITHCHILDREN)
 
void ScaleChildren (double x, double y)
 Scale shape's children. More...
 
virtual void MoveTo (double x, double y)
 Move the shape to the given absolute position. The function can be overrided if necessary. More...
 
void MoveTo (const wxRealPoint &pos)
 Move the shape to the given absolute position. More...
 
virtual void MoveBy (double x, double y)
 Move the shape by the given offset. The function can be overrided if neccessary. More...
 
void MoveBy (const wxRealPoint &delta)
 Move the shape by the given offset. More...
 
void DoAlignment ()
 Update the shape's position in order to its alignment. More...
 
virtual void Update ()
 Upate shape (align all child shapes an resize it to fit them) More...
 
bool IsSelected () const
 Function returns TRUE if the shape is selected, otherwise returns FALSE. More...
 
void Select (bool state)
 Set the shape as a selected/deselected one. More...
 
void SetRelativePosition (const wxRealPoint &pos)
 
void SetRelativePosition (double x, double y)
 
wxRealPoint GetRelativePosition () const
 
void SetVAlign (VALIGN val)
 Set vertical alignment of this shape inside its parent. More...
 
VALIGN GetVAlign () const
 Get vertical alignment of this shape inside its parent. More...
 
void SetHAlign (HALIGN val)
 Set horizontal alignment of this shape inside its parent. More...
 
HALIGN GetHAlign () const
 Get horizontal alignment of this shape inside its parent. More...
 
void SetVBorder (double border)
 Set vertical border between this shape and its parent (is vertical alignment is set). More...
 
double GetVBorder () const
 Get vertical border between this shape and its parent (is vertical alignment is set). More...
 
void SetHBorder (double border)
 Set horizontal border between this shape and its parent (is horizontal alignment is set). More...
 
double GetHBorder () const
 Get horizontal border between this shape and its parent (is horizontal alignment is set). More...
 
void SetCustomDockPoint (int dp)
 Set custom dock point used if the shape is child shape of a line shape. More...
 
int GetCustomDockPoint ()
 Get custom dock point used if the shape is child shape of a line shape. More...
 
wxSFShapeBaseGetParentShape ()
 Get pointer to a parent shape. More...
 
wxSFShapeBaseGetGrandParentShape ()
 Get pointer to the topmost parent shape. More...
 
bool IsAncestor (wxSFShapeBase *child)
 Determine whether this shape is ancestor of given child shape. More...
 
bool IsDescendant (wxSFShapeBase *parent)
 Determine whether this shape is descendant of given parent shape. More...
 
void SetUserData (xsSerializable *data)
 Associate user data with the shape. More...
 
xsSerializableGetUserData ()
 Get associated user data. More...
 
wxSFDiagramManagerGetShapeManager ()
 Get shape's parent diagram manager. More...
 
wxSFShapeCanvasGetParentCanvas ()
 Get shape's parent canvas. More...
 
bool IsVisible () const
 Get the shape's visibility status. More...
 
void Show (bool show)
 Show/hide shape. More...
 
void SetHoverColour (const wxColour &col)
 Set shape's hover color. More...
 
wxColour GetHoverColour () const
 Get shape's hover color. More...
 
bool IsActive () const
 Function returns value of a shape's activation flag. More...
 
void Activate (bool active)
 Shape's activation/deactivation. More...
 
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). More...
 
bool AcceptCurrentlyDraggedShapes ()
 Function returns TRUE if all currently dragged shapes can be accepted as children of this shape. More...
 
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. More...
 
wxArrayString & GetAcceptedChildren ()
 Get shape types acceptance list. More...
 
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). More...
 
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. More...
 
wxArrayString & GetAcceptedConnections ()
 Get connection types acceptance list. More...
 
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). More...
 
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. More...
 
wxArrayString & GetAcceptedSrcNeighbours ()
 Get source neighbour types acceptance list. More...
 
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). More...
 
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. More...
 
wxArrayString & GetAcceptedTrgNeighbours ()
 Get target neighbour types acceptance list. More...
 
void ClearAcceptedChilds ()
 Clear shape object acceptance list. More...
 
void ClearAcceptedConnections ()
 Clear connection object acceptance list. More...
 
void ClearAcceptedSrcNeighbours ()
 Clear source neighbour objects acceptance list. More...
 
void ClearAcceptedTrgNeighbours ()
 Clear target neighbour objects acceptance list. More...
 
HandleList & GetHandles ()
 Get list of currently assigned shape handles. More...
 
wxSFShapeHandleGetHandle (wxSFShapeHandle::HANDLETYPE type, long id=-1)
 Get shape handle. More...
 
void AddHandle (wxSFShapeHandle::HANDLETYPE type, long id=-1)
 Add new handle to the shape. More...
 
void RemoveHandle (wxSFShapeHandle::HANDLETYPE type, long id=-1)
 Remove given shape handle (if exists). More...
 
ConnectionPointListGetConnectionPoints ()
 Get reference to connection points list. More...
 
wxSFConnectionPointGetConnectionPoint (wxSFConnectionPoint::CPTYPE type, long id=-1)
 Get connection point of given type assigned to the shape. More...
 
wxSFConnectionPointGetNearestConnectionPoint (const wxRealPoint &pos)
 Get connection point closest to the diven position. More...
 
wxSFConnectionPointAddConnectionPoint (wxSFConnectionPoint::CPTYPE type, bool persistent=true)
 Assign connection point of given type to the shape. More...
 
void AddConnectionPoint (wxSFConnectionPoint *cp, bool persistent=true)
 Assigned given connection point to the shape. More...
 
wxSFConnectionPointAddConnectionPoint (const wxRealPoint &relpos, long id=-1, bool persistent=true)
 Assign custom connection point to the shape. More...
 
void RemoveConnectionPoint (wxSFConnectionPoint::CPTYPE type)
 Remove connection point of given type from the shape (if pressent). More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual void OnBeginDrag (const wxPoint &pos)
 Event handler called at the begining of the shape dragging process. The function can be overrided if necessary. More...
 
virtual void OnDragging (const wxPoint &pos)
 Event handler called during the shape dragging process. The function can be overrided if necessary. More...
 
virtual void OnEndDrag (const wxPoint &pos)
 Event handler called at the end of the shape dragging process. The function can be overrided if necessary. More...
 
virtual void OnEndHandle (wxSFShapeHandle &handle)
 Event handler called when the user finished dragging of the shape handle. The function can be overrided if necessary. More...
 
virtual void OnMouseEnter (const wxPoint &pos)
 Event handler called when a mouse pointer enters the shape area. The function can be overrided if necessary. More...
 
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. More...
 
virtual void OnMouseLeave (const wxPoint &pos)
 Event handler called when a mouse pointer leaves the shape area. The function can be overrided if necessary. More...
 
virtual bool OnKey (int key)
 Event handler called when any key is pressed (in the shape canvas). The function can be overrided if necessary. More...
 
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. More...
 
- Public Member Functions inherited from xsSerializable
 XS_DECLARE_CLONABLE_CLASS (xsSerializable)
 
 xsSerializable ()
 Constructor. More...
 
 xsSerializable (const xsSerializable &obj)
 Copy constructor. More...
 
 ~xsSerializable ()
 Destructor. More...
 
xsSerializableGetParent ()
 Get serializable parent object. More...
 
wxXmlSerializerGetParentManager ()
 Get parent data manager (instance of wxXmlSerializer). More...
 
xsSerializableGetFirstChild ()
 Get first serializable child object. More...
 
xsSerializableGetFirstChild (wxClassInfo *type)
 Get first serializable child object of given type. More...
 
xsSerializableGetLastChild ()
 Get last serializable child object. More...
 
xsSerializableGetLastChild (wxClassInfo *type)
 Get last serializable child object of given type. More...
 
xsSerializableGetSibbling ()
 Get next serializable sibbling object. More...
 
xsSerializableGetSibbling (wxClassInfo *type)
 Get next serializable sibbling object of given type. More...
 
xsSerializableGetChild (long id, bool recursive=xsNORECURSIVE)
 Get child item with given ID if exists. More...
 
bool HasChildren () const
 Function finds out whether this serializable item has some children. More...
 
SerializableListGetChildrenList ()
 Get list of children (serializable objects) of this object. More...
 
void GetChildren (wxClassInfo *type, SerializableList &list)
 Get children of given type. More...
 
void GetChildrenRecursively (wxClassInfo *type, SerializableList &list, SEARCHMODE mode=searchBFS)
 Get all children of given type recursively (i.e. children of children of .... ). More...
 
SerializableList::compatibility_iterator GetFirstChildNode () const
 Get pointer to list node containing first serializable child object. More...
 
SerializableList::compatibility_iterator GetLastChildNode () const
 Get pointer to list node containing last serializable child object. More...
 
void SetParent (xsSerializable *parent)
 Set serializable parent object. More...
 
void SetParentManager (wxXmlSerializer *parent)
 Set parent data manager. More...
 
xsSerializableAddChild (xsSerializable *child)
 Add serializable child object to this object. More...
 
xsSerializableInsertChild (size_t pos, xsSerializable *child)
 Insert serializable child object to this object at given position. More...
 
void RemoveChild (xsSerializable *child)
 Remove serializable child item from this object (the child item will be destroyed). More...
 
void RemoveChildren ()
 Remove all child items (all items will be destroyed). More...
 
void Reparent (xsSerializable *parent)
 Assign this object as a child to given parent object. More...
 
void SetId (long id)
 Set ID of this object. Can be used for further objects' handling by wxXmlSerializer class (default ID value is -1). This functions should NOT be used directly; it is called by wxXmlSerializer object in the case that this serializable object is attached to another one (or directly to root node of wxXmlSerializer) by wxXmlSerializer::AddItem() member function. More...
 
long GetId () const
 Get object ID. More...
 
wxXmlNode * SerializeObject (wxXmlNode *node)
 Create new 'object' XML node and serialize all marked class data members (properties) into it. More...
 
void DeserializeObject (wxXmlNode *node)
 Deserialize marked class data members (properties) from appropriate fields of given parent 'object' XML node. More...
 
void AddProperty (xsProperty *property)
 Add new property to the property list. More...
 
void RemoveProperty (xsProperty *property)
 Remove given property from the property list. More...
 
xsPropertyGetProperty (const wxString &field)
 Get serialized property of given name. More...
 
PropertyList & GetProperties ()
 Get reference to properties list. More...
 
void EnablePropertySerialization (const wxString &field, bool enab)
 Enable/disable serialization of given property. More...
 
bool IsPropertySerialized (const wxString &field)
 Returns information whether the given property is serialized or not. More...
 
void EnableSerialization (bool enab)
 Enable/disable object serialization. More...
 
bool IsSerialized () const
 Returns information whether the object can be serialized or not. More...
 
void EnableCloning (bool enab)
 Enable/disable object cloning. More...
 
bool IsCloningEnabled () const
 Returns information whether the object can be cloned or not. More...
 
xsSerializableoperator<< (xsSerializable *child)
 Add serializable child object to this object. More...
 

Protected Member Functions

void NormalizeVertices ()
 Move all vertices so the polygon's relative bounding box position will be located in the origin. More...
 
void FitVerticesToBoundingBox ()
 Scale polygon's vertices to fit into the rectangle bounding the polygon. More...
 
void FitBoundingBoxToVertices ()
 Scale the bounding rectangle to fit all polygons vertices. More...
 
void GetExtents (double *minx, double *miny, double *maxx, double *maxy)
 Get polygon extents. More...
 
void GetTranslatedVerices (wxRealPoint pts[])
 Get absolute positions of the polygon's vertices. More...
 
void GetTranslatedVerices (wxPoint pts[])
 Get absolute positions of the polygon's vertices. More...
 
void DrawPolygonShape (wxDC &dc)
 
virtual void DrawNormal (wxDC &dc)
 Draw the shape in the normal way. The function can be overrided if neccessary. More...
 
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. More...
 
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. More...
 
virtual void DrawShadow (wxDC &dc)
 Draw shadow under the shape. The function can be overrided if neccessary. More...
 
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. More...
 
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. More...
 
- Protected Member Functions inherited from wxSFRectShape
virtual void OnRightHandle (wxSFShapeHandle &handle)
 Event handler called during dragging of the right shape handle. The function can be overrided if neccessary. More...
 
virtual void OnLeftHandle (wxSFShapeHandle &handle)
 Event handler called during dragging of the left shape handle. The function can be overrided if neccessary. More...
 
virtual void OnTopHandle (wxSFShapeHandle &handle)
 Event handler called during dragging of the top shape handle. The function can be overrided if neccessary. More...
 
virtual void OnBottomHandle (wxSFShapeHandle &handle)
 Event handler called during dragging of the bottom shape handle. The function can be overrided if neccessary. More...
 
- Protected Member Functions inherited from wxSFShapeBase
virtual void DrawSelected (wxDC &dc)
 Draw the shape in the selected way. The function can be overrided if neccessary. More...
 
void Refresh (const wxRect &rct, bool delayed=false)
 Repaint the shape. More...
 
wxRealPoint GetParentAbsolutePosition ()
 Get absolute position of the shape parent. More...
 
- Protected Member Functions inherited from xsSerializable
void InitChild (xsSerializable *child)
 Initialize new child object. More...
 

Protected Attributes

bool m_fConnectToVertex
 
wxXS::RealPointArray m_arrVertices
 
- Protected Attributes inherited from wxSFRectShape
wxPen m_Border
 Pen object used for drawing of the rectangle border. More...
 
wxBrush m_Fill
 Brush object used for drawing of the rectangle body. More...
 
wxRealPoint m_nRectSize
 The rectangle size. More...
 
- Protected Attributes inherited from wxSFShapeBase
bool m_fSelected
 Selection flag. More...
 
bool m_fVisible
 Visibility flag. More...
 
bool m_fActive
 Activation flag. More...
 
long m_nStyle
 Shape's style mask. More...
 
wxColour m_nHoverColor
 
wxRealPoint m_nRelativePosition
 
wxArrayString m_arrAcceptedChildren
 String list with class names of accepted child shapes. More...
 
wxArrayString m_arrAcceptedConnections
 String list with class names of accepted connections. More...
 
wxArrayString m_arrAcceptedSrcNeighbours
 String list with class names of accepted source neighbour shapes. More...
 
wxArrayString m_arrAcceptedTrgNeighbours
 String list with class names of accepted target neighbour shapes. More...
 
double m_nVBorder
 Value of vertical border used by AlignV function. More...
 
double m_nHBorder
 Value of horizontal border used by AlignH function. More...
 
VALIGN m_nVAlign
 Vertical alignment of child shapes. More...
 
HALIGN m_nHAlign
 Horizontal alignment of child shapes. More...
 
int m_nCustomDockPoint
 Custom line dock point. More...
 
HandleList m_lstHandles
 Handle list. More...
 
ConnectionPointList m_lstConnectionPts
 
xsSerializablem_pUserData
 Container for serializable user data associated with the shape. More...
 
- Protected Attributes inherited from xsSerializable
PropertyList m_lstProperties
 List of serialized properties. More...
 
SerializableList m_lstChildItems
 List of child objects. More...
 
xsSerializablem_pParentItem
 Pointer to parent serializable object. More...
 
wxXmlSerializerm_pParentManager
 Pointer to parent data manager. More...
 
bool m_fSerialize
 Object serialization flag. More...
 
bool m_fClone
 Object cloning flag. More...
 

Private Member Functions

void MarkSerializableDataMembers ()
 Initialize serializable properties. More...
 

Additional Inherited Members

- Public Types inherited from wxSFShapeBase
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 ,
  sfsPROPAGATE_HOVERING = 65536 , sfsPROPAGATE_HIGHLIGHTING = 131072 , 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 Types inherited from xsSerializable
enum  SEARCHMODE { searchDFS , searchBFS }
 

Detailed Description

Class extends the wxSFRectShape and encapsulates general polygon shape defined by a set of its vertices. The class can be used as it is or as a base class for shapes with more complex form and functionality.

See also
wxSFDiamondShape

Constructor & Destructor Documentation

◆ wxSFPolygonShape() [1/3]

wxSFPolygonShape::wxSFPolygonShape ( void  )

Default constructor.

◆ wxSFPolygonShape() [2/3]

wxSFPolygonShape::wxSFPolygonShape ( int  n,
const wxRealPoint  pts[],
const wxRealPoint &  pos,
wxSFDiagramManager manager 
)

User constructor.

Parameters
nNumber of the polygon vertices
ptsArray of the polygon vertices
posRelative position of the polygon shape
managerPointer of parent diagram manager

◆ wxSFPolygonShape() [3/3]

wxSFPolygonShape::wxSFPolygonShape ( const wxSFPolygonShape obj)

Copy constructor.

Parameters
objReference to a source object

◆ ~wxSFPolygonShape()

virtual wxSFPolygonShape::~wxSFPolygonShape ( void  )
virtual

Destructor.

Member Function Documentation

◆ Deserialize()

virtual void wxSFPolygonShape::Deserialize ( wxXmlNode *  node)
protectedvirtual

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.

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

Reimplemented from wxSFShapeBase.

◆ DrawHighlighted()

virtual void wxSFPolygonShape::DrawHighlighted ( wxDC &  dc)
protectedvirtual

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 from wxSFRectShape.

◆ DrawHover()

virtual void wxSFPolygonShape::DrawHover ( wxDC &  dc)
protectedvirtual

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 from wxSFRectShape.

◆ DrawNormal()

virtual void wxSFPolygonShape::DrawNormal ( wxDC &  dc)
protectedvirtual

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 from wxSFRectShape.

◆ DrawPolygonShape()

void wxSFPolygonShape::DrawPolygonShape ( wxDC &  dc)
protected
\brief Draw the polygon shape.
Parameters
dcRefernece to the device context where the shape will be drawn to

◆ DrawShadow()

virtual void wxSFPolygonShape::DrawShadow ( wxDC &  dc)
protectedvirtual

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 from wxSFRectShape.

◆ FitBoundingBoxToVertices()

void wxSFPolygonShape::FitBoundingBoxToVertices ( )
protected

Scale the bounding rectangle to fit all polygons vertices.

◆ FitToChildren()

virtual void wxSFPolygonShape::FitToChildren ( )
virtual

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

Reimplemented from wxSFRectShape.

◆ FitVerticesToBoundingBox()

void wxSFPolygonShape::FitVerticesToBoundingBox ( )
protected

Scale polygon's vertices to fit into the rectangle bounding the polygon.

◆ GetBorderPoint()

virtual wxRealPoint wxSFPolygonShape::GetBorderPoint ( const wxRealPoint &  start,
const wxRealPoint &  end 
)
virtual
\brief Get intersection point of the shape border and a line leading from
'start' point to 'end' point. The function can be overrided if neccessary.
\param start Starting point of the virtual intersection line
Parameters
endEnding point of the virtual intersection line
Returns
Intersection point

Reimplemented from wxSFRectShape.

◆ GetExtents()

void wxSFPolygonShape::GetExtents ( double *  minx,
double *  miny,
double *  maxx,
double *  maxy 
)
protected

Get polygon extents.

Parameters
minxPosition of the left side of polygon's bounding box
minyPosition of the top side of polygon's bounding box
maxxPosition of the right side of polygon's bounding box
maxyPosition of the bottom side of polygon's bounding box

◆ GetTranslatedVerices() [1/2]

void wxSFPolygonShape::GetTranslatedVerices ( wxPoint  pts[])
protected

Get absolute positions of the polygon's vertices.

Parameters
ptsArray of translated polygon's verices

◆ GetTranslatedVerices() [2/2]

void wxSFPolygonShape::GetTranslatedVerices ( wxRealPoint  pts[])
protected

Get absolute positions of the polygon's vertices.

Parameters
ptsArray of translated polygon's verices

◆ IsConnectedToVertex()

bool wxSFPolygonShape::IsConnectedToVertex ( )
inline

Get status of connecting mode.

Returns
TRUE if the line shapes will be connected to the polygon's vertices

◆ MarkSerializableDataMembers()

void wxSFPolygonShape::MarkSerializableDataMembers ( )
private

Initialize serializable properties.

◆ NormalizeVertices()

void wxSFPolygonShape::NormalizeVertices ( )
protected

Move all vertices so the polygon's relative bounding box position will be located in the origin.

◆ OnHandle()

virtual void wxSFPolygonShape::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).

Parameters
handleReference to dragged handle

Reimplemented from wxSFRectShape.

◆ Scale()

virtual void wxSFPolygonShape::Scale ( double  x,
double  y,
bool  children = sfWITHCHILDREN 
)
virtual
\brief 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 from wxSFRectShape.

◆ Serialize()

virtual wxXmlNode* wxSFPolygonShape::Serialize ( wxXmlNode *  node)
protectedvirtual

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.

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

Reimplemented from wxSFShapeBase.

◆ SetConnectToVertex()

void wxSFPolygonShape::SetConnectToVertex ( bool  enable)
inline

Set connecting mode.

Parameters
enableSet this parameter to TRUE if you want to connect line shapes to the polygons's vertices, otherwise the lines will be connected to the nearest point of the shape's border.

◆ SetVertices()

void wxSFPolygonShape::SetVertices ( size_t  n,
const wxRealPoint  pts[] 
)

Set the poly vertices which define its form.

Parameters
nNumber of the vertices
ptsArray of the vertices

◆ XS_DECLARE_CLONABLE_CLASS()

wxSFPolygonShape::XS_DECLARE_CLONABLE_CLASS ( wxSFPolygonShape  )

Member Data Documentation

◆ m_arrVertices

wxXS::RealPointArray wxSFPolygonShape::m_arrVertices
protected

◆ m_fConnectToVertex

bool wxSFPolygonShape::m_fConnectToVertex
protected

The documentation for this class was generated from the following file: