wxPython GenericDirCtrl events

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Iain King

    #1

    wxPython GenericDirCtrl events

    I can't get these to work, and I can't work out what I'm doing wrong.
    I added the following lines to the GenericDirCtrl. py demo in the
    wxython demos folder:

    at the end TestPanel.__ini t__ I added:

    self.Bind(wx.EV T_TREE_SEL_CHAN GED, self.test, dir1)

    and also added a test def to the class:

    def test(self, evt):
    print "Hit"

    When I run it I never get a hit. How should I be doing this?

    Iain

    -----------
    source:
    -----------

    import wx

    #----------------------------------------------------------------------

    class TestPanel(wx.Pa nel):
    def __init__(self, parent, log):
    wx.Panel.__init __(self, parent, -1)
    self.log = log

    txt1 = wx.StaticText(s elf, -1, "style=0")
    dir1 = wx.GenericDirCt rl(self, -1, size=(200,225), style=0)

    txt2 = wx.StaticText(s elf, -1, "wx.DIRCTRL_DIR _ONLY")
    dir2 = wx.GenericDirCt rl(self, -1, size=(200,225),
    style=wx.DIRCTR L_DIR_ONLY)

    txt3 = wx.StaticText(s elf, -1, "wx.DIRCTRL_SHO W_FILTERS")
    dir3 = wx.GenericDirCt rl(self, -1, size=(200,225),
    style=wx.DIRCTR L_SHOW_FILTERS,
    filter="All files (*.*)|*.*|Pytho n
    files (*.py)|*.py")

    sz = wx.FlexGridSize r(cols=3, hgap=5, vgap=5)
    sz.Add((35, 35)) # some space above
    sz.Add((35, 35))
    sz.Add((35, 35))

    sz.Add(txt1)
    sz.Add(txt2)
    sz.Add(txt3)

    sz.Add(dir1, 0, wx.EXPAND)
    sz.Add(dir2, 0, wx.EXPAND)
    sz.Add(dir3, 0, wx.EXPAND)

    sz.Add((35,35)) # some space below

    sz.AddGrowableR ow(2)
    sz.AddGrowableC ol(0)
    sz.AddGrowableC ol(1)
    sz.AddGrowableC ol(2)

    self.SetSizer(s z)
    self.SetAutoLay out(True)

    self.Bind(wx.EV T_TREE_SEL_CHAN GED, self.test, dir1)

    def test(self, evt):
    print "Hit"


    #----------------------------------------------------------------------

    def runTest(frame, nb, log):
    win = TestPanel(nb, log)
    return win

    #----------------------------------------------------------------------


    overview = """\
    This control can be used to place a directory listing (with optional
    files)
    on an arbitrary window. The control contains a TreeCtrl window
    representing
    the directory hierarchy, and optionally, a Choice window containing a
    list
    of filters.

    The filters work in the same manner as in FileDialog.

    """


    if __name__ == '__main__':
    import sys,os
    import run
    run.main(['', os.path.basenam e(sys.argv[0])] + sys.argv[1:])

  • Franz Steinhaeusler

    #2
    Re: wxPython GenericDirCtrl events

    On 8 Mar 2006 04:25:38 -0800, "Iain King" <iainking@gmail .com> wrote:[color=blue]
    >
    >at the end TestPanel.__ini t__ I added:
    >
    >self.Bind(wx.E VT_TREE_SEL_CHA NGED, self.test, dir1)
    >{...][/color]

    Try this instead:

    t = dir1.GetTreeCtr l()
    t.Bind(wx.EVT_T REE_SEL_CHANGED , self.test)


    --
    Franz Steinhaeusler

    Comment

    • Iain King

      #3
      Re: wxPython GenericDirCtrl events


      Franz Steinhaeusler wrote:[color=blue]
      > On 8 Mar 2006 04:25:38 -0800, "Iain King" <iainking@gmail .com> wrote:[color=green]
      > >
      > >at the end TestPanel.__ini t__ I added:
      > >
      > >self.Bind(wx.E VT_TREE_SEL_CHA NGED, self.test, dir1)
      > >{...][/color]
      >
      > Try this instead:
      >
      > t = dir1.GetTreeCtr l()
      > t.Bind(wx.EVT_T REE_SEL_CHANGED , self.test)
      >
      >
      > --
      > Franz Steinhaeusler[/color]

      Perfect. Thanks!

      Iain

      Comment

      Working...