]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/windows.i
small change to avoid floating point exception in wxScrolledWindow::Scroll
[wxWidgets.git] / utils / wxPython / src / windows.i
index 34a42121c0bb7e72f0c521a443d24868c1a1cb17..3c21bff6bf2ea30b14e586926b2af8782275a4d1 100644 (file)
@@ -55,6 +55,14 @@ public:
                           new wxPyCallback(func));
             }
         }
+
+        bool Disconnect(int id, int lastId = -1,
+                        wxEventType eventType = wxEVT_NULL) {
+            return self->Disconnect(id, lastId, eventType,
+                                   (wxObjectEventFunction)
+                                    &wxPyCallback::EventThunker);
+        }
+
     }
 };
 
@@ -94,25 +102,24 @@ public:
     }
 
     wxObject* wxPyValidator::Clone() const {
-    wxPyValidator* ptr = NULL;
-    wxPyValidator* self = (wxPyValidator*)this;
-
-    bool doSave = wxPyRestoreThread();
-    if (self->m_myInst.findCallback("Clone")) {
-        PyObject* ro;
-        ro = self->m_myInst.callCallbackObj(Py_BuildValue("()"));
-        SWIG_GetPtrObj(ro, (void **)&ptr, "_wxPyValidator_p");
+        wxPyValidator* ptr = NULL;
+        wxPyValidator* self = (wxPyValidator*)this;
+
+        bool doSave = wxPyRestoreThread();
+        if (self->m_myInst.findCallback("Clone")) {
+            PyObject* ro;
+            ro = self->m_myInst.callCallbackObj(Py_BuildValue("()"));
+            SWIG_GetPtrObj(ro, (void **)&ptr, "_wxPyValidator_p");
+        }
+        // This is very dangerous!!! But is the only way I could find
+        // to squash a memory leak.  Currently it is okay, but if the
+        // validator architecture in wxWindows ever changes, problems
+        // could arise.
+        delete self;
+
+        wxPySaveThread(doSave);
+        return ptr;
     }
-    // This is very dangerous!!! But is the only way I could find
-    // to squash a memory leak.  Currently it is okay, but if the
-    // validator architecture in wxWindows ever changes, problems
-    // could arise.
-    delete self;
-
-    wxPySaveThread(doSave);
-    return ptr;
-}
-
 
     DEC_PYCALLBACK_BOOL_WXWIN(Validate);
     DEC_PYCALLBACK_BOOL_(TransferToWindow);
@@ -135,9 +142,7 @@ public:
     wxPyValidator();
 //    ~wxPyValidator();
 
-    %addmethods {
-        void Destroy() { delete self; }
-    }
+    %addmethods { void Destroy() { delete self; } }
 
     void _setSelf(PyObject* self, int incref=TRUE);
     %pragma(python) addtomethod = "__init__:self._setSelf(self, 0)"
@@ -202,7 +207,7 @@ public:
     wxWindow * GetGrandParent();
     %addmethods {
         long GetHandle() {
-            return (long)self->GetHandle();
+            return wxPyGetWinHandle(self); //(long)self->GetHandle();
         }
     }
     int GetId();
@@ -228,6 +233,9 @@ public:
     bool Hide();
     void InitDialog();
     bool IsEnabled();
+    bool IsExposed( int x, int y, int w=0, int h=0 );
+    %name(IsExposedPoint) bool IsExposed( const wxPoint& pt );
+    %name(IsExposedRect)  bool IsExposed( const wxRect& rect );
     bool IsRetained();
     bool IsShown();
     bool IsTopLevel();
@@ -247,6 +255,7 @@ public:
     void Raise();
     void Refresh(bool eraseBackground = TRUE, const wxRect* rect = NULL);
     void ReleaseMouse();
+    void RemoveChild(wxWindow* child);
     bool Reparent( wxWindow* newParent );
 
     // (uses apply'ed INOUT typemap, see above)
@@ -266,17 +275,17 @@ public:
     void SetForegroundColour(const wxColour& colour);
     void SetId(int id);
     void SetName(const wxString& name);
