diff options
author | Aleksey Lim <alsroot@member.fsf.org> | 2009-04-04 20:25:01 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@member.fsf.org> | 2009-04-08 17:13:52 (GMT) |
commit | 08105a19d8f787b04a6e2be36a0f6e1c65680baa (patch) | |
tree | 9a10c808cc9d1f191da83e51e79f58b100a805ee /labyrinthactivity.py | |
parent | 8329a5d928caa9f5473f141ba33cbaf3bbd36391 (diff) |
Resize drawing and image thoughts before creating
Diffstat (limited to 'labyrinthactivity.py')
-rw-r--r-- | labyrinthactivity.py | 135 |
1 files changed, 71 insertions, 64 deletions
diff --git a/labyrinthactivity.py b/labyrinthactivity.py index 8622db4..fb6aa6c 100644 --- a/labyrinthactivity.py +++ b/labyrinthactivity.py @@ -48,96 +48,105 @@ class LabyrinthActivity(activity.Activity): toolbox = activity.ActivityToolbox(self) self.set_toolbox(toolbox) - toolbox.show() edit_toolbar = activity.EditToolbar() toolbox.add_toolbar(_('Edit'), edit_toolbar) edit_toolbar.undo.child.connect('clicked', self.__undo_cb) edit_toolbar.redo.child.connect('clicked', self.__redo_cb) edit_toolbar.copy.connect('clicked', self.__copy_cb) + menu_item = MenuItem('Cut') menu_item.connect('activate', self.__cut_cb) - menu_item.show() edit_toolbar.copy.get_palette().menu.append(menu_item) edit_toolbar.paste.connect('clicked', self.__paste_cb) - edit_toolbar.show() activity_toolbar = toolbox.get_activity_toolbar() activity_toolbar.share.props.visible = False self.clipboard = gtk.Clipboard() - self._undo = UndoManager.UndoManager (self, - edit_toolbar.undo.child, - edit_toolbar.redo.child) - self._undo.block () - - #separator = gtk.SeparatorToolItem() - #separator.set_draw(True) - #edit_toolbar.insert(separator, -1) - #separator.show() - - thought_toolbar = gtk.Toolbar() - thought_toolbar.show() - toolbox.add_toolbar(_('Thoughts'), thought_toolbar) - - self._edit_mode = RadioToolButton(named_icon='edit-mode') - self._edit_mode.set_tooltip(_('Edit mode')) - self._edit_mode.set_accelerator(_('<ctrl>e')) - self._edit_mode.set_group(None) - self._edit_mode.connect('clicked', self.__edit_mode_cb) - thought_toolbar.insert(self._edit_mode, -1) - self._edit_mode.show() - - self._draw_mode = RadioToolButton(named_icon='draw-mode') - self._draw_mode.set_group(self._edit_mode) - self._draw_mode.set_tooltip(_('Drawing mode')) - self._draw_mode.set_accelerator(_('<ctrl>d')) - self._draw_mode.connect('clicked', self.__draw_mode_cb) - thought_toolbar.insert(self._draw_mode, -1) - self._draw_mode.show() - - # FIXME: Disabled image add mode toolbar icon while I get the - # Object chooser working (needs bunch of custom fluff the normal - # gtk+ file picker does not). - self._image_mode = RadioToolButton(named_icon='add-image') - self._image_mode.set_group(self._edit_mode) - self._image_mode.set_tooltip(_('Image add mode')) - self._image_mode.set_accelerator(_('<ctrl>i')) - self._image_mode.connect('clicked', self.__image_mode_cb) - thought_toolbar.insert(self._image_mode, -1) - self._image_mode.show() + self.mods = [None] * 4 + + self.mods[0] = RadioToolButton(named_icon='select-mode') + self.mods[0].set_tooltip(_('Select mode')) + self.mods[0].set_accelerator(_('<ctrl>s')) + self.mods[0].set_group(None) + self.mods[0].connect('clicked', self.__mode_cb, MMapArea.MODE_NULL) + edit_toolbar.insert(self.mods[0], 0) + + self.mods[1] = RadioToolButton(named_icon='text-mode') + self.mods[1].set_tooltip(_('Edit mode')) + self.mods[1].set_accelerator(_('<ctrl>e')) + self.mods[1].set_group(self.mods[0]) + self.mods[1].connect('clicked', self.__mode_cb, MMapArea.MODE_TEXT) + edit_toolbar.insert(self.mods[1], 1) + + self.mods[2] = RadioToolButton(named_icon='draw-mode') + self.mods[2].set_group(self.mods[0]) + self.mods[2].set_tooltip(_('Drawing mode')) + self.mods[2].set_accelerator(_('<ctrl>d')) + self.mods[2].connect('clicked', self.__mode_cb, MMapArea.MODE_DRAW) + edit_toolbar.insert(self.mods[2], 2) + + self.mods[3] = RadioToolButton(named_icon='image-mode') + self.mods[3].set_group(self.mods[0]) + self.mods[3].set_tooltip(_('Image add mode')) + self.mods[3].set_accelerator(_('<ctrl>i')) + self.mods[3].connect('clicked', self.__mode_cb, MMapArea.MODE_IMAGE) + edit_toolbar.insert(self.mods[3], 3) + + separator = gtk.SeparatorToolItem() + separator.set_draw(False) + edit_toolbar.insert(separator, 4) + + tool = ToolButton('link') + tool.set_tooltip(_('Link/unlink two selected thoughts')) + tool.connect('clicked', self.__link_cb) + edit_toolbar.insert(tool, 5) + + separator = gtk.SeparatorToolItem() + separator.set_draw(False) + edit_toolbar.insert(separator, 6) + + tool = ToolButton('edit-delete') + tool.set_tooltip(_('Delete the selected element(s)')) + tool.connect('clicked', self.__delete_cb) + edit_toolbar.insert(tool, 7) + + separator = gtk.SeparatorToolItem() + edit_toolbar.insert(separator, 8) view_toolbar = gtk.Toolbar() - view_toolbar.show() toolbox.add_toolbar(_('View'), view_toolbar) self._zoom_in = ToolButton('zoom-in') self._zoom_in.set_tooltip(_('Zoom in')) self._zoom_in.connect('clicked', self.__zoom_in_cb) view_toolbar.insert(self._zoom_in, -1) - self._zoom_in.show() self._zoom_out = ToolButton('zoom-out') self._zoom_out.set_tooltip(_('Zoom out')) self._zoom_out.connect('clicked', self.__zoom_out_cb) view_toolbar.insert(self._zoom_out, -1) - self._zoom_out.show() self._zoom_tofit = ToolButton('zoom-best-fit') self._zoom_tofit.set_tooltip(_('Fit to window')) self._zoom_tofit.connect('clicked', self.__zoom_tofit_cb) view_toolbar.insert(self._zoom_tofit, -1) - self._zoom_tofit.show() self._zoom_original = ToolButton('zoom-original') self._zoom_original.set_tooltip(_('Original size')) self._zoom_original.connect('clicked', self.__zoom_original_cb) view_toolbar.insert(self._zoom_original, -1) - self._zoom_original.show() self._save_file = None - self._mode = MMapArea.MODE_EDITING + self._mode = MMapArea.MODE_TEXT + self.mods[MMapArea.MODE_TEXT].set_active(True) + + self._undo = UndoManager.UndoManager (self, + edit_toolbar.undo.child, + edit_toolbar.redo.child) + self._undo.block () self._main_area = MMapArea.MMapArea (self._undo) self._main_area.connect ("doc_save", self.__doc_save_cb) @@ -146,14 +155,13 @@ class LabyrinthActivity(activity.Activity): self._main_area.connect ("expose_event", self.__expose) self._main_area.set_mode (self._mode) self.set_canvas(self._main_area) - self._main_area.show() - - tree_model = gtk.TreeStore(gobject.TYPE_STRING) - self._main_area.initialize_model(tree_model) self.set_focus_child (self._main_area) - + self._undo.unblock() + + toolbox.set_current_toolbar(1) + self.show_all() def __expose(self, widget, event): """Create skeleton map at start @@ -269,16 +277,8 @@ class LabyrinthActivity(activity.Activity): 'y':(geom[3] / 2.0) - (height / 2.0 + upper), 'scale':min(width_scale, height_scale)} - def __edit_mode_cb(self, button): - self._mode = MMapArea.MODE_EDITING - self._main_area.set_mode (self._mode) - - def __draw_mode_cb(self, button): - self._mode = MMapArea.MODE_DRAW - self._main_area.set_mode (self._mode) - - def __image_mode_cb(self, button): - self._mode = MMapArea.MODE_IMAGE + def __mode_cb(self, button, mode): + self._mode = mode self._main_area.set_mode (self._mode) def __undo_cb(self, button): @@ -320,6 +320,8 @@ class LabyrinthActivity(activity.Activity): (x,y) = utils.parse_coords(tmp) self._main_area.translation = [x,y] + self.mods[self._mode].set_active(True) + def write_file(self, file_path): logging.debug('write_file') self._main_area.save_thyself () @@ -368,3 +370,8 @@ class LabyrinthActivity(activity.Activity): f.write (string) f.close () + def __link_cb(self, widget): + self._main_area.link_menu_cb() + + def __delete_cb(self, widget): + self._main_area.delete_selected_elements () |