diff options
author | Jiri Kastner <cz172638@gmail.com> | 2019-02-27 21:54:17 +0100 |
---|---|---|
committer | Jiri Kastner <cz172638@gmail.com> | 2019-02-27 21:54:17 +0100 |
commit | 822c9f6a20e14b643bf0bef3e329208c6cb3a5ac (patch) | |
tree | 276c200fd00f400dd1e4e960f8548dbefff4dd7a | |
parent | dbe6d55b08aa06985e543058acd0076c4c63f744 (diff) | |
download | tuna-osc-py3-gi.tar.gz |
gui: partial migration to gtk3 and gobjectosc-py3-gi
Signed-off-by: Jiri Kastner <cz172638@gmail.com>
-rwxr-xr-x | tuna/gui/irqview.py | 18 | ||||
-rwxr-xr-x | tuna/gui/procview.py | 27 | ||||
-rw-r--r-- | tuna/gui/profileview.py | 6 | ||||
-rwxr-xr-x | tuna/tuna_gui.py | 12 |
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() |