1b8c7ba607
some things that were changed/removed from my patch I submitted to them.) Since it is now possible easily and simply share the SWIG type tables across modules I reverted to always using the stock SWIG runtime instead of my slightly hacked up version of it exported via the wxPython C API. The %name directive is now deprecated so replaced most uses of it with a custom %Rename macro that uses %rename internally. These will evetually need to be replaced with a DocDecl macro when docstrings are added. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31128 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
412 lines
19 KiB
OpenEdge ABL
412 lines
19 KiB
OpenEdge ABL
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: oglshapes2.i
|
|
// Purpose: SWIG definitions for the wxWindows Object Graphics Library
|
|
//
|
|
// Author: Robin Dunn
|
|
//
|
|
// Created: 3-Sept-1999
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) 1998 by Total Control Software
|
|
// Licence: wxWindows license
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// not a %module
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
|
|
%{
|
|
WXSHAPE_IMP_CALLBACKS(wxPyEllipseShape, wxEllipseShape);
|
|
%}
|
|
|
|
class wxPyEllipseShape : public wxPyShape {
|
|
public:
|
|
%pythonAppend wxPyEllipseShape "self._setOORandCallbackInfo(PyEllipseShape)"
|
|
|
|
wxPyEllipseShape(double width = 0.0, double height = 0.0);
|
|
|
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
|
|
|
void base_OnDraw(wxDC& dc);
|
|
void base_OnDrawContents(wxDC& dc);
|
|
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_OnHighlight(wxDC& dc);
|
|
void base_OnLeftClick(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);
|
|
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_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
|
|
void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
|
|
void base_OnEndDragRight(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_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_OnBeginSize(double w, double h);
|
|
void base_OnEndSize(double w, double h);
|
|
// void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
|
|
};
|
|
|
|
//---------------------------------------------------------------------------
|
|
%{
|
|
WXSHAPE_IMP_CALLBACKS(wxPyCircleShape, wxCircleShape);
|
|
%}
|
|
|
|
class wxPyCircleShape : public wxPyEllipseShape {
|
|
public:
|
|
%pythonAppend wxPyCircleShape "self._setOORandCallbackInfo(PyCircleShape)"
|
|
|
|
wxPyCircleShape(double width = 0.0);
|
|
|
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
|
|
|
void base_OnDraw(wxDC& dc);
|
|
void base_OnDrawContents(wxDC& dc);
|
|
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_OnHighlight(wxDC& dc);
|
|
void base_OnLeftClick(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);
|
|
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_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
|
|
void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
|
|
void base_OnEndDragRight(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_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_OnBeginSize(double w, double h);
|
|
void base_OnEndSize(double w, double h);
|
|
// void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
|
|
};
|
|
|
|
//---------------------------------------------------------------------------
|
|
//---------------------------------------------------------------------------
|
|
|
|
class wxArrowHead : public wxObject {
|
|
public:
|
|
wxArrowHead(int type = 0,
|
|
int end = 0,
|
|
double size = 0.0,
|
|
double dist = 0.0,
|
|
const wxString& name = wxPyEmptyString,
|
|
wxPseudoMetaFile *mf = NULL,
|
|
long arrowId = -1);
|
|
~wxArrowHead();
|
|
|
|
int _GetType();
|
|
int GetPosition();
|
|
void SetPosition(int pos);
|
|
double GetXOffset();
|
|
double GetYOffset();
|
|
double GetSpacing();
|
|
double GetSize();
|
|
wxString GetName();
|
|
void SetXOffset(double x);
|
|
void SetYOffset(double y);
|
|
wxPseudoMetaFile *GetMetaFile();
|
|
long GetId();
|
|
int GetArrowEnd();
|
|
double GetArrowSize();
|
|
void SetSize(double size);
|
|
void SetSpacing(double sp);
|
|
};
|
|
//---------------------------------------------------------------------------
|
|
%{
|
|
WXSHAPE_IMP_CALLBACKS(wxPyLineShape, wxLineShape);
|
|
%}
|
|
|
|
class wxPyLineShape : public wxPyShape {
|
|
public:
|
|
%pythonAppend wxPyLineShape "self._setOORandCallbackInfo(PyLineShape)"
|
|
|
|
wxPyLineShape();
|
|
|
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
|
|
|
void AddArrow(int type, int end = ARROW_POSITION_END,
|
|
double arrowSize = 10.0, double xOffset = 0.0,
|
|
const wxString& name = wxPyEmptyString, wxPseudoMetaFile *mf = NULL,
|
|
long arrowId = -1);
|
|
|
|
//void AddArrowOrdered(wxArrowHead *arrow, wxList& referenceList, int end);
|
|
%extend {
|
|
void AddArrowOrdered(wxArrowHead *arrow, PyObject* referenceList, int end) {
|
|
wxList* list = wxPy_wxListHelper(referenceList, wxT("wxArrowHead"));
|
|
self->AddArrowOrdered(arrow, *list, end);
|
|
delete list;
|
|
}
|
|
}
|
|
bool ClearArrow(const wxString& name);
|
|
void ClearArrowsAtPosition(int position = -1);
|
|
void DrawArrow(wxDC& dc, wxArrowHead *arrow, double xOffset, bool proportionalOffset);
|
|
%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);
|
|
%Rename(FindArrowHeadId, wxArrowHead *, FindArrowHead(long arrowId));
|
|
wxArrowHead * FindArrowHead(int position, const wxString& name);
|
|
void FindLineEndPoints(double *OUTPUT, double *OUTPUT,
|
|
double *OUTPUT, double *OUTPUT);
|
|
int FindLinePosition(double x, double y);
|
|
double FindMinimumWidth();
|
|
void FindNth(wxPyShape *image, int *OUTPUT, int *OUTPUT, bool incoming);
|
|
int GetAttachmentFrom();
|
|
int GetAttachmentTo();
|
|
void GetEnds(double *OUTPUT, double *OUTPUT, double *OUTPUT, double *OUTPUT);
|
|
wxPyShape * GetFrom();
|
|
void GetLabelPosition(int position, double *OUTPUT, double *OUTPUT);
|
|
wxRealPoint * GetNextControlPoint(wxPyShape *shape);
|
|
wxPyShape * GetTo();
|
|
void Initialise();
|
|
void InsertLineControlPoint(wxDC* dc);
|
|
bool IsEnd(wxPyShape *shape);
|
|
bool IsSpline();
|
|
void MakeLineControlPoints(int n);
|
|
|
|
// inline wxList *GetLineControlPoints() { return m_lineControlPoints; }
|
|
%extend {
|
|
PyObject* GetLineControlPoints() {
|
|
wxList* list = self->GetLineControlPoints();
|
|
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 SetAttachmentFrom(int fromAttach);
|
|
void SetAttachments(int fromAttach, int toAttach);
|
|
void SetAttachmentTo(int toAttach);
|
|
void SetEnds(double x1, double y1, double x2, double y2);
|
|
void SetFrom(wxPyShape *object);
|
|
void SetIgnoreOffsets(bool ignore);
|
|
void SetSpline(bool spline);
|
|
void SetTo(wxPyShape *object);
|
|
void Straighten(wxDC* dc = NULL);
|
|
void Unlink();
|
|
|
|
|
|
void SetAlignmentOrientation(bool isEnd, bool isHoriz);
|
|
void SetAlignmentType(bool isEnd, int alignType);
|
|
bool GetAlignmentOrientation(bool isEnd);
|
|
int GetAlignmentType(bool isEnd);
|
|
int GetAlignmentStart() const;
|
|
int GetAlignmentEnd() const;
|
|
|
|
void base_OnDraw(wxDC& dc);
|
|
void base_OnDrawContents(wxDC& dc);
|
|
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_OnHighlight(wxDC& dc);
|
|
void base_OnLeftClick(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);
|
|
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_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
|
|
void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
|
|
void base_OnEndDragRight(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_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_OnBeginSize(double w, double h);
|
|
void base_OnEndSize(double w, double h);
|
|
// void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
|
|
};
|
|
|
|
//---------------------------------------------------------------------------
|
|
%{
|
|
WXSHAPE_IMP_CALLBACKS(wxPyPolygonShape, wxPolygonShape);
|
|
%}
|
|
|
|
class wxPyPolygonShape : public wxPyShape {
|
|
public:
|
|
%pythonAppend wxPyPolygonShape "self._setOORandCallbackInfo(PyPolygonShape)"
|
|
|
|
wxPyPolygonShape();
|
|
|
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
|
|
|
|
|
// void Create(wxList* points);
|
|
%extend {
|
|
PyObject* Create(PyObject* points) {
|
|
wxList* list = wxPy_wxRealPoint_ListHelper(points);
|
|
if (list) {
|
|
self->Create(list);
|
|
Py_INCREF(Py_None);
|
|
return Py_None;
|
|
}
|
|
else return NULL;
|
|
}
|
|
}
|
|
|
|
void AddPolygonPoint(int pos = 0);
|
|
void CalculatePolygonCentre();
|
|
void DeletePolygonPoint(int pos = 0);
|
|
|
|
// wxList* GetPoints();
|
|
%extend {
|
|
PyObject* GetPoints() {
|
|
wxList* list = self->GetPoints();
|
|
return wxPy_ConvertRealPointList(list);
|
|
}
|
|
|
|
PyObject* GetOriginalPoints() {
|
|
wxList* list = self->GetOriginalPoints();
|
|
PyObject* pyList;
|
|
PyObject* pyObj;
|
|
wxObject* wxObj;
|
|
wxNode* node = list->GetFirst();
|
|
|
|
bool blocked = wxPyBeginBlockThreads();
|
|
pyList = PyList_New(0);
|
|
while (node) {
|
|
wxObj = node->GetData();
|
|
pyObj = wxPyConstructObject(wxObj, wxT("wxRealPoint"), 0);
|
|
PyList_Append(pyList, pyObj);
|
|
node = node->GetNext();
|
|
}
|
|
wxPyEndBlockThreads(blocked);
|
|
return pyList;
|
|
}
|
|
}
|
|
|
|
double GetOriginalWidth() const;
|
|
double GetOriginalHeight() const;
|
|
|
|
void SetOriginalWidth(double w);
|
|
void SetOriginalHeight(double h);
|
|
|
|
void UpdateOriginalPoints();
|
|
|
|
void base_OnDraw(wxDC& dc);
|
|
void base_OnDrawContents(wxDC& dc);
|
|
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_OnHighlight(wxDC& dc);
|
|
void base_OnLeftClick(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);
|
|
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_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
|
|
void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
|
|
void base_OnEndDragRight(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_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_OnBeginSize(double w, double h);
|
|
void base_OnEndSize(double w, double h);
|
|
// void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
|
|
};
|
|
//---------------------------------------------------------------------------
|
|
%{
|
|
WXSHAPE_IMP_CALLBACKS(wxPyTextShape, wxTextShape);
|
|
%}
|
|
|
|
class wxPyTextShape : public wxPyRectangleShape {
|
|
public:
|
|
%pythonAppend wxPyTextShape "self._setOORandCallbackInfo(PyTextShape)"
|
|
|
|
wxPyTextShape(double width = 0.0, double height = 0.0);
|
|
|
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
|
|
|
void base_OnDelete();
|
|
void base_OnDraw(wxDC& dc);
|
|
void base_OnDrawContents(wxDC& dc);
|
|
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_OnHighlight(wxDC& dc);
|
|
void base_OnLeftClick(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);
|
|
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_OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
|
|
void base_OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
|
|
void base_OnEndDragRight(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_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_OnBeginSize(double w, double h);
|
|
void base_OnEndSize(double w, double h);
|
|
// void base_OnChangeAttachment(int attachment, wxPyLineShape* line, wxList& ordering);
|
|
|
|
};
|
|
//---------------------------------------------------------------------------
|