From 45271e869f21405e63f77343f94f710b6f118efb Mon Sep 17 00:00:00 2001 From: Marko Mecina <marko.mecina@univie.ac.at> Date: Tue, 22 Mar 2022 12:19:06 +0100 Subject: [PATCH] group available TM packets by service type for better overview --- Ccs/plotter.py | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/Ccs/plotter.py b/Ccs/plotter.py index 8e54049..c4f5ef8 100644 --- a/Ccs/plotter.py +++ b/Ccs/plotter.py @@ -43,8 +43,8 @@ gi.require_version('Gtk', '3.0') gi.require_version('Notify', '0.7') from gi.repository import Gtk, Gdk, GdkPixbuf, GLib, Notify # NOQA -from event_storm_squasher import delayed -import logging.handlers +# from event_storm_squasher import delayed +# import logging.handlers ActivePoolInfo = NamedTuple( 'ActivePoolInfo', [ @@ -342,22 +342,30 @@ class PlotViewer(Gtk.Window): self.store = parameter_model dbcon = self.session_factory_idb - #dbres = dbcon.execute('SELECT pid_descr,pid_spid from pid where pid_type=3') - dbres = dbcon.execute('SELECT pid_descr,pid_spid from pid order by pid_type,pid_pi1_val') + dbres = dbcon.execute('SELECT pid_descr,pid_spid,pid_type from pid order by pid_type,pid_stype,pid_pi1_val') hks = dbres.fetchall() + + topleveliters = {} for hk in hks: - it = parameter_model.append(None, [hk[0]]) - dbres = dbcon.execute( - 'SELECT pcf.pcf_descr from pcf left join plf on pcf.pcf_name=plf.plf_name left join pid on \ - plf.plf_spid=pid.pid_spid where pid.pid_spid={} ORDER BY pcf.pcf_descr'.format(hk[1])) + + if not hk[2] in topleveliters: + serv = parameter_model.append(None, ['Service ' + str(hk[2])]) + topleveliters[hk[2]] = serv + + it = parameter_model.append(topleveliters[hk[2]], [hk[0]]) + + dbres = dbcon.execute('SELECT pcf.pcf_descr from pcf left join plf on pcf.pcf_name=plf.plf_name left join pid on \ + plf.plf_spid=pid.pid_spid where pid.pid_spid={} ORDER BY pcf.pcf_descr'.format(hk[1])) params = dbres.fetchall() for par in params: parameter_model.append(it, [par[0]]) + dbcon.close() # add user defined PACKETS + topit = parameter_model.append(None, ['UDEF']) for hk in self.user_tm_decoders: - it = parameter_model.append(None, ['UDEF|{}'.format(self.user_tm_decoders[hk][0])]) + it = parameter_model.append(topit, ['UDEF|{}'.format(self.user_tm_decoders[hk][0])]) for par in self.user_tm_decoders[hk][1]: parameter_model.append(it, [par[1]]) @@ -368,7 +376,6 @@ class PlotViewer(Gtk.Window): return parameter_model - def pool_changed(self, combobox, pool=False): if pool: model = self.pool_selector.get_model() @@ -458,7 +465,6 @@ class PlotViewer(Gtk.Window): if not x: # Add a pool if it is not already in the model (liststore) model.append([pool_info[0], pool_info[1], pool_info[2], pool_info[3]]) - elif all_pools and all_pools[2]: pool_info = all_pools x = False # If the pool is already in the plotter @@ -478,11 +484,8 @@ class PlotViewer(Gtk.Window): #if len(model) == 2: # self.pool_changed(False, pool_info[2]) - #print(all_pools) - #print(self.pool_selector.get_entry_text_column()) return True - def add_user_parameter(self, widget, treeview): parameter_model = treeview.get_model() @@ -502,14 +505,13 @@ class PlotViewer(Gtk.Window): parameter_model = treeview.get_model() try: - parent = model[parpath].parent[0] # Check if selection is an object or the parent tab is selected + parent = model[parpath].parent[0] # Check if selection is an object or the parent tab is selected parname = model[parpath][0] param_values = cfl.remove_user_parameter(parname) except: param_values = cfl.remove_user_parameter(parentwin=self) - if param_values: parameter_model = self.treeview.get_model() self.user_parameters.pop(param_values) @@ -524,7 +526,7 @@ class PlotViewer(Gtk.Window): selection = treeview.get_selection() model, parpath = selection.get_selected_rows() try: - parent = model[parpath].parent[0] # Check if selection is an object or the parent tab is selected + parent = model[parpath].parent[0] # Check if selection is an object or the parent tab is selected parname = model[parpath][0] param_values = cfl.edit_user_parameter(self, parname) if param_values: @@ -540,7 +542,6 @@ class PlotViewer(Gtk.Window): return - def create_univie_box(self): """ Creates the Univie Button which can be found in every application, Used to Start all parts of the CCS and @@ -1384,6 +1385,8 @@ class UserParameterDialog(Gtk.MessageDialog): self.bitlen.set_sensitive(False) self.offbi.set_sensitive(False) ''' + + class DataWindow(Gtk.Window): def __init__(self, parent=None): Gtk.Window.__init__(self) @@ -1396,6 +1399,7 @@ class DataWindow(Gtk.Window): self.textview = Gtk.TextView(cursor_visible=False, editable=False) sv.add(self.textview) + class SelectPoolDialog(Gtk.Dialog): def __init__(self, logger, pool_list, parent=None): -- GitLab