]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/controls.i
jconfig.h uses configures results
[wxWidgets.git] / utils / wxPython / src / controls.i
index 925459c540d3580fb2b038d95658b79c6cbed93c..605a9d697c97a89bb11248c109be464040560dd6 100644 (file)
@@ -1,5 +1,3 @@
-%module controls
-%{
 /////////////////////////////////////////////////////////////////////////////
 // Name:        controls.i
 // Purpose:     Control (widget) classes for wxPython
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
+%module controls
 
+%{
 #include "helpers.h"
 #include <wx/slider.h>
 #include <wx/spinbutt.h>
+#include <wx/dynarray.h>
+
+#ifdef __WXMSW__
+#if wxUSE_OWNER_DRAWN
+#include <wx/checklst.h>
+#endif
+#endif
+
+#ifdef __WXGTK__
+#include <wx/checklst.h>
+#endif
 %}
 
 //----------------------------------------------------------------------
@@ -30,6 +41,8 @@
 %import gdi.i
 %import events.i
 
+%pragma(python) code = "import wx"
+
 //----------------------------------------------------------------------
 
 %{
@@ -41,7 +54,7 @@ wxValidator wxPyDefaultValidator;       // Non-const default because of SWIG
 class wxControl : public wxWindow {
 public:
     void Command(wxCommandEvent& event);
-    wxString& GetLabel();
+    wxString GetLabel();
     void SetLabel(const wxString& label);
 };
 
@@ -55,6 +68,9 @@ public:
              long style = 0,
              const wxValidator& validator = wxPyDefaultValidator,
              char* name = "button");
+
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
     void SetDefault();
 };
 
@@ -69,14 +85,16 @@ public:
                    const wxValidator& validator = wxPyDefaultValidator,
                    char* name = "button");
 
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
+    wxBitmap& GetBitmapLabel();
     wxBitmap& GetBitmapDisabled();
     wxBitmap& GetBitmapFocus();
-    wxBitmap& GetBitmapLabel();
     wxBitmap& GetBitmapSelected();
     void SetBitmapDisabled(const wxBitmap& bitmap);
     void SetBitmapFocus(const wxBitmap& bitmap);
-    void SetBitmapLabel(const wxBitmap& bitmap);
     void SetBitmapSelected(const wxBitmap& bitmap);
+    void SetBitmapLabel(const wxBitmap& bitmap);
 
 };
 
@@ -91,6 +109,8 @@ public:
                const wxValidator& val = wxPyDefaultValidator,
                char* name = "checkBox");
 
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
     bool GetValue();
     void SetValue(const bool state);
 };
@@ -107,6 +127,8 @@ public:
              const wxValidator& validator = wxPyDefaultValidator,
              char* name = "choice");
 
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
     void Append(const wxString& item);
     void Clear();
     int FindString(const wxString& string);
@@ -132,6 +154,8 @@ public:
                const wxValidator& validator = wxPyDefaultValidator,
                char* name = "comboBox");
 
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
     void Append(const wxString& item);
     // TODO: void Append(const wxString& item, char* clientData);
     void Clear();
@@ -170,6 +194,8 @@ public:
             const wxValidator& validator = wxPyDefaultValidator,
             char* name = "gauge");
 
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
     int GetBezelFace();
     int GetRange();
     int GetShadowWidth();
@@ -202,6 +228,8 @@ public:
                  long style = 0,
                  char* name = "staticText");
 
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
     wxString GetLabel();
     void SetLabel(const wxString& label);
 };
@@ -218,6 +246,8 @@ public:
               const wxValidator& validator = wxPyDefaultValidator,
               char* name = "listBox");
 
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
     void Append(const wxString& item);
     // TODO:    void Append(const wxString& item, char* clientData);
     void Clear();
@@ -226,7 +256,20 @@ public:
     int FindString(const wxString& string);
     // TODO:    char* GetClientData(const int n);
     int GetSelection();
-    // TODO: int GetSelections(int **selections);
+
+    // int GetSelections(int **selections);
+    %addmethods {
+      PyObject* GetSelections() {
+          wxArrayInt lst;
+          self->GetSelections(lst);
+          PyObject *tup = PyTuple_New(lst.GetCount());
+          for(int i=0; i<lst.GetCount(); i++) {
+              PyTuple_SetItem(tup, i, PyInt_FromLong(lst[i]));
+          }
+          return tup;
+      }
+    }
+
     wxString GetString(int n);
     wxString GetStringSelection();
     int Number();
@@ -241,6 +284,27 @@ public:
 };
 
 
