]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/misc.i
fixes for GetReturnCode/SetReturnCode
[wxWidgets.git] / utils / wxPython / src / misc.i
index 9c2ca65b81dd2e6db332b295b21d982fde0c703b..984a802bd8e0bc0374a57e32bcc8d1420e018ef9 100644 (file)
@@ -15,6 +15,7 @@
 %{
 #include "helpers.h"
 #include <wx/resource.h>
+#include <wx/tooltip.h>
 %}
 
 //----------------------------------------------------------------------
 
 class wxSize {
 public:
+    long x;
+    long y;
     %name(width) long x;
     %name(height)long y;
 
     wxSize(long w=0, long h=0);
     ~wxSize();
     void Set(long w, long h);
+    long GetX();
+    long GetY();
     %name(GetWidth) long GetX();
     %name(GetHeight)long GetY();
 
     %addmethods {
-        PyObject* __str__() {
+        PyObject* asTuple() {
             PyObject* tup = PyTuple_New(2);
             PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x));
             PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y));
             return tup;
         }
     }
+    %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())"
+    %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())"
+
 };
 
 //---------------------------------------------------------------------------
@@ -72,13 +80,15 @@ public:
             self->x = x;
             self->y = y;
         }
-        PyObject* __str__() {
+        PyObject* asTuple() {
             PyObject* tup = PyTuple_New(2);
             PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x));
             PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y));
             return tup;
         }
     }
+    %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())"
+    %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())"
 };
 
 //---------------------------------------------------------------------------
@@ -108,6 +118,19 @@ public:
    long  GetRight();
 
    long x, y, width, height;
+
+    %addmethods {
+        PyObject* asTuple() {
+            PyObject* tup = PyTuple_New(4);
+            PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x));
+            PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y));
+            PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->width));
+            PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->height));
+            return tup;
+        }
+    }
+    %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())"
+    %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())"
 };
 
 
@@ -115,7 +138,7 @@ public:
 //---------------------------------------------------------------------------
 // Dialog Functions
 
