diff options
author | Sebastian Koslowski <koslowski@kit.edu> | 2017-01-06 22:01:06 +0100 |
---|---|---|
committer | Sebastian Koslowski <koslowski@kit.edu> | 2017-01-06 22:01:06 +0100 |
commit | 0208d0c38ead050a6b35ddf31a806725ffd5e005 (patch) | |
tree | f4594d38e8e186c7d674146d462c4236d22173bb /grc/gui/DrawingArea.py | |
parent | 10e7e270773a258b0356bafc3a5bbc4853f38a4c (diff) |
grc: gtk3: fix canvas extent after zooming
Diffstat (limited to 'grc/gui/DrawingArea.py')
-rw-r--r-- | grc/gui/DrawingArea.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/grc/gui/DrawingArea.py b/grc/gui/DrawingArea.py index cad813a876..746666c287 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() |