-//----------------------------------------------------------------------
-
-%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");
- %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 char* name="control");
-
- %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
- %pragma(python) addtomethod = "wxPreControl:val._setOORInfo(val)"
-
- void Command(wxCommandEvent& event);
- wxString GetLabel();
- void SetLabel(const wxString& label);
-};
-
-
-//----------------------------------------------------------------------
-
-
-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,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = 0,
- const wxValidator& validator = wxDefaultValidator,
- char* name = "button");
- %name(wxPreButton)wxButton();
-
- 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();
-};
-
-//----------------------------------------------------------------------
-
-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");
- %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__: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; }
-};
-
-//----------------------------------------------------------------------
-
-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");
- %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__:self._setOORInfo(self)"
- %pragma(python) addtomethod = "wxPreCheckBox:val._setOORInfo(val)"
-
- bool GetValue();
- void SetValue(const bool state);
-};
-
-//----------------------------------------------------------------------
-
-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,
- 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__: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... <blech!>
-
-#ifdef __WXGTK__
-class wxComboBox : public wxControl
-{
-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);
- 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) {
- 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);
- 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,
- 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__:self._setOORInfo(self)"
- %pragma(python) addtomethod = "wxPreGauge:val._setOORInfo(val)"
-
- 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");
- %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)"
-};
-
-
-//----------------------------------------------------------------------
-
-
-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" );
- %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)"
-};
-
-
-//----------------------------------------------------------------------
-
-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");
- %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__: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,
- 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");