Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f9dfef1 authored by Adrian Hunter's avatar Adrian Hunter Committed by Arnaldo Carvalho de Melo
Browse files

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.

Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/20181001062853.28285-8-adrian.hunter@intel.com


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent b2556c46
Loading
Loading
Loading
Loading
+21 −5
Original line number Diff line number Diff line
@@ -264,17 +264,19 @@ class TreeModel(QAbstractItemModel):

class MainWindow(QMainWindow):

	def __init__(self, db, dbname, parent=None):
	def __init__(self, glb, parent=None):
		super(MainWindow, self).__init__(parent)

		self.glb = glb

		self.setObjectName("MainWindow")
		self.setWindowTitle("Call Graph: " + dbname)
		self.setWindowTitle("Call Graph: " + glb.dbname)
		self.move(100, 100)
		self.resize(800, 600)
		self.setWindowIcon(self.style().standardIcon(QStyle.SP_ComputerIcon))
		self.setMinimumSize(200, 100)

		self.model = TreeModel(db)
		self.model = TreeModel(glb.db)

		self.view = QTreeView()
		self.view.setModel(self.model)
@@ -284,6 +286,17 @@ class MainWindow(QMainWindow):

		self.setCentralWidget(self.view)

# Global data

class Glb():

	def __init__(self, dbref, db, dbname):
		self.dbref = dbref
		self.db = db
		self.dbname = dbname
		self.app = None
		self.mainwindow = None

# Database reference

class DBRef():
@@ -340,9 +353,12 @@ def Main():

	dbref = DBRef(is_sqlite3, dbname)
	db, dbname = dbref.Open("main")
	glb = Glb(dbref, db, dbname)
	app = QApplication(sys.argv)
	window = MainWindow(db, dbname)
	window.show()
	glb.app = app
	mainwindow = MainWindow(glb)
	glb.mainwindow = mainwindow
	mainwindow.show()
	err = app.exec_()
	db.close()
	sys.exit(err)