///////////////////////////////////////////////////////////////////////////// // Name: controls.i // Purpose: Control (widget) classes for wxPython // // Author: Robin Dunn // // Created: 6/10/98 // RCS-ID: $Id$ // Copyright: (c) 1998 by Total Control Software // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// %module controls %{ #include "helpers.h" #include #include #include #ifdef __WXMSW__ #if wxUSE_OWNER_DRAWN #include #endif #endif #ifdef __WXGTK__ #include #endif %} //---------------------------------------------------------------------- %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" //---------------------------------------------------------------------- %{ wxValidator wxPyDefaultValidator; // Non-const default because of SWIG %} //---------------------------------------------------------------------- class wxControl : public wxWindow { public: void Command(wxCommandEvent& event); wxString GetLabel(); void SetLabel(const wxString& label); }; //---------------------------------------------------------------------- class wxButton : public wxControl { public: wxButton(wxWindow* parent, wxWindowID id, const wxString& label, const wxPoint& pos = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, long style = 0, const wxValidator& validator = wxPyDefaultValidator, char* name = "button"); %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)" void SetDefault(); }; //---------------------------------------------------------------------- class wxBitmapButton : public wxButton { public: wxBitmapButton(wxWindow* parent, wxWindowID id, const wxBitmap& bitmap, const wxPoint& pos = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, long style = wxBU_AUTODRAW, const wxValidator& validator = wxPyDefaultValidator, 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); }; //---------------------------------------------------------------------- class wxCheckBox : public wxControl { public: wxCheckBox(wxWindow* parent, wxWindowID id, const wxString& label, const wxPoint& pos = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, long style = 0, const wxValidator& val = wxPyDefaultValidator, 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 = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, int LCOUNT=0, wxString* LIST=NULL, long style = 0, const wxValidator& validator = wxPyDefaultValidator, char* name = "choice"); %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)" void Append(const wxString& item); void Clear(); int FindString(const wxString& string); int GetColumns(); int GetSelection(); wxString GetString(const int n); wxString GetStringSelection(); int Number(); void SetColumns(const int n = 1); void SetSelection(const int n); void SetStringSelection(const wxString& string); }; //---------------------------------------------------------------------- class wxComboBox : public wxControl { public: wxComboBox(wxWindow* parent, wxWindowID id, char* value = "", const wxPoint& pos = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, int LCOUNT=0, wxString* LIST=NULL, long style = 0, const wxValidator& validator = wxPyDefaultValidator, 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(); int Number(); 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, bool select = TRUE); %name(SetMark)void SetSelection(long from, long to); void SetValue(const wxString& text); }; //---------------------------------------------------------------------- class wxGauge : public wxControl { public: wxGauge(wxWindow* parent, wxWindowID id, int range, const wxPoint& pos = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, long style = wxGA_HORIZONTAL, const wxValidator& validator = wxPyDefaultValidator, 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 = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, long style = 0, char* name = "staticBox"); }; //---------------------------------------------------------------------- class wxStaticText : public wxControl { public: wxStaticText(wxWindow* parent, wxWindowID id, const wxString& label, const wxPoint& pos = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, 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 = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, int LCOUNT, wxString* LIST = NULL, long style = 0, const wxValidator& validator = wxPyDefaultValidator, 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(int i=0; i