Thanks a lot Robin. I tried using self.log and instead of self.log.list. *Code is attached.* But this gives me a panel and listctrl in it. The extra blank space around the listctrl in window1 is something that I don't need.
Please help. Regards, Tarun Devnani On Jan 24, 2008 11:28 PM, Robin Dunn <[EMAIL PROTECTED]> wrote: > tarun wrote: > > Hello All, > > > > I'm trying to create a Frame with AuiManager. The code is attached. > > > > *Problem:* > > - I want 2 windows to be docked in the frame. One is a text control and > > other is a list control. > > - The text control gets docked, but on trying to dock the list control, > > all the tabs dis-appear. > > The tabs appear only when the list control window is kept floating. > > > > In the attached code the list control window is kept floating. This can > > be docked > > To see the issue with docking, comment line 33 and un-comment line 35 in > > the attached file and then try to execute, the issue would be clearly > > visible. On un-docking the window1, the tabs again appear.. > > > > *Please let me the solution to this ASAP* > > > The main problem is that you are putting the listctrl on a panel, but > you are telling AUI to manage the listctrl, not the panel. If I > understand correctly then your other problems stem from that as well. > Try passing self.log to AddPane, instead of self.log.list. > > > -- > Robin Dunn > Software Craftsman > http://wxPython.org <http://wxpython.org/> Java give you jitters? Relax > with wxPython! > >
import wx import wx.aui from wx.lib.mixins.listctrl import ListCtrlAutoWidthMixin class AutoWidthListCtrl(wx.ListCtrl, ListCtrlAutoWidthMixin): def __init__(self, parent): wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT) ListCtrlAutoWidthMixin.__init__(self) class Log(wx.Panel): def __init__(self, parent,id): wx.Panel.__init__(self, parent, id) list = AutoWidthListCtrl(self) list.InsertColumn(0, 'Tab1',width=60) list.InsertColumn(1, 'Tab2',width=60) list.InsertColumn(2, 'Tab3', width=60) list.InsertColumn(3, 'Tab4', width=60) list.InsertColumn(4, 'Tab5', width=60) list.InsertColumn(5, 'Tab6', width=60) self.list = list class Test(wx.Frame): def __init__(self, parent,id =-1, title='Test'): wx.Frame.__init__(self, parent, id, title, size = (400, 600)) def MakeAll(self): self._mgr = wx.aui.AuiManager(self) self.log = Log(self,-1) self.list = wx.TextCtrl(self, -1,style = wx.TE_MULTILINE|wx.TE_READONLY|wx.HSCROLL) self._mgr.AddPane(self.list, wx.aui.AuiPaneInfo().Bottom().Caption("Window2").MinSize((-1, 100)).FloatingSize(wx.Size(400, 100)).CloseButton(False).MaximizeButton(False)) # The line below creates a list control window is created that is floating #self._mgr.AddPane(self.log.list, wx.aui.AuiPaneInfo().Bottom().MinSize((-1, 100)).Caption("Window1").Float().FloatingSize(wx.Size(400, 100)).CloseButton(False).MaximizeButton(False)) # The line below if uncommented and the line above commented, a list control window is craeted that is docked #self._mgr.AddPane(self.log.list, wx.aui.AuiPaneInfo().Bottom().MinSize((-1, 100)).Caption("Window1").FloatingSize(wx.Size(400, 100)).CloseButton(False).MaximizeButton(False)) self._mgr.AddPane(self.log, wx.aui.AuiPaneInfo().Bottom().MinSize((-1, 100)).Caption("Window1").FloatingSize(wx.Size(400, 100)).CloseButton(False).MaximizeButton(False)) self._mgr.Update() app_main = wx.PySimpleApp() frame = Test(None) frame.MakeAll() frame.Show() app_main.MainLoop()
-- http://mail.python.org/mailman/listinfo/python-list