157 lines
6.3 KiB
Diff
157 lines
6.3 KiB
Diff
|
From 4511a331b8ea986b0026277e4753538b749c0a29 Mon Sep 17 00:00:00 2001
|
||
|
From: Jiri Kastner <jkastner@redhat.com>
|
||
|
Date: Mon, 7 Jan 2019 21:57:56 +0100
|
||
|
Subject: [PATCH] oscilloscope: move from pygtk2 to gtk3 gobject
|
||
|
|
||
|
oscilloscope migration from pygtk2 to gtk3 + python
|
||
|
gobject introspection
|
||
|
|
||
|
Signed-off-by: Jiri Kastner <jkastner@redhat.com>
|
||
|
---
|
||
|
oscilloscope-cmd.py | 5 ++++-
|
||
|
tuna/oscilloscope.py | 47 ++++++++++++++++++++++++--------------------
|
||
|
2 files changed, 30 insertions(+), 22 deletions(-)
|
||
|
|
||
|
diff --git a/oscilloscope-cmd.py b/oscilloscope-cmd.py
|
||
|
index 753b879..b9c24b4 100755
|
||
|
--- a/oscilloscope-cmd.py
|
||
|
+++ b/oscilloscope-cmd.py
|
||
|
@@ -20,7 +20,10 @@
|
||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||
|
# USA
|
||
|
|
||
|
-import getopt, sys, gtk
|
||
|
+import getopt, sys
|
||
|
+import gi
|
||
|
+gi.require_version('Gtk', '3.0')
|
||
|
+from gi.repository import Gtk as gtk
|
||
|
from tuna import oscilloscope
|
||
|
|
||
|
def usage():
|
||
|
diff --git a/tuna/oscilloscope.py b/tuna/oscilloscope.py
|
||
|
index b26f903..af54d83 100755
|
||
|
--- a/tuna/oscilloscope.py
|
||
|
+++ b/tuna/oscilloscope.py
|
||
|
@@ -23,16 +23,21 @@
|
||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||
|
# USA
|
||
|
|
||
|
-import gobject, gtk, os, sys
|
||
|
-from matplotlib.backends.backend_gtkagg import \
|
||
|
- FigureCanvasGTKAgg as figure_canvas
|
||
|
+import os, sys, gi
|
||
|
+gi.require_version('Gtk', '3.0')
|
||
|
+from gi.repository import Gtk as gtk
|
||
|
+from gi.repository import Gdk as gdk
|
||
|
+from gi.repository import GObject as gobject
|
||
|
+
|
||
|
+from matplotlib.backends.backend_gtk3agg import \
|
||
|
+ FigureCanvasGTK3Agg as figure_canvas
|
||
|
import matplotlib.figure, matplotlib.ticker, numpy
|
||
|
|
||
|
class histogram_frame(gtk.Frame):
|
||
|
def __init__(self, title = "Statistics", width = 780, height = 100,
|
||
|
max_value = 500, nr_entries = 10,
|
||
|
facecolor = "white"):
|
||
|
- gtk.Frame.__init__(self, title)
|
||
|
+ gtk.Frame.__init__(self)
|
||
|
|
||
|
self.fraction = int(max_value / nr_entries)
|
||
|
if self.fraction == 0:
|
||
|
@@ -69,7 +74,7 @@ class histogram_frame(gtk.Frame):
|
||
|
label.set_alignment(0, 1)
|
||
|
table.attach(self.buckets_counter[bucket], 2, 3, bucket, bucket + 1, 0, 0, 0, 0)
|
||
|
|
||
|
- self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(facecolor))
|
||
|
+ self.modify_bg(gtk.StateFlags.NORMAL, gdk.color_parse(facecolor))
|
||
|
|
||
|
def add_sample(self, sample):
|
||
|
if sample > self.max_value:
|
||
|
@@ -97,7 +102,7 @@ class oscilloscope_frame(gtk.Frame):
|
||
|
bg_color = "darkgreen", facecolor = "white",
|
||
|
ylabel = "Latency", picker = None):
|
||
|
|
||
|
- gtk.Frame.__init__(self, title)
|
||
|
+ gtk.Frame.__init__(self)
|
||
|
|
||
|
self.font = { 'fontname' : 'Liberation Sans',
|
||
|
'color' : 'b',
|
||
|
@@ -113,7 +118,7 @@ class oscilloscope_frame(gtk.Frame):
|
||
|
facecolor = facecolor)
|
||
|
ax = figure.add_subplot(111)
|
||
|
self.ax = ax
|
||
|
- ax.set_axis_bgcolor(bg_color)
|
||
|
+ ax.set_facecolor(bg_color)
|
||
|
|
||
|
self.on_screen_samples = ax.plot(self.ind, self.samples, graph_type,
|
||
|
color = plot_color,
|
||
|
@@ -132,7 +137,7 @@ class oscilloscope_frame(gtk.Frame):
|
||
|
self.canvas.set_size_request(width, height)
|
||
|
|
||
|
self.add(self.canvas)
|
||
|
- self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(facecolor))
|
||
|
+ self.modify_bg(gtk.StateFlags.NORMAL, gdk.color_parse(facecolor))
|
||
|
self.nr_samples = 0
|
||
|
|
||
|
def add_sample(self, sample):
|
||
|
@@ -164,9 +169,9 @@ def add_table_row(table, row, label_text, label_value = "0"):
|
||
|
|
||
|
class system_info_frame(gtk.Frame):
|
||
|
def __init__(self, title = "System", facecolor = "white"):
|
||
|
- gtk.Frame.__init__(self, title)
|
||
|
+ gtk.Frame.__init__(self)
|
||
|
|
||
|
- self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(facecolor))
|
||
|
+ self.modify_bg(gtk.StateFlags.NORMAL, gdk.color_parse(facecolor))
|
||
|
|
||
|
table = gtk.Table(3, 2, False)
|
||
|
table.set_border_width(5)
|
||
|
@@ -209,8 +214,8 @@ class oscilloscope(gtk.Window):
|
||
|
vbox.set_border_width(8)
|
||
|
self.add(vbox)
|
||
|
|
||
|
- stats_frame = gtk.Frame("Statistics")
|
||
|
- stats_frame.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(facecolor))
|
||
|
+ stats_frame = gtk.Frame.new("Statistics")
|
||
|
+ stats_frame.modify_bg(gtk.StateFlags.NORMAL, gdk.color_parse(facecolor))
|
||
|
|
||
|
table = gtk.Table(3, 2, False)
|
||
|
table.set_border_width(5)
|
||
|
@@ -222,8 +227,8 @@ class oscilloscope(gtk.Window):
|
||
|
self.avg_label = add_table_row(table, 1, "Avg")
|
||
|
self.max_label = add_table_row(table, 2, "Max")
|
||
|
|
||
|
- help_frame = gtk.Frame("Help")
|
||
|
- help_frame.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(facecolor))
|
||
|
+ help_frame = gtk.Frame.new("Help")
|
||
|
+ help_frame.modify_bg(gtk.StateFlags.NORMAL, gdk.color_parse(facecolor))
|
||
|
|
||
|
table = gtk.Table(4, 2, False)
|
||
|
table.set_border_width(5)
|
||
|
@@ -251,15 +256,15 @@ class oscilloscope(gtk.Window):
|
||
|
info_frame = system_info_frame()
|
||
|
|
||
|
vbox_help_info = gtk.VBox()
|
||
|
- vbox_help_info.pack_start(info_frame, False, False)
|
||
|
- vbox_help_info.pack_end(help_frame, False, False)
|
||
|
+ vbox_help_info.pack_start(info_frame, False, False, 0)
|
||
|
+ vbox_help_info.pack_end(help_frame, False, False, 0)
|
||
|
hbox = gtk.HBox()
|
||
|
- hbox.pack_start(vbox_help_info, False, False)
|
||
|
- hbox.pack_start(stats_frame, False, False)
|
||
|
- hbox.pack_end(self.hist, True, True)
|
||
|
+ hbox.pack_start(vbox_help_info, False, False, 0)
|
||
|
+ hbox.pack_start(stats_frame, False, False, 0)
|
||
|
+ hbox.pack_end(self.hist, True, True, 0)
|
||
|
|
||
|
- vbox.pack_start(self.scope, True, True)
|
||
|
- vbox.pack_end(hbox, True, False)
|
||
|
+ vbox.pack_start(self.scope, True, True, 0)
|
||
|
+ vbox.pack_end(hbox, True, False, 0)
|
||
|
|
||
|
self.show_all()
|
||
|
|
||
|
--
|
||
|
2.20.1
|
||
|
|