Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArtActivity.py
diff options
context:
space:
mode:
authorWalter Bender <walter@walter-laptop.(none)>2009-04-02 21:57:13 (GMT)
committer Walter Bender <walter@walter-laptop.(none)>2009-04-02 21:57:13 (GMT)
commit05839afa5f20f03ab9cf17ddd6d56967b68276db (patch)
treec1b43b2516c2810badc32af47cdc269132c5c938 /TurtleArtActivity.py
parentc601217b04e3e35cbee40f0a521d261ba56f491c (diff)
added copy/paste of stacks
Diffstat (limited to 'TurtleArtActivity.py')
-rw-r--r--TurtleArtActivity.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py
index 6a6e200..e16d2fe 100644
--- a/TurtleArtActivity.py
+++ b/TurtleArtActivity.py
@@ -81,6 +81,8 @@ class TurtleArtActivity(activity.Activity):
# Add additional panels
self.projectToolbar = ProjectToolbar(self)
self.toolbox.add_toolbar( _('Project'), self.projectToolbar )
+ self.editToolbar = EditToolbar(self)
+ self.toolbox.add_toolbar(_('Edit'), self.editToolbar)
self.saveasToolbar = SaveAsToolbar(self)
self.toolbox.add_toolbar( _('Save as'), self.saveasToolbar )
self.toolbox.show()
@@ -439,6 +441,45 @@ class ChatTube(ExportedGObject):
self.stack = text
"""
+Edit toolbar: copy and paste text and stacks
+"""
+class EditToolbar(gtk.Toolbar):
+ def __init__(self, pc):
+ gtk.Toolbar.__init__(self)
+ self.activity = pc
+
+ # Copy button
+ self.copy = ToolButton( "edit-copy" )
+ self.copy.set_tooltip(_('copy'))
+ self.copy.props.sensitive = True
+ self.copy.connect('clicked', self._copy_cb)
+ self.copy.props.accelerator = '<Ctrl>C'
+ self.insert(self.copy, -1)
+ self.copy.show()
+
+ # Paste button
+ self.paste = ToolButton( "edit-paste" )
+ self.paste.set_tooltip(_('paste'))
+ self.paste.props.sensitive = True
+ self.paste.connect('clicked', self._paste_cb)
+ self.paste.props.accelerator = '<Ctrl>V'
+ self.insert(self.paste, -1)
+ self.paste.show()
+
+ def _copy_cb(self, button):
+ clipBoard = gtk.Clipboard()
+ _logger.debug("serialize the project and copy to clipboard")
+ text = tawindow.serialize_stack(self.activity.tw)
+ clipBoard.set_text(text)
+
+ def _paste_cb(self, button):
+ clipBoard = gtk.Clipboard()
+ _logger.debug("paste to the project")
+ text = clipBoard.wait_for_text()
+ if text is not None:
+ tawindow.clone_stack(self.activity.tw,text)
+
+"""
SaveAs toolbar: save as HTML, save as LOGO, and import Python code
"""
class SaveAsToolbar(gtk.Toolbar):