X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bbf7159c8211a398e573122c66b93722f5125c60..2fb0cabbf9e924c25d51b13bf7aa1ba8aa24e75e:/wxPython/samples/ide/activegrid/tool/OutlineService.py diff --git a/wxPython/samples/ide/activegrid/tool/OutlineService.py b/wxPython/samples/ide/activegrid/tool/OutlineService.py index 858fbade75..75fc67e0d2 100644 --- a/wxPython/samples/ide/activegrid/tool/OutlineService.py +++ b/wxPython/samples/ide/activegrid/tool/OutlineService.py @@ -84,6 +84,7 @@ class OutlineView(Service.ServiceView): item = self.GetControl().GetSelection() if item: self.GetControl().CallDoSelectCallback(item) + event.Skip() def ResumeActionOnSelect(self): @@ -156,11 +157,8 @@ class OutlineView(Service.ServiceView): treeCtrl.Expand(child) (child, cookie) = treeCtrl.GetNextChild(parentItem, cookie) - # wxBug: This causes a crash, tried using ScrollTo which crashed as well. Then tried calling it with wx.CallAfter and that crashed as well, with both EnsureVisible and ScrollTo - # self.GetControl().EnsureVisible(self.GetControl().GetRootItem()) - # So doing the following massive hack which forces the treectrl to scroll up to the top item - treeCtrl.Collapse(parentItem) - treeCtrl.Expand(parentItem) + if parentItem: + treeCtrl.EnsureVisible(parentItem) class OutlineTreeCtrl(wx.TreeCtrl): @@ -323,7 +321,7 @@ class OutlineService(Service.Service): def __init__(self, serviceName, embeddedWindowLocation = wx.lib.pydocview.EMBEDDED_WINDOW_BOTTOM): Service.Service.__init__(self, serviceName, embeddedWindowLocation) - self._validTemplates = [] + self._validViewTypes = [] def _CreateView(self): @@ -495,9 +493,8 @@ class OutlineService(Service.Service): if self.GetView(): currView = wx.GetApp().GetDocumentManager().GetCurrentView() if currView: - for template in self._validTemplates: - type = template.GetViewType() - if isinstance(currView, type): + for viewType in self._validViewTypes: + if isinstance(currView, viewType): self.LoadOutline(currView) foundRegisteredView = True break @@ -508,14 +505,14 @@ class OutlineService(Service.Service): self._timer.Start(1000) # 1 second interval - def AddTemplateForBackgroundHandler(self, template): - self._validTemplates.append(template) + def AddViewTypeForBackgroundHandler(self, viewType): + self._validViewTypes.append(viewType) - def GetTemplatesForBackgroundHandler(self): - return self._validTemplates + def GetViewTypesForBackgroundHandler(self): + return self._validViewTypes - def RemoveTemplateForBackgroundHandler(self, template): - self._validTemplates.remove(template) + def RemoveViewTypeForBackgroundHandler(self, viewType): + self._validViewTypes.remove(viewType)