-char* wxFileSelector(char* message,
+wxString wxFileSelector(char* message,
                         char* default_path = NULL,
                         char* default_filename = NULL,
                         char* default_extension = NULL,
@@ -165,13 +188,16 @@ int wxMessageBox(const wxString& message,
 
 bool wxColourDisplay();
 int wxDisplayDepth();
-void wxSetCursor(wxCursor *cursor);
+void wxSetCursor(wxCursorcursor);
 
 //---------------------------------------------------------------------------
 // Miscellaneous functions
 
-long NewId();
-void RegisterId(long id);
+long wxNewId();
+void wxRegisterId(long id);
+%name(NewId) long wxNewId();
+%name(RegisterId) void wxRegisterId(long id);
+
 void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR);
 void wxBell();
 void wxDisplaySize(int *OUTPUT, int *OUTPUT);
@@ -194,6 +220,7 @@ int wxGetOsVersion(int *OUTPUT, int *OUTPUT);
 #endif
 
 bool wxYield();
+bool wxSafeYield();
 
 %inline %{
     char* wxGetResource(char *section, char *entry, char *file = NULL) {
@@ -251,9 +278,9 @@ public:
 
     void Above(wxWindow *otherWin, int margin=0);
     void Absolute(int value);
-    void AsIs(void);
+    void AsIs();
     void Below(wxWindow *otherWin, int margin=0);
-    void Unconstrained(void);
+    void Unconstrained();
     void LeftOf(wxWindow *otherWin, int margin=0);
     void PercentOf(wxWindow *otherWin, wxEdge edge, int percent);
     void RightOf(wxWindow *otherWin, int margin=0);
@@ -279,6 +306,60 @@ public:
 }
 
 
+//---------------------------------------------------------------------------
+// Regions, etc.
+
+enum wxRegionContain {
+       wxOutRegion, wxPartRegion, wxInRegion
+};
+
+
+class wxRegion {
+public:
+    wxRegion();
+    ~wxRegion();
+
+    void Clear();
+    wxRegionContain Contains(long x, long y);
+    %name(ContainsPoint)wxRegionContain Contains(const wxPoint& pt);
+    %name(ContainsRect)wxRegionContain Contains(const wxRect& rect);
+
+    wxRect GetBox();
+    bool Intersect(const wxRect& rect);
+#ifdef __WXMSW__
+    bool IsEmpty();
+#endif
+    bool Subtract(const wxRect& rect);
+    bool Union(const wxRect& rect);
+    bool Xor(const wxRect& rect);
+};
+
+
+
+class wxRegionIterator {
+public:
+    wxRegionIterator(const wxRegion& region);
+    ~wxRegionIterator();
+
+    long GetX();
+    long GetY();
+    long GetW();
+    long GetWidth();
+    long GetH();
+    long GetHeight();
+    wxRect GetRect();
+    bool HaveRects();
+    void Reset();
+
+    %addmethods {
+        void Next() {
+            (*self) ++;
+        }
+    };
+};
+
+
+
 //---------------------------------------------------------------------------
 // Accelerator Entry and Table
 
@@ -302,10 +383,101 @@ public:
 
 };
 
+//---------------------------------------------------------------------------
+// wxToolTip
+
+class wxToolTip {
+public:
+    wxToolTip(const wxString &tip);
+
+    void SetTip(const wxString& tip);
+    wxString GetTip();
+    // *** Not in the "public" interface void SetWindow(wxWindow *win);
+    wxWindow *GetWindow();
+};
+
+
+%inline %{
+    void wxToolTip_Enable(bool flag) {
+        wxToolTip::Enable(flag);
+    }
+
+    void wxToolTip_SetDelay(long milliseconds) {
+        wxToolTip::SetDelay(milliseconds);
+    }
+%}
+
 //---------------------------------------------------------------------------
 /////////////////////////////////////////////////////////////////////////////
 //
 // $Log$
+// Revision 1.14  1999/04/30 03:29:19  RD
+// wxPython 2.0b9, first phase (win32)
+// Added gobs of stuff, see wxPython/README.txt for details
+//
+// Revision 1.13.4.1  1999/03/27 23:29:15  RD
+//
+// wxPython 2.0b8
+//     Python thread support
+//     various minor additions
+//     various minor fixes
+//
+// Revision 1.13  1999/02/25 07:08:34  RD
+//
+// wxPython version 2.0b5
+//
+// Revision 1.12  1999/02/20 10:02:37  RD
+//
+// Changes needed to enable wxGTK compatibility.
+//
+// Revision 1.11  1999/02/20 09:03:01  RD
+// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
+// window handle.  If you can get the window handle into the python code,
+// it should just work...  More news on this later.
+//
+// Added wxImageList, wxToolTip.
+//
+// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the
+// wxRegConfig class.
+//
+// As usual, some bug fixes, tweaks, etc.
+//
+// Revision 1.10  1999/01/30 07:30:14  RD
+//
+// Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc.
+//
+// Various cleanup, tweaks, minor additions, etc. to maintain
+// compatibility with the current wxWindows.
+//
+// Revision 1.9  1998/12/16 22:10:55  RD
+//
+// Tweaks needed to be able to build wxPython with wxGTK.
+//
+// Revision 1.8  1998/12/15 20:41:22  RD
+// Changed the import semantics from "from wxPython import *" to "from
+// wxPython.wx import *"  This is for people who are worried about
+// namespace pollution, they can use "from wxPython import wx" and then
+// prefix all the wxPython identifiers with "wx."
+//
+// Added wxTaskbarIcon for wxMSW.
+//
+// Made the events work for wxGrid.
+//
+// Added wxConfig.
+//
+// Added wxMiniFrame for wxGTK, (untested.)
+//
+// Changed many of the args and return values that were pointers to gdi
+// objects to references to reflect changes in the wxWindows API.
+//
+// Other assorted fixes and additions.
+//
+// Revision 1.7  1998/11/25 08:45:27  RD
+//
+// Added wxPalette, wxRegion, wxRegionIterator, wxTaskbarIcon
+// Added events for wxGrid
+// Other various fixes and additions
+//
 // Revision 1.6  1998/11/15 23:03:46  RD
 // Removing some ifdef's for wxGTK
 //