X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1d99702e4b41ed8b4110325e3dd9d710b5d32562..7ece89c6b10b74d90534afcffc61522a8f394d8c:/utils/wxPython/src/controls.i?ds=sidebyside diff --git a/utils/wxPython/src/controls.i b/utils/wxPython/src/controls.i index 86727f10e2..129a23b1d3 100644 --- a/utils/wxPython/src/controls.i +++ b/utils/wxPython/src/controls.i @@ -18,6 +18,7 @@ #include #include #include +//#include #ifdef __WXMSW__ #if wxUSE_OWNER_DRAWN @@ -51,17 +52,30 @@ 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 { @@ -126,7 +174,7 @@ public: wxChoice(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, - int LCOUNT=0, wxString* LIST=NULL, + int LCOUNT=0, wxString* choices=NULL, long style = 0, const wxValidator& validator = wxPyDefaultValidator, char* name = "choice"); @@ -153,7 +201,7 @@ public: wxComboBox(wxWindow* parent, wxWindowID id, char* value = "", const wxPoint& pos = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, - int LCOUNT=0, wxString* LIST=NULL, + int LCOUNT=0, wxString* choices=NULL, long style = 0, const wxValidator& validator = wxPyDefaultValidator, char* name = "comboBox"); @@ -258,7 +306,7 @@ public: wxListBox(wxWindow* parent, wxWindowID id, const wxPoint& pos = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, - int LCOUNT, wxString* LIST = NULL, + int LCOUNT, wxString* choices = NULL, long style = 0, const wxValidator& validator = wxPyDefaultValidator, char* name = "listBox"); @@ -287,11 +335,13 @@ public: } } + void InsertItems(int LCOUNT, wxString* choices, int pos); + wxString GetString(int n); wxString GetStringSelection(); int Number(); bool Selected(const int n); - void Set(int LCOUNT, wxString* LIST); + void Set(int LCOUNT, wxString* choices); // TODO: void SetClientData(const int n, char* data); void SetFirstItem(int n); %name(SetFirstItemStr)void SetFirstItem(const wxString& string); @@ -309,7 +359,7 @@ public: const wxPoint& pos = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, int LCOUNT = 0, - wxString* LIST = NULL, + wxString* choices = NULL, long style = 0, const wxValidator& validator = wxPyDefaultValidator, char* name = "listBox"); @@ -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* choices, 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'); + } + } }; //---------------------------------------------------------------------- @@ -388,6 +447,7 @@ public: int GetPageSize(); int GetThumbPosition(); int GetThumbSize(); + %name(GetThumbLength) int GetThumbSize(); // to match the docs void SetThumbPosition(int viewStart); void SetScrollbar(int position, int thumbSize, int range, int pageSize, @@ -437,7 +497,7 @@ public: const wxString& label, const wxPoint& point = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, - int LCOUNT = 0, wxString* LIST = NULL, + int LCOUNT = 0, wxString* choices = NULL, int majorDimension = 0, long style = wxRA_HORIZONTAL, const wxValidator& validator = wxPyDefaultValidator, @@ -520,147 +580,3 @@ public: //---------------------------------------------------------------------- - -///////////////////////////////////////////////////////////////////////////// -// -// $Log$ -// Revision 1.17 1999/08/18 07:41:28 RD -// Using a new version of SWIG -// -// A few minor fixes -// -// 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 -// -// -