int GetFormatMode();
wxString GetName();
wxString GetColour();
- wxColour *GetActualColourObject();
+ wxColour GetActualColourObject();
wxList& GetFormattedText();
wxString GetPenColour();
int GetPenStyle();
};
+//---------------------------------------------------------------------------
+
+/*
+ * User-defined attachment point
+ */
+
+class wxAttachmentPoint: public wxObject
+{
+public:
+ wxAttachmentPoint(int id=0, double x=0.0, double y=0.0);
+ int m_id; // Identifier
+ double m_x; // x offset from centre of object
+ double m_y; // y offset from centre of object
+};
+
+
//---------------------------------------------------------------------------
%{
class wxPyShapeEvtHandler : public wxObject {
public:
- %addtofunc wxPyShapeEvtHandler "self._setOORandCallbackInfo(PyShapeEvtHandler)"
-
+ %pythonAppend wxPyShapeEvtHandler "self._setOORandCallbackInfo(PyShapeEvtHandler)"
+ %typemap(out) wxPyShapeEvtHandler*; // turn off this typemap
+
wxPyShapeEvtHandler(wxPyShapeEvtHandler *prev = NULL,
wxPyShape *shape = NULL);
+ %typemap(out) wxPyShapeEvtHandler* { $result = wxPyMake_wxShapeEvtHandler($1, $owner); }
+
+
void _setCallbackInfo(PyObject* self, PyObject* _class);
%extend {
void _setOORInfo(PyObject* _self) {
void base_OnDelete();
void base_OnDraw(wxDC& dc);
void base_OnDrawContents(wxDC& dc);
- void base_OnDrawBranches(wxDC& dc, bool erase = False);
+ void base_OnDrawBranches(wxDC& dc, bool erase = false);
void base_OnMoveLinks(wxDC& dc);
void base_OnErase(wxDC& dc);
void base_OnEraseContents(wxDC& dc);
void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
void base_OnSize(double x, double y);
- bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = True);
- void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = True);
+ bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = true);
+ void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = true);
void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
void base_OnDrawControlPoints(wxDC& dc);
void base_OnEraseControlPoints(wxDC& dc);
- void base_OnMoveLink(wxDC& dc, bool moveControlPoints = True);
+ void base_OnMoveLink(wxDC& dc, bool moveControlPoints = true);
void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
class wxPyShape : public wxPyShapeEvtHandler {
public:
- %addtofunc wxPyShape "self._setOORandCallbackInfo(PyShapeEvtHandler)"
-
+ %pythonAppend wxPyShape "self._setOORandCallbackInfo(PyShape)"
+ %typemap(out) wxPyShape*; // turn off this typemap
+
wxPyShape(wxPyShapeCanvas *can = NULL);
+ %typemap(out) wxPyShape* { $result = wxPyMake_wxShapeEvtHandler($1, $owner); }
+
void _setCallbackInfo(PyObject* self, PyObject* _class);
void GetBoundingBoxMax(double *OUTPUT, double *OUTPUT);
void ResetMandatoryControlPoints();
bool Recompute();
void CalculateSize();
- void Select(bool select = True, wxDC* dc = NULL);
- void SetHighlight(bool hi = True, bool recurse = False);
+ void Select(bool select = true, wxDC* dc = NULL);
+ void SetHighlight(bool hi = true, bool recurse = false);
bool IsHighlighted() ;
bool Selected();
bool AncestorSelected();
- void SetSensitivityFilter(int sens = OP_ALL, bool recursive = False);
+ void SetSensitivityFilter(int sens = OP_ALL, bool recursive = false);
int GetSensitivityFilter();
- void SetDraggable(bool drag, bool recursive = False);
+ void SetDraggable(bool drag, bool recursive = false);
void SetFixedSize(bool x, bool y);
void GetFixedSize(bool *OUTPUT, bool *OUTPUT) ;
bool GetFixedWidth();
bool GetFixedHeight();
void SetSpaceAttachments(bool sp);
bool GetSpaceAttachments() ;
- void SetShadowMode(int mode, bool redraw = False);
+ void SetShadowMode(int mode, bool redraw = false);
int GetShadowMode();
bool HitTest(double x, double y, int *OUTPUT, double *OUTPUT);
void SetCentreResize(bool cr);
void Show(bool show);
bool IsShown();
- void Move(wxDC& dc, double x1, double y1, bool display = True);
+ void Move(wxDC& dc, double x1, double y1, bool display = true);
void Erase(wxDC& dc);
void EraseContents(wxDC& dc);
void Draw(wxDC& dc);
void Flash();
void MoveLinks(wxDC& dc);
void DrawContents(wxDC& dc);
- void SetSize(double x, double y, bool recursive = True);
+ void SetSize(double x, double y, bool recursive = true);
void SetAttachmentSize(double x, double y);
void Attach(wxPyShapeCanvas *can);
void Detach();
void SetRegionName(const wxString& name, int regionId = 0);
wxString GetRegionName(int regionId);
int GetRegionId(const wxString& name);
- void NameRegions(const wxString& parentName = "");
+ void NameRegions(const wxString& parentName = wxPyEmptyString);
// wxList& GetRegions();
%extend {
int nth = 0, int no_arcs = 1, wxPyLineShape *line = NULL);
int GetNumberOfAttachments();
bool AttachmentIsValid(int attachment);
+
+ %extend {
+ PyObject* GetAttachments() {
+ wxList& list = self->GetAttachments();
+ return wxPy_ConvertList(&list);
+ }
+ }
+
bool GetAttachmentPositionEdge(int attachment, double *OUTPUT, double *OUTPUT,
int nth = 0, int no_arcs = 1, wxPyLineShape *line = NULL);
wxRealPoint CalcSimpleAttachment(const wxRealPoint& pt1, const wxRealPoint& pt2,
int nth, int noArcs, wxPyLineShape* line);
bool AttachmentSortTest(int attachmentPoint, const wxRealPoint& pt1, const wxRealPoint& pt2);
- void EraseLinks(wxDC& dc, int attachment = -1, bool recurse = False);
- void DrawLinks(wxDC& dc, int attachment = -1, bool recurse = False);
+ void EraseLinks(wxDC& dc, int attachment = -1, bool recurse = false);
+ void DrawLinks(wxDC& dc, int attachment = -1, bool recurse = false);
bool MoveLineToNewAttachment(wxDC& dc, wxPyLineShape *to_move,
double x, double y);
int LogicalToPhysicalAttachment(int logicalAttachment);
bool Draggable();
bool HasDescendant(wxPyShape *image);
- wxPyShape *CreateNewCopy(bool resetMapping = True, bool recompute = True);
+ wxPyShape *CreateNewCopy(bool resetMapping = true, bool recompute = true);
void Copy(wxPyShape& copy);
void CopyWithHandler(wxPyShape& copy);
void Rotate(double x, double y, double theta);
double GetRotation();
+ void SetRotation(double rotation);
void ClearAttachments();
void Recentre(wxDC& dc);
void ClearPointList(wxList& list);
void base_OnDelete();
void base_OnDraw(wxDC& dc);
void base_OnDrawContents(wxDC& dc);
- void base_OnDrawBranches(wxDC& dc, bool erase = False);
+ void base_OnDrawBranches(wxDC& dc, bool erase = false);
void base_OnMoveLinks(wxDC& dc);
void base_OnErase(wxDC& dc);
void base_OnEraseContents(wxDC& dc);
void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
void base_OnSize(double x, double y);
- bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = True);
- void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = True);
+ bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = true);
+ void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = true);
void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
void base_OnDrawControlPoints(wxDC& dc);
void base_OnEraseControlPoints(wxDC& dc);
- void base_OnMoveLink(wxDC& dc, bool moveControlPoints = True);
+ void base_OnMoveLink(wxDC& dc, bool moveControlPoints = true);
void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);