commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 91/101: grc: gtk3: fix canvas extent after


From: git
Subject: [Commit-gnuradio] [gnuradio] 91/101: grc: gtk3: fix canvas extent after zooming
Date: Thu, 16 Mar 2017 14:58:13 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

jcorgan pushed a commit to branch python3
in repository gnuradio.

commit 0208d0c38ead050a6b35ddf31a806725ffd5e005
Author: Sebastian Koslowski <address@hidden>
Date:   Fri Jan 6 22:01:06 2017 +0100

    grc: gtk3: fix canvas extent after zooming
---
 grc/gui/DrawingArea.py      | 11 +++++++----
 grc/gui/Utils.py            |  2 +-
 grc/gui/canvas/block.py     | 10 +++++-----
 grc/gui/canvas/drawable.py  |  2 +-
 grc/gui/canvas/flowgraph.py | 13 +++++--------
 5 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/grc/gui/DrawingArea.py b/grc/gui/DrawingArea.py
index cad813a..746666c 100644
--- a/grc/gui/DrawingArea.py
+++ b/grc/gui/DrawingArea.py
@@ -102,6 +102,7 @@ class DrawingArea(Gtk.DrawingArea):
 
             if zoom_factor != self.zoom_factor:
                 self.zoom_factor = zoom_factor
+                self._update_size()
                 self.queue_draw()
             return True
 
@@ -155,12 +156,15 @@ class DrawingArea(Gtk.DrawingArea):
             coordinate=self._translate_event_coords(event),
         )
 
+    def _update_size(self):
+        w, h = self._flow_graph.extent[2:]
+        self.set_size_request(w * self.zoom_factor + 100, h * self.zoom_factor 
+ 100)
+
     def _auto_scroll(self, event):
         x, y = event.x, event.y
         scrollbox = self.get_parent().get_parent()
 
-        w, h = self._flow_graph.get_max_coords(initial=(x, y))
-        self.set_size_request(w + 100, h + 100)
+        self._update_size()
 
         def scroll(pos, adj):
             """scroll if we moved near the border"""
@@ -182,8 +186,7 @@ class DrawingArea(Gtk.DrawingArea):
         Update the flowgraph, which calls new pixmap.
         """
         self._flow_graph.update()
-        w, h = self._flow_graph.get_max_coords()
-        self.set_size_request(w + 100, h + 100)
+        self._update_size()
 
     def draw(self, widget, cr):
         width = widget.get_allocated_width()
diff --git a/grc/gui/Utils.py b/grc/gui/Utils.py
index 38fde80..97c648c 100644
--- a/grc/gui/Utils.py
+++ b/grc/gui/Utils.py
@@ -114,7 +114,7 @@ def make_screenshot(flow_graph, file_path, 
transparent_bg=False):
     if not file_path:
         return
 
-    x_min, y_min, x_max, y_max = flow_graph.extend
+    x_min, y_min, x_max, y_max = flow_graph.extent
     padding = Constants.CANVAS_GRID_SIZE
     width = x_max - x_min + 2 * padding
     height = y_max - y_min + 2 * padding
diff --git a/grc/gui/canvas/block.py b/grc/gui/canvas/block.py
index fc8a533..182e29d 100644
--- a/grc/gui/canvas/block.py
+++ b/grc/gui/canvas/block.py
@@ -315,14 +315,14 @@ class Block(CoreBlock, Drawable):
         cr.restore()
 
     @property
-    def extend(self):
-        extend = Drawable.extend.fget(self)
+    def extent(self):
+        extent = Drawable.extent.fget(self)
         x, y = self.coordinate
         for port in self.active_ports():
-            extend = (min_or_max(xy, offset + p_xy) for offset, min_or_max, 
xy, p_xy in zip(
-                (x, y, x, y), (min, min, max, max), extend, port.extend
+            extent = (min_or_max(xy, offset + p_xy) for offset, min_or_max, 
xy, p_xy in zip(
+                (x, y, x, y), (min, min, max, max), extent, port.extent
             ))
-        return tuple(extend)
+        return tuple(extent)
 
     ##############################################
     # Controller Modify
diff --git a/grc/gui/canvas/drawable.py b/grc/gui/canvas/drawable.py
index d1a6f42..12f88c2 100644
--- a/grc/gui/canvas/drawable.py
+++ b/grc/gui/canvas/drawable.py
@@ -169,7 +169,7 @@ class Drawable(object):
                     return self
 
     @property
-    def extend(self):
+    def extent(self):
         x_min, y_min = x_max, y_max = self.coordinate
         x_min += min(x for x, y in self._bounding_points)
         y_min += min(y for x, y in self._bounding_points)
diff --git a/grc/gui/canvas/flowgraph.py b/grc/gui/canvas/flowgraph.py
index 8e72ca3..ab432b3 100644
--- a/grc/gui/canvas/flowgraph.py
+++ b/grc/gui/canvas/flowgraph.py
@@ -743,14 +743,11 @@ class FlowGraph(CoreFlowgraph, Drawable):
                 self.coordinate = (x, y)
                 self.drawing_area.queue_draw()
 
-    def get_max_coords(self, initial=(0, 0)):
-        return tuple(max(i, e) for i, e in zip(initial, self.extend[2:]))
-
     @property
-    def extend(self):
-        extend = 100000, 100000, 0, 0
+    def extent(self):
+        extent = 100000, 100000, 0, 0
         for element in self._elements_to_draw:
-            extend = (min_or_max(xy, e_xy) for min_or_max, xy, e_xy in zip(
-                (min, min, max, max), extend, element.extend
+            extent = (min_or_max(xy, e_xy) for min_or_max, xy, e_xy in zip(
+                (min, min, max, max), extent, element.extent
             ))
-        return tuple(extend)
+        return tuple(extent)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]