#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__
#if wxUSE_OWNER_DRAWN
#include <wx/checklst.h>
#endif
#endif
+
+#ifdef __WXGTK__
+#include <wx/checklst.h>
+#endif
+
%}
//----------------------------------------------------------------------
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 {
%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 {
};
+//----------------------------------------------------------------------
+
+// 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 {
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");
//----------------------------------------------------------------------
-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");
// 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);
};
};
+//----------------------------------------------------------------------
+
+
+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 {
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");
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);
const wxPoint& pos = wxPyDefaultPosition,
const wxSize& size = wxPyDefaultSize,
int LCOUNT = 0,
- wxString* LIST = NULL,
+ 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, bool bCheck = TRUE);
+ void Check(int uiIndex, int bCheck = TRUE);
+ void InsertItems(int LCOUNT, wxString* choices, int pos);
int GetItemHeight();
};
void SetValue(const wxString& value);
void ShowPosition(long pos);
void WriteText(const wxString& text);
+ void AppendText(const wxString& text);
long XYToPosition(long x, long y);
+
+ 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');
+ }
+ }
};
//----------------------------------------------------------------------
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,
%pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
- wxBitmap& GetBitmap();
+ 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,
%pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
- %name(EnableBox)void Enable(bool enable);
- void Enable(int n, bool enable);
+ void Enable(bool enable);
+ %name(EnableItem)void Enable(int n, bool enable);
int FindString(const wxString& string);
-#ifdef __WXMSW__
- %name(GetBoxLabel)wxString GetLabel();
-#endif
- 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);
//----------------------------------------------------------------------
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// $Log$
-// Revision 1.9 1998/12/17 14:07:29 RR
-// Removed minor differences between wxMSW and wxGTK
-//
-// Revision 1.8 1998/12/15 20:41:15 RD
-// Changed the import semantics from "from wxPython import *" to "from
-// wxPython.wx import *" This is for people who are worried about
-// namespace pollution, they can use "from wxPython import wx" and then
-// prefix all the wxPython identifiers with "wx."
-//
-// Added wxTaskbarIcon for wxMSW.
-//
-// Made the events work for wxGrid.
-//
-// Added wxConfig.
-//
-// Added wxMiniFrame for wxGTK, (untested.)
-//
-// Changed many of the args and return values that were pointers to gdi
-// objects to references to reflect changes in the wxWindows API.
-//
-// Other assorted fixes and additions.
-//
-// Revision 1.7 1998/11/16 00:00:53 RD
-// Generic treectrl for wxPython/GTK compiles...
-//
-// Revision 1.6 1998/11/15 23:03:43 RD
-// Removing some ifdef's for wxGTK
-//
-// Revision 1.5 1998/10/07 07:34:32 RD
-// Version 0.4.1 for wxGTK
-//
-// Revision 1.4 1998/10/02 06:40:35 RD
-//
-// Version 0.4 of wxPython for MSW.
-//
-// 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
-//
-//
-