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);
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);
bool ClearArrow(const wxString& name);
void ClearArrowsAtPosition(int position = -1);
void DrawArrow(wxDC& dc, wxArrowHead *arrow, double xOffset, bool proportionalOffset);
- %name(DeleteArrowHeadId)bool DeleteArrowHead(long arrowId);
+ %Rename(DeleteArrowHeadId, bool, DeleteArrowHead(long arrowId));
bool DeleteArrowHead(int position, const wxString& name);
bool DeleteLineControlPoint();
void DrawArrows(wxDC& dc);
void DrawRegion(wxDC& dc, wxShapeRegion *region, double x, double y);
void EraseRegion(wxDC& dc, wxShapeRegion *region, double x, double y);
- %name(FindArrowHeadId)wxArrowHead * FindArrowHead(long arrowId);
+ %Rename(FindArrowHeadId, wxArrowHead *, FindArrowHead(long arrowId));
wxArrowHead * FindArrowHead(int position, const wxString& name);
void FindLineEndPoints(double *OUTPUT, double *OUTPUT,
double *OUTPUT, double *OUTPUT);
%extend {
PyObject* GetLineControlPoints() {
wxList* list = self->GetLineControlPoints();
- return wxPy_ConvertShapeList(list);
+ return wxPy_ConvertRealPointList(list);
+ }
+
+ // part of Patch# 893337
+ void SetLineControlPoints(PyObject* list) {
+ wxList* real_point_list = wxPy_wxRealPoint_ListHelper(list);
+ self->MakeLineControlPoints((int)(real_point_list->GetCount()));
+ wxList* old_control_points = self->GetLineControlPoints();
+ wxNode* old_node = old_control_points->GetFirst();
+ wxNode* real_node = real_point_list->GetFirst();
+ while(old_node)
+ {
+ wxRealPoint* old_point = (wxRealPoint*)old_node->GetData();
+ wxRealPoint* new_point = (wxRealPoint*)real_node->GetData();
+ old_point->x = new_point->x;
+ old_point->y = new_point->y;
+ old_node = old_node->GetNext();
+ real_node = real_node->GetNext();
+ }
+ self->ClearPointList(*real_point_list);
+ delete real_point_list;
}
}
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);
%extend {
PyObject* GetPoints() {
wxList* list = self->GetPoints();
- PyObject* pyList;
- PyObject* pyObj;
- wxObject* wxObj;
- wxNode* node = list->GetFirst();
-
- wxPyBeginBlockThreads();
- pyList = PyList_New(0);
- while (node) {
- wxObj = node->GetData();
- pyObj = wxPyConstructObject(wxObj, wxT("wxRealPoint"), 0);
- PyList_Append(pyList, pyObj);
- node = node->GetNext();
- }
- wxPyEndBlockThreads();
- return pyList;
+ return wxPy_ConvertRealPointList(list);
}
PyObject* GetOriginalPoints() {
wxObject* wxObj;
wxNode* node = list->GetFirst();
- wxPyBeginBlockThreads();
+ wxPyBlock_t blocked = wxPyBeginBlockThreads();
pyList = PyList_New(0);
while (node) {
wxObj = node->GetData();
PyList_Append(pyList, pyObj);
node = node->GetNext();
}
- wxPyEndBlockThreads();
+ wxPyEndBlockThreads(blocked);
return pyList;
}
}
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);
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);