]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/misc2.i
more updates
[wxWidgets.git] / utils / wxPython / src / misc2.i
index 716c17333fc14b0408d32674d074411acdebb459..cc61878322a63fe265885b30135005de46b98438 100644 (file)
@@ -19,9 +19,7 @@
 #include <wx/resource.h>
 #include <wx/tooltip.h>
 #include <wx/caret.h>
-#ifdef NOT_READY_YET
 #include <wx/fontenum.h>
-#endif
 %}
 
 //----------------------------------------------------------------------
 %import _defs.i
 %import windows.i
 %import misc.i
+%import gdi.i
+%import events.i
+
+//---------------------------------------------------------------------------
+// Dialog Functions
+
+wxString wxFileSelector(char* message,
+                        char* default_path = NULL,
+                        char* default_filename = NULL,
+                        char* default_extension = NULL,
+                        char* wildcard = "*.*",
+                        int flags = 0,
+                        wxWindow *parent = NULL,
+                        int x = -1, int y = -1);
+
+wxString wxGetTextFromUser(const wxString& message,
+                           const wxString& caption = wxPyEmptyStr,
+                           const wxString& default_value = wxPyEmptyStr,
+                           wxWindow *parent = NULL,
+                           int x = -1, int y = -1,
+                           bool centre = TRUE);
+
+
+// TODO: Need to custom wrap this one...
+// int wxGetMultipleChoice(char* message, char* caption,
+//                         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);
+
+
+wxString wxGetSingleChoice(const wxString& message, const wxString& caption,
+                           int LCOUNT, wxString* choices,
+                           wxWindow *parent = NULL,
+                           int x = -1, int y = -1,
+                           bool centre = TRUE,
+                           int width=150, int height=200);
+
+int wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
+                           int LCOUNT, wxString* choices,
+                           wxWindow *parent = NULL,
+                           int x = -1, int y = -1,
+                           bool centre = TRUE,
+                           int width=150, int height=200);
+
+
+int wxMessageBox(const wxString& message,
+                 const wxString& caption = wxPyEmptyStr,
+                 int style = wxOK | wxCENTRE,
+                 wxWindow *parent = NULL,
+                 int x = -1, int y = -1);
+
+long wxGetNumberFromUser(const wxString& message,
+                         const wxString& prompt,
+                         const wxString& caption,
+                         long value,
+                         long min = 0, long max = 100,
+                         wxWindow *parent = NULL,
+                         const wxPoint& pos = wxPyDefaultPosition);
+
+//---------------------------------------------------------------------------
+// GDI Functions
+
+bool wxColourDisplay();
+int wxDisplayDepth();
+void wxSetCursor(wxCursor& cursor);
 
 //----------------------------------------------------------------------
+// Miscellaneous functions
 
 wxWindow * wxFindWindowByLabel(const wxString& label, wxWindow *parent=NULL);
 wxWindow * wxFindWindowByName(const wxString& name, wxWindow *parent=NULL);
 
