X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7ea515abfb0211078d9ffcd4420ef0b53f3fcabe..96d37ab54733776a855ee3aadaf35aee087d14c0:/wxPython/src/controls.i diff --git a/wxPython/src/controls.i b/wxPython/src/controls.i index dfe73ed2b1..db14465942 100644 --- a/wxPython/src/controls.i +++ b/wxPython/src/controls.i @@ -4,7 +4,7 @@ // // Author: Robin Dunn // -// Created: 6/10/98 +// Created: 10-June-1998 // RCS-ID: $Id$ // Copyright: (c) 1998 by Total Control Software // Licence: wxWindows license @@ -12,1277 +12,55 @@ %module controls -%{ -#include "helpers.h" -#include -#include -#include -#include -#include -#include - -#ifdef __WXMSW__ -#if wxUSE_OWNER_DRAWN -#include -#endif -#endif +//--------------------------------------------------------------------------- -#ifdef __WXGTK__ -#include -#endif +%{ +#include "wx/wxPython/wxPython.h" +#include "wx/wxPython/pyclasses.h" %} + +//--------------------------------------------------------------------------- -//---------------------------------------------------------------------- - -%include typemaps.i -%include my_typemaps.i +%import core.i +%pythoncode { wx = core } -// Import some definitions of other classes, etc. -%import _defs.i -%import misc.i -%import windows.i -%import gdi.i -%import events.i +%include _controls_rename.i -%pragma(python) code = "import wx" - -//---------------------------------------------------------------------- - -%readonly -// See also wxPy_ReinitStockObjects in helpers.cpp -wxValidator wxDefaultValidator; -%readwrite - -//---------------------------------------------------------------------- +MAKE_CONST_WXSTRING_NOSWIG(PanelNameStr); +MAKE_CONST_WXSTRING_NOSWIG(EmptyString); +MAKE_CONST_WXSTRING_NOSWIG(ControlNameStr); %{ -//#define DECLARE_DEF_STRING(name) static wxString* wxPy##name - - // Put some wx default wxChar* values into wxStrings. - DECLARE_DEF_STRING(ControlNameStr); - DECLARE_DEF_STRING(ButtonNameStr); - DECLARE_DEF_STRING(CheckBoxNameStr); - DECLARE_DEF_STRING(ChoiceNameStr); - DECLARE_DEF_STRING(ComboBoxNameStr); - DECLARE_DEF_STRING(GaugeNameStr); - DECLARE_DEF_STRING(StaticBoxNameStr); - DECLARE_DEF_STRING(StaticTextNameStr); - DECLARE_DEF_STRING(ListBoxNameStr); - DECLARE_DEF_STRING(TextCtrlNameStr); - DECLARE_DEF_STRING(ScrollBarNameStr); - DECLARE_DEF_STRING(SPIN_BUTTON_NAME); - DECLARE_DEF_STRING(StaticBitmapNameStr); - DECLARE_DEF_STRING(RadioBoxNameStr); - DECLARE_DEF_STRING(RadioButtonNameStr); - DECLARE_DEF_STRING(SliderNameStr); - - wxChar* wxSpinCtrlNameStr = _T("wxSpinCtrl"); - DECLARE_DEF_STRING(SpinCtrlNameStr); - - static const wxString wxPyEmptyString(wxT("")); + const wxArrayString wxPyEmptyStringArray; %} -//---------------------------------------------------------------------- - -// This is the base class for a control or 'widget'. -// -// A control is generally a small window which processes user input and/or -// displays one or more item of data. -class wxControl : public wxWindow { -public: - - // - wxControl(wxWindow *parent, - wxWindowID id, - const wxPoint& pos=wxDefaultPosition, - const wxSize& size=wxDefaultSize, - long style=0, - const wxValidator& validator=wxDefaultValidator, - const wxString& name=wxPyControlNameStr); - - // - %name(wxPreControl)wxControl(); - - // - bool Create(wxWindow *parent, - wxWindowID id, - const wxPoint& pos=wxDefaultPosition, - const wxSize& size=wxDefaultSize, - long style=0, - const wxValidator& validator=wxDefaultValidator, - const wxString& name=wxPyControlNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreControl:val._setOORInfo(val)" - - // Simulates the effect of the user issuing a command to the item. See - // wxCommandEvent. - void Command(wxCommandEvent& event); - - // Return a control's text. - wxString GetLabel(); - - // Sets the item's text. - void SetLabel(const wxString& label); -}; - - -//---------------------------------------------------------------------- - - -class wxControlWithItems : public wxControl { -public: - - // void Clear(); ambiguous, redefine below... - - // Deletes an item from the control - void Delete(int n); - - // Returns the number of items in the control. - int GetCount(); - %pragma(python) addtoclass = "Number = GetCount" - - // Returns the string at the given position. - wxString GetString(int n); - - // Sets the string value of an item. - void SetString(int n, const wxString& s); - - // Finds an item matching the given string. Returns the zero-based - // position of the item, or -1 if the string was not found. - int FindString(const wxString& s); - - // Select the item at postion n. - void Select(int n); - - // Gets the position of the selected item. - int GetSelection(); - - // Gets the current selection as a string. - 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 { - // Adds the item to the control, associating the given data with the - // item if not None. - void Append(const wxString& item, PyObject* clientData=NULL) { - if (clientData) { - wxPyClientData* data = new wxPyClientData(clientData); - self->Append(item, data); - } else - self->Append(item); - } - - // Returns the client data associated with the given item, (if any.) - 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; - } - } - - // Associate the given client data with the item at position n. - void SetClientData(int n, PyObject* clientData) { - wxPyClientData* data = new wxPyClientData(clientData); - self->SetClientObject(n, data); - } - } - - // append several items at once to the control - %name(AppendItems)void Append(const wxArrayString& strings); - -}; - -//---------------------------------------------------------------------- - -// A button is a control that contains a text string, and is one of the most -// common elements of a GUI. It may be placed on a dialog box or panel, or -// indeed almost any other window. -// -// Styles -// wxBU_LEFT: Left-justifies the label. WIN32 only. -// wxBU_TOP: Aligns the label to the top of the button. WIN32 only. -// wxBU_RIGHT: Right-justifies the bitmap label. WIN32 only. -// wxBU_BOTTOM: Aligns the label to the bottom of the button. WIN32 only. -// wxBU_EXACTFIT: Creates the button as small as possible instead of making -// it of the standard size (which is the default behaviour.) -// -// Events -// EVT_BUTTON(win,id,func): -// Sent when the button is clicked. -// -class wxButton : public wxControl { -public: - // Constructor, creating and showing a button. - // - // parent: Parent window. Must not be None. - // id: Button identifier. A value of -1 indicates a default value. - // label: The text to be displayed on the button. - // pos: The button position on it's parent. - // size: Button size. If the default size (-1, -1) is specified then the - // button is sized appropriately for the text. - // style: Window style. See wxButton. - // validator: Window validator. - // name: Window name. - wxButton(wxWindow* parent, wxWindowID id, const wxString& label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyButtonNameStr); - - // Default constructor - %name(wxPreButton)wxButton(); - - // Button creation function for two-step creation. - 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 wxString& name = wxPyButtonNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreButton:val._setOORInfo(val)" - - // This sets the button to be the default item for the panel or dialog box. - // - // Under Windows, only dialog box buttons respond to this function. As - // normal under Windows and Motif, pressing return causes the default - // button to be depressed when the return key is pressed. See also - // wxWindow.SetFocus which sets the keyboard focus for windows and text - // panel items, and wxPanel.SetDefaultItem. - void SetDefault(); - - // - void SetBackgroundColour(const wxColour& colour); - // - void SetForegroundColour(const wxColour& colour); - -#ifdef __WXMSW__ - // show the image in the button in addition to the label - void SetImageLabel(const wxBitmap& bitmap); - - // set the margins around the image - void SetImageMargins(wxCoord x, wxCoord y); -#endif - - // returns the default button size for this platform - static wxSize GetDefaultSize(); -}; - -//---------------------------------------------------------------------- - -class wxBitmapButton : public wxButton { -public: - wxBitmapButton(wxWindow* parent, wxWindowID id, const wxBitmap& bitmap, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxBU_AUTODRAW, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyButtonNameStr); - %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, - const wxString& name = wxPyButtonNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreBitmapButton:val._setOORInfo(val)" - - wxBitmap GetBitmapLabel(); - wxBitmap GetBitmapDisabled(); - wxBitmap GetBitmapFocus(); - wxBitmap GetBitmapSelected(); - void SetBitmapDisabled(const wxBitmap& bitmap); - void SetBitmapFocus(const wxBitmap& bitmap); - void SetBitmapSelected(const wxBitmap& bitmap); - void SetBitmapLabel(const wxBitmap& bitmap); - - void SetMargins(int x, int y) { m_marginX = x; m_marginY = y; } - int GetMarginX() const { return m_marginX; } - int GetMarginY() const { return m_marginY; } -}; - -//---------------------------------------------------------------------- - -enum { - wxCHK_2STATE, - wxCHK_3STATE, - wxCHK_ALLOW_3RD_STATE_FOR_USER, -}; - -enum wxCheckBoxState -{ - wxCHK_UNCHECKED, - wxCHK_CHECKED, - wxCHK_UNDETERMINED /* 3-state checkbox only */ -}; - - -class wxCheckBox : public wxControl { -public: - wxCheckBox(wxWindow* parent, wxWindowID id, const wxString& label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyCheckBoxNameStr); - %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& validator = wxDefaultValidator, - const wxString& name = wxPyCheckBoxNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreCheckBox:val._setOORInfo(val)" - - bool GetValue(); - bool IsChecked(); - void SetValue(const bool state); - wxCheckBoxState Get3StateValue() const; - void Set3StateValue(wxCheckBoxState state); - bool Is3State() const; - bool Is3rdStateAllowedForUser() const; -}; - -//---------------------------------------------------------------------- - -class wxChoice : public wxControlWithItems { -public: - wxChoice(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, - const wxString& name = wxPyChoiceNameStr); - %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, - const wxString& name = wxPyChoiceNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreChoice:val._setOORInfo(val)" - - void Clear(); - - int GetColumns(); - 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 = " - Select = SetSelection - " -}; - -//---------------------------------------------------------------------- - -// wxGTK's wxComboBox doesn't derive from wxChoice like wxMSW, or even -// wxControlWithItems, so we have to duplicate the methods here... -// wxMac's inheritace is weird too so we'll fake it with this one too. - -#ifndef __WXMSW__ -class wxComboBox : public wxControl -{ -public: - wxComboBox(wxWindow* parent, wxWindowID id, - const wxString& value = wxPyEmptyString, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - int LCOUNT=0, wxString* choices=NULL, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyComboBoxNameStr); - %name(wxPreComboBox)wxComboBox(); - - bool Create(wxWindow* parent, wxWindowID id, - const wxString& value = wxPyEmptyString, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - int LCOUNT=0, wxString* choices=NULL, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyComboBoxNameStr); - - %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); - 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); - 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) { -#ifdef __WXMAC__ - wxPyClientData* data = (wxPyClientData*)self->wxItemContainer::GetClientObject(n); -#else - wxPyClientData* data = (wxPyClientData*)self->GetClientObject(n); -#endif - 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); -#ifdef __WXMAC__ - self->wxItemContainer::SetClientObject(n, data); -#else - self->SetClientObject(n, data); -#endif - } - } - -}; - - - -#else -// MSW's version derives from wxChoice - -class wxComboBox : public wxChoice { -public: - wxComboBox(wxWindow* parent, wxWindowID id, - const wxString& value = wxPyEmptyString, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - int LCOUNT=0, wxString* choices=NULL, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyComboBoxNameStr); - %name(wxPreComboBox)wxComboBox(); - - bool Create(wxWindow* parent, wxWindowID id, - const wxString& value = wxPyEmptyString, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - int LCOUNT=0, wxString* choices=NULL, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyComboBoxNameStr); - - %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); - 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); -}; -#endif - - -//---------------------------------------------------------------------- - -class wxGauge : public wxControl { -public: - wxGauge(wxWindow* parent, wxWindowID id, int range, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxGA_HORIZONTAL, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyGaugeNameStr); - %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, - const wxString& name = wxPyGaugeNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreGauge:val._setOORInfo(val)" - - int GetBezelFace(); - int GetRange(); - int GetShadowWidth(); - int GetValue(); - bool IsVertical() const; - void SetBezelFace(int width); - void SetRange(int range); - void SetShadowWidth(int width); - void SetValue(int pos); -}; - -//---------------------------------------------------------------------- - -class wxStaticBox : public wxControl { -public: - wxStaticBox(wxWindow* parent, wxWindowID id, const wxString& label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxString& name = wxPyStaticBoxNameStr); - %name(wxPreStaticBox)wxStaticBox(); - - bool Create(wxWindow* parent, wxWindowID id, const wxString& label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxString& name = wxPyStaticBoxNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreStaticBox:val._setOORInfo(val)" -}; - - -//---------------------------------------------------------------------- - - -class wxStaticLine : public wxControl { -public: - wxStaticLine( wxWindow *parent, wxWindowID id, - const wxPoint &pos = wxDefaultPosition, - const wxSize &size = wxDefaultSize, - long style = wxLI_HORIZONTAL, - const wxString& name = wxPyStaticTextNameStr); - %name(wxPreStaticLine)wxStaticLine(); - - bool Create( wxWindow *parent, wxWindowID id, - const wxPoint &pos = wxDefaultPosition, - const wxSize &size = wxDefaultSize, - long style = wxLI_HORIZONTAL, - const wxString& name = wxPyStaticTextNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreStaticLine:val._setOORInfo(val)" -}; - - -//---------------------------------------------------------------------- - -class wxStaticText : public wxControl { -public: - wxStaticText(wxWindow* parent, wxWindowID id, const wxString& label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxString& name = wxPyStaticTextNameStr); - %name(wxPreStaticText)wxStaticText(); - - bool Create(wxWindow* parent, wxWindowID id, const wxString& label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxString& name = wxPyStaticTextNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreStaticText:val._setOORInfo(val)" - - wxString GetLabel(); - void SetLabel(const wxString& label); -}; - -//---------------------------------------------------------------------- - -class wxListBox : public wxControlWithItems { -public: - wxListBox(wxWindow* parent, wxWindowID id, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - int LCOUNT, wxString* choices = NULL, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyListBoxNameStr); - %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, - const wxString& name = wxPyListBoxNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreListBox:val._setOORInfo(val)" - - void Clear(); - void Deselect(int n); - - // int GetSelections(int **selections); - %addmethods { - PyObject* GetSelections() { - wxArrayInt lst; - self->GetSelections(lst); - PyObject *tup = PyTuple_New(lst.GetCount()); - for(size_t i=0; iAppendText(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); - } - } -}; - -//---------------------------------------------------------------------- - -class wxScrollBar : public wxControl { -public: - wxScrollBar(wxWindow* parent, wxWindowID id = -1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxSB_HORIZONTAL, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyScrollBarNameStr); - %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, - const wxString& name = wxPyScrollBarNameStr); - - %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, - bool refresh = TRUE); -}; - -//---------------------------------------------------------------------- - -class wxSpinButton : public wxControl { -public: - wxSpinButton(wxWindow* parent, wxWindowID id = -1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxSP_HORIZONTAL, - const wxString& name = wxPySPIN_BUTTON_NAME); - %name(wxPreSpinButton)wxSpinButton(); - - bool Create(wxWindow* parent, wxWindowID id = -1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxSP_HORIZONTAL, - const wxString& name = wxPySPIN_BUTTON_NAME); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreSpinButton:val._setOORInfo(val)" - - int GetMax(); - int GetMin(); - int GetValue(); - void SetRange(int min, int max); - void SetValue(int value); -}; - -//---------------------------------------------------------------------- - -class wxStaticBitmap : public wxControl { -public: - wxStaticBitmap(wxWindow* parent, wxWindowID id, - const wxBitmap& bitmap, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxString& name = wxPyStaticBitmapNameStr); - %name(wxPreStaticBitmap)wxStaticBitmap(); - - bool Create(wxWindow* parent, wxWindowID id, - const wxBitmap& bitmap, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxString& name = wxPyStaticBitmapNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreStaticBitmap:val._setOORInfo(val)" - - wxBitmap GetBitmap(); - void SetBitmap(const wxBitmap& bitmap); - void SetIcon(const wxIcon& icon); -}; - -//---------------------------------------------------------------------- - -class wxRadioBox : public wxControl { -public: - wxRadioBox(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, - const wxString& name = wxPyRadioBoxNameStr); - %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, - const wxString& name = wxPyRadioBoxNameStr); - - %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); - int FindString(const wxString& string); - - wxString GetString(int n); - void SetString(int n, const wxString& label); - %pragma(python) addtoclass = " - GetItemLabel = GetString - SetItemLabel = SetString - " -#ifndef __WXGTK__ - int GetColumnCount(); - int GetRowCount(); - int GetNextItem(int item, wxDirection dir, long style); -#endif - - int GetSelection(); - wxString GetStringSelection(); - int GetCount(); - %pragma(python) addtoclass = "Number = GetCount" - - void SetSelection(int n); - void SetStringSelection(const wxString& string); - void Show(bool show); - %name(ShowItem)void Show(int item, bool show); -}; - -//---------------------------------------------------------------------- - -class wxRadioButton : public wxControl { -public: - wxRadioButton(wxWindow* parent, wxWindowID id, - const wxString& label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyRadioButtonNameStr); - %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, - const wxString& name = wxPyRadioButtonNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreRadioButton:val._setOORInfo(val)" - - bool GetValue(); - void SetValue(bool value); -}; - -//---------------------------------------------------------------------- - -class wxSlider : public wxControl { -public: - wxSlider(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, - const wxString& name = wxPySliderNameStr); - %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, - const wxString& name = wxPySliderNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreSlider:val._setOORInfo(val)" - - void ClearSel(); - void ClearTicks(); - int GetLineSize(); - int GetMax(); - int GetMin(); - int GetPageSize(); - int GetSelEnd(); - int GetSelStart(); - int GetThumbLength(); - int GetTickFreq(); - int GetValue(); - void SetRange(int minValue, int maxValue); - void SetTickFreq(int n, int pos); - void SetLineSize(int lineSize); - void SetPageSize(int pageSize); - void SetSelection(int startPos, int endPos); - void SetThumbLength(int len); - void SetTick(int tickPos); - void SetValue(int value); -}; - - -//---------------------------------------------------------------------- - -class wxSpinCtrl : public wxSpinButton { -public: - wxSpinCtrl(wxWindow *parent, - wxWindowID id = -1, - const wxString& value = wxPyEmptyString, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxSP_ARROW_KEYS, - int min = 0, int max = 100, int initial = 0, - const wxString& name = wxPySpinCtrlNameStr); - %name(wxPreSpinCtrl)wxSpinCtrl(); - - bool Create(wxWindow *parent, - wxWindowID id = -1, - const wxString& value = wxPyEmptyString, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxSP_ARROW_KEYS, - int min = 0, int max = 100, int initial = 0, - const wxString& name = wxPySpinCtrlNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreSpinCtrl:val._setOORInfo(val)" - - int GetMax(); - int GetMin(); - int GetValue(); - void SetRange(int min, int max); - void SetValue(int value); -#ifdef __WXGTK__ - %addmethods { - void SetSelection(long from, long to) { - } - } -#else - void SetSelection(long from, long to); -#endif -}; - - -//---------------------------------------------------------------------- - -#ifndef __WXMAC__ -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 wxString& name = wxPyCheckBoxNameStr); - %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 wxString& name = wxPyCheckBoxNameStr); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "wxPreToggleButton:val._setOORInfo(val)" - - void SetValue(bool value); - bool GetValue() const ; - void SetLabel(const wxString& label); - -}; - -#endif - -//---------------------------------------------------------------------- -//---------------------------------------------------------------------- -//---------------------------------------------------------------------- - - +// Include all the files that make up this module + + +//%include _control.i <-- It's in core so other modules don't have to %import controls.i +%include _button.i +%include _checkbox.i +%include _choice.i +%include _combobox.i +%include _gauge.i +%include _statctrls.i +%include _listbox.i +%include _textctrl.i +%include _scrolbar.i +%include _spin.i +%include _radio.i +%include _slider.i +%include _tglbtn.i +%include _notebook.i +%include _toolbar.i +%include _listctrl.i +%include _treectrl.i +%include _dirctrl.i +%include _pycontrol.i +%include _cshelp.i +%include _dragimg.i + + +//--------------------------------------------------------------------------- +//---------------------------------------------------------------------------