]> git.saurik.com Git - wxWidgets.git/commitdiff
Add wx.Position
authorRobin Dunn <robin@alldunn.com>
Thu, 12 Apr 2007 00:41:45 +0000 (00:41 +0000)
committerRobin Dunn <robin@alldunn.com>
Thu, 12 Apr 2007 00:41:45 +0000 (00:41 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/include/wx/wxPython/wxPython.h
wxPython/include/wx/wxPython/wxPython_int.h
wxPython/src/_core_api.i
wxPython/src/_gdicmn.i

index be46badb21f95c13ec2621db4197089c8c57babe..e6868887b8c10553b45e5d0c2cdd713445135b42 100644 (file)
@@ -122,6 +122,7 @@ inline wxPyCoreAPI* wxPyGetCoreAPIPtr()
 #define wxArrayDouble2PyList_helper(a)          (wxPyGetCoreAPIPtr()->p_wxArrayDoublePyList_helper(a))
 #define wxPoint2D_LIST_helper(a,b)              (wxPyGetCoreAPIPtr()->p_wxPoint2D_LIST_helper(a, b))
 #define wxRect2D_helper(a,b)                    (wxPyGetCoreAPIPtr()->p_wxRect2D_helper(a,b))
+#define wxPosition_helper(a,b)                  (wxPyGetCoreAPIPtr()->p_wxPosition_helper(a,b))
 
 
 //----------------------------------------------------------------------
index 9d36adf324b0d0c43e581ae963e64ad40f9fdac6..6cc85dd8cef2467da6848ca8dd743f7ac9a71678 100644 (file)
@@ -253,6 +253,7 @@ bool wxRect_helper(PyObject* source, wxRect** obj);
 bool wxColour_helper(PyObject* source, wxColour** obj);
 bool wxPoint2D_helper(PyObject* source, wxPoint2D** obj);
 bool wxRect2D_helper(PyObject* source, wxRect2D** obj);
+bool wxPosition_helper(PyObject* source, wxPosition** obj);
 
 
 bool wxPySimple_typecheck(PyObject* source, const wxChar* classname, int seqLen);
@@ -434,6 +435,7 @@ struct wxPyCoreAPI {
     PyObject*           (*p_wxArrayDoublePyList_helper)(const wxArrayDouble& arr);
     wxPoint2D*          (*p_wxPoint2D_LIST_helper)(PyObject* source, size_t* npoints);
     bool                (*p_wxRect2D_helper)(PyObject* source, wxRect2D** obj);
+    bool                (*p_wxPosition_helper)(PyObject* source, wxPosition** obj);
 
 };
 
@@ -641,8 +643,9 @@ public:
     // virtual int FilterEvent(wxEvent& event); // This one too????
 
     // For catching Apple Events
-    virtual void MacOpenFile(const wxString &fileName);
-    virtual void MacPrintFile(const wxString &fileName);
+    virtual void MacOpenFile(const wxString& fileName);
+    virtual void MacOpenURL(const wxString& url);
+    virtual void MacPrintFile(const wxString& fileName);
     virtual void MacNewFile();
     virtual void MacReopenApp();
 
index 9fcad55a74bf7a091d9b4884c48e279aa4f6ff75..b85f62cae242d89e99d110a2b56873be67118df1 100644 (file)
@@ -240,7 +240,8 @@ static wxPyCoreAPI API = {
     wxArrayDouble2PyList_helper,
     wxPoint2D_LIST_helper,
     wxRect2D_helper,
-
+    wxPosition_helper,
+    
 };
 
 #endif
index 87b2b5c900fbada366dd3eca3cd09ba8b4428fd8..ac15dc4d98c9f00a6239d64b7573bfe74d145a81 100644 (file)
@@ -1106,6 +1106,59 @@ public:
 
 };
 
+//---------------------------------------------------------------------------
+
+class wxPosition
+{
+public:
+    wxPosition(int row=0, int col=0);
+    ~wxPosition();
+
+    int GetRow() const;
+    int GetColumn() const;
+    int GetCol() const;
+    void SetRow(int row);
+    void SetColumn(int column);
+    void SetCol(int column);
+
+    %extend {
+        DocStr(__eq__, "Test for equality of wx.Position objects.", "");
+        bool __eq__(PyObject* other) {
+            wxPosition  temp, *obj = &temp;
+            if ( other == Py_None ) return false;
+            if ( ! wxPosition_helper(other, &obj) ) {
+                PyErr_Clear();
+                return false;
+            }
+            return self->operator==(*obj);
+        }
+
+        
+        DocStr(__ne__, "Test for inequality of wx.Position objects.", "");
+        bool __ne__(PyObject* other) {
+            wxPosition  temp, *obj = &temp;
+            if ( other == Py_None ) return true;
+            if ( ! wxPosition_helper(other, &obj)) {
+                PyErr_Clear();
+                return true;
+            }
+            return self->operator!=(*obj);
+        }
+    }
+
+    %nokwargs operator+;
+    %nokwargs operator-;
+    wxPosition operator+(const wxPosition& p) const;
+    wxPosition operator-(const wxPosition& p) const;
+    wxPosition operator+(const wxSize& s) const;
+    wxPosition operator-(const wxSize& s) const;
+
+    %property(row, GetRow, SetRow);
+    %property(col, GetCol, SetCol);
+};
+
+
+
 //---------------------------------------------------------------------------
 
 %immutable;