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

Reply via email to