+void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR);
+wxWindow * wxGetActiveWindow();
+
+
+//---------------------------------------------------------------------------
+// Resource System
+
+bool wxResourceAddIdentifier(char *name, int value);
+void wxResourceClear(void);
+wxBitmap  wxResourceCreateBitmap(char *resource);
+wxIcon  wxResourceCreateIcon(char *resource);
+wxMenuBar * wxResourceCreateMenuBar(char *resource);
+int wxResourceGetIdentifier(char *name);
+bool wxResourceParseData(char *resource, wxResourceTable *table = NULL);
+bool wxResourceParseFile(char *filename, wxResourceTable *table = NULL);
+bool wxResourceParseString(char *resource, wxResourceTable *table = NULL);
+
+//---------------------------------------------------------------------------
+// System Settings
+
+enum {
+    wxSYS_WHITE_BRUSH,
+    wxSYS_LTGRAY_BRUSH,
+    wxSYS_GRAY_BRUSH,
+    wxSYS_DKGRAY_BRUSH,
+    wxSYS_BLACK_BRUSH,
+    wxSYS_NULL_BRUSH,
+    wxSYS_HOLLOW_BRUSH,
+    wxSYS_WHITE_PEN,
+    wxSYS_BLACK_PEN,
+    wxSYS_NULL_PEN,
+    wxSYS_OEM_FIXED_FONT,
+    wxSYS_ANSI_FIXED_FONT,
+    wxSYS_ANSI_VAR_FONT,
+    wxSYS_SYSTEM_FONT,
+    wxSYS_DEVICE_DEFAULT_FONT,
+    wxSYS_DEFAULT_PALETTE,
+    wxSYS_SYSTEM_FIXED_FONT,
+    wxSYS_DEFAULT_GUI_FONT,
+
+    wxSYS_COLOUR_SCROLLBAR,
+    wxSYS_COLOUR_BACKGROUND,
+    wxSYS_COLOUR_ACTIVECAPTION,
+    wxSYS_COLOUR_INACTIVECAPTION,
+    wxSYS_COLOUR_MENU,
+    wxSYS_COLOUR_WINDOW,
+    wxSYS_COLOUR_WINDOWFRAME,
+    wxSYS_COLOUR_MENUTEXT,
+    wxSYS_COLOUR_WINDOWTEXT,
+    wxSYS_COLOUR_CAPTIONTEXT,
+    wxSYS_COLOUR_ACTIVEBORDER,
+    wxSYS_COLOUR_INACTIVEBORDER,
+    wxSYS_COLOUR_APPWORKSPACE,
+    wxSYS_COLOUR_HIGHLIGHT,
+    wxSYS_COLOUR_HIGHLIGHTTEXT,
+    wxSYS_COLOUR_BTNFACE,
+    wxSYS_COLOUR_BTNSHADOW,
+    wxSYS_COLOUR_GRAYTEXT,
+    wxSYS_COLOUR_BTNTEXT,
+    wxSYS_COLOUR_INACTIVECAPTIONTEXT,
+    wxSYS_COLOUR_BTNHIGHLIGHT,
+
+    wxSYS_COLOUR_3DDKSHADOW,
+    wxSYS_COLOUR_3DLIGHT,
+    wxSYS_COLOUR_INFOTEXT,
+    wxSYS_COLOUR_INFOBK,
+
+    wxSYS_COLOUR_DESKTOP,
+    wxSYS_COLOUR_3DFACE,
+    wxSYS_COLOUR_3DSHADOW,
+    wxSYS_COLOUR_3DHIGHLIGHT,
+    wxSYS_COLOUR_3DHILIGHT,
+    wxSYS_COLOUR_BTNHILIGHT,
+
+    wxSYS_MOUSE_BUTTONS,
+    wxSYS_BORDER_X,
+    wxSYS_BORDER_Y,
+    wxSYS_CURSOR_X,
+    wxSYS_CURSOR_Y,
+    wxSYS_DCLICK_X,
+    wxSYS_DCLICK_Y,
+    wxSYS_DRAG_X,
+    wxSYS_DRAG_Y,
+    wxSYS_EDGE_X,
+    wxSYS_EDGE_Y,
+    wxSYS_HSCROLL_ARROW_X,
+    wxSYS_HSCROLL_ARROW_Y,
+    wxSYS_HTHUMB_X,
+    wxSYS_ICON_X,
+    wxSYS_ICON_Y,
+    wxSYS_ICONSPACING_X,
+    wxSYS_ICONSPACING_Y,
+    wxSYS_WINDOWMIN_X,
+    wxSYS_WINDOWMIN_Y,
+    wxSYS_SCREEN_X,
+    wxSYS_SCREEN_Y,
+    wxSYS_FRAMESIZE_X,
+    wxSYS_FRAMESIZE_Y,
+    wxSYS_SMALLICON_X,
+    wxSYS_SMALLICON_Y,
+    wxSYS_HSCROLL_Y,
+    wxSYS_VSCROLL_X,
+    wxSYS_VSCROLL_ARROW_X,
+    wxSYS_VSCROLL_ARROW_Y,
+    wxSYS_VTHUMB_Y,
+    wxSYS_CAPTION_Y,
+    wxSYS_MENU_Y,
+    wxSYS_NETWORK_PRESENT,
+    wxSYS_PENWINDOWS_PRESENT,
+    wxSYS_SHOW_SOUNDS,
+    wxSYS_SWAP_BUTTONS,
+};
+
 
 
+%inline %{
+
+    wxColour wxSystemSettings_GetSystemColour(int index) {
+        return wxSystemSettings::GetSystemColour(index);
+    }
+
+    wxFont wxSystemSettings_GetSystemFont(int index) {
+        return wxSystemSettings::GetSystemFont(index);
+    }
+
+    int wxSystemSettings_GetSystemMetric(int index) {
+        return wxSystemSettings::GetSystemMetric(index);
+    }
+%}
+
 //---------------------------------------------------------------------------
 // wxToolTip
 
