X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2c8a649d7ad84e3c96a0add884791f156e6aefb2..32485259c1342115488d219776dfebeb3d4d81b1:/wxPython/src/controls.i?ds=inline diff --git a/wxPython/src/controls.i b/wxPython/src/controls.i index a30e1d7244..28867cb163 100644 --- a/wxPython/src/controls.i +++ b/wxPython/src/controls.i @@ -4,654 +4,65 @@ // // Author: Robin Dunn // -// Created: 6/10/98 +// Created: 10-June-1998 // RCS-ID: $Id$ // Copyright: (c) 1998 by Total Control Software // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// -%module controls +%module(package="wx") _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 some definitions of other classes, etc. -%import _defs.i -%import misc.i -%import windows.i -%import gdi.i -%import events.i - -%pragma(python) code = "import wx" - -//---------------------------------------------------------------------- - -%readonly -wxValidator wxDefaultValidator; -%readwrite - -//---------------------------------------------------------------------- - -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 char* name="control"); - - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" - - void Command(wxCommandEvent& event); - wxString GetLabel(); - void SetLabel(const wxString& label); -}; - - -//---------------------------------------------------------------------- +%import core.i +%pythoncode { wx = _core } -class wxButton : public wxControl { -public: - wxButton(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"); +%include __controls_rename.i - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" +MAKE_CONST_WXSTRING_NOSWIG(PanelNameStr); +MAKE_CONST_WXSTRING_NOSWIG(EmptyString); +MAKE_CONST_WXSTRING_NOSWIG(ControlNameStr); - void SetDefault(); - void SetBackgroundColour(const wxColour& colour); - void SetForegroundColour(const wxColour& colour); -}; - - -%inline %{ - wxSize wxButton_GetDefaultSize() { - return wxButton::GetDefaultSize(); - } +%{ + const wxArrayString wxPyEmptyStringArray; %} -//---------------------------------------------------------------------- - -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, - char* name = "button"); - - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" - - 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; } -}; - -//---------------------------------------------------------------------- - -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& val = wxDefaultValidator, - char* name = "checkBox"); - - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" - - bool GetValue(); - void SetValue(const bool state); -}; - -//---------------------------------------------------------------------- - -class wxChoice : public wxControl { -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, - 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 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 { -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"); - - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" - - 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 GetString(int n); - wxString GetStringSelection(); - 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); - %name(SetMark)void SetSelection(long from, long to); - void SetValue(const wxString& text); - void SetEditable(bool editable); -}; - -//---------------------------------------------------------------------- - -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, - char* name = "gauge"); - - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" - - int GetBezelFace(); - int GetRange(); - int GetShadowWidth(); - int GetValue(); - 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, - char* name = "staticBox"); -}; - - -//---------------------------------------------------------------------- - - -class wxStaticLine : public wxControl { -public: - wxStaticLine( wxWindow *parent, wxWindowID id, - const wxPoint &pos = wxDefaultPosition, - const wxSize &size = wxDefaultSize, - long style = wxLI_HORIZONTAL, - const char* name = "staticLine" ); -}; - - -//---------------------------------------------------------------------- - -class wxStaticText : public wxControl { -public: - wxStaticText(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)" - - wxString GetLabel(); - void SetLabel(const wxString& label); -}; - -//---------------------------------------------------------------------- - -class wxListBox : public wxControl { -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, - char* name = "listBox"); - - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" - - 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 { - PyObject* GetSelections() { - wxArrayInt lst; - self->GetSelections(lst); - PyObject *tup = PyTuple_New(lst.GetCount()); - for(size_t i=0; iAppendText(text); - } - } -}; - -//---------------------------------------------------------------------- - -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, - char* name = "scrollBar"); - - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" - - int GetRange(); - 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, - 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, - char* name = "spinButton"); - - 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, - char* name = "staticBitmap"); - - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" - - const 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, - char* name = "radioBox"); - - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" - - void Enable(bool enable); - %name(EnableItem)void Enable(int n, bool enable); - int FindString(const wxString& string); - - 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 - - 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, - char* name = "radioButton"); - - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" - - 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, - char* name = "slider"); - - %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" - - 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 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"); - - - 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); - -}; - -//---------------------------------------------------------------------- -//---------------------------------------------------------------------- -//---------------------------------------------------------------------- - - +// 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 +%include _datectrl.i + + + +//--------------------------------------------------------------------------- +//---------------------------------------------------------------------------