perf scripts python: exported-sql-viewer.py: Improve TreeModel abstraction

Instead of passing the tree root, get it from a method that can be
implemented in any derived class.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: https://lkml.kernel.org/n/tip-ovcv28bg4mt9swk36ypdyz14@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Adrian Hunter 2019-02-28 15:00:29 +02:00 committed by Arnaldo Carvalho de Melo
parent a731cc4c99
commit a448ba232a
1 changed files with 11 additions and 6 deletions

View File

@ -167,9 +167,10 @@ class Thread(QThread):
class TreeModel(QAbstractItemModel):
def __init__(self, root, parent=None):
def __init__(self, glb, parent=None):
super(TreeModel, self).__init__(parent)
self.root = root
self.glb = glb
self.root = self.GetRoot()
self.last_row_read = 0
def Item(self, parent):
@ -562,8 +563,10 @@ class CallGraphRootItem(CallGraphLevelItemBase):
class CallGraphModel(TreeModel):
def __init__(self, glb, parent=None):
super(CallGraphModel, self).__init__(CallGraphRootItem(glb), parent)
self.glb = glb
super(CallGraphModel, self).__init__(glb, parent)
def GetRoot(self):
return CallGraphRootItem(self.glb)
def columnCount(self, parent=None):
return 7
@ -1339,8 +1342,7 @@ class BranchModel(TreeModel):
progress = Signal(object)
def __init__(self, glb, event_id, where_clause, parent=None):
super(BranchModel, self).__init__(BranchRootItem(), parent)
self.glb = glb
super(BranchModel, self).__init__(glb, parent)
self.event_id = event_id
self.more = True
self.populated = 0
@ -1364,6 +1366,9 @@ class BranchModel(TreeModel):
self.fetcher.done.connect(self.Update)
self.fetcher.Fetch(glb_chunk_sz)
def GetRoot(self):
return BranchRootItem()
def columnCount(self, parent=None):
return 8