From: Robin Dunn Date: Fri, 2 Jan 2004 20:37:37 +0000 (+0000) Subject: Some wxOGL tweaks to match what has been done in the C++ classes X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/e7726f5e5a1c197fcdf3163e1c74fb4720a8d119 Some wxOGL tweaks to match what has been done in the C++ classes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/wxPython/contrib/ogl/_ogl_rename.i b/wxPython/contrib/ogl/_ogl_rename.i index c02b9f190e..415d2d94e8 100644 --- a/wxPython/contrib/ogl/_ogl_rename.i +++ b/wxPython/contrib/ogl/_ogl_rename.i @@ -4,6 +4,7 @@ #ifndef BUILDING_RENAMERS %rename(ShapeRegion) wxShapeRegion; +%rename(AttachmentPoint) wxAttachmentPoint; %rename(PyShapeEvtHandler) wxPyShapeEvtHandler; %rename(PyShape) wxPyShape; %rename(PseudoMetaFile) wxPseudoMetaFile; diff --git a/wxPython/contrib/ogl/_oglbasic.i b/wxPython/contrib/ogl/_oglbasic.i index 334ef52605..334cc093c0 100644 --- a/wxPython/contrib/ogl/_oglbasic.i +++ b/wxPython/contrib/ogl/_oglbasic.i @@ -56,6 +56,22 @@ public: }; +//--------------------------------------------------------------------------- + +/* + * 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 +}; + + //--------------------------------------------------------------------------- %{ @@ -294,6 +310,14 @@ public: 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, @@ -336,6 +360,7 @@ public: 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); diff --git a/wxPython/contrib/ogl/_oglshapes.i b/wxPython/contrib/ogl/_oglshapes.i index db2111178f..ef27d7bba3 100644 --- a/wxPython/contrib/ogl/_oglshapes.i +++ b/wxPython/contrib/ogl/_oglshapes.i @@ -130,7 +130,8 @@ public: void _setCallbackInfo(PyObject* self, PyObject* _class); void SetCornerRadius(double radius); - + double GetCornerRadius(); + void base_OnDelete(); void base_OnDraw(wxDC& dc); void base_OnDrawContents(wxDC& dc); diff --git a/wxPython/contrib/ogl/_oglshapes2.i b/wxPython/contrib/ogl/_oglshapes2.i index febeead238..8a8a570003 100644 --- a/wxPython/contrib/ogl/_oglshapes2.i +++ b/wxPython/contrib/ogl/_oglshapes2.i @@ -209,6 +209,13 @@ public: 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); @@ -291,8 +298,33 @@ public: wxPyEndBlockThreads(); return pyList; } + + PyObject* GetOriginalPoints() { + wxList* list = self->GetOriginalPoints(); + 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; + } } + double GetOriginalWidth() const; + double GetOriginalHeight() const; + + void SetOriginalWidth(double w); + void SetOriginalHeight(double h); + void UpdateOriginalPoints(); void base_OnDraw(wxDC& dc);