| ... | ... |
@@ -1,7 +1,8 @@ |
| 1 | 1 |
About _xdot.py_ |
| 2 | 2 |
================= |
| 3 | 3 |
|
| 4 |
-This is a fork of [`jrfonseca/xdot.py`][] that removes `--filter` restriction. |
|
| 4 |
+This is a fork of [`jrfonseca/xdot.py`][] that removes `--filter` restriction |
|
| 5 |
+and keeps zoom-to-fit on reload. |
|
| 5 | 6 |
|
| 6 | 7 |
_xdot.py_ is an interactive viewer for graphs written in [Graphviz](http://www.graphviz.org/)'s [dot language](http://www.graphviz.org/doc/info/lang.html). |
| 7 | 8 |
|
| ... | ... |
@@ -87,7 +87,7 @@ class DotWidget(Gtk.DrawingArea): |
| 87 | 87 |
|
| 88 | 88 |
self.x, self.y = 0.0, 0.0 |
| 89 | 89 |
self.zoom_ratio = 1.0 |
| 90 |
- self.zoom_to_fit_on_resize = False |
|
| 90 |
+ self.zoom_to_fit_on_resize_reload = False |
|
| 91 | 91 |
self.animation = animation.NoAnimation(self) |
| 92 | 92 |
self.drag_action = actions.NullAction(self) |
| 93 | 93 |
self.presstime = None |
| ... | ... |
@@ -165,7 +165,7 @@ class DotWidget(Gtk.DrawingArea): |
| 165 | 165 |
|
| 166 | 166 |
parser = XDotParser(xdotcode, graphviz_version=self.graphviz_version) |
| 167 | 167 |
self.graph = parser.parse() |
| 168 |
- self.zoom_image(self.zoom_ratio, center=center) |
|
| 168 |
+ self.queue_draw() |
|
| 169 | 169 |
|
| 170 | 170 |
def reload(self): |
| 171 | 171 |
if self.openfilename is not None: |
| ... | ... |
@@ -177,6 +177,8 @@ class DotWidget(Gtk.DrawingArea): |
| 177 | 177 |
pass |
| 178 | 178 |
else: |
| 179 | 179 |
del self.history_back[:], self.history_forward[:] |
| 180 |
+ if self.zoom_to_fit_on_resize_reload: |
|
| 181 |
+ self.zoom_to_fit() |
|
| 180 | 182 |
|
| 181 | 183 |
def update(self): |
| 182 | 184 |
if self.openfilename is not None: |
| ... | ... |
@@ -250,7 +252,7 @@ class DotWidget(Gtk.DrawingArea): |
| 250 | 252 |
self.x += x / self.zoom_ratio - x / zoom_ratio |
| 251 | 253 |
self.y += y / self.zoom_ratio - y / zoom_ratio |
| 252 | 254 |
self.zoom_ratio = zoom_ratio |
| 253 |
- self.zoom_to_fit_on_resize = False |
|
| 255 |
+ self.zoom_to_fit_on_resize_reload = False |
|
| 254 | 256 |
self.queue_draw() |
| 255 | 257 |
|
| 256 | 258 |
def zoom_to_area(self, x1, y1, x2, y2): |
| ... | ... |
@@ -264,7 +266,7 @@ class DotWidget(Gtk.DrawingArea): |
| 264 | 266 |
float(rect.width)/float(width), |
| 265 | 267 |
float(rect.height)/float(height) |
| 266 | 268 |
) |
| 267 |
- self.zoom_to_fit_on_resize = False |
|
| 269 |
+ self.zoom_to_fit_on_resize_reload = False |
|
| 268 | 270 |
self.x = (x1 + x2) / 2 |
| 269 | 271 |
self.y = (y1 + y2) / 2 |
| 270 | 272 |
self.queue_draw() |
| ... | ... |
@@ -280,7 +282,7 @@ class DotWidget(Gtk.DrawingArea): |
| 280 | 282 |
float(rect.height)/float(self.graph.height) |
| 281 | 283 |
) |
| 282 | 284 |
self.zoom_image(zoom_ratio, center=True) |
| 283 |
- self.zoom_to_fit_on_resize = True |
|
| 285 |
+ self.zoom_to_fit_on_resize_reload = True |
|
| 284 | 286 |
|
| 285 | 287 |
ZOOM_INCREMENT = 1.25 |
| 286 | 288 |
ZOOM_TO_FIT_MARGIN = 12 |
| ... | ... |
@@ -468,7 +470,7 @@ class DotWidget(Gtk.DrawingArea): |
| 468 | 470 |
return True |
| 469 | 471 |
|
| 470 | 472 |
def on_area_size_allocate(self, area, allocation): |
| 471 |
- if self.zoom_to_fit_on_resize: |
|
| 473 |
+ if self.zoom_to_fit_on_resize_reload: |
|
| 472 | 474 |
self.zoom_to_fit() |
| 473 | 475 |
|
| 474 | 476 |
def animate_to(self, x, y): |