thank you for your fast reply.
Please take a look at the code below. It works on wxpython 2.8.7.1
using python2.5, on WinXP, but not wxpython package 2.8.10.1
···
#----------------------------------------------------------------------
class MyFrame(wx.aui.AuiMDIParentFrame):
def __init__(self, parent):
wx.aui.AuiMDIParentFrame.__init__(self, parent, -1,
title="AuiMDIParentFrame",
size=(640,480),
style=wx.DEFAULT_FRAME_STYLE)
self.x=0
self._mgr = wx.aui.AuiManager(self)
self._mgr.AddPane(self.CreateTreeCtrl(), wx.aui.AuiPaneInfo().
Name("test8").Caption("BIST OVERVIEW").
Left().Layer(1).Position(1).CloseButton
(True).MaximizeButton(True))
self._mgr.AddPane(self.OnNewChild(), wx.aui.AuiPaneInfo().
Caption("HTML Content").
Float().FloatingPosition
(self.GetStartPosition()).
FloatingSize(wx.Size(300, 200)).CloseButton
(True).MaximizeButton(True))
self._mgr.Update()
def CreateTreeCtrl(self):
self.tree = wx.TreeCtrl(self, -1, wx.Point(0, 0), wx.Size(130,
100),wx.TR_DEFAULT_STYLE | wx.NO_BORDER)
return self.tree
def OnNewChild(self):
child = ChildFrame(self,wx.DefaultPosition, wx.Size(400, 300))
child.Show()
def GetStartPosition(self):
self.x = self.x + 20
x = self.x
pt = self.ClientToScreen(wx.Point(0, 0))
return wx.Point(pt.x + x, pt.y + x)
#----------------------------------------------------------------------
class ChildFrame(wx.aui.AuiMDIChildFrame):
def __init__(self, parent, pos,size):
wx.aui.AuiMDIChildFrame.__init__(self, parent,
-1,title='bist')
p = wx.Panel(self,-1)
wx.StaticText(p, -1, "This is child ")
p.SetBackgroundColour('light blue')
sizer = wx.BoxSizer()
sizer.Add(p, 1, wx.EXPAND)
self.SetSizer(sizer)
wx.CallAfter(self.Layout)
#----------------------------------------------------------------------
#
class MainApp(wx.App):
def OnInit(self):
self.frame =MyFrame(None)
self.frame.Show(True)
self.frame.Maximize()
self.SetTopWindow(self.frame)
return True
if __name__ == '__main__':
app = MainApp(0)
app.MainLoop()
On Dec 17, 4:52 am, Robin Dunn <ro...@alldunn.com> wrote:
On 12/16/09 3:38 AM, Devendran wrote:
> Hi Gentlemen,
> I have a code that was running fine with wxpython 2.8.4.0
> But when i upgraded wxpython to 2.8.10.1
> I had an issue with adding pane(s)
> Everything works fine when i revert back to the previous version
> I tried searching in the archives, but came up short.
> I hope some one could give me a pointer on the error below
> error as follows:
> Traceback (most recent call last):
> File "OMS_MULTI.py", line 1673, in<module>
> app=MainApp(0)
> File "C:\Python25\Lib\site-packages\wx-2.8-msw-unicode\wx\_core.py",
> line 7978
> , in __init__
> self._BootstrapApp()
> File "C:\Python25\Lib\site-packages\wx-2.8-msw-unicode\wx\_core.py",
> line 7552
> , in _BootstrapApp
> return _core_.PyApp__BootstrapApp(*args, **kwargs)
> File "OMS_MULTI.py", line 1665, in OnInit
> self.frame =MyFrame(None)
> File "OMS_MULTI.py", line 357, in __init__
> FloatingSize(wx.Size(300, 200)).CloseButton(True).MaximizeButton
> (True))
> File "C:\Python25\Lib\site-packages\wx-2.8-msw-unicode\wx\aui.py",
> line 752, i
> n AddPane
> return self._AddPane1(window, info)
> File "C:\Python25\Lib\site-packages\wx-2.8-msw-unicode\wx\aui.py",
> line 621, i
> n _AddPane1
> return _aui.AuiManager__AddPane1(*args, **kwargs)
> wx._core.PyAssertionError: C++ assertion "window" failed at ..\..\src
> \aui\framem
> anager.cpp(942) in wxAuiManager::AddPane(): NULL window ptrs are not
> allowed
You are probably passing None where a window object is expected. Look
around line 357 in OMS_MULTI.py
--
Robin Dunn
Software Craftsmanhttp://wxPython.org- Hide quoted text -
- Show quoted text -