From 17f933e19e31eeefd1917b94f43975ba2264bd67 Mon Sep 17 00:00:00 2001
From: Marko Mecina <marko.mecina@univie.ac.at>
Date: Tue, 21 Nov 2023 16:25:10 +0100
Subject: [PATCH] add parameter monitor button

---
 Ccs/pixmap/monitor.png | Bin 0 -> 1549 bytes
 Ccs/poolview_sql.py    |  22 +++++++++++++++++++---
 2 files changed, 19 insertions(+), 3 deletions(-)
 create mode 100644 Ccs/pixmap/monitor.png

diff --git a/Ccs/pixmap/monitor.png b/Ccs/pixmap/monitor.png
new file mode 100644
index 0000000000000000000000000000000000000000..328607b64e11f2409c37a2e5f092338937c251dd
GIT binary patch
literal 1549
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
N!PC{xWt~$(699sA!(#vd

literal 0
HcmV?d00001

diff --git a/Ccs/poolview_sql.py b/Ccs/poolview_sql.py
index 641c76f..cd10900 100644
--- a/Ccs/poolview_sql.py
+++ b/Ccs/poolview_sql.py
@@ -1581,9 +1581,16 @@ class TMPoolView(Gtk.Window):
         self.pool_selector.connect('changed', self.select_pool)
 
         icon_path = os.path.join(self.cfg.get('paths', 'ccs'), 'pixmap/func.png')
-        plot_butt = Gtk.Button(image=Gtk.Image.new_from_file(icon_path), tooltip_text='Parameter Plotter')
+        pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(icon_path, 32, 32)
+        plot_butt = Gtk.Button(image=Gtk.Image.new_from_pixbuf(pixbuf), tooltip_text='Parameter Plotter')
         plot_butt.connect('button-press-event', self.show_context_menu, self.context_menu())
         plot_butt.connect('clicked', self.plot_parameters)
+
+        icon_path = os.path.join(self.cfg.get('paths', 'ccs'), 'pixmap/monitor.png')
+        pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(icon_path, 32, 32)
+        mon_butt = Gtk.Button(image=Gtk.Image.new_from_pixbuf(pixbuf), tooltip_text='Parameter Monitor')
+        mon_butt.connect('clicked', self.monitor_parameters)
+
         dump_butt = Gtk.Button.new_from_icon_name('gtk-save', Gtk.IconSize.LARGE_TOOLBAR)
         dump_butt.set_tooltip_text('Save pool')
         dump_butt.connect('clicked', self.save_pool)
@@ -1615,14 +1622,15 @@ class TMPoolView(Gtk.Window):
 
         self.pool_managebar.pack_start(self.pool_selector, 1, 1, 0)
         self.pool_managebar.pack_start(plot_butt, 0, 0, 0)
+        self.pool_managebar.pack_start(mon_butt, 0, 0, 0)
         self.pool_managebar.pack_end(self.univie_box, 0, 0, 0)
         self.pool_managebar.pack_end(clear_butt, 0, 0, 0)
         self.pool_managebar.pack_end(bigd, 0, 0, 0)
         self.pool_managebar.pack_end(self.stop_butt, 0, 0, 0)
         self.pool_managebar.pack_end(self.rec_butt, 0, 0, 0)
+        self.pool_managebar.pack_end(extract_butt, 0, 0, 0)
         self.pool_managebar.pack_end(dump_butt, 0, 0, 0)
         self.pool_managebar.pack_end(load_butt, 0, 0, 0)
-        self.pool_managebar.pack_end(extract_butt, 0, 0, 0)
 
     def create_filterbar(self):
         filterbar = Gtk.HBox()
@@ -3059,7 +3067,15 @@ class TMPoolView(Gtk.Window):
             self.logger.warning('No pool selected')
             return
 
-        cfl.start_plotter(pool_name=self.active_pool_info.filename)
+        cfl.start_plotter(self.active_pool_info.filename)
+
+    def monitor_parameters(self, widget=None, **kwargs):
+
+        if not self.active_pool_info.filename:
+            self.logger.warning('No pool selected')
+            return
+
+        cfl.start_monitor(self.active_pool_info.filename)
 
     def start_recording(self, widget=None):
         if cfl.is_open('poolmanager', cfl.communication['poolmanager']):
-- 
GitLab