summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Kastner <cz172638@gmail.com>2019-02-27 21:54:17 +0100
committerJiri Kastner <cz172638@gmail.com>2019-02-27 21:54:17 +0100
commit822c9f6a20e14b643bf0bef3e329208c6cb3a5ac (patch)
tree276c200fd00f400dd1e4e960f8548dbefff4dd7a
parentdbe6d55b08aa06985e543058acd0076c4c63f744 (diff)
downloadtuna-osc-py3-gi.tar.gz
gui: partial migration to gtk3 and gobjectosc-py3-gi
Signed-off-by: Jiri Kastner <cz172638@gmail.com>
-rwxr-xr-xtuna/gui/irqview.py18
-rwxr-xr-xtuna/gui/procview.py27
-rw-r--r--tuna/gui/profileview.py6
-rwxr-xr-xtuna/tuna_gui.py12
4 files changed, 34 insertions, 29 deletions
diff --git a/tuna/gui/irqview.py b/tuna/gui/irqview.py
index 49edba2..89e5416 100755
--- a/tuna/gui/irqview.py
+++ b/tuna/gui/irqview.py
@@ -13,18 +13,20 @@ from tuna import tuna, gui
class irq_druid:
- def __init__(self, irqs, ps, irq, wtree):
+ def __init__(self, irqs, ps, irq, gladefile):
self.irqs = irqs
self.ps = ps
self.irq = irq
- self.wtree = wtree
+ self.tuna_glade = gladefile
+ self.wtree = gtk.Builder()
+ self.wtree.add_objects_from_file(self.tuna_glade, ("set_irq_attributes","adjustment1"))
self.dialog = self.wtree.get_object("set_irq_attributes")
pixbuf = self.dialog.render_icon(gtk.STOCK_PREFERENCES,
gtk.IconSize.SMALL_TOOLBAR)
self.dialog.set_icon(pixbuf)
- # event_handlers = { "on_irq_affinity_text_changed" : self.on_irq_affinity_text_changed,
- # "on_sched_policy_combo_changed": self.on_sched_policy_combo_changed }
- # self.window.connect_signals(event_handlers)
+ event_handlers = { "on_irq_affinity_text_changed" : self.on_irq_affinity_text_changed,
+ "on_irq_policy_combobox_changed": self.on_sched_policy_combo_changed }
+ self.wtree.connect_signals(event_handlers)
self.sched_pri = self.wtree.get_object("irq_pri_spinbutton")
self.sched_policy = self.wtree.get_object("irq_policy_combobox")
@@ -112,7 +114,7 @@ class irq_druid:
self.irqs.nr_cpus))
changed = True
- self.dialog.hide()
+ self.dialog.destroy()
return changed
class irqview:
@@ -134,7 +136,7 @@ class irqview:
self.irqs = irqs
self.ps = ps
self.treeview = treeview
- self.gladefile = gladefile
+ self.tuna_glade = gladefile
self.has_threaded_irqs = tuna.has_threaded_irqs(ps)
if not self.has_threaded_irqs:
self.nr_columns = 4
@@ -287,7 +289,7 @@ class irqview:
if irq not in self.irqs:
return
- dialog = irq_druid(self.irqs, self.ps, irq, self.gladefile)
+ dialog = irq_druid(self.irqs, self.ps, irq, self.tuna_glade)
if dialog.run():
self.refresh()
diff --git a/tuna/gui/procview.py b/tuna/gui/procview.py
index a77253e..8a5555f 100755
--- a/tuna/gui/procview.py
+++ b/tuna/gui/procview.py
@@ -18,23 +18,25 @@ class process_druid:
( PROCESS_COL_PID, PROCESS_COL_NAME ) = list(range(2))
- def __init__(self, ps, pid, pid_info, nr_cpus, wtree):
+ def __init__(self, ps, pid, pid_info, nr_cpus, gladefile):
self.ps = ps
self.pid = pid
self.pid_info = pid_info
self.nr_cpus = nr_cpus
- self.wtree = wtree
+ self.tuna_glade = gladefile
+ self.wtree = gtk.Builder()
+ self.wtree.add_objects_from_file(self.tuna_glade, ("set_process_attributes","adjustment1"))
self.dialog = self.wtree.get_object("set_process_attributes")
pixbuf = self.dialog.render_icon(gtk.STOCK_PREFERENCES,
gtk.IconSize.SMALL_TOOLBAR)
self.dialog.set_icon(pixbuf)
- # event_handlers = { "on_cmdline_regex_changed" : self.on_cmdline_regex_changed,
- #"on_affinity_text_changed" : self.on_affinity_text_changed,
- #"on_sched_policy_combo_changed" : self.on_sched_policy_combo_changed,
- #"on_command_regex_clicked" : self.on_command_regex_clicked,
- #"on_all_these_threads_clicked" : self.on_all_these_threads_clicked,
- #"on_just_this_thread_clicked" : self.on_just_this_thread_clicked }
- # self.window.connect_signals(event_handlers)
+ event_handlers = { "on_cmdline_regex_changed" : self.on_cmdline_regex_changed,
+ "on_affinity_text_changed" : self.on_affinity_text_changed,
+ "on_sched_policy_combo_changed" : self.on_sched_policy_combo_changed,
+ "on_command_regex_clicked" : self.on_command_regex_clicked,
+ "on_all_these_threads_clicked" : self.on_all_these_threads_clicked,
+ "on_just_this_thread_clicked" : self.on_just_this_thread_clicked }
+ self.wtree.connect_signals(event_handlers)
self.sched_pri = self.wtree.get_object("sched_pri_spin")
self.sched_policy = self.wtree.get_object("sched_policy_combo")
@@ -168,6 +170,7 @@ class process_druid:
def run(self):
changed = False
+ # import pdb; pdb.set_trace()
if self.dialog.run() == gtk.ResponseType.OK:
new_policy = int(self.sched_policy.get_active())
new_prio = int(self.sched_pri.get_value())
@@ -195,7 +198,7 @@ class process_druid:
new_prio,
new_affinity)
- self.dialog.hide()
+ self.dialog.destroy()
return changed
class procview:
@@ -217,7 +220,7 @@ class procview:
self.ps = ps
self.treeview = treeview
self.nr_cpus = procfs.cpuinfo().nr_cpus
- self.gladefile = gladefile
+ self.tuna_glade = gladefile
self.evlist = None
try:
@@ -526,7 +529,7 @@ class procview:
pid_info = self.ps[ppid].threads[pid]
dialog = process_druid(self.ps, pid, pid_info, self.nr_cpus,
- self.gladefile)
+ self.tuna_glade)
if dialog.run():
self.refresh()
diff --git a/tuna/gui/profileview.py b/tuna/gui/profileview.py
index 6e020de..2feed6c 100644
--- a/tuna/gui/profileview.py
+++ b/tuna/gui/profileview.py
@@ -107,6 +107,7 @@ class profileview:
except IOError as e:
pass
currentFile = self.get_current_tree_selection()
+ print(currentFile)
self.config.fileToCache(currentFile)
self.updateProfileContent()
self.profileDescription.set_text(self.config.description)
@@ -114,7 +115,7 @@ class profileview:
def on_SaveButton_clicked(self, widget):
try:
self.profileContentBuffer = self.profileContent.get_buffer()
- self.config.cache = self.profileContentBuffer.get_text(self, self.profileContentBuffer.get_start_iter(),self.profileContentBuffer.get_end_iter())
+ self.config.cache = self.profileContentBuffer.get_text(self.profileContentBuffer.get_start_iter(),self.profileContentBuffer.get_end_iter(), False)
self.config.cacheToFile(self.config.cacheFileName)
except IOError as e:
self.show_mbox_warning(_("Cannot write to config file: %s") % (self.config.cacheFileName))
@@ -221,7 +222,8 @@ class profileview:
def get_current_tree_selection(self):
selection = self.configFileTree.get_selection()
tree_model, tree_iter = selection.get_selected()
- return tree_model.get_value(tree_iter, 0)
+ if tree_iter is not None:
+ return tree_model.get_value(tree_iter, 0)
def set_current_tree_selection(self, string):
cur = self.configFileTree.get_model()
diff --git a/tuna/tuna_gui.py b/tuna/tuna_gui.py
index ce2c0ba..356ad9f 100755
--- a/tuna/tuna_gui.py
+++ b/tuna/tuna_gui.py
@@ -34,17 +34,17 @@ class main_gui:
if os.access(tuna_glade, os.F_OK):
break
self.wtree = gtk.Builder()
- self.wtree.add_from_file(tuna_glade)
+ self.wtree.add_objects_from_file(tuna_glade, ("mainbig_window","adjustment2"))
self.ps = procfs.pidstats()
self.irqs = procfs.interrupts()
self.window = self.wtree.get_object("mainbig_window")
self.procview = procview(self.wtree.get_object("processlist"),
self.ps, show_kthreads, show_uthreads,
- cpus_filtered, self.wtree)
+ cpus_filtered, tuna_glade)
self.irqview = irqview(self.wtree.get_object("irqlist"),
self.irqs, self.ps, cpus_filtered,
- self.wtree)
+ tuna_glade)
self.cpuview = cpuview(self.wtree.get_object("vpaned1"),
self.wtree.get_object("hpaned2"),
self.wtree.get_object("cpuview"),
@@ -65,7 +65,8 @@ class main_gui:
self.profileview.setWtree(self.wtree)
self.profileview.init_default_file()
- event_handlers = { "on_mainbig_window_delete_event" : self.on_mainbig_window_destroy_event,
+ event_handlers = { "on_mainbig_window_destroy_event" : gtk.main_quit,
+ "on_mainbig_window_delete_event" : gtk.main_quit,
"on_processlist_button_press_event" : self.procview.on_processlist_button_press_event,
"on_irqlist_button_press_event" : self.irqview.on_irqlist_button_press_event,
"on_loadProfileButton_clicked" : self.profileview.on_loadProfileButton_clicked,
@@ -111,9 +112,6 @@ class main_gui:
menu.popup(None, None, None, event_button, event_time)
- def on_mainbig_window_destroy_event(self, obj, event = None):
- gtk.main_quit()
-
def show(self):
self.cpuview.refresh()
self.irqview.show()