// Not a %module
+%{
+#include <wx/stockitem.h>
+%}
+
//---------------------------------------------------------------------------
MAKE_CONST_WXSTRING(FileSelectorPromptStr);
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);
+
+enum wxStockLabelQueryFlag
+{
+ wxSTOCK_NOFLAGS = 0,
+
+ wxSTOCK_WITH_MNEMONIC = 1,
+ wxSTOCK_WITH_ACCELERATOR = 2
+};
+
+// Returns label that should be used for given stock UI element (e.g. "&OK"
+// for wxID_OK):
+wxString wxGetStockLabel(wxWindowID id,
+ long flags = wxSTOCK_WITH_MNEMONIC);
+
+
+enum wxStockHelpStringClient
+{
+ wxSTOCK_MENU // help string to use for menu items
+};
+
+// Returns an help string for the given stock UI element and for the given "context".
+wxString wxGetStockHelpString(wxWindowID id,
+ wxStockHelpStringClient client = wxSTOCK_MENU);
+
+
+
+
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);
+%pythoncode { GetElapsedTime = wx._deprecated(GetElapsedTime) }
+
bool wxIsBusy();
wxString wxNow();
bool wxShell(const wxString& command = wxPyEmptyString);
void wxStartTimer();
+
DocDeclA(
int, wxGetOsVersion(int *OUTPUT, int *OUTPUT),
"GetOsVersion() -> (platform, major, minor)");
wxString wxGetOsDescription();
+
+// Get platform endianness
+bool wxIsPlatformLittleEndian();
+
+// Get platform architecture
+bool wxIsPlatform64Bit();
+
+
// TODO:
// // Parses the wildCard, returning the number of filters.
// // Returns 0 if none or if there's a problem,
// // "All files (*)|*|Image Files (*.jpeg *.png)|*.jpg;*.png"
// int wxParseCommonDialogsFilter(const wxString& wildCard, wxArrayString& descriptions, wxArrayString& filters);
+
+%typemap(out) wxMemorySize {
+ %#if wxUSE_LONGLONG
+ $result = PyLong_FromLongLong($1.GetValue());
+ %#else
+ $result = PyInt_FromLong($1);
+ %#endif
+}
+
#if defined(__WXMSW__) || defined(__WXMAC__)
-long wxGetFreeMemory();
+wxMemorySize wxGetFreeMemory();
#else
%inline %{
- long wxGetFreeMemory()
+ wxMemorySize wxGetFreeMemory()
{ wxPyRaiseNotImplemented(); return 0; }
%}
#endif
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);
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,
// 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);
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);
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);
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);
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.", "");
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);
#ifdef WXP_WITH_THREAD
return wxThread::IsMain();
#else
- return True;
+ return true;
#endif
}
%}