#include <wx/caret.h>
#include <wx/fontenum.h>
#include <wx/tipdlg.h>
+#include <wx/process.h>
+#include <wx/joystick.h>
%}
//----------------------------------------------------------------------
%import misc.i
%import gdi.i
%import events.i
+%import streams.i
+
+%{
+ static wxString wxPyEmptyStr("");
+%}
//---------------------------------------------------------------------------
// Dialog Functions
int x = -1, int y = -1,
bool centre = TRUE);
+wxString wxGetPasswordFromUser(const wxString& message,
+ const wxString& caption = wxPyEmptyStr,
+ const wxString& default_value = wxPyEmptyStr,
+ wxWindow *parent = NULL);
+
// TODO: Need to custom wrap this one...
// int wxGetMultipleChoice(char* message, char* caption,
long value,
long min = 0, long max = 100,
wxWindow *parent = NULL,
- const wxPoint& pos = wxPyDefaultPosition);
+ const wxPoint& pos = wxDefaultPosition);
//---------------------------------------------------------------------------
// GDI Functions
bool wxColourDisplay();
+
int wxDisplayDepth();
+int wxGetDisplayDepth();
+
+void wxDisplaySize(int* OUTPUT, int* OUTPUT);
+wxSize wxGetDisplaySize();
+
+void wxDisplaySizeMM(int* OUTPUT, int* OUTPUT);
+wxSize wxGetDisplaySizeMM();
+
void wxSetCursor(wxCursor& cursor);
//----------------------------------------------------------------------
//----------------------------------------------------------------------
+class wxWindowDisabler {
+public:
+ wxWindowDisabler(wxWindow *winToSkip = NULL);
+ ~wxWindowDisabler();
+};
+
+//----------------------------------------------------------------------
+
void wxPostEvent(wxEvtHandler *dest, wxEvent& event);
void wxWakeUpIdle();
+bool wxSafeYield(wxWindow* win=NULL);
+
//----------------------------------------------------------------------
void wxLogSysError(const char *szFormat);
+
+//----------------------------------------------------------------------
+
+
+enum {
+ /* event type */
+ wxEVT_END_PROCESS
+};
+
+
+class wxProcessEvent : public wxEvent {
+public:
+ wxProcessEvent(int id = 0, int pid = 0, int exitcode = 0);
+ int GetPid();
+ int GetExitCode();
+ int m_pid, m_exitcode;
+};
+
+
+
+
+%{ // C++ version of wxProcess derived class
+
+class wxPyProcess : public wxProcess {
+public:
+ wxPyProcess(wxEvtHandler *parent = NULL, int id = -1)
+ : wxProcess(parent, id)
+ {}
+
+ DEC_PYCALLBACK_VOID_INTINT(OnTerminate);
+
+ PYPRIVATE;
+};
+
+IMP_PYCALLBACK_VOID_INTINT( wxPyProcess, wxProcess, OnTerminate);
+%}
+
+
+%name(wxProcess)class wxPyProcess : public wxEvtHandler {
+public:
+ wxPyProcess(wxEvtHandler *parent = NULL, int id = -1);
+ %addmethods { void Destroy() { delete self; } }
+
+ void _setSelf(PyObject* self, PyObject* _class);
+ %pragma(python) addtomethod = "__init__:self._setSelf(self, wxProcess)"
+
+ void base_OnTerminate(int pid, int status);
+
+ void Redirect();
+ bool IsRedirected();
+ void Detach();
+
+ wxInputStream *GetInputStream();
+ wxInputStream *GetErrorStream();
+ wxOutputStream *GetOutputStream();
+
+ void CloseOutput();
+};
+
+
+
+long wxExecute(const wxString& command,
+ int sync = FALSE,
+ wxPyProcess *process = NULL);
+
+//----------------------------------------------------------------------
+
+#ifdef __WXMSW__
+class wxJoystick {
+public:
+ wxJoystick(int joystick = wxJOYSTICK1);
+ wxPoint GetPosition();
+ int GetZPosition();
+ int GetButtonState();
+ int GetPOVPosition();
+ int GetPOVCTSPosition();
+ int GetRudderPosition();
+ int GetUPosition();
+ int GetVPosition();
+ int GetMovementThreshold();
+ void SetMovementThreshold(int threshold) ;
+
+ bool IsOk(void);
+ int GetNumberJoysticks();
+ int GetManufacturerId();
+ int GetProductId();
+ wxString GetProductName();
+ int GetXMin();
+ int GetYMin();
+ int GetZMin();
+ int GetXMax();
+ int GetYMax();
+ int GetZMax();
+ int GetNumberButtons();
+ int GetNumberAxes();
+ int GetMaxButtons();
+ int GetMaxAxes();
+ int GetPollingMin();
+ int GetPollingMax();
+ int GetRudderMin();
+ int GetRudderMax();
+ int GetUMin();
+ int GetUMax();
+ int GetVMin();
+ int GetVMax();
+
+ bool HasRudder();
+ bool HasZ();
+ bool HasU();
+ bool HasV();
+ bool HasPOV();
+ bool HasPOV4Dir();
+ bool HasPOVCTS();
+
+ bool SetCapture(wxWindow* win, int pollingFreq = 0);
+ bool ReleaseCapture();
+};
+#endif
+
//----------------------------------------------------------------------
//----------------------------------------------------------------------