]> git.saurik.com Git - wxWidgets.git/blame - wxPython/contrib/ogl/oglshapes.i
Added missing }
[wxWidgets.git] / wxPython / contrib / ogl / oglshapes.i
CommitLineData
e91a9dfc
RD
1/////////////////////////////////////////////////////////////////////////////
2// Name: oglshapes.i
3// Purpose: SWIG definitions for the wxWindows Object Graphics Library
4//
5// Author: Robin Dunn
6//
7// Created: 3-Sept-1999
8// RCS-ID: $Id$
9// Copyright: (c) 1998 by Total Control Software
10// Licence: wxWindows license
11/////////////////////////////////////////////////////////////////////////////
12
13
14%module oglshapes
15
16%{
6e2129f9 17#include "wxPython.h"
e91a9dfc
RD
18#include "oglhelpers.h"
19%}
20
21//---------------------------------------------------------------------------
22
23%include typemaps.i
24%include my_typemaps.i
25
26%extern wx.i
27%import windows.i
28%extern _defs.i
29%extern misc.i
30%extern gdi.i
31
32%include _ogldefs.i
33
34%import oglbasic.i
35
36
37%pragma(python) code = "import wx"
38
39//---------------------------------------------------------------------------
40//---------------------------------------------------------------------------
41//---------------------------------------------------------------------------
42
9416aa89 43class wxPseudoMetaFile : public wxObject {
e91a9dfc
RD
44public:
45 wxPseudoMetaFile();
46 ~wxPseudoMetaFile();
47
48 void Draw(wxDC& dc, double xoffset, double yoffset);
1e4a197e 49#ifdef wxUSE_PROLOGIO
e91a9dfc
RD
50 void WriteAttributes(wxExpr *clause, int whichAngle);
51 void ReadAttributes(wxExpr *clause, int whichAngle);
1e4a197e 52#endif
e91a9dfc
RD
53 void Clear();
54 void Copy(wxPseudoMetaFile& copy);
55 void Scale(double sx, double sy);
56 void ScaleTo(double w, double h);
57 void Translate(double x, double y);
58 void Rotate(double x, double y, double theta);
1e4a197e 59 bool LoadFromMetaFile(const wxString& filename, double *width, double *height);
e91a9dfc 60 void GetBounds(double *minX, double *minY, double *maxX, double *maxY);
3bd1e033 61 void CalculateSize(wxPyDrawnShape* shape);
e91a9dfc
RD
62
63 // **** fix these... is it even possible? these are lists of various GDI opperations (not the objects...)
64 // wxList& GetOutlineColours();
65 // wxList& GetFillColours();
66 // wxList& GetOps();
67
68 void SetRotateable(bool rot);
69 bool GetRotateable();
70 void SetSize(double w, double h);
71 void SetFillBrush(wxBrush* brush);
72 wxBrush* GetFillBrush();
73 void SetOutlinePen(wxPen* pen);
74 wxPen* GetOutlinePen();
75 void SetOutlineOp(int op);
76 int GetOutlineOp();
77
78
79 bool IsValid();
80 void DrawLine(const wxPoint& pt1, const wxPoint& pt2);
81 void DrawRectangle(const wxRect& rect);
82 void DrawRoundedRectangle(const wxRect& rect, double radius);
83 void DrawArc(const wxPoint& centrePt, const wxPoint& startPt, const wxPoint& endPt);
84 void DrawEllipticArc(const wxRect& rect, double startAngle, double endAngle);
85 void DrawEllipse(const wxRect& rect);
86 void DrawPoint(const wxPoint& pt);
87 void DrawText(const wxString& text, const wxPoint& pt);
eec92d76
RD
88 void DrawLines(int PCOUNT, wxPoint* points);
89 void DrawPolygon(int PCOUNT, wxPoint* points, int flags = 0);
90 void DrawSpline(int PCOUNT, wxPoint* points);
e91a9dfc
RD
91 void SetClippingRect(const wxRect& rect);
92 void DestroyClippingRect();
93 void SetPen(wxPen* pen, bool isOutline = FALSE);
94 void SetBrush(wxBrush* brush, bool isFill = FALSE);
95 void SetFont(wxFont* font);
96 void SetTextColour(const wxColour& colour);
97 void SetBackgroundColour(const wxColour& colour);
98 void SetBackgroundMode(int mode);
99};
100
101
102//---------------------------------------------------------------------------
103
104%{
105 WXSHAPE_IMP_CALLBACKS(wxPyRectangleShape, wxRectangleShape);
106%}
107
108class wxPyRectangleShape : public wxPyShape {
109public:
110 wxPyRectangleShape(double width = 0.0, double height = 0.0);
111
0122b7e3
RD
112 void _setCallbackInfo(PyObject* self, PyObject* _class);
113 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyRectangleShape)"
2f4e9287 114 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
e91a9dfc
RD
115
116 void SetCornerRadius(double radius);
117
118 void base_OnDelete();
119 void base_OnDraw(wxDC& dc);
120 void base_OnDrawContents(wxDC& dc);
121 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
122 void base_OnMoveLinks(wxDC& dc);
123 void base_OnErase(wxDC& dc);
124 void base_OnEraseContents(wxDC& dc);
125 void base_OnHighlight(wxDC& dc);
126 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
127 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
128 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
129 void base_OnSize(double x, double y);
130 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
131 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
132 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
133 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
134 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
135 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
136 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
137 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
138 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
139 void base_OnDrawControlPoints(wxDC& dc);
140 void base_OnEraseControlPoints(wxDC& dc);
141 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
2348eaee
RD
142 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
143 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
144 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
145 void base_OnBeginSize(double w, double h);
146 void base_OnEndSize(double w, double h);
147// void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
148};
149
150//---------------------------------------------------------------------------
151
152%{
153 WXSHAPE_IMP_CALLBACKS(wxPyControlPoint, wxControlPoint);
154%}
155
156class wxPyControlPoint : public wxPyRectangleShape {
157public:
158 wxPyControlPoint(wxPyShapeCanvas *the_canvas = NULL,
159 wxPyShape *object = NULL,
160 double size = 0.0, double the_xoffset = 0.0,
161 double the_yoffset = 0.0, int the_type = 0);
162
0122b7e3
RD
163 void _setCallbackInfo(PyObject* self, PyObject* _class);
164 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyControlPoint)"
2f4e9287 165 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
2348eaee
RD
166
167 void SetCornerRadius(double radius);
168
169 void base_OnDelete();
170 void base_OnDraw(wxDC& dc);
171 void base_OnDrawContents(wxDC& dc);
172 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
173 void base_OnMoveLinks(wxDC& dc);
174 void base_OnErase(wxDC& dc);
175 void base_OnEraseContents(wxDC& dc);
176 void base_OnHighlight(wxDC& dc);
177 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
178 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
179 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
180 void base_OnSize(double x, double y);
181 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
182 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
183 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
184 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
185 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
186 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
187 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
188 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
189 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
190 void base_OnDrawControlPoints(wxDC& dc);
191 void base_OnEraseControlPoints(wxDC& dc);
192 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
193 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
194 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
195 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
e91a9dfc
RD
196 void base_OnBeginSize(double w, double h);
197 void base_OnEndSize(double w, double h);
198// void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
199};
200
201//---------------------------------------------------------------------------
202%{
203 WXSHAPE_IMP_CALLBACKS(wxPyBitmapShape, wxBitmapShape);
204%}
205
206
207class wxPyBitmapShape : public wxPyRectangleShape {
208public:
209 wxPyBitmapShape();
210
0122b7e3
RD
211 void _setCallbackInfo(PyObject* self, PyObject* _class);
212 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyBitmapShape)"
2f4e9287 213 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
e91a9dfc
RD
214
215 wxBitmap& GetBitmap();
216 wxString GetFilename();
217 void SetBitmap(const wxBitmap& bitmap);
218 void SetFilename(const wxString& filename);
219
220 void base_OnDelete();
221 void base_OnDraw(wxDC& dc);
222 void base_OnDrawContents(wxDC& dc);
223 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
224 void base_OnMoveLinks(wxDC& dc);
225 void base_OnErase(wxDC& dc);
226 void base_OnEraseContents(wxDC& dc);
227 void base_OnHighlight(wxDC& dc);
228 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
229 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
230 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
231 void base_OnSize(double x, double y);
232 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
233 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
234 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
235 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
236 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
237 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
238 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
239 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
240 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
241 void base_OnDrawControlPoints(wxDC& dc);
242 void base_OnEraseControlPoints(wxDC& dc);
243 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
2348eaee
RD
244 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
245 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
246 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
e91a9dfc
RD
247 void base_OnBeginSize(double w, double h);
248 void base_OnEndSize(double w, double h);
249// void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
250};
251
252//---------------------------------------------------------------------------
253%{
254 WXSHAPE_IMP_CALLBACKS(wxPyDrawnShape, wxDrawnShape);
255%}
256
257class wxPyDrawnShape : public wxPyRectangleShape {
258public:
259 wxPyDrawnShape();
260
0122b7e3
RD
261 void _setCallbackInfo(PyObject* self, PyObject* _class);
262 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyDrawnShape)"
2f4e9287 263 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
e91a9dfc
RD
264
265 void CalculateSize();
266 void DestroyClippingRect();
267 void DrawArc(const wxPoint& centrePoint, const wxPoint& startPoint,
268 const wxPoint& endPoint);
269 void DrawAtAngle(int angle);
270 void DrawEllipticArc(const wxRect& rect, double startAngle, double endAngle);
271 void DrawLine(const wxPoint& point1, const wxPoint& point2);
eec92d76 272 void DrawLines(int PCOUNT, wxPoint* points);
e91a9dfc 273 void DrawPoint(const wxPoint& point);
eec92d76 274 void DrawPolygon(int PCOUNT, wxPoint* points, int flags = 0);
e91a9dfc
RD
275 void DrawRectangle(const wxRect& rect);
276 void DrawRoundedRectangle(const wxRect& rect, double radius);
eec92d76 277 void DrawSpline(int PCOUNT, wxPoint* points);
e91a9dfc
RD
278 void DrawText(const wxString& text, const wxPoint& point);
279 int GetAngle();
280
281 wxPseudoMetaFile& GetMetaFile();
282
283 double GetRotation();
1e4a197e 284 bool LoadFromMetaFile(const wxString& filename);
e91a9dfc
RD
285 void Rotate(double x, double y, double theta);
286 void SetClippingRect(const wxRect& rect);
287 void SetDrawnBackgroundColour(const wxColour& colour);
288 void SetDrawnBackgroundMode(int mode);
289 void SetDrawnBrush(wxBrush* pen, bool isOutline = FALSE);
290 void SetDrawnFont(wxFont* font);
291 void SetDrawnPen(wxPen* pen, bool isOutline = FALSE);
292 void SetDrawnTextColour(const wxColour& colour);
293 void Scale(double sx, double sy);
294 void SetSaveToFile(bool save);
295 void Translate(double x, double y);
296
297
298 void base_OnDelete();
299 void base_OnDraw(wxDC& dc);
300 void base_OnDrawContents(wxDC& dc);
301 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
302 void base_OnMoveLinks(wxDC& dc);
303 void base_OnErase(wxDC& dc);
304 void base_OnEraseContents(wxDC& dc);
305 void base_OnHighlight(wxDC& dc);
306 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
307 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
308 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
309 void base_OnSize(double x, double y);
310 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
311 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
312 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
313 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
314 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
315 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
316 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
317 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
318 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
319 void base_OnDrawControlPoints(wxDC& dc);
320 void base_OnEraseControlPoints(wxDC& dc);
321 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
2348eaee
RD
322 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
323 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
324 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
e91a9dfc
RD
325 void base_OnBeginSize(double w, double h);
326 void base_OnEndSize(double w, double h);
327// void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
328
329};
330
331
332//---------------------------------------------------------------------------
333
9416aa89 334class wxOGLConstraint : public wxObject {
e91a9dfc
RD
335public:
336 //wxOGLConstraint(int type, wxPyShape *constraining, wxList& constrained);
337 %addmethods {
338 wxOGLConstraint(int type, wxPyShape *constraining, PyObject* constrained) {
99ab9f3b 339 wxList* list = wxPy_wxListHelper(constrained, "_wxPyShape_p");
e91a9dfc
RD
340 wxOGLConstraint* rv = new wxOGLConstraint(type, constraining, *list);
341 delete list;
342 return rv;
343 }
344 }
9ae9011b
RD
345
346 //~wxOGLConstraint(); The wxCompositShape takes ownership of the constraint
e91a9dfc
RD
347
348 bool Evaluate();
349 void SetSpacing(double x, double y);
350 bool Equals(double a, double b);
351
352};
353
354
355
356//---------------------------------------------------------------------------
357
358%{
359 WXSHAPE_IMP_CALLBACKS(wxPyCompositeShape, wxCompositeShape);
360%}
361
362class wxPyCompositeShape : public wxPyRectangleShape {
363public:
364 wxPyCompositeShape();
365
0122b7e3
RD
366 void _setCallbackInfo(PyObject* self, PyObject* _class);
367 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyCompositeShape)"
2f4e9287 368 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
e91a9dfc
RD
369
370 void AddChild(wxPyShape *child, wxPyShape *addAfter = NULL);
371
372 wxOGLConstraint * AddConstraint(wxOGLConstraint *constraint);
373
714d23b4 374
e91a9dfc
RD
375 //wxOGLConstraint * AddConstraint(int type,
376 // wxPyShape *constraining,
377 // wxList& constrained);
714d23b4
RD
378 %addmethods {
379 wxOGLConstraint * AddConstrainedShapes(int type, wxPyShape *constraining,
380 PyObject* constrained) {
99ab9f3b 381 wxList* list = wxPy_wxListHelper(constrained, "_wxPyShape_p");
714d23b4
RD
382 wxOGLConstraint* rv = self->AddConstraint(type, constraining, *list);
383 delete list;
384 return rv;
385 }
386 }
e91a9dfc
RD
387
388 %name(AddSimpleConstraint)wxOGLConstraint* AddConstraint(int type,
389 wxPyShape *constraining,
390 wxPyShape *constrained);
391
392 void CalculateSize();
393 bool ContainsDivision(wxPyDivisionShape *division);
394 void DeleteConstraint(wxOGLConstraint *constraint);
395 void DeleteConstraintsInvolvingChild(wxPyShape *child);
396
397 // **** Needs an output typemap
398 //wxOGLConstraint * FindConstraint(long id, wxPyCompositeShape **actualComposite);
399
400 wxPyShape * FindContainerImage();
401
402 // wxList& GetConstraints();
403 // wxList& GetDivisions();
404 %addmethods {
405 PyObject* GetConstraints() {
406 wxList& list = self->GetConstraints();
407 return wxPy_ConvertList(&list, "wxOGLConstraint");
408 }
409
410 PyObject* GetDivisions() {
411 wxList& list = self->GetDivisions();
c893f25d 412 return wxPy_ConvertShapeList(&list, "wxPyDivisionShape");
e91a9dfc
RD
413 }
414 }
415
416 void MakeContainer();
417 bool Recompute();
418 void RemoveChild(wxPyShape *child);
419
420
421 void base_OnDelete();
422 void base_OnDraw(wxDC& dc);
423 void base_OnDrawContents(wxDC& dc);
424 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
425 void base_OnMoveLinks(wxDC& dc);
426 void base_OnErase(wxDC& dc);
427 void base_OnEraseContents(wxDC& dc);
428 void base_OnHighlight(wxDC& dc);
429 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
430 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
431 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
432 void base_OnSize(double x, double y);
433 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
434 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
435 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
436 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
437 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
438 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
439 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
440 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
441 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
442 void base_OnDrawControlPoints(wxDC& dc);
443 void base_OnEraseControlPoints(wxDC& dc);
444 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
2348eaee
RD
445 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
446 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
447 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
e91a9dfc
RD
448 void base_OnBeginSize(double w, double h);
449 void base_OnEndSize(double w, double h);
450// void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
451
452};
453
454
455//---------------------------------------------------------------------------
456
457%{
458 WXSHAPE_IMP_CALLBACKS(wxPyDividedShape, wxDividedShape);
459%}
460
461class wxPyDividedShape : public wxPyRectangleShape {
462public:
463 wxPyDividedShape(double width = 0.0, double height = 0.0);
464
0122b7e3
RD
465 void _setCallbackInfo(PyObject* self, PyObject* _class);
466 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyDividedShape)"
2f4e9287 467 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
e91a9dfc
RD
468
469 void EditRegions();
470 void SetRegionSizes();
471
472 void base_OnDelete();
473 void base_OnDraw(wxDC& dc);
474 void base_OnDrawContents(wxDC& dc);
475 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
476 void base_OnMoveLinks(wxDC& dc);
477 void base_OnErase(wxDC& dc);
478 void base_OnEraseContents(wxDC& dc);
479 void base_OnHighlight(wxDC& dc);
480 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
481 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
482 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
483 void base_OnSize(double x, double y);
484 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
485 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
486 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
487 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
488 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
489 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
490 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
491 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
492 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
493 void base_OnDrawControlPoints(wxDC& dc);
494 void base_OnEraseControlPoints(wxDC& dc);
495 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
2348eaee
RD
496 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
497 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
498 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
e91a9dfc
RD
499 void base_OnBeginSize(double w, double h);
500 void base_OnEndSize(double w, double h);
501// void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
502
503};
504
505
506//---------------------------------------------------------------------------
507%{
508 WXSHAPE_IMP_CALLBACKS(wxPyDivisionShape, wxDivisionShape);
509%}
510
511class wxPyDivisionShape : public wxPyCompositeShape {
512public:
513 wxPyDivisionShape();
514
0122b7e3
RD
515 void _setCallbackInfo(PyObject* self, PyObject* _class);
516 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyDivisionShape)"
2f4e9287 517 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
e91a9dfc
RD
518
519 void AdjustBottom(double bottom, bool test);
520 void AdjustLeft(double left, bool test);
521 void AdjustRight(double right, bool test);
522 void AdjustTop(double top, bool test);
523 void Divide(int direction);
524 void EditEdge(int side);
525 wxPyDivisionShape * GetBottomSide();
526 int GetHandleSide();
527 wxPyDivisionShape * GetLeftSide();
528 wxString GetLeftSideColour();
529 wxPen * GetLeftSidePen();
530 wxPyDivisionShape * GetRightSide();
531 wxPyDivisionShape * GetTopSide();
532 wxPen * GetTopSidePen();
533 void ResizeAdjoining(int side, double newPos, bool test);
534 void PopupMenu(double x, double y);
535 void SetBottomSide(wxPyDivisionShape *shape);
536 void SetHandleSide(int side);
537 void SetLeftSide(wxPyDivisionShape *shape);
538 void SetLeftSideColour(const wxString& colour);
539 void SetLeftSidePen(wxPen *pen);
540 void SetRightSide(wxPyDivisionShape *shape);
541 void SetTopSide(wxPyDivisionShape *shape);
542 void SetTopSideColour(const wxString& colour);
543 void SetTopSidePen(wxPen *pen);
544
545
546
547 void base_OnDelete();
548 void base_OnDraw(wxDC& dc);
549 void base_OnDrawContents(wxDC& dc);
550 void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
551 void base_OnMoveLinks(wxDC& dc);
552 void base_OnErase(wxDC& dc);
553 void base_OnEraseContents(wxDC& dc);
554 void base_OnHighlight(wxDC& dc);
555 void base_OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
556 void base_OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0);
557 void base_OnRightClick(double x, double y, int keys = 0, int attachment = 0);
558 void base_OnSize(double x, double y);
559 bool base_OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
560 void base_OnMovePost(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
561 void base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
562 void base_OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
563 void base_OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
564 void base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
565 void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
566 void base_OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
567 void base_OnDrawOutline(wxDC& dc, double x, double y, double w, double h);
568 void base_OnDrawControlPoints(wxDC& dc);
569 void base_OnEraseControlPoints(wxDC& dc);
570 void base_OnMoveLink(wxDC& dc, bool moveControlPoints = TRUE);
2348eaee
RD
571 void base_OnSizingDragLeft(wxPyControlPoint* pt, bool draw, double x, double y, int keys=0, int attachment = 0);
572 void base_OnSizingBeginDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
573 void base_OnSizingEndDragLeft(wxPyControlPoint* pt, double x, double y, int keys=0, int attachment = 0);
e91a9dfc
RD
574 void base_OnBeginSize(double w, double h);
575 void base_OnEndSize(double w, double h);
576// void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
577
578};
579
580
581
582//---------------------------------------------------------------------------
583