%{
#include "helpers.h"
+
+#include <wx/notebook.h>
%}
//----------------------------------------------------------------------
//---------------------------------------------------------------------------
-class wxSizerItem {
+class wxSizerItem : public wxObject {
public:
// No need to ever create one directly in Python...
//wxSizerItem( wxWindow *window, int option, int flag, int border, wxObject* userData );
//wxSizerItem( wxSizer *sizer, int option, int flag, int border, wxObject* userData );
+ void DeleteWindows();
+
+ wxPoint GetPosition();
wxSize GetSize();
wxSize CalcMin();
void SetDimension( wxPoint pos, wxSize size );
//---------------------------------------------------------------------------
-class wxSizer {
+class wxSizer : public wxObject {
public:
// wxSizer(); **** abstract, can't instantiate
// ~wxSizer();
+ %addmethods {
+ void _setOORInfo(PyObject* _self) {
+ self->SetClientObject(new wxPyOORClientData(_self));
+ }
+ }
+
%addmethods {
void Destroy() { delete self; }
%pragma(python) addtoclass = "
- def Add(self, *args):
+ def Add(self, *args, **kw):
if type(args[0]) == type(1):
- apply(self.AddSpacer, args)
+ apply(self.AddSpacer, args, kw)
elif string.find(args[0].this, 'Sizer') != -1:
- apply(self.AddSizer, args)
+ apply(self.AddSizer, args, kw)
else:
- apply(self.AddWindow, args)
+ apply(self.AddWindow, args, kw)
- def Insert(self, *args):
+ def Insert(self, *args, **kw):
if type(args[1]) == type(1):
- apply(self.InsertSpacer, args)
+ apply(self.InsertSpacer, args, kw)
elif string.find(args[1].this, 'Sizer') != -1:
- apply(self.InsertSizer, args)
+ apply(self.InsertSizer, args, kw)
else:
- apply(self.InsertWindow, args)
+ apply(self.InsertWindow, args, kw)
- def Prepend(self, *args):
+ def Prepend(self, *args, **kw):
if type(args[0]) == type(1):
- apply(self.PrependSpacer, args)
+ apply(self.PrependSpacer, args, kw)
elif string.find(args[0].this, 'Sizer') != -1:
- apply(self.PrependSizer, args)
+ apply(self.PrependSizer, args, kw)
else:
- apply(self.PrependWindow, args)
+ apply(self.PrependWindow, args, kw)
- def Remove(self, *args):
+ def Remove(self, *args, **kw):
if type(args[0]) == type(1):
- apply(self.RemovePos, args)
+ apply(self.RemovePos, args, kw)
elif string.find(args[0].this, 'Sizer') != -1:
- apply(self.RemoveSizer, args)
+ apply(self.RemoveSizer, args, kw)
else:
- apply(self.RemoveWindow, args)
+ apply(self.RemoveWindow, args, kw)
def AddMany(self, widgets):
for childinfo in widgets:
wxPoint GetPosition();
wxSize GetMinSize();
+ %pragma(python) addtoclass = "
+ def GetSizeTuple(self):
+ return self.GetSize().asTuple()
+ def GetPositionTuple(self):
+ return self.GetPosition().asTuple()
+ def GetMinSizeTuple(self):
+ return self.GetMinSize().asTuple()
+ "
+
// void RecalcSizes() = 0;
// wxSize CalcMin() = 0;
void Layout();
- void Fit( wxWindow *window );
+ wxSize Fit( wxWindow *window );
+ void FitInside( wxWindow *window );
+
void SetSizeHints( wxWindow *window );
+ void SetVirtualSizeHints( wxWindow *window );
+
+ void Clear( bool delete_windows=FALSE );
+ void DeleteWindows();
+
// wxList& GetChildren();
%addmethods {
class wxPySizer : public wxSizer {
public:
wxPySizer();
- void _setSelf(PyObject* self, PyObject* _class);
- %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPySizer)"
+ void _setCallbackInfo(PyObject* self, PyObject* _class);
+ %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPySizer)"
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
};
class wxBoxSizer : public wxSizer {
public:
wxBoxSizer(int orient = wxHORIZONTAL);
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
int GetOrientation();
void RecalcSizes();
wxSize CalcMin();
class wxStaticBoxSizer : public wxBoxSizer {
public:
wxStaticBoxSizer(wxStaticBox *box, int orient = wxHORIZONTAL);
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
wxStaticBox *GetStaticBox();
void RecalcSizes();
wxSize CalcMin();
class wxNotebookSizer: public wxSizer {
public:
wxNotebookSizer( wxNotebook *nb );
-
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
void RecalcSizes();
wxSize CalcMin();
-
wxNotebook *GetNotebook();
};
{
public:
wxGridSizer( int rows=1, int cols=0, int vgap=0, int hgap=0 );
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
void RecalcSizes();
wxSize CalcMin();
{
public:
wxFlexGridSizer( int rows=1, int cols=0, int vgap=0, int hgap=0 );
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
void RecalcSizes();
wxSize CalcMin();