[wxPython-users] wx.TreeCtrl.GetSelections() not working as expected

Edgar Poth epmlist at googlemail.com
Fri Jun 1 08:11:47 PDT 2007


Tanks for the reply.

OK have upgrade to wxPython 2.8.4.0 but have still the same problem !

Edgar

2007/6/1, Frank Tobia <frank.tobia at gmail.com>:
>
> With your modifications to the demo code, I'm getting the correct
> behavior.
>
> Windows XP, Python 2.5, wxPython 2.8.3.0
>
> -Frank
>
> On 6/1/07, Edgar Poth <epmlist at googlemail.com> wrote:
> >
> > Hi,
> >
> > The number of tree items returned by GetSelections() is not correct in
> > all
> > situations. When selecting multiple items (holding shift key down)
> >  then GetSelections() is not returning all selected items. If you select
> > n items,
> > the returned list from GetSelections() is n-1 items long. The missing
> > item is not
> > the first or last item in the tree. It is item n-1 which is missing !!
> > Example: If I select "item1, item2, item3, item4" then GetSelections()
> > will
> >          return "item1, item2, item4"
> >
> > When deselecting tree items, everything is OK.
> >
> > Sorry if the above is a bit unclear..
> >
> > The reproduce the problem you can modify the TreeCtrl-DEMO by:
> >
> >  - Adding the wx.TR_MULTIPLE style to the TreeCtrl
> >
> >    self.tree =3D MyTreeCtrl(self, tID, wx.DefaultPosition, wx.DefaultSi=
ze,
> >                                wx.TR_HAS_BUTTONS
> >                                | wx.TR_EDIT_LABELS
> >                                | wx.TR_MULTIPLE
> >                                #| wx.TR_HIDE_ROOT
> >                                , self.log)
> >
> >  - Modify the OnSelChange method
> >     def OnSelChanged(self, event):
> >         self.item =3D event.GetItem()
> >         if self.item:
> >             self.log.WriteText("OnSelChanged: %s\n" %
> > self.tree.GetItemText(self.item))
> >             if wx.Platform =3D=3D '__WXMSW__':
> >                 self.log.WriteText("BoundingRect: %s\n" %
> >                                    self.tree.GetBoundingRect(self.item,
> > True))
> >             items =3D self.tree.GetSelections()
> >             self.log.WriteText (str(map(self.tree.GetItemText, items)))
> >         event.Skip()
> >
> >  - Run the DEMO and compare the seleted tree items with the items
> > returned by self.tree.GetSelections()
> >
> > System: Windows XP, Python 2.5 , wxPython 2.8.1.1
> >
> > Can somebody confirm this problem ?
> >
> > Thanks.
> >
> > Edgar
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.wxwidgets.org/pipermail/wxpython-users/attachments/200706=
01/3a4f427d/attachment.htm


More information about the wxpython-users mailing list