X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/00b6c4e33bdb2fcc1b56d429653963182608674b..922ba68045d84789ab1dfceb4d1aa1b6e2c5e810:/wxPython/src/controls.i diff --git a/wxPython/src/controls.i b/wxPython/src/controls.i index 73d21cf13d..a622b6145d 100644 --- a/wxPython/src/controls.i +++ b/wxPython/src/controls.i @@ -64,8 +64,18 @@ public: long style=0, const wxValidator& validator=wxDefaultValidator, const char* name="control"); + %name(wxPreControl)wxControl(); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + bool Create(wxWindow *parent, + wxWindowID id, + const wxPoint& pos=wxDefaultPosition, + const wxSize& size=wxDefaultSize, + long style=0, + const wxValidator& validator=wxDefaultValidator, + const char* name="control"); + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreControl:val._setOORInfo(val)" void Command(wxCommandEvent& event); wxString GetLabel(); @@ -75,6 +85,57 @@ public: //---------------------------------------------------------------------- + +class wxControlWithItems : public wxControl { +public: + + // void Clear(); ambiguous, redefine below... + void Delete(int n); + + int GetCount(); + %pragma(python) addtoclass = "Number = GetCount" + wxString GetString(int n); + void SetString(int n, const wxString& s); + int FindString(const wxString& s); + + void Select(int n); + int GetSelection(); + + wxString GetStringSelection() const; + + // void Append(const wxString& item); + // void Append(const wxString& item, char* clientData); + // char* GetClientData(const int n); + // void SetClientData(const int n, char* data); + %addmethods { + void Append(const wxString& item, PyObject* clientData=NULL) { + if (clientData) { + wxPyClientData* data = new wxPyClientData(clientData); + self->Append(item, data); + } else + self->Append(item); + } + + PyObject* GetClientData(int n) { + wxPyClientData* data = (wxPyClientData*)self->GetClientObject(n); + if (data) { + Py_INCREF(data->m_obj); + return data->m_obj; + } else { + Py_INCREF(Py_None); + return Py_None; + } + } + + void SetClientData(int n, PyObject* clientData) { + wxPyClientData* data = new wxPyClientData(clientData); + self->SetClientObject(n, data); + } + } + +}; +//---------------------------------------------------------------------- + class wxButton : public wxControl { public: wxButton(wxWindow* parent, wxWindowID id, const wxString& label, @@ -83,21 +144,28 @@ public: long style = 0, const wxValidator& validator = wxDefaultValidator, char* name = "button"); + %name(wxPreButton)wxButton(); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + bool Create(wxWindow* parent, wxWindowID id, const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + char* name = "button"); + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreButton:val._setOORInfo(val)" void SetDefault(); void SetBackgroundColour(const wxColour& colour); void SetForegroundColour(const wxColour& colour); +#ifdef __WXMSW__ + void SetImageLabel(const wxBitmap& bitmap); + void SetImageMargins(wxCoord x, wxCoord y); +#endif + static wxSize GetDefaultSize(); }; - -%inline %{ - wxSize wxButton_GetDefaultSize() { - return wxButton::GetDefaultSize(); - } -%} - //---------------------------------------------------------------------- class wxBitmapButton : public wxButton { @@ -108,13 +176,22 @@ public: long style = wxBU_AUTODRAW, const wxValidator& validator = wxDefaultValidator, char* name = "button"); + %name(wxPreBitmapButton)wxBitmapButton(); + + bool Create(wxWindow* parent, wxWindowID id, const wxBitmap& bitmap, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxBU_AUTODRAW, + const wxValidator& validator = wxDefaultValidator, + char* name = "button"); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreBitmapButton:val._setOORInfo(val)" - wxBitmap& GetBitmapLabel(); - wxBitmap& GetBitmapDisabled(); - wxBitmap& GetBitmapFocus(); - wxBitmap& GetBitmapSelected(); + wxBitmap GetBitmapLabel(); + wxBitmap GetBitmapDisabled(); + wxBitmap GetBitmapFocus(); + wxBitmap GetBitmapSelected(); void SetBitmapDisabled(const wxBitmap& bitmap); void SetBitmapFocus(const wxBitmap& bitmap); void SetBitmapSelected(const wxBitmap& bitmap); @@ -135,8 +212,17 @@ public: long style = 0, const wxValidator& val = wxDefaultValidator, char* name = "checkBox"); + %name(wxPreCheckBox)wxCheckBox(); + + bool Create(wxWindow* parent, wxWindowID id, const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& val = wxDefaultValidator, + char* name = "checkBox"); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreCheckBox:val._setOORInfo(val)" bool GetValue(); void SetValue(const bool state); @@ -144,7 +230,7 @@ public: //---------------------------------------------------------------------- -class wxChoice : public wxControl { +class wxChoice : public wxControlWithItems { public: wxChoice(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, @@ -153,33 +239,41 @@ public: long style = 0, const wxValidator& validator = wxDefaultValidator, char* name = "choice"); + %name(wxPreChoice)wxChoice(); + + bool Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + int LCOUNT=0, wxString* choices=NULL, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + char* name = "choice"); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreChoice:val._setOORInfo(val)" - 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 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 " - }; //---------------------------------------------------------------------- -class wxComboBox : public wxChoice { +// wxGTK's wxComboBox doesn't derive from wxChoice like wxMSW, or +// even wxControlWithItems, so we have to duplicate the methods +// here... + +#ifdef __WXGTK__ +class wxComboBox : public wxControl +{ public: wxComboBox(wxWindow* parent, wxWindowID id, char* value = "", const wxPoint& pos = wxDefaultPosition, @@ -188,28 +282,118 @@ public: long style = 0, const wxValidator& validator = wxDefaultValidator, char* name = "comboBox"); + %name(wxPreComboBox)wxComboBox(); + + bool Create(wxWindow* parent, wxWindowID id, char* value = "", + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + int LCOUNT=0, wxString* choices=NULL, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + char* name = "comboBox"); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreComboBox:val._setOORInfo(val)" - void Append(const wxString& item); - // TODO: void Append(const wxString& item, char* clientData); - void Clear(); void Copy(); void Cut(); - void Delete(int n); - // NotMember??: void Deselect(int n); - int FindString(const wxString& string); - // TODO: char* GetClientData(const int n); long GetInsertionPoint(); long GetLastPosition(); - int GetSelection(); + wxString GetValue(); + void Paste(); + void Replace(long from, long to, const wxString& text); + void Remove(long from, long to); + void SetInsertionPoint(long pos); + void SetInsertionPointEnd(); + void SetSelection(int n); + %name(SetMark)void SetSelection(long from, long to); + void SetValue(const wxString& text); + void SetEditable(bool editable); + + + void Clear(); + void Delete(int n); + + int GetCount(); + %pragma(python) addtoclass = "Number = GetCount" wxString GetString(int n); - wxString GetStringSelection(); + int FindString(const wxString& s); + + //void SetString(int n, const wxString& s); *** No equivalent for wxGTK!!! + + // void Select(int n); + %pragma(python) addtoclass = "Select = SetSelection" + + int GetSelection(); + wxString GetStringSelection() const; + + // void Append(const wxString& item); + // void Append(const wxString& item, char* clientData); + // char* GetClientData(const int n); + // void SetClientData(const int n, char* data); + %addmethods { + void Append(const wxString& item, PyObject* clientData=NULL) { + if (clientData) { + wxPyClientData* data = new wxPyClientData(clientData); + self->Append(item, data); + } else + self->Append(item); + } + + PyObject* GetClientData(int n) { + wxPyClientData* data = (wxPyClientData*)self->GetClientObject(n); + if (data) { + Py_INCREF(data->m_obj); + return data->m_obj; + } else { + Py_INCREF(Py_None); + return Py_None; + } + } + + void SetClientData(int n, PyObject* clientData) { + wxPyClientData* data = new wxPyClientData(clientData); + self->SetClientObject(n, data); + } + } + +}; + + + +#else // For all but wxGTK + + +class wxComboBox : public wxChoice { +public: + wxComboBox(wxWindow* parent, wxWindowID id, char* value = "", + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + int LCOUNT=0, wxString* choices=NULL, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + char* name = "comboBox"); + %name(wxPreComboBox)wxComboBox(); + + bool Create(wxWindow* parent, wxWindowID id, char* value = "", + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + int LCOUNT=0, wxString* choices=NULL, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + char* name = "comboBox"); + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreComboBox:val._setOORInfo(val)" + + void Copy(); + void Cut(); + long GetInsertionPoint(); + long GetLastPosition(); wxString GetValue(); void Paste(); void Replace(long from, long to, const wxString& text); void Remove(long from, long to); - // TODO: void SetClientData(const int n, char* data); void SetInsertionPoint(long pos); void SetInsertionPointEnd(); void SetSelection(int n); @@ -217,6 +401,8 @@ public: void SetValue(const wxString& text); void SetEditable(bool editable); }; +#endif + //---------------------------------------------------------------------- @@ -228,8 +414,17 @@ public: long style = wxGA_HORIZONTAL, const wxValidator& validator = wxDefaultValidator, char* name = "gauge"); + %name(wxPreGauge)wxGauge(); + + bool Create(wxWindow* parent, wxWindowID id, int range, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxGA_HORIZONTAL, + const wxValidator& validator = wxDefaultValidator, + char* name = "gauge"); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreGauge:val._setOORInfo(val)" int GetBezelFace(); int GetRange(); @@ -250,6 +445,16 @@ public: const wxSize& size = wxDefaultSize, long style = 0, char* name = "staticBox"); + %name(wxPreStaticBox)wxStaticBox(); + + bool Create(wxWindow* parent, wxWindowID id, const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + char* name = "staticBox"); + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreStaticBox:val._setOORInfo(val)" }; @@ -263,6 +468,16 @@ public: const wxSize &size = wxDefaultSize, long style = wxLI_HORIZONTAL, const char* name = "staticLine" ); + %name(wxPreStaticLine)wxStaticLine(); + + bool Create( wxWindow *parent, wxWindowID id, + const wxPoint &pos = wxDefaultPosition, + const wxSize &size = wxDefaultSize, + long style = wxLI_HORIZONTAL, + const char* name = "staticLine" ); + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreStaticLine:val._setOORInfo(val)" }; @@ -275,8 +490,16 @@ public: const wxSize& size = wxDefaultSize, long style = 0, char* name = "staticText"); + %name(wxPreStaticText)wxStaticText(); + + bool Create(wxWindow* parent, wxWindowID id, const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + char* name = "staticText"); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreStaticText:val._setOORInfo(val)" wxString GetLabel(); void SetLabel(const wxString& label); @@ -284,7 +507,7 @@ public: //---------------------------------------------------------------------- -class wxListBox : public wxControl { +class wxListBox : public wxControlWithItems { public: wxListBox(wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, @@ -293,17 +516,21 @@ public: long style = 0, const wxValidator& validator = wxDefaultValidator, char* name = "listBox"); + %name(wxPreListBox)wxListBox(); + + bool Create(wxWindow* parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + int LCOUNT, wxString* choices = NULL, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + char* name = "listBox"); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreListBox:val._setOORInfo(val)" - void Append(const wxString& item); - // TODO: void Append(const wxString& item, char* clientData); void Clear(); - void Delete(int n); void Deselect(int n); - int FindString(const wxString& string); - // TODO: char* GetClientData(const int n); - int GetSelection(); // int GetSelections(int **selections); %addmethods { @@ -318,16 +545,12 @@ public: } } + void InsertItems(int LCOUNT, wxString* choices, int pos); - wxString GetString(int n); - wxString GetStringSelection(); - 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); void SetFirstItem(int n); %name(SetFirstItemStr)void SetFirstItem(const wxString& string); void SetSelection(int n, bool select = TRUE); @@ -348,14 +571,27 @@ public: long style = 0, const wxValidator& validator = wxDefaultValidator, char* name = "listBox"); + %name(wxPreCheckListBox)wxCheckListBox(); + + bool Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + int LCOUNT = 0, + wxString* choices = NULL, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + char* name = "listBox"); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreCheckListBox:val._setOORInfo(val)" bool IsChecked(int uiIndex); void Check(int uiIndex, int bCheck = TRUE); void InsertItems(int LCOUNT, wxString* choices, int pos); +#ifndef __WXMAC__ int GetItemHeight(); +#endif }; //---------------------------------------------------------------------- @@ -380,9 +616,19 @@ public: bool HasBackgroundColour() const; bool HasFont() const; - const wxColour& GetTextColour() const; - const wxColour& GetBackgroundColour() const; - const wxFont& GetFont() const; + wxColour GetTextColour() const; + wxColour GetBackgroundColour() const; + wxFont GetFont() const; + + // returns false if we have any attributes set, true otherwise + bool IsDefault(); + + // return the attribute having the valid font and colours: it uses the + // attributes set in attr and falls back first to attrDefault and then to + // the text control font/colours for those attributes which are not set + static wxTextAttr Combine(const wxTextAttr& attr, + const wxTextAttr& attrDef, + const wxTextCtrl *text); }; @@ -395,57 +641,106 @@ public: long style = 0, const wxValidator& validator = wxDefaultValidator, char* name = "text"); + %name(wxPreTextCtrl)wxTextCtrl(); + + bool Create(wxWindow* parent, wxWindowID id, char* value = "", + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + char* name = "text"); + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreTextCtrl:val._setOORInfo(val)" - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + + wxString GetValue() const; + void SetValue(const wxString& value); + + int GetLineLength(long lineNo) const; + wxString GetLineText(long lineNo) const; + int GetNumberOfLines() const; + + bool IsModified() const; + bool IsEditable() const; + + // If the return values from and to are the same, there is no selection. + void GetSelection(long* OUTPUT, long* OUTPUT) const; + wxString GetStringSelection(); void Clear(); - void Copy(); - void Cut(); - void DiscardEdits(); - long GetInsertionPoint(); - long GetLastPosition(); - int GetLineLength(long lineNo); - wxString GetLineText(long lineNo); - int GetNumberOfLines(); - wxString GetValue(); - bool IsModified(); - bool LoadFile(const wxString& filename); - void Paste(); - void PositionToXY(long pos, long *OUTPUT, long *OUTPUT); - void Remove(long from, long to); void Replace(long from, long to, const wxString& value); - bool SaveFile(const wxString& filename); - void SetEditable(bool editable); - void SetInsertionPoint(long pos); - void SetInsertionPointEnd(); - void SetSelection(long from, long to); - void SetValue(const wxString& value); - void ShowPosition(long pos); + void Remove(long from, long to); + + // load/save the controls contents from/to the file + bool LoadFile(const wxString& file); + bool SaveFile(const wxString& file = wxEmptyString); + + // clears the dirty flag + void DiscardEdits(); + + // set the max number of characters which may be entered in a single line + // text control + void SetMaxLength(unsigned long len); + + // writing text inserts it at the current position, appending always + // inserts it at the end void WriteText(const wxString& text); void AppendText(const wxString& text); - long XYToPosition(long x, long y); - - bool CanCopy(); - bool CanCut(); - bool CanPaste(); - bool CanRedo(); - bool CanUndo(); - void GetSelection(long* OUTPUT, long* OUTPUT); - bool IsEditable(); - void Undo(); - void Redo(); + // text control under some platforms supports the text styles: these + // methods allow to apply the given text style to the given selection or to + // set/get the style which will be used for all appended text bool SetStyle(long start, long end, const wxTextAttr& style); bool SetDefaultStyle(const wxTextAttr& style); const wxTextAttr& GetDefaultStyle() const; - void SetMaxLength(unsigned long len); + // translate between the position (which is just an index in the text ctrl + // considering all its contents as a single strings) and (x, y) coordinates + // which represent column and line. + long XYToPosition(long x, long y) const; + bool PositionToXY(long pos, long *OUTPUT, long *OUTPUT) const; + + void ShowPosition(long pos); + + // Clipboard operations + void Copy(); + void Cut(); + void Paste(); + + bool CanCopy() const; + bool CanCut() const; + bool CanPaste() const; + + // Undo/redo + void Undo(); + void Redo(); + + bool CanUndo() const; + bool CanRedo() const; + + // Insertion point + void SetInsertionPoint(long pos); + void SetInsertionPointEnd(); + long GetInsertionPoint() const; + long GetLastPosition() const; + + void SetSelection(long from, long to); + void SelectAll(); + void SetEditable(bool editable); %addmethods { void write(const wxString& text) { self->AppendText(text); } } + + // TODO: replace this when the method is really added to wxTextCtrl + %addmethods { + wxString GetString(long from, long to) { + return self->GetValue().Mid(from, to-from); + } + } }; //---------------------------------------------------------------------- @@ -458,14 +753,26 @@ public: long style = wxSB_HORIZONTAL, const wxValidator& validator = wxDefaultValidator, char* name = "scrollBar"); + %name(wxPreScrollBar)wxScrollBar(); + + bool Create(wxWindow* parent, wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxSB_HORIZONTAL, + const wxValidator& validator = wxDefaultValidator, + char* name = "scrollBar"); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreScrollBar:val._setOORInfo(val)" int GetRange(); int GetPageSize(); int GetThumbPosition(); int GetThumbSize(); %name(GetThumbLength) int GetThumbSize(); // to match the docs + + bool IsVertical(); + void SetThumbPosition(int viewStart); void SetScrollbar(int position, int thumbSize, int range, int pageSize, @@ -481,6 +788,16 @@ public: const wxSize& size = wxDefaultSize, long style = wxSP_HORIZONTAL, char* name = "spinButton"); + %name(wxPreSpinButton)wxSpinButton(); + + bool Create(wxWindow* parent, wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxSP_HORIZONTAL, + char* name = "spinButton"); + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreSpinButton:val._setOORInfo(val)" int GetMax(); int GetMin(); @@ -499,10 +816,19 @@ public: const wxSize& size = wxDefaultSize, long style = 0, char* name = "staticBitmap"); + %name(wxPreStaticBitmap)wxStaticBitmap(); + + bool Create(wxWindow* parent, wxWindowID id, + const wxBitmap& bitmap, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + char* name = "staticBitmap"); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreStaticBitmap:val._setOORInfo(val)" - const wxBitmap& GetBitmap(); + wxBitmap GetBitmap(); void SetBitmap(const wxBitmap& bitmap); void SetIcon(const wxIcon& icon); }; @@ -520,8 +846,20 @@ public: long style = wxRA_HORIZONTAL, const wxValidator& validator = wxDefaultValidator, char* name = "radioBox"); + %name(wxPreRadioBox)wxRadioBox(); + + bool Create(wxWindow* parent, wxWindowID id, + const wxString& label, + const wxPoint& point = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + int LCOUNT = 0, wxString* choices = NULL, + int majorDimension = 0, + long style = wxRA_HORIZONTAL, + const wxValidator& validator = wxDefaultValidator, + char* name = "radioBox"); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreRadioBox:val._setOORInfo(val)" void Enable(bool enable); %name(EnableItem)void Enable(int n, bool enable); @@ -529,7 +867,10 @@ public: wxString GetString(int n); -#ifdef __WXMSW__ +#ifdef __WXGTK__ + %name(GetItemLabel)wxString GetLabel( int item ); + %name(SetItemLabel)void SetLabel( int item, const wxString& label ); +#else void SetString(int n, const wxString& label); %pragma(python) addtoclass = " GetItemLabel = GetString @@ -537,9 +878,6 @@ public: " int GetColumnCount(); int GetRowCount(); -#else - %name(GetItemLabel)wxString GetLabel( int item ); - %name(SetItemLabel)void SetLabel( int item, const wxString& label ); #endif int GetSelection(); @@ -564,8 +902,18 @@ public: long style = 0, const wxValidator& validator = wxDefaultValidator, char* name = "radioButton"); + %name(wxPreRadioButton)wxRadioButton(); + + bool Create(wxWindow* parent, wxWindowID id, + const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + char* name = "radioButton"); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreRadioButton:val._setOORInfo(val)" bool GetValue(); void SetValue(bool value); @@ -582,8 +930,18 @@ public: long style = wxSL_HORIZONTAL, const wxValidator& validator = wxDefaultValidator, char* name = "slider"); + %name(wxPreSlider)wxSlider(); + + bool Create(wxWindow* parent, wxWindowID id, + int value, int minValue, int maxValue, + const wxPoint& point = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxSL_HORIZONTAL, + const wxValidator& validator = wxDefaultValidator, + char* name = "slider"); - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreSlider:val._setOORInfo(val)" void ClearSel(); void ClearTicks(); @@ -619,7 +977,19 @@ public: long style = wxSP_ARROW_KEYS, int min = 0, int max = 100, int initial = 0, const char* name = "wxSpinCtrl"); + %name(wxPreSpinCtrl)wxSpinCtrl(); + + bool Create(wxWindow *parent, + wxWindowID id = -1, + const char* value = "", + 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"); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreSpinCtrl:val._setOORInfo(val)" int GetMax(); int GetMin(); @@ -632,6 +1002,7 @@ public: //---------------------------------------------------------------------- +#ifndef __WXMAC__ enum { wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, }; class wxToggleButton : public wxControl { @@ -644,6 +1015,19 @@ public: long style = 0, const wxValidator& validator = wxDefaultValidator, const char* name = "toggle"); + %name(wxPreToggleButton)wxToggleButton(); + + bool Create(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"); + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreToggleButton:val._setOORInfo(val)" void SetValue(bool value); bool GetValue() const ; @@ -651,6 +1035,7 @@ public: }; +#endif //---------------------------------------------------------------------- //---------------------------------------------------------------------- //----------------------------------------------------------------------