-    void SetScrollbar(int orientation, int position, int thumbSize, int range, bool refresh = TRUE);
+    void SetScrollbar(int orientation, int position, int thumbSize, int range, int refresh = TRUE);
     void SetScrollPos(int orientation, int pos, bool refresh = TRUE);
 
     %name(SetDimensions) void SetSize(int x, int y, int width, int height, int sizeFlags=wxSIZE_AUTO);
     %addmethods {
         void SetSize(const wxSize& size) {
-            self->SetSize(size.x, size.y);
+            self->SetSize(size);
         }
 
         void SetPosition(const wxPoint& pos) {
-            self->SetSize(pos.x, pos.y, -1, -1);
+            self->Move(pos);
         }
     }
 
@@ -313,6 +322,18 @@ public:
     void SetDropTarget(wxDropTarget* target);
     wxDropTarget* GetDropTarget();
     %pragma(python) addtomethod = "SetDropTarget:_args[0].thisown = 0"
+
+    wxSize GetBestSize();
+
+    void SetCaret(wxCaret *caret);
+    wxCaret *GetCaret();
+    %pragma(python) addtoclass = "# replaces broken shadow method
+    def GetCaret(self, *_args, **_kwargs):
+        from misc2 import wxCaretPtr
+        val = apply(windowsc.wxWindow_GetCaret,(self,) + _args, _kwargs)
+        if val: val = wxCaretPtr(val)
+        return val
+"
 };
 
 //%clear int* x, int* y;
@@ -351,6 +372,17 @@ wxWindow* wxWindow_FromHWND(unsigned long hWnd) {
 %}
 #endif
 
+%inline %{
+    int wxWindow_NewControlId() {
+        return wxWindow::NewControlId();
+    }
+    int wxWindow_NextControlId(int id) {
+        return wxWindow::NextControlId(id);
+    }
+    int wxWindow_PrevControlId(int id) {
+        return wxWindow::PrevControlId(id);
+    }
+%}
 
 
 //---------------------------------------------------------------------------
@@ -424,7 +456,9 @@ public:
     %pragma(python) addtomethod = "__init__:wx._StdOnScrollCallbacks(self)"
 
     void EnableScrolling(bool xScrolling, bool yScrolling);
+    int GetScrollPageSize(int orient);
     void GetScrollPixelsPerUnit(int* OUTPUT, int* OUTPUT);
+    wxWindow* GetTargetWindow();
     void GetVirtualSize(int* OUTPUT, int* OUTPUT);
     bool IsRetained();
     void PrepareDC(wxDC& dc);
@@ -432,6 +466,8 @@ public:
     void SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY,
                        int noUnitsX, int noUnitsY,
                        int xPos = 0, int yPos = 0);
+    void SetScrollPageSize(int orient, int pageSize);
+    void SetTargetWindow(wxWindow* window);
     void ViewStart(int* OUTPUT, int* OUTPUT);
 
     void CalcScrolledPosition( int x, int y, int *OUTPUT, int *OUTPUT);
@@ -480,9 +516,7 @@ public:
     %name(RemoveItem) wxMenuItem *Remove(wxMenuItem *item);
 
     %addmethods {
-        void Destroy() {
-            delete self;
-        }
+        void Destroy() { delete self; }
     }
     %name(DestroyId)bool Destroy(int id);
     %name(DestroyItem)bool Destroy(wxMenuItem *item);
@@ -574,25 +608,9 @@ public:
     wxAcceleratorEntry *GetAccel();
     void SetAccel(wxAcceleratorEntry *accel);
 
-//  #ifdef __WXMSW__
-//      wxColour& GetBackgroundColour();
-//      wxBitmap GetBitmap(bool checked = TRUE);
-//      wxFont& GetFont();
-//      int GetMarginWidth();
-//      wxColour& GetTextColour();
-//      void SetBackgroundColour(const wxColour& colour);
-//      void SetBitmaps(const wxBitmap& checked, const wxBitmap& unchecked = wxNullBitmap);
-//      void SetFont(const wxFont& font);
-//      void SetMarginWidth(int width);
-//      void SetText(const wxString& str);
-//      const wxString& GetText();
-//      void SetTextColour(const wxColour& colour);
-//      void DeleteSubMenu();
-//      void SetCheckable(bool checkable);
-//      void SetSubMenu(wxMenu *menu);
-//  #endif
 };
 
 //---------------------------------------------------------------------------
 
 
+