// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
-%module wizard
+%define DOCSTRING
+"`Wizard` is a dialog class that guides the user through a sequence of steps,
+or pages."
+%enddef
+
+%module(package="wx", docstring=DOCSTRING) wizard
%{
#include "wx/wxPython/wxPython.h"
#include <wx/wizard.h>
- static const wxString wxPyEmptyString(wxT(""));
%}
//----------------------------------------------------------------------
%import windows.i
-%pythoncode { wx = core }
+%pythoncode { wx = _core }
+%pythoncode { __docfilter__ = wx.__DocFilter(globals()) }
-%include _wizard_rename.i
+MAKE_CONST_WXSTRING_NOSWIG(EmptyString);
//----------------------------------------------------------------------
public:
wxWizardEvent(wxEventType type = wxEVT_NULL,
int id = -1,
- bool direction = True,
+ bool direction = true,
wxWizardPage* page = NULL);
// for EVT_WIZARD_PAGE_CHANGING, return True if we're going forward or
// False otherwise and for EVT_WIZARD_PAGE_CHANGED return True if we came
// from the previous page and False if we returned from the next one
// (this function doesn't make sense for CANCEL events)
- bool GetDirection() const { return m_direction; }
+ bool GetDirection() const;
+
+ wxWizardPage* GetPage() const;
- wxWizardPage* GetPage() const { return m_page; }
+ %property(Direction, GetDirection, doc="See `GetDirection`");
+ %property(Page, GetPage, doc="See `GetPage`");
};
//
// Other than GetNext/Prev() functions, wxWizardPage is just a panel and may be
// used as such (i.e. controls may be placed directly on it &c).
+MustHaveApp(wxWizardPage);
class wxWizardPage : public wxPanel
{
public:
// wxWizardPage(wxWizard *parent,
// const wxBitmap& bitmap = wxNullBitmap,
// const char* resource = NULL);
-// %name(PreWizardPage)wxWizardPage();
+// %RenameCtor(PreWizardPage, wxWizardPage());
%extend {
bool Create(wxWizard *parent,
const wxBitmap& bitmap = wxNullBitmap,
const wxString& resource = wxPyEmptyString) {
wxChar* res = NULL;
- if (resource.Length())
+ if (resource.length())
res = (wxChar*)resource.c_str();
return self->Create(parent, bitmap, res);
}
// dynamically or to do something even more fancy. It's ok to return
// wxNullBitmap from here - the default one will be used then.
virtual wxBitmap GetBitmap() const;
+
+ %property(Bitmap, GetBitmap, doc="See `GetBitmap`");
+ %property(Next, GetNext, doc="See `GetNext`");
+ %property(Prev, GetPrev, doc="See `GetPrev`");
};
%{ // C++ Version of a Python aware class
class wxPyWizardPage : public wxWizardPage {
- DECLARE_ABSTRACT_CLASS(wxPyWizardPage);
+ DECLARE_ABSTRACT_CLASS(wxPyWizardPage)
public:
wxPyWizardPage() : wxWizardPage() {}
wxPyWizardPage(wxWizard *parent,
+MustHaveApp(wxPyWizardPage);
+
class wxPyWizardPage : public wxWizardPage {
public:
- %addtofunc wxPyWizardPage "self._setCallbackInfo(self, PyWizardPage);self._setOORInfo(self)"
- %addtofunc wxPyWizardPage() ""
+ %pythonAppend wxPyWizardPage "self._setCallbackInfo(self, PyWizardPage);self._setOORInfo(self)"
+ %pythonAppend wxPyWizardPage() ""
+ %typemap(out) wxPyWizardPage*; // turn off this typemap
// ctor accepts an optional bitmap which will be used for this page instead
// of the default one for this wizard (should be of the same size). Notice
const wxBitmap* bitmap = &wxNullBitmap,
const wxString* resource = &wxPyEmptyString) {
wxChar* res = NULL;
- if (resource->Length())
+ if (resource->length())
res = (wxChar*)resource->c_str();
return new wxPyWizardPage(parent, *bitmap, res);
}
}
- %name(PrePyWizardPage)wxPyWizardPage();
+ %RenameCtor(PrePyWizardPage, wxPyWizardPage());
+
+ // Turn it back on again
+ %typemap(out) wxPyWizardPage* { $result = wxPyMake_wxObject($1, $owner); }
%extend {
bool Create(wxWizard *parent,
const wxBitmap& bitmap = wxNullBitmap,
const wxString& resource = wxPyEmptyString) {
wxChar* res = NULL;
- if (resource.Length())
+ if (resource.length())
res = (wxChar*)resource.c_str();
return self->Create(parent, bitmap, res);
}
void _setCallbackInfo(PyObject* self, PyObject* _class);
- void base_DoMoveWindow(int x, int y, int width, int height);
- void base_DoSetSize(int x, int y, int width, int height,
+ void DoMoveWindow(int x, int y, int width, int height);
+ void DoSetSize(int x, int y, int width, int height,
int sizeFlags = wxSIZE_AUTO);
- void base_DoSetClientSize(int width, int height);
- void base_DoSetVirtualSize( int x, int y );
+ void DoSetClientSize(int width, int height);
+ void DoSetVirtualSize( int x, int y );
DocDeclA(
- void, base_DoGetSize( int *OUTPUT, int *OUTPUT ) const,
- "base_DoGetSize() -> (width, height)");
+ void, DoGetSize( int *OUTPUT, int *OUTPUT ) const,
+ "DoGetSize() -> (width, height)");
DocDeclA(
- void, base_DoGetClientSize( int *OUTPUT, int *OUTPUT ) const,
- "base_DoGetClientSize() -> (width, height)");
+ void, DoGetClientSize( int *OUTPUT, int *OUTPUT ) const,
+ "DoGetClientSize() -> (width, height)");
DocDeclA(
- void, base_DoGetPosition( int *OUTPUT, int *OUTPUT ) const,
- "base_DoGetPosition() -> (x,y)");
-
- wxSize base_DoGetVirtualSize() const;
- wxSize base_DoGetBestSize() const;
-
- void base_InitDialog();
- bool base_TransferDataToWindow();
- bool base_TransferDataFromWindow();
- bool base_Validate();
-
- bool base_AcceptsFocus() const;
- bool base_AcceptsFocusFromKeyboard() const;
- wxSize base_GetMaxSize() const;
-
- void base_AddChild(wxWindow* child);
- void base_RemoveChild(wxWindow* child);
+ void, DoGetPosition( int *OUTPUT, int *OUTPUT ) const,
+ "DoGetPosition() -> (x,y)");
+
+ wxSize DoGetVirtualSize() const;
+ wxSize DoGetBestSize() const;
+
+ void InitDialog();
+ bool TransferDataToWindow();
+ bool TransferDataFromWindow();
+ bool Validate();
+
+ bool AcceptsFocus() const;
+ bool AcceptsFocusFromKeyboard() const;
+ wxSize GetMaxSize() const;
+
+ void AddChild(wxWindow* child);
+ void RemoveChild(wxWindow* child);
+
+ bool ShouldInheritColours() const;
+ wxVisualAttributes GetDefaultAttributes();
+
+ void OnInternalIdle();
+
+ %MAKE_BASE_FUNC(PyWizardPage, DoMoveWindow);
+ %MAKE_BASE_FUNC(PyWizardPage, DoSetSize);
+ %MAKE_BASE_FUNC(PyWizardPage, DoSetClientSize);
+ %MAKE_BASE_FUNC(PyWizardPage, DoSetVirtualSize);
+ %MAKE_BASE_FUNC(PyWizardPage, DoGetSize);
+ %MAKE_BASE_FUNC(PyWizardPage, DoGetClientSize);
+ %MAKE_BASE_FUNC(PyWizardPage, DoGetPosition);
+ %MAKE_BASE_FUNC(PyWizardPage, DoGetVirtualSize);
+ %MAKE_BASE_FUNC(PyWizardPage, DoGetBestSize);
+ %MAKE_BASE_FUNC(PyWizardPage, InitDialog);
+ %MAKE_BASE_FUNC(PyWizardPage, TransferDataToWindow);
+ %MAKE_BASE_FUNC(PyWizardPage, TransferDataFromWindow);
+ %MAKE_BASE_FUNC(PyWizardPage, Validate);
+ %MAKE_BASE_FUNC(PyWizardPage, AcceptsFocus);
+ %MAKE_BASE_FUNC(PyWizardPage, AcceptsFocusFromKeyboard);
+ %MAKE_BASE_FUNC(PyWizardPage, GetMaxSize);
+ %MAKE_BASE_FUNC(PyWizardPage, AddChild);
+ %MAKE_BASE_FUNC(PyWizardPage, RemoveChild);
+ %MAKE_BASE_FUNC(PyWizardPage, ShouldInheritColours);
+ %MAKE_BASE_FUNC(PyWizardPage, GetDefaultAttributes);
+ %MAKE_BASE_FUNC(PyWizardPage, OnInternalIdle);
+
};
//----------------------------------------------------------------------
// OTOH, it is also possible to dynamicly decide which page to return (i.e.
// depending on the user's choices) as the wizard sample shows - in order to do
// this, you must derive from wxWizardPage directly.
+MustHaveApp(wxWizardPageSimple);
class wxWizardPageSimple : public wxWizardPage
{
public:
- %addtofunc wxWizardPageSimple "self._setOORInfo(self)"
- %addtofunc wxWizardPageSimple() ""
+ %pythonAppend wxWizardPageSimple "self._setOORInfo(self)"
+ %pythonAppend wxWizardPageSimple() ""
// ctor takes the previous and next pages
wxWizardPageSimple(wxWizard *parent,
wxWizardPage *next = NULL,
const wxBitmap& bitmap = wxNullBitmap,
const wxChar* resource = NULL);
- %name(PreWizardPageSimple)wxWizardPageSimple();
+ %RenameCtor(PreWizardPageSimple, wxWizardPageSimple());
bool Create(wxWizard *parent = NULL,
wxWizardPage *prev = NULL,
//----------------------------------------------------------------------
+MustHaveApp(wxWizard);
+
class wxWizard : public wxDialog
{
public:
- %addtofunc wxWizard "self._setOORInfo(self)"
- %addtofunc wxWizard() ""
+ %pythonAppend wxWizard "self._setOORInfo(self)"
+ %pythonAppend wxWizard() ""
// ctor
wxWizard(wxWindow *parent,
int id = -1,
- const wxString& title = wxEmptyString,
+ const wxString& title = wxPyEmptyString,
const wxBitmap& bitmap = wxNullBitmap,
const wxPoint& pos = wxDefaultPosition,
long style = wxDEFAULT_DIALOG_STYLE);
- %name(PreWizard)wxWizard();
+ %RenameCtor(PreWizard, wxWizard());
bool Create(wxWindow *parent,
int id = -1,
- const wxString& title = wxEmptyString,
+ const wxString& title = wxPyEmptyString,
const wxBitmap& bitmap = wxNullBitmap,
const wxPoint& pos = wxDefaultPosition);
virtual void SetBorder(int border);
// is the wizard running?
- bool IsRunning() const { return m_page != NULL; }
+ bool IsRunning() const;
// show the prev/next page, but call TransferDataFromWindow on the current
// page first and return False without changing the page if
// TransferDataFromWindow() returns False - otherwise, returns True
- bool ShowPage(wxWizardPage *page, bool goingForward = True);
+ bool ShowPage(wxWizardPage *page, bool goingForward = true);
bool HasNextPage(wxWizardPage* page);
bool HasPrevPage(wxWizardPage* page);
+
+ %property(CurrentPage, GetCurrentPage, doc="See `GetCurrentPage`");
+ %property(PageAreaSizer, GetPageAreaSizer, doc="See `GetPageAreaSizer`");
+ %property(PageSize, GetPageSize, SetPageSize, doc="See `GetPageSize` and `SetPageSize`");
};