]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/controls.i
it is now possible to add custom buttons into wxHtmlHelpFrame's toolbar
[wxWidgets.git] / utils / wxPython / src / controls.i
index 3d894ebd21ed4bde541354ec0caf209bbddbc3f2..f695ceb0bbdc1fa756455b3c6f765168ae7a5eba 100644 (file)
@@ -18,6 +18,7 @@
 #include <wx/spinbutt.h>
 #include <wx/dynarray.h>
 #include <wx/statline.h>
+//#include <wx/toggbutt.h>
 
 #ifdef __WXMSW__
 #if wxUSE_OWNER_DRAWN
 wxValidator wxPyDefaultValidator;       // Non-const default because of SWIG
 %}
 
+%readonly
+wxValidator wxDefaultValidator;
+%readwrite
+
 //----------------------------------------------------------------------
 
 class wxControl : public wxWindow {
 public:
-#ifdef __WXMSW__
+    wxControl(wxWindow *parent,
+                       wxWindowID id,
+                       const wxPoint& pos=wxPyDefaultPosition,
+                       const wxSize& size=wxPyDefaultSize,
+                       long style=0,
+                       const wxValidator& validator=wxPyDefaultValidator,
+                       const char* name="control");
+
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
     void Command(wxCommandEvent& event);
-#endif
     wxString GetLabel();
     void SetLabel(const wxString& label);
 };
 
+
 //----------------------------------------------------------------------
 
 class wxButton : public wxControl {
@@ -76,8 +90,17 @@ public:
     %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
 
     void SetDefault();
+    void SetBackgroundColour(const wxColour& colour);
+    void SetForegroundColour(const wxColour& colour);
 };
 
+
+%inline %{
+    wxSize wxButton_GetDefaultSize() {
+        return wxButton::GetDefaultSize();
+    }
+%}
+
 //----------------------------------------------------------------------
 
 class wxBitmapButton : public wxButton {
@@ -102,6 +125,31 @@ public:
 
 };
 
+//----------------------------------------------------------------------
+
+//  class wxToggleButton : public wxControl {
+//  public:
+//      wxToggleButton(wxWindow *parent, wxWindowID id, const wxString& label,
+//                     const wxPoint& pos = wxPyDefaultPosition,
+//                     const wxSize& size = wxPyDefaultSize, long style = 0,
+//                     const wxValidator& validator = wxPyDefaultValidator,
+//                     const char* name = "toggle");
+//      void SetValue(bool value);
+//      bool GetValue() const ;
+//      void SetLabel(const wxString& label);
+//  };
+
+//  class wxBitmapToggleButton : public wxToggleButton {
+//  public:
+//      wxBitmapToggleButton(wxWindow *parent, wxWindowID id, const wxBitmap *label,
+//                           const wxPoint& pos = wxPyDefaultPosition,
+//                           const wxSize& size = wxPyDefaultSize, long style = 0,
+//                           const wxValidator& validator = wxPyDefaultValidator,
+//                           const char *name = "toggle");
+//      void SetLabel(const wxBitmap& bitmap);
+//  };
+
+
 //----------------------------------------------------------------------
 
 class wxCheckBox : public wxControl {
@@ -182,7 +230,7 @@ public:
     // TODO:    void SetClientData(const int n, char* data);
     void SetInsertionPoint(long pos);
     void SetInsertionPointEnd();
-    //void SetSelection(int n, int select = TRUE);  **** Just use the one in wxChoice
+    void SetSelection(int n);
     %name(SetMark)void SetSelection(long from, long to);
     void SetValue(const wxString& text);
 };
@@ -287,6 +335,8 @@ public:
       }
     }
 
+    void InsertItems(int LCOUNT, wxString* LIST, int pos);
+
     wxString GetString(int n);
     wxString GetStringSelection();
     int Number();
@@ -317,7 +367,8 @@ public:
     %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
 
     bool  IsChecked(int uiIndex);
-    void  Check(int uiIndex, bool bCheck = TRUE);
+    void  Check(int uiIndex, int bCheck = TRUE);
+    void InsertItems(int LCOUNT, wxString* LIST, int pos);
 
     int GetItemHeight();
 };
@@ -369,6 +420,14 @@ public:
     bool CanUndo();
     void GetSelection(long* OUTPUT, long* OUTPUT);
     bool IsEditable();
+    void Undo();
+    void Redo();
+
+    %addmethods {
+        void write(const wxString& text) {
+            self->AppendText(text + '\n');
+        }
+    }
 };
 
 //----------------------------------------------------------------------
@@ -520,141 +579,3 @@ public:
 
 //----------------------------------------------------------------------
 
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// $Log$
-// Revision 1.16  1999/07/31 07:54:35  RD
-// wxPython 2.1b1:
-//
-//     Added the missing wxWindow.GetUpdateRegion() method.
-//
-//     Made a new change in SWIG (update your patches everybody) that
-//     provides a fix for global shadow objects that get an exception in
-//     their __del__ when their extension module has already been deleted.
-//     It was only a 1 line change in .../SWIG/Modules/pycpp.cxx at about
-//     line 496 if you want to do it by hand.
-//
-//     It is now possible to run through MainLoop more than once in any one
-//     process.  The cleanup that used to happen as MainLoop completed (and
-//     prevented it from running again) has been delayed until the wxc module
-//     is being unloaded by Python.
-//
-//     wxWindow.PopupMenu() now takes a wxPoint instead of  x,y.  Added
-//     wxWindow.PopupMenuXY to be consistent with some other methods.
-//
-//     Added wxGrid.SetEditInPlace and wxGrid.GetEditInPlace.
-//
-//     You can now provide your own app.MainLoop method.  See
-//     wxPython/demo/demoMainLoop.py for an example and some explaination.
-//
-//     Got the in-place-edit for the wxTreeCtrl fixed and added some demo
-//     code to show how to use it.
-//
-//     Put the wxIcon constructor back in for GTK as it now has one that
-//     matches MSW's.
-//
-//     Added wxGrid.GetCells
-//
-//     Added wxSystemSettings static methods as functions with names like
-//     wxSystemSettings_GetSystemColour.
-//
-//     Removed wxPyMenu since using menu callbacks have been depreciated in
-//     wxWindows.  Use wxMenu and events instead.
-//
-//     Added alternate wxBitmap constructor (for MSW only) as
-//           wxBitmapFromData(data, type, width, height, depth = 1)
-//
-//     Added a helper function named wxPyTypeCast that can convert shadow
-//     objects of one type into shadow objects of another type.  (Like doing
-//     a down-cast.)  See the implementation in wx.py for some docs.
-//
-// Revision 1.15  1999/06/22 17:45:18  RD
-//
-// wxPython 2.1b1:  Very minor changes needed for wxGTK
-//
-// Revision 1.14  1999/06/22 07:03:02  RD
-//
-// wxPython 2.1b1 for wxMSW  (wxGTK coming soon)
-// Lots of changes, see the README.txt for details...
-//
-// Revision 1.13  1999/04/30 21:13:43  RD
-//
-// wxPython 2.0b9, first phase (win32)
-// Added gobs of stuff, see wxPython/README.txt for details
-//
-// 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
-//
-//
-