]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_functions.i
wxNotebookSizer is gone now
[wxWidgets.git] / wxPython / src / _functions.i
index b562214ae4b976957b71009245d86e4d8fb5fc34..d9e76c0769f3932e16e267ffeb5a95a5c27e0df4 100644 (file)
 // Not a %module
 
 
+%{
+#include <wx/stockitem.h>
+%}
+
 //---------------------------------------------------------------------------
 
 MAKE_CONST_WXSTRING(FileSelectorPromptStr);
@@ -27,18 +31,27 @@ long wxNewId();
 void wxRegisterId(long id);
 long wxGetCurrentId();
 
+// Returns true if the ID is in the list of recognized stock actions
+bool wxIsStockID(wxWindowID id);
+// Returns true of the label is empty or label of a stock button with
+// given ID
+bool wxIsStockLabel(wxWindowID id, const wxString& label);
+
+// Returns label that should be used for given stock UI element (e.g. "&OK"
+// for wxID_OK):
+wxString wxGetStockLabel(wxWindowID id,
+                         bool withCodes = true,
+                         wxString accelerator = wxPyEmptyString);
+
 MustHaveApp(wxBell);
 void wxBell();
 
 MustHaveApp(wxEndBusyCursor);
 void wxEndBusyCursor();
 
-long wxGetElapsedTime(bool resetTimer = True);
-
-MustHaveApp(wxGetMousePosition);
-DocDeclA(
-    void, wxGetMousePosition(int* OUTPUT, int* OUTPUT),
-    "GetMousePosition() -> (x,y)");
+long wxGetElapsedTime(bool resetTimer = true);
 
 bool wxIsBusy();
 wxString wxNow();
