1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: SWIG definitions for the wxWindows Object Graphics Library
7 // Created: 3-Sept-1999
9 // Copyright: (c) 1998 by Total Control Software
10 // Licence: wxWindows license
11 /////////////////////////////////////////////////////////////////////////////
18 #include "oglhelpers.h"
21 //---------------------------------------------------------------------------
24 %include my_typemaps.i
37 %pragma(python) code = "import wx"
39 //---------------------------------------------------------------------------
40 //---------------------------------------------------------------------------
41 //---------------------------------------------------------------------------
43 class wxPseudoMetaFile : public wxObject {
48 void Draw(wxDC& dc, double xoffset, double yoffset);
50 void WriteAttributes(wxExpr *clause, int whichAngle);
51 void ReadAttributes(wxExpr *clause, int whichAngle);
53 void Copy(wxPseudoMetaFile& copy);
54 void Scale(double sx, double sy);
55 void ScaleTo(double w, double h);
56 void Translate(double x, double y);
57 void Rotate(double x, double y, double theta);
58 bool LoadFromMetaFile(char* filename, double *width, double *height);
59 void GetBounds(double *minX, double *minY, double *maxX, double *maxY);
60 void CalculateSize(wxPyDrawnShape* shape);
62 // **** fix these... is it even possible? these are lists of various GDI opperations (not the objects...)
63 // wxList& GetOutlineColours();
64 // wxList& GetFillColours();
67 void SetRotateable(bool rot);
69 void SetSize(double w, double h);
70 void SetFillBrush(wxBrush* brush);
71 wxBrush* GetFillBrush();
72 void SetOutlinePen(wxPen* pen);
73 wxPen* GetOutlinePen();
74 void SetOutlineOp(int op);
79 void DrawLine(const wxPoint& pt1, const wxPoint& pt2);
80 void DrawRectangle(const wxRect& rect);
81 void DrawRoundedRectangle(const wxRect& rect, double radius);
82 void DrawArc(const wxPoint& centrePt, const wxPoint& startPt, const wxPoint& endPt);
83 void DrawEllipticArc(const wxRect& rect, double startAngle, double endAngle);
84 void DrawEllipse(const wxRect& rect);
85 void DrawPoint(const wxPoint& pt);
86 void DrawText(const wxString& text, const wxPoint& pt);
87 void DrawLines(int PCOUNT, wxPoint* points);
88 void DrawPolygon(int PCOUNT, wxPoint* points, int flags = 0);
89 void DrawSpline(int PCOUNT, wxPoint* points);
90 void SetClippingRect(const wxRect& rect);
91 void DestroyClippingRect();
92 void SetPen(wxPen* pen, bool isOutline = FALSE);
93 void SetBrush(wxBrush* brush, bool isFill = FALSE);
94 void SetFont(wxFont* font);
95 void SetTextColour(const wxColour& colour);
96 void SetBackgroundColour(const wxColour& colour);
97 void SetBackgroundMode(int mode);
101 //---------------------------------------------------------------------------
104 WXSHAPE_IMP_CALLBACKS(wxPyRectangleShape, wxRectangleShape);
107 class wxPyRectangleShape : public wxPyShape {
109 wxPyRectangleShape(double width = 0.0, double height = 0.0);
111 void _setCallbackInfo(PyObject* self, PyObject* _class);
112 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyRectangleShape)"
113 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
115 void SetCornerRadius(double radius);
117 void base_OnDelete();
118 void base_OnDraw(wxDC& dc);
119 void base_OnDrawContents(wxDC& dc);
120 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
121 void base_OnMoveLinks(wxDC& dc);
122 void base_OnErase(wxDC& dc);
123 void base_OnEraseContents(wxDC& dc);
124 void base_OnHighlight(wxDC& dc);
125 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
126 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
127 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
128 void base_OnSize(double x, double y);
129 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
130 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
131 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
132 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
133 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
134 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
135 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
136 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
137 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
138 void base_OnDrawControlPoints(wxDC& dc);
139 void base_OnEraseControlPoints(wxDC& dc);
140 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
141 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
142 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
143 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
144 void base_OnBeginSize(double w, double h);
145 void base_OnEndSize(double w, double h);
146 // void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
149 //---------------------------------------------------------------------------
152 WXSHAPE_IMP_CALLBACKS(wxPyControlPoint, wxControlPoint);
155 class wxPyControlPoint : public wxPyRectangleShape {
157 wxPyControlPoint(wxPyShapeCanvas *the_canvas = NULL,
158 wxPyShape *object = NULL,
159 double size = 0.0, double the_xoffset = 0.0,
160 double the_yoffset = 0.0, int the_type = 0);
162 void _setCallbackInfo(PyObject* self, PyObject* _class);
163 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyControlPoint)"
164 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
166 void SetCornerRadius(double radius);
168 void base_OnDelete();
169 void base_OnDraw(wxDC& dc);
170 void base_OnDrawContents(wxDC& dc);
171 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
172 void base_OnMoveLinks(wxDC& dc);
173 void base_OnErase(wxDC& dc);
174 void base_OnEraseContents(wxDC& dc);
175 void base_OnHighlight(wxDC& dc);
176 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
177 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
178 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
179 void base_OnSize(double x, double y);
180 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
181 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
182 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
183 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
184 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
185 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
186 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
187 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
188 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
189 void base_OnDrawControlPoints(wxDC& dc);
190 void base_OnEraseControlPoints(wxDC& dc);
191 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
192 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
193 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
194 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
195 void base_OnBeginSize(double w, double h);
196 void base_OnEndSize(double w, double h);
197 // void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
200 //---------------------------------------------------------------------------
202 WXSHAPE_IMP_CALLBACKS(wxPyBitmapShape, wxBitmapShape);
206 class wxPyBitmapShape : public wxPyRectangleShape {
210 void _setCallbackInfo(PyObject* self, PyObject* _class);
211 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyBitmapShape)"
212 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
214 wxBitmap& GetBitmap();
215 wxString GetFilename();
216 void SetBitmap(const wxBitmap& bitmap);
217 void SetFilename(const wxString& filename);
219 void base_OnDelete();
220 void base_OnDraw(wxDC& dc);
221 void base_OnDrawContents(wxDC& dc);
222 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
223 void base_OnMoveLinks(wxDC& dc);
224 void base_OnErase(wxDC& dc);
225 void base_OnEraseContents(wxDC& dc);
226 void base_OnHighlight(wxDC& dc);
227 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
228 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
229 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
230 void base_OnSize(double x, double y);
231 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
232 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
233 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
234 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
235 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
236 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
237 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
238 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
239 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
240 void base_OnDrawControlPoints(wxDC& dc);
241 void base_OnEraseControlPoints(wxDC& dc);
242 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
243 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
244 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
245 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
246 void base_OnBeginSize(double w, double h);
247 void base_OnEndSize(double w, double h);
248 // void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
251 //---------------------------------------------------------------------------
253 WXSHAPE_IMP_CALLBACKS(wxPyDrawnShape, wxDrawnShape);
256 class wxPyDrawnShape : public wxPyRectangleShape {
260 void _setCallbackInfo(PyObject* self, PyObject* _class);
261 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyDrawnShape)"
262 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
264 void CalculateSize();
265 void DestroyClippingRect();
266 void DrawArc(const wxPoint& centrePoint, const wxPoint& startPoint,
267 const wxPoint& endPoint);
268 void DrawAtAngle(int angle);
269 void DrawEllipticArc(const wxRect& rect, double startAngle, double endAngle);
270 void DrawLine(const wxPoint& point1, const wxPoint& point2);
271 void DrawLines(int PCOUNT, wxPoint* points);
272 void DrawPoint(const wxPoint& point);
273 void DrawPolygon(int PCOUNT, wxPoint* points, int flags = 0);
274 void DrawRectangle(const wxRect& rect);
275 void DrawRoundedRectangle(const wxRect& rect, double radius);
276 void DrawSpline(int PCOUNT, wxPoint* points);
277 void DrawText(const wxString& text, const wxPoint& point);
280 wxPseudoMetaFile& GetMetaFile();
282 double GetRotation();
283 bool LoadFromMetaFile(char * filename);
284 void Rotate(double x, double y, double theta);
285 void SetClippingRect(const wxRect& rect);
286 void SetDrawnBackgroundColour(const wxColour& colour);
287 void SetDrawnBackgroundMode(int mode);
288 void SetDrawnBrush(wxBrush* pen, bool isOutline = FALSE);
289 void SetDrawnFont(wxFont* font);
290 void SetDrawnPen(wxPen* pen, bool isOutline = FALSE);
291 void SetDrawnTextColour(const wxColour& colour);
292 void Scale(double sx, double sy);
293 void SetSaveToFile(bool save);
294 void Translate(double x, double y);
297 void base_OnDelete();
298 void base_OnDraw(wxDC& dc);
299 void base_OnDrawContents(wxDC& dc);
300 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
301 void base_OnMoveLinks(wxDC& dc);
302 void base_OnErase(wxDC& dc);
303 void base_OnEraseContents(wxDC& dc);
304 void base_OnHighlight(wxDC& dc);
305 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
306 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
307 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
308 void base_OnSize(double x, double y);
309 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
310 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
311 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
312 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
313 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
314 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
315 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
316 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
317 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
318 void base_OnDrawControlPoints(wxDC& dc);
319 void base_OnEraseControlPoints(wxDC& dc);
320 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
321 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
322 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
323 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
324 void base_OnBeginSize(double w, double h);
325 void base_OnEndSize(double w, double h);
326 // void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
331 //---------------------------------------------------------------------------
333 class wxOGLConstraint : public wxObject {
335 //wxOGLConstraint(int type, wxPyShape *constraining, wxList& constrained);
337 wxOGLConstraint(int type, wxPyShape *constraining, PyObject* constrained) {
338 wxList* list = wxPy_wxListHelper(constrained, "_wxPyShape_p");
339 wxOGLConstraint* rv = new wxOGLConstraint(type, constraining, *list);
345 //~wxOGLConstraint(); The wxCompositShape takes ownership of the constraint
348 void SetSpacing(double x, double y);
349 bool Equals(double a, double b);
355 //---------------------------------------------------------------------------
358 WXSHAPE_IMP_CALLBACKS(wxPyCompositeShape, wxCompositeShape);
361 class wxPyCompositeShape : public wxPyRectangleShape {
363 wxPyCompositeShape();
365 void _setCallbackInfo(PyObject* self, PyObject* _class);
366 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyCompositeShape)"
367 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
369 void AddChild(wxPyShape *child, wxPyShape *addAfter = NULL);
371 wxOGLConstraint * AddConstraint(wxOGLConstraint *constraint);
374 //wxOGLConstraint * AddConstraint(int type,
375 // wxPyShape *constraining,
376 // wxList& constrained);
378 wxOGLConstraint * AddConstrainedShapes(int type, wxPyShape *constraining,
379 PyObject* constrained) {
380 wxList* list = wxPy_wxListHelper(constrained, "_wxPyShape_p");
381 wxOGLConstraint* rv = self->AddConstraint(type, constraining, *list);
387 %name(AddSimpleConstraint)wxOGLConstraint* AddConstraint(int type,
388 wxPyShape *constraining,
389 wxPyShape *constrained);
391 void CalculateSize();
392 bool ContainsDivision(wxPyDivisionShape *division);
393 void DeleteConstraint(wxOGLConstraint *constraint);
394 void DeleteConstraintsInvolvingChild(wxPyShape *child);
396 // **** Needs an output typemap
397 //wxOGLConstraint * FindConstraint(long id, wxPyCompositeShape **actualComposite);
399 wxPyShape * FindContainerImage();
401 // wxList& GetConstraints();
402 // wxList& GetDivisions();
404 PyObject* GetConstraints() {
405 wxList& list = self->GetConstraints();
406 return wxPy_ConvertList(&list, "wxOGLConstraint");
409 PyObject* GetDivisions() {
410 wxList& list = self->GetDivisions();
411 return wxPy_ConvertShapeList(&list, "wxPyDivisionShape");
415 void MakeContainer();
417 void RemoveChild(wxPyShape *child);
420 void base_OnDelete();
421 void base_OnDraw(wxDC& dc);
422 void base_OnDrawContents(wxDC& dc);
423 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
424 void base_OnMoveLinks(wxDC& dc);
425 void base_OnErase(wxDC& dc);
426 void base_OnEraseContents(wxDC& dc);
427 void base_OnHighlight(wxDC& dc);
428 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
429 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
430 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
431 void base_OnSize(double x, double y);
432 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
433 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
434 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
435 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
436 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
437 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
438 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
439 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
440 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
441 void base_OnDrawControlPoints(wxDC& dc);
442 void base_OnEraseControlPoints(wxDC& dc);
443 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
444 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
445 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
446 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
447 void base_OnBeginSize(double w, double h);
448 void base_OnEndSize(double w, double h);
449 // void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
454 //---------------------------------------------------------------------------
457 WXSHAPE_IMP_CALLBACKS(wxPyDividedShape, wxDividedShape);
460 class wxPyDividedShape : public wxPyRectangleShape {
462 wxPyDividedShape(double width = 0.0, double height = 0.0);
464 void _setCallbackInfo(PyObject* self, PyObject* _class);
465 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyDividedShape)"
466 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
469 void SetRegionSizes();
471 void base_OnDelete();
472 void base_OnDraw(wxDC& dc);
473 void base_OnDrawContents(wxDC& dc);
474 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
475 void base_OnMoveLinks(wxDC& dc);
476 void base_OnErase(wxDC& dc);
477 void base_OnEraseContents(wxDC& dc);
478 void base_OnHighlight(wxDC& dc);
479 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
480 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
481 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
482 void base_OnSize(double x, double y);
483 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
484 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
485 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
486 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
487 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
488 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
489 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
490 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
491 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
492 void base_OnDrawControlPoints(wxDC& dc);
493 void base_OnEraseControlPoints(wxDC& dc);
494 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
495 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
496 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
497 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
498 void base_OnBeginSize(double w, double h);
499 void base_OnEndSize(double w, double h);
500 // void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
505 //---------------------------------------------------------------------------
507 WXSHAPE_IMP_CALLBACKS(wxPyDivisionShape, wxDivisionShape);
510 class wxPyDivisionShape : public wxPyCompositeShape {
514 void _setCallbackInfo(PyObject* self, PyObject* _class);
515 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyDivisionShape)"
516 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
518 void AdjustBottom(double bottom, bool test);
519 void AdjustLeft(double left, bool test);
520 void AdjustRight(double right, bool test);
521 void AdjustTop(double top, bool test);
522 void Divide(int direction);
523 void EditEdge(int side);
524 wxPyDivisionShape * GetBottomSide();
526 wxPyDivisionShape * GetLeftSide();
527 wxString GetLeftSideColour();
528 wxPen * GetLeftSidePen();
529 wxPyDivisionShape * GetRightSide();
530 wxPyDivisionShape * GetTopSide();
531 wxPen * GetTopSidePen();
532 void ResizeAdjoining(int side, double newPos, bool test);
533 void PopupMenu(double x, double y);
534 void SetBottomSide(wxPyDivisionShape *shape);
535 void SetHandleSide(int side);
536 void SetLeftSide(wxPyDivisionShape *shape);
537 void SetLeftSideColour(const wxString& colour);
538 void SetLeftSidePen(wxPen *pen);
539 void SetRightSide(wxPyDivisionShape *shape);
540 void SetTopSide(wxPyDivisionShape *shape);
541 void SetTopSideColour(const wxString& colour);
542 void SetTopSidePen(wxPen *pen);
546 void base_OnDelete();
547 void base_OnDraw(wxDC& dc);
548 void base_OnDrawContents(wxDC& dc);
549 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
550 void base_OnMoveLinks(wxDC& dc);
551 void base_OnErase(wxDC& dc);
552 void base_OnEraseContents(wxDC& dc);
553 void base_OnHighlight(wxDC& dc);
554 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
555 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
556 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
557 void base_OnSize(double x, double y);
558 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
559 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
560 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
561 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
562 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
563 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
564 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
565 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
566 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
567 void base_OnDrawControlPoints(wxDC& dc);
568 void base_OnEraseControlPoints(wxDC& dc);
569 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
570 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
571 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
572 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
573 void base_OnBeginSize(double w, double h);
574 void base_OnEndSize(double w, double h);
575 // void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
581 //---------------------------------------------------------------------------