@@ -81,10 +274,10 @@ public:
     wxWindow *GetWindow();
     %name(MoveXY)void Move(int x, int y);
     void Move(const wxPoint& pt);
+    %name(SetSizeWH) void SetSize(int width, int height);
+    void SetSize(const wxSize& size);
     void Show(int show = TRUE);
     void Hide();
-    void OnSetFocus();
-    void OnKillFocus();
 };
 
 %inline %{
@@ -98,7 +291,6 @@ public:
 %}
 
 //----------------------------------------------------------------------
-#ifdef NOT_READY_YET
 
 %{
 class wxPyFontEnumerator : public wxFontEnumerator {
@@ -106,34 +298,64 @@ public:
     wxPyFontEnumerator() {}
     ~wxPyFontEnumerator() {}
 
-    bool EnumerateFamilies(int fixedWidthOnly = FALSE);
-    bool EnumerateEncodings(const char* family = "");
-
-    DEC_PYCALLBACK_BOOL_STRING(OnFontFamily);
+    DEC_PYCALLBACK_BOOL_STRING(OnFacename);
     DEC_PYCALLBACK_BOOL_STRINGSTRING(OnFontEncoding);
 
     PYPRIVATE;
 };
 
-IMP_PYCALLBACK_BOOL_STRING(wxPyFontEnumerator, wxFontEnumerator, OnFontFamily);
+IMP_PYCALLBACK_BOOL_STRING(wxPyFontEnumerator, wxFontEnumerator, OnFacename);
 IMP_PYCALLBACK_BOOL_STRINGSTRING(wxPyFontEnumerator, wxFontEnumerator, OnFontEncoding);
 
 %}
 
 %name(wxFontEnumerator) class wxPyFontEnumerator {
 public:
-    wxPyFontEnumerator() {}
-    ~wxPyFontEnumerator() {}
+    wxPyFontEnumerator();
+    ~wxPyFontEnumerator();
+    void _setSelf(PyObject* self);
     %pragma(python) addtomethod = "__init__:self._setSelf(self)"
 
-    bool EnumerateFamilies(int fixedWidthOnly = FALSE);
-    bool EnumerateEncodings(const char* family = "");
+    bool EnumerateFacenames(
+        wxFontEncoding encoding = wxFONTENCODING_SYSTEM, // all
+        bool fixedWidthOnly = FALSE);
+    bool EnumerateEncodings(const char* facename = "");
+
+    //wxArrayString* GetEncodings();
+    //wxArrayString* GetFacenames();
+    %addmethods {
+        PyObject* GetEncodings() {
+            wxArrayString* arr = self->GetEncodings();
+            PyObject* list = PyList_New(0);
+            for (size_t x=0; x<arr->GetCount(); x++)
+                PyList_Append(list, PyString_FromString((*arr)[x]));
+            return list;
+        }
 
-    bool base_OnFontFamily(const wxString& family);
-    bool base_OnFontEncoding(const wxString& family,
-                             const wxString& encoding);
+        PyObject* GetFacenames() {
+            wxArrayString* arr = self->GetFacenames();
+            PyObject* list = PyList_New(0);
+            for (size_t x=0; x<arr->GetCount(); x++)
+                PyList_Append(list, PyString_FromString((*arr)[x]));
+            return list;
+        }
+    }
 };
-#endif
+
+//----------------------------------------------------------------------
+
+class  wxBusyCursor {
+public:
+    wxBusyCursor(wxCursor* cursor = wxHOURGLASS_CURSOR);
+    ~wxBusyCursor();
+};
+
+//----------------------------------------------------------------------
+
+void wxPostEvent(wxEvtHandler *dest, wxEvent& event);
+void wxWakeUpIdle();
+
+//----------------------------------------------------------------------
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------