History

perf scripts python: call-graph-from-sql.py: Add a class for global data

Keep global data in a single object that is easy to pass around as needed, without polluting the global namespace.

Adrian Hunter committed 8 years ago

Commit 5f9dfef1 parent b2556c41 file · +21 −5Browse files

Showing the changes to tools/perf/scripts/python (1 of 1 file). Show all

Unified · Split

tools/perf/scripts/python/call-graph-from-sql.py+21−5
@@ -264,17 +264,19 @@ class TreeModel(QAbstractItemModel): · 263 unmodified lines
264 264
265class MainWindow(QMainWindow):265class MainWindow(QMainWindow):
266 266
267 def __init__(self, db, dbname, parent=None):267 def __init__(self, glb, parent=None):
268 super(MainWindow, self).__init__(parent)268 super(MainWindow, self).__init__(parent)
269 269
270 self.glb = glb
271
270 self.setObjectName("MainWindow")272 self.setObjectName("MainWindow")
271 self.setWindowTitle("Call Graph: " + dbname)273 self.setWindowTitle("Call Graph: " + glb.dbname)
272 self.move(100, 100)274 self.move(100, 100)
273 self.resize(800, 600)275 self.resize(800, 600)
274 self.setWindowIcon(self.style().standardIcon(QStyle.SP_ComputerIcon))276 self.setWindowIcon(self.style().standardIcon(QStyle.SP_ComputerIcon))
275 self.setMinimumSize(200, 100)277 self.setMinimumSize(200, 100)
276 278
277 self.model = TreeModel(db)279 self.model = TreeModel(glb.db)
278 280
279 self.view = QTreeView()281 self.view = QTreeView()
280 self.view.setModel(self.model)282 self.view.setModel(self.model)
@@ -284,6 +286,17 @@ class MainWindow(QMainWindow): · 3 unmodified lines
284 286
285 self.setCentralWidget(self.view)287 self.setCentralWidget(self.view)
286 288
289# Global data
290
291class Glb():
292
293 def __init__(self, dbref, db, dbname):
294 self.dbref = dbref
295 self.db = db
296 self.dbname = dbname
297 self.app = None
298 self.mainwindow = None
299
287# Database reference300# Database reference
288 301
289class DBRef():302class DBRef():
@@ -340,9 +353,12 @@ def Main(): · 50 unmodified lines
340 353
341 dbref = DBRef(is_sqlite3, dbname)354 dbref = DBRef(is_sqlite3, dbname)
342 db, dbname = dbref.Open("main")355 db, dbname = dbref.Open("main")
356 glb = Glb(dbref, db, dbname)
343 app = QApplication(sys.argv)357 app = QApplication(sys.argv)
344 window = MainWindow(db, dbname)358 glb.app = app
345 window.show()359 mainwindow = MainWindow(glb)
360 glb.mainwindow = mainwindow
361 mainwindow.show()
346 err = app.exec_()362 err = app.exec_()
347 db.close()363 db.close()
348 sys.exit(err)364 sys.exit(err)