+//----------------------------------------------------------------------
+
+class wxCheckListBox : public wxListBox {
+public:
+    wxCheckListBox(wxWindow *parent, wxWindowID id,
+                   const wxPoint& pos = wxPyDefaultPosition,
+                   const wxSize& size = wxPyDefaultSize,
+                   int LCOUNT = 0,
+                   wxString* LIST = NULL,
+                   long style = 0,
+                   const wxValidator& validator = wxPyDefaultValidator,
+                   char* name = "listBox");
+
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
+    bool  IsChecked(int uiIndex);
+    void  Check(int uiIndex, bool bCheck = TRUE);
+
+    int GetItemHeight();
+};
+
 //----------------------------------------------------------------------
 
 class wxTextCtrl : public wxControl {
@@ -252,6 +316,8 @@ public:
                const wxValidator& validator = wxPyDefaultValidator,
                char* name = "text");
 
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
     void Clear();
     void Copy();
     void Cut();
@@ -276,6 +342,7 @@ public:
     void SetValue(const wxString& value);
     void ShowPosition(long pos);
     void WriteText(const wxString& text);
+    void AppendText(const wxString& text);
     long XYToPosition(long x, long y);
 };
 
@@ -290,11 +357,13 @@ public:
                 const wxValidator& validator = wxPyDefaultValidator,
                 char* name = "scrollBar");
 
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
     int GetRange();
     int GetPageSize();
-    int GetPosition();
+    int GetThumbPosition();
     int GetThumbSize();
-    void SetPosition(int viewStart);
+    void SetThumbPosition(int viewStart);
     void SetScrollbar(int position, int thumbSize,
                       int range,    int pageSize,
                       bool refresh = TRUE);
@@ -328,7 +397,9 @@ public:
                    long style = 0,
                    char* name = "staticBitmap");
 
-    wxBitmap& GetBitmap();
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
+    const wxBitmap& GetBitmap();
     void SetBitmap(const wxBitmap& bitmap);
 };
 
@@ -346,17 +417,21 @@ public:
                const wxValidator& validator = wxPyDefaultValidator,
                char* name = "radioBox");
 
-    %name(EnableBox)void Enable(bool enable);
-    void Enable(int n, bool enable);
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
+    void Enable(bool enable);
+    %name(EnableItem)void Enable(int n, bool enable);
     int FindString(const wxString& string);
-    %name(GetBoxLabel)wxString GetLabel();
-    wxString GetLabel(int n);
+#ifdef __WXMSW__
+    wxString GetLabel();
+#endif
+    %name(GetItemLabel)wxString GetLabel(int n);
     int GetSelection();
     wxString GetString(int n);
     wxString GetStringSelection();
     int Number();
-    %name(SetBoxLabel)void SetLabel(const wxString& label);
-    void SetLabel(int n, const wxString& label);
+    void SetLabel(const wxString& label);
+    %name(SetItemLabel)void SetLabel(int n, const wxString& label);
     void SetSelection(int n);
     void SetStringSelection(const wxString& string);
     void Show(bool show);
@@ -375,6 +450,8 @@ public:
                   const wxValidator& validator = wxPyDefaultValidator,
                   char* name = "radioButton");
 
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
     bool GetValue();
     void SetValue(bool value);
 };
@@ -391,6 +468,8 @@ public:
              const wxValidator& validator = wxPyDefaultValidator,
              char* name = "slider");
 
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
     void ClearSel();
     void ClearTicks();
     int GetLineSize();
@@ -419,6 +498,75 @@ public:
 /////////////////////////////////////////////////////////////////////////////
 //
 // $Log$
+// Revision 1.12  1999/04/30 03:29:18  RD
+// wxPython 2.0b9, first phase (win32)
+// Added gobs of stuff, see wxPython/README.txt for details
+//
+// Revision 1.11.4.1  1999/03/27 23:29:14  RD
+//
+// wxPython 2.0b8
+//     Python thread support
+//     various minor additions
+//     various minor fixes
+//
+// Revision 1.11  1999/02/25 07:08:30  RD
+//
+// wxPython version 2.0b5
+//
+// Revision 1.10  1998/12/17 17:52:19  RD
+//
+// wxPython 0.5.2
+// Minor fixes and SWIG code generation for RR's changes.  MSW and GTK
+// versions are much closer now!
+//
+// Revision 1.9  1998/12/17 14:07:29  RR
+//
+//   Removed minor differences between wxMSW and wxGTK
+//
+// Revision 1.8  1998/12/15 20:41:15  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/16 00:00:53  RD
+// Generic treectrl for wxPython/GTK compiles...
+//
+// Revision 1.6  1998/11/15 23:03:43  RD
+// Removing some ifdef's for wxGTK
+//
+// Revision 1.5  1998/10/07 07:34:32  RD
+// Version 0.4.1 for wxGTK
+//
+// Revision 1.4  1998/10/02 06:40:35  RD
+//
+// Version 0.4 of wxPython for MSW.
+//
+// Revision 1.3  1998/08/18 19:48:14  RD
+// more wxGTK compatibility things.
+//
+// It builds now but there are serious runtime problems...
+//
+// Revision 1.2  1998/08/15 07:36:28  RD
+// - Moved the header in the .i files out of the code that gets put into
+// the .cpp files.  It caused CVS conflicts because of the RCS ID being
+// different each time.
+//
+// - A few minor fixes.
+//
 // Revision 1.1  1998/08/09 08:25:49  RD
 // Initial version
 //