%{
#include "helpers.h"
#include <wx/slider.h>
+#include <wx/spinbutt.h>
+#include <wx/dynarray.h>
+#include <wx/statline.h>
+//#include <wx/toggbutt.h>
#ifdef __WXMSW__
-#include <wx/spinbutt.h>
+#if wxUSE_OWNER_DRAWN
+#include <wx/checklst.h>
+#endif
+#endif
+
+#ifdef __WXGTK__
+#include <wx/checklst.h>
#endif
+
%}
//----------------------------------------------------------------------
%import gdi.i
%import events.i
+%pragma(python) code = "import wx"
+
//----------------------------------------------------------------------
%{
wxValidator wxPyDefaultValidator; // Non-const default because of SWIG
%}
+%readonly
+wxValidator wxDefaultValidator;
+%readwrite
+
//----------------------------------------------------------------------
class wxControl : public wxWindow {
public:
+ wxControl(wxWindow *parent,
+ wxWindowID id,
+ const wxPoint& pos=wxPyDefaultPosition,
+ const wxSize& size=wxPyDefaultSize,
+ long style=0,
+ const wxValidator& validator=wxPyDefaultValidator,
+ const char* name="control");
+
+ %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
void Command(wxCommandEvent& event);
wxString GetLabel();
void SetLabel(const wxString& label);
};
+
//----------------------------------------------------------------------
class wxButton : public wxControl {
long style = 0,
const wxValidator& validator = wxPyDefaultValidator,
char* name = "button");
+
+ %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
void SetDefault();
+ void SetBackgroundColour(const wxColour& colour);
+ void SetForegroundColour(const wxColour& colour);
};
+
+%inline %{
+ wxSize wxButton_GetDefaultSize() {
+ return wxButton::GetDefaultSize();
+ }
+%}
+
//----------------------------------------------------------------------
class wxBitmapButton : public wxButton {
const wxValidator& validator = wxPyDefaultValidator,
char* name = "button");
+ %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
wxBitmap& GetBitmapLabel();
-#ifdef __WXMSW__
wxBitmap& GetBitmapDisabled();
wxBitmap& GetBitmapFocus();
wxBitmap& GetBitmapSelected();
void SetBitmapDisabled(const wxBitmap& bitmap);
void SetBitmapFocus(const wxBitmap& bitmap);
void SetBitmapSelected(const wxBitmap& bitmap);
-#endif
void SetBitmapLabel(const wxBitmap& bitmap);
};
+//----------------------------------------------------------------------
+
+// class wxToggleButton : public wxControl {
+// public:
+// wxToggleButton(wxWindow *parent, wxWindowID id, const wxString& label,
+// const wxPoint& pos = wxPyDefaultPosition,
+// const wxSize& size = wxPyDefaultSize, long style = 0,
+// const wxValidator& validator = wxPyDefaultValidator,
+// const char* name = "toggle");
+// void SetValue(bool value);
+// bool GetValue() const ;
+// void SetLabel(const wxString& label);
+// };
+
+// class wxBitmapToggleButton : public wxToggleButton {
+// public:
+// wxBitmapToggleButton(wxWindow *parent, wxWindowID id, const wxBitmap *label,
+// const wxPoint& pos = wxPyDefaultPosition,
+// const wxSize& size = wxPyDefaultSize, long style = 0,
+// const wxValidator& validator = wxPyDefaultValidator,
+// const char *name = "toggle");
+// void SetLabel(const wxBitmap& bitmap);
+// };
+
+
//----------------------------------------------------------------------
class wxCheckBox : public wxControl {
const wxValidator& val = wxPyDefaultValidator,
char* name = "checkBox");
+ %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
bool GetValue();
void SetValue(const bool state);
};
wxChoice(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxPyDefaultPosition,
const wxSize& size = wxPyDefaultSize,
- int LCOUNT=0, wxString* LIST=NULL,
+ int LCOUNT=0, wxString* choices=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);
//----------------------------------------------------------------------
-class wxComboBox : public wxControl {
+class wxComboBox : public wxChoice {
public:
wxComboBox(wxWindow* parent, wxWindowID id, char* value = "",
const wxPoint& pos = wxPyDefaultPosition,
const wxSize& size = wxPyDefaultSize,
- int LCOUNT=0, wxString* LIST=NULL,
+ int LCOUNT=0, wxString* choices=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();
// TODO: void SetClientData(const int n, char* data);
void SetInsertionPoint(long pos);
void SetInsertionPointEnd();
- void SetSelection(int n, bool select = TRUE);
+ void SetSelection(int n);
%name(SetMark)void SetSelection(long from, long to);
void SetValue(const wxString& text);
};
const wxValidator& validator = wxPyDefaultValidator,
char* name = "gauge");
+ %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
int GetBezelFace();
int GetRange();
int GetShadowWidth();
};
+//----------------------------------------------------------------------
+
+
+class wxStaticLine : public wxControl {
+public:
+ wxStaticLine( wxWindow *parent, wxWindowID id,
+ const wxPoint &pos = wxPyDefaultPosition,
+ const wxSize &size = wxPyDefaultSize,
+ long style = wxLI_HORIZONTAL,
+ const char* name = "staticLine" );
+};
+
+
//----------------------------------------------------------------------
class wxStaticText : public wxControl {
long style = 0,
char* name = "staticText");
+ %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
wxString GetLabel();
void SetLabel(const wxString& label);
};
wxListBox(wxWindow* parent, wxWindowID id,
const wxPoint& pos = wxPyDefaultPosition,
const wxSize& size = wxPyDefaultSize,
- int LCOUNT, wxString* LIST = NULL,
+ int LCOUNT, wxString* choices = 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();
int FindString(const wxString& string);
// TODO: char* GetClientData(const int n);
int GetSelection();
- // TODO: int GetSelections(int **selections);
+
+ // int GetSelections(int **selections);
+ %addmethods {
+ PyObject* GetSelections() {
+ wxArrayInt lst;
+ self->GetSelections(lst);
+ PyObject *tup = PyTuple_New(lst.GetCount());
+ for(int i=0; i<lst.GetCount(); i++) {
+ PyTuple_SetItem(tup, i, PyInt_FromLong(lst[i]));
+ }
+ return tup;
+ }
+ }
+
+ void InsertItems(int LCOUNT, wxString* choices, int pos);
+
wxString GetString(int n);
wxString GetStringSelection();
int Number();
bool Selected(const int n);
- void Set(int LCOUNT, wxString* LIST);
+ 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);
};
+//----------------------------------------------------------------------
+
+class wxCheckListBox : public wxListBox {
+public:
+ wxCheckListBox(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxPyDefaultPosition,
+ const wxSize& size = wxPyDefaultSize,
+ int LCOUNT = 0,
+ wxString* choices = NULL,
+ long style = 0,
+ const wxValidator& validator = wxPyDefaultValidator,
+ char* name = "listBox");
+
+ %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
+ bool IsChecked(int uiIndex);
+ void Check(int uiIndex, int bCheck = TRUE);
+ void InsertItems(int LCOUNT, wxString* choices, int pos);
+
+ int GetItemHeight();
+};
+
//----------------------------------------------------------------------
class wxTextCtrl : public wxControl {
const wxValidator& validator = wxPyDefaultValidator,
char* name = "text");
+ %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
void Clear();
void Copy();
void Cut();
void DiscardEdits();
long GetInsertionPoint();
long GetLastPosition();
-#ifdef __WXMSW__
int GetLineLength(long lineNo);
wxString GetLineText(long lineNo);
int GetNumberOfLines();
-#endif
wxString GetValue();
bool IsModified();
bool LoadFile(const wxString& filename);
void Paste();
-#ifdef __WXMSW__
void PositionToXY(long pos, long *OUTPUT, long *OUTPUT);
-#endif
void Remove(long from, long to);
void Replace(long from, long to, const wxString& value);
bool SaveFile(const wxString& filename);
void SetValue(const wxString& value);
void ShowPosition(long pos);
void WriteText(const wxString& text);
-#ifdef __WXMSW__
+ void AppendText(const wxString& text);
long XYToPosition(long x, long y);
-#endif
+
+ bool CanCopy();
+ bool CanCut();
+ bool CanPaste();
+ bool CanRedo();
+ bool CanUndo();
+ void GetSelection(long* OUTPUT, long* OUTPUT);
+ bool IsEditable();
+ void Undo();
+ void Redo();
+
+ %addmethods {
+ void write(const wxString& text) {
+ self->AppendText(text + '\n');
+ }
+ }
};
//----------------------------------------------------------------------
const wxValidator& validator = wxPyDefaultValidator,
char* name = "scrollBar");
+ %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
int GetRange();
int GetPageSize();
- int GetPosition();
+ int GetThumbPosition();
int GetThumbSize();
- void SetPosition(int viewStart);
+ void SetThumbPosition(int viewStart);
void SetScrollbar(int position, int thumbSize,
int range, int pageSize,
bool refresh = TRUE);
//----------------------------------------------------------------------
-#ifdef __WXMSW__
class wxSpinButton : public wxControl {
public:
wxSpinButton(wxWindow* parent, wxWindowID id = -1,
void SetRange(int min, int max);
void SetValue(int value);
};
-#endif
//----------------------------------------------------------------------
long style = 0,
char* name = "staticBitmap");
- wxBitmap& GetBitmap();
+ %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
+ const wxBitmap& GetBitmap();
void SetBitmap(const wxBitmap& bitmap);
+ void SetIcon(const wxIcon& icon);
};
//----------------------------------------------------------------------
const wxString& label,
const wxPoint& point = wxPyDefaultPosition,
const wxSize& size = wxPyDefaultSize,
- int LCOUNT = 0, wxString* LIST = NULL,
+ int LCOUNT = 0, wxString* choices = NULL,
int majorDimension = 0,
long style = wxRA_HORIZONTAL,
const wxValidator& validator = wxPyDefaultValidator,
char* name = "radioBox");
- %name(EnableBox)void Enable(bool enable);
- void Enable(int n, bool enable);
+ %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
+ void Enable(bool enable);
+ %name(EnableItem)void Enable(int n, bool enable);
int FindString(const wxString& string);
- %name(GetBoxLabel)wxString GetLabel();
- wxString GetLabel(int n);
+
+//*** wxString GetLabel();
+//*** void SetLabel(const wxString& label);
+
+ %name(GetItemLabel)wxString GetLabel(int n);
int GetSelection();
wxString GetString(int n);
wxString GetStringSelection();
int Number();
- %name(SetBoxLabel)void SetLabel(const wxString& label);
- void SetLabel(int n, const wxString& label);
+ %name(SetItemLabel)void SetLabel(int n, const wxString& label);
void SetSelection(int n);
void SetStringSelection(const wxString& string);
void Show(bool show);
const wxValidator& validator = wxPyDefaultValidator,
char* name = "radioButton");
+ %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
bool GetValue();
void SetValue(bool value);
};
const wxValidator& validator = wxPyDefaultValidator,
char* name = "slider");
+ %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+
void ClearSel();
void ClearTicks();
int GetLineSize();
//----------------------------------------------------------------------
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// $Log$
-// Revision 1.3 1998/08/18 19:48:14 RD
-// more wxGTK compatibility things.
-//
-// It builds now but there are serious runtime problems...
-//
-// Revision 1.2 1998/08/15 07:36:28 RD
-// - Moved the header in the .i files out of the code that gets put into
-// the .cpp files. It caused CVS conflicts because of the RCS ID being
-// different each time.
-//
-// - A few minor fixes.
-//
-// Revision 1.1 1998/08/09 08:25:49 RD
-// Initial version
-//
-//
-