diff --git a/wxPython/demo/AUI.py b/wxPython/demo/AUI_DockingWindowMgr.py
old mode 100755
new mode 100644
similarity index 99%
rename from wxPython/demo/AUI.py
rename to wxPython/demo/AUI_DockingWindowMgr.py
index 44d05a7145..7fd8ab604c
--- a/wxPython/demo/AUI.py
+++ b/wxPython/demo/AUI_DockingWindowMgr.py
@@ -67,7 +67,7 @@ class PyAUIFrame(wx.Frame):
# tell FrameManager to manage this frame
self._mgr = wx.aui.FrameManager()
- self._mgr.SetFrame(self)
+ self._mgr.SetManagedWindow(self)
self._perspectives = []
self.n = 0
@@ -477,13 +477,13 @@ class PyAUIFrame(wx.Frame):
flag = 0
- if wx.Platform != "__WXMSW__" and wx.Platform != '__WXMAC__':
- if event.GetId() == ID_TransparentDrag or \
- event.GetId() == ID_TransparentHint or \
- event.GetId() == ID_TransparentHintFade:
+## if wx.Platform != "__WXMSW__" and wx.Platform != '__WXMAC__':
+## if event.GetId() == ID_TransparentDrag or \
+## event.GetId() == ID_TransparentHint or \
+## event.GetId() == ID_TransparentHintFade:
- wx.MessageBox("This option is presently only available on wxMSW and wxMac")
- return
+## wx.MessageBox("This option is presently only available on wxMSW and wxMac")
+## return
if event.GetId() == ID_AllowFloating:
flag = wx.aui.AUI_MGR_ALLOW_FLOATING
diff --git a/wxPython/demo/AUI_Notebook.py b/wxPython/demo/AUI_Notebook.py
new file mode 100644
index 0000000000..458e143960
--- /dev/null
+++ b/wxPython/demo/AUI_Notebook.py
@@ -0,0 +1,60 @@
+
+import wx
+import wx.aui
+
+
+text = """\
+Hello!
+
+Welcome to this little demo of draggable tabs using the wx.aui module.
+
+To try it out, drag a tab from the top of the window all the way to
+the bottom. After releasing the mouse, the tab will dock at the
+hinted position. Then try it again with the remaining tabs in various
+other positions. Finally, try dragging a tab to an existing tab ctrl.
+You'll soon see that very complex tab layouts may be achieved.
+"""
+
+#----------------------------------------------------------------------
+
+class TestPanel(wx.Panel):
+ def __init__(self, parent, log):
+ self.log = log
+ wx.Panel.__init__(self, parent, -1)
+
+ self.nb = wx.aui.AuiMultiNotebook(self)
+ page = wx.TextCtrl(self.nb, -1, text, style=wx.TE_MULTILINE)
+ self.nb.AddPage(page, "Welcome")
+
+ for num in range(1, 5):
+ page = wx.TextCtrl(self.nb, -1, "This is page %d" % num ,
+ style=wx.TE_MULTILINE)
+ self.nb.AddPage(page, "Tab Number %d" % num)
+
+ sizer = wx.BoxSizer()
+ sizer.Add(self.nb, 1, wx.EXPAND)
+ self.SetSizer(sizer)
+
+#----------------------------------------------------------------------
+
+def runTest(frame, nb, log):
+ win = TestPanel(nb, log)
+ return win
+
+#----------------------------------------------------------------------
+
+
+
+overview = """
+Say something nice here
+
+
+"""
+
+
+
+if __name__ == '__main__':
+ import sys,os
+ import run
+ run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
+
diff --git a/wxPython/demo/Main.py b/wxPython/demo/Main.py
index c89232c979..041678483a 100644
--- a/wxPython/demo/Main.py
+++ b/wxPython/demo/Main.py
@@ -48,7 +48,8 @@ _treeList = [
# new stuff
('Recent Additions/Updates', [
'AnalogClock',
- 'AUI',
+ 'AUI_DockingWindowMgr',
+ 'AUI_Notebook',
'CheckListCtrlMixin',
'Pickers',
'PseudoDC',
@@ -59,7 +60,7 @@ _treeList = [
# managed windows == things with a (optional) caption you can close
('Frames and Dialogs', [
- 'AUI',
+ 'AUI_DockingWindowMgr',
'Dialog',
'Frame',
'MDIWindows',
@@ -128,6 +129,7 @@ _treeList = [
]),
('"Book" Controls', [
+ 'AUI_Notebook',
'Choicebook',
'Listbook',
'Notebook',
diff --git a/wxPython/setup.py b/wxPython/setup.py
index 26a6096556..7710b73271 100755
--- a/wxPython/setup.py
+++ b/wxPython/setup.py
@@ -495,6 +495,7 @@ swig_sources = run_swig(['aui.i'], 'src', GENDIR, PKGDIR,
opj(WXDIR, 'include/wx/aui/framemanager.h'),
opj(WXDIR, 'include/wx/aui/floatpane.h'),
opj(WXDIR, 'include/wx/aui/dockart.h'),
+ opj(WXDIR, 'include/wx/aui/auibook.h'),
])
if not MONOLITHIC:
auiLib = makeLibName('aui')
diff --git a/wxPython/src/aui.i b/wxPython/src/aui.i
index e5047351e1..2c5857c6f4 100755
--- a/wxPython/src/aui.i
+++ b/wxPython/src/aui.i
@@ -139,7 +139,8 @@ The following example shows a simple implementation that utilizes
#define wxDEPRECATED(decl)
-// We'll let SWIG handle the function overloading for these
+// We'll skip making wrappers for these, they have overloads that take a
+// wxSize or wxPoint
%ignore wxPaneInfo::MaxSize(int x, int y);
%ignore wxPaneInfo::MinSize(int x, int y);
%ignore wxPaneInfo::BestSize(int x, int y);
@@ -169,12 +170,21 @@ The following example shows a simple implementation that utilizes
}
+%nokwargs wxAuiTabContainer::SetActivePage;
+
+%pythonAppend wxAuiTabCtrl::wxAuiTabCtrl "self._setOORInfo(self)";
+
+%pythonAppend wxAuiMultiNotebook::wxAuiMultiNotebook "self._setOORInfo(self)";
+%pythonAppend wxAuiMultiNotebook::wxAuiMultiNotebook() "self._setOORInfo(self)";
+%ignore wxAuiMultiNotebook::~wxAuiMultiNotebook;
+%rename(PreAuiMultiNotebook) wxAuiMultiNotebook::wxAuiMultiNotebook();
+
//---------------------------------------------------------------------------
// Get all our defs from the REAL header files.
%include framemanager.h
%include dockart.h
%include floatpane.h
-
+%include auibook.h
//---------------------------------------------------------------------------
// Methods to inject into the FrameManager class that will sort out calls to
@@ -241,6 +251,7 @@ The following example shows a simple implementation that utilizes
//---------------------------------------------------------------------------
%{
+// A wxDocArt lcass that knows how to forward virtuals to Python methods
class wxPyDockArt : public wxDefaultDockArt
{
wxPyDockArt() : wxDefaultDockArt() {}