@@ -51,11 +64,19 @@ DocDeclA(
 
 wxString wxGetOsDescription();
 
+// TODO:
+// // Parses the wildCard, returning the number of filters.
+// // Returns 0 if none or if there's a problem,
+// // The arrays will contain an equal number of items found before the error.
+// // wildCard is in the form:
+// // "All files (*)|*|Image Files (*.jpeg *.png)|*.jpg;*.png"
+// int wxParseCommonDialogsFilter(const wxString& wildCard, wxArrayString& descriptions, wxArrayString& filters);
+
 #if defined(__WXMSW__) || defined(__WXMAC__)
-long wxGetFreeMemory();
+wxMemorySize wxGetFreeMemory();
 #else
 %inline %{
-    long wxGetFreeMemory()
+    wxMemorySize wxGetFreeMemory()
         { wxPyRaiseNotImplemented(); return 0; }
 %}
 #endif
@@ -72,7 +93,10 @@ bool wxShutdown(wxShutdownFlags wFlags);
 
 
 void wxSleep(int secs);
-void wxUsleep(unsigned long milliseconds);
+void wxMilliSleep(unsigned long milliseconds);
+void wxMicroSleep(unsigned long microseconds);
+%pythoncode { Usleep = MilliSleep }
+
 void wxEnableTopLevelWindows(bool enable);
 
 wxString wxStripMenuCodes(const wxString& in);
@@ -134,7 +158,7 @@ wxString wxGetTextFromUser(const wxString& message,
                            const wxString& default_value = wxPyEmptyString,
                            wxWindow *parent = NULL,
                            int x = -1, int y = -1,
-                           bool centre = True);
+                           bool centre = true);
 
 MustHaveApp(wxGetPasswordFromUser);
 wxString wxGetPasswordFromUser(const wxString& message,
@@ -148,7 +172,7 @@ wxString wxGetPasswordFromUser(const wxString& message,
 //                         int LCOUNT, char** choices,
 //                         int nsel, int *selection,
 //                         wxWindow *parent = NULL, int x = -1, int y = -1,
-//                         bool centre = True, int width=150, int height=200);
+//                         bool centre = true, int width=150, int height=200);
 
 
 MustHaveApp(wxGetSingleChoice);
@@ -156,7 +180,7 @@ wxString wxGetSingleChoice(const wxString& message, const wxString& caption,
                            int choices, wxString* choices_array,
                            wxWindow *parent = NULL,
                            int x = -1, int y = -1,
-                           bool centre = True,
+                           bool centre = true,
                            int width=150, int height=200);
 
 MustHaveApp(wxGetSingleChoiceIndex);
@@ -164,7 +188,7 @@ int wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
                            int choices, wxString* choices_array,
                            wxWindow *parent = NULL,
                            int x = -1, int y = -1,
-                           bool centre = True,
+                           bool centre = true,
                            int width=150, int height=200);
 
 
@@ -175,6 +199,8 @@ int wxMessageBox(const wxString& message,
                  wxWindow *parent = NULL,
                  int x = -1, int y = -1);
 
+// WXWIN_COMPATIBILITY_2_4
+#if 0
 MustHaveApp(wxGetNumberFromUser);
 long wxGetNumberFromUser(const wxString& message,
                          const wxString& prompt,
@@ -183,6 +209,8 @@ long wxGetNumberFromUser(const wxString& message,
                          long min = 0, long max = 100,
                          wxWindow *parent = NULL,
                          const wxPoint& pos = wxDefaultPosition);
+%pythoncode { GetNumberFromUser = wx._deprecated(GetNumberFromUser) }
+#endif
 
 // GDI Functions
 
@@ -224,14 +252,50 @@ MustHaveApp(wxSetCursor);
 void wxSetCursor(wxCursor& cursor);
 
 
+MustHaveApp(wxGetXDisplay);
+DocStr(wxGetXDisplay,
+"Returns a swigified pointer to the X11 display.  Returns None on
+other platforms.", "");
+%inline %{
+    void* wxGetXDisplay()
+    {
+#ifdef __WXGTK__
+        return wxGetDisplay();
+#else
+        return NULL;
+#endif
+    }
+%}
+
 
 // Miscellaneous functions
 
 MustHaveApp(wxBeginBusyCursor);
 void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR);
 
+
+MustHaveApp(wxGetMousePosition);
+DocDeclStr(
+    wxPoint, wxGetMousePosition(),
+    "Get the current mouse position on the screen.", "");
+
+MustHaveApp(FindWindowAtPointer);
+DocStr(FindWindowAtPointer,
+       "Returns the window currently under the mouse pointer, if it belongs to
+    this application.  Otherwise it returns None.", "");
+%inline %{
+    wxWindow* FindWindowAtPointer() {
+        wxPoint unused;
+        return wxFindWindowAtPointer(unused);
+    }
+%}
+
 MustHaveApp(wxGetActiveWindow);
-wxWindow * wxGetActiveWindow();
+DocDeclStr(
+    wxWindow *, wxGetActiveWindow(),
+    "Get the currently active window of this application, or None", "");
+
 
 MustHaveApp(wxGenericFindWindowAtPoint);
 wxWindow* wxGenericFindWindowAtPoint(const wxPoint& pt);
@@ -242,8 +306,12 @@ wxWindow* wxFindWindowAtPoint(const wxPoint& pt);
 MustHaveApp(wxGetTopLevelParent);
 wxWindow* wxGetTopLevelParent(wxWindow *win);
 
-//bool wxSpawnBrowser(wxWindow *parent, wxString href);
 
+DocDeclStr(
+    bool , wxLaunchDefaultBrowser(const wxString& url),
+    "Launches the user's default browser and tells it to open the location
+at ``url``.  Returns ``True`` if the application was successfully
+launched.", "");
 
 
 
@@ -252,11 +320,73 @@ DocDeclStr(
     bool , wxGetKeyState(wxKeyCode key),
     "Get the state of a key (true if pressed or toggled on, false if not.)
 This is generally most useful getting the state of the modifier or
-toggle keys.  On some platforms those may be the only keys that work.
+toggle keys.  On some platforms those may be the only keys that this
+function is able to detect.
 ", "");
 
 
 
+//---------------------------------------------------------------------------
+
+DocStr(wxMouseState,
+"`wx.MouseState` is used to hold information about mouse button and
+modifier key states and is what is returned from `wx.GetMouseState`.",
+"");
+
+class wxMouseState
+{
+public:
+    wxMouseState();
+    ~wxMouseState();
+
+    wxCoord     GetX();
+    wxCoord     GetY();
+
+    bool        LeftDown();
+    bool        MiddleDown();
+    bool        RightDown();
+
+    bool        ControlDown();
+    bool        ShiftDown();
+    bool        AltDown();
+    bool        MetaDown();
+    bool        CmdDown();
+
+    void        SetX(wxCoord x);
+    void        SetY(wxCoord y);
+
+    void        SetLeftDown(bool down);
+    void        SetMiddleDown(bool down);
+    void        SetRightDown(bool down);
+    
+    void        SetControlDown(bool down);
+    void        SetShiftDown(bool down);
+    void        SetAltDown(bool down);
+    void        SetMetaDown(bool down);
+
+    %pythoncode {
+        x = property(GetX, SetX)
+        y = property(GetY, SetY)
+        leftDown = property(LeftDown, SetLeftDown)
+        middleDown = property(MiddleDown, SetMiddleDown)
+        rightDown = property(RightDown, SetRightDown)
+        controlDown = property(ControlDown, SetControlDown)
+        shiftDown = property(ShiftDown, SetShiftDown)
+        altDown = property(AltDown, SetAltDown)
+        metaDown = property(MetaDown, SetMetaDown)
+        cmdDown = property(CmdDown)
+    }
+};
+
+
+DocDeclStr(
+    wxMouseState , wxGetMouseState(),
+    "Returns the current state of the mouse.  Returns an instance of a
+`wx.MouseState` object that contains the current position of the mouse
+pointer in screen coordinants, as well as boolean values indicating
+the up/down status of the mouse buttons and the modifier keys.", "");
+
+
 //---------------------------------------------------------------------------
 
 MustHaveApp(wxWakeUpMainThread);
@@ -291,10 +421,45 @@ MustHaveApp(wxThread);
 #ifdef WXP_WITH_THREAD
         return wxThread::IsMain();
 #else
-        return True;
+        return true;
 #endif
     }
 %}
 
+//---------------------------------------------------------------------------
+
+// enum wxPowerType
+// {
+//     wxPOWER_SOCKET,
+//     wxPOWER_BATTERY,
+//     wxPOWER_UNKNOWN
+// };
+
+// DocDeclStr(
+//     wxPowerType , wxGetPowerType(),
+//     "Returns the type of power source as one of wx.POWER_SOCKET,
+// wx.POWER_BATTERY or wx.POWER_UNKNOWN.  wx.POWER_UNKNOWN is also the
+// default on platforms where this feature is not implemented.", "");
+
+
+// enum wxBatteryState
+// {
+//     wxBATTERY_NORMAL_STATE,    // system is fully usable
+//     wxBATTERY_LOW_STATE,       // start to worry
+//     wxBATTERY_CRITICAL_STATE,  // save quickly
+//     wxBATTERY_SHUTDOWN_STATE,  // too late
+//     wxBATTERY_UNKNOWN_STATE
+// };
+
+// DocDeclStr(
+//     wxBatteryState , wxGetBatteryState(),
+//     "Returns battery state as one of wx.BATTERY_NORMAL_STATE,
+// wx.BATTERY_LOW_STATE}, wx.BATTERY_CRITICAL_STATE,
+// wx.BATTERY_SHUTDOWN_STATE or wx.BATTERY_UNKNOWN_STATE.
+// wx.BATTERY_UNKNOWN_STATE is also the default on platforms where this
+// feature is not implemented.", "");
+
+
+
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------