X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4f22cf8ddb6d4c75eee97d1320ba20f7c82753c8..e02c03a42ea85be1e908962c8a344fb2553e7c3e:/utils/wxPython/src/controls.i?ds=sidebyside diff --git a/utils/wxPython/src/controls.i b/utils/wxPython/src/controls.i index 7b5098130e..931bfebd9d 100644 --- a/utils/wxPython/src/controls.i +++ b/utils/wxPython/src/controls.i @@ -16,12 +16,20 @@ #include "helpers.h" #include #include +#include +#include +//#include #ifdef __WXMSW__ #if wxUSE_OWNER_DRAWN #include #endif #endif + +#ifdef __WXGTK__ +#include +#endif + %} //---------------------------------------------------------------------- @@ -44,15 +52,30 @@ wxValidator wxPyDefaultValidator; // Non-const default because of SWIG %} +%readonly +wxValidator wxDefaultValidator; +%readwrite + //---------------------------------------------------------------------- class wxControl : public wxWindow { public: + 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); wxString GetLabel(); void SetLabel(const wxString& label); }; + //---------------------------------------------------------------------- class wxButton : public wxControl { @@ -67,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 { @@ -93,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 { @@ -117,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"); @@ -139,12 +196,12 @@ public: //---------------------------------------------------------------------- -class wxComboBox : public wxControl { +class wxComboBox : public wxChoice { 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"); @@ -173,7 +230,7 @@ public: // TODO: void SetClientData(const int n, char* data); void SetInsertionPoint(long pos); void SetInsertionPointEnd(); - void SetSelection(int n, bool select = TRUE); + void SetSelection(int n); %name(SetMark)void SetSelection(long from, long to); void SetValue(const wxString& text); }; @@ -213,6 +270,19 @@ public: }; +//---------------------------------------------------------------------- + + +class wxStaticLine : public wxControl { +public: + wxStaticLine( wxWindow *parent, wxWindowID id, + const wxPoint &pos = wxPyDefaultPosition, + const wxSize &size = wxPyDefaultSize, + long style = wxLI_HORIZONTAL, + const char* name = "staticLine" ); +}; + + //---------------------------------------------------------------------- class wxStaticText : public wxControl { @@ -236,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"); @@ -251,12 +321,27 @@ 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; iAppendText(text + '\n'); + } + } }; //---------------------------------------------------------------------- @@ -380,8 +483,9 @@ public: %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)" - wxBitmap& GetBitmap(); + const wxBitmap& GetBitmap(); void SetBitmap(const wxBitmap& bitmap); + void SetIcon(const wxIcon& icon); }; //---------------------------------------------------------------------- @@ -392,7 +496,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, @@ -400,19 +504,19 @@ public: %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)" - %name(EnableBox)void Enable(bool enable); - void Enable(int n, bool enable); + void Enable(bool enable); + %name(EnableItem)void Enable(int n, bool enable); int FindString(const wxString& string); -#ifdef __WXMSW__ - %name(GetBoxLabel)wxString GetLabel(); -#endif - wxString GetLabel(int n); + +//*** wxString GetLabel(); +//*** void SetLabel(const wxString& label); + + %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); + %name(SetItemLabel)void SetLabel(int n, const wxString& label); void SetSelection(int n); void SetStringSelection(const wxString& string); void Show(bool show); @@ -475,59 +579,3 @@ public: //---------------------------------------------------------------------- - -///////////////////////////////////////////////////////////////////////////// -// -// $Log$ -// 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 -// -// -