diff options
author | Walter Bender <walter.bender@gmail.com> | 2013-02-23 21:07:35 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2013-02-23 21:07:35 (GMT) |
commit | 7d71ed21341443638245b964d2d79b5c54879dd8 (patch) | |
tree | 613a69f16e06cfff144592e8a7ff4ea84b2af554 | |
parent | 67ba6b26c6a9e112065a42be9ad785a7158e441c (diff) |
make canvas square and add support for scrolling
-rw-r--r-- | labyrinthactivity.py | 47 |
1 files changed, 36 insertions, 11 deletions
diff --git a/labyrinthactivity.py b/labyrinthactivity.py index 571a60f..bcf36ec 100644 --- a/labyrinthactivity.py +++ b/labyrinthactivity.py @@ -536,8 +536,8 @@ class LabyrinthActivity(activity.Activity): self.move_button.connect('clicked', self.__move_cb) target_toolbar.insert(self.move_button, -1) - separator = gtk.SeparatorToolItem() - target_toolbar.insert(separator, -1) + self.separator_1 = gtk.SeparatorToolItem() + target_toolbar.insert(self.separator_1, -1) tool = ToolButton('edit-delete') tool.set_tooltip(_('Erase selected thought(s)')) @@ -545,11 +545,11 @@ class LabyrinthActivity(activity.Activity): target_toolbar.insert(tool, -1) if HASTOOLBARBOX: - separator = gtk.SeparatorToolItem() - separator.props.draw = False - separator.set_expand(True) - separator.show() - toolbar_box.toolbar.insert(separator, -1) + self.separator_2 = gtk.SeparatorToolItem() + self.separator_2.props.draw = False + self.separator_2.set_expand(True) + self.separator_2.show() + toolbar_box.toolbar.insert(self.separator_2, -1) tool = StopButton(self) toolbar_box.toolbar.insert(tool, -1) @@ -565,8 +565,20 @@ class LabyrinthActivity(activity.Activity): self.fixed.show() self.set_canvas(self.fixed) + self._vbox = gtk.VBox() + self._vbox.set_size_request(gtk.gdk.screen_width(), + gtk.gdk.screen_height()) + + self._sw = gtk.ScrolledWindow() + self._vbox.pack_end(self._sw, True, True) + self._sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) + self._sw.show() + self._undo.block() self._main_area = MMapArea.MMapArea(self._undo) + self._main_area.set_size_request( + max(gtk.gdk.screen_width(), gtk.gdk.screen_height()), + max(gtk.gdk.screen_width(), gtk.gdk.screen_height())) self._main_area.connect("set_focus", self.__main_area_focus_cb) self._main_area.connect("button-press-event", self.__main_area_focus_cb) @@ -575,15 +587,28 @@ class LabyrinthActivity(activity.Activity): self.__text_selection_cb) self._main_area.connect("thought_selection_changed", self.__thought_selected_cb) + gtk.gdk.screen_get_default().connect('size-changed', + self.__configure_cb) + + self._sw.add_with_viewport(self._main_area) + # self._vbox.pack_end(self._main_area, True, True) - self._vbox = gtk.VBox() - self._vbox.set_size_request(gtk.gdk.screen_width(), - gtk.gdk.screen_height()) - self._vbox.pack_end(self._main_area, True, True) self.fixed.put(self._vbox, 0, 0) self._vbox.show() + self._sw.show() self._undo.unblock() + def __configure_cb(self, event): + ''' Screen size has changed ''' + if gtk.gdk.screen_width() > gtk.gdk.screen_height(): + self.separator_1.show() + self.separator_1.props.draw = True + self.separator_2.show() + else: + self.separator_1.hide() + self.separator_1.props.draw = False + self.separator_2.hide() + def __text_selection_cb(self, thought, start, end, text): """Update state of copy button based on text selection """ |