X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..5549e9f76fb5cbfb2a2190980983bcebea132a2e:/wxPython/src/controls.i diff --git a/wxPython/src/controls.i b/wxPython/src/controls.i index 35fbfd1b81..a30e1d7244 100644 --- a/wxPython/src/controls.i +++ b/wxPython/src/controls.i @@ -19,7 +19,7 @@ #include #include #include -//#include +#include #ifdef __WXMSW__ #if wxUSE_OWNER_DRAWN @@ -49,10 +49,6 @@ //---------------------------------------------------------------------- -%{ -wxValidator wxPyDefaultValidator; // Non-const default because of SWIG -%} - %readonly wxValidator wxDefaultValidator; %readwrite @@ -63,10 +59,10 @@ class wxControl : public wxWindow { public: wxControl(wxWindow *parent, wxWindowID id, - const wxPoint& pos=wxPyDefaultPosition, - const wxSize& size=wxPyDefaultSize, + const wxPoint& pos=wxDefaultPosition, + const wxSize& size=wxDefaultSize, long style=0, - const wxValidator& validator=wxPyDefaultValidator, + const wxValidator& validator=wxDefaultValidator, const char* name="control"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" @@ -82,10 +78,10 @@ public: class wxButton : public wxControl { public: wxButton(wxWindow* parent, wxWindowID id, const wxString& label, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& validator = wxPyDefaultValidator, + const wxValidator& validator = wxDefaultValidator, char* name = "button"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" @@ -107,10 +103,10 @@ public: class wxBitmapButton : public wxButton { public: wxBitmapButton(wxWindow* parent, wxWindowID id, const wxBitmap& bitmap, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = wxBU_AUTODRAW, - const wxValidator& validator = wxPyDefaultValidator, + const wxValidator& validator = wxDefaultValidator, char* name = "button"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" @@ -129,40 +125,15 @@ public: int GetMarginY() const { return m_marginY; } }; -//---------------------------------------------------------------------- - -// 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 { public: wxCheckBox(wxWindow* parent, wxWindowID id, const wxString& label, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& val = wxPyDefaultValidator, + const wxValidator& val = wxDefaultValidator, char* name = "checkBox"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" @@ -176,26 +147,34 @@ public: class wxChoice : public wxControl { public: wxChoice(wxWindow *parent, wxWindowID id, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, int LCOUNT=0, wxString* choices=NULL, long style = 0, - const wxValidator& validator = wxPyDefaultValidator, + const wxValidator& validator = wxDefaultValidator, char* name = "choice"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" void Append(const wxString& item); void Clear(); + void Delete(int n); int FindString(const wxString& string); int GetColumns(); int GetSelection(); wxString GetString(const int n); wxString GetStringSelection(); - int Number(); + int GetCount(); void SetColumns(const int n = 1); void SetSelection(const int n); void SetStringSelection(const wxString& string); + void SetString(int n, const wxString& s); + + %pragma(python) addtoclass = " + Number = GetCount + Select = SetSelection + " + }; //---------------------------------------------------------------------- @@ -203,11 +182,11 @@ public: class wxComboBox : public wxChoice { public: wxComboBox(wxWindow* parent, wxWindowID id, char* value = "", - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, int LCOUNT=0, wxString* choices=NULL, long style = 0, - const wxValidator& validator = wxPyDefaultValidator, + const wxValidator& validator = wxDefaultValidator, char* name = "comboBox"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" @@ -227,7 +206,6 @@ public: wxString GetString(int n); wxString GetStringSelection(); wxString GetValue(); - int Number(); void Paste(); void Replace(long from, long to, const wxString& text); void Remove(long from, long to); @@ -237,6 +215,7 @@ public: void SetSelection(int n); %name(SetMark)void SetSelection(long from, long to); void SetValue(const wxString& text); + void SetEditable(bool editable); }; //---------------------------------------------------------------------- @@ -244,10 +223,10 @@ public: class wxGauge : public wxControl { public: wxGauge(wxWindow* parent, wxWindowID id, int range, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = wxGA_HORIZONTAL, - const wxValidator& validator = wxPyDefaultValidator, + const wxValidator& validator = wxDefaultValidator, char* name = "gauge"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" @@ -267,8 +246,8 @@ public: class wxStaticBox : public wxControl { public: wxStaticBox(wxWindow* parent, wxWindowID id, const wxString& label, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, char* name = "staticBox"); }; @@ -280,8 +259,8 @@ public: class wxStaticLine : public wxControl { public: wxStaticLine( wxWindow *parent, wxWindowID id, - const wxPoint &pos = wxPyDefaultPosition, - const wxSize &size = wxPyDefaultSize, + const wxPoint &pos = wxDefaultPosition, + const wxSize &size = wxDefaultSize, long style = wxLI_HORIZONTAL, const char* name = "staticLine" ); }; @@ -292,8 +271,8 @@ public: class wxStaticText : public wxControl { public: wxStaticText(wxWindow* parent, wxWindowID id, const wxString& label, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, char* name = "staticText"); @@ -308,11 +287,11 @@ public: class wxListBox : public wxControl { public: wxListBox(wxWindow* parent, wxWindowID id, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, int LCOUNT, wxString* choices = NULL, long style = 0, - const wxValidator& validator = wxPyDefaultValidator, + const wxValidator& validator = wxDefaultValidator, char* name = "listBox"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" @@ -343,7 +322,9 @@ public: wxString GetString(int n); wxString GetStringSelection(); - int Number(); + int GetCount(); + %pragma(python) addtoclass = "Number = GetCount" + bool IsSelected(const int n); bool Selected(const int n); void Set(int LCOUNT, wxString* choices); // TODO: void SetClientData(const int n, char* data); @@ -360,12 +341,12 @@ public: class wxCheckListBox : public wxListBox { public: wxCheckListBox(wxWindow *parent, wxWindowID id, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, int LCOUNT = 0, wxString* choices = NULL, long style = 0, - const wxValidator& validator = wxPyDefaultValidator, + const wxValidator& validator = wxDefaultValidator, char* name = "listBox"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" @@ -379,13 +360,40 @@ public: //---------------------------------------------------------------------- + +class wxTextAttr +{ +public: + // ctors + wxTextAttr(const wxColour& colText = wxNullColour, + const wxColour& colBack = wxNullColour, + const wxFont& font = wxNullFont); + ~wxTextAttr(); + + // setters + void SetTextColour(const wxColour& colText); + void SetBackgroundColour(const wxColour& colBack); + void SetFont(const wxFont& font); + + // accessors + bool HasTextColour() const; + bool HasBackgroundColour() const; + bool HasFont() const; + + const wxColour& GetTextColour() const; + const wxColour& GetBackgroundColour() const; + const wxFont& GetFont() const; +}; + + + class wxTextCtrl : public wxControl { public: wxTextCtrl(wxWindow* parent, wxWindowID id, char* value = "", - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& validator = wxPyDefaultValidator, + const wxValidator& validator = wxDefaultValidator, char* name = "text"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" @@ -427,9 +435,13 @@ public: void Undo(); void Redo(); + bool SetStyle(long start, long end, const wxTextAttr& style); + bool SetDefaultStyle(const wxTextAttr& style); + const wxTextAttr& GetDefaultStyle() const; + %addmethods { void write(const wxString& text) { - self->AppendText(text + '\n'); + self->AppendText(text); } } }; @@ -439,10 +451,10 @@ public: class wxScrollBar : public wxControl { public: wxScrollBar(wxWindow* parent, wxWindowID id = -1, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = wxSB_HORIZONTAL, - const wxValidator& validator = wxPyDefaultValidator, + const wxValidator& validator = wxDefaultValidator, char* name = "scrollBar"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" @@ -463,8 +475,8 @@ public: class wxSpinButton : public wxControl { public: wxSpinButton(wxWindow* parent, wxWindowID id = -1, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = wxSP_HORIZONTAL, char* name = "spinButton"); @@ -481,8 +493,8 @@ class wxStaticBitmap : public wxControl { public: wxStaticBitmap(wxWindow* parent, wxWindowID id, const wxBitmap& bitmap, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, char* name = "staticBitmap"); @@ -499,12 +511,12 @@ class wxRadioBox : public wxControl { public: wxRadioBox(wxWindow* parent, wxWindowID id, const wxString& label, - const wxPoint& point = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& point = wxDefaultPosition, + const wxSize& size = wxDefaultSize, int LCOUNT = 0, wxString* choices = NULL, int majorDimension = 0, long style = wxRA_HORIZONTAL, - const wxValidator& validator = wxPyDefaultValidator, + const wxValidator& validator = wxDefaultValidator, char* name = "radioBox"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" @@ -513,15 +525,26 @@ public: %name(EnableItem)void Enable(int n, bool enable); int FindString(const wxString& string); -//*** wxString GetLabel(); -//*** void SetLabel(const wxString& label); + wxString GetString(int n); + +#ifdef __WXMSW__ + void SetString(int n, const wxString& label); + %pragma(python) addtoclass = " + GetItemLabel = GetString + SetItemLabel = SetString + " + int GetColumnCount(); + int GetRowCount(); +#else + %name(GetItemLabel)wxString GetLabel( int item ); + %name(SetItemLabel)void SetLabel( int item, const wxString& label ); +#endif - %name(GetItemLabel)wxString GetLabel(int n); int GetSelection(); - wxString GetString(int n); wxString GetStringSelection(); - int Number(); - %name(SetItemLabel)void SetLabel(int n, const wxString& label); + int GetCount(); + %pragma(python) addtoclass = "Number = GetCount" + void SetSelection(int n); void SetStringSelection(const wxString& string); void Show(bool show); @@ -534,10 +557,10 @@ class wxRadioButton : public wxControl { public: wxRadioButton(wxWindow* parent, wxWindowID id, const wxString& label, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& validator = wxPyDefaultValidator, + const wxValidator& validator = wxDefaultValidator, char* name = "radioButton"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" @@ -552,10 +575,10 @@ class wxSlider : public wxControl { public: wxSlider(wxWindow* parent, wxWindowID id, int value, int minValue, int maxValue, - const wxPoint& point = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& point = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = wxSL_HORIZONTAL, - const wxValidator& validator = wxPyDefaultValidator, + const wxValidator& validator = wxDefaultValidator, char* name = "slider"); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" @@ -589,15 +612,46 @@ public: wxSpinCtrl(wxWindow *parent, wxWindowID id = -1, const char* value = "", - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = wxSP_ARROW_KEYS, int min = 0, int max = 100, int initial = 0, const char* name = "wxSpinCtrl"); + int GetMax(); + int GetMin(); + int GetValue(); + void SetRange(int min, int max); + void SetValue(int value); + }; //---------------------------------------------------------------------- +enum { wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, }; + +class wxToggleButton : public wxControl { +public: + wxToggleButton(wxWindow *parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const char* name = "toggle"); + + void SetValue(bool value); + bool GetValue() const ; + void SetLabel(const wxString& label); + +}; + +//---------------------------------------------------------------------- +//---------------------------------------------------------------------- +//---------------------------------------------------------------------- + + +