From 81ba8fd9fa0e2fbbee1ef3534a96104de4cd7079 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Wed, 17 Mar 2010 18:39:20 +0000 Subject: Merge branch 'master' of git://git.sugarlabs.org/turtleart/refactoring Conflicts: NEWS activity/activity.info tagplay.py tawindow.py --- diff --git a/COPYING b/COPYING index a817f22..d2954ad 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,6 @@ -Copyright (c) 2007-9, Playful Invention Company, Sugar Labs +Copyright (c) 2007, Playful Invention Company +Copyright (c) 2008-10, Walter Bender +Copyright (c) 2009-10 Raúl Gutiérrez Segalés Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/NEWS b/NEWS index c52847c..7de79ec 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,43 @@ +<<<<<<< HEAD:NEWS +======= +83 + +* added new user-interface features + o support for multiple turtles + o expandable blocks + o collapsible stacks + o runtime block highlighting + o error highlighting + o trash palette (with restore) + o palette better integrated into Sugar toolbar + o variable-length string blocks + o editable string blocks + o paste text from Sugar clipboard to string blocks + o new prefix boolean logic + o showblock to compliment hideblock + o fullscreen block + o Cartesian and polar coordinate blocks + o color blocks + o editable macros (used for presentation blocks) + o labels on coordinate-grid overlays + o more complete support in non-Sugar environments + o new (and improved) sample code + o Logo code for project added to View Source + o save SVG block lets you generate SVG with Turtle Art + o improved export-to-HTML logic + o new translations + +* completed a major refactoring of the code + o 90% smaller download bundle-size + o faster first-time launch + o greatly simplified i18n maintenance + o easier to extend with new blocks and palettes + +82 + +* minor updates to Spanish translations + +>>>>>>> f1d5ed75c29961a718eb3c59fde1663c184f20cf:NEWS 81 * fixed keyboard input bug introduced in v79 diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py index b962290..cae2498 100644 --- a/TurtleArtActivity.py +++ b/TurtleArtActivity.py @@ -1,6 +1,6 @@ #Copyright (c) 2007, Playful Invention Company -#Copyright (c) 2008-9, Walter Bender -#Copyright (c) 2009, Raul Gutierrez Segales +#Copyright (c) 2008-10, Walter Bender +#Copyright (c) 2009,10 Raul Gutierrez Segales #Permission is hereby granted, free of charge, to any person obtaining a copy #of this software and associated documentation files (the "Software"), to deal @@ -20,9 +20,6 @@ #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN #THE SOFTWARE. -import tawindow -import talogo - import pygtk pygtk.require('2.0') import gtk @@ -31,37 +28,35 @@ import gobject import logging _logger = logging.getLogger('turtleart-activity') -import sugar from sugar.activity import activity try: # 0.86 toolbar widgets - from sugar.bundle.activitybundle import ActivityBundle from sugar.activity.widgets import ActivityToolbarButton from sugar.activity.widgets import StopButton from sugar.graphics.toolbarbox import ToolbarBox from sugar.graphics.toolbarbox import ToolbarButton + NEW_SUGAR_SYSTEM = True except ImportError: - pass + NEW_SUGAR_SYSTEM = False from sugar.graphics.toolbutton import ToolButton -from sugar.graphics.menuitem import MenuItem -from sugar.graphics.icon import Icon from sugar.datastore import datastore import telepathy -from dbus.service import method, signal +from dbus.service import signal from dbus.gobject_service import ExportedGObject from sugar.presence import presenceservice from sugar.presence.tubeconn import TubeConnection from sugar import profile from gettext import gettext as _ -import locale import os.path -import subprocess import tarfile -import sys -from taexporthtml import * -from taexportlogo import * -import re + +from taconstants import PALETTE_NAMES, OVERLAY_LAYER, HELP_STRINGS +from taexporthtml import save_html +from taexportlogo import save_logo +from tautils import data_to_file, data_to_string, data_from_string, get_path +from tawindow import TurtleArtWindow +from taturtle import Turtle SERVICE = 'org.laptop.TurtleArtActivity' IFACE = SERVICE @@ -70,396 +65,50 @@ PATH = '/org/laptop/TurtleArtActivity' class TurtleArtActivity(activity.Activity): def __init__(self, handle): - super(TurtleArtActivity,self).__init__(handle) - - try: - datapath = os.path.join(activity.get_activity_root(), "data") - except: - # Early versions of Sugar (e.g., 656) didn't support - # get_activity_root() - datapath = os.path.join( \ - os.environ['HOME'], \ - ".sugar/default/org.laptop.TurtleArtActivity/data") - - # Notify when the visibility state changes - self.add_events(gtk.gdk.VISIBILITY_NOTIFY_MASK) - self.connect("visibility-notify-event", self.__visibility_notify_cb) - - try: - # Use 0.86 toolbar design - toolbar_box = ToolbarBox() - - # Buttons added to the Activity toolbar - activity_button = ActivityToolbarButton(self) - - # Save snapshot is like Keep, but it creates a new activity id - self.keep_button = ToolButton('filesave') - self.keep_button.set_tooltip(_("Save snapshot")) - self.keep_button.connect('clicked', self._do_keep_cb) - self.keep_button.show() - activity_button.props.page.insert(self.keep_button, -1) - separator = gtk.SeparatorToolItem() - separator.props.draw = True - activity_button.props.page.insert(separator, -1) - separator.show() - - # Save as HTML - self.save_as_html = ToolButton('htmloff') - self.save_as_html.set_tooltip(_("Save as HTML")) - self.save_as_html.connect('clicked', self._do_save_as_html_cb) - self.save_as_html.show() - activity_button.props.page.insert(self.save_as_html, -1) - - # Save as Logo - self.save_as_logo = ToolButton('logo-saveoff') - self.save_as_logo.set_tooltip(_("Save as Logo")) - self.save_as_logo.connect('clicked', self._do_save_as_logo_cb) - self.save_as_logo.show() - activity_button.props.page.insert(self.save_as_logo, -1) - - # Save as image - self.save_as_image = ToolButton('image-saveoff') - self.save_as_image.set_tooltip(_("Save as image")) - self.save_as_image.connect('clicked', self._do_save_as_image_cb) - self.save_as_image.show() - activity_button.props.page.insert(self.save_as_image, -1) - - # Load Python code into programmable brick - self.load_python = ToolButton('pippy-openoff') - self.load_python.set_tooltip(_("Load my block")) - self.load_python.connect('clicked', self._do_load_python_cb) - self.load_python.show() - activity_button.props.page.insert(self.load_python, -1) - - # Open project from the Journal - self.load_ta_project = ToolButton('load-from-journal') - self.load_ta_project.set_tooltip(\ - _("Import project from the Journal")) - self.load_ta_project.connect('clicked', self._do_load_ta_project_cb) - self.load_ta_project.show() - activity_button.props.page.insert(self.load_ta_project, -1) - - toolbar_box.toolbar.insert(activity_button, 0) - activity_button.show() - - # The edit toolbar -- copy and paste - edit_toolbar = EditToolbar(self) - edit_toolbar_button = ToolbarButton( - page=edit_toolbar, - icon_name='toolbar-edit') - edit_toolbar.show() - toolbar_box.toolbar.insert(edit_toolbar_button, -1) - edit_toolbar_button.show() - - # The view toolbar - view_toolbar = gtk.Toolbar() - fullscreen_button = ToolButton('view-fullscreen') - fullscreen_button.set_tooltip(_("Fullscreen")) - fullscreen_button.props.accelerator = 'Enter' - fullscreen_button.connect('clicked', self._do_fullscreen_cb) - view_toolbar.insert(fullscreen_button,-1) - fullscreen_button.show() - - cartesian_button = ToolButton('view-Cartesian') - cartesian_button.set_tooltip(_("Cartesian coordinates")) - cartesian_button.connect('clicked', self._do_cartesian_cb) - view_toolbar.insert(cartesian_button,-1) - cartesian_button.show() - - polar_button = ToolButton('view-polar') - polar_button.set_tooltip(_("polar coordinates")) - polar_button.connect('clicked', self._do_polar_cb) - view_toolbar.insert(polar_button,-1) - polar_button.show() - - separator = gtk.SeparatorToolItem() - separator.props.draw = True - view_toolbar.insert(separator, -1) - separator.show() - - self.coordinates_label = \ - gtk.Label(_("xcor") + " = 0 " + _("ycor") + " = 0 " + \ - _("heading") + " = 0") - self.coordinates_label.set_line_wrap(True) - self.coordinates_label.show() - self.coordinates_toolitem = gtk.ToolItem() - self.coordinates_toolitem.add(self.coordinates_label) - view_toolbar.insert(self.coordinates_toolitem,-1) - self.coordinates_toolitem.show() - - view_toolbar_button = ToolbarButton( - page=view_toolbar, - icon_name='toolbar-view') - view_toolbar.show() - toolbar_box.toolbar.insert(view_toolbar_button, -1) - view_toolbar_button.show() - - separator = gtk.SeparatorToolItem() - separator.props.draw = False - separator.set_expand(True) - view_toolbar.insert(separator, -1) - separator.show() - - self.rescale_button = ToolButton('expand-coordinates') - self.rescale_button.set_tooltip(_("Rescale coordinates up")) - self.rescale_button.connect('clicked', self._do_rescale_cb) - view_toolbar.insert(self.rescale_button,-1) - self.rescale_button.show() - - # palette button (blocks) - self.palette_button = ToolButton( "blocksoff" ) - self.palette_button.set_tooltip(_('Hide palette')) - self.palette_button.props.sensitive = True - self.palette_button.connect('clicked', self._do_palette_cb) - self.palette_button.props.accelerator = _('p') - toolbar_box.toolbar.insert(self.palette_button, -1) - self.palette_button.show() + """ Activity subclass for Turtle Art """ + super(TurtleArtActivity, self).__init__(handle) - # blocks button (hideshow) - self.blocks_button = ToolButton( "hideshowoff" ) - self.blocks_button.set_tooltip(_('Hide blocks')) - self.blocks_button.props.sensitive = True - self.blocks_button.connect('clicked', self._do_hideshow_cb) - self.blocks_button.props.accelerator = _('b') - toolbar_box.toolbar.insert(self.blocks_button, -1) - self.blocks_button.show() - - # eraser button - self.eraser_button = ToolButton( "eraseron" ) - self.eraser_button.set_tooltip(_('Clean')) - self.eraser_button.props.sensitive = True - self.eraser_button.connect('clicked', self._do_eraser_cb) - self.eraser_button.props.accelerator = _('e') - toolbar_box.toolbar.insert(self.eraser_button, -1) - self.eraser_button.show() - - # run button - self.run_button = ToolButton( "run-fastoff" ) - self.run_button.set_tooltip(_('Run')) - self.run_button.props.sensitive = True - self.run_button.connect('clicked', self._do_run_cb) - self.run_button.props.accelerator = _('r') - toolbar_box.toolbar.insert(self.run_button, -1) - self.run_button.show() - - # step button - self.step_button = ToolButton( "run-slowoff" ) - self.step_button.set_tooltip(_('Step')) - self.step_button.props.sensitive = True - self.step_button.connect('clicked', self._do_step_cb) - self.step_button.props.accelerator = _('w') - toolbar_box.toolbar.insert(self.step_button, -1) - self.step_button.show() - - # debug button - self.debug_button = ToolButton( "debugoff" ) - self.debug_button.set_tooltip(_('Debug')) - self.debug_button.props.sensitive = True - self.debug_button.connect('clicked', self._do_debug_cb) - self.debug_button.props.accelerator = _('d') - toolbar_box.toolbar.insert(self.debug_button, -1) - self.debug_button.show() - - # stop button - self.stop_button = ToolButton( "stopitoff" ) - self.stop_button.set_tooltip(_('Stop turtle')) - self.stop_button.props.sensitive = True - self.stop_button.connect('clicked', self._do_stop_cb) - self.stop_button.props.accelerator = _('s') - toolbar_box.toolbar.insert(self.stop_button, -1) - self.stop_button.show() - - separator = gtk.SeparatorToolItem() - separator.set_draw(True) - toolbar_box.toolbar.insert(separator, -1) - separator.show() - - # The Help toolbar -- sample code and hover help - help_toolbar = gtk.Toolbar() - samples_button = ToolButton( "stock-open" ) - samples_button.set_tooltip(_('Samples')) - samples_button.connect('clicked', self._do_samples_cb) - samples_button.show() - help_toolbar.insert(samples_button, -1) - - separator = gtk.SeparatorToolItem() - separator.props.draw = True - help_toolbar.insert(separator, -1) - separator.show() - - self.hover_help_label = \ - gtk.Label(_("Move the cursor over the orange palette for help.")) - self.hover_help_label.set_line_wrap(True) - self.hover_help_label.show() - self.hover_toolitem = gtk.ToolItem() - self.hover_toolitem.add(self.hover_help_label) - help_toolbar.insert(self.hover_toolitem,-1) - self.hover_toolitem.show() - - help_toolbar_button = ToolbarButton( - label=_("Help"), - page=help_toolbar, - icon_name='help-toolbar') - help_toolbar.show() - toolbar_box.toolbar.insert(help_toolbar_button, -1) - help_toolbar_button.show() - - separator = gtk.SeparatorToolItem() - separator.props.draw = False - separator.set_expand(True) - toolbar_box.toolbar.insert(separator, -1) - separator.show() - - # The ever-present Stop Button - stop_button = StopButton(self) - stop_button.props.accelerator = 'Q' - toolbar_box.toolbar.insert(stop_button, -1) - stop_button.show() - - self.set_toolbar_box(toolbar_box) - toolbar_box.show() - - except NameError: - # Use pre-0.86 toolbar design - self.toolbox = activity.ActivityToolbox(self) - self.set_toolbox(self.toolbox) - - # Add additional panels - self.projectToolbar = ProjectToolbar(self) - self.toolbox.add_toolbar( _('Project'), self.projectToolbar ) - self.viewToolbar = ViewToolbar(self) - self.toolbox.add_toolbar(_('View'), self.viewToolbar) - self.editToolbar = EditToolbar(self) - self.toolbox.add_toolbar(_('Edit'), self.editToolbar) - self.saveasToolbar = SaveAsToolbar(self) - self.toolbox.add_toolbar( _('Import/Export'), self.saveasToolbar ) - self.helpToolbar = HelpToolbar(self) - self.toolbox.add_toolbar(_('Help'),self.helpToolbar) - self.toolbox.show() - - # Set the project toolbar as the initial one selected - self.toolbox.set_current_toolbar(1) - - # Create a scrolled window to contain the turtle canvas - self.sw = gtk.ScrolledWindow() - self.set_canvas(self.sw) - self.sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) - self.sw.show() - canvas = gtk.DrawingArea() - canvas.set_size_request(gtk.gdk.screen_width()*2, \ - gtk.gdk.screen_height()*2) - self.sw.add_with_viewport(canvas) - canvas.show() - - """ - To be replaced with date checking in tasetup.py; - each language group should be stored in it's own sub-directory - """ - # Check to see if the version or language has changed - try: - version = os.environ['SUGAR_BUNDLE_VERSION'] - except: - version = " unknown" - - lang = locale.getdefaultlocale()[0] - if not lang: - lang = 'en' - lang = lang[0:2] - if not os.path.isdir(os.path.join(activity.get_bundle_path(), \ - 'images', lang)): - lang = 'en' - - # If either has changed, remove the old png files - filename = "version.dat" - versiondata = [] - newversion = True - try: - FILE = open(os.path.join(datapath, filename), "r") - if FILE.readline() == lang + version: - newversion = False - else: - _logger.debug("out with the old, in with the new") - cmd = "rm " + os.path.join(datapath, '*.png') - subprocess.check_call(cmd, shell=True) - except: - _logger.debug("writing new version data") - _logger.debug("and creating a tamyblock.py Journal entry") - - """ - Make sure there is a copy of tamyblock.py in the Journal - """ - if newversion is True: - dsobject = datastore.create() - dsobject.metadata['title'] = 'tamyblock.py' - dsobject.metadata['icon-color'] = \ - profile.get_color().to_string() - dsobject.metadata['mime_type'] = 'text/x-python' - dsobject.metadata['activity'] = 'org.laptop.Pippy' - dsobject.set_file_path(os.path.join( \ - activity.get_bundle_path(), 'tamyblock.py')) - datastore.write(dsobject) - dsobject.destroy() + datapath = get_path(activity, 'data') + + self._setup_visibility_handler() - versiondata.append(lang + version) - FILE = open(os.path.join(datapath, filename), "w") - FILE.writelines(versiondata) - FILE.close() + self.new_sugar_system = NEW_SUGAR_SYSTEM + self._setup_toolbar() - # Initialize the turtle art canvas - self.tw = tawindow.twNew(canvas,activity.get_bundle_path(), \ - lang, self) - self.tw.activity = self - self.tw.window.grab_focus() - self.tw.save_folder=os.path.join( \ - os.environ['SUGAR_ACTIVITY_ROOT'], 'data') + canvas = self._setup_scrolled_window() - if self._jobject and self._jobject.file_path: - self.read_file(self._jobject.file_path) - else: # if new, load a start brick onto the canvas - tawindow.load_start(self.tw) + self._check_ver_change(datapath) - # check to see if there is Python code to be loaded - try: - dsobject = datastore.get(self.metadata['python code']) - self._load_python(dsobject) - except: - pass + self._setup_canvas(canvas) - """ - A simplistic sharing model: the sharer is the master; - TODO: hand off role of master is sharer leaves - """ - # Get the Presence Service - self.pservice = presenceservice.get_instance() - self.initiating = None # sharing (True) or joining (False) + self._load_python_code() - # Add my buddy object to the list - owner = self.pservice.get_owner() - self.owner = owner - self.tw.buddies.append(self.owner) - self._share = "" + self._setup_sharing() - self.connect('shared', self._shared_cb) - self.connect('joined', self._joined_cb) - """ Activity toolbar callbacks """ + # Activity toolbar callbacks - def _do_save_as_html_cb(self, button): - # write html out to datastore + def do_save_as_html_cb(self, button): + """ Write html out to datastore. """ self.save_as_html.set_icon("htmlon") _logger.debug("saving html code") - # until we expose the option to choose, always embed images + # until we have URLs for datastore objects, always embed images embed_flag = True # grab code from stacks - html = save_html(self,self.tw,embed_flag) + html = save_html(self, self.tw, embed_flag) if len(html) == 0: return # save the html code to the instance directory - datapath = os.path.join(activity.get_activity_root(), "instance") + datapath = get_path(activity, 'instance') + + save_type = '.html' + if len(self.tw.saved_pictures) > 0: + if self.tw.saved_pictures[0].endswith(('.svg')): + save_type = '.xml' - html_file = os.path.join(datapath, "portfolio.html") + html_file = os.path.join(datapath, "portfolio" + save_type) f = file(html_file, "w") f.write(html) f.close() @@ -486,7 +135,10 @@ class TurtleArtActivity(activity.Activity): _("presentation") dsobject.metadata['icon-color'] = profile.get_color().to_string() if embed_flag == True: - dsobject.metadata['mime_type'] = 'text/html' + if save_type == '.xml': + dsobject.metadata['mime_type'] = 'application/xml' + else: + dsobject.metadata['mime_type'] = 'text/html' dsobject.set_file_path(html_file) else: dsobject.metadata['mime_type'] = 'application/x-tar' @@ -495,14 +147,16 @@ class TurtleArtActivity(activity.Activity): dsobject.metadata['activity'] = 'org.laptop.WebActivity' datastore.write(dsobject) dsobject.destroy() - gobject.timeout_add(250,self.save_as_html.set_icon, "htmloff") + gobject.timeout_add(250, self.save_as_html.set_icon, "htmloff") + + self.tw.saved_pictures = [] return - def _do_save_as_logo_cb(self, button): - # write logo code out to datastore + def do_save_as_logo_cb(self, button): + """ Write logo code out to datastore. """ self.save_as_logo.set_icon("logo-saveon") # grab code from stacks - logocode = save_logo(self,self.tw) + logocode = save_logo(self.tw) if len(logocode) == 0: return filename = "logosession.lg" @@ -516,8 +170,8 @@ class TurtleArtActivity(activity.Activity): dsobject.metadata['mime_type'] = 'text/plain' dsobject.metadata['icon-color'] = profile.get_color().to_string() - # save the html code to the instance directory - datapath = os.path.join(activity.get_activity_root(), "instance") + # save the Logo code to the instance directory + datapath = get_path(activity, 'instance') # Write the file to the data directory of this activity's root. file_path = os.path.join(datapath, filename) @@ -531,10 +185,11 @@ class TurtleArtActivity(activity.Activity): dsobject.set_file_path(file_path) datastore.write(dsobject) - gobject.timeout_add(250,self.save_as_logo.set_icon, "logo-saveoff") + gobject.timeout_add(250, self.save_as_logo.set_icon, "logo-saveoff") return - def _do_load_ta_project_cb(self, button): + def do_load_ta_project_cb(self, button): + """ Load a project from the Journal """ from sugar.graphics.objectchooser import ObjectChooser chooser = ObjectChooser(_("Project"), None, gtk.DIALOG_MODAL | \ gtk.DIALOG_DESTROY_WITH_PARENT) @@ -553,14 +208,15 @@ class TurtleArtActivity(activity.Activity): del chooser return - def _do_load_python_cb(self, button): + def do_load_python_cb(self, button): + """ Load Python code from the Journal. """ self.load_python.set_icon("pippy-openon") self.import_py() - gobject.timeout_add(250,self.load_python.set_icon, "pippy-openoff") + gobject.timeout_add(250, self.load_python.set_icon, "pippy-openoff") return - # Import Python code from the Journal to load into "myblock" def import_py(self): + """ Import Python code from the Journal to load into 'myblock'. """ from sugar.graphics.objectchooser import ObjectChooser chooser = ObjectChooser('Python code', None, gtk.DIALOG_MODAL | \ gtk.DIALOG_DESTROY_WITH_PARENT) @@ -573,65 +229,35 @@ class TurtleArtActivity(activity.Activity): chooser.destroy() del chooser - def _load_python(self,dsobject): + def _load_python(self, dsobject): + """ Read the Python code from the Journal object """ try: _logger.debug("opening %s " % dsobject.file_path) - FILE = open(dsobject.file_path, "r") - self.tw.myblock = FILE.read() - FILE.close() - tawindow.set_userdefined(self.tw) + file_handle = open(dsobject.file_path, "r") + self.tw.myblock = file_handle.read() + file_handle.close() + self.tw.set_userdefined() # save reference to Pythin code in the project metadata self.metadata['python code'] = dsobject.object_id except: _logger.debug("couldn't open %s" % dsobject.file_path) dsobject.destroy() - def _do_save_as_image_cb(self, button): + def do_save_as_image_cb(self, button): + """ Save the canvas to the Journal. """ self.save_as_image.set_icon("image-saveon") _logger.debug("saving image to journal") - filename = "ta.png" - # save the image to the instance directory - datapath = os.path.join(activity.get_activity_root(), "instance") - - # Write the file to the instance directory of this activity's root. - file_path = os.path.join(datapath, filename) - - tawindow.save_pict(self.tw,file_path) - - # Create a datastore object - dsobject = datastore.create() - - # Write metadata - dsobject.metadata['title'] = self.metadata['title'] + " " + _("image") - dsobject.metadata['icon-color'] = profile.get_color().to_string() - dsobject.metadata['mime_type'] = 'image/png' - dsobject.set_file_path(file_path) - - datastore.write(dsobject) - dsobject.destroy() - gobject.timeout_add(250,self.save_as_image.set_icon, "image-saveoff") + self.tw.save_as_image() + gobject.timeout_add(250, self.save_as_image.set_icon, "image-saveoff") return - """ Save snapshot """ - def _do_keep_cb(self, button): - # Create a datastore object - # save the current state of the project to the instance directory - - # work-around Rainbow which doesn't seem to like tempfile.mkstemp + def do_keep_cb(self, button): + """ Save a snapshot of the project to the Journal. """ + datapath = get_path(activity, 'instance') + tafile = os.path.join(datapath,"tmpfile.ta") try: - tmppath = os.path.join(activity.get_activity_root(), "instance") - except: - # Early versions of Sugar (e.g., 656) didn't support - # get_activity_root() - tmppath = os.path.join( \ - os.environ['HOME'], \ - ".sugar/default/org.laptop.TurtleArtActivity/instance") - - tafile = os.path.join(tmppath,"tmpfile.ta") - print tafile - try: - tawindow.save_data(self.tw,tafile) + data_to_file(self.tw.assemble_data_to_save(), tafile) except: _logger.debug("couldn't save snapshot to journal") @@ -652,31 +278,50 @@ class TurtleArtActivity(activity.Activity): os.remove(tafile) return - """ Main toolbar button callbacks """ - """ Show/hide palette """ - def _do_palette_cb(self, button): + # Main toolbar button callbacks + + def do_palette_cb(self, button): + """ Show/hide palette """ if self.tw.palette == True: - tawindow.hideshow_palette(self.tw,False) - self.palette_button.set_icon("blockson") + self.tw.hideshow_palette(False) + self.palette_button.set_icon("paletteon") self.palette_button.set_tooltip(_('Show palette')) + if self.new_sugar_system and self.tw.selected_palette is not None: + self.palette_buttons[self.tw.selected_palette].set_icon( + PALETTE_NAMES[self.tw.selected_palette]+'off') else: - tawindow.hideshow_palette(self.tw,True) - self.palette_button.set_icon("blocksoff") + self.tw.hideshow_palette(True) + self.palette_button.set_icon("paletteoff") self.palette_button.set_tooltip(_('Hide palette')) + if self.new_sugar_system: + self.palette_buttons[0].set_icon(PALETTE_NAMES[0]+'on') + + def do_palette_buttons_cb(self, button, i): + """ Palette selector buttons """ + if self.tw.selected_palette is not None: + if self.tw.selected_palette != i: + self.palette_buttons[self.tw.selected_palette].set_icon( + PALETTE_NAMES[self.tw.selected_palette]+'off') + self.palette_buttons[i].set_icon(PALETTE_NAMES[i]+'on') + self.tw.show_palette(i) + self.palette_button.set_icon("paletteoff") + self.palette_button.set_tooltip(_('Hide palette')) + + # These methods are called both from buttons and palette. - """ These methods are called both from buttons and blocks """ def do_hidepalette(self): - # print "in do_hidepalette" - self.palette_button.set_icon("blockson") + """ Hide the palette. """ + self.palette_button.set_icon("paletteon") self.palette_button.set_tooltip(_('Show palette')) def do_showpalette(self): - # print "in do_showpalette" - self.palette_button.set_icon("blocksoff") + """ Show the palette. """ + self.palette_button.set_icon("paletteoff") self.palette_button.set_tooltip(_('Hide palette')) - def _do_hideshow_cb(self, button): - tawindow.hideshow_button(self.tw) + def do_hideshow_cb(self, button): + """ Toggle visibility. """ + self.tw.hideshow_button() if self.tw.hide == True: # we just hid the blocks self.blocks_button.set_icon("hideshowon") self.blocks_button.set_tooltip(_('Show blocks')) @@ -685,126 +330,153 @@ class TurtleArtActivity(activity.Activity): self.blocks_button.set_tooltip(_('Hide blocks')) # update palette buttons too if self.tw.palette == False: - self.palette_button.set_icon("blockson") + self.palette_button.set_icon("paletteon") self.palette_button.set_tooltip(_('Show palette')) else: - self.palette_button.set_icon("blocksoff") + self.palette_button.set_icon("paletteoff") self.palette_button.set_tooltip(_('Hide palette')) def do_hide(self): + """ Hide blocks. """ self.blocks_button.set_icon("hideshowon") self.blocks_button.set_tooltip(_('Show blocks')) - self.palette_button.set_icon("blockson") + self.palette_button.set_icon("paletteon") self.palette_button.set_tooltip(_('Show palette')) def do_show(self): + """ Show blocks. """ self.blocks_button.set_icon("hideshowoff") self.blocks_button.set_tooltip(_('Hide blocks')) - self.palette_button.set_icon("blocksoff") + self.palette_button.set_icon("paletteoff") self.palette_button.set_tooltip(_('Hide palette')) - def _do_eraser_cb(self, button): + def do_eraser_cb(self, button): + """ Clear the screen and recenter. """ self.eraser_button.set_icon("eraseroff") self.recenter() - tawindow.eraser_button(self.tw) - gobject.timeout_add(250,self.eraser_button.set_icon,"eraseron") + self.tw.eraser_button() + gobject.timeout_add(250, self.eraser_button.set_icon, "eraseron") - def _do_run_cb(self, button): + def do_run_cb(self, button): + """ Callback for run button (rabbit). """ self.run_button.set_icon("run-faston") - self.stop_button.set_icon("stopiton") self.tw.lc.trace = 0 - tawindow.run_button(self.tw, 0) - gobject.timeout_add(1000,self.run_button.set_icon,"run-fastoff") + self.tw.run_button(0) + gobject.timeout_add(1000, self.run_button.set_icon, "run-fastoff") - def _do_step_cb(self, button): + def do_step_cb(self, button): + """ Callback for step button (turtle). """ self.step_button.set_icon("run-slowon") - self.stop_button.set_icon("stopiton") self.tw.lc.trace = 0 - tawindow.run_button(self.tw, 3) - gobject.timeout_add(1000,self.step_button.set_icon,"run-slowoff") + self.tw.run_button(3) + gobject.timeout_add(1000, self.step_button.set_icon, "run-slowoff") - def _do_debug_cb(self, button): + def do_debug_cb(self, button): + """ Callback for debug button (bug). """ self.debug_button.set_icon("debugon") - self.stop_button.set_icon("stopiton") self.tw.lc.trace = 1 - tawindow.run_button(self.tw, 6) - gobject.timeout_add(1000,self.debug_button.set_icon,"debugoff") + self.tw.run_button(6) + gobject.timeout_add(1000, self.debug_button.set_icon, "debugoff") - def _do_stop_cb(self, button): + def do_stop_cb(self, button): + """ Callback for stop button. """ self.stop_button.set_icon("stopitoff") - tawindow.stop_button(self.tw) + self.tw.stop_button() self.step_button.set_icon("run-slowoff") self.run_button.set_icon("run-fastoff") - """ Sample projects open dialog """ - def _do_samples_cb(self, button): - tawindow.load_file(self.tw, True) + def do_samples_cb(self, button): + """ Sample projects open dialog """ + # FIXME: encapsulation! + self.tw.load_file(True) # run the activity self.stop_button.set_icon("stopiton") - tawindow.run_button(self.tw, 0) + self.tw.run_button(0) - """ - Recenter scrolled window around canvas - """ def recenter(self): + """ Recenter scrolled window around canvas. """ hadj = self.sw.get_hadjustment() - # print hadj hadj.set_value(0) self.sw.set_hadjustment(hadj) vadj = self.sw.get_vadjustment() - # print vadj vadj.set_value(0) self.sw.set_vadjustment(vadj) - def _do_fullscreen_cb(self, button): + def do_fullscreen_cb(self, button): + """ Hide the Sugar toolbars. """ self.fullscreen() self.recenter() - """ - Display coordinate grids - """ - def _do_cartesian_cb(self, button): - if self.tw.cartesian is True: - tawindow.hide(self.tw.cartesian_coordinates_spr) - self.tw.cartesian = False + def do_resize_blocks_cb(self, button, scale_factor): + """ Scale the blocks. """ + self.tw.block_scale *= scale_factor + self.tw.resize_blocks() + + def do_cartesian_cb(self, button): + """ Display Cartesian coordinate grid. """ + if self.tw.cartesian: + self.tw.set_cartesian(False) else: - tawindow.setlayer(self.tw.cartesian_coordinates_spr,610) - self.tw.cartesian = True + self.tw.set_cartesian(True) - def _do_polar_cb(self, button): - if self.tw.polar is True: - tawindow.hide(self.tw.polar_coordinates_spr) - self.tw.polar = False + def do_polar_cb(self, button): + """ Display Polar coordinate grid. """ + if self.tw.polar: + self.tw.set_polar(False) else: - tawindow.setlayer(self.tw.polar_coordinates_spr,610) - self.tw.polar = True + self.tw.set_polar(True) - """ - Rescale coordinate system to 100 == height/2 or 100 == 100 pixels (default) - """ - def _do_rescale_cb(self, button): + def do_rescale_cb(self, button): + """ Rescale coordinate system (100==height/2 or 100 pixels). """ if self.tw.coord_scale == 1: self.tw.coord_scale = self.tw.height/200 self.rescale_button.set_icon("contract-coordinates") self.rescale_button.set_tooltip(_('Rescale coordinates down')) - tawindow.eraser_button(self.tw) + self.tw.eraser_button() + if self.tw.cartesian: + self.tw.overlay_shapes['Cartesian_labeled'].hide() + self.tw.overlay_shapes['Cartesian'].set_layer(OVERLAY_LAYER) else: self.tw.coord_scale = 1 self.rescale_button.set_icon("expand-coordinates") self.rescale_button.set_tooltip(_('Rescale coordinates up')) - tawindow.eraser_button(self.tw) + self.tw.eraser_button() + if self.tw.cartesian: + self.tw.overlay_shapes['Cartesian'].hide() + self.tw.overlay_shapes['Cartesian_labeled'].set_layer( + OVERLAY_LAYER) + + def get_document_path(self, async_cb, async_err_cb): + """ View Logo code as part of view source. """ + logo_code_path = self._dump_logo_code() + async_cb(logo_code_path) + + def _dump_logo_code(self): + """ Save Logo code to Journal. """ + datapath = get_path(activity, 'instance') + tafile = os.path.join(datapath,"tmpfile.ta") + try: + code = save_logo(self.tw) + f = file(tafile, "w") + f.write(code) + f.close() + except Exception, e: + _logger.error("Couldn't dump code to view source: " + str(e)) + return tafile + + # Sharing-related callbacks - """ - Either set up initial share... - """ def _shared_cb(self, activity): + """ Either set up initial share... """ if self._shared_activity is None: _logger.error("Failed to share or join activity ... \ _shared_activity is null in _shared_cb()") return self.initiating = True - self.waiting_for_blocks = False + self.waiting_for_turtles = False + self.turtle_dictionary = \ + {profile.get_nick_name():profile.get_color().to_string()} _logger.debug('I am sharing...') self.conn = self._shared_activity.telepathy_conn @@ -819,18 +491,14 @@ class TurtleArtActivity(activity.Activity): id = self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].OfferDBusTube( SERVICE, {}) - """ - ...or join an exisiting share. - """ def _joined_cb(self, activity): + """ ...or join an exisiting share. """ if self._shared_activity is None: _logger.error("Failed to share or join activity ... \ _shared_activity is null in _shared_cb()") return self.initiating = False - _logger.debug('I joined a shared activity.') - self.conn = self._shared_activity.telepathy_conn self.tubes_chan = self._shared_activity.telepathy_tubes_chan self.text_chan = self._shared_activity.telepathy_text_chan @@ -844,8 +512,8 @@ class TurtleArtActivity(activity.Activity): reply_handler=self._list_tubes_reply_cb, error_handler=self._list_tubes_error_cb) - # joiner should request current state from sharer - self.waiting_for_blocks = True + # Joiner should request current state from sharer. + self.waiting_for_turtles = True def _list_tubes_reply_cb(self, tubes): for tube_info in tubes: @@ -854,10 +522,8 @@ class TurtleArtActivity(activity.Activity): def _list_tubes_error_cb(self, e): _logger.error('ListTubes() failed: %s', e) - """ - Create a new tube - """ def _new_tube_cb(self, id, initiator, type, service, params, state): + """ Create a new tube. """ _logger.debug('New tube: ID=%d initator=%d type=%d service=%s ' 'params=%r state=%d', id, initiator, type, service, params, state) @@ -871,102 +537,556 @@ class TurtleArtActivity(activity.Activity): self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES], id, \ group_iface=self.text_chan[telepathy.CHANNEL_INTERFACE_GROUP]) - # we'll use a chat tube to send serialized stacks back and forth + # We'll use a chat tube to send serialized stacks back and forth. self.chattube = ChatTube(tube_conn, self.initiating, \ self.event_received_cb) - # now that we have the tube, we can ask for an initialization - if self.waiting_for_blocks is True: - self._send_event("i") - - """ - Handle the receiving of events in share - Events are sent as a tuple - cmd:data - where cmd is a mouse or keyboard event and data are x,y coordinates - or a keysroke - """ + # Now that we have the tube, we can ask for the turtle dictionary. + if self.waiting_for_turtles: + _logger.debug("Sending a request for the turtle dictionary") + # we need to send our own nick and colors + colors = profile.get_color().to_string() + _logger.debug("t|"+data_to_string([self.tw.nick,colors])) + self.send_event("t|%s" % \ + (data_to_string([self.tw.nick,colors]))) + def event_received_cb(self, text): - # maybe we can use a stack to share events to new-comers? - # self._share += "text + "\n" - if text[0] == 'p': # button press - e,x,y,mask = re.split(":",text) - # _logger.debug("receiving button press: "+x+" "+y+" "+mask) - if mask == 'T': - tawindow.button_press(self.tw,True,int(x),int(y),False) - else: - tawindow.button_press(self.tw,False,int(x),int(y),False) - elif text[0] == 'r': # block release - e,x,y = re.split(":",text) - # _logger.debug("receiving button release: " + x + " " + y) - tawindow.button_release(self.tw,int(x),int(y),False) - elif text[0] == 'm': # mouse move - e,x,y = re.split(":",text) - _logger.debug("receiving move: " + x + " " + y) - tawindow.mouse_move(self.tw,0,0,False,int(x),int(y)) - elif text[0] == 'k': # typing - e,mask,keyname = re.split(":",text,3) - # _logger.debug("recieving key press: " + mask + " " + keyname) - if mask == 'T': - tawindow.key_press(self.tw,True,keyname,False) - else: - tawindow.key_press(self.tw,False,keyname,False) - elif text[0] == 'i': # request for current state - # sharer should send current state to joiner - if self.initiating is True: - _logger.debug("serialize the project and send to joiner") - text = tawindow.save_string(self.tw) - self._send_event("I:" + text) - tawindow.show_palette(self.tw) - elif text[0] == 'I': # receiving current state - if self.waiting_for_blocks: - _logger.debug("receiving project from sharer") - e,text = re.split(":",text,2) - # unpack data - tawindow.load_string(self.tw,text) - # all caught up - self.waiting_for_blocks = False - - """ - Send event through the tube - """ - def _send_event(self, entry): - # nick = profile.get_nick_name() - # nick = nick.upper() + """ Handle the receiving of events in share """ + _logger.debug(text) + + """ + Events are sent as a tuple, nick|cmd, where nick is a turle name + and cmd is a turtle event. Everyone gets the turtle dictionary from + the sharer and watches for 't' events, which indicate that a new + turtle has joined. + + """ + # Save active Turtle + save_active_turtle = self.tw.active_turtle + if text[0] == 't': # request for turtle dictionary + e = text.split("|", 2) + text = e[1] + if text > 0: + [nick, colors] = data_from_string(text) + if nick != self.tw.nick: + # There may not be a turtle dictionary. + if hasattr(self, "turtle_dictionary"): + self.turtle_dictionary[nick] = colors + else: + self.turtle_dictionary = {nick:colors} + # Add new turtle for the joiner. + self.tw.canvas.set_turtle(nick, colors) + # Sharer should send turtle dictionary. + if self.initiating: + text = data_to_string(self.turtle_dictionary) + self.send_event("T|" + text) + elif text[0] == 'T': # Receiving the turtle dictionary. + if self.waiting_for_turtles: + e = text.split("|", 2) + text = e[1] + if len(text) > 0: + self.turtle_dictionary = data_from_string(text) + for nick in self.turtle_dictionary: + if nick != self.tw.nick: + colors = self.turtle_dictionary[nick] + # add new turtle for the joiner + self.tw.canvas.set_turtle(nick, colors) + self.waiting_for_turtles = False + elif text[0] == 'f': # move a turtle forward + e = text.split("|", 2) + text = e[1] + if len(text) > 0: + [nick, x] = data_from_string(text) + if nick != self.tw.nick: + self.tw.canvas.set_turtle(nick) + self.tw.canvas.forward(x, False) + elif text[0] == 'a': # move a turtle in an arc + e = text.split("|", 2) + text = e[1] + if len(text) > 0: + [nick, [a, r]] = data_from_string(text) + if nick != self.tw.nick: + self.tw.canvas.set_turtle(nick) + self.tw.canvas.arc(a, r, False) + elif text[0] == 'r': # rotate turtle + e = text.split("|", 2) + text = e[1] + if len(text) > 0: + [nick, h] = data_from_string(text) + if nick != self.tw.nick: + self.tw.canvas.set_turtle(nick) + self.tw.canvas.seth(h, False) + elif text[0] == 'x': # set turtle xy position + e = text.split("|", 2) + text = e[1] + if len(text) > 0: + [nick, [x, y]] = data_from_string(text) + if nick != self.tw.nick: + self.tw.canvas.set_turtle(nick) + self.tw.canvas.setxy(x, y, False) + elif text[0] == 'c': # set turtle pen color + e = text.split("|", 2) + text = e[1] + if len(text) > 0: + [nick, x] = data_from_string(text) + if nick != self.tw.nick: + self.tw.canvas.set_turtle(nick) + self.tw.canvas.setcolor(x, False) + elif text[0] == 's': # set turtle pen shade + e = text.split("|", 2) + text = e[1] + if len(text) > 0: + [nick, x] = data_from_string(text) + if nick != self.tw.nick: + self.tw.canvas.set_turtle(nick) + self.tw.canvas.setshade(x, False) + elif text[0] == 'w': # set turtle pen width + e = text.split("|", 2) + text = e[1] + if len(text) > 0: + [nick, x] = data_from_string(text) + if nick != self.tw.nick: + self.tw.canvas.set_turtle(nick) + self.tw.canvas.setpensize(x, False) + elif text[0] == 'p': # set turtle pen state + e = text.split("|", 2) + text = e[1] + if len(text) > 0: + [nick, x] = data_from_string(text) + if nick != self.tw.nick: + self.tw.canvas.set_turtle(nick) + self.tw.canvas.setpen(x, False) + # Restore active Turtle + self.tw.canvas.set_turtle(self.tw.turtles.get_turtle_key( + save_active_turtle)) + + def send_event(self, entry): + """ Send event through the tube. """ if hasattr(self, 'chattube') and self.chattube is not None: self.chattube.SendText(entry) - """ - Callback method for when the activity's visibility changes - """ def __visibility_notify_cb(self, window, event): + """ Callback method for when the activity's visibility changes. """ if event.state == gtk.gdk.VISIBILITY_FULLY_OBSCURED: - # _logger.debug("I am not visible so I should free the audio") self.tw.lc.ag = None elif event.state in \ [gtk.gdk.VISIBILITY_UNOBSCURED, gtk.gdk.VISIBILITY_PARTIAL]: pass def update_title_cb(self, widget, event, toolbox): + """ Update the title. """ toolbox._activity_toolbar._update_title_cb() toolbox._activity_toolbar._update_title_sid = True def _keep_clicked_cb(self, button): + """ Keep button clicked. """ self.jobject_new_patch() - """ - Write the project to the Journal - """ + + def _setup_toolbar(self): + """ Setup toolbar according to Sugar version """ + if self.new_sugar_system: + # Use 0.86 toolbar design + toolbar_box = ToolbarBox() + # Buttons added to the Activity toolbar + activity_button = ActivityToolbarButton(self) + + # Save snapshot is like Keep, but it creates a new activity id + self.keep_button = ToolButton('filesave') + self.keep_button.set_tooltip(_("Save snapshot")) + self.keep_button.connect('clicked', self.do_keep_cb) + self.keep_button.show() + activity_button.props.page.insert(self.keep_button, -1) + + # Save as HTML + self.save_as_html = ToolButton('htmloff') + self.save_as_html.set_tooltip(_("Save as HTML")) + self.save_as_html.connect('clicked', self.do_save_as_html_cb) + self.save_as_html.show() + activity_button.props.page.insert(self.save_as_html, -1) + + # Save as Logo + self.save_as_logo = ToolButton('logo-saveoff') + self.save_as_logo.set_tooltip(_("Save as Logo")) + self.save_as_logo.connect('clicked', self.do_save_as_logo_cb) + self.save_as_logo.show() + activity_button.props.page.insert(self.save_as_logo, -1) + + # Save as image + self.save_as_image = ToolButton('image-saveoff') + self.save_as_image.set_tooltip(_("Save as image")) + self.save_as_image.connect('clicked', self.do_save_as_image_cb) + self.save_as_image.show() + activity_button.props.page.insert(self.save_as_image, -1) + + # Load Python code into programmable brick + self.load_python = ToolButton('pippy-openoff') + self.load_python.set_tooltip(_("Load my block")) + self.load_python.connect('clicked', self.do_load_python_cb) + self.load_python.show() + activity_button.props.page.insert(self.load_python, -1) + + # Open project from the Journal + self.load_ta_project = ToolButton('load-from-journal') + self.load_ta_project.set_tooltip(\ + _("Import project from the Journal")) + self.load_ta_project.connect('clicked', self.do_load_ta_project_cb) + self.load_ta_project.show() + activity_button.props.page.insert(self.load_ta_project, -1) + + toolbar_box.toolbar.insert(activity_button, 0) + activity_button.show() + + # The edit toolbar -- copy and paste + edit_toolbar = EditToolbar(self) + edit_toolbar_button = ToolbarButton( + page=edit_toolbar, + icon_name='toolbar-edit') + edit_toolbar.show() + toolbar_box.toolbar.insert(edit_toolbar_button, -1) + edit_toolbar_button.show() + + # The view toolbar + view_toolbar = gtk.Toolbar() + + fullscreen_button = ToolButton('view-fullscreen') + fullscreen_button.set_tooltip(_("Fullscreen")) + fullscreen_button.props.accelerator = 'Enter' + fullscreen_button.connect('clicked', self.do_fullscreen_cb) + view_toolbar.insert(fullscreen_button, -1) + fullscreen_button.show() + + cartesian_button = ToolButton('view-Cartesian') + cartesian_button.set_tooltip(_("Cartesian coordinates")) + cartesian_button.connect('clicked', self.do_cartesian_cb) + view_toolbar.insert(cartesian_button, -1) + cartesian_button.show() + + polar_button = ToolButton('view-polar') + polar_button.set_tooltip(_("Polar coordinates")) + polar_button.connect('clicked', self.do_polar_cb) + view_toolbar.insert(polar_button, -1) + polar_button.show() + + separator = gtk.SeparatorToolItem() + separator.props.draw = True + view_toolbar.insert(separator, -1) + separator.show() + + self.coordinates_label = \ + gtk.Label(_("xcor") + " = 0 " + _("ycor") + " = 0 " + \ + _("heading") + " = 0") + self.coordinates_label.set_line_wrap(True) + self.coordinates_label.show() + self.coordinates_toolitem = gtk.ToolItem() + self.coordinates_toolitem.add(self.coordinates_label) + view_toolbar.insert(self.coordinates_toolitem, -1) + self.coordinates_toolitem.show() + + separator = gtk.SeparatorToolItem() + separator.props.draw = False + separator.set_expand(True) + view_toolbar.insert(separator, -1) + separator.show() + + self.rescale_button = ToolButton('expand-coordinates') + self.rescale_button.set_tooltip(_("Rescale coordinates up")) + self.rescale_button.connect('clicked', self.do_rescale_cb) + view_toolbar.insert(self.rescale_button, -1) + self.rescale_button.show() + + self.resize_up_button = ToolButton('resize+') + self.resize_up_button.set_tooltip(_("Grow blocks")) + self.resize_up_button.connect('clicked', + self.do_resize_blocks_cb, 1.5) + view_toolbar.insert(self.resize_up_button, -1) + self.resize_up_button.show() + + self.resize_down_button = ToolButton('resize-') + self.resize_down_button.set_tooltip(_("Shrink blocks")) + self.resize_down_button.connect('clicked', + self.do_resize_blocks_cb, 0.667) + view_toolbar.insert(self.resize_down_button, -1) + self.resize_down_button.show() + + view_toolbar_button = ToolbarButton( + page=view_toolbar, + icon_name='toolbar-view') + view_toolbar.show() + toolbar_box.toolbar.insert(view_toolbar_button, -1) + view_toolbar_button.show() + + # palette toolbar + palette_toolbar = gtk.Toolbar() + self.palette_buttons = [] + for i, name in enumerate(PALETTE_NAMES): + if i > 0: + self.palette_buttons.append(ToolButton(name+'off')) + else: + self.palette_buttons.append(ToolButton(name+'on')) + self.palette_buttons[i].set_tooltip(HELP_STRINGS[name]) + self.palette_buttons[i].props.sensitive = True + self.palette_buttons[i].connect('clicked', + self.do_palette_buttons_cb, i) + palette_toolbar.insert(self.palette_buttons[i], -1) + self.palette_buttons[i].show() + + separator = gtk.SeparatorToolItem() + separator.props.draw = False + separator.set_expand(True) + palette_toolbar.insert(separator, -1) + separator.show() + + self.palette_button = ToolButton( "paletteoff" ) + self.palette_button.set_tooltip(_('Hide palette')) + self.palette_button.props.sensitive = True + self.palette_button.connect('clicked', self.do_palette_cb) + self.palette_button.props.accelerator = _('p') + palette_toolbar.insert(self.palette_button, -1) + self.palette_button.show() + + self.blocks_button = ToolButton( "hideshowoff" ) + self.blocks_button.set_tooltip(_('Hide blocks')) + self.blocks_button.props.sensitive = True + self.blocks_button.connect('clicked', self.do_hideshow_cb) + self.blocks_button.props.accelerator = _('b') + palette_toolbar.insert(self.blocks_button, -1) + self.blocks_button.show() + + palette_toolbar_button = ToolbarButton( + page=palette_toolbar, + icon_name='palette') + palette_toolbar.show() + toolbar_box.toolbar.insert(palette_toolbar_button, -1) + palette_toolbar_button.set_expanded(True) + palette_toolbar_button.show() + + separator = gtk.SeparatorToolItem() + separator.set_draw(True) + toolbar_box.toolbar.insert(separator, -1) + separator.show() + + # eraser button + self.eraser_button = ToolButton( "eraseron" ) + self.eraser_button.set_tooltip(_('Clean')) + self.eraser_button.props.sensitive = True + self.eraser_button.connect('clicked', self.do_eraser_cb) + self.eraser_button.props.accelerator = _('e') + toolbar_box.toolbar.insert(self.eraser_button, -1) + self.eraser_button.show() + + # run button + self.run_button = ToolButton( "run-fastoff" ) + self.run_button.set_tooltip(_('Run')) + self.run_button.props.sensitive = True + self.run_button.connect('clicked', self.do_run_cb) + self.run_button.props.accelerator = _('r') + toolbar_box.toolbar.insert(self.run_button, -1) + self.run_button.show() + + # step button + self.step_button = ToolButton( "run-slowoff" ) + self.step_button.set_tooltip(_('Step')) + self.step_button.props.sensitive = True + self.step_button.connect('clicked', self.do_step_cb) + self.step_button.props.accelerator = _('w') + toolbar_box.toolbar.insert(self.step_button, -1) + self.step_button.show() + + # debug button + self.debug_button = ToolButton( "debugoff" ) + self.debug_button.set_tooltip(_('Debug')) + self.debug_button.props.sensitive = True + self.debug_button.connect('clicked', self.do_debug_cb) + self.debug_button.props.accelerator = _('d') + toolbar_box.toolbar.insert(self.debug_button, -1) + self.debug_button.show() + + # stop button + self.stop_button = ToolButton( "stopitoff" ) + self.stop_button.set_tooltip(_('Stop turtle')) + self.stop_button.props.sensitive = True + self.stop_button.connect('clicked', self.do_stop_cb) + self.stop_button.props.accelerator = _('s') + toolbar_box.toolbar.insert(self.stop_button, -1) + self.stop_button.show() + + separator = gtk.SeparatorToolItem() + separator.set_draw(True) + toolbar_box.toolbar.insert(separator, -1) + separator.show() + + # The Help toolbar -- sample code and hover help + help_toolbar = gtk.Toolbar() + samples_button = ToolButton( "stock-open" ) + samples_button.set_tooltip(_('Samples')) + samples_button.connect('clicked', self.do_samples_cb) + samples_button.show() + help_toolbar.insert(samples_button, -1) + + separator = gtk.SeparatorToolItem() + separator.props.draw = True + help_toolbar.insert(separator, -1) + separator.show() + + self.hover_help_label = \ + gtk.Label(_("Move the cursor over the orange palette for help.")) + self.hover_help_label.set_line_wrap(True) + self.hover_help_label.show() + self.hover_toolitem = gtk.ToolItem() + self.hover_toolitem.add(self.hover_help_label) + help_toolbar.insert(self.hover_toolitem, -1) + self.hover_toolitem.show() + + help_toolbar_button = ToolbarButton( + label=_("Help"), + page=help_toolbar, + icon_name='help-toolbar') + help_toolbar.show() + toolbar_box.toolbar.insert(help_toolbar_button, -1) + help_toolbar_button.show() + + separator = gtk.SeparatorToolItem() + separator.props.draw = False + separator.set_expand(True) + toolbar_box.toolbar.insert(separator, -1) + separator.show() + + # The ever-present Stop Button + stop_button = StopButton(self) + stop_button.props.accelerator = 'Q' + toolbar_box.toolbar.insert(stop_button, -1) + stop_button.show() + + self.set_toolbar_box(toolbar_box) + toolbar_box.show() + + else: + # Use pre-0.86 toolbar design + self.toolbox = activity.ActivityToolbox(self) + self.set_toolbox(self.toolbox) + + # Add additional panels + self.projectToolbar = ProjectToolbar(self) + self.toolbox.add_toolbar( _('Project'), self.projectToolbar ) + self.viewToolbar = ViewToolbar(self) + self.toolbox.add_toolbar(_('View'), self.viewToolbar) + self.editToolbar = EditToolbar(self) + self.toolbox.add_toolbar(_('Edit'), self.editToolbar) + self.saveasToolbar = SaveAsToolbar(self) + self.toolbox.add_toolbar( _('Import/Export'), self.saveasToolbar ) + self.helpToolbar = HelpToolbar(self) + self.toolbox.add_toolbar(_('Help'), self.helpToolbar) + self.toolbox.show() + + # Set the project toolbar as the initial one selected + self.toolbox.set_current_toolbar(1) + + def _setup_scrolled_window(self): + """ Create a scrolled window to contain the turtle canvas. """ + self.sw = gtk.ScrolledWindow() + self.set_canvas(self.sw) + self.sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) + self.sw.show() + canvas = gtk.DrawingArea() + width = gtk.gdk.screen_width() * 2 + height = gtk.gdk.screen_height() * 2 + canvas.set_size_request(width, height) + self.sw.add_with_viewport(canvas) + canvas.show() + return canvas + + def _check_ver_change(self, datapath): + """ To be replaced with date checking. """ + # Check to see if the version has changed + try: + version = os.environ['SUGAR_BUNDLE_VERSION'] + except: + version = " unknown" + + filename = "version.dat" + versiondata = [] + newversion = True + try: + FILE = open(os.path.join(datapath, filename), "r") + if FILE.readline() == version: + newversion = False + except: + _logger.debug("Creating a tamyblock.py Journal entry") + + # Make sure there is a copy of tamyblock.py in the Journal + if newversion: + dsobject = datastore.create() + dsobject.metadata['title'] = 'tamyblock.py' + dsobject.metadata['icon-color'] = \ + profile.get_color().to_string() + dsobject.metadata['mime_type'] = 'text/x-python' + dsobject.metadata['activity'] = 'org.laptop.Pippy' + dsobject.set_file_path(os.path.join( \ + activity.get_bundle_path(), 'tamyblock.py')) + datastore.write(dsobject) + dsobject.destroy() + + versiondata.append(version) + file_handle = open(os.path.join(datapath, filename), "w") + file_handle.writelines(versiondata) + file_handle.close() + return + + def _setup_canvas(self, canvas): + """ Initialize the turtle art canvas. """ + bundle_path = activity.get_bundle_path() + self.tw = TurtleArtWindow(canvas, bundle_path, self, + profile.get_color().to_string()) + # self.tw.activity = self + self.tw.window.grab_focus() + path = os.path.join(os.environ['SUGAR_ACTIVITY_ROOT'], 'data') + self.tw.save_folder = path + + if self._jobject and self._jobject.file_path: + self.read_file(self._jobject.file_path) + else: # if new, load a start brick onto the canvas + self.tw.load_start() + + def _load_python_code(self): + """ Check to see if there is Python code to be loaded. """ + try: + dsobject = datastore.get(self.metadata['python code']) + self._load_python(dsobject) + except: + pass + + def _setup_sharing(self): + """ A simplistic sharing model: the sharer is the master """ + # TODO: hand off role of master is sharer leaves + # Get the Presence Service + self.pservice = presenceservice.get_instance() + self.initiating = None # sharing (True) or joining (False) + + # Add my buddy object to the list + owner = self.pservice.get_owner() + self.owner = owner + self.tw.buddies.append(self.owner) + self._share = "" + + self.connect('shared', self._shared_cb) + self.connect('joined', self._joined_cb) + + + def _setup_visibility_handler(self): + """ Notify when the visibility state changes """ + self.add_events(gtk.gdk.VISIBILITY_NOTIFY_MASK) + self.connect("visibility-notify-event", self.__visibility_notify_cb) + def write_file(self, file_path): + """ Write the project to the Journal. """ _logger.debug("Write file: %s" % file_path) self.metadata['mime_type'] = 'application/x-turtle-art' - tawindow.save_data(self.tw,file_path) + data_to_file(self.tw.assemble_data_to_save(), file_path) - """ - Read a project in and then run it - """ def read_file(self, file_path, run_it = True): - import tarfile,os,tempfile,shutil + """ Read a project in and then run it. """ + import tarfile, os, tempfile, shutil if hasattr(self, 'tw'): _logger.debug("Read file: %s" % file_path) @@ -979,16 +1099,15 @@ class TurtleArtActivity(activity.Activity): # but we will ignore the .png file # If run_it is True, we want to create a new project tar_fd.extractall(tmpdir) - tawindow.load_files(self.tw, \ - os.path.join(tmpdir,'ta_code.ta'), \ + self.tw.load_files(os.path.join(tmpdir,'ta_code.ta'), \ run_it) # create a new project flag finally: shutil.rmtree(tmpdir) tar_fd.close() # Otherwise, assume it is a .ta file else: - print "trying to open a .ta file:" + file_path - tawindow.load_files(self.tw, file_path, run_it) + _logger.debug("trying to open a .ta file:" + file_path) + self.tw.load_files(file_path, run_it) # run the activity if run_it: @@ -999,14 +1118,12 @@ class TurtleArtActivity(activity.Activity): # Use pre-0.86 toolbar design self.projectToolbar.stop.set_icon("stopiton") - tawindow.run_button(self.tw, 0) + self.tw.run_button(0) else: _logger.debug("Deferring reading file %s" % file_path) - """ - Save instance to Journal - """ def jobject_new_patch(self): + """ Save instance to Journal. """ oldj = self._jobject self._jobject = datastore.create() self._jobject.metadata['title'] = oldj.metadata['title'] @@ -1025,12 +1142,10 @@ class TurtleArtActivity(activity.Activity): error_handler=self._internal_jobject_error_cb) self._jobject.destroy() -""" -Class for setting up tube for sharing -""" class ChatTube(ExportedGObject): def __init__(self, tube, is_initiator, stack_received_cb): + """Class for setting up tube for sharing.""" super(ChatTube, self).__init__(tube, PATH) self.tube = tube self.is_initiator = is_initiator # Are we sharing or joining activity? @@ -1050,11 +1165,9 @@ class ChatTube(ExportedGObject): def SendText(self, text): self.stack = text -""" -View toolbar: fullscreen, Cartesian, polar, coordinates -""" class ViewToolbar(gtk.Toolbar): def __init__(self, pc): + """ View toolbar: fullscreen, Cartesian, polar, coordinates """ gtk.Toolbar.__init__(self) self.activity = pc @@ -1067,7 +1180,7 @@ class ViewToolbar(gtk.Toolbar): except: pass self.activity.fullscreen_button.connect('clicked', \ - self.activity._do_fullscreen_cb) + self.activity.do_fullscreen_cb) self.insert(self.activity.fullscreen_button, -1) self.activity.fullscreen_button.show() @@ -1076,16 +1189,16 @@ class ViewToolbar(gtk.Toolbar): self.activity.cartesian_button.set_tooltip(_('Cartesian coordinates')) self.activity.cartesian_button.props.sensitive = True self.activity.cartesian_button.connect('clicked', \ - self.activity._do_cartesian_cb) + self.activity.do_cartesian_cb) self.insert(self.activity.cartesian_button, -1) self.activity.cartesian_button.show() # polar coordinates self.activity.polar_button = ToolButton( "view-polar" ) - self.activity.polar_button.set_tooltip(_('polar coordinates')) + self.activity.polar_button.set_tooltip(_('Polar coordinates')) self.activity.polar_button.props.sensitive = True self.activity.polar_button.connect('clicked', \ - self.activity._do_polar_cb) + self.activity.do_polar_cb) self.insert(self.activity.polar_button, -1) self.activity.polar_button.show() @@ -1101,7 +1214,7 @@ class ViewToolbar(gtk.Toolbar): self.activity.coordinates_label.show() self.activity.coordinates_toolitem = gtk.ToolItem() self.activity.coordinates_toolitem.add(self.activity.coordinates_label) - self.insert(self.activity.coordinates_toolitem,-1) + self.insert(self.activity.coordinates_toolitem, -1) self.activity.coordinates_toolitem.show() separator = gtk.SeparatorToolItem() @@ -1110,18 +1223,30 @@ class ViewToolbar(gtk.Toolbar): self.insert(separator, -1) separator.show() + self.activity.resize_up_button = ToolButton('resize+') + self.activity.resize_up_button.set_tooltip(_("Grow blocks")) + self.activity.resize_up_button.connect('clicked', + self.activity.do_resize_blocks_cb, 1.5) + self.insert(self.activity.resize_up_button, -1) + self.activity.resize_up_button.show() + + self.activity.resize_down_button = ToolButton('resize-') + self.activity.resize_down_button.set_tooltip(_("Shrink blocks")) + self.activity.resize_down_button.connect('clicked', + self.activity.do_resize_blocks_cb, 0.667) + self.insert(self.activity.resize_down_button, -1) + self.activity.resize_down_button.show() + self.activity.rescale_button = ToolButton('expand-coordinates') self.activity.rescale_button.set_tooltip(_("Rescale coordinates up")) self.activity.rescale_button.connect('clicked', \ - self.activity._do_rescale_cb) - self.insert(self.activity.rescale_button,-1) + self.activity.do_rescale_cb) + self.insert(self.activity.rescale_button, -1) self.activity.rescale_button.show() -""" -Edit toolbar: copy and paste text and stacks -""" class EditToolbar(gtk.Toolbar): def __init__(self, pc): + """ Edit toolbar: copy and paste text and stacks """ gtk.Toolbar.__init__(self) self.activity = pc @@ -1152,8 +1277,9 @@ class EditToolbar(gtk.Toolbar): def _copy_cb(self, button): clipBoard = gtk.Clipboard() _logger.debug("serialize the project and copy to clipboard") - text = tawindow.serialize_stack(self.activity.tw) - if text is not None: + data = self.activity.tw.assemble_data_to_save(False, False) + if data is not []: + text = data_to_string(data) clipBoard.set_text(text) def _paste_cb(self, button): @@ -1161,13 +1287,17 @@ class EditToolbar(gtk.Toolbar): _logger.debug("paste to the project") text = clipBoard.wait_for_text() if text is not None: - tawindow.clone_stack(self.activity.tw,text) + if self.activity.tw.selected_blk is not None and\ + self.activity.tw.selected_blk.name == 'string': + for i in text: + self.activity.tw.process_alphanumeric_input(i, -1) + self.activity.tw.selected_blk.resize() + else: + self.activity.tw.process_data(data_from_string(text)) -""" -Help toolbar: Just an icon and a label for displaying hover help -""" class HelpToolbar(gtk.Toolbar): def __init__(self, pc): + """ Help toolbar: Just an icon and a label for displaying hover help """ gtk.Toolbar.__init__(self) self.activity = pc @@ -1184,15 +1314,12 @@ class HelpToolbar(gtk.Toolbar): self.activity.hover_help_label.show() self.activity.hover_toolitem = gtk.ToolItem() self.activity.hover_toolitem.add(self.activity.hover_help_label) - self.insert(self.activity.hover_toolitem,-1) + self.insert(self.activity.hover_toolitem, -1) self.activity.hover_toolitem.show() -""" -SaveAs toolbar: (1) load samples; (2) save as HTML; (3) save as LOGO; -(4) save as PNG; and (5) import Python code. -""" class SaveAsToolbar(gtk.Toolbar): def __init__(self, pc): + """ SaveAs toolbar """ gtk.Toolbar.__init__(self) self.activity = pc @@ -1201,7 +1328,7 @@ class SaveAsToolbar(gtk.Toolbar): self.activity.save_as_html.set_tooltip(_('Save as HTML')) self.activity.save_as_html.props.sensitive = True self.activity.save_as_html.connect('clicked', \ - self.activity._do_save_as_html_cb) + self.activity.do_save_as_html_cb) self.insert(self.activity.save_as_html, -1) self.activity.save_as_html.show() @@ -1210,7 +1337,7 @@ class SaveAsToolbar(gtk.Toolbar): self.activity.save_as_logo.set_tooltip(_('Save Logo')) self.activity.save_as_logo.props.sensitive = True self.activity.save_as_logo.connect('clicked', \ - self.activity._do_save_as_logo_cb) + self.activity.do_save_as_logo_cb) self.insert(self.activity.save_as_logo, -1) self.activity.save_as_logo.show() @@ -1219,7 +1346,7 @@ class SaveAsToolbar(gtk.Toolbar): self.activity.save_as_image.set_tooltip(_('Save as image')) self.activity.save_as_image.props.sensitive = True self.activity.save_as_image.connect('clicked', \ - self.activity._do_save_as_image_cb) + self.activity.do_save_as_image_cb) self.insert(self.activity.save_as_image, -1) self.activity.save_as_image.show() @@ -1233,7 +1360,7 @@ class SaveAsToolbar(gtk.Toolbar): self.activity.load_python.set_tooltip(_('Load my block')) self.activity.load_python.props.sensitive = True self.activity.load_python.connect('clicked', \ - self.activity._do_load_python_cb) + self.activity.do_load_python_cb) self.insert(self.activity.load_python, -1) self.activity.load_python.show() @@ -1243,27 +1370,24 @@ class SaveAsToolbar(gtk.Toolbar): _("Import project from the Journal")) self.activity.load_ta_project.props.sensitive = True self.activity.load_ta_project.connect('clicked', \ - self.activity._do_load_ta_project_cb) + self.activity.do_load_ta_project_cb) self.insert(self.activity.load_ta_project, -1) self.activity.load_ta_project.show() -""" -Project toolbar: show/hide palettes; show/hide blocks; run; walk; stop; erase; - save as snapshot -""" class ProjectToolbar(gtk.Toolbar): def __init__(self, pc): + """ Project toolbar """ gtk.Toolbar.__init__(self) self.activity = pc # palette button (blocks) - self.activity.palette_button = ToolButton( "blocksoff" ) + self.activity.palette_button = ToolButton( "paletteoff" ) self.activity.palette_button.set_tooltip(_('Hide palette')) self.activity.palette_button.props.sensitive = True self.activity.palette_button.connect('clicked', \ - self.activity._do_palette_cb) + self.activity.do_palette_cb) try: self.activity.palette_button.props.accelerator = _('p') except: @@ -1276,7 +1400,7 @@ class ProjectToolbar(gtk.Toolbar): self.activity.blocks_button.set_tooltip(_('Hide blocks')) self.activity.blocks_button.props.sensitive = True self.activity.blocks_button.connect('clicked', \ - self.activity._do_hideshow_cb) + self.activity.do_hideshow_cb) try: self.activity.blocks_button.props.accelerator = _('b') except: @@ -1293,7 +1417,7 @@ class ProjectToolbar(gtk.Toolbar): self.activity.run_button = ToolButton( "run-fastoff" ) self.activity.run_button.set_tooltip(_('Run')) self.activity.run_button.props.sensitive = True - self.activity.run_button.connect('clicked', self.activity._do_run_cb) + self.activity.run_button.connect('clicked', self.activity.do_run_cb) try: self.activity.run_button.props.accelerator = _('r') except: @@ -1305,7 +1429,7 @@ class ProjectToolbar(gtk.Toolbar): self.activity.step_button = ToolButton( "run-slowoff" ) self.activity.step_button.set_tooltip(_('Step')) self.activity.step_button.props.sensitive = True - self.activity.step_button.connect('clicked', self.activity._do_step_cb) + self.activity.step_button.connect('clicked', self.activity.do_step_cb) try: self.activity.step_button.props.accelerator = _('w') except: @@ -1318,7 +1442,7 @@ class ProjectToolbar(gtk.Toolbar): self.activity.debug_button.set_tooltip(_('Debug')) self.activity.debug_button.props.sensitive = True self.activity.debug_button.connect('clicked', \ - self.activity._do_debug_cb) + self.activity.do_debug_cb) try: self.activity.debug_button.props.accelerator = _('d') except: @@ -1330,7 +1454,7 @@ class ProjectToolbar(gtk.Toolbar): self.activity.stop_button = ToolButton( "stopitoff" ) self.activity.stop_button.set_tooltip(_('Stop turtle')) self.activity.stop_button.props.sensitive = True - self.activity.stop_button.connect('clicked', self.activity._do_stop_cb) + self.activity.stop_button.connect('clicked', self.activity.do_stop_cb) try: self.activity.stop_button.props.accelerator = _('s') except: @@ -1348,7 +1472,7 @@ class ProjectToolbar(gtk.Toolbar): self.activity.eraser_button.set_tooltip(_('Clean')) self.activity.eraser_button.props.sensitive = True self.activity.eraser_button.connect('clicked', \ - self.activity._do_eraser_cb) + self.activity.do_eraser_cb) try: self.activity.eraser_button.props.accelerator = _('e') except: @@ -1370,7 +1494,7 @@ class ProjectToolbar(gtk.Toolbar): except: pass self.activity.keep_button.connect('clicked', \ - self.activity._do_keep_cb) + self.activity.do_keep_cb) self.insert(self.activity.keep_button, -1) self.activity.keep_button.show() @@ -1384,11 +1508,13 @@ class ProjectToolbar(gtk.Toolbar): self.activity.samples_button.set_tooltip(_('Samples')) self.activity.samples_button.props.sensitive = True self.activity.samples_button.connect('clicked', \ - self.activity._do_samples_cb) + self.activity.do_samples_cb) try: - self.activity.samples_button.props.accelerator = _('o') + self.activity.samples_button.props.accelerator = _('o') except: pass self.insert(self.activity.samples_button, -1) self.activity.samples_button.show() + + diff --git a/activity/activity.info b/activity/activity.info index 880667a..bf8ea51 100644 --- a/activity/activity.info +++ b/activity/activity.info @@ -1,6 +1,10 @@ [Activity] name = Turtle Art +<<<<<<< HEAD:activity/activity.info activity_version = 81 +======= +activity_version = 83 +>>>>>>> f1d5ed75c29961a718eb3c59fde1663c184f20cf:activity/activity.info license = MIT bundle_id = org.laptop.TurtleArtActivity exec = sugar-activity TurtleArtActivity.TurtleArtActivity diff --git a/activity/menu-icon.svg b/activity/menu-icon.svg new file mode 100644 index 0000000..433c130 --- /dev/null +++ b/activity/menu-icon.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icons/UCB-save.svg b/icons/UCB-save.svg deleted file mode 100644 index 08fb9e8..0000000 --- a/icons/UCB-save.svg +++ /dev/null @@ -1,135 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/icons/blocksoff.svg b/icons/blocksoff.svg index 8efee24..560981b 100644 --- a/icons/blocksoff.svg +++ b/icons/blocksoff.svg @@ -1,32 +1,96 @@ + + id="defs5"> + + + + + + + + + + + + + d="m 31.1663,14.065103 c 5.3328,0 5.3328,0 5.3328,0 0,0 1.377128,0.828768 1.83315,1.3332 0.465777,0.515223 1.16655,1.9998 1.16655,1.9998 l 0,6.332701 c 0,0 -0.738943,1.231094 -1.16655,1.6665 -0.476472,0.485161 -1.83315,1.3332 -1.83315,1.3332 l -5.6661,0 0,0 0,1.333199 -6.666,0 0,-1.333199 -5.6661,0 c 0,0 -1.356677,-0.848039 -1.83315,-1.3332 -0.427607,-0.435406 -1.16655,-1.6665 -1.16655,-1.6665 l 0,-6.332701 c 0,0 0.700773,-1.484577 1.16655,-1.9998 0.456022,-0.504432 1.83315,-1.3332 1.83315,-1.3332 l 5.3328,0 0,1.6665 7.3326,0 0,-1.6665 z" + id="path9" + style="fill:none;stroke:#ffffff;stroke-width:2.29999995;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - - X - + d="m 31.1663,26.936297 c 5.3328,0 5.3328,0 5.3328,0 0,0 1.377128,0.828767 1.83315,1.333199 0.465777,0.515223 1.16655,1.9998 1.16655,1.9998 l 0,6.332701 c 0,0 -0.738943,1.231095 -1.16655,1.666499 -0.476472,0.485162 -1.83315,1.333201 -1.83315,1.333201 l -5.6661,0 0,0 0,1.3332 -6.666,0 0,-1.3332 -5.6661,0 c 0,0 -1.356677,-0.848039 -1.83315,-1.333201 -0.427607,-0.435404 -1.16655,-1.666499 -1.16655,-1.666499 l 0,-6.332701 c 0,0 0.700773,-1.484577 1.16655,-1.9998 0.456022,-0.504432 1.83315,-1.333199 1.83315,-1.333199 l 5.3328,0 0,1.666499 7.3326,0 0,-1.666499 z" + id="path2559" + style="fill:none;stroke:#ffffff;stroke-width:2.29999995;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> diff --git a/icons/blockson.svg b/icons/blockson.svg index be6b729..df19fdb 100644 --- a/icons/blockson.svg +++ b/icons/blockson.svg @@ -1,34 +1,108 @@ + - + id="defs5"> + + + + + + + + + + + + + + transform="translate(-11.863578,-18.461929)" + id="g2457"> - - + - + d="m 43.029878,32.527032 c 5.3328,0 5.3328,0 5.3328,0 0,0 1.377128,0.828768 1.83315,1.3332 0.465777,0.515223 1.16655,1.9998 1.16655,1.9998 l 0,6.332701 c 0,0 -0.738943,1.231094 -1.16655,1.6665 -0.476472,0.485161 -1.83315,1.3332 -1.83315,1.3332 l -5.6661,0 0,0 0,1.333199 -6.666,0 0,-1.333199 -5.6661,0 c 0,0 -1.356677,-0.848039 -1.83315,-1.3332 -0.427607,-0.435406 -1.16655,-1.6665 -1.16655,-1.6665 l 0,-6.332701 c 0,0 0.700773,-1.484577 1.16655,-1.9998 0.456022,-0.504432 1.83315,-1.3332 1.83315,-1.3332 l 5.3328,0 0,1.6665 7.3326,0 0,-1.6665 z" + id="path9" + style="fill:url(#linearGradient2461);fill-opacity:1;stroke:#c0a000;stroke-width:0.66659999;stroke-opacity:1" /> + diff --git a/icons/colorsoff.svg b/icons/colorsoff.svg new file mode 100644 index 0000000..b542d6b --- /dev/null +++ b/icons/colorsoff.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + diff --git a/icons/colorson.svg b/icons/colorson.svg new file mode 100644 index 0000000..9cd4ef1 --- /dev/null +++ b/icons/colorson.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + diff --git a/icons/debugoff.svg b/icons/debugoff.svg index 6ba2790..cf70e7e 100644 --- a/icons/debugoff.svg +++ b/icons/debugoff.svg @@ -1,141 +1,141 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + transform="matrix(0.81818179,0,0,0.81818179,2.9325954e-7,1.8913349e-6)" + id="g2941"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icons/debugon.svg b/icons/debugon.svg index 491ae78..6232a99 100644 --- a/icons/debugon.svg +++ b/icons/debugon.svg @@ -1,141 +1,146 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + transform="matrix(0.81818179,0,0,0.81818179,2.9325954e-7,1.8913349e-6)" + id="g2886"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icons/eraseroff.svg b/icons/eraseroff.svg index dcb3ae3..5ced823 100644 --- a/icons/eraseroff.svg +++ b/icons/eraseroff.svg @@ -1,91 +1,33 @@ + - - - - image/svg+xml - - - - + id="svg2"> - - - - + id="defs5" /> + style="fill:#c44000;fill-opacity:1;stroke:#a00000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#c44000;fill-opacity:1;stroke:#a00000;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#c4a000;fill-opacity:1;stroke:#a00000;stroke-width:1.5;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#c4a000;fill-opacity:1;stroke:#a00000;stroke-width:1.5;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#e0d000;fill-opacity:1;stroke:#a00000;stroke-width:1.5;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none" /> diff --git a/icons/eraseron.svg b/icons/eraseron.svg index 9ffbb5e..27a5ffd 100644 --- a/icons/eraseron.svg +++ b/icons/eraseron.svg @@ -1,91 +1,38 @@ + - - - - image/svg+xml - - - - + id="svg2"> - - - - - - - - - + id="defs5" /> + + + + + + + diff --git a/icons/extrasoff.svg b/icons/extrasoff.svg new file mode 100644 index 0000000..9d863d0 --- /dev/null +++ b/icons/extrasoff.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + diff --git a/icons/extrason.svg b/icons/extrason.svg new file mode 100644 index 0000000..3d2cd85 --- /dev/null +++ b/icons/extrason.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + diff --git a/icons/filesave.svg b/icons/filesave.svg new file mode 100644 index 0000000..b84a374 --- /dev/null +++ b/icons/filesave.svg @@ -0,0 +1,30 @@ + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/icons/flowoff.svg b/icons/flowoff.svg new file mode 100644 index 0000000..13b11c5 --- /dev/null +++ b/icons/flowoff.svg @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/icons/flowon.svg b/icons/flowon.svg new file mode 100644 index 0000000..b115fa7 --- /dev/null +++ b/icons/flowon.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + diff --git a/icons/help-toolbar.svg b/icons/help-toolbar.svg index d997562..40d6369 100644 --- a/icons/help-toolbar.svg +++ b/icons/help-toolbar.svg @@ -1,4 +1,6 @@ + + + d="m 50,27.625 c 0,12.3431 -10.1569,22.5 -22.5,22.5 C 15.1569,50.125 5,39.9681 5,27.625 5,15.2819 15.1569,5.125 27.5,5.125 c 12.3431,0 22.5,10.1569 22.5,22.5 z" + id="path6" + style="fill:#404040;fill-opacity:1" /> + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.25;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> diff --git a/icons/hideshowoff.svg b/icons/hideshowoff.svg index 19b49a3..3db14c9 100644 --- a/icons/hideshowoff.svg +++ b/icons/hideshowoff.svg @@ -1,134 +1,28 @@ + + - - - - image/svg+xml - - - - - + version="1.0" + width="55" + height="55" + id="svg2"> - - - - - - - - - - + id="defs6" /> - - - + d="m 1.5,25.5 0,-8 a 8,8 0 0 1 8,-8 l 8,0 0,4 20,0 0,-4 8,0 a 8,8 0 0 1 8,8 l 0,8 0,8 a 8,8 0 0 1 -8,8 l -8,0 -2,0 0,4 -16,0 0,-4 -2,0 -8,0 a 8,8 0 0 1 -8,-8 l 0,-8 z" + id="path2882" + style="fill:#404040;fill-opacity:1;stroke:#ffffff;stroke-width:2.5;stroke-linecap:square;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + + width="10" + height="2" + x="22.5" + y="26.5" + id="rect2844" + style="fill:#404040;fill-opacity:1;fill-rule:nonzero;stroke:#404040;stroke-width:1.5;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> diff --git a/icons/hideshowon.svg b/icons/hideshowon.svg index b6c328d..326b32c 100644 --- a/icons/hideshowon.svg +++ b/icons/hideshowon.svg @@ -1,54 +1,39 @@ + + id="linearGradient3689"> - - + gradientTransform="translate(0.5,8.5)" /> + d="m 1.5,25.5 0,-8 a 8,8 0 0 1 8,-8 l 8,0 0,4 20,0 0,-4 8,0 a 8,8 0 0 1 8,8 l 0,8 0,8 a 8,8 0 0 1 -8,8 l -8,0 -2,0 0,4 -16,0 0,-4 -2,0 -8,0 a 8,8 0 0 1 -8,-8 l 0,-8 z" + id="path2882" + style="fill:url(#linearGradient3695);fill-opacity:1;stroke:#a08000;stroke-width:2;stroke-linecap:square;stroke-opacity:1" /> diff --git a/icons/htmloff.svg b/icons/htmloff.svg index fe0c01a..d6f83c6 100644 --- a/icons/htmloff.svg +++ b/icons/htmloff.svg @@ -1,81 +1,23 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file + + +]> + + + + + + + + + + + + + + + + + + + diff --git a/icons/htmlon.svg b/icons/htmlon.svg index af7331e..c4e50b8 100644 --- a/icons/htmlon.svg +++ b/icons/htmlon.svg @@ -1,66 +1,70 @@ + - - - - - - - - - - - \ No newline at end of file + id="defs33"> + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/icons/image-saveoff.svg b/icons/image-saveoff.svg index 2a8b197..b1b485f 100644 --- a/icons/image-saveoff.svg +++ b/icons/image-saveoff.svg @@ -1,66 +1,16 @@ - - - - - - - - - - - + + +]> + + + + + + + + + + + + diff --git a/icons/image-saveon.svg b/icons/image-saveon.svg index 933aa9e..b4e9270 100644 --- a/icons/image-saveon.svg +++ b/icons/image-saveon.svg @@ -1,53 +1,47 @@ + - - - - - - - - - \ No newline at end of file + id="defs23"> + + + + + + + + + + + + \ No newline at end of file diff --git a/icons/load-from-journal.svg b/icons/load-from-journal.svg index f111ac2..f30a6f1 100644 --- a/icons/load-from-journal.svg +++ b/icons/load-from-journal.svg @@ -1,148 +1,84 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ - \ No newline at end of file + id="defs25"> + + + + + + + + \ No newline at end of file diff --git a/icons/logo-saveoff.svg b/icons/logo-saveoff.svg index 602af75..0c3dfe2 100644 --- a/icons/logo-saveoff.svg +++ b/icons/logo-saveoff.svg @@ -1,23 +1,19 @@ + - - - - - - - - + id="defs33"> + + + @@ -27,123 +23,74 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + d="m 12.896306,26.571676 c 0.954,0 1.864,0.2055 2.709,0.564 0.3705,-0.538 0.589,-1.1885 0.589,-1.8915 0,-1.8435 -1.4945,-3.3385 -3.3385,-3.3385 -1.8435,0 -3.3380001,1.495 -3.3380001,3.3385 0,0.714 0.226,1.3745 0.6080001,1.917 0.862,-0.3745 1.7935,-0.5895 2.7705,-0.5895 z" + id="path23" + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + transform="matrix(0.5,0,0,0.5,-0.8521941,20.290176)" + id="g28" + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - - \ No newline at end of file + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + \ No newline at end of file diff --git a/icons/logo-saveon.svg b/icons/logo-saveon.svg index 7a3f231..9c9ae52 100644 --- a/icons/logo-saveon.svg +++ b/icons/logo-saveon.svg @@ -1,15 +1,20 @@ + + id="defs33"> + + + + @@ -18,92 +23,75 @@ - - - - - - + + + + + + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + d="m 12.896306,26.571676 c 0.954,0 1.864,0.2055 2.709,0.564 0.3705,-0.538 0.589,-1.1885 0.589,-1.8915 0,-1.8435 -1.4945,-3.3385 -3.3385,-3.3385 -1.8435,0 -3.3380001,1.495 -3.3380001,3.3385 0,0.714 0.226,1.3745 0.6080001,1.917 0.862,-0.3745 1.7935,-0.5895 2.7705,-0.5895 z" + id="path23" + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + transform="matrix(0.5,0,0,0.5,-0.8521941,20.290176)" + id="g28" + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - - \ No newline at end of file + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + \ No newline at end of file diff --git a/icons/numbersoff.svg b/icons/numbersoff.svg new file mode 100644 index 0000000..cffabf7 --- /dev/null +++ b/icons/numbersoff.svg @@ -0,0 +1,38 @@ + + + + + + + 123 + +–= + + diff --git a/icons/numberson.svg b/icons/numberson.svg new file mode 100644 index 0000000..124994e --- /dev/null +++ b/icons/numberson.svg @@ -0,0 +1,46 @@ + + + + + + + + 123 + +–= + + diff --git a/icons/palette.svg b/icons/palette.svg new file mode 100644 index 0000000..48b4b36 --- /dev/null +++ b/icons/palette.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/icons/paletteoff.svg b/icons/paletteoff.svg new file mode 100644 index 0000000..1964c0a --- /dev/null +++ b/icons/paletteoff.svg @@ -0,0 +1,28 @@ + + + + + + + + + diff --git a/icons/paletteon.svg b/icons/paletteon.svg new file mode 100644 index 0000000..cd9f594 --- /dev/null +++ b/icons/paletteon.svg @@ -0,0 +1,36 @@ + + + + + + + + + + diff --git a/icons/penoff.svg b/icons/penoff.svg new file mode 100644 index 0000000..109c0d6 --- /dev/null +++ b/icons/penoff.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + diff --git a/icons/penon.svg b/icons/penon.svg new file mode 100644 index 0000000..c717a9e --- /dev/null +++ b/icons/penon.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + diff --git a/icons/pippy-openoff.svg b/icons/pippy-openoff.svg index 628c207..0a11627 100644 --- a/icons/pippy-openoff.svg +++ b/icons/pippy-openoff.svg @@ -1,50 +1,66 @@ + - - - - - - \ No newline at end of file + id="defs25"> + + + + + + + + \ No newline at end of file diff --git a/icons/pippy-openon.svg b/icons/pippy-openon.svg index 0209ba6..687120e 100644 --- a/icons/pippy-openon.svg +++ b/icons/pippy-openon.svg @@ -1,63 +1,66 @@ + - - - - - - - - - + id="defs25"> + + - - - - - - - \ No newline at end of file + + + \ No newline at end of file diff --git a/icons/portfoliooff.svg b/icons/portfoliooff.svg new file mode 100644 index 0000000..d428a91 --- /dev/null +++ b/icons/portfoliooff.svg @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icons/portfolioon.svg b/icons/portfolioon.svg new file mode 100644 index 0000000..fa4ddf6 --- /dev/null +++ b/icons/portfolioon.svg @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icons/resize+.svg b/icons/resize+.svg new file mode 100644 index 0000000..0fae3c3 --- /dev/null +++ b/icons/resize+.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/icons/resize-.svg b/icons/resize-.svg new file mode 100644 index 0000000..e3b719e --- /dev/null +++ b/icons/resize-.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/icons/run-fastoff.svg b/icons/run-fastoff.svg index f76570f..401955e 100644 --- a/icons/run-fastoff.svg +++ b/icons/run-fastoff.svg @@ -1,5 +1,6 @@ + - + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + style="fill:#ffffff;fill-opacity:1;stroke:none" /> diff --git a/icons/run-slowoff.svg b/icons/run-slowoff.svg index f120056..988759b 100644 --- a/icons/run-slowoff.svg +++ b/icons/run-slowoff.svg @@ -1,5 +1,6 @@ + - \ No newline at end of file + style="fill:#a0ffa0;fill-opacity:1;stroke:#00c000;stroke-width:1.5;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> \ No newline at end of file diff --git a/icons/run-slowon.svg b/icons/run-slowon.svg index d8f9162..1a0883b 100644 --- a/icons/run-slowon.svg +++ b/icons/run-slowon.svg @@ -1,5 +1,6 @@ + \ No newline at end of file + style="fill:#00d000;fill-opacity:1;stroke:#00d000;stroke-width:1.5;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> \ No newline at end of file diff --git a/icons/stopitoff.svg b/icons/stopitoff.svg index 78117ec..de041ea 100644 --- a/icons/stopitoff.svg +++ b/icons/stopitoff.svg @@ -1,96 +1,22 @@ + - - - - image/svg+xml - - - - + id="svg2"> - - - - + id="defs5" /> + style="fill:none;stroke:#ffffff;stroke-width:3.31833673;stroke-opacity:1" /> + style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.5;stroke-opacity:1" /> diff --git a/icons/trashoff.svg b/icons/trashoff.svg new file mode 100644 index 0000000..8ebfb39 --- /dev/null +++ b/icons/trashoff.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + diff --git a/icons/trashon.svg b/icons/trashon.svg new file mode 100644 index 0000000..01e9cd2 --- /dev/null +++ b/icons/trashon.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + diff --git a/icons/turtleoff.svg b/icons/turtleoff.svg new file mode 100644 index 0000000..34af2f3 --- /dev/null +++ b/icons/turtleoff.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icons/turtleon.svg b/icons/turtleon.svg new file mode 100644 index 0000000..bd19cff --- /dev/null +++ b/icons/turtleon.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/1x1.svg b/images/1x1.svg new file mode 100644 index 0000000..3742c13 --- /dev/null +++ b/images/1x1.svg @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/1x1a.svg b/images/1x1a.svg new file mode 100644 index 0000000..5b93089 --- /dev/null +++ b/images/1x1a.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/1x2.svg b/images/1x2.svg new file mode 100644 index 0000000..c4358b3 --- /dev/null +++ b/images/1x2.svg @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/2x1.svg b/images/2x1.svg new file mode 100644 index 0000000..c7d92c4 --- /dev/null +++ b/images/2x1.svg @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/2x2.svg b/images/2x2.svg new file mode 100644 index 0000000..93a8b82 --- /dev/null +++ b/images/2x2.svg @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/Cartesian_labeled.svg b/images/Cartesian_labeled.svg new file mode 100644 index 0000000..e70bb9b --- /dev/null +++ b/images/Cartesian_labeled.svg @@ -0,0 +1,375 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100 + 200 + 300 + 400 + 500 + 400 + 300 + 200 + 100 + –100 + –200 + –300 + –400 + –500 + –100 + –200 + –300 + –400 + 0 + (–500, 400) + (500, 400) + (500, –400) + (–500, –400) + diff --git a/images/audiooff.svg b/images/audiooff.svg new file mode 100644 index 0000000..ca89538 --- /dev/null +++ b/images/audiooff.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/audioon.svg b/images/audioon.svg index b38bb63..f71bd06 100644 --- a/images/audioon.svg +++ b/images/audioon.svg @@ -1,12 +1,13 @@ + @@ -31,22 +32,18 @@ gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.7750554,0,0,0.9997979,0.8784441,32.623865)" /> - + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> diff --git a/images/audiosmall.svg b/images/audiosmall.svg new file mode 100644 index 0000000..f922aac --- /dev/null +++ b/images/audiosmall.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/blocks-.svg b/images/blocks-.svg deleted file mode 100644 index 7bd2cc0..0000000 --- a/images/blocks-.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/images/de/flow/flowgroup.svg b/images/de/flow/flowgroup.svg deleted file mode 100644 index 6f6ca67..0000000 --- a/images/de/flow/flowgroup.svg +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Programmfluss - - - - - - - - - warte - - - - fortlau- - - - fend - - - - wieder- - - - hole - - - - wenn - - - dann - - - - beende - - - Aktion - - - - wenn - - - dann - - - sonst - - - - diff --git a/images/de/flow/forever.svg b/images/de/flow/forever.svg deleted file mode 100644 index 0161caf..0000000 --- a/images/de/flow/forever.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - fortlau- - - fend - diff --git a/images/de/flow/hspace.svg b/images/de/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/de/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/de/flow/if.svg b/images/de/flow/if.svg deleted file mode 100644 index bed1aac..0000000 --- a/images/de/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - wenn - - dann - diff --git a/images/de/flow/ifelse.svg b/images/de/flow/ifelse.svg deleted file mode 100644 index f2314f0..0000000 --- a/images/de/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - wenn - - dann - - sonst - \ No newline at end of file diff --git a/images/de/flow/lock.svg b/images/de/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/de/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/flow/repeat.svg b/images/de/flow/repeat.svg deleted file mode 100644 index 79f3dbb..0000000 --- a/images/de/flow/repeat.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - wieder- - hole - diff --git a/images/de/flow/stopstack.svg b/images/de/flow/stopstack.svg deleted file mode 100644 index f100d77..0000000 --- a/images/de/flow/stopstack.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - beendeAktion - diff --git a/images/de/flow/vspace.svg b/images/de/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/de/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/de/flow/wait.svg b/images/de/flow/wait.svg deleted file mode 100644 index 5b55db6..0000000 --- a/images/de/flow/wait.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - warte - - diff --git a/images/de/myblocks/box.svg b/images/de/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/de/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/myblocks/box1.svg b/images/de/myblocks/box1.svg deleted file mode 100644 index c3ddef1..0000000 --- a/images/de/myblocks/box1.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - Schachtel 1 - - diff --git a/images/de/myblocks/box2.svg b/images/de/myblocks/box2.svg deleted file mode 100644 index a86dc69..0000000 --- a/images/de/myblocks/box2.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - Schachtel 2 - - diff --git a/images/de/myblocks/hat.svg b/images/de/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/de/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/myblocks/hat1.svg b/images/de/myblocks/hat1.svg deleted file mode 100644 index 0eda095..0000000 --- a/images/de/myblocks/hat1.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - Aktion 1 - - - diff --git a/images/de/myblocks/hat2.svg b/images/de/myblocks/hat2.svg deleted file mode 100644 index dcd8fc3..0000000 --- a/images/de/myblocks/hat2.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - Aktion 2 - - - diff --git a/images/de/myblocks/myblocksgroup.svg b/images/de/myblocks/myblocksgroup.svg deleted file mode 100644 index 27d2f6e..0000000 --- a/images/de/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,907 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lege in - - - - - - - - - - - - X - - - Meine Blöcke - - - - Aktion 1 - - - - Aktion 1 - - - - Aktion 2 - - - - Aktion 2 - - - - - - - - lege - - - in - - - Schachtel1 - - - - Schachtel1 - - - - - - - - lege - - - in - - - Schachtel2 - - - - Schachtel2 - - - - - - - Name - - - - - Start - - - Schachtel - - - - - - Schachtel - - - - Aktion - - - Aktion - - diff --git a/images/de/myblocks/stack.svg b/images/de/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/de/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/myblocks/stack1.svg b/images/de/myblocks/stack1.svg deleted file mode 100644 index c1e07a9..0000000 --- a/images/de/myblocks/stack1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - Aktion 1 - - diff --git a/images/de/myblocks/stack2.svg b/images/de/myblocks/stack2.svg deleted file mode 100644 index d7fe9c0..0000000 --- a/images/de/myblocks/stack2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - Aktion 2 - - diff --git a/images/de/myblocks/start.svg b/images/de/myblocks/start.svg deleted file mode 100644 index 4a5dbc5..0000000 --- a/images/de/myblocks/start.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - Start - - - \ No newline at end of file diff --git a/images/de/myblocks/storein.svg b/images/de/myblocks/storein.svg deleted file mode 100644 index a3885a7..0000000 --- a/images/de/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lege in - - diff --git a/images/de/myblocks/storeinbox.svg b/images/de/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/de/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/myblocks/storeinbox1.svg b/images/de/myblocks/storeinbox1.svg deleted file mode 100644 index 8b5d0d5..0000000 --- a/images/de/myblocks/storeinbox1.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - lege - - - in - - - Schachtel 1 - - diff --git a/images/de/myblocks/storeinbox2.svg b/images/de/myblocks/storeinbox2.svg deleted file mode 100644 index 64a0b0b..0000000 --- a/images/de/myblocks/storeinbox2.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - lege - - - in - - - Schachtel 2 - - diff --git a/images/de/myblocks/string.svg b/images/de/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/de/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/de/numbers/and.svg b/images/de/numbers/and.svg deleted file mode 100644 index 7e7710d..0000000 --- a/images/de/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - und - diff --git a/images/de/numbers/division.svg b/images/de/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/de/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/de/numbers/division2.svg b/images/de/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/de/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/de/numbers/equal.svg b/images/de/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/de/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/de/numbers/greater.svg b/images/de/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/de/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/de/numbers/identity.svg b/images/de/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/de/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/numbers/identity2.svg b/images/de/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/de/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/numbers/less.svg b/images/de/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/de/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/de/numbers/minus.svg b/images/de/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/de/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/de/numbers/minus2.svg b/images/de/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/de/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/numbers/not.svg b/images/de/numbers/not.svg deleted file mode 100644 index 304114d..0000000 --- a/images/de/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - nicht - diff --git a/images/de/numbers/number.svg b/images/de/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/de/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/de/numbers/numbersgroup.svg b/images/de/numbers/numbersgroup.svg deleted file mode 100644 index e0fd8d8..0000000 --- a/images/de/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Zahlen - - - - - - - - - - - - - - - - - - - - - - Zufallszahl - - - - - - = - - - - - - < - - - - - - > - - - - und - - - - oder - - - - nicht - - - - - - schreibe - - - Zahl - - - min - - - max - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/de/numbers/or.svg b/images/de/numbers/or.svg deleted file mode 100644 index 46f666d..0000000 --- a/images/de/numbers/or.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - oder - - diff --git a/images/de/numbers/plus.svg b/images/de/numbers/plus.svg deleted file mode 100644 index ff30535..0000000 --- a/images/de/numbers/plus.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - + - diff --git a/images/de/numbers/plus2.svg b/images/de/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/de/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/de/numbers/print.svg b/images/de/numbers/print.svg deleted file mode 100644 index c322a74..0000000 --- a/images/de/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - schreibe - - diff --git a/images/de/numbers/product.svg b/images/de/numbers/product.svg deleted file mode 100644 index 576934b..0000000 --- a/images/de/numbers/product.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - × - diff --git a/images/de/numbers/product2.svg b/images/de/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/de/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/de/numbers/random.svg b/images/de/numbers/random.svg deleted file mode 100644 index 6cadb13..0000000 --- a/images/de/numbers/random.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Zufallszahl - - diff --git a/images/de/numbers/remainder.svg b/images/de/numbers/remainder.svg deleted file mode 100644 index 7d715d9..0000000 --- a/images/de/numbers/remainder.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - mod - diff --git a/images/de/numbers/remainder2.svg b/images/de/numbers/remainder2.svg deleted file mode 100644 index 5f1a0bc..0000000 --- a/images/de/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/de/numbers/sqrt.svg b/images/de/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/de/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/de/pen/blue.svg b/images/de/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/de/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/de/pen/color.svg b/images/de/pen/color.svg deleted file mode 100644 index e387864..0000000 --- a/images/de/pen/color.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - Farbe - - - \ No newline at end of file diff --git a/images/de/pen/cyan.svg b/images/de/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/de/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/de/pen/fillscreen.svg b/images/de/pen/fillscreen.svg deleted file mode 100644 index e3a93ce..0000000 --- a/images/de/pen/fillscreen.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - fülle Bild-schirm - - Farbe - - Farbton - - diff --git a/images/de/pen/green.svg b/images/de/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/de/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/de/pen/orange.svg b/images/de/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/de/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/de/pen/pendown.svg b/images/de/pen/pendown.svg deleted file mode 100644 index 11b4f96..0000000 --- a/images/de/pen/pendown.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - senke - - - Stift ab - - - diff --git a/images/de/pen/pengroup.svg b/images/de/pen/pengroup.svg deleted file mode 100644 index 197dea6..0000000 --- a/images/de/pen/pengroup.svg +++ /dev/null @@ -1,748 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Stift - - - - hebe - - - Stift an - - - - senke - - - Stift ab - - - - - - setze - - - Stift- - - - dicke - - - - - - - setze - - - Farbe - - - - - - - - setze - - - Farbton - - - - - - - - - fülle Bild- - - - schirm - - - Farbe - - - Farbton - - - - - Stiftdicke - - - - - - Schriftdicke - - - - - - Farbe - - - - - - - - setze - - - Schrift- - - - dicke - - - - - - Farbton - - - - - - - - - - - - - - diff --git a/images/de/pen/pensize.svg b/images/de/pen/pensize.svg deleted file mode 100644 index b9866e4..0000000 --- a/images/de/pen/pensize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - Stiftdicke - - - \ No newline at end of file diff --git a/images/de/pen/penup.svg b/images/de/pen/penup.svg deleted file mode 100644 index 441afec..0000000 --- a/images/de/pen/penup.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - hebe - - - Stift an - - - diff --git a/images/de/pen/purple.svg b/images/de/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/de/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/de/pen/red.svg b/images/de/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/de/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/de/pen/setcolor.svg b/images/de/pen/setcolor.svg deleted file mode 100644 index 2735f90..0000000 --- a/images/de/pen/setcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - setze - - - Farbe - - diff --git a/images/de/pen/setpensize.svg b/images/de/pen/setpensize.svg deleted file mode 100644 index 8a5d3f8..0000000 --- a/images/de/pen/setpensize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - setze - - - Stift- - - - dicke - - diff --git a/images/de/pen/setshade.svg b/images/de/pen/setshade.svg deleted file mode 100644 index c6f17c6..0000000 --- a/images/de/pen/setshade.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - setze - - - Farbton - - diff --git a/images/de/pen/settextcolor.svg b/images/de/pen/settextcolor.svg deleted file mode 100644 index 042bd57..0000000 --- a/images/de/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - setze - - - Schrift- - - - farbe - - diff --git a/images/de/pen/settextsize.svg b/images/de/pen/settextsize.svg deleted file mode 100644 index 0ec3c36..0000000 --- a/images/de/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - setze - - - Schrift- - - - dicke - - diff --git a/images/de/pen/shade.svg b/images/de/pen/shade.svg deleted file mode 100644 index 24dcc58..0000000 --- a/images/de/pen/shade.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - Farbton - - - diff --git a/images/de/pen/textcolor.svg b/images/de/pen/textcolor.svg deleted file mode 100644 index 719f4ea..0000000 --- a/images/de/pen/textcolor.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - Schriftfarbe - - diff --git a/images/de/pen/textsize.svg b/images/de/pen/textsize.svg deleted file mode 100644 index 7f40d19..0000000 --- a/images/de/pen/textsize.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - Schriftdicke - - diff --git a/images/de/pen/yellow.svg b/images/de/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/de/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/de/sensors/bottompos.svg b/images/de/sensors/bottompos.svg deleted file mode 100644 index b59d994..0000000 --- a/images/de/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - unten - - diff --git a/images/de/sensors/clearheap.svg b/images/de/sensors/clearheap.svg deleted file mode 100644 index 1bdb028..0000000 --- a/images/de/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - leerer - - - Stapel - - diff --git a/images/de/sensors/hres.svg b/images/de/sensors/hres.svg deleted file mode 100644 index 6f41543..0000000 --- a/images/de/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - Breite - - diff --git a/images/de/sensors/kbinput.svg b/images/de/sensors/kbinput.svg deleted file mode 100644 index 6f88790..0000000 --- a/images/de/sensors/kbinput.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - lies - - - Taste - - - aus - - diff --git a/images/de/sensors/keyboard.svg b/images/de/sensors/keyboard.svg deleted file mode 100644 index 2904eb2..0000000 --- a/images/de/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - Tastatur - - diff --git a/images/de/sensors/leftpos.svg b/images/de/sensors/leftpos.svg deleted file mode 100644 index 084bf11..0000000 --- a/images/de/sensors/leftpos.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - drehe links - - diff --git a/images/de/sensors/myfunc.svg b/images/de/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/de/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/sensors/nop-loaded.svg b/images/de/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/de/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/sensors/nop.svg b/images/de/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/de/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/sensors/pop.svg b/images/de/sensors/pop.svg deleted file mode 100644 index 568fcd9..0000000 --- a/images/de/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - pop - - diff --git a/images/de/sensors/printheap.svg b/images/de/sensors/printheap.svg deleted file mode 100644 index a4167fc..0000000 --- a/images/de/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - zeige - - - Stapel - - diff --git a/images/de/sensors/push.svg b/images/de/sensors/push.svg deleted file mode 100644 index 9683008..0000000 --- a/images/de/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - push - - diff --git a/images/de/sensors/rightpos.svg b/images/de/sensors/rightpos.svg deleted file mode 100644 index 23ba47c..0000000 --- a/images/de/sensors/rightpos.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - drehe rechts - - diff --git a/images/de/sensors/sensorsgroup.svg b/images/de/sensors/sensorsgroup.svg deleted file mode 100644 index 7597ddc..0000000 --- a/images/de/sensors/sensorsgroup.svg +++ /dev/null @@ -1,601 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Extras - - - - lies - - - Taste - - - - Tastatur - - - - - Breite - - - - - - Höhe - - - - - - - - - - x - - - - - - - pop - - - - - - - zeige - - - Stapel - - - - - - leerer - - - Stapel - - - - - - - - push - - - - - - - drehe links - - - - - oben - - - - - drehe rechts - - - - - unten - - - - - - - - - aus - - diff --git a/images/de/sensors/toppos.svg b/images/de/sensors/toppos.svg deleted file mode 100644 index 8dd732f..0000000 --- a/images/de/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - oben - - diff --git a/images/de/sensors/vres.svg b/images/de/sensors/vres.svg deleted file mode 100644 index cbecbc6..0000000 --- a/images/de/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - Höhe - - diff --git a/images/de/templates/audiooff.svg b/images/de/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/de/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/templates/descriptionoff.svg b/images/de/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/de/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/de/templates/hideblocks.svg b/images/de/templates/hideblocks.svg deleted file mode 100644 index abbd464..0000000 --- a/images/de/templates/hideblocks.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - Blöcke - - - verbergen - - diff --git a/images/de/templates/journal.svg b/images/de/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/de/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/templates/sound.svg b/images/de/templates/sound.svg deleted file mode 100644 index a875bcb..0000000 --- a/images/de/templates/sound.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Klang - - - \ No newline at end of file diff --git a/images/de/templates/template1.svg b/images/de/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/de/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/templates/template2.svg b/images/de/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/de/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/templates/template3.svg b/images/de/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/de/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/templates/template4.svg b/images/de/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/de/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/templates/template6.svg b/images/de/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/de/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/templates/template7.svg b/images/de/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/de/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/templates/templatesgroup.svg b/images/de/templates/templatesgroup.svg deleted file mode 100644 index a5c97a1..0000000 --- a/images/de/templates/templatesgroup.svg +++ /dev/null @@ -1,773 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Vorlagen - - - - Blöcke - - - verbergen - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/turtle/arc.svg b/images/de/turtle/arc.svg deleted file mode 100644 index a928cc6..0000000 --- a/images/de/turtle/arc.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - Kreis- - - bogen - - Winkel - - Radius - - diff --git a/images/de/turtle/back.svg b/images/de/turtle/back.svg deleted file mode 100644 index 8f5f5e9..0000000 --- a/images/de/turtle/back.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - gehe - - - rückwärts - - diff --git a/images/de/turtle/clean.svg b/images/de/turtle/clean.svg deleted file mode 100644 index 54f29fa..0000000 --- a/images/de/turtle/clean.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - Alles - - - löschen - - diff --git a/images/de/turtle/container.svg b/images/de/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/de/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/de/turtle/forward.svg b/images/de/turtle/forward.svg deleted file mode 100644 index af0f632..0000000 --- a/images/de/turtle/forward.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - gehe - - - vorwärts - - - diff --git a/images/de/turtle/heading.svg b/images/de/turtle/heading.svg deleted file mode 100644 index 4e43666..0000000 --- a/images/de/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - Richtung - - diff --git a/images/de/turtle/image.svg b/images/de/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/de/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/de/turtle/left.svg b/images/de/turtle/left.svg deleted file mode 100644 index 21ecae6..0000000 --- a/images/de/turtle/left.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - drehe - - - links - - - diff --git a/images/de/turtle/right.svg b/images/de/turtle/right.svg deleted file mode 100644 index c1935c4..0000000 --- a/images/de/turtle/right.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - drehe - - - rechts - - - diff --git a/images/de/turtle/scale.svg b/images/de/turtle/scale.svg deleted file mode 100644 index 4f7e2ce..0000000 --- a/images/de/turtle/scale.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - Skalierung - - diff --git a/images/de/turtle/seth.svg b/images/de/turtle/seth.svg deleted file mode 100644 index 595ed55..0000000 --- a/images/de/turtle/seth.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - setze - - - Richtung - - - diff --git a/images/de/turtle/setscale.svg b/images/de/turtle/setscale.svg deleted file mode 100644 index 137a65e..0000000 --- a/images/de/turtle/setscale.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - setze - - - Skalierung - - diff --git a/images/de/turtle/setxy.svg b/images/de/turtle/setxy.svg deleted file mode 100644 index f8de22c..0000000 --- a/images/de/turtle/setxy.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - setze - - x - - y - - diff --git a/images/de/turtle/show.svg b/images/de/turtle/show.svg deleted file mode 100644 index 1c12f26..0000000 --- a/images/de/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - zeige - - - diff --git a/images/de/turtle/turtlegroup.svg b/images/de/turtle/turtlegroup.svg deleted file mode 100644 index 12b0326..0000000 --- a/images/de/turtle/turtlegroup.svg +++ /dev/null @@ -1,955 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - löschen - - - - - - vorwärts - - - - - - rückwärts - - - - - - links - - - - - - drehe - - - - - - - - Kreis- - - - bogen - - - Winkel - Radius - - - - - - - - setze - - - x - y - - - - - - setze - - - Richtung - - - - x-Wert - - - - y-Wert - - - - Richtung - - - Turtle - - - - - - - - - - - - zeige - - - - - - setze - - - Skalierung - - - - - - - - - - - - zeige - - - - Alles - - - gehe - - - gehe - - - drehe - - - rechts - - diff --git a/images/de/turtle/write.svg b/images/de/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/de/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/de/turtle/xcor.svg b/images/de/turtle/xcor.svg deleted file mode 100644 index 64afd65..0000000 --- a/images/de/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - x-Wert - - diff --git a/images/de/turtle/ycor.svg b/images/de/turtle/ycor.svg deleted file mode 100644 index 0dcca4a..0000000 --- a/images/de/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - y-Wert - - diff --git a/images/descriptionoff.svg b/images/descriptionoff.svg new file mode 100644 index 0000000..4966738 --- /dev/null +++ b/images/descriptionoff.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/descriptionon.svg b/images/descriptionon.svg index 235d9aa..07edcdd 100644 --- a/images/descriptionon.svg +++ b/images/descriptionon.svg @@ -1,12 +1,13 @@ + @@ -31,27 +32,27 @@ gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.7083638,0,0,1.0012565,0.1338084,32.632067)" /> - - - - - + + + + + + diff --git a/images/descriptionsmall.svg b/images/descriptionsmall.svg new file mode 100644 index 0000000..93c52d8 --- /dev/null +++ b/images/descriptionsmall.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/el/flow/flowgroup.svg b/images/el/flow/flowgroup.svg deleted file mode 100644 index ebe2e02..0000000 --- a/images/el/flow/flowgroup.svg +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Ροή - - - - - - - - - αναμονή - - - - για - - - πάντα - - - - επανάληψη - - - - εάν - - - τότε - - - - σταμάτημα - - - στοίβας - - - - εάν - - - τότε - - - αλλιώς - - - - diff --git a/images/el/flow/forever.svg b/images/el/flow/forever.svg deleted file mode 100644 index ddd36d6..0000000 --- a/images/el/flow/forever.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - για - - πάντα - diff --git a/images/el/flow/hspace.svg b/images/el/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/el/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/el/flow/if.svg b/images/el/flow/if.svg deleted file mode 100644 index 891b587..0000000 --- a/images/el/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - εάν - - τότε - diff --git a/images/el/flow/ifelse.svg b/images/el/flow/ifelse.svg deleted file mode 100644 index 355fc69..0000000 --- a/images/el/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - εάν - - τότε - - αλλιώς - \ No newline at end of file diff --git a/images/el/flow/lock.svg b/images/el/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/el/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/flow/repeat.svg b/images/el/flow/repeat.svg deleted file mode 100644 index e4cf8d6..0000000 --- a/images/el/flow/repeat.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - επανάληψη - diff --git a/images/el/flow/stopstack.svg b/images/el/flow/stopstack.svg deleted file mode 100644 index 40dfff5..0000000 --- a/images/el/flow/stopstack.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - σταμάτημαστοίβας - diff --git a/images/el/flow/vspace.svg b/images/el/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/el/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/el/flow/wait.svg b/images/el/flow/wait.svg deleted file mode 100644 index 8710a53..0000000 --- a/images/el/flow/wait.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - αναμονή - - diff --git a/images/el/myblocks/box.svg b/images/el/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/el/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/myblocks/box1.svg b/images/el/myblocks/box1.svg deleted file mode 100644 index c1b5570..0000000 --- a/images/el/myblocks/box1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - πλαίσιο 1 - - - \ No newline at end of file diff --git a/images/el/myblocks/box2.svg b/images/el/myblocks/box2.svg deleted file mode 100644 index 6c92fec..0000000 --- a/images/el/myblocks/box2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - πλαίσιο 2 - - - \ No newline at end of file diff --git a/images/el/myblocks/hat.svg b/images/el/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/el/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/myblocks/hat1.svg b/images/el/myblocks/hat1.svg deleted file mode 100644 index fa76fe6..0000000 --- a/images/el/myblocks/hat1.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - στοίβα 1 - - - \ No newline at end of file diff --git a/images/el/myblocks/hat2.svg b/images/el/myblocks/hat2.svg deleted file mode 100644 index 7dcc427..0000000 --- a/images/el/myblocks/hat2.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - στοίβα 2 - - - \ No newline at end of file diff --git a/images/el/myblocks/myblocksgroup.svg b/images/el/myblocks/myblocksgroup.svg deleted file mode 100644 index 5986f5a..0000000 --- a/images/el/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,564 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Τα τμήματά μου - - - - στοίβα1 - - - - στοίβα1 - - - - στοίβα2 - - - - στοίβα2 - - - - - - - - αποθήκευση - - - στο - - - πλαίσιο1 - - - - πλαίσιο1 - - - - - - - - αποθήκευση - - - στο - - - πλαίσιο2 - - - - πλαίσιο2 - - - - - - - - - - name - - - - - - start - - diff --git a/images/el/myblocks/stack.svg b/images/el/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/el/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/myblocks/stack1.svg b/images/el/myblocks/stack1.svg deleted file mode 100644 index b47ea11..0000000 --- a/images/el/myblocks/stack1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - στοίβα 1 - - diff --git a/images/el/myblocks/stack2.svg b/images/el/myblocks/stack2.svg deleted file mode 100644 index 3249565..0000000 --- a/images/el/myblocks/stack2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - στοίβα 2 - - diff --git a/images/el/myblocks/start.svg b/images/el/myblocks/start.svg deleted file mode 100644 index 072ff32..0000000 --- a/images/el/myblocks/start.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - start - - - \ No newline at end of file diff --git a/images/el/myblocks/storein.svg b/images/el/myblocks/storein.svg deleted file mode 100644 index 63b2193..0000000 --- a/images/el/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - αποθήκευση στο - - diff --git a/images/el/myblocks/storeinbox.svg b/images/el/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/el/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/myblocks/storeinbox1.svg b/images/el/myblocks/storeinbox1.svg deleted file mode 100644 index 485b00e..0000000 --- a/images/el/myblocks/storeinbox1.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - αποθήκευση - - - στο - - - πλαίσιο 1 - - diff --git a/images/el/myblocks/storeinbox2.svg b/images/el/myblocks/storeinbox2.svg deleted file mode 100644 index 2edc4e7..0000000 --- a/images/el/myblocks/storeinbox2.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - αποθήκευση - - - στο - - - πλαίσιο 2 - - diff --git a/images/el/myblocks/string.svg b/images/el/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/el/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/el/numbers/and.svg b/images/el/numbers/and.svg deleted file mode 100644 index a688097..0000000 --- a/images/el/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - και - diff --git a/images/el/numbers/division.svg b/images/el/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/el/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/el/numbers/division2.svg b/images/el/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/el/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/el/numbers/equal.svg b/images/el/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/el/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/el/numbers/greater.svg b/images/el/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/el/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/el/numbers/identity.svg b/images/el/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/el/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/numbers/identity2.svg b/images/el/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/el/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/numbers/less.svg b/images/el/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/el/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/el/numbers/minus.svg b/images/el/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/el/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/el/numbers/minus2.svg b/images/el/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/el/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/numbers/not.svg b/images/el/numbers/not.svg deleted file mode 100644 index e2fa368..0000000 --- a/images/el/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - όχι - diff --git a/images/el/numbers/number.svg b/images/el/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/el/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/el/numbers/numbersgroup.svg b/images/el/numbers/numbersgroup.svg deleted file mode 100644 index 6c54c6a..0000000 --- a/images/el/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Αριθμοί - - - - - - - - - - - - - - - - - - - - - - τυχαίο - - - - - - = - - - - - - < - - - - - - > - - - - και - - - - ή - - - - όχι - - - - - - εκτύπωση - - - αριθμός - - - ελάχιστο - - - μέγιστο - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/el/numbers/or.svg b/images/el/numbers/or.svg deleted file mode 100644 index 4a24f9f..0000000 --- a/images/el/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - ή - diff --git a/images/el/numbers/plus.svg b/images/el/numbers/plus.svg deleted file mode 100644 index ff30535..0000000 --- a/images/el/numbers/plus.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - + - diff --git a/images/el/numbers/plus2.svg b/images/el/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/el/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/el/numbers/print.svg b/images/el/numbers/print.svg deleted file mode 100644 index e702687..0000000 --- a/images/el/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - εκτύπωση - - diff --git a/images/el/numbers/product.svg b/images/el/numbers/product.svg deleted file mode 100644 index 576934b..0000000 --- a/images/el/numbers/product.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - × - diff --git a/images/el/numbers/product2.svg b/images/el/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/el/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/el/numbers/random.svg b/images/el/numbers/random.svg deleted file mode 100644 index a405862..0000000 --- a/images/el/numbers/random.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - τυχαίο - - \ No newline at end of file diff --git a/images/el/numbers/remainder.svg b/images/el/numbers/remainder.svg deleted file mode 100644 index 7d715d9..0000000 --- a/images/el/numbers/remainder.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - mod - diff --git a/images/el/numbers/remainder2.svg b/images/el/numbers/remainder2.svg deleted file mode 100644 index 5f1a0bc..0000000 --- a/images/el/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/el/numbers/sqrt.svg b/images/el/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/el/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/el/pen/blue.svg b/images/el/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/el/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/el/pen/color.svg b/images/el/pen/color.svg deleted file mode 100644 index c409b99..0000000 --- a/images/el/pen/color.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - χρώμα - - - \ No newline at end of file diff --git a/images/el/pen/cyan.svg b/images/el/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/el/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/el/pen/fillscreen.svg b/images/el/pen/fillscreen.svg deleted file mode 100644 index 0c9953f..0000000 --- a/images/el/pen/fillscreen.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - γέμισμαοθόνης - - χρώμα - - σκιά - - \ No newline at end of file diff --git a/images/el/pen/green.svg b/images/el/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/el/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/el/pen/orange.svg b/images/el/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/el/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/el/pen/pendown.svg b/images/el/pen/pendown.svg deleted file mode 100644 index 2810a2e..0000000 --- a/images/el/pen/pendown.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - στιλό - - - κάτω - - - \ No newline at end of file diff --git a/images/el/pen/pengroup.svg b/images/el/pen/pengroup.svg deleted file mode 100644 index 4e512a1..0000000 --- a/images/el/pen/pengroup.svg +++ /dev/null @@ -1,801 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Στιλό - - - - στιλό - - - πάνω - - - - στιλό - - - κάτω - - - - - - ορισμός - - - μεγέθους - - - στιλό - - - - - - ορισμός - - - χρώματος - - - - - - - ορισμός - - - σκιάς - - - - - - - - - - γέμισμα - - - οθόνης - - - χρώμα - - - σκιά - - - - - μέγεθος στιλό - - - - - text size - - - - - - χρώμα - - - - - - - - set - - - text - - - size - - - - - - σκιά - - - - - - - - - - - - - - diff --git a/images/el/pen/pensize.svg b/images/el/pen/pensize.svg deleted file mode 100644 index 17900d9..0000000 --- a/images/el/pen/pensize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - μέγεθος στιλό - - - diff --git a/images/el/pen/penup.svg b/images/el/pen/penup.svg deleted file mode 100644 index 391e04d..0000000 --- a/images/el/pen/penup.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - στιλό - - - πάνω - - - \ No newline at end of file diff --git a/images/el/pen/purple.svg b/images/el/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/el/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/el/pen/red.svg b/images/el/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/el/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/el/pen/setcolor.svg b/images/el/pen/setcolor.svg deleted file mode 100644 index cdce9fa..0000000 --- a/images/el/pen/setcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - ορισμός - - - χρώματος - - diff --git a/images/el/pen/setpensize.svg b/images/el/pen/setpensize.svg deleted file mode 100644 index 0ef20ba..0000000 --- a/images/el/pen/setpensize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - ορισμός - - - μεγέθους - - - στιλό - - diff --git a/images/el/pen/setshade.svg b/images/el/pen/setshade.svg deleted file mode 100644 index 09ccf8f..0000000 --- a/images/el/pen/setshade.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - ορισμός - - - σκιάς - - diff --git a/images/el/pen/settextcolor.svg b/images/el/pen/settextcolor.svg deleted file mode 100644 index 2a7fb28..0000000 --- a/images/el/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - set - - - text - - - color - - diff --git a/images/el/pen/settextsize.svg b/images/el/pen/settextsize.svg deleted file mode 100644 index ffdbea7..0000000 --- a/images/el/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - set - - - text - - - size - - diff --git a/images/el/pen/shade.svg b/images/el/pen/shade.svg deleted file mode 100644 index ddccf8e..0000000 --- a/images/el/pen/shade.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - σκιά - - - \ No newline at end of file diff --git a/images/el/pen/textcolor.svg b/images/el/pen/textcolor.svg deleted file mode 100644 index 5caa607..0000000 --- a/images/el/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - text color - - - \ No newline at end of file diff --git a/images/el/pen/textsize.svg b/images/el/pen/textsize.svg deleted file mode 100644 index fe05d99..0000000 --- a/images/el/pen/textsize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - text size - - - \ No newline at end of file diff --git a/images/el/pen/yellow.svg b/images/el/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/el/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/el/sensors/bottompos.svg b/images/el/sensors/bottompos.svg deleted file mode 100644 index acf79cb..0000000 --- a/images/el/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bottom - - diff --git a/images/el/sensors/clearheap.svg b/images/el/sensors/clearheap.svg deleted file mode 100644 index f277b41..0000000 --- a/images/el/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - clear - - - heap - - diff --git a/images/el/sensors/hres.svg b/images/el/sensors/hres.svg deleted file mode 100644 index 9f27bac..0000000 --- a/images/el/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - hres - - diff --git a/images/el/sensors/kbinput.svg b/images/el/sensors/kbinput.svg deleted file mode 100644 index b02af03..0000000 --- a/images/el/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - read - - - key - - diff --git a/images/el/sensors/keyboard.svg b/images/el/sensors/keyboard.svg deleted file mode 100644 index bb09552..0000000 --- a/images/el/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - keyboard - - diff --git a/images/el/sensors/leftpos.svg b/images/el/sensors/leftpos.svg deleted file mode 100644 index b7a4e34..0000000 --- a/images/el/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - αριστερά - - diff --git a/images/el/sensors/myfunc.svg b/images/el/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/el/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/sensors/nop-loaded.svg b/images/el/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/el/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/sensors/nop.svg b/images/el/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/el/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/sensors/pop.svg b/images/el/sensors/pop.svg deleted file mode 100644 index 568fcd9..0000000 --- a/images/el/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - pop - - diff --git a/images/el/sensors/printheap.svg b/images/el/sensors/printheap.svg deleted file mode 100644 index 026631e..0000000 --- a/images/el/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - show - - - heap - - diff --git a/images/el/sensors/push.svg b/images/el/sensors/push.svg deleted file mode 100644 index 9683008..0000000 --- a/images/el/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - push - - diff --git a/images/el/sensors/rightpos.svg b/images/el/sensors/rightpos.svg deleted file mode 100644 index c1cb38b..0000000 --- a/images/el/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - δεξιά - - diff --git a/images/el/sensors/sensorsgroup.svg b/images/el/sensors/sensorsgroup.svg deleted file mode 100644 index 8745ac7..0000000 --- a/images/el/sensors/sensorsgroup.svg +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Keyboard - - - - read - - - key - - - - keyboard - - - - - hres - - - - - - vres - - - - - - - - - - x - - - - - - - pop - - - - - - - show - - - heap - - - - - - empty - - - heap - - - - - - - - push - - - - - - diff --git a/images/el/sensors/toppos.svg b/images/el/sensors/toppos.svg deleted file mode 100644 index 7b9e287..0000000 --- a/images/el/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - top - - diff --git a/images/el/sensors/vres.svg b/images/el/sensors/vres.svg deleted file mode 100644 index 117a4b6..0000000 --- a/images/el/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - vres - - diff --git a/images/el/templates/audiooff.svg b/images/el/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/el/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/templates/descriptionoff.svg b/images/el/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/el/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/el/templates/hideblocks.svg b/images/el/templates/hideblocks.svg deleted file mode 100644 index 9c2e8c3..0000000 --- a/images/el/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - hide - - - blocks - - diff --git a/images/el/templates/journal.svg b/images/el/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/el/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/templates/sound.svg b/images/el/templates/sound.svg deleted file mode 100644 index 9e5ddf4..0000000 --- a/images/el/templates/sound.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sound - - - \ No newline at end of file diff --git a/images/el/templates/template1.svg b/images/el/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/el/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/templates/template2.svg b/images/el/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/el/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/templates/template3.svg b/images/el/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/el/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/templates/template4.svg b/images/el/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/el/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/templates/template6.svg b/images/el/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/el/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/templates/template7.svg b/images/el/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/el/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/templates/templatesgroup.svg b/images/el/templates/templatesgroup.svg deleted file mode 100644 index 603091d..0000000 --- a/images/el/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Templates - - - - hide - - - blocks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/el/turtle/arc.svg b/images/el/turtle/arc.svg deleted file mode 100644 index 47ab32a..0000000 --- a/images/el/turtle/arc.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - τόξο - - γωνία - - ακτίνα - - \ No newline at end of file diff --git a/images/el/turtle/back.svg b/images/el/turtle/back.svg deleted file mode 100644 index 56cdfa8..0000000 --- a/images/el/turtle/back.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - πίσω - - - \ No newline at end of file diff --git a/images/el/turtle/clean.svg b/images/el/turtle/clean.svg deleted file mode 100644 index fdc3b75..0000000 --- a/images/el/turtle/clean.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - καθαρισμός - - diff --git a/images/el/turtle/container.svg b/images/el/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/el/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/el/turtle/forward.svg b/images/el/turtle/forward.svg deleted file mode 100644 index 8e820bb..0000000 --- a/images/el/turtle/forward.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - μπροστά - - - \ No newline at end of file diff --git a/images/el/turtle/heading.svg b/images/el/turtle/heading.svg deleted file mode 100644 index b005617..0000000 --- a/images/el/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - κεφαλίδα - - diff --git a/images/el/turtle/image.svg b/images/el/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/el/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/el/turtle/left.svg b/images/el/turtle/left.svg deleted file mode 100644 index 7b5bd38..0000000 --- a/images/el/turtle/left.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - αριστερά - - - \ No newline at end of file diff --git a/images/el/turtle/right.svg b/images/el/turtle/right.svg deleted file mode 100644 index de24959..0000000 --- a/images/el/turtle/right.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - δεξιά - - - \ No newline at end of file diff --git a/images/el/turtle/scale.svg b/images/el/turtle/scale.svg deleted file mode 100644 index 5432d96..0000000 --- a/images/el/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - scale - - diff --git a/images/el/turtle/seth.svg b/images/el/turtle/seth.svg deleted file mode 100644 index e7fd811..0000000 --- a/images/el/turtle/seth.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - ορισμός - - - επικεφαλίδας - - - diff --git a/images/el/turtle/setscale.svg b/images/el/turtle/setscale.svg deleted file mode 100644 index cf94653..0000000 --- a/images/el/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - set - - - scale - - - \ No newline at end of file diff --git a/images/el/turtle/setxy.svg b/images/el/turtle/setxy.svg deleted file mode 100644 index 3724442..0000000 --- a/images/el/turtle/setxy.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - ορισμός - - x - - y - - diff --git a/images/el/turtle/show.svg b/images/el/turtle/show.svg deleted file mode 100644 index 38b6cac..0000000 --- a/images/el/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - show - - - \ No newline at end of file diff --git a/images/el/turtle/turtlegroup.svg b/images/el/turtle/turtlegroup.svg deleted file mode 100644 index 559043f..0000000 --- a/images/el/turtle/turtlegroup.svg +++ /dev/null @@ -1,872 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - καθαρισμός - - - - - - μπροστά - - - - - - πίσω - - - - - - αριστερά - - - - - - δεξιά - - - - - - - - τόξο - - - γωνία - ακτίνα - - - - - - - - ορισμός - - - x - y - - - - - - - ορισμός - - - επικεφαλίδας - - - - - xγωνία - - - - yγωνία - - - - κεφαλίδα - - - Χελώνα - - - - - - - - - - - - - show - - - - - - - - set - - - scale - - - - - - - - - - - - - - - - show - - - - - - - diff --git a/images/el/turtle/write.svg b/images/el/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/el/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/el/turtle/xcor.svg b/images/el/turtle/xcor.svg deleted file mode 100644 index 5aae6e6..0000000 --- a/images/el/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - xγωνία - - diff --git a/images/el/turtle/ycor.svg b/images/el/turtle/ycor.svg deleted file mode 100644 index ae5a858..0000000 --- a/images/el/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - yγωνία - - diff --git a/images/en/flow/flowgroup.svg b/images/en/flow/flowgroup.svg deleted file mode 100644 index 6052fba..0000000 --- a/images/en/flow/flowgroup.svg +++ /dev/null @@ -1,344 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Flow - - - - - - - - - wait - - - - forever - - - - repeat - - - - if - - - then - - - - stop - - - action - - - - if - - - then - - - else - - - - diff --git a/images/en/flow/forever.svg b/images/en/flow/forever.svg deleted file mode 100644 index 9ec4515..0000000 --- a/images/en/flow/forever.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - forever - diff --git a/images/en/flow/hspace.svg b/images/en/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/en/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/en/flow/if.svg b/images/en/flow/if.svg deleted file mode 100644 index 655b50e..0000000 --- a/images/en/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - if - - then - diff --git a/images/en/flow/ifelse.svg b/images/en/flow/ifelse.svg deleted file mode 100644 index 4c3df3a..0000000 --- a/images/en/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - if - - then - - else - diff --git a/images/en/flow/lock.svg b/images/en/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/en/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/flow/repeat.svg b/images/en/flow/repeat.svg deleted file mode 100644 index 9571da8..0000000 --- a/images/en/flow/repeat.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - repeat - diff --git a/images/en/flow/stopstack.svg b/images/en/flow/stopstack.svg deleted file mode 100644 index 9f76280..0000000 --- a/images/en/flow/stopstack.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - stopaction - diff --git a/images/en/flow/vspace.svg b/images/en/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/en/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/en/flow/wait.svg b/images/en/flow/wait.svg deleted file mode 100644 index 4225606..0000000 --- a/images/en/flow/wait.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - wait - - diff --git a/images/en/myblocks/box.svg b/images/en/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/en/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/myblocks/box1.svg b/images/en/myblocks/box1.svg deleted file mode 100644 index d7fa750..0000000 --- a/images/en/myblocks/box1.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - box1 - - diff --git a/images/en/myblocks/box2.svg b/images/en/myblocks/box2.svg deleted file mode 100644 index 51b7a49..0000000 --- a/images/en/myblocks/box2.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - box2 - - diff --git a/images/en/myblocks/hat.svg b/images/en/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/en/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/myblocks/hat1.svg b/images/en/myblocks/hat1.svg deleted file mode 100644 index 917875f..0000000 --- a/images/en/myblocks/hat1.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - action1 - - diff --git a/images/en/myblocks/hat2.svg b/images/en/myblocks/hat2.svg deleted file mode 100644 index 279c696..0000000 --- a/images/en/myblocks/hat2.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - action2 - - diff --git a/images/en/myblocks/myblocksgroup.svg b/images/en/myblocks/myblocksgroup.svg deleted file mode 100644 index 104396e..0000000 --- a/images/en/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - My Blocks - - - - action 1 - - - - action 1 - - - - action 2 - - - - action 2 - - - - - - - - store - - - in - - - box 1 - - - - box 1 - - - - - - - - store - - - in - - - box 2 - - - - box 2 - - - - - - name - - - - - - start - - - - - - - - - - store in - - - - box - - - box - - - action - - - action - - diff --git a/images/en/myblocks/stack.svg b/images/en/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/en/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/myblocks/stack1.svg b/images/en/myblocks/stack1.svg deleted file mode 100644 index 6755ad9..0000000 --- a/images/en/myblocks/stack1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - action1 - - diff --git a/images/en/myblocks/stack2.svg b/images/en/myblocks/stack2.svg deleted file mode 100644 index 04ac380..0000000 --- a/images/en/myblocks/stack2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - action2 - - diff --git a/images/en/myblocks/start.svg b/images/en/myblocks/start.svg deleted file mode 100644 index d1bf832..0000000 --- a/images/en/myblocks/start.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - start - - diff --git a/images/en/myblocks/storein.svg b/images/en/myblocks/storein.svg deleted file mode 100644 index 8653efe..0000000 --- a/images/en/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - store in - - diff --git a/images/en/myblocks/storeinbox.svg b/images/en/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/en/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/myblocks/storeinbox1.svg b/images/en/myblocks/storeinbox1.svg deleted file mode 100644 index 8cc1674..0000000 --- a/images/en/myblocks/storeinbox1.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - store in - - - box1 - - diff --git a/images/en/myblocks/storeinbox2.svg b/images/en/myblocks/storeinbox2.svg deleted file mode 100644 index 2dfbbd4..0000000 --- a/images/en/myblocks/storeinbox2.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - store in - - - box2 - - diff --git a/images/en/myblocks/string.svg b/images/en/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/en/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/en/numbers/and.svg b/images/en/numbers/and.svg deleted file mode 100644 index c3abf5f..0000000 --- a/images/en/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - and - diff --git a/images/en/numbers/division.svg b/images/en/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/en/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/en/numbers/division2.svg b/images/en/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/en/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/en/numbers/equal.svg b/images/en/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/en/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/en/numbers/greater.svg b/images/en/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/en/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/en/numbers/identity.svg b/images/en/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/en/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/numbers/identity2.svg b/images/en/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/en/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/numbers/less.svg b/images/en/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/en/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/en/numbers/minus.svg b/images/en/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/en/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/en/numbers/minus2.svg b/images/en/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/en/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/numbers/not.svg b/images/en/numbers/not.svg deleted file mode 100644 index 5cd3321..0000000 --- a/images/en/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - not - diff --git a/images/en/numbers/number.svg b/images/en/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/en/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/en/numbers/numbersgroup.svg b/images/en/numbers/numbersgroup.svg deleted file mode 100644 index e36956b..0000000 --- a/images/en/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Numbers - - - - - - - - - - - - - - - - - - - - - - random - - - - - - = - - - - - - < - - - - - - > - - - - and - - - - or - - - - not - - - - - - print - - - number - - - min - - - max - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/en/numbers/or.svg b/images/en/numbers/or.svg deleted file mode 100644 index 2e3c2ec..0000000 --- a/images/en/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - or - diff --git a/images/en/numbers/plus.svg b/images/en/numbers/plus.svg deleted file mode 100644 index ff30535..0000000 --- a/images/en/numbers/plus.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - + - diff --git a/images/en/numbers/plus2.svg b/images/en/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/en/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/en/numbers/print.svg b/images/en/numbers/print.svg deleted file mode 100644 index ad0eebb..0000000 --- a/images/en/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - print - - diff --git a/images/en/numbers/product.svg b/images/en/numbers/product.svg deleted file mode 100644 index 576934b..0000000 --- a/images/en/numbers/product.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - × - diff --git a/images/en/numbers/product2.svg b/images/en/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/en/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/en/numbers/random.svg b/images/en/numbers/random.svg deleted file mode 100644 index 3265bc7..0000000 --- a/images/en/numbers/random.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - random - diff --git a/images/en/numbers/remainder.svg b/images/en/numbers/remainder.svg deleted file mode 100644 index 71e8813..0000000 --- a/images/en/numbers/remainder.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - mod - diff --git a/images/en/numbers/remainder2.svg b/images/en/numbers/remainder2.svg deleted file mode 100644 index 585d9ec..0000000 --- a/images/en/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/en/numbers/sqrt.svg b/images/en/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/en/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/en/pen/blue.svg b/images/en/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/en/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/en/pen/color.svg b/images/en/pen/color.svg deleted file mode 100644 index c65df50..0000000 --- a/images/en/pen/color.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - color - - diff --git a/images/en/pen/cyan.svg b/images/en/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/en/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/en/pen/fillscreen.svg b/images/en/pen/fillscreen.svg deleted file mode 100644 index 0055479..0000000 --- a/images/en/pen/fillscreen.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - fillscreen - - color - - shade - diff --git a/images/en/pen/green.svg b/images/en/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/en/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/en/pen/orange.svg b/images/en/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/en/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/en/pen/pendown.svg b/images/en/pen/pendown.svg deleted file mode 100644 index f576907..0000000 --- a/images/en/pen/pendown.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - pen - - - down - - diff --git a/images/en/pen/pengroup.svg b/images/en/pen/pengroup.svg deleted file mode 100644 index 78560b5..0000000 --- a/images/en/pen/pengroup.svg +++ /dev/null @@ -1,737 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Pen - - - - pen - - - up - - - - pen - - - down - - - - - - set - - - pen - - - size - - - - - - - set - - - color - - - - - - - - set - - - shade - - - - - - - - - - fill - - - screen - - - color - - - shade - - - - - - pen size - - - - - - text size - - - - - - color - - - - - - - - set - - - text - - - size - - - - - - shade - - - - - - - - - - - - - - diff --git a/images/en/pen/pensize.svg b/images/en/pen/pensize.svg deleted file mode 100644 index 48ef04d..0000000 --- a/images/en/pen/pensize.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - pensize - - diff --git a/images/en/pen/penup.svg b/images/en/pen/penup.svg deleted file mode 100644 index ba49d1f..0000000 --- a/images/en/pen/penup.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - pen - - - up - - diff --git a/images/en/pen/purple.svg b/images/en/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/en/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/en/pen/red.svg b/images/en/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/en/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/en/pen/setcolor.svg b/images/en/pen/setcolor.svg deleted file mode 100644 index d9350bd..0000000 --- a/images/en/pen/setcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - set - - - color - - diff --git a/images/en/pen/setpensize.svg b/images/en/pen/setpensize.svg deleted file mode 100644 index e493cdb..0000000 --- a/images/en/pen/setpensize.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - set - - - pensize - - diff --git a/images/en/pen/setshade.svg b/images/en/pen/setshade.svg deleted file mode 100644 index 0db8bc6..0000000 --- a/images/en/pen/setshade.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - set - - - shade - - diff --git a/images/en/pen/settextcolor.svg b/images/en/pen/settextcolor.svg deleted file mode 100644 index a60f9e9..0000000 --- a/images/en/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - set - - - text - - - color - - diff --git a/images/en/pen/settextsize.svg b/images/en/pen/settextsize.svg deleted file mode 100644 index f8bf4c4..0000000 --- a/images/en/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - set - - - text - - - size - - diff --git a/images/en/pen/shade.svg b/images/en/pen/shade.svg deleted file mode 100644 index 9ac1d7e..0000000 --- a/images/en/pen/shade.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - shade - - diff --git a/images/en/pen/textcolor.svg b/images/en/pen/textcolor.svg deleted file mode 100644 index 3111e16..0000000 --- a/images/en/pen/textcolor.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - text color - - diff --git a/images/en/pen/textsize.svg b/images/en/pen/textsize.svg deleted file mode 100644 index 032d695..0000000 --- a/images/en/pen/textsize.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - text size - - diff --git a/images/en/pen/yellow.svg b/images/en/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/en/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/en/sensors/bottompos.svg b/images/en/sensors/bottompos.svg deleted file mode 100644 index acf79cb..0000000 --- a/images/en/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bottom - - diff --git a/images/en/sensors/clearheap.svg b/images/en/sensors/clearheap.svg deleted file mode 100644 index 2951642..0000000 --- a/images/en/sensors/clearheap.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - empty - - - heap - - diff --git a/images/en/sensors/hres.svg b/images/en/sensors/hres.svg deleted file mode 100644 index 952c7f9..0000000 --- a/images/en/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - width - - diff --git a/images/en/sensors/kbinput.svg b/images/en/sensors/kbinput.svg deleted file mode 100644 index 1ffc165..0000000 --- a/images/en/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - query - - - kb - - diff --git a/images/en/sensors/keyboard.svg b/images/en/sensors/keyboard.svg deleted file mode 100644 index 9ce2adc..0000000 --- a/images/en/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - keyboard - - diff --git a/images/en/sensors/leftpos.svg b/images/en/sensors/leftpos.svg deleted file mode 100644 index 33b35b0..0000000 --- a/images/en/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - left - - diff --git a/images/en/sensors/myfunc.svg b/images/en/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/en/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/sensors/nop-loaded.svg b/images/en/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/en/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/sensors/nop.svg b/images/en/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/en/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/sensors/pop.svg b/images/en/sensors/pop.svg deleted file mode 100644 index 34dd8e1..0000000 --- a/images/en/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - pop - - diff --git a/images/en/sensors/printheap.svg b/images/en/sensors/printheap.svg deleted file mode 100644 index 63bd842..0000000 --- a/images/en/sensors/printheap.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - show - - - heap - - diff --git a/images/en/sensors/push.svg b/images/en/sensors/push.svg deleted file mode 100644 index 9683008..0000000 --- a/images/en/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - push - - diff --git a/images/en/sensors/rightpos.svg b/images/en/sensors/rightpos.svg deleted file mode 100644 index 7a364bf..0000000 --- a/images/en/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - right - - diff --git a/images/en/sensors/sensorsgroup.svg b/images/en/sensors/sensorsgroup.svg deleted file mode 100644 index 1a20572..0000000 --- a/images/en/sensors/sensorsgroup.svg +++ /dev/null @@ -1,620 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Extras - - - - query - - - kb - - - - keyboard - - - - - width - - - - - - height - - - - - - - - - - x - - - - - - - pop - - - - - - - show - - - heap - - - - - - empty - - - heap - - - - - - - - push - - - - - - - - left - - - - - - top - - - - - - right - - - - - - bottom - - - - - - - - diff --git a/images/en/sensors/toppos.svg b/images/en/sensors/toppos.svg deleted file mode 100644 index 7b9e287..0000000 --- a/images/en/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - top - - diff --git a/images/en/sensors/vres.svg b/images/en/sensors/vres.svg deleted file mode 100644 index edd0864..0000000 --- a/images/en/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - height - - diff --git a/images/en/templates/audiooff.svg b/images/en/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/en/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/templates/descriptionoff.svg b/images/en/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/en/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/en/templates/hideblocks.svg b/images/en/templates/hideblocks.svg deleted file mode 100644 index 79e1bbc..0000000 --- a/images/en/templates/hideblocks.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - hide - - - blocks - - diff --git a/images/en/templates/journal.svg b/images/en/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/en/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/templates/sound.svg b/images/en/templates/sound.svg deleted file mode 100644 index 89e3696..0000000 --- a/images/en/templates/sound.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sound - - diff --git a/images/en/templates/template1.svg b/images/en/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/en/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/templates/template2.svg b/images/en/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/en/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/templates/template3.svg b/images/en/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/en/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/templates/template4.svg b/images/en/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/en/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/templates/template6.svg b/images/en/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/en/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/templates/template7.svg b/images/en/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/en/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/templates/templatesgroup.svg b/images/en/templates/templatesgroup.svg deleted file mode 100644 index 603091d..0000000 --- a/images/en/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Templates - - - - hide - - - blocks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/en/turtle/arc.svg b/images/en/turtle/arc.svg deleted file mode 100644 index b703c87..0000000 --- a/images/en/turtle/arc.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - arc - - angle - - radius - diff --git a/images/en/turtle/back.svg b/images/en/turtle/back.svg deleted file mode 100644 index ec16ed7..0000000 --- a/images/en/turtle/back.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - back - - diff --git a/images/en/turtle/clean.svg b/images/en/turtle/clean.svg deleted file mode 100644 index 42ced03..0000000 --- a/images/en/turtle/clean.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - clean - - diff --git a/images/en/turtle/container.svg b/images/en/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/en/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/en/turtle/forward.svg b/images/en/turtle/forward.svg deleted file mode 100644 index f4ad78c..0000000 --- a/images/en/turtle/forward.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - forward - - diff --git a/images/en/turtle/heading.svg b/images/en/turtle/heading.svg deleted file mode 100644 index ccd3a3a..0000000 --- a/images/en/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - heading - - diff --git a/images/en/turtle/image.svg b/images/en/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/en/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/en/turtle/left.svg b/images/en/turtle/left.svg deleted file mode 100644 index 6752de9..0000000 --- a/images/en/turtle/left.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - left - - diff --git a/images/en/turtle/right.svg b/images/en/turtle/right.svg deleted file mode 100644 index 594bf63..0000000 --- a/images/en/turtle/right.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - right - - diff --git a/images/en/turtle/scale.svg b/images/en/turtle/scale.svg deleted file mode 100644 index e2dd2c0..0000000 --- a/images/en/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - scale - - diff --git a/images/en/turtle/seth.svg b/images/en/turtle/seth.svg deleted file mode 100644 index 18090bf..0000000 --- a/images/en/turtle/seth.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - seth - - diff --git a/images/en/turtle/setscale.svg b/images/en/turtle/setscale.svg deleted file mode 100644 index cf94653..0000000 --- a/images/en/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - set - - - scale - - - \ No newline at end of file diff --git a/images/en/turtle/setxy.svg b/images/en/turtle/setxy.svg deleted file mode 100644 index 89c9e05..0000000 --- a/images/en/turtle/setxy.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - setxy - - - x - - - y - - diff --git a/images/en/turtle/show.svg b/images/en/turtle/show.svg deleted file mode 100644 index 82d65ba..0000000 --- a/images/en/turtle/show.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - show - - diff --git a/images/en/turtle/turtlegroup.svg b/images/en/turtle/turtlegroup.svg deleted file mode 100644 index 4d46c6f..0000000 --- a/images/en/turtle/turtlegroup.svg +++ /dev/null @@ -1 +0,0 @@ - X clean forward back left right arc angle radius setxy x y seth xcor ycor heading Turtle show set scale show text diff --git a/images/en/turtle/write.svg b/images/en/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/en/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/en/turtle/xcor.svg b/images/en/turtle/xcor.svg deleted file mode 100644 index ff723c6..0000000 --- a/images/en/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - xcor - - diff --git a/images/en/turtle/ycor.svg b/images/en/turtle/ycor.svg deleted file mode 100644 index ed1f5a7..0000000 --- a/images/en/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - ycor - - diff --git a/images/es/flow/flowgroup.svg b/images/es/flow/flowgroup.svg deleted file mode 100644 index 47bfce6..0000000 --- a/images/es/flow/flowgroup.svg +++ /dev/null @@ -1,381 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Flujo - - - - - - - - - esperar - - - - por - - - siempre - - - - repetir - - - - si - - - entonces - - - - detener - - - acción - - - - si - - - entonces - - - si no - - - - - - - - - - - - diff --git a/images/es/flow/forever.svg b/images/es/flow/forever.svg deleted file mode 100644 index d58faec..0000000 --- a/images/es/flow/forever.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - por - - siempre - diff --git a/images/es/flow/hspace.svg b/images/es/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/es/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/es/flow/if.svg b/images/es/flow/if.svg deleted file mode 100644 index 5ab3928..0000000 --- a/images/es/flow/if.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - si - - entonces - diff --git a/images/es/flow/ifelse.svg b/images/es/flow/ifelse.svg deleted file mode 100644 index 0ce385c..0000000 --- a/images/es/flow/ifelse.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - si - - entonces - - si no - diff --git a/images/es/flow/lock.svg b/images/es/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/es/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/flow/repeat.svg b/images/es/flow/repeat.svg deleted file mode 100644 index 5a533a2..0000000 --- a/images/es/flow/repeat.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - repetir - diff --git a/images/es/flow/stopstack.svg b/images/es/flow/stopstack.svg deleted file mode 100644 index cd80266..0000000 --- a/images/es/flow/stopstack.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - deteneracción - diff --git a/images/es/flow/vspace.svg b/images/es/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/es/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/es/flow/wait.svg b/images/es/flow/wait.svg deleted file mode 100644 index 40244fb..0000000 --- a/images/es/flow/wait.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - esperar - - diff --git a/images/es/myblocks/box.svg b/images/es/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/es/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/myblocks/box1.svg b/images/es/myblocks/box1.svg deleted file mode 100644 index cf860c7..0000000 --- a/images/es/myblocks/box1.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - caja 1 - - diff --git a/images/es/myblocks/box2.svg b/images/es/myblocks/box2.svg deleted file mode 100644 index 5007479..0000000 --- a/images/es/myblocks/box2.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - caja 2 - - diff --git a/images/es/myblocks/hat.svg b/images/es/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/es/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/myblocks/hat1.svg b/images/es/myblocks/hat1.svg deleted file mode 100644 index bc23ce0..0000000 --- a/images/es/myblocks/hat1.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - acción 1 - - diff --git a/images/es/myblocks/hat2.svg b/images/es/myblocks/hat2.svg deleted file mode 100644 index 03419df..0000000 --- a/images/es/myblocks/hat2.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - acción 2 - - diff --git a/images/es/myblocks/myblocksgroup.svg b/images/es/myblocks/myblocksgroup.svg deleted file mode 100644 index cbeed74..0000000 --- a/images/es/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,676 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Mis Bloques - - - - acción 1 - - - - acción 1 - - - - acción 2 - - - - acción 2 - - - - - - - - poner - - - en - - - caja 1 - - - - caja 1 - - - - - - - - poner - - - en - - - caja 2 - - - - caja 2 - - - - - - nombre - - - - - - empezar - - - - - - - - - - poner en - - - - caja - - - caja - - - acción - - - acción - - diff --git a/images/es/myblocks/stack.svg b/images/es/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/es/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/myblocks/stack1.svg b/images/es/myblocks/stack1.svg deleted file mode 100644 index bdf7da9..0000000 --- a/images/es/myblocks/stack1.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - acción 1 - - diff --git a/images/es/myblocks/stack2.svg b/images/es/myblocks/stack2.svg deleted file mode 100644 index 83a30db..0000000 --- a/images/es/myblocks/stack2.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - acción 2 - - diff --git a/images/es/myblocks/start.svg b/images/es/myblocks/start.svg deleted file mode 100644 index ad1db19..0000000 --- a/images/es/myblocks/start.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - empezar - - diff --git a/images/es/myblocks/storein.svg b/images/es/myblocks/storein.svg deleted file mode 100644 index d06aa5b..0000000 --- a/images/es/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - poner en - - diff --git a/images/es/myblocks/storeinbox.svg b/images/es/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/es/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/myblocks/storeinbox1.svg b/images/es/myblocks/storeinbox1.svg deleted file mode 100644 index 2a1bd2c..0000000 --- a/images/es/myblocks/storeinbox1.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - poner - - - en - - - caja 1 - - diff --git a/images/es/myblocks/storeinbox2.svg b/images/es/myblocks/storeinbox2.svg deleted file mode 100644 index d8d19d1..0000000 --- a/images/es/myblocks/storeinbox2.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - poner - - - en - - - caja 2 - - diff --git a/images/es/myblocks/string.svg b/images/es/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/es/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/es/numbers/and.svg b/images/es/numbers/and.svg deleted file mode 100644 index 66e98fb..0000000 --- a/images/es/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - y - diff --git a/images/es/numbers/division.svg b/images/es/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/es/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/es/numbers/division2.svg b/images/es/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/es/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/es/numbers/equal.svg b/images/es/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/es/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/es/numbers/greater.svg b/images/es/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/es/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/es/numbers/identity.svg b/images/es/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/es/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/numbers/identity2.svg b/images/es/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/es/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/numbers/less.svg b/images/es/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/es/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/es/numbers/minus.svg b/images/es/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/es/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/es/numbers/minus2.svg b/images/es/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/es/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/numbers/not.svg b/images/es/numbers/not.svg deleted file mode 100644 index 9302e38..0000000 --- a/images/es/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - no - diff --git a/images/es/numbers/number.svg b/images/es/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/es/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/es/numbers/numbersgroup.svg b/images/es/numbers/numbersgroup.svg deleted file mode 100644 index cc16542..0000000 --- a/images/es/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Números - - - - - - - - - - - - - - - - - - - - - - aleatorio - - - - - - = - - - - - - < - - - - - - > - - - - y - - - - o - - - - no - - - - - - mostrar - - - número - - - min - - - max - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/es/numbers/or.svg b/images/es/numbers/or.svg deleted file mode 100644 index 9e2bf7c..0000000 --- a/images/es/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - o - diff --git a/images/es/numbers/plus.svg b/images/es/numbers/plus.svg deleted file mode 100644 index f271826..0000000 --- a/images/es/numbers/plus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - + - diff --git a/images/es/numbers/plus2.svg b/images/es/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/es/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/es/numbers/print.svg b/images/es/numbers/print.svg deleted file mode 100644 index 851aa98..0000000 --- a/images/es/numbers/print.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - mostrar - - diff --git a/images/es/numbers/product.svg b/images/es/numbers/product.svg deleted file mode 100644 index 28eda4b..0000000 --- a/images/es/numbers/product.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - × - diff --git a/images/es/numbers/product2.svg b/images/es/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/es/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/es/numbers/random.svg b/images/es/numbers/random.svg deleted file mode 100644 index b6b0a3c..0000000 --- a/images/es/numbers/random.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - aleatorio - diff --git a/images/es/numbers/remainder.svg b/images/es/numbers/remainder.svg deleted file mode 100644 index d7efdf9..0000000 --- a/images/es/numbers/remainder.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - mod - diff --git a/images/es/numbers/remainder2.svg b/images/es/numbers/remainder2.svg deleted file mode 100644 index 585d9ec..0000000 --- a/images/es/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/es/numbers/sqrt.svg b/images/es/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/es/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/es/pen/blue.svg b/images/es/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/es/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/es/pen/color.svg b/images/es/pen/color.svg deleted file mode 100644 index c65df50..0000000 --- a/images/es/pen/color.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - color - - diff --git a/images/es/pen/cyan.svg b/images/es/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/es/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/es/pen/fillscreen.svg b/images/es/pen/fillscreen.svg deleted file mode 100644 index 0d2de48..0000000 --- a/images/es/pen/fillscreen.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - pintarfondo - - color - - tono - diff --git a/images/es/pen/green.svg b/images/es/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/es/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/es/pen/orange.svg b/images/es/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/es/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/es/pen/pendown.svg b/images/es/pen/pendown.svg deleted file mode 100644 index 2cbcfa8..0000000 --- a/images/es/pen/pendown.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - bajar - - - pluma - - diff --git a/images/es/pen/pengroup.svg b/images/es/pen/pengroup.svg deleted file mode 100644 index 10f88d7..0000000 --- a/images/es/pen/pengroup.svg +++ /dev/null @@ -1,738 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Pluma - - - - subir - - - pluma - - - - bajar - - - pluma - - - - - - fijar - - - tamaño - - - - - - - - - - fijar - - - color - - - - - - - - fijar - - - tono - - - - - - - - - - pintar - - - fondo - - - color - - - tono - - - - - - tamaño - - - - - - tamaño texto - - - - - - color - - - - - - - - fijar - - - tamaño - - - del texto - - - - - - tono - - - - - - - - - - - - - - diff --git a/images/es/pen/pensize.svg b/images/es/pen/pensize.svg deleted file mode 100644 index 262b12c..0000000 --- a/images/es/pen/pensize.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - tamaño - - diff --git a/images/es/pen/penup.svg b/images/es/pen/penup.svg deleted file mode 100644 index a34d325..0000000 --- a/images/es/pen/penup.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - subir - - - pluma - - diff --git a/images/es/pen/purple.svg b/images/es/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/es/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/es/pen/red.svg b/images/es/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/es/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/es/pen/setcolor.svg b/images/es/pen/setcolor.svg deleted file mode 100644 index 9762863..0000000 --- a/images/es/pen/setcolor.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - fijar - - - color - - diff --git a/images/es/pen/setpensize.svg b/images/es/pen/setpensize.svg deleted file mode 100644 index ebbfd74..0000000 --- a/images/es/pen/setpensize.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - fijar - - - tamaño - - diff --git a/images/es/pen/setshade.svg b/images/es/pen/setshade.svg deleted file mode 100644 index 1cd33bf..0000000 --- a/images/es/pen/setshade.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - fijar - - - tono - - diff --git a/images/es/pen/settextcolor.svg b/images/es/pen/settextcolor.svg deleted file mode 100644 index 57a2ea1..0000000 --- a/images/es/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - fijar - - - el color - - - del texto - - diff --git a/images/es/pen/settextsize.svg b/images/es/pen/settextsize.svg deleted file mode 100644 index 70f14ff..0000000 --- a/images/es/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - fijar - - - tamaño - - - del texto - - diff --git a/images/es/pen/shade.svg b/images/es/pen/shade.svg deleted file mode 100644 index 5b7bab0..0000000 --- a/images/es/pen/shade.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - tono - - diff --git a/images/es/pen/textcolor.svg b/images/es/pen/textcolor.svg deleted file mode 100644 index 1ece5bf..0000000 --- a/images/es/pen/textcolor.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - color texto - - diff --git a/images/es/pen/textsize.svg b/images/es/pen/textsize.svg deleted file mode 100644 index 681638d..0000000 --- a/images/es/pen/textsize.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - tamaño texto - - diff --git a/images/es/pen/yellow.svg b/images/es/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/es/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/es/sensors/bottompos.svg b/images/es/sensors/bottompos.svg deleted file mode 100644 index a4f15a1..0000000 --- a/images/es/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - inferior - - diff --git a/images/es/sensors/clearheap.svg b/images/es/sensors/clearheap.svg deleted file mode 100644 index 20bdba1..0000000 --- a/images/es/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - vaciar - - - pila - - diff --git a/images/es/sensors/hres.svg b/images/es/sensors/hres.svg deleted file mode 100644 index a8953be..0000000 --- a/images/es/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - ancho - - diff --git a/images/es/sensors/kbinput.svg b/images/es/sensors/kbinput.svg deleted file mode 100644 index c0dbf9e..0000000 --- a/images/es/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - leer - - - tecla - - diff --git a/images/es/sensors/keyboard.svg b/images/es/sensors/keyboard.svg deleted file mode 100644 index 55e9729..0000000 --- a/images/es/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - teclado - - diff --git a/images/es/sensors/leftpos.svg b/images/es/sensors/leftpos.svg deleted file mode 100644 index a851265..0000000 --- a/images/es/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - izquierda - - diff --git a/images/es/sensors/myfunc.svg b/images/es/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/es/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/sensors/nop-loaded.svg b/images/es/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/es/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/sensors/nop.svg b/images/es/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/es/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/sensors/pop.svg b/images/es/sensors/pop.svg deleted file mode 100644 index 5ed4e5e..0000000 --- a/images/es/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - sacar - - diff --git a/images/es/sensors/printheap.svg b/images/es/sensors/printheap.svg deleted file mode 100644 index 45acc72..0000000 --- a/images/es/sensors/printheap.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - mostrar - - - pila - - diff --git a/images/es/sensors/push.svg b/images/es/sensors/push.svg deleted file mode 100644 index d90a232..0000000 --- a/images/es/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - empujar - - diff --git a/images/es/sensors/rightpos.svg b/images/es/sensors/rightpos.svg deleted file mode 100644 index 9128a2c..0000000 --- a/images/es/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - derecha - - diff --git a/images/es/sensors/sensorsgroup.svg b/images/es/sensors/sensorsgroup.svg deleted file mode 100644 index 1fa6a9c..0000000 --- a/images/es/sensors/sensorsgroup.svg +++ /dev/null @@ -1,549 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Extras - - - - leer - - - tecla - - - - teclado - - - - - ancho - - - - - - altura - - - - - - - - - - x - - - - - - - sacar - - - - - - - mostrar - - - pila - - - - - - vaciar - - - pila - - - - - - - - empujar - - - - - - - - izquierda - - - - - - superior - - - - - - derecha - - - - - - inferior - - - - - - - - diff --git a/images/es/sensors/toppos.svg b/images/es/sensors/toppos.svg deleted file mode 100644 index d1fbef1..0000000 --- a/images/es/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - superior - - diff --git a/images/es/sensors/vres.svg b/images/es/sensors/vres.svg deleted file mode 100644 index d3fa49f..0000000 --- a/images/es/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - altura - - diff --git a/images/es/templates/audiooff.svg b/images/es/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/es/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/templates/descriptionoff.svg b/images/es/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/es/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/es/templates/hideblocks.svg b/images/es/templates/hideblocks.svg deleted file mode 100644 index 866a7b5..0000000 --- a/images/es/templates/hideblocks.svg +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - - - - - - - oculta - - - bloques - - - los - - diff --git a/images/es/templates/journal.svg b/images/es/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/es/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/templates/sound.svg b/images/es/templates/sound.svg deleted file mode 100644 index efeeb10..0000000 --- a/images/es/templates/sound.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sonido - - diff --git a/images/es/templates/template1.svg b/images/es/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/es/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/templates/template2.svg b/images/es/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/es/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/templates/template3.svg b/images/es/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/es/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/templates/template4.svg b/images/es/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/es/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/templates/template6.svg b/images/es/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/es/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/templates/template7.svg b/images/es/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/es/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/templates/templatesgroup.svg b/images/es/templates/templatesgroup.svg deleted file mode 100644 index fae8573..0000000 --- a/images/es/templates/templatesgroup.svg +++ /dev/null @@ -1,778 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Plantillas - - - - oculta - - - los - - - bloques - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/turtle/arc.svg b/images/es/turtle/arc.svg deleted file mode 100644 index b4ac01b..0000000 --- a/images/es/turtle/arc.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - arco - - - ángulo - - - radio - - diff --git a/images/es/turtle/back.svg b/images/es/turtle/back.svg deleted file mode 100644 index 2632c2f..0000000 --- a/images/es/turtle/back.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - atrás - - diff --git a/images/es/turtle/clean.svg b/images/es/turtle/clean.svg deleted file mode 100644 index 5cf867e..0000000 --- a/images/es/turtle/clean.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - limpiar - - diff --git a/images/es/turtle/container.svg b/images/es/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/es/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/es/turtle/forward.svg b/images/es/turtle/forward.svg deleted file mode 100644 index 1dcd915..0000000 --- a/images/es/turtle/forward.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - adelante - - diff --git a/images/es/turtle/heading.svg b/images/es/turtle/heading.svg deleted file mode 100644 index a8f014b..0000000 --- a/images/es/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - rumbo - - diff --git a/images/es/turtle/image.svg b/images/es/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/es/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/es/turtle/left.svg b/images/es/turtle/left.svg deleted file mode 100644 index 350826d..0000000 --- a/images/es/turtle/left.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - izquierda - - diff --git a/images/es/turtle/right.svg b/images/es/turtle/right.svg deleted file mode 100644 index fa2a5d2..0000000 --- a/images/es/turtle/right.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - derecha - - diff --git a/images/es/turtle/scale.svg b/images/es/turtle/scale.svg deleted file mode 100644 index 87b2c7f..0000000 --- a/images/es/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - escala - - diff --git a/images/es/turtle/seth.svg b/images/es/turtle/seth.svg deleted file mode 100644 index 33436ca..0000000 --- a/images/es/turtle/seth.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - fijar - - - dirección - - diff --git a/images/es/turtle/setscale.svg b/images/es/turtle/setscale.svg deleted file mode 100644 index 898af73..0000000 --- a/images/es/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - fijar - - - escala - - - diff --git a/images/es/turtle/setxy.svg b/images/es/turtle/setxy.svg deleted file mode 100644 index dc78c9a..0000000 --- a/images/es/turtle/setxy.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - fijar - - - x - - - y - - diff --git a/images/es/turtle/show.svg b/images/es/turtle/show.svg deleted file mode 100644 index fc92cf0..0000000 --- a/images/es/turtle/show.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - mostrar - - - medios - - - diff --git a/images/es/turtle/turtlegroup.svg b/images/es/turtle/turtlegroup.svg deleted file mode 100644 index 4dc66e3..0000000 --- a/images/es/turtle/turtlegroup.svg +++ /dev/null @@ -1,919 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - limpiar - - - - - - adelante - - - - - - atrás - - - - - - izquierda - - - - - - derecha - - - - - - - - arco - - - ángulo - radio - - - - - - - - fijar - - - x - y - - - - - - fijar - - - dirección - - - - coorx - - - - coory - - - - dirección - - - Tortuga - - - - - - - - - - - - mostrar - - - medios - - - - - - fijar - - - escala - - - - - - - - - - - - - - medios - - - mostrar - - - - nombre - - diff --git a/images/es/turtle/write.svg b/images/es/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/es/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/es/turtle/xcor.svg b/images/es/turtle/xcor.svg deleted file mode 100644 index d690675..0000000 --- a/images/es/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - coorx - - diff --git a/images/es/turtle/ycor.svg b/images/es/turtle/ycor.svg deleted file mode 100644 index d786234..0000000 --- a/images/es/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - coory - - diff --git a/images/fi/flow/flowgroup.svg b/images/fi/flow/flowgroup.svg deleted file mode 100644 index dd21636..0000000 --- a/images/fi/flow/flowgroup.svg +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Vuo - - - - - - - - - odota - - - - ikusesti - - - - toista - - - - jos - - - niin - - - - lopeta - - - toiminto - - - - jos - - - niin - - - muuten - - - - - - - diff --git a/images/fi/flow/forever.svg b/images/fi/flow/forever.svg deleted file mode 100644 index a094b3a..0000000 --- a/images/fi/flow/forever.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - ikusesti - diff --git a/images/fi/flow/hspace.svg b/images/fi/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/fi/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/fi/flow/if.svg b/images/fi/flow/if.svg deleted file mode 100644 index 1b537f4..0000000 --- a/images/fi/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - jos - - niin - diff --git a/images/fi/flow/ifelse.svg b/images/fi/flow/ifelse.svg deleted file mode 100644 index 8b4ad27..0000000 --- a/images/fi/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - jos - - niin - - muuten - \ No newline at end of file diff --git a/images/fi/flow/lock.svg b/images/fi/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/fi/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/flow/repeat.svg b/images/fi/flow/repeat.svg deleted file mode 100644 index f1b3893..0000000 --- a/images/fi/flow/repeat.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - toista - diff --git a/images/fi/flow/stopstack.svg b/images/fi/flow/stopstack.svg deleted file mode 100644 index d33841c..0000000 --- a/images/fi/flow/stopstack.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - lopetatoiminto - diff --git a/images/fi/flow/vspace.svg b/images/fi/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/fi/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/fi/flow/wait.svg b/images/fi/flow/wait.svg deleted file mode 100644 index 228a170..0000000 --- a/images/fi/flow/wait.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - odota - - diff --git a/images/fi/myblocks/box.svg b/images/fi/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/fi/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/myblocks/box1.svg b/images/fi/myblocks/box1.svg deleted file mode 100644 index a5165ad..0000000 --- a/images/fi/myblocks/box1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - laatikko 1 - - - diff --git a/images/fi/myblocks/box2.svg b/images/fi/myblocks/box2.svg deleted file mode 100644 index ebcbad4..0000000 --- a/images/fi/myblocks/box2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - laatikko 2 - - - diff --git a/images/fi/myblocks/hat.svg b/images/fi/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/fi/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/myblocks/hat1.svg b/images/fi/myblocks/hat1.svg deleted file mode 100644 index 66bfa22..0000000 --- a/images/fi/myblocks/hat1.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - pino 1 - - - \ No newline at end of file diff --git a/images/fi/myblocks/hat2.svg b/images/fi/myblocks/hat2.svg deleted file mode 100644 index 0a8d115..0000000 --- a/images/fi/myblocks/hat2.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - pino 2 - - - \ No newline at end of file diff --git a/images/fi/myblocks/myblocksgroup.svg b/images/fi/myblocks/myblocksgroup.svg deleted file mode 100644 index ba27522..0000000 --- a/images/fi/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Omat Blokit - - - - pino 1 - - - - pino 1 - - - - pino 2 - - - - pino 2 - - - - - - - - tallenna - - - laatikkoon - - - 1 - - - - laatikko 1 - - - - - - - - tallenna - - - laatikkoon - - - 2 - - - - laatikko 2 - - - - - - - - - - nimi - - - - - - aloita - - diff --git a/images/fi/myblocks/stack.svg b/images/fi/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/fi/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/myblocks/stack1.svg b/images/fi/myblocks/stack1.svg deleted file mode 100644 index 1a55ec3..0000000 --- a/images/fi/myblocks/stack1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - pino 1 - - diff --git a/images/fi/myblocks/stack2.svg b/images/fi/myblocks/stack2.svg deleted file mode 100644 index 44c69cb..0000000 --- a/images/fi/myblocks/stack2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - pino 2 - - diff --git a/images/fi/myblocks/start.svg b/images/fi/myblocks/start.svg deleted file mode 100644 index d3cb451..0000000 --- a/images/fi/myblocks/start.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - aloita - - - \ No newline at end of file diff --git a/images/fi/myblocks/storein.svg b/images/fi/myblocks/storein.svg deleted file mode 100644 index 97d502e..0000000 --- a/images/fi/myblocks/storein.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - tallenna - - diff --git a/images/fi/myblocks/storeinbox.svg b/images/fi/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/fi/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/myblocks/storeinbox1.svg b/images/fi/myblocks/storeinbox1.svg deleted file mode 100644 index 40430ea..0000000 --- a/images/fi/myblocks/storeinbox1.svg +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - tallenna - - - laatikkoon - - - 1 - - diff --git a/images/fi/myblocks/storeinbox2.svg b/images/fi/myblocks/storeinbox2.svg deleted file mode 100644 index c02d32c..0000000 --- a/images/fi/myblocks/storeinbox2.svg +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - tallenna - - - laatikkoon - - - 2 - - diff --git a/images/fi/myblocks/string.svg b/images/fi/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/fi/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/fi/numbers/and.svg b/images/fi/numbers/and.svg deleted file mode 100644 index 31df80d..0000000 --- a/images/fi/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - ja - diff --git a/images/fi/numbers/division.svg b/images/fi/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/fi/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/fi/numbers/division2.svg b/images/fi/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/fi/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/fi/numbers/equal.svg b/images/fi/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/fi/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/fi/numbers/greater.svg b/images/fi/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/fi/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/fi/numbers/identity.svg b/images/fi/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/fi/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/numbers/identity2.svg b/images/fi/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/fi/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/numbers/less.svg b/images/fi/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/fi/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/fi/numbers/minus.svg b/images/fi/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/fi/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/fi/numbers/minus2.svg b/images/fi/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/fi/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/numbers/not.svg b/images/fi/numbers/not.svg deleted file mode 100644 index a1ab160..0000000 --- a/images/fi/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - ei - diff --git a/images/fi/numbers/number.svg b/images/fi/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/fi/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/fi/numbers/numbersgroup.svg b/images/fi/numbers/numbersgroup.svg deleted file mode 100644 index fdfa572..0000000 --- a/images/fi/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Numerot - - - - - - - - - - - - - - - - - - - - - - satunnainen - - - - - - = - - - - - - < - - - - - - > - - - - ja - - - - tai - - - - ei - - - - - - tulosta - - - numero - - - min - - - max - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/fi/numbers/or.svg b/images/fi/numbers/or.svg deleted file mode 100644 index 300b03a..0000000 --- a/images/fi/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - tai - diff --git a/images/fi/numbers/plus.svg b/images/fi/numbers/plus.svg deleted file mode 100644 index f271826..0000000 --- a/images/fi/numbers/plus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - + - diff --git a/images/fi/numbers/plus2.svg b/images/fi/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/fi/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/fi/numbers/print.svg b/images/fi/numbers/print.svg deleted file mode 100644 index 442baa7..0000000 --- a/images/fi/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - tulosta - - diff --git a/images/fi/numbers/product.svg b/images/fi/numbers/product.svg deleted file mode 100644 index 28eda4b..0000000 --- a/images/fi/numbers/product.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - × - diff --git a/images/fi/numbers/product2.svg b/images/fi/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/fi/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/fi/numbers/random.svg b/images/fi/numbers/random.svg deleted file mode 100644 index 0886813..0000000 --- a/images/fi/numbers/random.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - satunnainen - - \ No newline at end of file diff --git a/images/fi/numbers/remainder.svg b/images/fi/numbers/remainder.svg deleted file mode 100644 index 7d715d9..0000000 --- a/images/fi/numbers/remainder.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - mod - diff --git a/images/fi/numbers/remainder2.svg b/images/fi/numbers/remainder2.svg deleted file mode 100644 index 5f1a0bc..0000000 --- a/images/fi/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/fi/numbers/sqrt.svg b/images/fi/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/fi/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/fi/pen/blue.svg b/images/fi/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/fi/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fi/pen/color.svg b/images/fi/pen/color.svg deleted file mode 100644 index 9a2c2aa..0000000 --- a/images/fi/pen/color.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - väri - - - \ No newline at end of file diff --git a/images/fi/pen/cyan.svg b/images/fi/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/fi/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fi/pen/fillscreen.svg b/images/fi/pen/fillscreen.svg deleted file mode 100644 index 59cdac0..0000000 --- a/images/fi/pen/fillscreen.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - täytäruutu - - väri - - kuvio - - \ No newline at end of file diff --git a/images/fi/pen/green.svg b/images/fi/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/fi/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fi/pen/orange.svg b/images/fi/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/fi/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fi/pen/pendown.svg b/images/fi/pen/pendown.svg deleted file mode 100644 index e72299a..0000000 --- a/images/fi/pen/pendown.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - kynä - - - alas - - - \ No newline at end of file diff --git a/images/fi/pen/pengroup.svg b/images/fi/pen/pengroup.svg deleted file mode 100644 index eb87120..0000000 --- a/images/fi/pen/pengroup.svg +++ /dev/null @@ -1,737 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Kynä - - - - kynä - - - ylös - - - - kynä - - - alas - - - - - - aseta - - - kynän - - - koko - - - - - - - aseta - - - väri - - - - - - - - aseta - - - kuvio - - - - - - - - - - täytä - - - ruutu - - - väri - - - kuvio - - - - - - kynän koko - - - - - - tekstin koko - - - - - - väri - - - - - - - - aseta - - - tekstin - - - koko - - - - - - kuvio - - - - - - - - - - - - - - diff --git a/images/fi/pen/pensize.svg b/images/fi/pen/pensize.svg deleted file mode 100644 index 61da47b..0000000 --- a/images/fi/pen/pensize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - kynän koko - - - \ No newline at end of file diff --git a/images/fi/pen/penup.svg b/images/fi/pen/penup.svg deleted file mode 100644 index f677f92..0000000 --- a/images/fi/pen/penup.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - kynä - - - ylös - - - \ No newline at end of file diff --git a/images/fi/pen/purple.svg b/images/fi/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/fi/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fi/pen/red.svg b/images/fi/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/fi/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fi/pen/setcolor.svg b/images/fi/pen/setcolor.svg deleted file mode 100644 index 44cc6e0..0000000 --- a/images/fi/pen/setcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - aseta - - - väri - - diff --git a/images/fi/pen/setpensize.svg b/images/fi/pen/setpensize.svg deleted file mode 100644 index bd168fc..0000000 --- a/images/fi/pen/setpensize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - aseta - - - kynän - - - koko - - diff --git a/images/fi/pen/setshade.svg b/images/fi/pen/setshade.svg deleted file mode 100644 index 9eb57e6..0000000 --- a/images/fi/pen/setshade.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - aseta - - - kuvio - - diff --git a/images/fi/pen/settextcolor.svg b/images/fi/pen/settextcolor.svg deleted file mode 100644 index 28a01c7..0000000 --- a/images/fi/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - aseta - - - tekstin - - - väri - - diff --git a/images/fi/pen/settextsize.svg b/images/fi/pen/settextsize.svg deleted file mode 100644 index 4c96328..0000000 --- a/images/fi/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - aseta - - - tekstin - - - koko - - diff --git a/images/fi/pen/shade.svg b/images/fi/pen/shade.svg deleted file mode 100644 index 7dc482d..0000000 --- a/images/fi/pen/shade.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - kuvio - - - \ No newline at end of file diff --git a/images/fi/pen/textcolor.svg b/images/fi/pen/textcolor.svg deleted file mode 100644 index 10dfac9..0000000 --- a/images/fi/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - tekstin väri - - - \ No newline at end of file diff --git a/images/fi/pen/textsize.svg b/images/fi/pen/textsize.svg deleted file mode 100644 index 381a2cf..0000000 --- a/images/fi/pen/textsize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - tekstin koko - - - \ No newline at end of file diff --git a/images/fi/pen/yellow.svg b/images/fi/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/fi/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fi/sensors/bottompos.svg b/images/fi/sensors/bottompos.svg deleted file mode 100644 index b3c1a4d..0000000 --- a/images/fi/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - alin - - diff --git a/images/fi/sensors/clearheap.svg b/images/fi/sensors/clearheap.svg deleted file mode 100644 index e6eb673..0000000 --- a/images/fi/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - tyhjä - - - keko - - diff --git a/images/fi/sensors/hres.svg b/images/fi/sensors/hres.svg deleted file mode 100644 index dd7456e..0000000 --- a/images/fi/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - leveys - - diff --git a/images/fi/sensors/kbinput.svg b/images/fi/sensors/kbinput.svg deleted file mode 100644 index bdb29fd..0000000 --- a/images/fi/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - lue - - - avain - - diff --git a/images/fi/sensors/keyboard.svg b/images/fi/sensors/keyboard.svg deleted file mode 100644 index b13872e..0000000 --- a/images/fi/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - näppäimistä - - diff --git a/images/fi/sensors/leftpos.svg b/images/fi/sensors/leftpos.svg deleted file mode 100644 index 7a17793..0000000 --- a/images/fi/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - vasen - - diff --git a/images/fi/sensors/myfunc.svg b/images/fi/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/fi/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/sensors/nop-loaded.svg b/images/fi/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/fi/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/sensors/nop.svg b/images/fi/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/fi/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/sensors/pop.svg b/images/fi/sensors/pop.svg deleted file mode 100644 index 37f4b4c..0000000 --- a/images/fi/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - ota - - diff --git a/images/fi/sensors/printheap.svg b/images/fi/sensors/printheap.svg deleted file mode 100644 index 2fe6404..0000000 --- a/images/fi/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - näytä - - - keko - - diff --git a/images/fi/sensors/push.svg b/images/fi/sensors/push.svg deleted file mode 100644 index ffad5e7..0000000 --- a/images/fi/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - aseta - - diff --git a/images/fi/sensors/rightpos.svg b/images/fi/sensors/rightpos.svg deleted file mode 100644 index 80fc6b5..0000000 --- a/images/fi/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - oikea - - diff --git a/images/fi/sensors/sensorsgroup.svg b/images/fi/sensors/sensorsgroup.svg deleted file mode 100644 index be3f68f..0000000 --- a/images/fi/sensors/sensorsgroup.svg +++ /dev/null @@ -1,549 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Extrat - - - - lue - - - avain - - - - näppäimistä - - - - - leveys - - - - - - korkeus - - - - - - - - - - x - - - - - - - ota - - - - - - - näytä - - - keko - - - - - - tyhjä - - - keko - - - - - - - - aseta - - - - - - - - vasen - - - - - - ylin - - - - - - oikea - - - - - - alin - - - - - - - - diff --git a/images/fi/sensors/toppos.svg b/images/fi/sensors/toppos.svg deleted file mode 100644 index 070c89b..0000000 --- a/images/fi/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - ylin - - diff --git a/images/fi/sensors/vres.svg b/images/fi/sensors/vres.svg deleted file mode 100644 index e6f8277..0000000 --- a/images/fi/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - korkeus - - diff --git a/images/fi/templates/audiooff.svg b/images/fi/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/fi/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/templates/descriptionoff.svg b/images/fi/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/fi/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/fi/templates/hideblocks.svg b/images/fi/templates/hideblocks.svg deleted file mode 100644 index 60f457d..0000000 --- a/images/fi/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - piilota - - - blokki - - diff --git a/images/fi/templates/journal.svg b/images/fi/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/fi/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/templates/sound.svg b/images/fi/templates/sound.svg deleted file mode 100644 index cab5d36..0000000 --- a/images/fi/templates/sound.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ääni - - - \ No newline at end of file diff --git a/images/fi/templates/template1.svg b/images/fi/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/fi/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/templates/template2.svg b/images/fi/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/fi/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/templates/template3.svg b/images/fi/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/fi/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/templates/template4.svg b/images/fi/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/fi/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/templates/template6.svg b/images/fi/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/fi/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/templates/template7.svg b/images/fi/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/fi/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/templates/templatesgroup.svg b/images/fi/templates/templatesgroup.svg deleted file mode 100644 index 02a871d..0000000 --- a/images/fi/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Esityspohjat - - - - piilota - - - blokki - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/fi/turtle/arc.svg b/images/fi/turtle/arc.svg deleted file mode 100644 index c95b111..0000000 --- a/images/fi/turtle/arc.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - kaari - - kulma - - kehä - - \ No newline at end of file diff --git a/images/fi/turtle/back.svg b/images/fi/turtle/back.svg deleted file mode 100644 index 987e0aa..0000000 --- a/images/fi/turtle/back.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - takaisin - - - \ No newline at end of file diff --git a/images/fi/turtle/clean.svg b/images/fi/turtle/clean.svg deleted file mode 100644 index 8d8296c..0000000 --- a/images/fi/turtle/clean.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - tyhjennä - - diff --git a/images/fi/turtle/container.svg b/images/fi/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/fi/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/fi/turtle/forward.svg b/images/fi/turtle/forward.svg deleted file mode 100644 index 62ce302..0000000 --- a/images/fi/turtle/forward.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - eteen päin - - - \ No newline at end of file diff --git a/images/fi/turtle/heading.svg b/images/fi/turtle/heading.svg deleted file mode 100644 index 9358978..0000000 --- a/images/fi/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - suunta - - diff --git a/images/fi/turtle/image.svg b/images/fi/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/fi/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/fi/turtle/left.svg b/images/fi/turtle/left.svg deleted file mode 100644 index c3cb1cc..0000000 --- a/images/fi/turtle/left.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - vasen - - - \ No newline at end of file diff --git a/images/fi/turtle/right.svg b/images/fi/turtle/right.svg deleted file mode 100644 index e8e5006..0000000 --- a/images/fi/turtle/right.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - oikea - - - \ No newline at end of file diff --git a/images/fi/turtle/scale.svg b/images/fi/turtle/scale.svg deleted file mode 100644 index 3347ea8..0000000 --- a/images/fi/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - skaala - - diff --git a/images/fi/turtle/seth.svg b/images/fi/turtle/seth.svg deleted file mode 100644 index 0fcba5f..0000000 --- a/images/fi/turtle/seth.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - aseta - - - suunta - - - \ No newline at end of file diff --git a/images/fi/turtle/setscale.svg b/images/fi/turtle/setscale.svg deleted file mode 100644 index 74d787c..0000000 --- a/images/fi/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - aseta - - - skaala - - - \ No newline at end of file diff --git a/images/fi/turtle/setxy.svg b/images/fi/turtle/setxy.svg deleted file mode 100644 index 74c8753..0000000 --- a/images/fi/turtle/setxy.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - aseta xy - - x - - y - - \ No newline at end of file diff --git a/images/fi/turtle/show.svg b/images/fi/turtle/show.svg deleted file mode 100644 index e0deaba..0000000 --- a/images/fi/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - näytä - - - \ No newline at end of file diff --git a/images/fi/turtle/turtlegroup.svg b/images/fi/turtle/turtlegroup.svg deleted file mode 100644 index 3cd138c..0000000 --- a/images/fi/turtle/turtlegroup.svg +++ /dev/null @@ -1,881 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - tyhjennä - - - - - - eteen päin - - - - - - takaisin - - - - - - vasen - - - - - - oikea - - - - - - - - kaari - - - kulma - kehä - - - - - - - - aseta - - - x - y - - - - - - - aseta - - - suunta - - - - - xcor - - - - ycor - - - - suunta - - - Turtle - - - - - - - - - - - - - näytä - - - - - - - aseta - - - skaala - - - - - - - - - - - - - - - näytä - - - - - nimi - - diff --git a/images/fi/turtle/write.svg b/images/fi/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/fi/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fi/turtle/xcor.svg b/images/fi/turtle/xcor.svg deleted file mode 100644 index f7de79e..0000000 --- a/images/fi/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - xcor - - diff --git a/images/fi/turtle/ycor.svg b/images/fi/turtle/ycor.svg deleted file mode 100644 index 52d2042..0000000 --- a/images/fi/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - ycor - - diff --git a/images/fileoff.svg b/images/fileoff.svg new file mode 100644 index 0000000..d19b61e --- /dev/null +++ b/images/fileoff.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/images/fileon.svg b/images/fileon.svg new file mode 100644 index 0000000..f718dbc --- /dev/null +++ b/images/fileon.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/filesmall.svg b/images/filesmall.svg new file mode 100644 index 0000000..a259ac0 --- /dev/null +++ b/images/filesmall.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + diff --git a/images/flowmask.png b/images/flowmask.png deleted file mode 100644 index 34c6a98..0000000 --- a/images/flowmask.png +++ /dev/null Binary files differ diff --git a/images/fr/flow/flowgroup.svg b/images/fr/flow/flowgroup.svg deleted file mode 100644 index 75c75e7..0000000 --- a/images/fr/flow/flowgroup.svg +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Flux - - - - - - - - - attend - - - - toujours - - - - répète - - - - si - - - alors - - - - arrête - - - - si - - - alors - - - sinon - - - - - l'action - - diff --git a/images/fr/flow/forever.svg b/images/fr/flow/forever.svg deleted file mode 100644 index 6c9ecf0..0000000 --- a/images/fr/flow/forever.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - toujours - - diff --git a/images/fr/flow/hspace.svg b/images/fr/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/fr/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/fr/flow/if.svg b/images/fr/flow/if.svg deleted file mode 100644 index ffb88e7..0000000 --- a/images/fr/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - si - - alors - diff --git a/images/fr/flow/ifelse.svg b/images/fr/flow/ifelse.svg deleted file mode 100644 index 368905e..0000000 --- a/images/fr/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - si - - alors - - sinon - diff --git a/images/fr/flow/lock.svg b/images/fr/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/fr/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/flow/repeat.svg b/images/fr/flow/repeat.svg deleted file mode 100644 index dff9535..0000000 --- a/images/fr/flow/repeat.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - répète - diff --git a/images/fr/flow/stopstack.svg b/images/fr/flow/stopstack.svg deleted file mode 100644 index 93a6e1e..0000000 --- a/images/fr/flow/stopstack.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - arrête - - l'action - diff --git a/images/fr/flow/vspace.svg b/images/fr/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/fr/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/fr/flow/wait.svg b/images/fr/flow/wait.svg deleted file mode 100644 index 4302c36..0000000 --- a/images/fr/flow/wait.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - attend - - diff --git a/images/fr/myblocks/box.svg b/images/fr/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/fr/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/myblocks/box1.svg b/images/fr/myblocks/box1.svg deleted file mode 100644 index 33f9a70..0000000 --- a/images/fr/myblocks/box1.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - boîte1 - - diff --git a/images/fr/myblocks/box2.svg b/images/fr/myblocks/box2.svg deleted file mode 100644 index 4ab9f51..0000000 --- a/images/fr/myblocks/box2.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - boîte2 - - diff --git a/images/fr/myblocks/hat.svg b/images/fr/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/fr/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/myblocks/hat1.svg b/images/fr/myblocks/hat1.svg deleted file mode 100644 index f823c2f..0000000 --- a/images/fr/myblocks/hat1.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - action 1 - - diff --git a/images/fr/myblocks/hat2.svg b/images/fr/myblocks/hat2.svg deleted file mode 100644 index e015514..0000000 --- a/images/fr/myblocks/hat2.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - action 2 - - diff --git a/images/fr/myblocks/myblocksgroup.svg b/images/fr/myblocks/myblocksgroup.svg deleted file mode 100644 index b92ebf4..0000000 --- a/images/fr/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,917 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Mes blocs - - - - action 1 - - - - action 1 - - - - action 2 - - - - action 2 - - - - - - - - range - - - dans la - - - boîte 1 - - - - boîte 1 - - - - - - - - range - - - dans la - - - boîte 2 - - - - boîte 2 - - - - - - - nom - - - - - commencer - - - - - - - - - - - range dans la - - - - boîte - - - - - - - boîte - - - - action - - - action - - diff --git a/images/fr/myblocks/stack.svg b/images/fr/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/fr/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/myblocks/stack1.svg b/images/fr/myblocks/stack1.svg deleted file mode 100644 index 1bcb140..0000000 --- a/images/fr/myblocks/stack1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - action 1 - - diff --git a/images/fr/myblocks/stack2.svg b/images/fr/myblocks/stack2.svg deleted file mode 100644 index 48042d0..0000000 --- a/images/fr/myblocks/stack2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - action 2 - - diff --git a/images/fr/myblocks/start.svg b/images/fr/myblocks/start.svg deleted file mode 100644 index aaf6774..0000000 --- a/images/fr/myblocks/start.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - commencer - - diff --git a/images/fr/myblocks/storein.svg b/images/fr/myblocks/storein.svg deleted file mode 100644 index faaae11..0000000 --- a/images/fr/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - range dans la - - diff --git a/images/fr/myblocks/storeinbox.svg b/images/fr/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/fr/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/myblocks/storeinbox1.svg b/images/fr/myblocks/storeinbox1.svg deleted file mode 100644 index 9e9d034..0000000 --- a/images/fr/myblocks/storeinbox1.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - range - - - dans la - - - boîte1 - - diff --git a/images/fr/myblocks/storeinbox2.svg b/images/fr/myblocks/storeinbox2.svg deleted file mode 100644 index f32eadf..0000000 --- a/images/fr/myblocks/storeinbox2.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - range - - - dans la - - - boîte2 - - diff --git a/images/fr/myblocks/string.svg b/images/fr/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/fr/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/fr/numbers/and.svg b/images/fr/numbers/and.svg deleted file mode 100644 index 47ec18b..0000000 --- a/images/fr/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - et - diff --git a/images/fr/numbers/division.svg b/images/fr/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/fr/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/fr/numbers/division2.svg b/images/fr/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/fr/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/fr/numbers/equal.svg b/images/fr/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/fr/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/fr/numbers/greater.svg b/images/fr/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/fr/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/fr/numbers/identity.svg b/images/fr/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/fr/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/numbers/identity2.svg b/images/fr/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/fr/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/numbers/less.svg b/images/fr/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/fr/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/fr/numbers/minus.svg b/images/fr/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/fr/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/fr/numbers/minus2.svg b/images/fr/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/fr/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/numbers/not.svg b/images/fr/numbers/not.svg deleted file mode 100644 index 5918665..0000000 --- a/images/fr/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - non - diff --git a/images/fr/numbers/number.svg b/images/fr/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/fr/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/fr/numbers/numbersgroup.svg b/images/fr/numbers/numbersgroup.svg deleted file mode 100644 index 17b3c4d..0000000 --- a/images/fr/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Nombres - - - - - - - - - - - - - - - - - - - - - - aléatoire - - - - - - = - - - - - - < - - - - - - > - - - - et - - - - ou - - - - non - - - - - - montre - - - nombre - - - min - - - max - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/fr/numbers/or.svg b/images/fr/numbers/or.svg deleted file mode 100644 index d2c4e72..0000000 --- a/images/fr/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - ou - diff --git a/images/fr/numbers/plus.svg b/images/fr/numbers/plus.svg deleted file mode 100644 index f271826..0000000 --- a/images/fr/numbers/plus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - + - diff --git a/images/fr/numbers/plus2.svg b/images/fr/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/fr/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/fr/numbers/print.svg b/images/fr/numbers/print.svg deleted file mode 100644 index f53ee3a..0000000 --- a/images/fr/numbers/print.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - montre - - diff --git a/images/fr/numbers/product.svg b/images/fr/numbers/product.svg deleted file mode 100644 index 28eda4b..0000000 --- a/images/fr/numbers/product.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - × - diff --git a/images/fr/numbers/product2.svg b/images/fr/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/fr/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/fr/numbers/random.svg b/images/fr/numbers/random.svg deleted file mode 100644 index 25bc9eb..0000000 --- a/images/fr/numbers/random.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - aléatoire - diff --git a/images/fr/numbers/remainder.svg b/images/fr/numbers/remainder.svg deleted file mode 100644 index d7efdf9..0000000 --- a/images/fr/numbers/remainder.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - mod - diff --git a/images/fr/numbers/remainder2.svg b/images/fr/numbers/remainder2.svg deleted file mode 100644 index 585d9ec..0000000 --- a/images/fr/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/fr/numbers/sqrt.svg b/images/fr/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/fr/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/fr/pen/blue.svg b/images/fr/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/fr/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fr/pen/color.svg b/images/fr/pen/color.svg deleted file mode 100644 index de4db8f..0000000 --- a/images/fr/pen/color.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - couleur - - diff --git a/images/fr/pen/cyan.svg b/images/fr/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/fr/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fr/pen/fillscreen.svg b/images/fr/pen/fillscreen.svg deleted file mode 100644 index 201cf12..0000000 --- a/images/fr/pen/fillscreen.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - peintle fond - - couleur - - teinte - - diff --git a/images/fr/pen/green.svg b/images/fr/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/fr/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fr/pen/orange.svg b/images/fr/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/fr/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fr/pen/pendown.svg b/images/fr/pen/pendown.svg deleted file mode 100644 index d85299b..0000000 --- a/images/fr/pen/pendown.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - crayon - - - abaissé - - diff --git a/images/fr/pen/pengroup.svg b/images/fr/pen/pengroup.svg deleted file mode 100644 index 673db2f..0000000 --- a/images/fr/pen/pengroup.svg +++ /dev/null @@ -1,790 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Crayon - - - - crayon - - - levé - - - - crayon - - - abaissé - - - - - - fixe - - - l'épaisseur - - - du trait - - - - - - - fixe la - - - couleir - - - - - - - - fixe la - - - teinte - - - - - - - - - - peint - - - le fond - - - couleur - - - teinte - - - - - - épaisseur - - - - - taille du texte - - - - - couleur - - - - - - - - fixe la - - - taille - - - du texte - - - - - - teinte - - - - - - - - - - - - - - diff --git a/images/fr/pen/pensize.svg b/images/fr/pen/pensize.svg deleted file mode 100644 index 693d1e3..0000000 --- a/images/fr/pen/pensize.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - épaisseur - - diff --git a/images/fr/pen/penup.svg b/images/fr/pen/penup.svg deleted file mode 100644 index 007c745..0000000 --- a/images/fr/pen/penup.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - crayon - - - levé - - diff --git a/images/fr/pen/purple.svg b/images/fr/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/fr/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fr/pen/red.svg b/images/fr/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/fr/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fr/pen/setcolor.svg b/images/fr/pen/setcolor.svg deleted file mode 100644 index f314e90..0000000 --- a/images/fr/pen/setcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - fixe la - - - couleur - - diff --git a/images/fr/pen/setpensize.svg b/images/fr/pen/setpensize.svg deleted file mode 100644 index ed1086f..0000000 --- a/images/fr/pen/setpensize.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - fixe - - - l'épaisseur - - - du trait - - diff --git a/images/fr/pen/setshade.svg b/images/fr/pen/setshade.svg deleted file mode 100644 index b3e1912..0000000 --- a/images/fr/pen/setshade.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - fixe la - - - teinte - - diff --git a/images/fr/pen/settextcolor.svg b/images/fr/pen/settextcolor.svg deleted file mode 100644 index 09afe3c..0000000 --- a/images/fr/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - définir la - - - couleur - - - du texte - - diff --git a/images/fr/pen/settextsize.svg b/images/fr/pen/settextsize.svg deleted file mode 100644 index 56d00e3..0000000 --- a/images/fr/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - fixe la - - - taille - - - du texte - - diff --git a/images/fr/pen/shade.svg b/images/fr/pen/shade.svg deleted file mode 100644 index df8c2fd..0000000 --- a/images/fr/pen/shade.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - teinte - - diff --git a/images/fr/pen/textcolor.svg b/images/fr/pen/textcolor.svg deleted file mode 100644 index 3f10014..0000000 --- a/images/fr/pen/textcolor.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - couleur du texte - - diff --git a/images/fr/pen/textsize.svg b/images/fr/pen/textsize.svg deleted file mode 100644 index 469776a..0000000 --- a/images/fr/pen/textsize.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - taille du texte - - diff --git a/images/fr/pen/yellow.svg b/images/fr/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/fr/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/fr/sensors/bottompos.svg b/images/fr/sensors/bottompos.svg deleted file mode 100644 index 8bdfdb5..0000000 --- a/images/fr/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bas - - diff --git a/images/fr/sensors/clearheap.svg b/images/fr/sensors/clearheap.svg deleted file mode 100644 index f0e483d..0000000 --- a/images/fr/sensors/clearheap.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - vide - - - le - - - tas - - diff --git a/images/fr/sensors/hres.svg b/images/fr/sensors/hres.svg deleted file mode 100644 index 8788189..0000000 --- a/images/fr/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - largeur - - diff --git a/images/fr/sensors/kbinput.svg b/images/fr/sensors/kbinput.svg deleted file mode 100644 index 3c94a2b..0000000 --- a/images/fr/sensors/kbinput.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - vide - - - la - - - touche - - diff --git a/images/fr/sensors/keyboard.svg b/images/fr/sensors/keyboard.svg deleted file mode 100644 index 9aa0948..0000000 --- a/images/fr/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - clavier - - diff --git a/images/fr/sensors/leftpos.svg b/images/fr/sensors/leftpos.svg deleted file mode 100644 index c926e3e..0000000 --- a/images/fr/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - gauche - - diff --git a/images/fr/sensors/myfunc.svg b/images/fr/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/fr/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/sensors/nop-loaded.svg b/images/fr/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/fr/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/sensors/nop.svg b/images/fr/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/fr/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/sensors/pop.svg b/images/fr/sensors/pop.svg deleted file mode 100644 index 6241c29..0000000 --- a/images/fr/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - dépile - - diff --git a/images/fr/sensors/printheap.svg b/images/fr/sensors/printheap.svg deleted file mode 100644 index 91dc463..0000000 --- a/images/fr/sensors/printheap.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - affiche - - - le - - - tas - - diff --git a/images/fr/sensors/push.svg b/images/fr/sensors/push.svg deleted file mode 100644 index 7d7de13..0000000 --- a/images/fr/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - pousse - - diff --git a/images/fr/sensors/rightpos.svg b/images/fr/sensors/rightpos.svg deleted file mode 100644 index 924b2e2..0000000 --- a/images/fr/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - droite - - diff --git a/images/fr/sensors/sensorsgroup.svg b/images/fr/sensors/sensorsgroup.svg deleted file mode 100644 index 977be73..0000000 --- a/images/fr/sensors/sensorsgroup.svg +++ /dev/null @@ -1,622 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Extras - - - - lit - - - la - - - - clavier - - - - - largeur - - - - - - hauteur - - - - - - - - - - x - - - - - - - dépile - - - - - - affiche - - - le - - - - vide - - - le - - - tas - - - tas - - - - - - - pousse - - - - - - - - gauche - - - - - - haut - - - - - - droite - - - - - - bas - - - - - - - - - touche - - diff --git a/images/fr/sensors/toppos.svg b/images/fr/sensors/toppos.svg deleted file mode 100644 index c522fee..0000000 --- a/images/fr/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - haut - - diff --git a/images/fr/sensors/vres.svg b/images/fr/sensors/vres.svg deleted file mode 100644 index 50074b2..0000000 --- a/images/fr/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - hauteur - - diff --git a/images/fr/templates/audiooff.svg b/images/fr/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/fr/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/templates/descriptionoff.svg b/images/fr/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/fr/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/fr/templates/hideblocks.svg b/images/fr/templates/hideblocks.svg deleted file mode 100644 index 0d63853..0000000 --- a/images/fr/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - masquer - - - les blocs - - diff --git a/images/fr/templates/journal.svg b/images/fr/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/fr/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/templates/sound.svg b/images/fr/templates/sound.svg deleted file mode 100644 index 75add31..0000000 --- a/images/fr/templates/sound.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - son - - diff --git a/images/fr/templates/template1.svg b/images/fr/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/fr/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/templates/template2.svg b/images/fr/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/fr/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/templates/template3.svg b/images/fr/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/fr/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/templates/template4.svg b/images/fr/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/fr/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/templates/template6.svg b/images/fr/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/fr/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/templates/template7.svg b/images/fr/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/fr/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/templates/templatesgroup.svg b/images/fr/templates/templatesgroup.svg deleted file mode 100644 index 68392be..0000000 --- a/images/fr/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Modèles - - - - masquer - - - les blocs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/turtle/arc.svg b/images/fr/turtle/arc.svg deleted file mode 100644 index e580295..0000000 --- a/images/fr/turtle/arc.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - arc - - angle - - rayon - diff --git a/images/fr/turtle/back.svg b/images/fr/turtle/back.svg deleted file mode 100644 index fc4b0ed..0000000 --- a/images/fr/turtle/back.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - recule - - diff --git a/images/fr/turtle/clean.svg b/images/fr/turtle/clean.svg deleted file mode 100644 index e7594c2..0000000 --- a/images/fr/turtle/clean.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - efface - - diff --git a/images/fr/turtle/container.svg b/images/fr/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/fr/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/fr/turtle/forward.svg b/images/fr/turtle/forward.svg deleted file mode 100644 index 02b0180..0000000 --- a/images/fr/turtle/forward.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - avance - - diff --git a/images/fr/turtle/heading.svg b/images/fr/turtle/heading.svg deleted file mode 100644 index bcd936f..0000000 --- a/images/fr/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - cap - - diff --git a/images/fr/turtle/image.svg b/images/fr/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/fr/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/fr/turtle/left.svg b/images/fr/turtle/left.svg deleted file mode 100644 index 8353d2a..0000000 --- a/images/fr/turtle/left.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - gauche - - diff --git a/images/fr/turtle/right.svg b/images/fr/turtle/right.svg deleted file mode 100644 index 2ab3dce..0000000 --- a/images/fr/turtle/right.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - droite - - diff --git a/images/fr/turtle/scale.svg b/images/fr/turtle/scale.svg deleted file mode 100644 index 2207989..0000000 --- a/images/fr/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - échelle - - diff --git a/images/fr/turtle/seth.svg b/images/fr/turtle/seth.svg deleted file mode 100644 index 98ffa18..0000000 --- a/images/fr/turtle/seth.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - fixe - - - cap - - diff --git a/images/fr/turtle/setscale.svg b/images/fr/turtle/setscale.svg deleted file mode 100644 index db1c482..0000000 --- a/images/fr/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - fixe - - - échelle - - - diff --git a/images/fr/turtle/setxy.svg b/images/fr/turtle/setxy.svg deleted file mode 100644 index baca4c8..0000000 --- a/images/fr/turtle/setxy.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - fixe - - x - - y - diff --git a/images/fr/turtle/show.svg b/images/fr/turtle/show.svg deleted file mode 100644 index c28397c..0000000 --- a/images/fr/turtle/show.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - montrer - - diff --git a/images/fr/turtle/turtlegroup.svg b/images/fr/turtle/turtlegroup.svg deleted file mode 100644 index 08f343e..0000000 --- a/images/fr/turtle/turtlegroup.svg +++ /dev/null @@ -1,877 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - efface - - - - - - avance - - - - - - recule - - - - - - gauche - - - - - - droite - - - - - - - - arc - - - angle - rayon - - - - - - - - fixe - - - x - y - - - - - - fixe - - - cap - - - - coord x - - - - coord y - - - - cap - - - Tortue - - - - - - - - - - - - - montrer - - - - - - - - fixe - - - échelle - - - - - - - - - - - - - - - - montrer - - - - - mot - - diff --git a/images/fr/turtle/write.svg b/images/fr/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/fr/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/fr/turtle/xcor.svg b/images/fr/turtle/xcor.svg deleted file mode 100644 index 4772db1..0000000 --- a/images/fr/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - coordx - - diff --git a/images/fr/turtle/ycor.svg b/images/fr/turtle/ycor.svg deleted file mode 100644 index 1d28e6c..0000000 --- a/images/fr/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - coordy - - diff --git a/images/info.svg b/images/info.svg index 5a2dbc7..3b32b93 100644 --- a/images/info.svg +++ b/images/info.svg @@ -1,26 +1,27 @@ + + style="fill:#ffd000;fill-opacity:1;fill-rule:evenodd;stroke:#e0a000;stroke-width:2.02402687px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + style="fill:#ff4040;fill-opacity:1;fill-rule:nonzero;stroke:#ff4040;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> @@ -31,34 +32,4 @@ style="font-size:12px">X - - - - - - - ! - diff --git a/images/it/flow/flowgroup.svg b/images/it/flow/flowgroup.svg deleted file mode 100644 index f5f8250..0000000 --- a/images/it/flow/flowgroup.svg +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Flusso - - - - - - - - - aspetta - - - - per- - - - - ripeti - - - - se - - - allora - - - - ferma - - - azione - - - - se - - - allora - - - altrimenti - - - - - - - - sempre - - diff --git a/images/it/flow/forever.svg b/images/it/flow/forever.svg deleted file mode 100644 index b904fc2..0000000 --- a/images/it/flow/forever.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - per- - - - sempre - - diff --git a/images/it/flow/hspace.svg b/images/it/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/it/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/it/flow/if.svg b/images/it/flow/if.svg deleted file mode 100644 index 43bfcb8..0000000 --- a/images/it/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - se - - allora - diff --git a/images/it/flow/ifelse.svg b/images/it/flow/ifelse.svg deleted file mode 100644 index c7654fd..0000000 --- a/images/it/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - se - - allora - - altrimenti - diff --git a/images/it/flow/lock.svg b/images/it/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/it/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/flow/repeat.svg b/images/it/flow/repeat.svg deleted file mode 100644 index 6cbef42..0000000 --- a/images/it/flow/repeat.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - ripeti - diff --git a/images/it/flow/stopstack.svg b/images/it/flow/stopstack.svg deleted file mode 100644 index b342c04..0000000 --- a/images/it/flow/stopstack.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - fermaazione - diff --git a/images/it/flow/vspace.svg b/images/it/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/it/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/it/flow/wait.svg b/images/it/flow/wait.svg deleted file mode 100644 index 9463fff..0000000 --- a/images/it/flow/wait.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - aspetta - - diff --git a/images/it/myblocks/box.svg b/images/it/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/it/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/myblocks/box1.svg b/images/it/myblocks/box1.svg deleted file mode 100644 index 1b75b6c..0000000 --- a/images/it/myblocks/box1.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - scatola1 - - diff --git a/images/it/myblocks/box2.svg b/images/it/myblocks/box2.svg deleted file mode 100644 index e38377c..0000000 --- a/images/it/myblocks/box2.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - scatola2 - - diff --git a/images/it/myblocks/hat.svg b/images/it/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/it/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/myblocks/hat1.svg b/images/it/myblocks/hat1.svg deleted file mode 100644 index bc5b2db..0000000 --- a/images/it/myblocks/hat1.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - azione 1 - - - diff --git a/images/it/myblocks/hat2.svg b/images/it/myblocks/hat2.svg deleted file mode 100644 index 2998a71..0000000 --- a/images/it/myblocks/hat2.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - azione 2 - - - diff --git a/images/it/myblocks/myblocksgroup.svg b/images/it/myblocks/myblocksgroup.svg deleted file mode 100644 index 8de8b07..0000000 --- a/images/it/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,917 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - I Miei Blocchi - - - - azione1 - - - - azione1 - - - - azione2 - - - - azione2 - - - - - - - - memorizza - - - nella - - - scatola 1 - - - - scatola 1 - - - - - - - - memorizza - - - nella - - - scatola 2 - - - - scatola 2 - - - - - - - nome - - - - - avvia - - - - - - - - - - - memorizza - - - - scatola - - - - - - - scatola - - - - azione - - - azione - - diff --git a/images/it/myblocks/stack.svg b/images/it/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/it/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/myblocks/stack1.svg b/images/it/myblocks/stack1.svg deleted file mode 100644 index 6d8460b..0000000 --- a/images/it/myblocks/stack1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - azione 1 - - diff --git a/images/it/myblocks/stack2.svg b/images/it/myblocks/stack2.svg deleted file mode 100644 index 012ca7c..0000000 --- a/images/it/myblocks/stack2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - azione 2 - - diff --git a/images/it/myblocks/start.svg b/images/it/myblocks/start.svg deleted file mode 100644 index a0b425f..0000000 --- a/images/it/myblocks/start.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - avvia - - - \ No newline at end of file diff --git a/images/it/myblocks/storein.svg b/images/it/myblocks/storein.svg deleted file mode 100644 index f2dd4fb..0000000 --- a/images/it/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - memorizza - - diff --git a/images/it/myblocks/storeinbox.svg b/images/it/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/it/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/myblocks/storeinbox1.svg b/images/it/myblocks/storeinbox1.svg deleted file mode 100644 index ad526a7..0000000 --- a/images/it/myblocks/storeinbox1.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - memorizza - - - nella - - - scatola 1 - - diff --git a/images/it/myblocks/storeinbox2.svg b/images/it/myblocks/storeinbox2.svg deleted file mode 100644 index abd38dd..0000000 --- a/images/it/myblocks/storeinbox2.svg +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - memorizza - - - nella - - - scatola 2 - - diff --git a/images/it/myblocks/string.svg b/images/it/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/it/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/it/numbers/and.svg b/images/it/numbers/and.svg deleted file mode 100644 index c3abf5f..0000000 --- a/images/it/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - and - diff --git a/images/it/numbers/division.svg b/images/it/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/it/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/it/numbers/division2.svg b/images/it/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/it/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/it/numbers/equal.svg b/images/it/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/it/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/it/numbers/greater.svg b/images/it/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/it/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/it/numbers/identity.svg b/images/it/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/it/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/numbers/identity2.svg b/images/it/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/it/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/numbers/less.svg b/images/it/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/it/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/it/numbers/minus.svg b/images/it/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/it/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/it/numbers/minus2.svg b/images/it/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/it/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/numbers/not.svg b/images/it/numbers/not.svg deleted file mode 100644 index 5cd3321..0000000 --- a/images/it/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - not - diff --git a/images/it/numbers/number.svg b/images/it/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/it/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/it/numbers/numbersgroup.svg b/images/it/numbers/numbersgroup.svg deleted file mode 100644 index 4237ba4..0000000 --- a/images/it/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Numeri - - - - - - - - - - - - - - - - - - - - - - casuale - - - - - - = - - - - - - < - - - - - - > - - - - and - - - - or - - - - not - - - - - - stampa - - - numero - - - min - - - max - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/it/numbers/or.svg b/images/it/numbers/or.svg deleted file mode 100644 index 2e3c2ec..0000000 --- a/images/it/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - or - diff --git a/images/it/numbers/plus.svg b/images/it/numbers/plus.svg deleted file mode 100644 index ff30535..0000000 --- a/images/it/numbers/plus.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - + - diff --git a/images/it/numbers/plus2.svg b/images/it/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/it/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/it/numbers/print.svg b/images/it/numbers/print.svg deleted file mode 100644 index 46767d6..0000000 --- a/images/it/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - stampa - - diff --git a/images/it/numbers/product.svg b/images/it/numbers/product.svg deleted file mode 100644 index 576934b..0000000 --- a/images/it/numbers/product.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - × - diff --git a/images/it/numbers/product2.svg b/images/it/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/it/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/it/numbers/random.svg b/images/it/numbers/random.svg deleted file mode 100644 index a6faff5..0000000 --- a/images/it/numbers/random.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - casuale - - \ No newline at end of file diff --git a/images/it/numbers/remainder.svg b/images/it/numbers/remainder.svg deleted file mode 100644 index 71e8813..0000000 --- a/images/it/numbers/remainder.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - mod - diff --git a/images/it/numbers/remainder2.svg b/images/it/numbers/remainder2.svg deleted file mode 100644 index 585d9ec..0000000 --- a/images/it/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/it/numbers/sqrt.svg b/images/it/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/it/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/it/pen/blue.svg b/images/it/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/it/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/it/pen/color.svg b/images/it/pen/color.svg deleted file mode 100644 index c74798b..0000000 --- a/images/it/pen/color.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - colore - - diff --git a/images/it/pen/cyan.svg b/images/it/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/it/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/it/pen/fillscreen.svg b/images/it/pen/fillscreen.svg deleted file mode 100644 index 54a8a49..0000000 --- a/images/it/pen/fillscreen.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - riempi - schermo - - - colore - - - ombreggiatura - - diff --git a/images/it/pen/green.svg b/images/it/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/it/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/it/pen/orange.svg b/images/it/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/it/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/it/pen/pendown.svg b/images/it/pen/pendown.svg deleted file mode 100644 index 4d77910..0000000 --- a/images/it/pen/pendown.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - penna - - - giù - - diff --git a/images/it/pen/pengroup.svg b/images/it/pen/pengroup.svg deleted file mode 100644 index b78704f..0000000 --- a/images/it/pen/pengroup.svg +++ /dev/null @@ -1,871 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Penna - - - - penna - - - su - - - - penna - - - giù - - - - - - seleziona - - - dimensione - - - penna - - - - - - seleziona - - - colore - - - - - - seleziona - - - ombreg- - - - - - - - - riempi - - - schermo - - - colore - - - ombreggiatura - - - - dimensione penna - - - - dimensione testo - - - - - colore - - - - - - - seleziona - - - dimensione - - - testo - - - - ombreggiatura - - - - - - - - - - - - - - giatura - - diff --git a/images/it/pen/pensize.svg b/images/it/pen/pensize.svg deleted file mode 100644 index 08fcfe8..0000000 --- a/images/it/pen/pensize.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - dimensione - - diff --git a/images/it/pen/penup.svg b/images/it/pen/penup.svg deleted file mode 100644 index d217b5a..0000000 --- a/images/it/pen/penup.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - penna - - - su - - diff --git a/images/it/pen/purple.svg b/images/it/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/it/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/it/pen/red.svg b/images/it/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/it/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/it/pen/setcolor.svg b/images/it/pen/setcolor.svg deleted file mode 100644 index c30e5bc..0000000 --- a/images/it/pen/setcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - seleziona - - - colore - - diff --git a/images/it/pen/setpensize.svg b/images/it/pen/setpensize.svg deleted file mode 100644 index eaff825..0000000 --- a/images/it/pen/setpensize.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - seleziona - - - dimensione - - - penna - - diff --git a/images/it/pen/setshade.svg b/images/it/pen/setshade.svg deleted file mode 100644 index c28fa27..0000000 --- a/images/it/pen/setshade.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - seleziona - - - ombreg- - - - giatura - - diff --git a/images/it/pen/settextcolor.svg b/images/it/pen/settextcolor.svg deleted file mode 100644 index 093a219..0000000 --- a/images/it/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - imposta - - - colore - - - del testo - - diff --git a/images/it/pen/settextsize.svg b/images/it/pen/settextsize.svg deleted file mode 100644 index 93e1e7f..0000000 --- a/images/it/pen/settextsize.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - seleziona - - - dimensione - - - testo - - diff --git a/images/it/pen/shade.svg b/images/it/pen/shade.svg deleted file mode 100644 index 870fe4b..0000000 --- a/images/it/pen/shade.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - ombreggiatura - - diff --git a/images/it/pen/textcolor.svg b/images/it/pen/textcolor.svg deleted file mode 100644 index 9b64a63..0000000 --- a/images/it/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - colore testo - - - diff --git a/images/it/pen/textsize.svg b/images/it/pen/textsize.svg deleted file mode 100644 index 400f598..0000000 --- a/images/it/pen/textsize.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - dimensione testo - - diff --git a/images/it/pen/yellow.svg b/images/it/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/it/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/it/sensors/bottompos.svg b/images/it/sensors/bottompos.svg deleted file mode 100644 index 47595b4..0000000 --- a/images/it/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - fondo - - diff --git a/images/it/sensors/clearheap.svg b/images/it/sensors/clearheap.svg deleted file mode 100644 index e8177f9..0000000 --- a/images/it/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - vuota - - - heap - - diff --git a/images/it/sensors/hres.svg b/images/it/sensors/hres.svg deleted file mode 100644 index eb3e00d..0000000 --- a/images/it/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - larghezza - - diff --git a/images/it/sensors/kbinput.svg b/images/it/sensors/kbinput.svg deleted file mode 100644 index 38e7ba9..0000000 --- a/images/it/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - leggi - - - tasto - - diff --git a/images/it/sensors/keyboard.svg b/images/it/sensors/keyboard.svg deleted file mode 100644 index e27759f..0000000 --- a/images/it/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - tastiera - - diff --git a/images/it/sensors/leftpos.svg b/images/it/sensors/leftpos.svg deleted file mode 100644 index 6305714..0000000 --- a/images/it/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - sinistra - - diff --git a/images/it/sensors/myfunc.svg b/images/it/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/it/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/sensors/nop-loaded.svg b/images/it/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/it/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/sensors/nop.svg b/images/it/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/it/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/sensors/pop.svg b/images/it/sensors/pop.svg deleted file mode 100644 index 568fcd9..0000000 --- a/images/it/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - pop - - diff --git a/images/it/sensors/printheap.svg b/images/it/sensors/printheap.svg deleted file mode 100644 index 112417b..0000000 --- a/images/it/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - mostra - - - heap - - diff --git a/images/it/sensors/push.svg b/images/it/sensors/push.svg deleted file mode 100644 index 9683008..0000000 --- a/images/it/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - push - - diff --git a/images/it/sensors/rightpos.svg b/images/it/sensors/rightpos.svg deleted file mode 100644 index 058a2c3..0000000 --- a/images/it/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - destra - - diff --git a/images/it/sensors/sensorsgroup.svg b/images/it/sensors/sensorsgroup.svg deleted file mode 100644 index 3950d84..0000000 --- a/images/it/sensors/sensorsgroup.svg +++ /dev/null @@ -1,549 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Extra - - - - leggi - - - tasto - - - - tastiera - - - - - larghezza - - - - - - altezza - - - - - - - - - - x - - - - - - - pop - - - - - - - mostra - - - heap - - - - - - vuota - - - heap - - - - - - - - push - - - - - - - - sinistra - - - - - - cima - - - - - - destra - - - - - - fondo - - - - - - - - diff --git a/images/it/sensors/toppos.svg b/images/it/sensors/toppos.svg deleted file mode 100644 index 242051a..0000000 --- a/images/it/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - cima - - diff --git a/images/it/sensors/vres.svg b/images/it/sensors/vres.svg deleted file mode 100644 index cb28df3..0000000 --- a/images/it/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - altezza - - diff --git a/images/it/templates/audiooff.svg b/images/it/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/it/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/templates/descriptionoff.svg b/images/it/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/it/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/it/templates/hideblocks.svg b/images/it/templates/hideblocks.svg deleted file mode 100644 index 0319ecd..0000000 --- a/images/it/templates/hideblocks.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - nascondi - - - blocchi - - diff --git a/images/it/templates/journal.svg b/images/it/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/it/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/templates/sound.svg b/images/it/templates/sound.svg deleted file mode 100644 index 774cdf3..0000000 --- a/images/it/templates/sound.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - suono - - diff --git a/images/it/templates/template1.svg b/images/it/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/it/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/templates/template2.svg b/images/it/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/it/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/templates/template3.svg b/images/it/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/it/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/templates/template4.svg b/images/it/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/it/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/templates/template6.svg b/images/it/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/it/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/templates/template7.svg b/images/it/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/it/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/templates/templatesgroup.svg b/images/it/templates/templatesgroup.svg deleted file mode 100644 index 7ce5a2b..0000000 --- a/images/it/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Modelli - - - - nascondi - - - blocchi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/it/turtle/arc.svg b/images/it/turtle/arc.svg deleted file mode 100644 index 690c0a8..0000000 --- a/images/it/turtle/arc.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - arco - - angolo - - raggio - diff --git a/images/it/turtle/back.svg b/images/it/turtle/back.svg deleted file mode 100644 index 713b39d..0000000 --- a/images/it/turtle/back.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - indietro - - diff --git a/images/it/turtle/clean.svg b/images/it/turtle/clean.svg deleted file mode 100644 index 93fa382..0000000 --- a/images/it/turtle/clean.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - pulisci - - diff --git a/images/it/turtle/container.svg b/images/it/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/it/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/it/turtle/forward.svg b/images/it/turtle/forward.svg deleted file mode 100644 index 08e19d0..0000000 --- a/images/it/turtle/forward.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - avanti - - diff --git a/images/it/turtle/heading.svg b/images/it/turtle/heading.svg deleted file mode 100644 index 2340b7a..0000000 --- a/images/it/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - direzione - - diff --git a/images/it/turtle/image.svg b/images/it/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/it/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/it/turtle/left.svg b/images/it/turtle/left.svg deleted file mode 100644 index 450ad68..0000000 --- a/images/it/turtle/left.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - sinistra - - diff --git a/images/it/turtle/right.svg b/images/it/turtle/right.svg deleted file mode 100644 index 6ce0c20..0000000 --- a/images/it/turtle/right.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - destra - - diff --git a/images/it/turtle/scale.svg b/images/it/turtle/scale.svg deleted file mode 100644 index 2501866..0000000 --- a/images/it/turtle/scale.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - dimensione - - diff --git a/images/it/turtle/seth.svg b/images/it/turtle/seth.svg deleted file mode 100644 index 2d12a62..0000000 --- a/images/it/turtle/seth.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - seleziona - - - direzione - - diff --git a/images/it/turtle/setscale.svg b/images/it/turtle/setscale.svg deleted file mode 100644 index 806d5ae..0000000 --- a/images/it/turtle/setscale.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - seleziona - - - scala - - diff --git a/images/it/turtle/setxy.svg b/images/it/turtle/setxy.svg deleted file mode 100644 index d27d104..0000000 --- a/images/it/turtle/setxy.svg +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - seleziona - - - x - - - y - - diff --git a/images/it/turtle/show.svg b/images/it/turtle/show.svg deleted file mode 100644 index 1a7e6f7..0000000 --- a/images/it/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - mostra - - - \ No newline at end of file diff --git a/images/it/turtle/turtlegroup.svg b/images/it/turtle/turtlegroup.svg deleted file mode 100644 index a271ab6..0000000 --- a/images/it/turtle/turtlegroup.svg +++ /dev/null @@ -1,885 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - pulisci - - - - - - avanti - - - - - - indietro - - - - - - sinistra - - - - - - destra - - - - - - - - arco - - - angolo - raggio - - - - - - - - seleziona - - - x - y - - - - - - - seleziona - - - direzione - - - - - coordinata x - - - - coordinata y - - - - direzione - - - Tartaruga - - - - - - - - - - - - - mostra - - - - - - - seleziona - - - scala - - - - - - - - - - - - - - - mostra - - - - - nome - - diff --git a/images/it/turtle/write.svg b/images/it/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/it/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/it/turtle/xcor.svg b/images/it/turtle/xcor.svg deleted file mode 100644 index a85e81d..0000000 --- a/images/it/turtle/xcor.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - coordinata x - - diff --git a/images/it/turtle/ycor.svg b/images/it/turtle/ycor.svg deleted file mode 100644 index 4d00f5b..0000000 --- a/images/it/turtle/ycor.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - coordinata y - - diff --git a/images/journaloff.svg b/images/journaloff.svg new file mode 100644 index 0000000..7123f98 --- /dev/null +++ b/images/journaloff.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/journalon.svg b/images/journalon.svg index bbc9e2d..1cac534 100644 --- a/images/journalon.svg +++ b/images/journalon.svg @@ -1,12 +1,13 @@ + @@ -32,34 +33,30 @@ gradientTransform="matrix(0.7083638,0,0,1.0012565,0.1338084,32.632067)" /> - + style="fill:#ffffff;fill-opacity:1;stroke:#010101;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round" /> diff --git a/images/journalsmall.svg b/images/journalsmall.svg new file mode 100644 index 0000000..5b93089 --- /dev/null +++ b/images/journalsmall.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/list.svg b/images/list.svg new file mode 100644 index 0000000..f6cd83b --- /dev/null +++ b/images/list.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/masknumber.svg b/images/masknumber.svg deleted file mode 100644 index 5442353..0000000 --- a/images/masknumber.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - diff --git a/images/maskstring.svg b/images/maskstring.svg deleted file mode 100644 index 9b82a8d..0000000 --- a/images/maskstring.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/mg/flow/flowgroup.svg b/images/mg/flow/flowgroup.svg deleted file mode 100644 index a7bfedd..0000000 --- a/images/mg/flow/flowgroup.svg +++ /dev/null @@ -1,359 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - koriana - - - - - - - - - andraso - - - - mandrakizay - - - - avereno - - - - raha - - - noho izany - - - - stop - - - action - - - - raha - - - noho izany - - - raha tsy izany - - - - - - - diff --git a/images/mg/flow/forever.svg b/images/mg/flow/forever.svg deleted file mode 100644 index d068ccf..0000000 --- a/images/mg/flow/forever.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - mandrakizay - diff --git a/images/mg/flow/hspace.svg b/images/mg/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/mg/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/mg/flow/if.svg b/images/mg/flow/if.svg deleted file mode 100644 index faa4343..0000000 --- a/images/mg/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - raha - - noho izany - diff --git a/images/mg/flow/ifelse.svg b/images/mg/flow/ifelse.svg deleted file mode 100644 index a59acb7..0000000 --- a/images/mg/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - raha - - noho izany - - raha tsy izany - \ No newline at end of file diff --git a/images/mg/flow/lock.svg b/images/mg/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/mg/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/flow/repeat.svg b/images/mg/flow/repeat.svg deleted file mode 100644 index e0aa2f1..0000000 --- a/images/mg/flow/repeat.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - avereno - diff --git a/images/mg/flow/stopstack.svg b/images/mg/flow/stopstack.svg deleted file mode 100644 index f395037..0000000 --- a/images/mg/flow/stopstack.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - stopaction - diff --git a/images/mg/flow/vspace.svg b/images/mg/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/mg/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/mg/flow/wait.svg b/images/mg/flow/wait.svg deleted file mode 100644 index 1fea784..0000000 --- a/images/mg/flow/wait.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - andraso - - diff --git a/images/mg/myblocks/box.svg b/images/mg/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/mg/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/myblocks/box1.svg b/images/mg/myblocks/box1.svg deleted file mode 100644 index 09dd46e..0000000 --- a/images/mg/myblocks/box1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - vata 1 - - - \ No newline at end of file diff --git a/images/mg/myblocks/box2.svg b/images/mg/myblocks/box2.svg deleted file mode 100644 index 113f77c..0000000 --- a/images/mg/myblocks/box2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - vata 2 - - - \ No newline at end of file diff --git a/images/mg/myblocks/hat.svg b/images/mg/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/mg/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/myblocks/hat1.svg b/images/mg/myblocks/hat1.svg deleted file mode 100644 index b609708..0000000 --- a/images/mg/myblocks/hat1.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - andiany 1 - - - \ No newline at end of file diff --git a/images/mg/myblocks/hat2.svg b/images/mg/myblocks/hat2.svg deleted file mode 100644 index 46bd47d..0000000 --- a/images/mg/myblocks/hat2.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - andiany 2 - - - \ No newline at end of file diff --git a/images/mg/myblocks/myblocksgroup.svg b/images/mg/myblocks/myblocksgroup.svg deleted file mode 100644 index 04512eb..0000000 --- a/images/mg/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,565 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - My Blocks - - - - andiany 1 - - - - andiany 1 - - - - andiany 2 - - - - andiany 2 - - - - - - - - store - - - in - - - box 1 - - - - vata 1 - - - - - - - - store - - - in - - - box 2 - - - - vata 2 - - - - - - - - - - anarana - - - - - - atomboy - - diff --git a/images/mg/myblocks/stack.svg b/images/mg/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/mg/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/myblocks/stack1.svg b/images/mg/myblocks/stack1.svg deleted file mode 100644 index e04a63a..0000000 --- a/images/mg/myblocks/stack1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - andiany 1 - - diff --git a/images/mg/myblocks/stack2.svg b/images/mg/myblocks/stack2.svg deleted file mode 100644 index 6dfcfb9..0000000 --- a/images/mg/myblocks/stack2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - andiany 2 - - diff --git a/images/mg/myblocks/start.svg b/images/mg/myblocks/start.svg deleted file mode 100644 index 788146f..0000000 --- a/images/mg/myblocks/start.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - atomboy - - - \ No newline at end of file diff --git a/images/mg/myblocks/storein.svg b/images/mg/myblocks/storein.svg deleted file mode 100644 index 5167168..0000000 --- a/images/mg/myblocks/storein.svg +++ /dev/null @@ -1,55 +0,0 @@ -] -] -] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - store in - - diff --git a/images/mg/myblocks/storeinbox.svg b/images/mg/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/mg/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/myblocks/storeinbox1.svg b/images/mg/myblocks/storeinbox1.svg deleted file mode 100644 index 8dce1ff..0000000 --- a/images/mg/myblocks/storeinbox1.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - store - - - in - - - box 1 - - diff --git a/images/mg/myblocks/storeinbox2.svg b/images/mg/myblocks/storeinbox2.svg deleted file mode 100644 index ea56560..0000000 --- a/images/mg/myblocks/storeinbox2.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - store - - - in - - - box 2 - - diff --git a/images/mg/myblocks/string.svg b/images/mg/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/mg/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/mg/numbers/and.svg b/images/mg/numbers/and.svg deleted file mode 100644 index d3ec35d..0000000 --- a/images/mg/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - ary - diff --git a/images/mg/numbers/division.svg b/images/mg/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/mg/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/mg/numbers/division2.svg b/images/mg/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/mg/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/mg/numbers/equal.svg b/images/mg/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/mg/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/mg/numbers/greater.svg b/images/mg/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/mg/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/mg/numbers/identity.svg b/images/mg/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/mg/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/numbers/identity2.svg b/images/mg/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/mg/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/numbers/less.svg b/images/mg/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/mg/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/mg/numbers/minus.svg b/images/mg/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/mg/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/mg/numbers/minus2.svg b/images/mg/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/mg/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/numbers/not.svg b/images/mg/numbers/not.svg deleted file mode 100644 index 9b865d6..0000000 --- a/images/mg/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - tsy - diff --git a/images/mg/numbers/number.svg b/images/mg/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/mg/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/mg/numbers/numbersgroup.svg b/images/mg/numbers/numbersgroup.svg deleted file mode 100644 index 0986b9f..0000000 --- a/images/mg/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - isa - - - - - - - - - - - - - - - - - - - - - - random - - - - - - = - - - - - - < - - - - - - > - - - - ary - - - - na - - - - tsy - - - - - - print - - - number - - - ambany indrindra - - - ambony indrindra - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/mg/numbers/or.svg b/images/mg/numbers/or.svg deleted file mode 100644 index e9ee899..0000000 --- a/images/mg/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - na - diff --git a/images/mg/numbers/plus.svg b/images/mg/numbers/plus.svg deleted file mode 100644 index ff30535..0000000 --- a/images/mg/numbers/plus.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - + - diff --git a/images/mg/numbers/plus2.svg b/images/mg/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/mg/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/mg/numbers/print.svg b/images/mg/numbers/print.svg deleted file mode 100644 index 81490df..0000000 --- a/images/mg/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - print - - diff --git a/images/mg/numbers/product.svg b/images/mg/numbers/product.svg deleted file mode 100644 index 576934b..0000000 --- a/images/mg/numbers/product.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - × - diff --git a/images/mg/numbers/product2.svg b/images/mg/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/mg/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/mg/numbers/random.svg b/images/mg/numbers/random.svg deleted file mode 100644 index 3cb34d1..0000000 --- a/images/mg/numbers/random.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - random - - \ No newline at end of file diff --git a/images/mg/numbers/remainder.svg b/images/mg/numbers/remainder.svg deleted file mode 100644 index 7d715d9..0000000 --- a/images/mg/numbers/remainder.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - mod - diff --git a/images/mg/numbers/remainder2.svg b/images/mg/numbers/remainder2.svg deleted file mode 100644 index 5f1a0bc..0000000 --- a/images/mg/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/mg/numbers/sqrt.svg b/images/mg/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/mg/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/mg/pen/blue.svg b/images/mg/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/mg/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mg/pen/color.svg b/images/mg/pen/color.svg deleted file mode 100644 index 6128465..0000000 --- a/images/mg/pen/color.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - loko - - - \ No newline at end of file diff --git a/images/mg/pen/cyan.svg b/images/mg/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/mg/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mg/pen/fillscreen.svg b/images/mg/pen/fillscreen.svg deleted file mode 100644 index 6c5709b..0000000 --- a/images/mg/pen/fillscreen.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - fill - screen - - - loko - - - fahamatrohana - - diff --git a/images/mg/pen/green.svg b/images/mg/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/mg/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mg/pen/orange.svg b/images/mg/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/mg/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mg/pen/pendown.svg b/images/mg/pen/pendown.svg deleted file mode 100644 index 1f287b3..0000000 --- a/images/mg/pen/pendown.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - ahidino - - - ny penina - - diff --git a/images/mg/pen/pengroup.svg b/images/mg/pen/pengroup.svg deleted file mode 100644 index aa563af..0000000 --- a/images/mg/pen/pengroup.svg +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Pen - - - - pen - - - up - - - - ahidino - - - ny penina - - - - - - set - - - pen - - - size - - - - - - - set - - - color - - - - - - - - set - - - shade - - - - - - - - - fill - - - screen - - - loko - - - fahamatrohana - - - - - pen size - - - - - - text size - - - - - - loko - - - - - - - - set - - - text - - - size - - - - - fahamatrohana - - - - - - - - - - - - - diff --git a/images/mg/pen/pensize.svg b/images/mg/pen/pensize.svg deleted file mode 100644 index 7f6ebdf..0000000 --- a/images/mg/pen/pensize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - pen size - - - \ No newline at end of file diff --git a/images/mg/pen/penup.svg b/images/mg/pen/penup.svg deleted file mode 100644 index e2fbaea..0000000 --- a/images/mg/pen/penup.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - pen - - - up - - - \ No newline at end of file diff --git a/images/mg/pen/purple.svg b/images/mg/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/mg/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mg/pen/red.svg b/images/mg/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/mg/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mg/pen/setcolor.svg b/images/mg/pen/setcolor.svg deleted file mode 100644 index 6e7646c..0000000 --- a/images/mg/pen/setcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - set - - - color - - diff --git a/images/mg/pen/setpensize.svg b/images/mg/pen/setpensize.svg deleted file mode 100644 index 019379c..0000000 --- a/images/mg/pen/setpensize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - set - - - pen - - - size - - diff --git a/images/mg/pen/setshade.svg b/images/mg/pen/setshade.svg deleted file mode 100644 index 59434aa..0000000 --- a/images/mg/pen/setshade.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - set - - - shade - - diff --git a/images/mg/pen/settextcolor.svg b/images/mg/pen/settextcolor.svg deleted file mode 100644 index 2a7fb28..0000000 --- a/images/mg/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - set - - - text - - - color - - diff --git a/images/mg/pen/settextsize.svg b/images/mg/pen/settextsize.svg deleted file mode 100644 index ffdbea7..0000000 --- a/images/mg/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - set - - - text - - - size - - diff --git a/images/mg/pen/shade.svg b/images/mg/pen/shade.svg deleted file mode 100644 index 32ece11..0000000 --- a/images/mg/pen/shade.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - fahamatrohana - - diff --git a/images/mg/pen/textcolor.svg b/images/mg/pen/textcolor.svg deleted file mode 100644 index 5caa607..0000000 --- a/images/mg/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - text color - - - \ No newline at end of file diff --git a/images/mg/pen/textsize.svg b/images/mg/pen/textsize.svg deleted file mode 100644 index fe05d99..0000000 --- a/images/mg/pen/textsize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - text size - - - \ No newline at end of file diff --git a/images/mg/pen/yellow.svg b/images/mg/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/mg/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mg/sensors/bottompos.svg b/images/mg/sensors/bottompos.svg deleted file mode 100644 index 83dd977..0000000 --- a/images/mg/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bottom - - diff --git a/images/mg/sensors/clearheap.svg b/images/mg/sensors/clearheap.svg deleted file mode 100644 index 8b87beb..0000000 --- a/images/mg/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - empty - - - heap - - diff --git a/images/mg/sensors/hres.svg b/images/mg/sensors/hres.svg deleted file mode 100644 index a08f401..0000000 --- a/images/mg/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - width - - diff --git a/images/mg/sensors/kbinput.svg b/images/mg/sensors/kbinput.svg deleted file mode 100644 index b02af03..0000000 --- a/images/mg/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - read - - - key - - diff --git a/images/mg/sensors/keyboard.svg b/images/mg/sensors/keyboard.svg deleted file mode 100644 index bb09552..0000000 --- a/images/mg/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - keyboard - - diff --git a/images/mg/sensors/leftpos.svg b/images/mg/sensors/leftpos.svg deleted file mode 100644 index c37e7c6..0000000 --- a/images/mg/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - left - - diff --git a/images/mg/sensors/myfunc.svg b/images/mg/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/mg/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/sensors/nop-loaded.svg b/images/mg/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/mg/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/sensors/nop.svg b/images/mg/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/mg/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/sensors/pop.svg b/images/mg/sensors/pop.svg deleted file mode 100644 index 568fcd9..0000000 --- a/images/mg/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - pop - - diff --git a/images/mg/sensors/printheap.svg b/images/mg/sensors/printheap.svg deleted file mode 100644 index 026631e..0000000 --- a/images/mg/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - show - - - heap - - diff --git a/images/mg/sensors/push.svg b/images/mg/sensors/push.svg deleted file mode 100644 index 9683008..0000000 --- a/images/mg/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - push - - diff --git a/images/mg/sensors/rightpos.svg b/images/mg/sensors/rightpos.svg deleted file mode 100644 index 92560c8..0000000 --- a/images/mg/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - right - - diff --git a/images/mg/sensors/sensorsgroup.svg b/images/mg/sensors/sensorsgroup.svg deleted file mode 100644 index 43d6bc3..0000000 --- a/images/mg/sensors/sensorsgroup.svg +++ /dev/null @@ -1,536 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Extras - - - - read - - - key - - - - extras - - - - - width - - - - - - height - - - - - - - - - - x - - - - - - - pop - - - - - - - show - - - heap - - - - - - empty - - - heap - - - - - - - - push - - - - - - - - - left - - - - - - top - - - - - - right - - - - - - bottom - - - diff --git a/images/mg/sensors/toppos.svg b/images/mg/sensors/toppos.svg deleted file mode 100644 index 43391e8..0000000 --- a/images/mg/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - top - - diff --git a/images/mg/sensors/vres.svg b/images/mg/sensors/vres.svg deleted file mode 100644 index 2efc705..0000000 --- a/images/mg/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - height - - diff --git a/images/mg/templates/audiooff.svg b/images/mg/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/mg/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/templates/descriptionoff.svg b/images/mg/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/mg/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/mg/templates/hideblocks.svg b/images/mg/templates/hideblocks.svg deleted file mode 100644 index 33abe6d..0000000 --- a/images/mg/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - afeno - - - ny - - diff --git a/images/mg/templates/journal.svg b/images/mg/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/mg/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/templates/sound.svg b/images/mg/templates/sound.svg deleted file mode 100644 index 9e5ddf4..0000000 --- a/images/mg/templates/sound.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sound - - - \ No newline at end of file diff --git a/images/mg/templates/template1.svg b/images/mg/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/mg/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/templates/template2.svg b/images/mg/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/mg/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/templates/template3.svg b/images/mg/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/mg/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/templates/template4.svg b/images/mg/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/mg/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/templates/template6.svg b/images/mg/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/mg/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/templates/template7.svg b/images/mg/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/mg/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/templates/templatesgroup.svg b/images/mg/templates/templatesgroup.svg deleted file mode 100644 index 4273dab..0000000 --- a/images/mg/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Templates - - - - afeno - - - ny - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/mg/turtle/arc.svg b/images/mg/turtle/arc.svg deleted file mode 100644 index 6ddb1e8..0000000 --- a/images/mg/turtle/arc.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - arc - - angle - - radius - - \ No newline at end of file diff --git a/images/mg/turtle/back.svg b/images/mg/turtle/back.svg deleted file mode 100644 index a3f7909..0000000 --- a/images/mg/turtle/back.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - back - - - \ No newline at end of file diff --git a/images/mg/turtle/clean.svg b/images/mg/turtle/clean.svg deleted file mode 100644 index 89e0e4f..0000000 --- a/images/mg/turtle/clean.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - diovy - - diff --git a/images/mg/turtle/container.svg b/images/mg/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/mg/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/mg/turtle/forward.svg b/images/mg/turtle/forward.svg deleted file mode 100644 index eb2a6a7..0000000 --- a/images/mg/turtle/forward.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - forward - - - \ No newline at end of file diff --git a/images/mg/turtle/heading.svg b/images/mg/turtle/heading.svg deleted file mode 100644 index 0e5f947..0000000 --- a/images/mg/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - lohateny - - diff --git a/images/mg/turtle/image.svg b/images/mg/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/mg/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/mg/turtle/left.svg b/images/mg/turtle/left.svg deleted file mode 100644 index 013a2d2..0000000 --- a/images/mg/turtle/left.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - left - - - \ No newline at end of file diff --git a/images/mg/turtle/right.svg b/images/mg/turtle/right.svg deleted file mode 100644 index 83d72d6..0000000 --- a/images/mg/turtle/right.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - right - - - \ No newline at end of file diff --git a/images/mg/turtle/scale.svg b/images/mg/turtle/scale.svg deleted file mode 100644 index 5432d96..0000000 --- a/images/mg/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - scale - - diff --git a/images/mg/turtle/seth.svg b/images/mg/turtle/seth.svg deleted file mode 100644 index 2f834e4..0000000 --- a/images/mg/turtle/seth.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - set - - - heading - - - \ No newline at end of file diff --git a/images/mg/turtle/setscale.svg b/images/mg/turtle/setscale.svg deleted file mode 100644 index cf94653..0000000 --- a/images/mg/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - set - - - scale - - - \ No newline at end of file diff --git a/images/mg/turtle/setxy.svg b/images/mg/turtle/setxy.svg deleted file mode 100644 index 9f3cdb6..0000000 --- a/images/mg/turtle/setxy.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - set xy - - x - - y - - \ No newline at end of file diff --git a/images/mg/turtle/show.svg b/images/mg/turtle/show.svg deleted file mode 100644 index 38b6cac..0000000 --- a/images/mg/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - show - - - \ No newline at end of file diff --git a/images/mg/turtle/turtlegroup.svg b/images/mg/turtle/turtlegroup.svg deleted file mode 100644 index 0885848..0000000 --- a/images/mg/turtle/turtlegroup.svg +++ /dev/null @@ -1 +0,0 @@ - X diovy forward back left right arc angle radius setyx x y set heading xcor ycor lohateny Turtle show set scale show anarana \ No newline at end of file diff --git a/images/mg/turtle/write.svg b/images/mg/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/mg/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mg/turtle/xcor.svg b/images/mg/turtle/xcor.svg deleted file mode 100644 index f7de79e..0000000 --- a/images/mg/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - xcor - - diff --git a/images/mg/turtle/ycor.svg b/images/mg/turtle/ycor.svg deleted file mode 100644 index 52d2042..0000000 --- a/images/mg/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - ycor - - diff --git a/images/mn/flow/flowgroup.svg b/images/mn/flow/flowgroup.svg deleted file mode 100644 index 7e06f87..0000000 --- a/images/mn/flow/flowgroup.svg +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Урсахуй - - - - - - - - - хүлзз - - - - үүрд - - - - дabtax - - - - xзpзb - - - бол - - - - эалгаас - - - зогс - - - - xзpзb - - - бол - - - эсвэл - - - - diff --git a/images/mn/flow/forever.svg b/images/mn/flow/forever.svg deleted file mode 100644 index b59eaf7..0000000 --- a/images/mn/flow/forever.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - үүрд - diff --git a/images/mn/flow/hspace.svg b/images/mn/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/mn/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/mn/flow/if.svg b/images/mn/flow/if.svg deleted file mode 100644 index 9de2b18..0000000 --- a/images/mn/flow/if.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - xзpзb - - бол - diff --git a/images/mn/flow/ifelse.svg b/images/mn/flow/ifelse.svg deleted file mode 100644 index cddcf72..0000000 --- a/images/mn/flow/ifelse.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - xзpзb - - бол - - эсвэл - diff --git a/images/mn/flow/lock.svg b/images/mn/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/mn/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/flow/repeat.svg b/images/mn/flow/repeat.svg deleted file mode 100644 index 97a3200..0000000 --- a/images/mn/flow/repeat.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - дabtax - diff --git a/images/mn/flow/stopstack.svg b/images/mn/flow/stopstack.svg deleted file mode 100644 index 2dfe4ef..0000000 --- a/images/mn/flow/stopstack.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - эалгаасзогс - diff --git a/images/mn/flow/vspace.svg b/images/mn/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/mn/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/mn/flow/wait.svg b/images/mn/flow/wait.svg deleted file mode 100644 index 9c1f535..0000000 --- a/images/mn/flow/wait.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - хүлзз - - diff --git a/images/mn/myblocks/box.svg b/images/mn/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/mn/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/myblocks/box1.svg b/images/mn/myblocks/box1.svg deleted file mode 100644 index f0e57d0..0000000 --- a/images/mn/myblocks/box1.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - богц1 - - diff --git a/images/mn/myblocks/box2.svg b/images/mn/myblocks/box2.svg deleted file mode 100644 index 127bf9f..0000000 --- a/images/mn/myblocks/box2.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - богц2 - - diff --git a/images/mn/myblocks/hat.svg b/images/mn/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/mn/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/myblocks/hat1.svg b/images/mn/myblocks/hat1.svg deleted file mode 100644 index 595d1a6..0000000 --- a/images/mn/myblocks/hat1.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - залгас1 - - diff --git a/images/mn/myblocks/hat2.svg b/images/mn/myblocks/hat2.svg deleted file mode 100644 index ab71856..0000000 --- a/images/mn/myblocks/hat2.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - залгас2 - - diff --git a/images/mn/myblocks/myblocksgroup.svg b/images/mn/myblocks/myblocksgroup.svg deleted file mode 100644 index a881553..0000000 --- a/images/mn/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,564 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Миний Блокуд - - - - залгас 1 - - - - залгас 1 - - - - залгас 2 - - - - залгас 2 - - - - - - - - богц - - - 1-д - - - хадгал - - - - богц 1 - - - - - - - - богц - - - 2-д - - - хадгал - - - - богц 2 - - - - - - - - - - нэр - - - - - - эхлүүлэх - - diff --git a/images/mn/myblocks/stack.svg b/images/mn/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/mn/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/myblocks/stack1.svg b/images/mn/myblocks/stack1.svg deleted file mode 100644 index b4d5ddd..0000000 --- a/images/mn/myblocks/stack1.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - залгас1 - - diff --git a/images/mn/myblocks/stack2.svg b/images/mn/myblocks/stack2.svg deleted file mode 100644 index 11704b1..0000000 --- a/images/mn/myblocks/stack2.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - залгас2 - - diff --git a/images/mn/myblocks/start.svg b/images/mn/myblocks/start.svg deleted file mode 100644 index b444b08..0000000 --- a/images/mn/myblocks/start.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - start - - diff --git a/images/mn/myblocks/storein.svg b/images/mn/myblocks/storein.svg deleted file mode 100644 index 7978931..0000000 --- a/images/mn/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - хадгал - - diff --git a/images/mn/myblocks/storeinbox.svg b/images/mn/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/mn/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/myblocks/storeinbox1.svg b/images/mn/myblocks/storeinbox1.svg deleted file mode 100644 index c6c3f67..0000000 --- a/images/mn/myblocks/storeinbox1.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - богц - - - 1-д - - - хадгал - - diff --git a/images/mn/myblocks/storeinbox2.svg b/images/mn/myblocks/storeinbox2.svg deleted file mode 100644 index ec4703b..0000000 --- a/images/mn/myblocks/storeinbox2.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - богц - - - 2-д - - - хадгал - - diff --git a/images/mn/myblocks/string.svg b/images/mn/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/mn/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/mn/numbers/and.svg b/images/mn/numbers/and.svg deleted file mode 100644 index 528796c..0000000 --- a/images/mn/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - ба - diff --git a/images/mn/numbers/division.svg b/images/mn/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/mn/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/mn/numbers/division2.svg b/images/mn/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/mn/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/mn/numbers/equal.svg b/images/mn/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/mn/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/mn/numbers/greater.svg b/images/mn/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/mn/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/mn/numbers/identity.svg b/images/mn/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/mn/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/numbers/identity2.svg b/images/mn/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/mn/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/numbers/less.svg b/images/mn/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/mn/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/mn/numbers/minus.svg b/images/mn/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/mn/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/mn/numbers/minus2.svg b/images/mn/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/mn/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/numbers/not.svg b/images/mn/numbers/not.svg deleted file mode 100644 index 5cd3321..0000000 --- a/images/mn/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - not - diff --git a/images/mn/numbers/number.svg b/images/mn/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/mn/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/mn/numbers/numbersgroup.svg b/images/mn/numbers/numbersgroup.svg deleted file mode 100644 index acabf30..0000000 --- a/images/mn/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Тооны Уйлдзл - - - - - - - - - - - - - - - - - - - - - - зоригоор - - - - - - = - - - - - - < - - - - - - > - - - - and - - - - or - - - - not - - - - - - үэүүл - - - number - - - min - - - max - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/mn/numbers/or.svg b/images/mn/numbers/or.svg deleted file mode 100644 index 2e3c2ec..0000000 --- a/images/mn/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - or - diff --git a/images/mn/numbers/plus.svg b/images/mn/numbers/plus.svg deleted file mode 100644 index f271826..0000000 --- a/images/mn/numbers/plus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - + - diff --git a/images/mn/numbers/plus2.svg b/images/mn/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/mn/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/mn/numbers/print.svg b/images/mn/numbers/print.svg deleted file mode 100644 index 16766e7..0000000 --- a/images/mn/numbers/print.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - үэүүл - - diff --git a/images/mn/numbers/product.svg b/images/mn/numbers/product.svg deleted file mode 100644 index 28eda4b..0000000 --- a/images/mn/numbers/product.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - × - diff --git a/images/mn/numbers/product2.svg b/images/mn/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/mn/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/mn/numbers/random.svg b/images/mn/numbers/random.svg deleted file mode 100644 index 9e2d4a3..0000000 --- a/images/mn/numbers/random.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - зоригоор - diff --git a/images/mn/numbers/remainder.svg b/images/mn/numbers/remainder.svg deleted file mode 100644 index d7efdf9..0000000 --- a/images/mn/numbers/remainder.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - mod - diff --git a/images/mn/numbers/remainder2.svg b/images/mn/numbers/remainder2.svg deleted file mode 100644 index 585d9ec..0000000 --- a/images/mn/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/mn/numbers/sqrt.svg b/images/mn/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/mn/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/mn/pen/blue.svg b/images/mn/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/mn/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mn/pen/color.svg b/images/mn/pen/color.svg deleted file mode 100644 index 7f6c0e4..0000000 --- a/images/mn/pen/color.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - ѳнгѳ - - diff --git a/images/mn/pen/cyan.svg b/images/mn/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/mn/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mn/pen/fillscreen.svg b/images/mn/pen/fillscreen.svg deleted file mode 100644 index 8329567..0000000 --- a/images/mn/pen/fillscreen.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - дзлгзц - - ѳнгѳ - - сүүдзр - diff --git a/images/mn/pen/green.svg b/images/mn/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/mn/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mn/pen/orange.svg b/images/mn/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/mn/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mn/pen/pendown.svg b/images/mn/pen/pendown.svg deleted file mode 100644 index 0b2a8b6..0000000 --- a/images/mn/pen/pendown.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - бүү зур - - diff --git a/images/mn/pen/pengroup.svg b/images/mn/pen/pengroup.svg deleted file mode 100644 index ee4275b..0000000 --- a/images/mn/pen/pengroup.svg +++ /dev/null @@ -1,799 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Зурах - - - - зур - - - - - - - бүү - - - зур - - - - - - үзэгний - - - хэмжээ - - - тохирох - - - - - - - өнгө - - - - - - - - - - - сүүдэр - - - - - - - - - - - - дзлгзц - - - - - - ѳнгѳ - - - сүүдзр - - - - үзэг хэмжээ - - - - - text size - - - - - - ѳнгѳ - - - - - - - - set - - - text - - - size - - - - - - сүүдзр - - - - - - - - - - - - - - diff --git a/images/mn/pen/pensize.svg b/images/mn/pen/pensize.svg deleted file mode 100644 index cdfa426..0000000 --- a/images/mn/pen/pensize.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - үззг хзмжзз - - diff --git a/images/mn/pen/penup.svg b/images/mn/pen/penup.svg deleted file mode 100644 index 52d8daf..0000000 --- a/images/mn/pen/penup.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - зур - - diff --git a/images/mn/pen/purple.svg b/images/mn/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/mn/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mn/pen/red.svg b/images/mn/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/mn/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mn/pen/setcolor.svg b/images/mn/pen/setcolor.svg deleted file mode 100644 index a66767d..0000000 --- a/images/mn/pen/setcolor.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - ѳнгѳ ? - - diff --git a/images/mn/pen/setpensize.svg b/images/mn/pen/setpensize.svg deleted file mode 100644 index aa71948..0000000 --- a/images/mn/pen/setpensize.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - үззгний - - - хзмжзз ? - - diff --git a/images/mn/pen/setshade.svg b/images/mn/pen/setshade.svg deleted file mode 100644 index 5b272c9..0000000 --- a/images/mn/pen/setshade.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - сүүдзр ? - - diff --git a/images/mn/pen/settextcolor.svg b/images/mn/pen/settextcolor.svg deleted file mode 100644 index 770b571..0000000 --- a/images/mn/pen/settextcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - бичиг - - - ѳнгѳ ? - - diff --git a/images/mn/pen/settextsize.svg b/images/mn/pen/settextsize.svg deleted file mode 100644 index ffdbea7..0000000 --- a/images/mn/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - set - - - text - - - size - - diff --git a/images/mn/pen/shade.svg b/images/mn/pen/shade.svg deleted file mode 100644 index a618e5b..0000000 --- a/images/mn/pen/shade.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - сүүдзр - - diff --git a/images/mn/pen/textcolor.svg b/images/mn/pen/textcolor.svg deleted file mode 100644 index 5caa607..0000000 --- a/images/mn/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - text color - - - \ No newline at end of file diff --git a/images/mn/pen/textsize.svg b/images/mn/pen/textsize.svg deleted file mode 100644 index fe05d99..0000000 --- a/images/mn/pen/textsize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - text size - - - \ No newline at end of file diff --git a/images/mn/pen/yellow.svg b/images/mn/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/mn/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/mn/sensors/bottompos.svg b/images/mn/sensors/bottompos.svg deleted file mode 100644 index acf79cb..0000000 --- a/images/mn/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bottom - - diff --git a/images/mn/sensors/clearheap.svg b/images/mn/sensors/clearheap.svg deleted file mode 100644 index f277b41..0000000 --- a/images/mn/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - clear - - - heap - - diff --git a/images/mn/sensors/hres.svg b/images/mn/sensors/hres.svg deleted file mode 100644 index 630111c..0000000 --- a/images/mn/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - hres - - diff --git a/images/mn/sensors/kbinput.svg b/images/mn/sensors/kbinput.svg deleted file mode 100644 index 1ffc165..0000000 --- a/images/mn/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - query - - - kb - - diff --git a/images/mn/sensors/keyboard.svg b/images/mn/sensors/keyboard.svg deleted file mode 100644 index b4b109d..0000000 --- a/images/mn/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - гар - - diff --git a/images/mn/sensors/leftpos.svg b/images/mn/sensors/leftpos.svg deleted file mode 100644 index df82dae..0000000 --- a/images/mn/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - зүүн - - diff --git a/images/mn/sensors/myfunc.svg b/images/mn/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/mn/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/sensors/nop-loaded.svg b/images/mn/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/mn/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/sensors/nop.svg b/images/mn/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/mn/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/sensors/pop.svg b/images/mn/sensors/pop.svg deleted file mode 100644 index 568fcd9..0000000 --- a/images/mn/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - pop - - diff --git a/images/mn/sensors/printheap.svg b/images/mn/sensors/printheap.svg deleted file mode 100644 index 026631e..0000000 --- a/images/mn/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - show - - - heap - - diff --git a/images/mn/sensors/push.svg b/images/mn/sensors/push.svg deleted file mode 100644 index 9683008..0000000 --- a/images/mn/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - push - - diff --git a/images/mn/sensors/rightpos.svg b/images/mn/sensors/rightpos.svg deleted file mode 100644 index 74fd3f9..0000000 --- a/images/mn/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - баруун - - diff --git a/images/mn/sensors/sensorsgroup.svg b/images/mn/sensors/sensorsgroup.svg deleted file mode 100644 index b7c39c2..0000000 --- a/images/mn/sensors/sensorsgroup.svg +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Гар - - - - read - - - key - - - - гар - - - - - hres - - - - - - vres - - - - - - - - - - x - - - - - - - pop - - - - - - - show - - - heap - - - - - - empty - - - heap - - - - - - - - push - - - - - - diff --git a/images/mn/sensors/toppos.svg b/images/mn/sensors/toppos.svg deleted file mode 100644 index 7b9e287..0000000 --- a/images/mn/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - top - - diff --git a/images/mn/sensors/vres.svg b/images/mn/sensors/vres.svg deleted file mode 100644 index cd25565..0000000 --- a/images/mn/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - vres - - diff --git a/images/mn/templates/audiooff.svg b/images/mn/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/mn/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/templates/descriptionoff.svg b/images/mn/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/mn/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/mn/templates/hideblocks.svg b/images/mn/templates/hideblocks.svg deleted file mode 100644 index 312c78b..0000000 --- a/images/mn/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - hide - - - blocks - - diff --git a/images/mn/templates/journal.svg b/images/mn/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/mn/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/templates/sound.svg b/images/mn/templates/sound.svg deleted file mode 100644 index 89e3696..0000000 --- a/images/mn/templates/sound.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sound - - diff --git a/images/mn/templates/template1.svg b/images/mn/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/mn/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/templates/template2.svg b/images/mn/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/mn/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/templates/template3.svg b/images/mn/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/mn/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/templates/template4.svg b/images/mn/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/mn/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/templates/template6.svg b/images/mn/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/mn/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/templates/template7.svg b/images/mn/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/mn/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/templates/templatesgroup.svg b/images/mn/templates/templatesgroup.svg deleted file mode 100644 index 8eeeade..0000000 --- a/images/mn/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Загвар - - - - hide - - - blocks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/mn/turtle/arc.svg b/images/mn/turtle/arc.svg deleted file mode 100644 index 2fbd8c9..0000000 --- a/images/mn/turtle/arc.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - нум - - ѳнцѳг - - радмус - diff --git a/images/mn/turtle/back.svg b/images/mn/turtle/back.svg deleted file mode 100644 index 673c121..0000000 --- a/images/mn/turtle/back.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - ухар - - diff --git a/images/mn/turtle/clean.svg b/images/mn/turtle/clean.svg deleted file mode 100644 index 162cb36..0000000 --- a/images/mn/turtle/clean.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - арилга - - diff --git a/images/mn/turtle/container.svg b/images/mn/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/mn/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/mn/turtle/forward.svg b/images/mn/turtle/forward.svg deleted file mode 100644 index 1663c5a..0000000 --- a/images/mn/turtle/forward.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - урагшаа - - diff --git a/images/mn/turtle/heading.svg b/images/mn/turtle/heading.svg deleted file mode 100644 index 945fc2e..0000000 --- a/images/mn/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - чмг - - diff --git a/images/mn/turtle/image.svg b/images/mn/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/mn/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/mn/turtle/left.svg b/images/mn/turtle/left.svg deleted file mode 100644 index 9d76414..0000000 --- a/images/mn/turtle/left.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - зүүн - - diff --git a/images/mn/turtle/right.svg b/images/mn/turtle/right.svg deleted file mode 100644 index db75e98..0000000 --- a/images/mn/turtle/right.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - баруун - - diff --git a/images/mn/turtle/scale.svg b/images/mn/turtle/scale.svg deleted file mode 100644 index 5432d96..0000000 --- a/images/mn/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - scale - - diff --git a/images/mn/turtle/seth.svg b/images/mn/turtle/seth.svg deleted file mode 100644 index 389d248..0000000 --- a/images/mn/turtle/seth.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - чмг ? - - diff --git a/images/mn/turtle/setscale.svg b/images/mn/turtle/setscale.svg deleted file mode 100644 index cf94653..0000000 --- a/images/mn/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - set - - - scale - - - \ No newline at end of file diff --git a/images/mn/turtle/setxy.svg b/images/mn/turtle/setxy.svg deleted file mode 100644 index 2279554..0000000 --- a/images/mn/turtle/setxy.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - тзнхлзг - - x - - y - diff --git a/images/mn/turtle/show.svg b/images/mn/turtle/show.svg deleted file mode 100644 index 38b6cac..0000000 --- a/images/mn/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - show - - - \ No newline at end of file diff --git a/images/mn/turtle/turtlegroup.svg b/images/mn/turtle/turtlegroup.svg deleted file mode 100644 index 7099ae1..0000000 --- a/images/mn/turtle/turtlegroup.svg +++ /dev/null @@ -1,852 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - арилга - - - - - - урагшаа - - - - - - ухар - - - - - - зүүн - - - - - - баруун - - - - - - - - нум - - - ѳнцѳг - радмус - - - - - - - - тзнхлзг - - - x - y - - - - - - - чиг? - - - - - x тэнхлэг - - - - y тэнхлэг - - - - чиг - - - Яст Мэлхий - - - - - - - - - - - - - show - - - - - - - - set - - - scale - - - - - - - - - - - - - - - - show - - - - diff --git a/images/mn/turtle/write.svg b/images/mn/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/mn/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/mn/turtle/xcor.svg b/images/mn/turtle/xcor.svg deleted file mode 100644 index 7ee2cd6..0000000 --- a/images/mn/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - x тзнхлзг - - diff --git a/images/mn/turtle/ycor.svg b/images/mn/turtle/ycor.svg deleted file mode 100644 index 53ada30..0000000 --- a/images/mn/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - y тзнхлзг - - diff --git a/images/myblocksmask.png b/images/myblocksmask.png deleted file mode 100644 index 885add1..0000000 --- a/images/myblocksmask.png +++ /dev/null Binary files differ diff --git a/images/nb/flow/flowgroup.svg b/images/nb/flow/flowgroup.svg deleted file mode 100644 index 72bfc46..0000000 --- a/images/nb/flow/flowgroup.svg +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Flyt - - - - - - - - - vent - - - - for - - - evig - - - - gjenta - - - - hvis - - - - - - - stopp - - - program - - - - hvis - - - - - - ellers - - - - diff --git a/images/nb/flow/forever.svg b/images/nb/flow/forever.svg deleted file mode 100644 index 99d92fc..0000000 --- a/images/nb/flow/forever.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - for - - evig - diff --git a/images/nb/flow/hspace.svg b/images/nb/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/nb/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/nb/flow/if.svg b/images/nb/flow/if.svg deleted file mode 100644 index 55f8378..0000000 --- a/images/nb/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - hvis - - - diff --git a/images/nb/flow/ifelse.svg b/images/nb/flow/ifelse.svg deleted file mode 100644 index 80ab07e..0000000 --- a/images/nb/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - hvis - - - - ellers - \ No newline at end of file diff --git a/images/nb/flow/lock.svg b/images/nb/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/nb/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/flow/repeat.svg b/images/nb/flow/repeat.svg deleted file mode 100644 index 5f68b50..0000000 --- a/images/nb/flow/repeat.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - gjenta - diff --git a/images/nb/flow/stopstack.svg b/images/nb/flow/stopstack.svg deleted file mode 100644 index 9ae39ef..0000000 --- a/images/nb/flow/stopstack.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - stoppprogram - diff --git a/images/nb/flow/vspace.svg b/images/nb/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/nb/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/nb/flow/wait.svg b/images/nb/flow/wait.svg deleted file mode 100644 index 6bfd0fc..0000000 --- a/images/nb/flow/wait.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - vent - - diff --git a/images/nb/myblocks/box.svg b/images/nb/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/nb/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/myblocks/box1.svg b/images/nb/myblocks/box1.svg deleted file mode 100644 index 787db6c..0000000 --- a/images/nb/myblocks/box1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - boks 1 - - - \ No newline at end of file diff --git a/images/nb/myblocks/box2.svg b/images/nb/myblocks/box2.svg deleted file mode 100644 index 1b2d9d7..0000000 --- a/images/nb/myblocks/box2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - boks 2 - - - \ No newline at end of file diff --git a/images/nb/myblocks/hat.svg b/images/nb/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/nb/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/myblocks/hat1.svg b/images/nb/myblocks/hat1.svg deleted file mode 100644 index 70c9750..0000000 --- a/images/nb/myblocks/hat1.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - program 1 - - - diff --git a/images/nb/myblocks/hat2.svg b/images/nb/myblocks/hat2.svg deleted file mode 100644 index 6b02993..0000000 --- a/images/nb/myblocks/hat2.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - program 2 - - - diff --git a/images/nb/myblocks/myblocksgroup.svg b/images/nb/myblocks/myblocksgroup.svg deleted file mode 100644 index 00ea7c3..0000000 --- a/images/nb/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,565 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Mine Blokker - - - - program 1 - - - - program 1 - - - - program 2 - - - - program 2 - - - - - - - - lagre - - - i - - - boks 1 - - - - boks 1 - - - - - - - - lagre - - - i - - - boks 2 - - - - boks 2 - - - - - - - - - - navn - - - - - - start - - diff --git a/images/nb/myblocks/stack.svg b/images/nb/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/nb/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/myblocks/stack1.svg b/images/nb/myblocks/stack1.svg deleted file mode 100644 index 8915aa4..0000000 --- a/images/nb/myblocks/stack1.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - program - 1 - - diff --git a/images/nb/myblocks/stack2.svg b/images/nb/myblocks/stack2.svg deleted file mode 100644 index d4895ca..0000000 --- a/images/nb/myblocks/stack2.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - program - 2 - - diff --git a/images/nb/myblocks/start.svg b/images/nb/myblocks/start.svg deleted file mode 100644 index 072ff32..0000000 --- a/images/nb/myblocks/start.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - start - - - \ No newline at end of file diff --git a/images/nb/myblocks/storein.svg b/images/nb/myblocks/storein.svg deleted file mode 100644 index 83e2a79..0000000 --- a/images/nb/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lagre - - diff --git a/images/nb/myblocks/storeinbox.svg b/images/nb/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/nb/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/myblocks/storeinbox1.svg b/images/nb/myblocks/storeinbox1.svg deleted file mode 100644 index 6d7f5bd..0000000 --- a/images/nb/myblocks/storeinbox1.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - lagre - - - i - - - boks 1 - - diff --git a/images/nb/myblocks/storeinbox2.svg b/images/nb/myblocks/storeinbox2.svg deleted file mode 100644 index 1196920..0000000 --- a/images/nb/myblocks/storeinbox2.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - lagre - - - i - - - boks 2 - - diff --git a/images/nb/myblocks/string.svg b/images/nb/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/nb/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/nb/numbers/and.svg b/images/nb/numbers/and.svg deleted file mode 100644 index 9eec5e3..0000000 --- a/images/nb/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - og - diff --git a/images/nb/numbers/division.svg b/images/nb/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/nb/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/nb/numbers/division2.svg b/images/nb/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/nb/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/nb/numbers/equal.svg b/images/nb/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/nb/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/nb/numbers/greater.svg b/images/nb/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/nb/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/nb/numbers/identity.svg b/images/nb/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/nb/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/numbers/identity2.svg b/images/nb/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/nb/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/numbers/less.svg b/images/nb/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/nb/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/nb/numbers/minus.svg b/images/nb/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/nb/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/nb/numbers/minus2.svg b/images/nb/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/nb/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/numbers/not.svg b/images/nb/numbers/not.svg deleted file mode 100644 index a71d98c..0000000 --- a/images/nb/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - ikke - diff --git a/images/nb/numbers/number.svg b/images/nb/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/nb/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/nb/numbers/numbersgroup.svg b/images/nb/numbers/numbersgroup.svg deleted file mode 100644 index 933aad0..0000000 --- a/images/nb/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Tall - - - - - - - - - - - - - - - - - - - - - - tilfeldig - - - - - - = - - - - - - < - - - - - - > - - - - og - - - - eller - - - - ikke - - - - - - vis verdi - - - tall - - - min - - - maks - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/nb/numbers/or.svg b/images/nb/numbers/or.svg deleted file mode 100644 index 51ce1f0..0000000 --- a/images/nb/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - eller - diff --git a/images/nb/numbers/plus.svg b/images/nb/numbers/plus.svg deleted file mode 100644 index ff30535..0000000 --- a/images/nb/numbers/plus.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - + - diff --git a/images/nb/numbers/plus2.svg b/images/nb/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/nb/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/nb/numbers/print.svg b/images/nb/numbers/print.svg deleted file mode 100644 index da9570f..0000000 --- a/images/nb/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - vis verdi - - diff --git a/images/nb/numbers/product.svg b/images/nb/numbers/product.svg deleted file mode 100644 index 576934b..0000000 --- a/images/nb/numbers/product.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - × - diff --git a/images/nb/numbers/product2.svg b/images/nb/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/nb/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/nb/numbers/random.svg b/images/nb/numbers/random.svg deleted file mode 100644 index 5e012e0..0000000 --- a/images/nb/numbers/random.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - tilfeldig - - \ No newline at end of file diff --git a/images/nb/numbers/remainder.svg b/images/nb/numbers/remainder.svg deleted file mode 100644 index 7d715d9..0000000 --- a/images/nb/numbers/remainder.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - mod - diff --git a/images/nb/numbers/remainder2.svg b/images/nb/numbers/remainder2.svg deleted file mode 100644 index 5f1a0bc..0000000 --- a/images/nb/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/nb/numbers/sqrt.svg b/images/nb/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/nb/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/nb/pen/blue.svg b/images/nb/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/nb/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nb/pen/color.svg b/images/nb/pen/color.svg deleted file mode 100644 index c1b203b..0000000 --- a/images/nb/pen/color.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - farge - - - \ No newline at end of file diff --git a/images/nb/pen/cyan.svg b/images/nb/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/nb/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nb/pen/fillscreen.svg b/images/nb/pen/fillscreen.svg deleted file mode 100644 index 2474798..0000000 --- a/images/nb/pen/fillscreen.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - fyllskjerm - - farge - - tone - - \ No newline at end of file diff --git a/images/nb/pen/green.svg b/images/nb/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/nb/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nb/pen/orange.svg b/images/nb/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/nb/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nb/pen/pendown.svg b/images/nb/pen/pendown.svg deleted file mode 100644 index be579a3..0000000 --- a/images/nb/pen/pendown.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - trykk - - - ned - - - \ No newline at end of file diff --git a/images/nb/pen/pengroup.svg b/images/nb/pen/pengroup.svg deleted file mode 100644 index 605caee..0000000 --- a/images/nb/pen/pengroup.svg +++ /dev/null @@ -1,783 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Penn - - - - løft - - - penn - - - - trykk - - - ned - - - - - - sett - - - størrelse - - - - - - - - - - sett - - - farge - - - - - - - - sett - - - tone - - - - - - - - - - fyll - - - skjerm - - - farge - - - tone - - - - - - størrelse - - - - - - tekststørrelse - - - - - - farge - - - - - - - - sett - - - tekst- - - - størrelse - - - - - - tone - - - - - - - - - - - - - - diff --git a/images/nb/pen/pensize.svg b/images/nb/pen/pensize.svg deleted file mode 100644 index aa5ddde..0000000 --- a/images/nb/pen/pensize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - størrelse - - - \ No newline at end of file diff --git a/images/nb/pen/penup.svg b/images/nb/pen/penup.svg deleted file mode 100644 index b513887..0000000 --- a/images/nb/pen/penup.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - løft - - - penn - - - \ No newline at end of file diff --git a/images/nb/pen/purple.svg b/images/nb/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/nb/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nb/pen/red.svg b/images/nb/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/nb/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nb/pen/setcolor.svg b/images/nb/pen/setcolor.svg deleted file mode 100644 index bd7de29..0000000 --- a/images/nb/pen/setcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - sett - - - farge - - diff --git a/images/nb/pen/setpensize.svg b/images/nb/pen/setpensize.svg deleted file mode 100644 index dcceb8f..0000000 --- a/images/nb/pen/setpensize.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - sett - - - størrelse - - diff --git a/images/nb/pen/setshade.svg b/images/nb/pen/setshade.svg deleted file mode 100644 index ac3e5c3..0000000 --- a/images/nb/pen/setshade.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - sett - - - tone - - diff --git a/images/nb/pen/settextcolor.svg b/images/nb/pen/settextcolor.svg deleted file mode 100644 index 0c9e18b..0000000 --- a/images/nb/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - sett - - - tekst- - - - farge - - diff --git a/images/nb/pen/settextsize.svg b/images/nb/pen/settextsize.svg deleted file mode 100644 index 213183b..0000000 --- a/images/nb/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - sett - - - tekst- - - - størrelse - - diff --git a/images/nb/pen/shade.svg b/images/nb/pen/shade.svg deleted file mode 100644 index fbd62ab..0000000 --- a/images/nb/pen/shade.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - tone - - - \ No newline at end of file diff --git a/images/nb/pen/textcolor.svg b/images/nb/pen/textcolor.svg deleted file mode 100644 index 493b79b..0000000 --- a/images/nb/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - tekstfarge - - - diff --git a/images/nb/pen/textsize.svg b/images/nb/pen/textsize.svg deleted file mode 100644 index 5ec77e9..0000000 --- a/images/nb/pen/textsize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - tekststørreise - - - diff --git a/images/nb/pen/yellow.svg b/images/nb/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/nb/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nb/sensors/bottompos.svg b/images/nb/sensors/bottompos.svg deleted file mode 100644 index acf79cb..0000000 --- a/images/nb/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bottom - - diff --git a/images/nb/sensors/clearheap.svg b/images/nb/sensors/clearheap.svg deleted file mode 100644 index 8b87beb..0000000 --- a/images/nb/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - empty - - - heap - - diff --git a/images/nb/sensors/hres.svg b/images/nb/sensors/hres.svg deleted file mode 100644 index 4af85c2..0000000 --- a/images/nb/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - høyde - - diff --git a/images/nb/sensors/kbinput.svg b/images/nb/sensors/kbinput.svg deleted file mode 100644 index dbfd8d2..0000000 --- a/images/nb/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - query - - - kb - - diff --git a/images/nb/sensors/keyboard.svg b/images/nb/sensors/keyboard.svg deleted file mode 100644 index 9c5f3fb..0000000 --- a/images/nb/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - tastatur - - diff --git a/images/nb/sensors/leftpos.svg b/images/nb/sensors/leftpos.svg deleted file mode 100644 index 1e75147..0000000 --- a/images/nb/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - venstre - - diff --git a/images/nb/sensors/myfunc.svg b/images/nb/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/nb/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/sensors/nop-loaded.svg b/images/nb/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/nb/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/sensors/nop.svg b/images/nb/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/nb/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/sensors/pop.svg b/images/nb/sensors/pop.svg deleted file mode 100644 index d25e7c1..0000000 --- a/images/nb/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - ta av - - diff --git a/images/nb/sensors/printheap.svg b/images/nb/sensors/printheap.svg deleted file mode 100644 index 026631e..0000000 --- a/images/nb/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - show - - - heap - - diff --git a/images/nb/sensors/push.svg b/images/nb/sensors/push.svg deleted file mode 100644 index 18a106c..0000000 --- a/images/nb/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - legg på - - diff --git a/images/nb/sensors/rightpos.svg b/images/nb/sensors/rightpos.svg deleted file mode 100644 index ab5d82b..0000000 --- a/images/nb/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - høyre - - diff --git a/images/nb/sensors/sensorsgroup.svg b/images/nb/sensors/sensorsgroup.svg deleted file mode 100644 index 9e5ab46..0000000 --- a/images/nb/sensors/sensorsgroup.svg +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Tastatur - - - - query - - - kb - - - - tastatur - - - - - høyde - - - - - - bredde - - - - - - - - - - x - - - - - - - ta av - - - - - - - show - - - heap - - - - - - empty - - - heap - - - - - - - - legg på - - - - - - diff --git a/images/nb/sensors/toppos.svg b/images/nb/sensors/toppos.svg deleted file mode 100644 index 7b9e287..0000000 --- a/images/nb/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - top - - diff --git a/images/nb/sensors/vres.svg b/images/nb/sensors/vres.svg deleted file mode 100644 index 4ea6025..0000000 --- a/images/nb/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bredde - - diff --git a/images/nb/templates/audiooff.svg b/images/nb/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/nb/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/templates/descriptionoff.svg b/images/nb/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/nb/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/nb/templates/hideblocks.svg b/images/nb/templates/hideblocks.svg deleted file mode 100644 index c2f123e..0000000 --- a/images/nb/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - skjul - - - blokker - - diff --git a/images/nb/templates/journal.svg b/images/nb/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/nb/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/templates/sound.svg b/images/nb/templates/sound.svg deleted file mode 100644 index 82141a7..0000000 --- a/images/nb/templates/sound.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lyd - - - \ No newline at end of file diff --git a/images/nb/templates/template1.svg b/images/nb/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/nb/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/templates/template2.svg b/images/nb/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/nb/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/templates/template3.svg b/images/nb/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/nb/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/templates/template4.svg b/images/nb/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/nb/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/templates/template6.svg b/images/nb/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/nb/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/templates/template7.svg b/images/nb/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/nb/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/templates/templatesgroup.svg b/images/nb/templates/templatesgroup.svg deleted file mode 100644 index dfc9df0..0000000 --- a/images/nb/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Sjablonger - - - - skjul - - - blokker - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/nb/turtle/arc.svg b/images/nb/turtle/arc.svg deleted file mode 100644 index 0e08e84..0000000 --- a/images/nb/turtle/arc.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - kurve - - vinkel - - radius - - \ No newline at end of file diff --git a/images/nb/turtle/back.svg b/images/nb/turtle/back.svg deleted file mode 100644 index b1a924c..0000000 --- a/images/nb/turtle/back.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - bakover - - - \ No newline at end of file diff --git a/images/nb/turtle/clean.svg b/images/nb/turtle/clean.svg deleted file mode 100644 index 75ed310..0000000 --- a/images/nb/turtle/clean.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - tøm - - diff --git a/images/nb/turtle/container.svg b/images/nb/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/nb/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/nb/turtle/forward.svg b/images/nb/turtle/forward.svg deleted file mode 100644 index 965949f..0000000 --- a/images/nb/turtle/forward.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - fremover - - - \ No newline at end of file diff --git a/images/nb/turtle/heading.svg b/images/nb/turtle/heading.svg deleted file mode 100644 index d1e7dfb..0000000 --- a/images/nb/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - retning - - diff --git a/images/nb/turtle/image.svg b/images/nb/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/nb/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/nb/turtle/left.svg b/images/nb/turtle/left.svg deleted file mode 100644 index fcc8760..0000000 --- a/images/nb/turtle/left.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - venstre - - - \ No newline at end of file diff --git a/images/nb/turtle/right.svg b/images/nb/turtle/right.svg deleted file mode 100644 index a5615f3..0000000 --- a/images/nb/turtle/right.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - høyre - - - \ No newline at end of file diff --git a/images/nb/turtle/scale.svg b/images/nb/turtle/scale.svg deleted file mode 100644 index 09f9c30..0000000 --- a/images/nb/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - størrelse - - diff --git a/images/nb/turtle/seth.svg b/images/nb/turtle/seth.svg deleted file mode 100644 index c2d5405..0000000 --- a/images/nb/turtle/seth.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - endre - - - retning - - - \ No newline at end of file diff --git a/images/nb/turtle/setscale.svg b/images/nb/turtle/setscale.svg deleted file mode 100644 index 3d71bb1..0000000 --- a/images/nb/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - endre - - - størrelse - - - diff --git a/images/nb/turtle/setxy.svg b/images/nb/turtle/setxy.svg deleted file mode 100644 index 70719f3..0000000 --- a/images/nb/turtle/setxy.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - sett xy - - x - - y - - \ No newline at end of file diff --git a/images/nb/turtle/show.svg b/images/nb/turtle/show.svg deleted file mode 100644 index c9260ed..0000000 --- a/images/nb/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - vis - - - diff --git a/images/nb/turtle/turtlegroup.svg b/images/nb/turtle/turtlegroup.svg deleted file mode 100644 index e88ea11..0000000 --- a/images/nb/turtle/turtlegroup.svg +++ /dev/null @@ -1,877 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - tøm - - - - - - fremover - - - - - - bakover - - - - - - venstre - - - - - - høyre - - - - - - - - kurve - - - vinkel - radius - - - - - - - - settxy - - - x - y - - - - - - endre - - - retning - - - - x-koordinat - - - - y-koordinat - - - - retning - - - Skilpadde - - - - - - - - - - - - - vis - - - - - - - - endre - - - størrelse - - - - - - - - - - - - - - - - vis - - - - - - - diff --git a/images/nb/turtle/write.svg b/images/nb/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/nb/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nb/turtle/xcor.svg b/images/nb/turtle/xcor.svg deleted file mode 100644 index 0a4082a..0000000 --- a/images/nb/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - x-koordinat - - diff --git a/images/nb/turtle/ycor.svg b/images/nb/turtle/ycor.svg deleted file mode 100644 index d3e3c6a..0000000 --- a/images/nb/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - y-koordinat - - diff --git a/images/negroot.svg b/images/negroot.svg new file mode 100644 index 0000000..43b6eb1 --- /dev/null +++ b/images/negroot.svg @@ -0,0 +1,74 @@ + + + + + + + + + + X + + + + √–1 + + + + + + + + ! + + diff --git a/images/nl/flow/flowgroup.svg b/images/nl/flow/flowgroup.svg deleted file mode 100644 index 904db04..0000000 --- a/images/nl/flow/flowgroup.svg +++ /dev/null @@ -1,344 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Vloeien - - - - - - - - - wacht - - - - altijd - - - - herhaal - - - - als - - - dan - - - - stop - - - stapel - - - - als - - - dan - - - anders - - - - diff --git a/images/nl/flow/forever.svg b/images/nl/flow/forever.svg deleted file mode 100644 index 177a381..0000000 --- a/images/nl/flow/forever.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - altijd - diff --git a/images/nl/flow/hspace.svg b/images/nl/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/nl/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/nl/flow/if.svg b/images/nl/flow/if.svg deleted file mode 100644 index 3fb5765..0000000 --- a/images/nl/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - als - - dan - diff --git a/images/nl/flow/ifelse.svg b/images/nl/flow/ifelse.svg deleted file mode 100644 index a036053..0000000 --- a/images/nl/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - als - - dan - - anders - \ No newline at end of file diff --git a/images/nl/flow/lock.svg b/images/nl/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/nl/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/flow/repeat.svg b/images/nl/flow/repeat.svg deleted file mode 100644 index c468bed..0000000 --- a/images/nl/flow/repeat.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - herhaal - diff --git a/images/nl/flow/stopstack.svg b/images/nl/flow/stopstack.svg deleted file mode 100644 index 1b52f31..0000000 --- a/images/nl/flow/stopstack.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - stopstapel - diff --git a/images/nl/flow/vspace.svg b/images/nl/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/nl/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/nl/flow/wait.svg b/images/nl/flow/wait.svg deleted file mode 100644 index 6c63164..0000000 --- a/images/nl/flow/wait.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - wacht - - diff --git a/images/nl/myblocks/box.svg b/images/nl/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/nl/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/myblocks/box1.svg b/images/nl/myblocks/box1.svg deleted file mode 100644 index 4e58de0..0000000 --- a/images/nl/myblocks/box1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - doos 1 - - - \ No newline at end of file diff --git a/images/nl/myblocks/box2.svg b/images/nl/myblocks/box2.svg deleted file mode 100644 index 9706ba6..0000000 --- a/images/nl/myblocks/box2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - doos 2 - - - \ No newline at end of file diff --git a/images/nl/myblocks/hat.svg b/images/nl/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/nl/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/myblocks/hat1.svg b/images/nl/myblocks/hat1.svg deleted file mode 100644 index 3142d74..0000000 --- a/images/nl/myblocks/hat1.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - stapel 1 - - - \ No newline at end of file diff --git a/images/nl/myblocks/hat2.svg b/images/nl/myblocks/hat2.svg deleted file mode 100644 index 352d403..0000000 --- a/images/nl/myblocks/hat2.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - stapel 2 - - - \ No newline at end of file diff --git a/images/nl/myblocks/myblocksgroup.svg b/images/nl/myblocks/myblocksgroup.svg deleted file mode 100644 index 9a265f5..0000000 --- a/images/nl/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,564 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Mijn blokken - - - - stapel 1 - - - - stapel 1 - - - - stapel 2 - - - - stapel 2 - - - - - - - - opslaan - - - in - - - doos 1 - - - - doos 1 - - - - - - - - opslaan - - - in - - - doos 2 - - - - doos 2 - - - - - - - - - - naam - - - - - - begin - - diff --git a/images/nl/myblocks/stack.svg b/images/nl/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/nl/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/myblocks/stack1.svg b/images/nl/myblocks/stack1.svg deleted file mode 100644 index 43ad657..0000000 --- a/images/nl/myblocks/stack1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - stapel 1 - - diff --git a/images/nl/myblocks/stack2.svg b/images/nl/myblocks/stack2.svg deleted file mode 100644 index 7615e1d..0000000 --- a/images/nl/myblocks/stack2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - stapel 2 - - diff --git a/images/nl/myblocks/start.svg b/images/nl/myblocks/start.svg deleted file mode 100644 index 55422fe..0000000 --- a/images/nl/myblocks/start.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - begin - - - \ No newline at end of file diff --git a/images/nl/myblocks/storein.svg b/images/nl/myblocks/storein.svg deleted file mode 100644 index 5ffa58c..0000000 --- a/images/nl/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - opslaan in - - diff --git a/images/nl/myblocks/storeinbox.svg b/images/nl/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/nl/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/myblocks/storeinbox1.svg b/images/nl/myblocks/storeinbox1.svg deleted file mode 100644 index 24dac08..0000000 --- a/images/nl/myblocks/storeinbox1.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - opslaan - - - in - - - doos 1 - - diff --git a/images/nl/myblocks/storeinbox2.svg b/images/nl/myblocks/storeinbox2.svg deleted file mode 100644 index a327a27..0000000 --- a/images/nl/myblocks/storeinbox2.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - opslaan - - - in - - - doos 2 - - diff --git a/images/nl/myblocks/string.svg b/images/nl/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/nl/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/nl/numbers/and.svg b/images/nl/numbers/and.svg deleted file mode 100644 index 91f3946..0000000 --- a/images/nl/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - en - diff --git a/images/nl/numbers/division.svg b/images/nl/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/nl/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/nl/numbers/division2.svg b/images/nl/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/nl/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/nl/numbers/equal.svg b/images/nl/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/nl/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/nl/numbers/greater.svg b/images/nl/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/nl/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/nl/numbers/identity.svg b/images/nl/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/nl/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/numbers/identity2.svg b/images/nl/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/nl/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/numbers/less.svg b/images/nl/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/nl/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/nl/numbers/minus.svg b/images/nl/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/nl/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/nl/numbers/minus2.svg b/images/nl/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/nl/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/numbers/not.svg b/images/nl/numbers/not.svg deleted file mode 100644 index b686e0b..0000000 --- a/images/nl/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - niet - diff --git a/images/nl/numbers/number.svg b/images/nl/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/nl/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/nl/numbers/numbersgroup.svg b/images/nl/numbers/numbersgroup.svg deleted file mode 100644 index 1d5aa17..0000000 --- a/images/nl/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Nummers - - - - - - - - - - - - - - - - - - - - - - willekeurig - - - - - - = - - - - - - < - - - - - - > - - - - en - - - - of - - - - niet - - - - - - print - - - nummer - - - min - - - max - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/nl/numbers/or.svg b/images/nl/numbers/or.svg deleted file mode 100644 index 2f53aa6..0000000 --- a/images/nl/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - of - diff --git a/images/nl/numbers/plus.svg b/images/nl/numbers/plus.svg deleted file mode 100644 index ff30535..0000000 --- a/images/nl/numbers/plus.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - + - diff --git a/images/nl/numbers/plus2.svg b/images/nl/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/nl/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/nl/numbers/print.svg b/images/nl/numbers/print.svg deleted file mode 100644 index 81490df..0000000 --- a/images/nl/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - print - - diff --git a/images/nl/numbers/product.svg b/images/nl/numbers/product.svg deleted file mode 100644 index 576934b..0000000 --- a/images/nl/numbers/product.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - × - diff --git a/images/nl/numbers/product2.svg b/images/nl/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/nl/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/nl/numbers/random.svg b/images/nl/numbers/random.svg deleted file mode 100644 index 2ef3114..0000000 --- a/images/nl/numbers/random.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - willekeurig - - \ No newline at end of file diff --git a/images/nl/numbers/remainder.svg b/images/nl/numbers/remainder.svg deleted file mode 100644 index 7d715d9..0000000 --- a/images/nl/numbers/remainder.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - mod - diff --git a/images/nl/numbers/remainder2.svg b/images/nl/numbers/remainder2.svg deleted file mode 100644 index 5f1a0bc..0000000 --- a/images/nl/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/nl/numbers/sqrt.svg b/images/nl/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/nl/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/nl/pen/blue.svg b/images/nl/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/nl/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nl/pen/color.svg b/images/nl/pen/color.svg deleted file mode 100644 index f916164..0000000 --- a/images/nl/pen/color.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - kleur - - - \ No newline at end of file diff --git a/images/nl/pen/cyan.svg b/images/nl/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/nl/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nl/pen/fillscreen.svg b/images/nl/pen/fillscreen.svg deleted file mode 100644 index 421f7ce..0000000 --- a/images/nl/pen/fillscreen.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - vulscherm - - kleur - - schaduw - - \ No newline at end of file diff --git a/images/nl/pen/green.svg b/images/nl/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/nl/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nl/pen/orange.svg b/images/nl/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/nl/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nl/pen/pendown.svg b/images/nl/pen/pendown.svg deleted file mode 100644 index 7f2e768..0000000 --- a/images/nl/pen/pendown.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - pen - - - omlaag - - - \ No newline at end of file diff --git a/images/nl/pen/pengroup.svg b/images/nl/pen/pengroup.svg deleted file mode 100644 index 26d4775..0000000 --- a/images/nl/pen/pengroup.svg +++ /dev/null @@ -1,784 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Pen - - - - pen - - - omhoog - - - - pen - - - omlaag - - - - - - zet - - - pen - - - dikte - - - - - - - zet - - - kleur - - - - - - - - zet - - - schaduw - - - - - - - - - - vul - - - scherm - - - kleur - - - schaduw - - - - - - pen dikte - - - - - - tekst dikte - - - - - - kleur - - - - - - - - zet - - - tekst - - - dikte - - - - - - schaduw - - - - - - - - - - - - - - diff --git a/images/nl/pen/pensize.svg b/images/nl/pen/pensize.svg deleted file mode 100644 index fae68e4..0000000 --- a/images/nl/pen/pensize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - pen dikte - - - \ No newline at end of file diff --git a/images/nl/pen/penup.svg b/images/nl/pen/penup.svg deleted file mode 100644 index 9d772df..0000000 --- a/images/nl/pen/penup.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - pen - - - omhoog - - - \ No newline at end of file diff --git a/images/nl/pen/purple.svg b/images/nl/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/nl/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nl/pen/red.svg b/images/nl/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/nl/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nl/pen/setcolor.svg b/images/nl/pen/setcolor.svg deleted file mode 100644 index 87afd42..0000000 --- a/images/nl/pen/setcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - zet - - - kleur - - diff --git a/images/nl/pen/setpensize.svg b/images/nl/pen/setpensize.svg deleted file mode 100644 index c7079d3..0000000 --- a/images/nl/pen/setpensize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - zet - - - pen - - - dikte - - diff --git a/images/nl/pen/setshade.svg b/images/nl/pen/setshade.svg deleted file mode 100644 index 776e55a..0000000 --- a/images/nl/pen/setshade.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - zet - - - schaduw - - diff --git a/images/nl/pen/settextcolor.svg b/images/nl/pen/settextcolor.svg deleted file mode 100644 index 3b9e12f..0000000 --- a/images/nl/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - zet - - - tekst- - - - kleur - - diff --git a/images/nl/pen/settextsize.svg b/images/nl/pen/settextsize.svg deleted file mode 100644 index 47266ab..0000000 --- a/images/nl/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - zet - - - tekst - - - dikte - - diff --git a/images/nl/pen/shade.svg b/images/nl/pen/shade.svg deleted file mode 100644 index 48858d4..0000000 --- a/images/nl/pen/shade.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - schaduw - - - \ No newline at end of file diff --git a/images/nl/pen/textcolor.svg b/images/nl/pen/textcolor.svg deleted file mode 100644 index e6bc706..0000000 --- a/images/nl/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - tekstkleur - - - diff --git a/images/nl/pen/textsize.svg b/images/nl/pen/textsize.svg deleted file mode 100644 index 76c5fe1..0000000 --- a/images/nl/pen/textsize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - tekst dikte - - - diff --git a/images/nl/pen/yellow.svg b/images/nl/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/nl/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/nl/sensors/bottompos.svg b/images/nl/sensors/bottompos.svg deleted file mode 100644 index acf79cb..0000000 --- a/images/nl/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bottom - - diff --git a/images/nl/sensors/clearheap.svg b/images/nl/sensors/clearheap.svg deleted file mode 100644 index 8b87beb..0000000 --- a/images/nl/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - empty - - - heap - - diff --git a/images/nl/sensors/hres.svg b/images/nl/sensors/hres.svg deleted file mode 100644 index 9f27bac..0000000 --- a/images/nl/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - hres - - diff --git a/images/nl/sensors/kbinput.svg b/images/nl/sensors/kbinput.svg deleted file mode 100644 index 2df27a9..0000000 --- a/images/nl/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - lees - - - toets - - diff --git a/images/nl/sensors/keyboard.svg b/images/nl/sensors/keyboard.svg deleted file mode 100644 index 8fc1446..0000000 --- a/images/nl/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - toetsenbord - - diff --git a/images/nl/sensors/leftpos.svg b/images/nl/sensors/leftpos.svg deleted file mode 100644 index 001cdbe..0000000 --- a/images/nl/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - links - - diff --git a/images/nl/sensors/myfunc.svg b/images/nl/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/nl/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/sensors/nop-loaded.svg b/images/nl/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/nl/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/sensors/nop.svg b/images/nl/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/nl/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/sensors/pop.svg b/images/nl/sensors/pop.svg deleted file mode 100644 index 7dcc1dc..0000000 --- a/images/nl/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - afnemen - - diff --git a/images/nl/sensors/printheap.svg b/images/nl/sensors/printheap.svg deleted file mode 100644 index 026631e..0000000 --- a/images/nl/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - show - - - heap - - diff --git a/images/nl/sensors/push.svg b/images/nl/sensors/push.svg deleted file mode 100644 index 2a734e0..0000000 --- a/images/nl/sensors/push.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - neer- - - - leggen - - diff --git a/images/nl/sensors/rightpos.svg b/images/nl/sensors/rightpos.svg deleted file mode 100644 index 5346ccc..0000000 --- a/images/nl/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - rechts - - diff --git a/images/nl/sensors/sensorsgroup.svg b/images/nl/sensors/sensorsgroup.svg deleted file mode 100644 index 137cdb1..0000000 --- a/images/nl/sensors/sensorsgroup.svg +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Toetsenbord - - - - lees - - - toets - - - - toetsenbord - - - - - hres - - - - - - vres - - - - - - - - - - x - - - - - - - afnemen - - - - - - - show - - - heap - - - - - - empty - - - heap - - - - - - - - neerleggen - - - - - - diff --git a/images/nl/sensors/toppos.svg b/images/nl/sensors/toppos.svg deleted file mode 100644 index 7b9e287..0000000 --- a/images/nl/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - top - - diff --git a/images/nl/sensors/vres.svg b/images/nl/sensors/vres.svg deleted file mode 100644 index 117a4b6..0000000 --- a/images/nl/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - vres - - diff --git a/images/nl/templates/audiooff.svg b/images/nl/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/nl/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/templates/descriptionoff.svg b/images/nl/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/nl/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/nl/templates/hideblocks.svg b/images/nl/templates/hideblocks.svg deleted file mode 100644 index 5eeaf1e..0000000 --- a/images/nl/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - blokken - - - verbergen - - diff --git a/images/nl/templates/journal.svg b/images/nl/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/nl/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/templates/sound.svg b/images/nl/templates/sound.svg deleted file mode 100644 index 61211e2..0000000 --- a/images/nl/templates/sound.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - geluid - - - \ No newline at end of file diff --git a/images/nl/templates/template1.svg b/images/nl/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/nl/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/templates/template2.svg b/images/nl/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/nl/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/templates/template3.svg b/images/nl/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/nl/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/templates/template4.svg b/images/nl/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/nl/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/templates/template6.svg b/images/nl/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/nl/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/templates/template7.svg b/images/nl/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/nl/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/templates/templatesgroup.svg b/images/nl/templates/templatesgroup.svg deleted file mode 100644 index 6bb7e28..0000000 --- a/images/nl/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Sjablonen - - - - blokken - - - verbergen - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/nl/turtle/arc.svg b/images/nl/turtle/arc.svg deleted file mode 100644 index e64b839..0000000 --- a/images/nl/turtle/arc.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - boog - - hoek - - straal - - \ No newline at end of file diff --git a/images/nl/turtle/back.svg b/images/nl/turtle/back.svg deleted file mode 100644 index bb8b74c..0000000 --- a/images/nl/turtle/back.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - terug - - - \ No newline at end of file diff --git a/images/nl/turtle/clean.svg b/images/nl/turtle/clean.svg deleted file mode 100644 index d910956..0000000 --- a/images/nl/turtle/clean.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - wissen - - diff --git a/images/nl/turtle/container.svg b/images/nl/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/nl/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/nl/turtle/forward.svg b/images/nl/turtle/forward.svg deleted file mode 100644 index 88b1baf..0000000 --- a/images/nl/turtle/forward.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - vooruit - - - \ No newline at end of file diff --git a/images/nl/turtle/heading.svg b/images/nl/turtle/heading.svg deleted file mode 100644 index 92154b3..0000000 --- a/images/nl/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - richting - - diff --git a/images/nl/turtle/image.svg b/images/nl/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/nl/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/nl/turtle/left.svg b/images/nl/turtle/left.svg deleted file mode 100644 index ec637b9..0000000 --- a/images/nl/turtle/left.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - links - - - \ No newline at end of file diff --git a/images/nl/turtle/right.svg b/images/nl/turtle/right.svg deleted file mode 100644 index e570fcb..0000000 --- a/images/nl/turtle/right.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - rechts - - - \ No newline at end of file diff --git a/images/nl/turtle/scale.svg b/images/nl/turtle/scale.svg deleted file mode 100644 index 5432d96..0000000 --- a/images/nl/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - scale - - diff --git a/images/nl/turtle/seth.svg b/images/nl/turtle/seth.svg deleted file mode 100644 index 5c73a9a..0000000 --- a/images/nl/turtle/seth.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - richting - - - instellen - - - \ No newline at end of file diff --git a/images/nl/turtle/setscale.svg b/images/nl/turtle/setscale.svg deleted file mode 100644 index cf94653..0000000 --- a/images/nl/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - set - - - scale - - - \ No newline at end of file diff --git a/images/nl/turtle/setxy.svg b/images/nl/turtle/setxy.svg deleted file mode 100644 index 22d4607..0000000 --- a/images/nl/turtle/setxy.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - zet xy - - x - - y - - \ No newline at end of file diff --git a/images/nl/turtle/show.svg b/images/nl/turtle/show.svg deleted file mode 100644 index 38b6cac..0000000 --- a/images/nl/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - show - - - \ No newline at end of file diff --git a/images/nl/turtle/turtlegroup.svg b/images/nl/turtle/turtlegroup.svg deleted file mode 100644 index ab2f76b..0000000 --- a/images/nl/turtle/turtlegroup.svg +++ /dev/null @@ -1,877 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - wissen - - - - - - vooruit - - - - - - terug - - - - - - links - - - - - - rechts - - - - - - - - boog - - - hoek - straal - - - - - - - - zet xy - - - x - y - - - - - - richting - - - instellen - - - - xcor - - - - ycor - - - - richting - - - Schildpad - - - - - - - - - - - - - show - - - - - - - - set - - - scale - - - - - - - - - - - - - - - - show - - - - - - - diff --git a/images/nl/turtle/write.svg b/images/nl/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/nl/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/nl/turtle/xcor.svg b/images/nl/turtle/xcor.svg deleted file mode 100644 index f7de79e..0000000 --- a/images/nl/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - xcor - - diff --git a/images/nl/turtle/ycor.svg b/images/nl/turtle/ycor.svg deleted file mode 100644 index 52d2042..0000000 --- a/images/nl/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - ycor - - diff --git a/images/nofile.svg b/images/nofile.svg new file mode 100644 index 0000000..e46c576 --- /dev/null +++ b/images/nofile.svg @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + X + + + + ??? + + + + + + + + ! + + + + + + diff --git a/images/nojournal.svg b/images/nojournal.svg new file mode 100644 index 0000000..fd8ec5a --- /dev/null +++ b/images/nojournal.svg @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + X + + + + ??? + + + + + + + + ! + + + + + + + + + diff --git a/images/numbersmask.png b/images/numbersmask.png deleted file mode 100644 index d7c0691..0000000 --- a/images/numbersmask.png +++ /dev/null Binary files differ diff --git a/images/palette/flowoff.svg b/images/palette/flowoff.svg deleted file mode 100644 index e372e37..0000000 --- a/images/palette/flowoff.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/palette/flowon.svg b/images/palette/flowon.svg deleted file mode 100644 index a6033eb..0000000 --- a/images/palette/flowon.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/palette/myblocksoff.svg b/images/palette/myblocksoff.svg deleted file mode 100644 index ce85379..0000000 --- a/images/palette/myblocksoff.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/palette/myblockson.svg b/images/palette/myblockson.svg deleted file mode 100644 index 4407dd4..0000000 --- a/images/palette/myblockson.svg +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/palette/numbersoff.svg b/images/palette/numbersoff.svg deleted file mode 100644 index 9fcd454..0000000 --- a/images/palette/numbersoff.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - 123 - +–= - - diff --git a/images/palette/numberson.svg b/images/palette/numberson.svg deleted file mode 100644 index 9f5a033..0000000 --- a/images/palette/numberson.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - 123 - +–= - - diff --git a/images/palette/penoff.svg b/images/palette/penoff.svg deleted file mode 100644 index 6f5494b..0000000 --- a/images/palette/penoff.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/palette/penon.svg b/images/palette/penon.svg deleted file mode 100644 index 552f22d..0000000 --- a/images/palette/penon.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/palette/sensorsoff.svg b/images/palette/sensorsoff.svg deleted file mode 100644 index 3356434..0000000 --- a/images/palette/sensorsoff.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/palette/sensorson.svg b/images/palette/sensorson.svg deleted file mode 100644 index 196654a..0000000 --- a/images/palette/sensorson.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/palette/templatesoff.svg b/images/palette/templatesoff.svg deleted file mode 100644 index e0ca78e..0000000 --- a/images/palette/templatesoff.svg +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/palette/templateson.svg b/images/palette/templateson.svg deleted file mode 100644 index 55a1c9a..0000000 --- a/images/palette/templateson.svg +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/palette/turtleoff.svg b/images/palette/turtleoff.svg deleted file mode 100644 index 0c507c7..0000000 --- a/images/palette/turtleoff.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - diff --git a/images/palette/turtleon.svg b/images/palette/turtleon.svg deleted file mode 100644 index 8bb5fb6..0000000 --- a/images/palette/turtleon.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/palettehorizontal.svg b/images/palettehorizontal.svg new file mode 100644 index 0000000..6cc62bf --- /dev/null +++ b/images/palettehorizontal.svg @@ -0,0 +1,25 @@ + + + + + + + + diff --git a/images/palettenext.svg b/images/palettenext.svg new file mode 100644 index 0000000..ccecdfa --- /dev/null +++ b/images/palettenext.svg @@ -0,0 +1,30 @@ + + + + + + + + + diff --git a/images/palettevertical.svg b/images/palettevertical.svg new file mode 100644 index 0000000..552ecdf --- /dev/null +++ b/images/palettevertical.svg @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/images/penmask.png b/images/penmask.png deleted file mode 100644 index a53bfd0..0000000 --- a/images/penmask.png +++ /dev/null Binary files differ diff --git a/images/polar.svg b/images/polar.svg index 6a5f841..40f5174 100644 --- a/images/polar.svg +++ b/images/polar.svg @@ -1,5 +1,6 @@ + + style="fill:none;stroke:#aaaaaa;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:none;stroke:#aaaaaa;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:none;stroke:#aaaaaa;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:none;stroke:#aaaaaa;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:none;stroke:#aaaaaa;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:none;stroke:#000000;stroke-width:0.88363791;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:none;stroke:#000000;stroke-width:1.17818391;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:none;stroke:#000000;stroke-width:1.76727581;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:none;stroke:#000000;stroke-width:3.53455162;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + style="fill:none;stroke:#000000;stroke-width:0.70429397;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - + style="fill:none;stroke:#aaaaaa;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - + style="fill:none;stroke:#aaaaaa;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + 0 + 90 + 180 + 270 + 30 + 60 + 45 + 300 + 330 + 315 + 240 + 210 + 225 + 150 + 120 + 135 diff --git a/images/pt/flow/flowgroup.svg b/images/pt/flow/flowgroup.svg deleted file mode 100644 index b1edb78..0000000 --- a/images/pt/flow/flowgroup.svg +++ /dev/null @@ -1,329 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Fluxo - - - - - - - - - esperar - - - - para - - - sempre - - - - repetir - - - - si - - - então - - - - parar - - - pilha - - - - si - - - então - - - senão - - - - diff --git a/images/pt/flow/forever.svg b/images/pt/flow/forever.svg deleted file mode 100644 index 6e5ad1a..0000000 --- a/images/pt/flow/forever.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - para - - sempre - diff --git a/images/pt/flow/hspace.svg b/images/pt/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/pt/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/pt/flow/if.svg b/images/pt/flow/if.svg deleted file mode 100644 index 9f93f33..0000000 --- a/images/pt/flow/if.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - si - - então - diff --git a/images/pt/flow/ifelse.svg b/images/pt/flow/ifelse.svg deleted file mode 100644 index b05261f..0000000 --- a/images/pt/flow/ifelse.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - si - - então - - senão - diff --git a/images/pt/flow/lock.svg b/images/pt/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/pt/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/flow/repeat.svg b/images/pt/flow/repeat.svg deleted file mode 100644 index 5a533a2..0000000 --- a/images/pt/flow/repeat.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - repetir - diff --git a/images/pt/flow/stopstack.svg b/images/pt/flow/stopstack.svg deleted file mode 100644 index eded0df..0000000 --- a/images/pt/flow/stopstack.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - pararpilha - diff --git a/images/pt/flow/vspace.svg b/images/pt/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/pt/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/pt/flow/wait.svg b/images/pt/flow/wait.svg deleted file mode 100644 index 40244fb..0000000 --- a/images/pt/flow/wait.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - esperar - - diff --git a/images/pt/myblocks/box.svg b/images/pt/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/pt/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/myblocks/box1.svg b/images/pt/myblocks/box1.svg deleted file mode 100644 index 9f8d02a..0000000 --- a/images/pt/myblocks/box1.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - caixa1 - - diff --git a/images/pt/myblocks/box2.svg b/images/pt/myblocks/box2.svg deleted file mode 100644 index bf9d278..0000000 --- a/images/pt/myblocks/box2.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - caixa2 - - diff --git a/images/pt/myblocks/hat.svg b/images/pt/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/pt/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/myblocks/hat1.svg b/images/pt/myblocks/hat1.svg deleted file mode 100644 index 50e0cf5..0000000 --- a/images/pt/myblocks/hat1.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - pilha1 - - diff --git a/images/pt/myblocks/hat2.svg b/images/pt/myblocks/hat2.svg deleted file mode 100644 index d1f089e..0000000 --- a/images/pt/myblocks/hat2.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - pilha2 - - diff --git a/images/pt/myblocks/myblocksgroup.svg b/images/pt/myblocks/myblocksgroup.svg deleted file mode 100644 index 5d22a3d..0000000 --- a/images/pt/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,564 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Os meus blocos - - - - pilha 1 - - - - pilha 1 - - - - pilha 2 - - - - pilha 2 - - - - - - - - pôr - - - na - - - caixa 1 - - - - caixa 1 - - - - - - - - pôr - - - na - - - caixa 2 - - - - caixa 2 - - - - - - - - - - nome - - - - - - iniciar - - diff --git a/images/pt/myblocks/stack.svg b/images/pt/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/pt/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/myblocks/stack1.svg b/images/pt/myblocks/stack1.svg deleted file mode 100644 index 4850d70..0000000 --- a/images/pt/myblocks/stack1.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - pilha1 - - diff --git a/images/pt/myblocks/stack2.svg b/images/pt/myblocks/stack2.svg deleted file mode 100644 index 0d82ede..0000000 --- a/images/pt/myblocks/stack2.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - pilha2 - - diff --git a/images/pt/myblocks/start.svg b/images/pt/myblocks/start.svg deleted file mode 100644 index b444b08..0000000 --- a/images/pt/myblocks/start.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - start - - diff --git a/images/pt/myblocks/storein.svg b/images/pt/myblocks/storein.svg deleted file mode 100644 index 26aa3d6..0000000 --- a/images/pt/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pôr na - - diff --git a/images/pt/myblocks/storeinbox.svg b/images/pt/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/pt/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/myblocks/storeinbox1.svg b/images/pt/myblocks/storeinbox1.svg deleted file mode 100644 index a346d05..0000000 --- a/images/pt/myblocks/storeinbox1.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - pôr - - - na - - - caixa 1 - - diff --git a/images/pt/myblocks/storeinbox2.svg b/images/pt/myblocks/storeinbox2.svg deleted file mode 100644 index bda4976..0000000 --- a/images/pt/myblocks/storeinbox2.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - pôr - - - na - - - caixa 2 - - diff --git a/images/pt/myblocks/string.svg b/images/pt/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/pt/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/pt/numbers/and.svg b/images/pt/numbers/and.svg deleted file mode 100644 index 10616e2..0000000 --- a/images/pt/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - e - diff --git a/images/pt/numbers/division.svg b/images/pt/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/pt/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/pt/numbers/division2.svg b/images/pt/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/pt/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/pt/numbers/equal.svg b/images/pt/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/pt/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/pt/numbers/greater.svg b/images/pt/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/pt/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/pt/numbers/identity.svg b/images/pt/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/pt/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/numbers/identity2.svg b/images/pt/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/pt/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/numbers/less.svg b/images/pt/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/pt/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/pt/numbers/minus.svg b/images/pt/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/pt/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/pt/numbers/minus2.svg b/images/pt/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/pt/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/numbers/not.svg b/images/pt/numbers/not.svg deleted file mode 100644 index 3e204cf..0000000 --- a/images/pt/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - não - diff --git a/images/pt/numbers/number.svg b/images/pt/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/pt/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/pt/numbers/numbersgroup.svg b/images/pt/numbers/numbersgroup.svg deleted file mode 100644 index 3dc387f..0000000 --- a/images/pt/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Números - - - - - - - - - - - - - - - - - - - - - - aleatório - - - - - - = - - - - - - < - - - - - - > - - - - e - - - - ou - - - - não - - - - - - escrever - - - número - - - mín - - - máx - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/pt/numbers/or.svg b/images/pt/numbers/or.svg deleted file mode 100644 index d2c4e72..0000000 --- a/images/pt/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - ou - diff --git a/images/pt/numbers/plus.svg b/images/pt/numbers/plus.svg deleted file mode 100644 index f271826..0000000 --- a/images/pt/numbers/plus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - + - diff --git a/images/pt/numbers/plus2.svg b/images/pt/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/pt/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/pt/numbers/print.svg b/images/pt/numbers/print.svg deleted file mode 100644 index b575c53..0000000 --- a/images/pt/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - escrever - - diff --git a/images/pt/numbers/product.svg b/images/pt/numbers/product.svg deleted file mode 100644 index 28eda4b..0000000 --- a/images/pt/numbers/product.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - × - diff --git a/images/pt/numbers/product2.svg b/images/pt/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/pt/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/pt/numbers/random.svg b/images/pt/numbers/random.svg deleted file mode 100644 index 3265bc7..0000000 --- a/images/pt/numbers/random.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - random - diff --git a/images/pt/numbers/remainder.svg b/images/pt/numbers/remainder.svg deleted file mode 100644 index 7504cc0..0000000 --- a/images/pt/numbers/remainder.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - mód - diff --git a/images/pt/numbers/remainder2.svg b/images/pt/numbers/remainder2.svg deleted file mode 100644 index 585d9ec..0000000 --- a/images/pt/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/pt/numbers/sqrt.svg b/images/pt/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/pt/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/pt/pen/blue.svg b/images/pt/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/pt/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/pt/pen/color.svg b/images/pt/pen/color.svg deleted file mode 100644 index 47bf9f7..0000000 --- a/images/pt/pen/color.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - cor - - diff --git a/images/pt/pen/cyan.svg b/images/pt/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/pt/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/pt/pen/fillscreen.svg b/images/pt/pen/fillscreen.svg deleted file mode 100644 index f06c9e1..0000000 --- a/images/pt/pen/fillscreen.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - enchero ecrã - - cor - - tom - - diff --git a/images/pt/pen/green.svg b/images/pt/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/pt/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/pt/pen/orange.svg b/images/pt/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/pt/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/pt/pen/pendown.svg b/images/pt/pen/pendown.svg deleted file mode 100644 index ce0091e..0000000 --- a/images/pt/pen/pendown.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - caneta - - - para - - - \ No newline at end of file diff --git a/images/pt/pen/pengroup.svg b/images/pt/pen/pengroup.svg deleted file mode 100644 index f54add9..0000000 --- a/images/pt/pen/pengroup.svg +++ /dev/null @@ -1,794 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Caneta - - - - caneta - - - levantada - - - - caneta - - - para - - - - - - ajustar - - - o - - - tamanho - - - - - - - ajustar - - - a cor - - - - - - - ajustar - - - o tom - - - - - - - - - encher - - - o ecrã - - - cor - - - tom - - - - - - tamanho - - - - - - tamanho do texto - - - - - - cor - - - - - - - - ajustar - - - tamanho - - - texto - - - - - - tom - - - - - - - - - - - - - - diff --git a/images/pt/pen/pensize.svg b/images/pt/pen/pensize.svg deleted file mode 100644 index c169a6e..0000000 --- a/images/pt/pen/pensize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - tamanho - - - diff --git a/images/pt/pen/penup.svg b/images/pt/pen/penup.svg deleted file mode 100644 index 9fa1c84..0000000 --- a/images/pt/pen/penup.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - caneta - - - levantada - - - diff --git a/images/pt/pen/purple.svg b/images/pt/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/pt/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/pt/pen/red.svg b/images/pt/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/pt/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/pt/pen/setcolor.svg b/images/pt/pen/setcolor.svg deleted file mode 100644 index 02cd337..0000000 --- a/images/pt/pen/setcolor.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - ajustar - - - cor - - diff --git a/images/pt/pen/setpensize.svg b/images/pt/pen/setpensize.svg deleted file mode 100644 index d39e48d..0000000 --- a/images/pt/pen/setpensize.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - ajustar - - - tamanho - - diff --git a/images/pt/pen/setshade.svg b/images/pt/pen/setshade.svg deleted file mode 100644 index 650cdd0..0000000 --- a/images/pt/pen/setshade.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - ajustar - - - tom - - diff --git a/images/pt/pen/settextcolor.svg b/images/pt/pen/settextcolor.svg deleted file mode 100644 index 713fab4..0000000 --- a/images/pt/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - ajustar - - - a cor - - - do texto - - diff --git a/images/pt/pen/settextsize.svg b/images/pt/pen/settextsize.svg deleted file mode 100644 index 5fde59e..0000000 --- a/images/pt/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - ajustar - - - tamanho - - - do texto - - diff --git a/images/pt/pen/shade.svg b/images/pt/pen/shade.svg deleted file mode 100644 index 965cc05..0000000 --- a/images/pt/pen/shade.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - tom - - diff --git a/images/pt/pen/textcolor.svg b/images/pt/pen/textcolor.svg deleted file mode 100644 index 002c067..0000000 --- a/images/pt/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - cor do texto - - - diff --git a/images/pt/pen/textsize.svg b/images/pt/pen/textsize.svg deleted file mode 100644 index 8d23d05..0000000 --- a/images/pt/pen/textsize.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - tamanho do texto - - diff --git a/images/pt/pen/yellow.svg b/images/pt/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/pt/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/pt/sensors/bottompos.svg b/images/pt/sensors/bottompos.svg deleted file mode 100644 index a4f15a1..0000000 --- a/images/pt/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - inferior - - diff --git a/images/pt/sensors/clearheap.svg b/images/pt/sensors/clearheap.svg deleted file mode 100644 index f277b41..0000000 --- a/images/pt/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - clear - - - heap - - diff --git a/images/pt/sensors/hres.svg b/images/pt/sensors/hres.svg deleted file mode 100644 index 0ff753c..0000000 --- a/images/pt/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - largura - - diff --git a/images/pt/sensors/kbinput.svg b/images/pt/sensors/kbinput.svg deleted file mode 100644 index 1ffc165..0000000 --- a/images/pt/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - query - - - kb - - diff --git a/images/pt/sensors/keyboard.svg b/images/pt/sensors/keyboard.svg deleted file mode 100644 index 55e9729..0000000 --- a/images/pt/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - teclado - - diff --git a/images/pt/sensors/leftpos.svg b/images/pt/sensors/leftpos.svg deleted file mode 100644 index fcb465c..0000000 --- a/images/pt/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - esquerda - - diff --git a/images/pt/sensors/myfunc.svg b/images/pt/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/pt/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/sensors/nop-loaded.svg b/images/pt/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/pt/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/sensors/nop.svg b/images/pt/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/pt/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/sensors/pop.svg b/images/pt/sensors/pop.svg deleted file mode 100644 index 568fcd9..0000000 --- a/images/pt/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - pop - - diff --git a/images/pt/sensors/printheap.svg b/images/pt/sensors/printheap.svg deleted file mode 100644 index 026631e..0000000 --- a/images/pt/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - show - - - heap - - diff --git a/images/pt/sensors/push.svg b/images/pt/sensors/push.svg deleted file mode 100644 index 9683008..0000000 --- a/images/pt/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - push - - diff --git a/images/pt/sensors/rightpos.svg b/images/pt/sensors/rightpos.svg deleted file mode 100644 index a9c5841..0000000 --- a/images/pt/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - direita - - diff --git a/images/pt/sensors/sensorsgroup.svg b/images/pt/sensors/sensorsgroup.svg deleted file mode 100644 index 1a02214..0000000 --- a/images/pt/sensors/sensorsgroup.svg +++ /dev/null @@ -1,585 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Extras - - - - ler - - - a - - - - teclado - - - - - largura - - - - - - altura - - - - - - - - - - x - - - - - - - pop - - - - - - - mostrar - - - heap - - - - - - esvaziar - - - heap - - - - - - - - push - - - - - - - - esquerda - - - - - - superior - - - - - - direita - - - - - - inferior - - - - - - - - - chave - - diff --git a/images/pt/sensors/toppos.svg b/images/pt/sensors/toppos.svg deleted file mode 100644 index d1fbef1..0000000 --- a/images/pt/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - superior - - diff --git a/images/pt/sensors/vres.svg b/images/pt/sensors/vres.svg deleted file mode 100644 index d3fa49f..0000000 --- a/images/pt/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - altura - - diff --git a/images/pt/templates/audiooff.svg b/images/pt/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/pt/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/templates/descriptionoff.svg b/images/pt/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/pt/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/pt/templates/hideblocks.svg b/images/pt/templates/hideblocks.svg deleted file mode 100644 index d925a65..0000000 --- a/images/pt/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - esconder - - - os blocos - - diff --git a/images/pt/templates/journal.svg b/images/pt/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/pt/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/templates/sound.svg b/images/pt/templates/sound.svg deleted file mode 100644 index c4feb1f..0000000 --- a/images/pt/templates/sound.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - som - - - \ No newline at end of file diff --git a/images/pt/templates/template1.svg b/images/pt/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/pt/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/templates/template2.svg b/images/pt/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/pt/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/templates/template3.svg b/images/pt/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/pt/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/templates/template4.svg b/images/pt/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/pt/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/templates/template6.svg b/images/pt/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/pt/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/templates/template7.svg b/images/pt/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/pt/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/templates/templatesgroup.svg b/images/pt/templates/templatesgroup.svg deleted file mode 100644 index dcc0814..0000000 --- a/images/pt/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Predefinições - - - - esconder - - - os blocos - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/turtle/arc.svg b/images/pt/turtle/arc.svg deleted file mode 100644 index 78cb8c4..0000000 --- a/images/pt/turtle/arc.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - arco - - ângulo - - rádio - diff --git a/images/pt/turtle/back.svg b/images/pt/turtle/back.svg deleted file mode 100644 index 766d77b..0000000 --- a/images/pt/turtle/back.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - atrás - - diff --git a/images/pt/turtle/clean.svg b/images/pt/turtle/clean.svg deleted file mode 100644 index 5bfdcf0..0000000 --- a/images/pt/turtle/clean.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - limpar - - diff --git a/images/pt/turtle/container.svg b/images/pt/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/pt/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/pt/turtle/forward.svg b/images/pt/turtle/forward.svg deleted file mode 100644 index 08d9886..0000000 --- a/images/pt/turtle/forward.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - avante - - diff --git a/images/pt/turtle/heading.svg b/images/pt/turtle/heading.svg deleted file mode 100644 index 2ea1ccd..0000000 --- a/images/pt/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - cabeçalho - - diff --git a/images/pt/turtle/image.svg b/images/pt/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/pt/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/pt/turtle/left.svg b/images/pt/turtle/left.svg deleted file mode 100644 index 45f00ec..0000000 --- a/images/pt/turtle/left.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - esquerda - - diff --git a/images/pt/turtle/right.svg b/images/pt/turtle/right.svg deleted file mode 100644 index 448811b..0000000 --- a/images/pt/turtle/right.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - direita - - diff --git a/images/pt/turtle/scale.svg b/images/pt/turtle/scale.svg deleted file mode 100644 index 87b2c7f..0000000 --- a/images/pt/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - escala - - diff --git a/images/pt/turtle/seth.svg b/images/pt/turtle/seth.svg deleted file mode 100644 index 16ea0cd..0000000 --- a/images/pt/turtle/seth.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - ajustar - - - cabeçalho - - diff --git a/images/pt/turtle/setscale.svg b/images/pt/turtle/setscale.svg deleted file mode 100644 index c2c7b0c..0000000 --- a/images/pt/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - ajustar - - - escala - - - diff --git a/images/pt/turtle/setxy.svg b/images/pt/turtle/setxy.svg deleted file mode 100644 index 6b0687e..0000000 --- a/images/pt/turtle/setxy.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - ajustar - - x - - y - diff --git a/images/pt/turtle/show.svg b/images/pt/turtle/show.svg deleted file mode 100644 index 4af314f..0000000 --- a/images/pt/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - mostrar - - - diff --git a/images/pt/turtle/turtlegroup.svg b/images/pt/turtle/turtlegroup.svg deleted file mode 100644 index ea6536d..0000000 --- a/images/pt/turtle/turtlegroup.svg +++ /dev/null @@ -1,874 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - limpar - - - - - - avançar - - - - - - recuar - - - - - - esquerda - - - - - - direita - - - - - - - - arco - - - ângulo - raio - - - - - - - - ajustar - - - x - y - - - - - - ajustar - - - cabeçalho - - - - xcor - - - - ycor - - - - cabeçalho - - - Tartaruga - - - - - - - - - - - - mostrar - - - - - - ajustar - - - escala - - - - - - - - - - - - mostrar - - - diff --git a/images/pt/turtle/write.svg b/images/pt/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/pt/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/pt/turtle/xcor.svg b/images/pt/turtle/xcor.svg deleted file mode 100644 index ff723c6..0000000 --- a/images/pt/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - xcor - - diff --git a/images/pt/turtle/ycor.svg b/images/pt/turtle/ycor.svg deleted file mode 100644 index ed1f5a7..0000000 --- a/images/pt/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - ycor - - diff --git a/images/pythonoff.svg b/images/pythonoff.svg new file mode 100644 index 0000000..ba30da0 --- /dev/null +++ b/images/pythonoff.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + diff --git a/images/pythonon.svg b/images/pythonon.svg new file mode 100644 index 0000000..00fb62c --- /dev/null +++ b/images/pythonon.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + diff --git a/images/pythonsmall.svg b/images/pythonsmall.svg new file mode 100644 index 0000000..d84a976 --- /dev/null +++ b/images/pythonsmall.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + diff --git a/images/ru/flow/flowgroup.svg b/images/ru/flow/flowgroup.svg deleted file mode 100644 index d958e76..0000000 --- a/images/ru/flow/flowgroup.svg +++ /dev/null @@ -1,320 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Перемещение - - - - - - - - - ждать - - - - всегда - - - - повтор - - - - Если - - - тогда - - - - конец - - - цепи - - - - Если - - - тогда - - - иначе - - - - diff --git a/images/ru/flow/forever.svg b/images/ru/flow/forever.svg deleted file mode 100644 index f77139e..0000000 --- a/images/ru/flow/forever.svg +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - всегда - - diff --git a/images/ru/flow/hspace.svg b/images/ru/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/ru/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/ru/flow/if.svg b/images/ru/flow/if.svg deleted file mode 100644 index bfa5dd0..0000000 --- a/images/ru/flow/if.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - Если - - - тогда - - diff --git a/images/ru/flow/ifelse.svg b/images/ru/flow/ifelse.svg deleted file mode 100644 index 47ac61a..0000000 --- a/images/ru/flow/ifelse.svg +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - Если - - - тогда - - - иначе - - diff --git a/images/ru/flow/lock.svg b/images/ru/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/ru/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/flow/repeat.svg b/images/ru/flow/repeat.svg deleted file mode 100644 index 1c0bfbd..0000000 --- a/images/ru/flow/repeat.svg +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - повтор - - diff --git a/images/ru/flow/stopstack.svg b/images/ru/flow/stopstack.svg deleted file mode 100644 index 90ed71a..0000000 --- a/images/ru/flow/stopstack.svg +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - конец - - - цепи - - diff --git a/images/ru/flow/vspace.svg b/images/ru/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/ru/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/ru/flow/wait.svg b/images/ru/flow/wait.svg deleted file mode 100644 index 8bccb88..0000000 --- a/images/ru/flow/wait.svg +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - ждать - - diff --git a/images/ru/myblocks/box.svg b/images/ru/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/ru/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/myblocks/box1.svg b/images/ru/myblocks/box1.svg deleted file mode 100644 index 82feae6..0000000 --- a/images/ru/myblocks/box1.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - блок1 - - diff --git a/images/ru/myblocks/box2.svg b/images/ru/myblocks/box2.svg deleted file mode 100644 index c018b1f..0000000 --- a/images/ru/myblocks/box2.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - блок2 - - diff --git a/images/ru/myblocks/hat.svg b/images/ru/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/ru/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/myblocks/hat1.svg b/images/ru/myblocks/hat1.svg deleted file mode 100644 index 6c56f0d..0000000 --- a/images/ru/myblocks/hat1.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - цепь1 - - diff --git a/images/ru/myblocks/hat2.svg b/images/ru/myblocks/hat2.svg deleted file mode 100644 index 9af2a41..0000000 --- a/images/ru/myblocks/hat2.svg +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - diff --git a/images/ru/myblocks/myblocksgroup.svg b/images/ru/myblocks/myblocksgroup.svg deleted file mode 100644 index 0cbca0d..0000000 --- a/images/ru/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,564 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Мои блоки - - - - цепь 1 - - - - цепь 1 - - - - цепь 2 - - - - цепь 2 - - - - - - - - сохранить - - - в - - - кармане1 - - - - блок 1 - - - - - - - - сохранить - - - в - - - кармане2 - - - - блок 2 - - - - - - - - - - name - - - - - - start - - diff --git a/images/ru/myblocks/stack.svg b/images/ru/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/ru/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/myblocks/stack1.svg b/images/ru/myblocks/stack1.svg deleted file mode 100644 index a16830d..0000000 --- a/images/ru/myblocks/stack1.svg +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - цепь1 - - diff --git a/images/ru/myblocks/stack2.svg b/images/ru/myblocks/stack2.svg deleted file mode 100644 index 7731601..0000000 --- a/images/ru/myblocks/stack2.svg +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - цепь2 - - diff --git a/images/ru/myblocks/start.svg b/images/ru/myblocks/start.svg deleted file mode 100644 index b444b08..0000000 --- a/images/ru/myblocks/start.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - start - - diff --git a/images/ru/myblocks/storein.svg b/images/ru/myblocks/storein.svg deleted file mode 100644 index 04f4fd5..0000000 --- a/images/ru/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - в склад - - diff --git a/images/ru/myblocks/storeinbox.svg b/images/ru/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/ru/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/myblocks/storeinbox1.svg b/images/ru/myblocks/storeinbox1.svg deleted file mode 100644 index ba55b80..0000000 --- a/images/ru/myblocks/storeinbox1.svg +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - в - - - склад1 - - diff --git a/images/ru/myblocks/storeinbox2.svg b/images/ru/myblocks/storeinbox2.svg deleted file mode 100644 index 8b25c7c..0000000 --- a/images/ru/myblocks/storeinbox2.svg +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - в - - - склад2 - - diff --git a/images/ru/myblocks/string.svg b/images/ru/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/ru/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/ru/numbers/and.svg b/images/ru/numbers/and.svg deleted file mode 100644 index 747127a..0000000 --- a/images/ru/numbers/and.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - и - - diff --git a/images/ru/numbers/division.svg b/images/ru/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/ru/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/ru/numbers/division2.svg b/images/ru/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/ru/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/ru/numbers/equal.svg b/images/ru/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/ru/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/ru/numbers/greater.svg b/images/ru/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/ru/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/ru/numbers/identity.svg b/images/ru/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/ru/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/numbers/identity2.svg b/images/ru/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/ru/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/numbers/less.svg b/images/ru/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/ru/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/ru/numbers/minus.svg b/images/ru/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/ru/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/ru/numbers/minus2.svg b/images/ru/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/ru/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/numbers/not.svg b/images/ru/numbers/not.svg deleted file mode 100644 index 6bec201..0000000 --- a/images/ru/numbers/not.svg +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - Нет - - diff --git a/images/ru/numbers/number.svg b/images/ru/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/ru/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/ru/numbers/numbersgroup.svg b/images/ru/numbers/numbersgroup.svg deleted file mode 100644 index 49e91ec..0000000 --- a/images/ru/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Числа - - - - - - - - - - - - - - - - - - - - - - случайное число - - - - - - = - - - - - - < - - - - - - > - - - - и - - - - или - - - - нет - - - - - - печать - - - число - - - мин - - - макс - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/ru/numbers/or.svg b/images/ru/numbers/or.svg deleted file mode 100644 index f545a9f..0000000 --- a/images/ru/numbers/or.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - или - - diff --git a/images/ru/numbers/plus.svg b/images/ru/numbers/plus.svg deleted file mode 100644 index f271826..0000000 --- a/images/ru/numbers/plus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - + - diff --git a/images/ru/numbers/plus2.svg b/images/ru/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/ru/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/ru/numbers/print.svg b/images/ru/numbers/print.svg deleted file mode 100644 index feea0f3..0000000 --- a/images/ru/numbers/print.svg +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - печать - - diff --git a/images/ru/numbers/product.svg b/images/ru/numbers/product.svg deleted file mode 100644 index 28eda4b..0000000 --- a/images/ru/numbers/product.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - × - diff --git a/images/ru/numbers/product2.svg b/images/ru/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/ru/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/ru/numbers/random.svg b/images/ru/numbers/random.svg deleted file mode 100644 index 210a329..0000000 --- a/images/ru/numbers/random.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - случайное число - - diff --git a/images/ru/numbers/remainder.svg b/images/ru/numbers/remainder.svg deleted file mode 100644 index 1a3b26a..0000000 --- a/images/ru/numbers/remainder.svg +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - мод - - diff --git a/images/ru/numbers/remainder2.svg b/images/ru/numbers/remainder2.svg deleted file mode 100644 index 585d9ec..0000000 --- a/images/ru/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/ru/numbers/sqrt.svg b/images/ru/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/ru/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/ru/pen/blue.svg b/images/ru/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/ru/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ru/pen/color.svg b/images/ru/pen/color.svg deleted file mode 100644 index 60b1f69..0000000 --- a/images/ru/pen/color.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - цвет - - diff --git a/images/ru/pen/cyan.svg b/images/ru/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/ru/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ru/pen/fillscreen.svg b/images/ru/pen/fillscreen.svg deleted file mode 100644 index 8ef55f6..0000000 --- a/images/ru/pen/fillscreen.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - заполнение - - цвет - - затенение - - diff --git a/images/ru/pen/green.svg b/images/ru/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/ru/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ru/pen/orange.svg b/images/ru/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/ru/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ru/pen/pendown.svg b/images/ru/pen/pendown.svg deleted file mode 100644 index 0bb5720..0000000 --- a/images/ru/pen/pendown.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - опустить - - - перо - - - \ No newline at end of file diff --git a/images/ru/pen/pengroup.svg b/images/ru/pen/pengroup.svg deleted file mode 100644 index f222739..0000000 --- a/images/ru/pen/pengroup.svg +++ /dev/null @@ -1,822 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Перо - - - - поднять - - - перо - - - - опустить - - - перо - - - - - - размер - - - пера - - - - - - - - - цвет - - - - - - - - - - зате- - - - нение - - - - - - - - - - - - - запол - - - нение - - - - - - цвет - - - затенение - - - - - размер пера - - - - - размер текста - - - - - - цвет - - - - - - - - править - - - размер - - - текста - - - - - - затенение - - - - - - - - - - - - - - diff --git a/images/ru/pen/pensize.svg b/images/ru/pen/pensize.svg deleted file mode 100644 index ca1f8d5..0000000 --- a/images/ru/pen/pensize.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - размер - - diff --git a/images/ru/pen/penup.svg b/images/ru/pen/penup.svg deleted file mode 100644 index bcd788f..0000000 --- a/images/ru/pen/penup.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - поднять - - - перо - - - \ No newline at end of file diff --git a/images/ru/pen/purple.svg b/images/ru/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/ru/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ru/pen/red.svg b/images/ru/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/ru/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ru/pen/setcolor.svg b/images/ru/pen/setcolor.svg deleted file mode 100644 index 20402d9..0000000 --- a/images/ru/pen/setcolor.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - править - - - цвет - - diff --git a/images/ru/pen/setpensize.svg b/images/ru/pen/setpensize.svg deleted file mode 100644 index 7af1bcf..0000000 --- a/images/ru/pen/setpensize.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - править - - - размер - - diff --git a/images/ru/pen/setshade.svg b/images/ru/pen/setshade.svg deleted file mode 100644 index ab34eee..0000000 --- a/images/ru/pen/setshade.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - зате- - - - нение - - diff --git a/images/ru/pen/settextcolor.svg b/images/ru/pen/settextcolor.svg deleted file mode 100644 index 9257a51..0000000 --- a/images/ru/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - править - - - цвет - - - текста - - diff --git a/images/ru/pen/settextsize.svg b/images/ru/pen/settextsize.svg deleted file mode 100644 index 00e88cd..0000000 --- a/images/ru/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - править - - - размер - - - текста - - diff --git a/images/ru/pen/shade.svg b/images/ru/pen/shade.svg deleted file mode 100644 index da41497..0000000 --- a/images/ru/pen/shade.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - затенение - - - \ No newline at end of file diff --git a/images/ru/pen/textcolor.svg b/images/ru/pen/textcolor.svg deleted file mode 100644 index e1fd1f6..0000000 --- a/images/ru/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - цвет текста - - - diff --git a/images/ru/pen/textsize.svg b/images/ru/pen/textsize.svg deleted file mode 100644 index ff77c96..0000000 --- a/images/ru/pen/textsize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - размертекста - - - diff --git a/images/ru/pen/yellow.svg b/images/ru/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/ru/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ru/sensors/bottompos.svg b/images/ru/sensors/bottompos.svg deleted file mode 100644 index acf79cb..0000000 --- a/images/ru/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bottom - - diff --git a/images/ru/sensors/clearheap.svg b/images/ru/sensors/clearheap.svg deleted file mode 100644 index f277b41..0000000 --- a/images/ru/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - clear - - - heap - - diff --git a/images/ru/sensors/hres.svg b/images/ru/sensors/hres.svg deleted file mode 100644 index 630111c..0000000 --- a/images/ru/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - hres - - diff --git a/images/ru/sensors/kbinput.svg b/images/ru/sensors/kbinput.svg deleted file mode 100644 index 1ffc165..0000000 --- a/images/ru/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - query - - - kb - - diff --git a/images/ru/sensors/keyboard.svg b/images/ru/sensors/keyboard.svg deleted file mode 100644 index bb09552..0000000 --- a/images/ru/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - keyboard - - diff --git a/images/ru/sensors/leftpos.svg b/images/ru/sensors/leftpos.svg deleted file mode 100644 index 9db5254..0000000 --- a/images/ru/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - влево - - diff --git a/images/ru/sensors/myfunc.svg b/images/ru/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/ru/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/sensors/nop-loaded.svg b/images/ru/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/ru/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/sensors/nop.svg b/images/ru/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/ru/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/sensors/pop.svg b/images/ru/sensors/pop.svg deleted file mode 100644 index 568fcd9..0000000 --- a/images/ru/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - pop - - diff --git a/images/ru/sensors/printheap.svg b/images/ru/sensors/printheap.svg deleted file mode 100644 index 026631e..0000000 --- a/images/ru/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - show - - - heap - - diff --git a/images/ru/sensors/push.svg b/images/ru/sensors/push.svg deleted file mode 100644 index 9683008..0000000 --- a/images/ru/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - push - - diff --git a/images/ru/sensors/rightpos.svg b/images/ru/sensors/rightpos.svg deleted file mode 100644 index 7773fe3..0000000 --- a/images/ru/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - вправо - - diff --git a/images/ru/sensors/sensorsgroup.svg b/images/ru/sensors/sensorsgroup.svg deleted file mode 100644 index 8745ac7..0000000 --- a/images/ru/sensors/sensorsgroup.svg +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Keyboard - - - - read - - - key - - - - keyboard - - - - - hres - - - - - - vres - - - - - - - - - - x - - - - - - - pop - - - - - - - show - - - heap - - - - - - empty - - - heap - - - - - - - - push - - - - - - diff --git a/images/ru/sensors/toppos.svg b/images/ru/sensors/toppos.svg deleted file mode 100644 index 7b9e287..0000000 --- a/images/ru/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - top - - diff --git a/images/ru/sensors/vres.svg b/images/ru/sensors/vres.svg deleted file mode 100644 index cd25565..0000000 --- a/images/ru/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - vres - - diff --git a/images/ru/templates/audiooff.svg b/images/ru/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/ru/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/templates/descriptionoff.svg b/images/ru/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/ru/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/ru/templates/hideblocks.svg b/images/ru/templates/hideblocks.svg deleted file mode 100644 index 312c78b..0000000 --- a/images/ru/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - hide - - - blocks - - diff --git a/images/ru/templates/journal.svg b/images/ru/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/ru/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/templates/sound.svg b/images/ru/templates/sound.svg deleted file mode 100644 index 89e3696..0000000 --- a/images/ru/templates/sound.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sound - - diff --git a/images/ru/templates/template1.svg b/images/ru/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/ru/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/templates/template2.svg b/images/ru/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/ru/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/templates/template3.svg b/images/ru/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/ru/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/templates/template4.svg b/images/ru/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/ru/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/templates/template6.svg b/images/ru/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/ru/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/templates/template7.svg b/images/ru/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/ru/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/templates/templatesgroup.svg b/images/ru/templates/templatesgroup.svg deleted file mode 100644 index 603091d..0000000 --- a/images/ru/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Templates - - - - hide - - - blocks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/ru/turtle/arc.svg b/images/ru/turtle/arc.svg deleted file mode 100644 index fa54c57..0000000 --- a/images/ru/turtle/arc.svg +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - круг - - - угол - - - радиус - - diff --git a/images/ru/turtle/back.svg b/images/ru/turtle/back.svg deleted file mode 100644 index 49d3ebd..0000000 --- a/images/ru/turtle/back.svg +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - назад - - diff --git a/images/ru/turtle/clean.svg b/images/ru/turtle/clean.svg deleted file mode 100644 index 6c0d3be..0000000 --- a/images/ru/turtle/clean.svg +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - сброс - - diff --git a/images/ru/turtle/container.svg b/images/ru/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/ru/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/ru/turtle/forward.svg b/images/ru/turtle/forward.svg deleted file mode 100644 index eb640c9..0000000 --- a/images/ru/turtle/forward.svg +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - вперёд - - diff --git a/images/ru/turtle/heading.svg b/images/ru/turtle/heading.svg deleted file mode 100644 index 936feb2..0000000 --- a/images/ru/turtle/heading.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - курс - - diff --git a/images/ru/turtle/image.svg b/images/ru/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/ru/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/ru/turtle/left.svg b/images/ru/turtle/left.svg deleted file mode 100644 index ebf2076..0000000 --- a/images/ru/turtle/left.svg +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - влево - - diff --git a/images/ru/turtle/right.svg b/images/ru/turtle/right.svg deleted file mode 100644 index 41eeee3..0000000 --- a/images/ru/turtle/right.svg +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - вправо - - diff --git a/images/ru/turtle/scale.svg b/images/ru/turtle/scale.svg deleted file mode 100644 index 5432d96..0000000 --- a/images/ru/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - scale - - diff --git a/images/ru/turtle/seth.svg b/images/ru/turtle/seth.svg deleted file mode 100644 index d113a8a..0000000 --- a/images/ru/turtle/seth.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - напра - - - вление - - diff --git a/images/ru/turtle/setscale.svg b/images/ru/turtle/setscale.svg deleted file mode 100644 index cf94653..0000000 --- a/images/ru/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - set - - - scale - - - \ No newline at end of file diff --git a/images/ru/turtle/setxy.svg b/images/ru/turtle/setxy.svg deleted file mode 100644 index 11c0f4c..0000000 --- a/images/ru/turtle/setxy.svg +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - распо- - - - ложить - - - x - - - y - - diff --git a/images/ru/turtle/show.svg b/images/ru/turtle/show.svg deleted file mode 100644 index 38b6cac..0000000 --- a/images/ru/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - show - - - \ No newline at end of file diff --git a/images/ru/turtle/turtlegroup.svg b/images/ru/turtle/turtlegroup.svg deleted file mode 100644 index ac050eb..0000000 --- a/images/ru/turtle/turtlegroup.svg +++ /dev/null @@ -1,935 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - очистить - - - - - - вперёд - - - - - - назад - - - - - - влево - - - - - - вправо - - - - - - - - круг - - - угол - радиус - - - - - - - - коор- - - - динаты - - - x - y - - - - - - напра- - - - вление - - - - x текущ. - - - - y текущ. - - - - направление - - - Черепашка - - - - - - - - - - - - - show - - - - - - - - set - - - scale - - - - - - - - - - - - - - - - show - - - - - name - - diff --git a/images/ru/turtle/write.svg b/images/ru/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/ru/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ru/turtle/xcor.svg b/images/ru/turtle/xcor.svg deleted file mode 100644 index 2de763c..0000000 --- a/images/ru/turtle/xcor.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - x - - diff --git a/images/ru/turtle/ycor.svg b/images/ru/turtle/ycor.svg deleted file mode 100644 index ccbd4ec..0000000 --- a/images/ru/turtle/ycor.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - y - - diff --git a/images/sensorsmask.png b/images/sensorsmask.png deleted file mode 100644 index 5e43814..0000000 --- a/images/sensorsmask.png +++ /dev/null Binary files differ diff --git a/images/shapes/t0.svg b/images/shapes/t0.svg deleted file mode 100644 index 9318ab5..0000000 --- a/images/shapes/t0.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t1.svg b/images/shapes/t1.svg deleted file mode 100644 index 7fc857e..0000000 --- a/images/shapes/t1.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t10.svg b/images/shapes/t10.svg deleted file mode 100644 index d5fb472..0000000 --- a/images/shapes/t10.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t11.svg b/images/shapes/t11.svg deleted file mode 100644 index b11db27..0000000 --- a/images/shapes/t11.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t12.svg b/images/shapes/t12.svg deleted file mode 100644 index 0ecde90..0000000 --- a/images/shapes/t12.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t13.svg b/images/shapes/t13.svg deleted file mode 100644 index f6e445f..0000000 --- a/images/shapes/t13.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t14.svg b/images/shapes/t14.svg deleted file mode 100644 index eb07232..0000000 --- a/images/shapes/t14.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t15.svg b/images/shapes/t15.svg deleted file mode 100644 index a99aeca..0000000 --- a/images/shapes/t15.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t16.svg b/images/shapes/t16.svg deleted file mode 100644 index e838d9a..0000000 --- a/images/shapes/t16.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t17.svg b/images/shapes/t17.svg deleted file mode 100644 index 6ac72b4..0000000 --- a/images/shapes/t17.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t18.svg b/images/shapes/t18.svg deleted file mode 100644 index dac4e7d..0000000 --- a/images/shapes/t18.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t19.svg b/images/shapes/t19.svg deleted file mode 100644 index 17e0de1..0000000 --- a/images/shapes/t19.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t2.svg b/images/shapes/t2.svg deleted file mode 100644 index a810bf4..0000000 --- a/images/shapes/t2.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t20.svg b/images/shapes/t20.svg deleted file mode 100644 index f314c05..0000000 --- a/images/shapes/t20.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t21.svg b/images/shapes/t21.svg deleted file mode 100644 index 31b3497..0000000 --- a/images/shapes/t21.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t22.svg b/images/shapes/t22.svg deleted file mode 100644 index f265deb..0000000 --- a/images/shapes/t22.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t23.svg b/images/shapes/t23.svg deleted file mode 100644 index 08d4fc7..0000000 --- a/images/shapes/t23.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t24.svg b/images/shapes/t24.svg deleted file mode 100644 index 92fb1b3..0000000 --- a/images/shapes/t24.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t25.svg b/images/shapes/t25.svg deleted file mode 100644 index 3949efa..0000000 --- a/images/shapes/t25.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t26.svg b/images/shapes/t26.svg deleted file mode 100644 index 0166fd0..0000000 --- a/images/shapes/t26.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t27.svg b/images/shapes/t27.svg deleted file mode 100644 index 48dcfe0..0000000 --- a/images/shapes/t27.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t28.svg b/images/shapes/t28.svg deleted file mode 100644 index ee56af7..0000000 --- a/images/shapes/t28.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t29.svg b/images/shapes/t29.svg deleted file mode 100644 index 520d24d..0000000 --- a/images/shapes/t29.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t3.svg b/images/shapes/t3.svg deleted file mode 100644 index cc7c89c..0000000 --- a/images/shapes/t3.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t30.svg b/images/shapes/t30.svg deleted file mode 100644 index 92dd2ff..0000000 --- a/images/shapes/t30.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t31.svg b/images/shapes/t31.svg deleted file mode 100644 index d1b0f64..0000000 --- a/images/shapes/t31.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t32.svg b/images/shapes/t32.svg deleted file mode 100644 index 38a6228..0000000 --- a/images/shapes/t32.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t33.svg b/images/shapes/t33.svg deleted file mode 100644 index 84127f2..0000000 --- a/images/shapes/t33.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t34.svg b/images/shapes/t34.svg deleted file mode 100644 index 2c63b22..0000000 --- a/images/shapes/t34.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t35.svg b/images/shapes/t35.svg deleted file mode 100644 index ac0b85a..0000000 --- a/images/shapes/t35.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t4.svg b/images/shapes/t4.svg deleted file mode 100644 index 9491d51..0000000 --- a/images/shapes/t4.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t5.svg b/images/shapes/t5.svg deleted file mode 100644 index 0a39cf7..0000000 --- a/images/shapes/t5.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t6.svg b/images/shapes/t6.svg deleted file mode 100644 index f215bee..0000000 --- a/images/shapes/t6.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t7.svg b/images/shapes/t7.svg deleted file mode 100644 index 6ce41cd..0000000 --- a/images/shapes/t7.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t8.svg b/images/shapes/t8.svg deleted file mode 100644 index 75a0ce8..0000000 --- a/images/shapes/t8.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/shapes/t9.svg b/images/shapes/t9.svg deleted file mode 100644 index 4b8dbd3..0000000 --- a/images/shapes/t9.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/flow/flowgroup.svg b/images/sl/flow/flowgroup.svg deleted file mode 100644 index 2e0adaa..0000000 --- a/images/sl/flow/flowgroup.svg +++ /dev/null @@ -1,344 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Flow - - - - - - - - - wait - - - - forever - - - - repeat - - - - if - - - then - - - - stop - - - stack - - - - if - - - then - - - else - - - - diff --git a/images/sl/flow/forever.svg b/images/sl/flow/forever.svg deleted file mode 100644 index a3e0d0b..0000000 --- a/images/sl/flow/forever.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - forever - diff --git a/images/sl/flow/hspace.svg b/images/sl/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/sl/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/sl/flow/if.svg b/images/sl/flow/if.svg deleted file mode 100644 index aaf6379..0000000 --- a/images/sl/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - if - - then - diff --git a/images/sl/flow/ifelse.svg b/images/sl/flow/ifelse.svg deleted file mode 100644 index 5231176..0000000 --- a/images/sl/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - if - - then - - else - \ No newline at end of file diff --git a/images/sl/flow/lock.svg b/images/sl/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/sl/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/flow/repeat.svg b/images/sl/flow/repeat.svg deleted file mode 100644 index d4ed980..0000000 --- a/images/sl/flow/repeat.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - repeat - diff --git a/images/sl/flow/stopstack.svg b/images/sl/flow/stopstack.svg deleted file mode 100644 index b75f506..0000000 --- a/images/sl/flow/stopstack.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - stopstack - diff --git a/images/sl/flow/vspace.svg b/images/sl/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/sl/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/sl/flow/wait.svg b/images/sl/flow/wait.svg deleted file mode 100644 index 77456a3..0000000 --- a/images/sl/flow/wait.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - wait - - diff --git a/images/sl/myblocks/box.svg b/images/sl/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/sl/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/myblocks/box1.svg b/images/sl/myblocks/box1.svg deleted file mode 100644 index 273322f..0000000 --- a/images/sl/myblocks/box1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - box 1 - - - \ No newline at end of file diff --git a/images/sl/myblocks/box2.svg b/images/sl/myblocks/box2.svg deleted file mode 100644 index f6254b8..0000000 --- a/images/sl/myblocks/box2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - box 2 - - - \ No newline at end of file diff --git a/images/sl/myblocks/hat.svg b/images/sl/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/sl/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/myblocks/hat1.svg b/images/sl/myblocks/hat1.svg deleted file mode 100644 index a401477..0000000 --- a/images/sl/myblocks/hat1.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - stack 1 - - - \ No newline at end of file diff --git a/images/sl/myblocks/hat2.svg b/images/sl/myblocks/hat2.svg deleted file mode 100644 index 226d6b6..0000000 --- a/images/sl/myblocks/hat2.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - stack 2 - - - \ No newline at end of file diff --git a/images/sl/myblocks/myblocksgroup.svg b/images/sl/myblocks/myblocksgroup.svg deleted file mode 100644 index 4dfca6a..0000000 --- a/images/sl/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,564 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - My Blocks - - - - stack 1 - - - - stack 1 - - - - stack 2 - - - - stack 2 - - - - - - - - store - - - in - - - box 1 - - - - box 1 - - - - - - - - store - - - in - - - box 2 - - - - box 2 - - - - - - - - - - name - - - - - - start - - diff --git a/images/sl/myblocks/stack.svg b/images/sl/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/sl/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/myblocks/stack1.svg b/images/sl/myblocks/stack1.svg deleted file mode 100644 index bad6327..0000000 --- a/images/sl/myblocks/stack1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - stack 1 - - diff --git a/images/sl/myblocks/stack2.svg b/images/sl/myblocks/stack2.svg deleted file mode 100644 index 7c6db27..0000000 --- a/images/sl/myblocks/stack2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - stack 2 - - diff --git a/images/sl/myblocks/start.svg b/images/sl/myblocks/start.svg deleted file mode 100644 index 072ff32..0000000 --- a/images/sl/myblocks/start.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - start - - - \ No newline at end of file diff --git a/images/sl/myblocks/storein.svg b/images/sl/myblocks/storein.svg deleted file mode 100644 index 8653efe..0000000 --- a/images/sl/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - store in - - diff --git a/images/sl/myblocks/storeinbox.svg b/images/sl/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/sl/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/myblocks/storeinbox1.svg b/images/sl/myblocks/storeinbox1.svg deleted file mode 100644 index 8dce1ff..0000000 --- a/images/sl/myblocks/storeinbox1.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - store - - - in - - - box 1 - - diff --git a/images/sl/myblocks/storeinbox2.svg b/images/sl/myblocks/storeinbox2.svg deleted file mode 100644 index ea56560..0000000 --- a/images/sl/myblocks/storeinbox2.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - store - - - in - - - box 2 - - diff --git a/images/sl/myblocks/string.svg b/images/sl/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/sl/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/sl/numbers/and.svg b/images/sl/numbers/and.svg deleted file mode 100644 index b76690d..0000000 --- a/images/sl/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - and - diff --git a/images/sl/numbers/division.svg b/images/sl/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/sl/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/sl/numbers/division2.svg b/images/sl/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/sl/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/sl/numbers/equal.svg b/images/sl/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/sl/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/sl/numbers/greater.svg b/images/sl/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/sl/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/sl/numbers/identity.svg b/images/sl/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/sl/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/numbers/identity2.svg b/images/sl/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/sl/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/numbers/less.svg b/images/sl/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/sl/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/sl/numbers/minus.svg b/images/sl/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/sl/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/sl/numbers/minus2.svg b/images/sl/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/sl/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/numbers/not.svg b/images/sl/numbers/not.svg deleted file mode 100644 index aa025e5..0000000 --- a/images/sl/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - not - diff --git a/images/sl/numbers/number.svg b/images/sl/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/sl/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/sl/numbers/numbersgroup.svg b/images/sl/numbers/numbersgroup.svg deleted file mode 100644 index 541b8b0..0000000 --- a/images/sl/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Numbers - - - - - - - - - - - - - - - - - - - - - - random - - - - - - = - - - - - - < - - - - - - > - - - - and - - - - or - - - - not - - - - - - print - - - number - - - min - - - max - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/sl/numbers/or.svg b/images/sl/numbers/or.svg deleted file mode 100644 index 4d13f27..0000000 --- a/images/sl/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - or - diff --git a/images/sl/numbers/plus.svg b/images/sl/numbers/plus.svg deleted file mode 100644 index ff30535..0000000 --- a/images/sl/numbers/plus.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - + - diff --git a/images/sl/numbers/plus2.svg b/images/sl/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/sl/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/sl/numbers/print.svg b/images/sl/numbers/print.svg deleted file mode 100644 index 81490df..0000000 --- a/images/sl/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - print - - diff --git a/images/sl/numbers/product.svg b/images/sl/numbers/product.svg deleted file mode 100644 index 576934b..0000000 --- a/images/sl/numbers/product.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - × - diff --git a/images/sl/numbers/product2.svg b/images/sl/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/sl/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/sl/numbers/random.svg b/images/sl/numbers/random.svg deleted file mode 100644 index 3cb34d1..0000000 --- a/images/sl/numbers/random.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - random - - \ No newline at end of file diff --git a/images/sl/numbers/remainder.svg b/images/sl/numbers/remainder.svg deleted file mode 100644 index 7d715d9..0000000 --- a/images/sl/numbers/remainder.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - mod - diff --git a/images/sl/numbers/remainder2.svg b/images/sl/numbers/remainder2.svg deleted file mode 100644 index 5f1a0bc..0000000 --- a/images/sl/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/sl/numbers/sqrt.svg b/images/sl/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/sl/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/sl/pen/blue.svg b/images/sl/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/sl/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sl/pen/color.svg b/images/sl/pen/color.svg deleted file mode 100644 index 8b84875..0000000 --- a/images/sl/pen/color.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - color - - - \ No newline at end of file diff --git a/images/sl/pen/cyan.svg b/images/sl/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/sl/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sl/pen/fillscreen.svg b/images/sl/pen/fillscreen.svg deleted file mode 100644 index 4847dea..0000000 --- a/images/sl/pen/fillscreen.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - fillscreen - - color - - shade - - \ No newline at end of file diff --git a/images/sl/pen/green.svg b/images/sl/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/sl/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sl/pen/orange.svg b/images/sl/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/sl/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sl/pen/pendown.svg b/images/sl/pen/pendown.svg deleted file mode 100644 index a10bd31..0000000 --- a/images/sl/pen/pendown.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - pen - - - down - - - \ No newline at end of file diff --git a/images/sl/pen/pengroup.svg b/images/sl/pen/pengroup.svg deleted file mode 100644 index 78560b5..0000000 --- a/images/sl/pen/pengroup.svg +++ /dev/null @@ -1,737 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Pen - - - - pen - - - up - - - - pen - - - down - - - - - - set - - - pen - - - size - - - - - - - set - - - color - - - - - - - - set - - - shade - - - - - - - - - - fill - - - screen - - - color - - - shade - - - - - - pen size - - - - - - text size - - - - - - color - - - - - - - - set - - - text - - - size - - - - - - shade - - - - - - - - - - - - - - diff --git a/images/sl/pen/pensize.svg b/images/sl/pen/pensize.svg deleted file mode 100644 index 7f6ebdf..0000000 --- a/images/sl/pen/pensize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - pen size - - - \ No newline at end of file diff --git a/images/sl/pen/penup.svg b/images/sl/pen/penup.svg deleted file mode 100644 index e2fbaea..0000000 --- a/images/sl/pen/penup.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - pen - - - up - - - \ No newline at end of file diff --git a/images/sl/pen/purple.svg b/images/sl/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/sl/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sl/pen/red.svg b/images/sl/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/sl/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sl/pen/setcolor.svg b/images/sl/pen/setcolor.svg deleted file mode 100644 index 6e7646c..0000000 --- a/images/sl/pen/setcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - set - - - color - - diff --git a/images/sl/pen/setpensize.svg b/images/sl/pen/setpensize.svg deleted file mode 100644 index 019379c..0000000 --- a/images/sl/pen/setpensize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - set - - - pen - - - size - - diff --git a/images/sl/pen/setshade.svg b/images/sl/pen/setshade.svg deleted file mode 100644 index 59434aa..0000000 --- a/images/sl/pen/setshade.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - set - - - shade - - diff --git a/images/sl/pen/settextcolor.svg b/images/sl/pen/settextcolor.svg deleted file mode 100644 index 2a7fb28..0000000 --- a/images/sl/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - set - - - text - - - color - - diff --git a/images/sl/pen/settextsize.svg b/images/sl/pen/settextsize.svg deleted file mode 100644 index ffdbea7..0000000 --- a/images/sl/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - set - - - text - - - size - - diff --git a/images/sl/pen/shade.svg b/images/sl/pen/shade.svg deleted file mode 100644 index 6d3b3be..0000000 --- a/images/sl/pen/shade.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - shade - - - \ No newline at end of file diff --git a/images/sl/pen/textcolor.svg b/images/sl/pen/textcolor.svg deleted file mode 100644 index 5caa607..0000000 --- a/images/sl/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - text color - - - \ No newline at end of file diff --git a/images/sl/pen/textsize.svg b/images/sl/pen/textsize.svg deleted file mode 100644 index fe05d99..0000000 --- a/images/sl/pen/textsize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - text size - - - \ No newline at end of file diff --git a/images/sl/pen/yellow.svg b/images/sl/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/sl/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sl/sensors/bottompos.svg b/images/sl/sensors/bottompos.svg deleted file mode 100644 index acf79cb..0000000 --- a/images/sl/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bottom - - diff --git a/images/sl/sensors/clearheap.svg b/images/sl/sensors/clearheap.svg deleted file mode 100644 index 8b87beb..0000000 --- a/images/sl/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - empty - - - heap - - diff --git a/images/sl/sensors/hres.svg b/images/sl/sensors/hres.svg deleted file mode 100644 index 9f27bac..0000000 --- a/images/sl/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - hres - - diff --git a/images/sl/sensors/kbinput.svg b/images/sl/sensors/kbinput.svg deleted file mode 100644 index b02af03..0000000 --- a/images/sl/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - read - - - key - - diff --git a/images/sl/sensors/keyboard.svg b/images/sl/sensors/keyboard.svg deleted file mode 100644 index bb09552..0000000 --- a/images/sl/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - keyboard - - diff --git a/images/sl/sensors/leftpos.svg b/images/sl/sensors/leftpos.svg deleted file mode 100644 index c37e7c6..0000000 --- a/images/sl/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - left - - diff --git a/images/sl/sensors/myfunc.svg b/images/sl/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/sl/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/sensors/nop-loaded.svg b/images/sl/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/sl/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/sensors/nop.svg b/images/sl/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/sl/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/sensors/pop.svg b/images/sl/sensors/pop.svg deleted file mode 100644 index 568fcd9..0000000 --- a/images/sl/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - pop - - diff --git a/images/sl/sensors/printheap.svg b/images/sl/sensors/printheap.svg deleted file mode 100644 index 026631e..0000000 --- a/images/sl/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - show - - - heap - - diff --git a/images/sl/sensors/push.svg b/images/sl/sensors/push.svg deleted file mode 100644 index 9683008..0000000 --- a/images/sl/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - push - - diff --git a/images/sl/sensors/rightpos.svg b/images/sl/sensors/rightpos.svg deleted file mode 100644 index 92560c8..0000000 --- a/images/sl/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - right - - diff --git a/images/sl/sensors/sensorsgroup.svg b/images/sl/sensors/sensorsgroup.svg deleted file mode 100644 index 8745ac7..0000000 --- a/images/sl/sensors/sensorsgroup.svg +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Keyboard - - - - read - - - key - - - - keyboard - - - - - hres - - - - - - vres - - - - - - - - - - x - - - - - - - pop - - - - - - - show - - - heap - - - - - - empty - - - heap - - - - - - - - push - - - - - - diff --git a/images/sl/sensors/toppos.svg b/images/sl/sensors/toppos.svg deleted file mode 100644 index 7b9e287..0000000 --- a/images/sl/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - top - - diff --git a/images/sl/sensors/vres.svg b/images/sl/sensors/vres.svg deleted file mode 100644 index 117a4b6..0000000 --- a/images/sl/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - vres - - diff --git a/images/sl/templates/audiooff.svg b/images/sl/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/sl/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/templates/descriptionoff.svg b/images/sl/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/sl/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/sl/templates/hideblocks.svg b/images/sl/templates/hideblocks.svg deleted file mode 100644 index 9c2e8c3..0000000 --- a/images/sl/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - hide - - - blocks - - diff --git a/images/sl/templates/journal.svg b/images/sl/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/sl/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/templates/sound.svg b/images/sl/templates/sound.svg deleted file mode 100644 index 9e5ddf4..0000000 --- a/images/sl/templates/sound.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sound - - - \ No newline at end of file diff --git a/images/sl/templates/template1.svg b/images/sl/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/sl/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/templates/template2.svg b/images/sl/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/sl/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/templates/template3.svg b/images/sl/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/sl/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/templates/template4.svg b/images/sl/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/sl/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/templates/template6.svg b/images/sl/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/sl/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/templates/template7.svg b/images/sl/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/sl/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/templates/templatesgroup.svg b/images/sl/templates/templatesgroup.svg deleted file mode 100644 index 603091d..0000000 --- a/images/sl/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Templates - - - - hide - - - blocks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/sl/turtle/arc.svg b/images/sl/turtle/arc.svg deleted file mode 100644 index d44b985..0000000 --- a/images/sl/turtle/arc.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - arc - - angle - - radius - - \ No newline at end of file diff --git a/images/sl/turtle/back.svg b/images/sl/turtle/back.svg deleted file mode 100644 index 5a2c011..0000000 --- a/images/sl/turtle/back.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - back - - - \ No newline at end of file diff --git a/images/sl/turtle/clean.svg b/images/sl/turtle/clean.svg deleted file mode 100644 index 57d767d..0000000 --- a/images/sl/turtle/clean.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - clean - - diff --git a/images/sl/turtle/container.svg b/images/sl/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/sl/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/sl/turtle/forward.svg b/images/sl/turtle/forward.svg deleted file mode 100644 index eb2a6a7..0000000 --- a/images/sl/turtle/forward.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - forward - - - \ No newline at end of file diff --git a/images/sl/turtle/heading.svg b/images/sl/turtle/heading.svg deleted file mode 100644 index c589072..0000000 --- a/images/sl/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - heading - - diff --git a/images/sl/turtle/image.svg b/images/sl/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/sl/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/sl/turtle/left.svg b/images/sl/turtle/left.svg deleted file mode 100644 index 013a2d2..0000000 --- a/images/sl/turtle/left.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - left - - - \ No newline at end of file diff --git a/images/sl/turtle/right.svg b/images/sl/turtle/right.svg deleted file mode 100644 index 83d72d6..0000000 --- a/images/sl/turtle/right.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - right - - - \ No newline at end of file diff --git a/images/sl/turtle/scale.svg b/images/sl/turtle/scale.svg deleted file mode 100644 index 5432d96..0000000 --- a/images/sl/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - scale - - diff --git a/images/sl/turtle/seth.svg b/images/sl/turtle/seth.svg deleted file mode 100644 index 03d8a4d..0000000 --- a/images/sl/turtle/seth.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - seth - - - \ No newline at end of file diff --git a/images/sl/turtle/setscale.svg b/images/sl/turtle/setscale.svg deleted file mode 100644 index cf94653..0000000 --- a/images/sl/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - set - - - scale - - - \ No newline at end of file diff --git a/images/sl/turtle/setxy.svg b/images/sl/turtle/setxy.svg deleted file mode 100644 index 9f3cdb6..0000000 --- a/images/sl/turtle/setxy.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - set xy - - x - - y - - \ No newline at end of file diff --git a/images/sl/turtle/show.svg b/images/sl/turtle/show.svg deleted file mode 100644 index 38b6cac..0000000 --- a/images/sl/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - show - - - \ No newline at end of file diff --git a/images/sl/turtle/turtlegroup.svg b/images/sl/turtle/turtlegroup.svg deleted file mode 100644 index dc665de..0000000 --- a/images/sl/turtle/turtlegroup.svg +++ /dev/null @@ -1 +0,0 @@ - X clean forward back left right arc angle radius setyx x y seth xcor ycor heading Turtle show set scale show name \ No newline at end of file diff --git a/images/sl/turtle/write.svg b/images/sl/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/sl/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sl/turtle/xcor.svg b/images/sl/turtle/xcor.svg deleted file mode 100644 index f7de79e..0000000 --- a/images/sl/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - xcor - - diff --git a/images/sl/turtle/ycor.svg b/images/sl/turtle/ycor.svg deleted file mode 100644 index 52d2042..0000000 --- a/images/sl/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - ycor - - diff --git a/images/sv/flow/flowgroup.svg b/images/sv/flow/flowgroup.svg deleted file mode 100644 index 4fcebf6..0000000 --- a/images/sv/flow/flowgroup.svg +++ /dev/null @@ -1,344 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Flöde - - - - - - - - - vänta - - - - alltid - - - - upprepa - - - - om - - - - - - - Avsluta - - - stack - - - - om - - - - - - annars - - - - diff --git a/images/sv/flow/forever.svg b/images/sv/flow/forever.svg deleted file mode 100644 index df2341a..0000000 --- a/images/sv/flow/forever.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - alltid - diff --git a/images/sv/flow/hspace.svg b/images/sv/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/sv/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/sv/flow/if.svg b/images/sv/flow/if.svg deleted file mode 100644 index e12e3ba..0000000 --- a/images/sv/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - om - - - diff --git a/images/sv/flow/ifelse.svg b/images/sv/flow/ifelse.svg deleted file mode 100644 index bf052f0..0000000 --- a/images/sv/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - om - - - - annars - \ No newline at end of file diff --git a/images/sv/flow/lock.svg b/images/sv/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/sv/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/flow/repeat.svg b/images/sv/flow/repeat.svg deleted file mode 100644 index 9ea9839..0000000 --- a/images/sv/flow/repeat.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - upprepa - diff --git a/images/sv/flow/stopstack.svg b/images/sv/flow/stopstack.svg deleted file mode 100644 index 547c9e4..0000000 --- a/images/sv/flow/stopstack.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - Avslutastack - diff --git a/images/sv/flow/vspace.svg b/images/sv/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/sv/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/sv/flow/wait.svg b/images/sv/flow/wait.svg deleted file mode 100644 index f0222e6..0000000 --- a/images/sv/flow/wait.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - vänta - - diff --git a/images/sv/myblocks/box.svg b/images/sv/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/sv/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/myblocks/box1.svg b/images/sv/myblocks/box1.svg deleted file mode 100644 index 273322f..0000000 --- a/images/sv/myblocks/box1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - box 1 - - - \ No newline at end of file diff --git a/images/sv/myblocks/box2.svg b/images/sv/myblocks/box2.svg deleted file mode 100644 index f6254b8..0000000 --- a/images/sv/myblocks/box2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - box 2 - - - \ No newline at end of file diff --git a/images/sv/myblocks/hat.svg b/images/sv/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/sv/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/myblocks/hat1.svg b/images/sv/myblocks/hat1.svg deleted file mode 100644 index a401477..0000000 --- a/images/sv/myblocks/hat1.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - stack 1 - - - \ No newline at end of file diff --git a/images/sv/myblocks/hat2.svg b/images/sv/myblocks/hat2.svg deleted file mode 100644 index 226d6b6..0000000 --- a/images/sv/myblocks/hat2.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - stack 2 - - - \ No newline at end of file diff --git a/images/sv/myblocks/myblocksgroup.svg b/images/sv/myblocks/myblocksgroup.svg deleted file mode 100644 index 0788a5e..0000000 --- a/images/sv/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,564 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Mina block - - - - stack 1 - - - - stack 1 - - - - stack 2 - - - - stack 2 - - - - - - - - spara - - - i - - - box 1 - - - - box 1 - - - - - - - - spara - - - i - - - box 2 - - - - box 2 - - - - - - - - - - namn - - - - - - starta - - diff --git a/images/sv/myblocks/stack.svg b/images/sv/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/sv/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/myblocks/stack1.svg b/images/sv/myblocks/stack1.svg deleted file mode 100644 index bad6327..0000000 --- a/images/sv/myblocks/stack1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - stack 1 - - diff --git a/images/sv/myblocks/stack2.svg b/images/sv/myblocks/stack2.svg deleted file mode 100644 index 7c6db27..0000000 --- a/images/sv/myblocks/stack2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - stack 2 - - diff --git a/images/sv/myblocks/start.svg b/images/sv/myblocks/start.svg deleted file mode 100644 index 0be3fba..0000000 --- a/images/sv/myblocks/start.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - starta - - - \ No newline at end of file diff --git a/images/sv/myblocks/storein.svg b/images/sv/myblocks/storein.svg deleted file mode 100644 index ce66933..0000000 --- a/images/sv/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - spara i - - diff --git a/images/sv/myblocks/storeinbox.svg b/images/sv/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/sv/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/myblocks/storeinbox1.svg b/images/sv/myblocks/storeinbox1.svg deleted file mode 100644 index 26c779c..0000000 --- a/images/sv/myblocks/storeinbox1.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - spara - - - i - - - box 1 - - diff --git a/images/sv/myblocks/storeinbox2.svg b/images/sv/myblocks/storeinbox2.svg deleted file mode 100644 index f2241ee..0000000 --- a/images/sv/myblocks/storeinbox2.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - spara - - - i - - - box 2 - - diff --git a/images/sv/myblocks/string.svg b/images/sv/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/sv/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/sv/numbers/and.svg b/images/sv/numbers/and.svg deleted file mode 100644 index e8bb6b1..0000000 --- a/images/sv/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - och - diff --git a/images/sv/numbers/division.svg b/images/sv/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/sv/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/sv/numbers/division2.svg b/images/sv/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/sv/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/sv/numbers/equal.svg b/images/sv/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/sv/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/sv/numbers/greater.svg b/images/sv/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/sv/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/sv/numbers/identity.svg b/images/sv/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/sv/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/numbers/identity2.svg b/images/sv/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/sv/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/numbers/less.svg b/images/sv/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/sv/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/sv/numbers/minus.svg b/images/sv/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/sv/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/sv/numbers/minus2.svg b/images/sv/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/sv/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/numbers/not.svg b/images/sv/numbers/not.svg deleted file mode 100644 index b2f2a34..0000000 --- a/images/sv/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - inte - diff --git a/images/sv/numbers/number.svg b/images/sv/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/sv/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/sv/numbers/numbersgroup.svg b/images/sv/numbers/numbersgroup.svg deleted file mode 100644 index e34daf1..0000000 --- a/images/sv/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Tal - - - - - - - - - - - - - - - - - - - - - - slumpmässig - - - - - - = - - - - - - < - - - - - - > - - - - och - - - - eller - - - - inte - - - - - - skriv - - - tal - - - minsta - - - största - - - - - - + - - - - x - - - - - - - - / - - - - rest - - diff --git a/images/sv/numbers/or.svg b/images/sv/numbers/or.svg deleted file mode 100644 index 51ce1f0..0000000 --- a/images/sv/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - eller - diff --git a/images/sv/numbers/plus.svg b/images/sv/numbers/plus.svg deleted file mode 100644 index ff30535..0000000 --- a/images/sv/numbers/plus.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - + - diff --git a/images/sv/numbers/plus2.svg b/images/sv/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/sv/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/sv/numbers/print.svg b/images/sv/numbers/print.svg deleted file mode 100644 index 40cdaa1..0000000 --- a/images/sv/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - skriv - - diff --git a/images/sv/numbers/product.svg b/images/sv/numbers/product.svg deleted file mode 100644 index 576934b..0000000 --- a/images/sv/numbers/product.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - × - diff --git a/images/sv/numbers/product2.svg b/images/sv/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/sv/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/sv/numbers/random.svg b/images/sv/numbers/random.svg deleted file mode 100644 index 151b6a5..0000000 --- a/images/sv/numbers/random.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - slumpmässig - - \ No newline at end of file diff --git a/images/sv/numbers/remainder.svg b/images/sv/numbers/remainder.svg deleted file mode 100644 index 107e7c6..0000000 --- a/images/sv/numbers/remainder.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - rest - diff --git a/images/sv/numbers/remainder2.svg b/images/sv/numbers/remainder2.svg deleted file mode 100644 index 6b62067..0000000 --- a/images/sv/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - rest - - diff --git a/images/sv/numbers/sqrt.svg b/images/sv/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/sv/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/sv/pen/blue.svg b/images/sv/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/sv/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sv/pen/color.svg b/images/sv/pen/color.svg deleted file mode 100644 index ee4b280..0000000 --- a/images/sv/pen/color.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - färg - - - \ No newline at end of file diff --git a/images/sv/pen/cyan.svg b/images/sv/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/sv/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sv/pen/fillscreen.svg b/images/sv/pen/fillscreen.svg deleted file mode 100644 index db008d0..0000000 --- a/images/sv/pen/fillscreen.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - fyllskärm - - färg - - skugga - - \ No newline at end of file diff --git a/images/sv/pen/green.svg b/images/sv/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/sv/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sv/pen/orange.svg b/images/sv/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/sv/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sv/pen/pendown.svg b/images/sv/pen/pendown.svg deleted file mode 100644 index 0c30ea7..0000000 --- a/images/sv/pen/pendown.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - Sätt - - - ned - - - \ No newline at end of file diff --git a/images/sv/pen/pengroup.svg b/images/sv/pen/pengroup.svg deleted file mode 100644 index 87ab493..0000000 --- a/images/sv/pen/pengroup.svg +++ /dev/null @@ -1,793 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Penna - - - - Ta - - - upp - - - - Sätt - - - ned - - - - - - Ange - - - penn- - - - storlek - - - - - - - - - - ange - - - färg - - - - - - - - Ange - - - skugga - - - - - - - - - - fyll - - - skärm - - - färg - - - skugga - - - - - - pennstorlek - - - - - - textstorlek - - - - - - färg - - - - - - - - Ange - - - text - - - storlek - - - - - - skugga - - - - - - - - - - - - - - diff --git a/images/sv/pen/pensize.svg b/images/sv/pen/pensize.svg deleted file mode 100644 index 531f4b7..0000000 --- a/images/sv/pen/pensize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - pennstorlek - - - \ No newline at end of file diff --git a/images/sv/pen/penup.svg b/images/sv/pen/penup.svg deleted file mode 100644 index e73bac1..0000000 --- a/images/sv/pen/penup.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - Ta - - - upp - - - \ No newline at end of file diff --git a/images/sv/pen/purple.svg b/images/sv/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/sv/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sv/pen/red.svg b/images/sv/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/sv/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sv/pen/setcolor.svg b/images/sv/pen/setcolor.svg deleted file mode 100644 index 53d4fbd..0000000 --- a/images/sv/pen/setcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - Ange - - - färg - - diff --git a/images/sv/pen/setpensize.svg b/images/sv/pen/setpensize.svg deleted file mode 100644 index a0d1f5f..0000000 --- a/images/sv/pen/setpensize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - Ange - - - penn- - - - storlek - - diff --git a/images/sv/pen/setshade.svg b/images/sv/pen/setshade.svg deleted file mode 100644 index 0b4e8bb..0000000 --- a/images/sv/pen/setshade.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - Ange - - - skugga - - diff --git a/images/sv/pen/settextcolor.svg b/images/sv/pen/settextcolor.svg deleted file mode 100644 index a5acae0..0000000 --- a/images/sv/pen/settextcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - Ange - - - textfärg - - diff --git a/images/sv/pen/settextsize.svg b/images/sv/pen/settextsize.svg deleted file mode 100644 index c70dbb1..0000000 --- a/images/sv/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - Ange - - - text - - - storlek - - diff --git a/images/sv/pen/shade.svg b/images/sv/pen/shade.svg deleted file mode 100644 index 93bcf6c..0000000 --- a/images/sv/pen/shade.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - skugga - - - \ No newline at end of file diff --git a/images/sv/pen/textcolor.svg b/images/sv/pen/textcolor.svg deleted file mode 100644 index 6237e8f..0000000 --- a/images/sv/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - textfärg - - - diff --git a/images/sv/pen/textsize.svg b/images/sv/pen/textsize.svg deleted file mode 100644 index afb7189..0000000 --- a/images/sv/pen/textsize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - textstorlek - - - diff --git a/images/sv/pen/yellow.svg b/images/sv/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/sv/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/sv/sensors/bottompos.svg b/images/sv/sensors/bottompos.svg deleted file mode 100644 index acf79cb..0000000 --- a/images/sv/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bottom - - diff --git a/images/sv/sensors/clearheap.svg b/images/sv/sensors/clearheap.svg deleted file mode 100644 index 8b87beb..0000000 --- a/images/sv/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - empty - - - heap - - diff --git a/images/sv/sensors/hres.svg b/images/sv/sensors/hres.svg deleted file mode 100644 index 9f27bac..0000000 --- a/images/sv/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - hres - - diff --git a/images/sv/sensors/kbinput.svg b/images/sv/sensors/kbinput.svg deleted file mode 100644 index 55d6590..0000000 --- a/images/sv/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - läs - - - av - - diff --git a/images/sv/sensors/keyboard.svg b/images/sv/sensors/keyboard.svg deleted file mode 100644 index 98c1aa5..0000000 --- a/images/sv/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - tangentbord - - diff --git a/images/sv/sensors/leftpos.svg b/images/sv/sensors/leftpos.svg deleted file mode 100644 index 195b939..0000000 --- a/images/sv/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - vänster - - diff --git a/images/sv/sensors/myfunc.svg b/images/sv/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/sv/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/sensors/nop-loaded.svg b/images/sv/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/sv/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/sensors/nop.svg b/images/sv/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/sv/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/sensors/pop.svg b/images/sv/sensors/pop.svg deleted file mode 100644 index 96764d0..0000000 --- a/images/sv/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - ta bort - - diff --git a/images/sv/sensors/printheap.svg b/images/sv/sensors/printheap.svg deleted file mode 100644 index 026631e..0000000 --- a/images/sv/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - show - - - heap - - diff --git a/images/sv/sensors/push.svg b/images/sv/sensors/push.svg deleted file mode 100644 index 9a4c597..0000000 --- a/images/sv/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - lägg till sist - - diff --git a/images/sv/sensors/rightpos.svg b/images/sv/sensors/rightpos.svg deleted file mode 100644 index 6fd87b9..0000000 --- a/images/sv/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - höger - - diff --git a/images/sv/sensors/sensorsgroup.svg b/images/sv/sensors/sensorsgroup.svg deleted file mode 100644 index b532f87..0000000 --- a/images/sv/sensors/sensorsgroup.svg +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Tangentbord - - - - läs - - - av - - - - tangentbord - - - - - hres - - - - - - vres - - - - - - - - - - x - - - - - - - ta bort - - - - - - - show - - - heap - - - - - - empty - - - heap - - - - - - - - lägg till sist - - - - - - diff --git a/images/sv/sensors/toppos.svg b/images/sv/sensors/toppos.svg deleted file mode 100644 index 7b9e287..0000000 --- a/images/sv/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - top - - diff --git a/images/sv/sensors/vres.svg b/images/sv/sensors/vres.svg deleted file mode 100644 index 117a4b6..0000000 --- a/images/sv/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - vres - - diff --git a/images/sv/templates/audiooff.svg b/images/sv/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/sv/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/templates/descriptionoff.svg b/images/sv/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/sv/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/sv/templates/hideblocks.svg b/images/sv/templates/hideblocks.svg deleted file mode 100644 index 305714d..0000000 --- a/images/sv/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - dölj - - - block - - diff --git a/images/sv/templates/journal.svg b/images/sv/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/sv/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/templates/sound.svg b/images/sv/templates/sound.svg deleted file mode 100644 index c84cd87..0000000 --- a/images/sv/templates/sound.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ljud - - - \ No newline at end of file diff --git a/images/sv/templates/template1.svg b/images/sv/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/sv/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/templates/template2.svg b/images/sv/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/sv/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/templates/template3.svg b/images/sv/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/sv/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/templates/template4.svg b/images/sv/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/sv/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/templates/template6.svg b/images/sv/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/sv/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/templates/template7.svg b/images/sv/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/sv/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/templates/templatesgroup.svg b/images/sv/templates/templatesgroup.svg deleted file mode 100644 index 4609773..0000000 --- a/images/sv/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Mallar - - - - dölj - - - block - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/sv/turtle/arc.svg b/images/sv/turtle/arc.svg deleted file mode 100644 index 20ca862..0000000 --- a/images/sv/turtle/arc.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - cirkelbåge - - vinkel - - radie - - \ No newline at end of file diff --git a/images/sv/turtle/back.svg b/images/sv/turtle/back.svg deleted file mode 100644 index 8da897f..0000000 --- a/images/sv/turtle/back.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - tillbaka - - - \ No newline at end of file diff --git a/images/sv/turtle/clean.svg b/images/sv/turtle/clean.svg deleted file mode 100644 index 8bf8c5e..0000000 --- a/images/sv/turtle/clean.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - rensa - - diff --git a/images/sv/turtle/container.svg b/images/sv/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/sv/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/sv/turtle/forward.svg b/images/sv/turtle/forward.svg deleted file mode 100644 index 7709e07..0000000 --- a/images/sv/turtle/forward.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - framåt - - - \ No newline at end of file diff --git a/images/sv/turtle/heading.svg b/images/sv/turtle/heading.svg deleted file mode 100644 index 2e25361..0000000 --- a/images/sv/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - riktning - - diff --git a/images/sv/turtle/image.svg b/images/sv/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/sv/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/sv/turtle/left.svg b/images/sv/turtle/left.svg deleted file mode 100644 index e8f99b4..0000000 --- a/images/sv/turtle/left.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - vänster - - - \ No newline at end of file diff --git a/images/sv/turtle/right.svg b/images/sv/turtle/right.svg deleted file mode 100644 index 28e1305..0000000 --- a/images/sv/turtle/right.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - höger - - - \ No newline at end of file diff --git a/images/sv/turtle/scale.svg b/images/sv/turtle/scale.svg deleted file mode 100644 index 5432d96..0000000 --- a/images/sv/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - scale - - diff --git a/images/sv/turtle/seth.svg b/images/sv/turtle/seth.svg deleted file mode 100644 index 0deea1e..0000000 --- a/images/sv/turtle/seth.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - ange - - - riktning - - - \ No newline at end of file diff --git a/images/sv/turtle/setscale.svg b/images/sv/turtle/setscale.svg deleted file mode 100644 index 76d8d15..0000000 --- a/images/sv/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - ange - - - scale - - - diff --git a/images/sv/turtle/setxy.svg b/images/sv/turtle/setxy.svg deleted file mode 100644 index 6c3a4e0..0000000 --- a/images/sv/turtle/setxy.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - ange x,y - - x - - y - - \ No newline at end of file diff --git a/images/sv/turtle/show.svg b/images/sv/turtle/show.svg deleted file mode 100644 index 38b6cac..0000000 --- a/images/sv/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - show - - - \ No newline at end of file diff --git a/images/sv/turtle/turtlegroup.svg b/images/sv/turtle/turtlegroup.svg deleted file mode 100644 index 51d8bc4..0000000 --- a/images/sv/turtle/turtlegroup.svg +++ /dev/null @@ -1,899 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - rensa - - - - - - framåt - - - - - - tillbaka - - - - - - vänster - - - - - - höger - - - - - - - - cirkel- - - - båge - - - vinkel - radie - - - - - - - - ange - - - x - y - - - - - - ange - - - riktning - - - - xkor. - - - - ykor. - - - - riktning - - - Sköldpadda - - - - - - - - - - - - show - - - - - - ange - - - scale - - - - - - - - - - - - show - - - - - - diff --git a/images/sv/turtle/write.svg b/images/sv/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/sv/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/sv/turtle/xcor.svg b/images/sv/turtle/xcor.svg deleted file mode 100644 index fcd86b0..0000000 --- a/images/sv/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - xkor. - - diff --git a/images/sv/turtle/ycor.svg b/images/sv/turtle/ycor.svg deleted file mode 100644 index 2ceaacc..0000000 --- a/images/sv/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - ykor. - - diff --git a/images/ta/flow/flowgroup.svg b/images/ta/flow/flowgroup.svg deleted file mode 100644 index 734b897..0000000 --- a/images/ta/flow/flowgroup.svg +++ /dev/null @@ -1,359 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - தொடருங்கள் - - - - - - - - - பொறு - - - - எப்போதும் - - - - , திருப்பிச்செய் - - - - எனின் - - - அதன்பின் - - - - stop - - - action - - - - எனின் - - - அதன்பின் - - - வேறு - - - - - - - diff --git a/images/ta/flow/forever.svg b/images/ta/flow/forever.svg deleted file mode 100644 index da6c768..0000000 --- a/images/ta/flow/forever.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - எப்போதும் - diff --git a/images/ta/flow/hspace.svg b/images/ta/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/ta/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/ta/flow/if.svg b/images/ta/flow/if.svg deleted file mode 100644 index 34fc811..0000000 --- a/images/ta/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - எனின் - - அதன்பின் - diff --git a/images/ta/flow/ifelse.svg b/images/ta/flow/ifelse.svg deleted file mode 100644 index ffcd529..0000000 --- a/images/ta/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - எனின் - - அதன்பின் - - வேறு - \ No newline at end of file diff --git a/images/ta/flow/lock.svg b/images/ta/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/ta/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/flow/repeat.svg b/images/ta/flow/repeat.svg deleted file mode 100644 index 2d0a652..0000000 --- a/images/ta/flow/repeat.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - , திருப்பிச்செய் - diff --git a/images/ta/flow/stopstack.svg b/images/ta/flow/stopstack.svg deleted file mode 100644 index f395037..0000000 --- a/images/ta/flow/stopstack.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - stopaction - diff --git a/images/ta/flow/vspace.svg b/images/ta/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/ta/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/ta/flow/wait.svg b/images/ta/flow/wait.svg deleted file mode 100644 index 490958a..0000000 --- a/images/ta/flow/wait.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - பொறு - - diff --git a/images/ta/myblocks/box.svg b/images/ta/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/ta/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/myblocks/box1.svg b/images/ta/myblocks/box1.svg deleted file mode 100644 index 4615d8d..0000000 --- a/images/ta/myblocks/box1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - முதலாவது பெட்டி - - - \ No newline at end of file diff --git a/images/ta/myblocks/box2.svg b/images/ta/myblocks/box2.svg deleted file mode 100644 index 242e159..0000000 --- a/images/ta/myblocks/box2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - இரண்டாவது பெட்டி - - - \ No newline at end of file diff --git a/images/ta/myblocks/hat.svg b/images/ta/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/ta/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/myblocks/hat1.svg b/images/ta/myblocks/hat1.svg deleted file mode 100644 index ec84161..0000000 --- a/images/ta/myblocks/hat1.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - முதற் குவியல் - - - \ No newline at end of file diff --git a/images/ta/myblocks/hat2.svg b/images/ta/myblocks/hat2.svg deleted file mode 100644 index 4825db9..0000000 --- a/images/ta/myblocks/hat2.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - இரண்டாவது குவியல் - - - \ No newline at end of file diff --git a/images/ta/myblocks/myblocksgroup.svg b/images/ta/myblocks/myblocksgroup.svg deleted file mode 100644 index d496fe7..0000000 --- a/images/ta/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,565 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - எனது தொகுதி - - - - முதற் குவியல் - - - - முதற் குவியல் - - - - இரண்டாவது குவியல் - - - - இரண்டாவது குவியல் - - - - - - - - முதலாவது - - - பெட்டியில் - - - சேமி - - - - முதலாவது பெட்டி - - - - - - - - இரண்டாவது - - - பெட்டியில் - - - சேமி - - - - இரண்டாவது பெட்டி - - - - - - - - - - பெயர் - - - - - - ஆரம்பி - - diff --git a/images/ta/myblocks/stack.svg b/images/ta/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/ta/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/myblocks/stack1.svg b/images/ta/myblocks/stack1.svg deleted file mode 100644 index 7d477cc..0000000 --- a/images/ta/myblocks/stack1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - முதற் குவியல் - - diff --git a/images/ta/myblocks/stack2.svg b/images/ta/myblocks/stack2.svg deleted file mode 100644 index c6b2d2f..0000000 --- a/images/ta/myblocks/stack2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - இரண்டாவது குவியல் - - diff --git a/images/ta/myblocks/start.svg b/images/ta/myblocks/start.svg deleted file mode 100644 index 599b910..0000000 --- a/images/ta/myblocks/start.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - ஆரம்பி - - - \ No newline at end of file diff --git a/images/ta/myblocks/storein.svg b/images/ta/myblocks/storein.svg deleted file mode 100644 index 5167168..0000000 --- a/images/ta/myblocks/storein.svg +++ /dev/null @@ -1,55 +0,0 @@ -] -] -] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - store in - - diff --git a/images/ta/myblocks/storeinbox.svg b/images/ta/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/ta/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/myblocks/storeinbox1.svg b/images/ta/myblocks/storeinbox1.svg deleted file mode 100644 index 8f8ce04..0000000 --- a/images/ta/myblocks/storeinbox1.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - முதலாவது - - - பெட்டியில் - - - சேமி - - diff --git a/images/ta/myblocks/storeinbox2.svg b/images/ta/myblocks/storeinbox2.svg deleted file mode 100644 index fb38e66..0000000 --- a/images/ta/myblocks/storeinbox2.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - இரண்டாவது - - - பெட்டியில் - - - சேமி - - diff --git a/images/ta/myblocks/string.svg b/images/ta/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/ta/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/ta/numbers/and.svg b/images/ta/numbers/and.svg deleted file mode 100644 index f49a437..0000000 --- a/images/ta/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - உடன் - diff --git a/images/ta/numbers/division.svg b/images/ta/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/ta/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/ta/numbers/division2.svg b/images/ta/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/ta/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/ta/numbers/equal.svg b/images/ta/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/ta/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/ta/numbers/greater.svg b/images/ta/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/ta/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/ta/numbers/identity.svg b/images/ta/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/ta/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/numbers/identity2.svg b/images/ta/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/ta/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/numbers/less.svg b/images/ta/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/ta/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/ta/numbers/minus.svg b/images/ta/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/ta/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/ta/numbers/minus2.svg b/images/ta/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/ta/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/numbers/not.svg b/images/ta/numbers/not.svg deleted file mode 100644 index 21fb0e3..0000000 --- a/images/ta/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - இல்லை - diff --git a/images/ta/numbers/number.svg b/images/ta/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/ta/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/ta/numbers/numbersgroup.svg b/images/ta/numbers/numbersgroup.svg deleted file mode 100644 index 9804d5c..0000000 --- a/images/ta/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - எண்கள் - - - - - - - - - - - - - - - - - - - - - - எழுமாறாக - - - - - - = - - - - - - < - - - - - - > - - - - உடன் - - - - அல்லது - - - - இல்லை - - - - - - அச்சு - - - எண் - - - மிகக்குறைய - - - மிகக்கூடிய - - - - - - + - - - - x - - - - - - - - / - - - - புதுப்பி - - diff --git a/images/ta/numbers/or.svg b/images/ta/numbers/or.svg deleted file mode 100644 index 8f1b050..0000000 --- a/images/ta/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - அல்லது - diff --git a/images/ta/numbers/plus.svg b/images/ta/numbers/plus.svg deleted file mode 100644 index ff30535..0000000 --- a/images/ta/numbers/plus.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - + - diff --git a/images/ta/numbers/plus2.svg b/images/ta/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/ta/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/ta/numbers/print.svg b/images/ta/numbers/print.svg deleted file mode 100644 index e33cca2..0000000 --- a/images/ta/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - அச்சு - - diff --git a/images/ta/numbers/product.svg b/images/ta/numbers/product.svg deleted file mode 100644 index 576934b..0000000 --- a/images/ta/numbers/product.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - × - diff --git a/images/ta/numbers/product2.svg b/images/ta/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/ta/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/ta/numbers/random.svg b/images/ta/numbers/random.svg deleted file mode 100644 index 0935e68..0000000 --- a/images/ta/numbers/random.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - எழுமாறாக - - \ No newline at end of file diff --git a/images/ta/numbers/remainder.svg b/images/ta/numbers/remainder.svg deleted file mode 100644 index a33e0e1..0000000 --- a/images/ta/numbers/remainder.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - புதுப்பி - diff --git a/images/ta/numbers/remainder2.svg b/images/ta/numbers/remainder2.svg deleted file mode 100644 index a97ef3d..0000000 --- a/images/ta/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - புதுப்பி - - diff --git a/images/ta/numbers/sqrt.svg b/images/ta/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/ta/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/ta/pen/blue.svg b/images/ta/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/ta/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ta/pen/color.svg b/images/ta/pen/color.svg deleted file mode 100644 index 33b5ef0..0000000 --- a/images/ta/pen/color.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - நிறம் - - - \ No newline at end of file diff --git a/images/ta/pen/cyan.svg b/images/ta/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/ta/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ta/pen/fillscreen.svg b/images/ta/pen/fillscreen.svg deleted file mode 100644 index dee0e1a..0000000 --- a/images/ta/pen/fillscreen.svg +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - முழுத்திரை - - - - நிறம் - - - நிழல் - - diff --git a/images/ta/pen/green.svg b/images/ta/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/ta/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ta/pen/orange.svg b/images/ta/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/ta/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ta/pen/pendown.svg b/images/ta/pen/pendown.svg deleted file mode 100644 index 1e4ec1b..0000000 --- a/images/ta/pen/pendown.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - பேனை - - - கீழே - - - \ No newline at end of file diff --git a/images/ta/pen/pengroup.svg b/images/ta/pen/pengroup.svg deleted file mode 100644 index 9c43084..0000000 --- a/images/ta/pen/pengroup.svg +++ /dev/null @@ -1,862 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - பேனை - - - - பேனை - - - மேலே - - - - பேனை - - - கீழே - - - - - - பேனையின் - - - அளவினை - - - ஒழுங்குபடுத்து - - - - - - நிறத்தை - - - - - - - - - நிழலை - - - ஒழுங்கு - - - - - - - - - முழுத்திரை - - - - - - நிறம் - - - நிழல் - - - - - பேனை அளவு - - - - - text size - - - - - - நிறம் - - - - - - - - set - - - text - - - size - - - - - - நிழல் - - - - - - - - - - - - - - - படுத்து - - - ஒழுங்கு - - - படுத்து - - diff --git a/images/ta/pen/pensize.svg b/images/ta/pen/pensize.svg deleted file mode 100644 index bba7b56..0000000 --- a/images/ta/pen/pensize.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - பேனை அளவு - - diff --git a/images/ta/pen/penup.svg b/images/ta/pen/penup.svg deleted file mode 100644 index 608fa58..0000000 --- a/images/ta/pen/penup.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - பேனை - - - மேலே - - - \ No newline at end of file diff --git a/images/ta/pen/purple.svg b/images/ta/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/ta/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ta/pen/red.svg b/images/ta/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/ta/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ta/pen/setcolor.svg b/images/ta/pen/setcolor.svg deleted file mode 100644 index 0c670be..0000000 --- a/images/ta/pen/setcolor.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - நிறத்தை - - - - - - ஒழுங்கு - - - படுத்து - - diff --git a/images/ta/pen/setpensize.svg b/images/ta/pen/setpensize.svg deleted file mode 100644 index 32cf1c0..0000000 --- a/images/ta/pen/setpensize.svg +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - பேனையின் - - - அளவினை - - - ஒழுங்குபடுத்து - - diff --git a/images/ta/pen/setshade.svg b/images/ta/pen/setshade.svg deleted file mode 100644 index 67d09c6..0000000 --- a/images/ta/pen/setshade.svg +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - நிழலை - - - ஒழுங்கு - - - படுத்து - - diff --git a/images/ta/pen/settextcolor.svg b/images/ta/pen/settextcolor.svg deleted file mode 100644 index fb6b516..0000000 --- a/images/ta/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - உரைக்கான - - - நிறத்தை - - - தெரிவு செய் - - diff --git a/images/ta/pen/settextsize.svg b/images/ta/pen/settextsize.svg deleted file mode 100644 index ffdbea7..0000000 --- a/images/ta/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - set - - - text - - - size - - diff --git a/images/ta/pen/shade.svg b/images/ta/pen/shade.svg deleted file mode 100644 index 669cb10..0000000 --- a/images/ta/pen/shade.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - நிழல் - - - \ No newline at end of file diff --git a/images/ta/pen/textcolor.svg b/images/ta/pen/textcolor.svg deleted file mode 100644 index 5caa607..0000000 --- a/images/ta/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - text color - - - \ No newline at end of file diff --git a/images/ta/pen/textsize.svg b/images/ta/pen/textsize.svg deleted file mode 100644 index fe05d99..0000000 --- a/images/ta/pen/textsize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - text size - - - \ No newline at end of file diff --git a/images/ta/pen/yellow.svg b/images/ta/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/ta/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/ta/sensors/bottompos.svg b/images/ta/sensors/bottompos.svg deleted file mode 100644 index 83dd977..0000000 --- a/images/ta/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bottom - - diff --git a/images/ta/sensors/clearheap.svg b/images/ta/sensors/clearheap.svg deleted file mode 100644 index 35973e2..0000000 --- a/images/ta/sensors/clearheap.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - வெற்றுக்குவியல் - - diff --git a/images/ta/sensors/hres.svg b/images/ta/sensors/hres.svg deleted file mode 100644 index 28fa104..0000000 --- a/images/ta/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - அகலம் - - diff --git a/images/ta/sensors/kbinput.svg b/images/ta/sensors/kbinput.svg deleted file mode 100644 index 83fb553..0000000 --- a/images/ta/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - சாவியை - - - வாசி - - diff --git a/images/ta/sensors/keyboard.svg b/images/ta/sensors/keyboard.svg deleted file mode 100644 index 6054ae8..0000000 --- a/images/ta/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - விசைப்பலகை - - diff --git a/images/ta/sensors/leftpos.svg b/images/ta/sensors/leftpos.svg deleted file mode 100644 index 9d3358b..0000000 --- a/images/ta/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - இடது - - diff --git a/images/ta/sensors/myfunc.svg b/images/ta/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/ta/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/sensors/nop-loaded.svg b/images/ta/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/ta/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/sensors/nop.svg b/images/ta/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/ta/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/sensors/pop.svg b/images/ta/sensors/pop.svg deleted file mode 100644 index fe90ad9..0000000 --- a/images/ta/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - வரல் - - diff --git a/images/ta/sensors/printheap.svg b/images/ta/sensors/printheap.svg deleted file mode 100644 index 95cadfc..0000000 --- a/images/ta/sensors/printheap.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - குவியலைக்காட்டு - - diff --git a/images/ta/sensors/push.svg b/images/ta/sensors/push.svg deleted file mode 100644 index cee5c40..0000000 --- a/images/ta/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - தள்ளு - - diff --git a/images/ta/sensors/rightpos.svg b/images/ta/sensors/rightpos.svg deleted file mode 100644 index 106b0d6..0000000 --- a/images/ta/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - வலது - - diff --git a/images/ta/sensors/sensorsgroup.svg b/images/ta/sensors/sensorsgroup.svg deleted file mode 100644 index ccab8f6..0000000 --- a/images/ta/sensors/sensorsgroup.svg +++ /dev/null @@ -1,520 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Extras - - - - சாவியை - - - வாசி - - - - extras - - - - - அகலம் - - - - - - உயரம் - - - - - - - - - - x - - - - - - - வரல் - - - - - - - குவியலைக்காட்டு - - - - - - வெற்றுக்குவியல் - - - - - - - - தள்ளு - - - - - - - - - இடது - - - - - - top - - - - - - வலது - - - - - - bottom - - - diff --git a/images/ta/sensors/toppos.svg b/images/ta/sensors/toppos.svg deleted file mode 100644 index 43391e8..0000000 --- a/images/ta/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - top - - diff --git a/images/ta/sensors/vres.svg b/images/ta/sensors/vres.svg deleted file mode 100644 index b22c406..0000000 --- a/images/ta/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - உயரம் - - diff --git a/images/ta/templates/audiooff.svg b/images/ta/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/ta/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/templates/descriptionoff.svg b/images/ta/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/ta/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/ta/templates/hideblocks.svg b/images/ta/templates/hideblocks.svg deleted file mode 100644 index 074a1bd..0000000 --- a/images/ta/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - மறைந்துள்ள - - - தொகுதி - - diff --git a/images/ta/templates/journal.svg b/images/ta/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/ta/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/templates/sound.svg b/images/ta/templates/sound.svg deleted file mode 100644 index 768649f..0000000 --- a/images/ta/templates/sound.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - சத்தம் - - - \ No newline at end of file diff --git a/images/ta/templates/template1.svg b/images/ta/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/ta/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/templates/template2.svg b/images/ta/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/ta/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/templates/template3.svg b/images/ta/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/ta/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/templates/template4.svg b/images/ta/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/ta/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/templates/template6.svg b/images/ta/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/ta/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/templates/template7.svg b/images/ta/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/ta/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/templates/templatesgroup.svg b/images/ta/templates/templatesgroup.svg deleted file mode 100644 index 15bfe19..0000000 --- a/images/ta/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - தூண்டு - - - - மறைந்துள்ள - - - தொகுதி - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/ta/turtle/arc.svg b/images/ta/turtle/arc.svg deleted file mode 100644 index 25227e1..0000000 --- a/images/ta/turtle/arc.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - வில் - - கோணம் - - குறை - - \ No newline at end of file diff --git a/images/ta/turtle/back.svg b/images/ta/turtle/back.svg deleted file mode 100644 index a5f03a2..0000000 --- a/images/ta/turtle/back.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - பின்னால் - - - \ No newline at end of file diff --git a/images/ta/turtle/clean.svg b/images/ta/turtle/clean.svg deleted file mode 100644 index 51b0fd5..0000000 --- a/images/ta/turtle/clean.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - சுத்தம் - - diff --git a/images/ta/turtle/container.svg b/images/ta/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/ta/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/ta/turtle/forward.svg b/images/ta/turtle/forward.svg deleted file mode 100644 index 709a934..0000000 --- a/images/ta/turtle/forward.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - முன்னோக்கி - - - அனுப்பு - - - diff --git a/images/ta/turtle/heading.svg b/images/ta/turtle/heading.svg deleted file mode 100644 index 8b8f7fe..0000000 --- a/images/ta/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - தலைப்பு - - diff --git a/images/ta/turtle/image.svg b/images/ta/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/ta/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/ta/turtle/left.svg b/images/ta/turtle/left.svg deleted file mode 100644 index 9a2c81c..0000000 --- a/images/ta/turtle/left.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - இடது - - - \ No newline at end of file diff --git a/images/ta/turtle/right.svg b/images/ta/turtle/right.svg deleted file mode 100644 index da8d9aa..0000000 --- a/images/ta/turtle/right.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - வலது - - - \ No newline at end of file diff --git a/images/ta/turtle/scale.svg b/images/ta/turtle/scale.svg deleted file mode 100644 index 5432d96..0000000 --- a/images/ta/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - scale - - diff --git a/images/ta/turtle/seth.svg b/images/ta/turtle/seth.svg deleted file mode 100644 index 4ca6ecf..0000000 --- a/images/ta/turtle/seth.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - தலைப்பை - - - ஒழுங்கு - - - diff --git a/images/ta/turtle/setscale.svg b/images/ta/turtle/setscale.svg deleted file mode 100644 index cf94653..0000000 --- a/images/ta/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - set - - - scale - - - \ No newline at end of file diff --git a/images/ta/turtle/setxy.svg b/images/ta/turtle/setxy.svg deleted file mode 100644 index 1c542a3..0000000 --- a/images/ta/turtle/setxy.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - ஒழுங்கு - - படுத்துக - - எக்ஸ் - - y - - diff --git a/images/ta/turtle/show.svg b/images/ta/turtle/show.svg deleted file mode 100644 index 38b6cac..0000000 --- a/images/ta/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - show - - - \ No newline at end of file diff --git a/images/ta/turtle/turtlegroup.svg b/images/ta/turtle/turtlegroup.svg deleted file mode 100644 index 84a71cc..0000000 --- a/images/ta/turtle/turtlegroup.svg +++ /dev/null @@ -1,896 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - சுத்தம் - - - - - - முன்னோக்கி - - - அனுப்பு - - - - - - பின்னால் - - - - - - இடது - - - - - - வலது - - - - - - - - வில் - - - கோணம் - குறை - - - - - - - - ஒழுங்கு - - - செய் - - - எக்ஸ் - y - - - - - - தலைப்பை - - - ஒழுங்கு செய் - - - - எக்ஸ் - - - - வை கோ - - - - தலைப்பு - - - ஆமை - - - - - - - - - - - - show - - - - - - set - - - scale - - - - - - - - - - - - show - - - diff --git a/images/ta/turtle/write.svg b/images/ta/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/ta/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/ta/turtle/xcor.svg b/images/ta/turtle/xcor.svg deleted file mode 100644 index f7de79e..0000000 --- a/images/ta/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - xcor - - diff --git a/images/ta/turtle/ycor.svg b/images/ta/turtle/ycor.svg deleted file mode 100644 index e8ef6c0..0000000 --- a/images/ta/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - வை கோ - - diff --git a/images/templatesmask.png b/images/templatesmask.png deleted file mode 100644 index 1eda7e2..0000000 --- a/images/templatesmask.png +++ /dev/null Binary files differ diff --git a/images/texton.svg b/images/texton.svg deleted file mode 100644 index 5e731b3..0000000 --- a/images/texton.svg +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/flow/flowgroup.svg b/images/tr/flow/flowgroup.svg deleted file mode 100644 index f089680..0000000 --- a/images/tr/flow/flowgroup.svg +++ /dev/null @@ -1,320 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Akiş - - - - - - - - - bekle - - - - sürekli - - - - tekrarla - - - - eğer - - - sonra - - - - yığın'ı - - - durdur - - - - eğer - - - sonra - - - voska - - - - diff --git a/images/tr/flow/forever.svg b/images/tr/flow/forever.svg deleted file mode 100644 index 0cea7ec..0000000 --- a/images/tr/flow/forever.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - sürekli - diff --git a/images/tr/flow/hspace.svg b/images/tr/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/tr/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/tr/flow/if.svg b/images/tr/flow/if.svg deleted file mode 100644 index 14a335e..0000000 --- a/images/tr/flow/if.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - eğer - - sonra - diff --git a/images/tr/flow/ifelse.svg b/images/tr/flow/ifelse.svg deleted file mode 100644 index ae21d9e..0000000 --- a/images/tr/flow/ifelse.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - eğer - - sonra - - voska - diff --git a/images/tr/flow/lock.svg b/images/tr/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/tr/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/flow/repeat.svg b/images/tr/flow/repeat.svg deleted file mode 100644 index 10d9a16..0000000 --- a/images/tr/flow/repeat.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - tekrarla - diff --git a/images/tr/flow/stopstack.svg b/images/tr/flow/stopstack.svg deleted file mode 100644 index 2c42858..0000000 --- a/images/tr/flow/stopstack.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - yığın'ıdurdur - diff --git a/images/tr/flow/vspace.svg b/images/tr/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/tr/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/tr/flow/wait.svg b/images/tr/flow/wait.svg deleted file mode 100644 index d2ada70..0000000 --- a/images/tr/flow/wait.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - bekle - - diff --git a/images/tr/myblocks/box.svg b/images/tr/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/tr/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/myblocks/box1.svg b/images/tr/myblocks/box1.svg deleted file mode 100644 index 0cf1a0c..0000000 --- a/images/tr/myblocks/box1.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - kutu1 - - diff --git a/images/tr/myblocks/box2.svg b/images/tr/myblocks/box2.svg deleted file mode 100644 index 92b5a3e..0000000 --- a/images/tr/myblocks/box2.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - kutu2 - - diff --git a/images/tr/myblocks/hat.svg b/images/tr/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/tr/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/myblocks/hat1.svg b/images/tr/myblocks/hat1.svg deleted file mode 100644 index 3e3948e..0000000 --- a/images/tr/myblocks/hat1.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - yığın1 - - diff --git a/images/tr/myblocks/hat2.svg b/images/tr/myblocks/hat2.svg deleted file mode 100644 index 6df5fce..0000000 --- a/images/tr/myblocks/hat2.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - yığın2 - - diff --git a/images/tr/myblocks/myblocksgroup.svg b/images/tr/myblocks/myblocksgroup.svg deleted file mode 100644 index 152ab40..0000000 --- a/images/tr/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,564 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Parçalar - - - - yığın 1 - - - - yığın 1 - - - - yığın 2 - - - - yığın 2 - - - - - - - - kutu - - - 1 - - - de sakla - - - - kutu 1 - - - - - - - - kutu - - - 1 - - - de sakla - - - - kutu 2 - - - - - - - - - - name - - - - - - start - - diff --git a/images/tr/myblocks/stack.svg b/images/tr/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/tr/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/myblocks/stack1.svg b/images/tr/myblocks/stack1.svg deleted file mode 100644 index db79ecf..0000000 --- a/images/tr/myblocks/stack1.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - yığın1 - - diff --git a/images/tr/myblocks/stack2.svg b/images/tr/myblocks/stack2.svg deleted file mode 100644 index 0d40879..0000000 --- a/images/tr/myblocks/stack2.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - yığın2 - - diff --git a/images/tr/myblocks/start.svg b/images/tr/myblocks/start.svg deleted file mode 100644 index b444b08..0000000 --- a/images/tr/myblocks/start.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - start - - diff --git a/images/tr/myblocks/storein.svg b/images/tr/myblocks/storein.svg deleted file mode 100644 index f72f1c4..0000000 --- a/images/tr/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - de sakla - - diff --git a/images/tr/myblocks/storeinbox.svg b/images/tr/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/tr/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/myblocks/storeinbox1.svg b/images/tr/myblocks/storeinbox1.svg deleted file mode 100644 index 9bf92ca..0000000 --- a/images/tr/myblocks/storeinbox1.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - kutu1 - - - de - - - sakla - - diff --git a/images/tr/myblocks/storeinbox2.svg b/images/tr/myblocks/storeinbox2.svg deleted file mode 100644 index 73cbeb5..0000000 --- a/images/tr/myblocks/storeinbox2.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - kutu2 - - - de - - - sakla - - diff --git a/images/tr/myblocks/string.svg b/images/tr/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/tr/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/tr/numbers/and.svg b/images/tr/numbers/and.svg deleted file mode 100644 index 89b81b9..0000000 --- a/images/tr/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - ve - diff --git a/images/tr/numbers/division.svg b/images/tr/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/tr/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/tr/numbers/division2.svg b/images/tr/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/tr/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/tr/numbers/equal.svg b/images/tr/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/tr/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/tr/numbers/greater.svg b/images/tr/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/tr/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/tr/numbers/identity.svg b/images/tr/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/tr/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/numbers/identity2.svg b/images/tr/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/tr/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/numbers/less.svg b/images/tr/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/tr/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/tr/numbers/minus.svg b/images/tr/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/tr/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/tr/numbers/minus2.svg b/images/tr/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/tr/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/numbers/not.svg b/images/tr/numbers/not.svg deleted file mode 100644 index 23ac437..0000000 --- a/images/tr/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - değil - diff --git a/images/tr/numbers/number.svg b/images/tr/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/tr/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/tr/numbers/numbersgroup.svg b/images/tr/numbers/numbersgroup.svg deleted file mode 100644 index 172b3c2..0000000 --- a/images/tr/numbers/numbersgroup.svg +++ /dev/null @@ -1,760 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Sayılar - - - - - - - - - - - - - - - - - - - - - - rastgele - - - - - - = - - - - - - < - - - - - - > - - - - ve - - - - veya - - - - değil - - - - - - yazdir - - - sayı - - - enaz - - - en çok - - - - - - + - - - - x - - - - - - - - / - - - - mod - - diff --git a/images/tr/numbers/or.svg b/images/tr/numbers/or.svg deleted file mode 100644 index d2cefc6..0000000 --- a/images/tr/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - veya - diff --git a/images/tr/numbers/plus.svg b/images/tr/numbers/plus.svg deleted file mode 100644 index f271826..0000000 --- a/images/tr/numbers/plus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - + - diff --git a/images/tr/numbers/plus2.svg b/images/tr/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/tr/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/tr/numbers/print.svg b/images/tr/numbers/print.svg deleted file mode 100644 index 3826f0a..0000000 --- a/images/tr/numbers/print.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - yazdir - - diff --git a/images/tr/numbers/product.svg b/images/tr/numbers/product.svg deleted file mode 100644 index 28eda4b..0000000 --- a/images/tr/numbers/product.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - × - diff --git a/images/tr/numbers/product2.svg b/images/tr/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/tr/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/tr/numbers/random.svg b/images/tr/numbers/random.svg deleted file mode 100644 index 5cce50c..0000000 --- a/images/tr/numbers/random.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - rastgele - diff --git a/images/tr/numbers/remainder.svg b/images/tr/numbers/remainder.svg deleted file mode 100644 index d7efdf9..0000000 --- a/images/tr/numbers/remainder.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - mod - diff --git a/images/tr/numbers/remainder2.svg b/images/tr/numbers/remainder2.svg deleted file mode 100644 index 585d9ec..0000000 --- a/images/tr/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - mod - - diff --git a/images/tr/numbers/sqrt.svg b/images/tr/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/tr/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/tr/pen/blue.svg b/images/tr/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/tr/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/tr/pen/color.svg b/images/tr/pen/color.svg deleted file mode 100644 index 6cce7e8..0000000 --- a/images/tr/pen/color.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - renk - - diff --git a/images/tr/pen/cyan.svg b/images/tr/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/tr/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/tr/pen/fillscreen.svg b/images/tr/pen/fillscreen.svg deleted file mode 100644 index ef9628a..0000000 --- a/images/tr/pen/fillscreen.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - ekraıdoldur - - renk - - gölge - diff --git a/images/tr/pen/green.svg b/images/tr/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/tr/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/tr/pen/orange.svg b/images/tr/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/tr/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/tr/pen/pendown.svg b/images/tr/pen/pendown.svg deleted file mode 100644 index bb33f71..0000000 --- a/images/tr/pen/pendown.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - kk - - diff --git a/images/tr/pen/pengroup.svg b/images/tr/pen/pengroup.svg deleted file mode 100644 index 1b64fa7..0000000 --- a/images/tr/pen/pengroup.svg +++ /dev/null @@ -1,782 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Kalem - - - - kb - - - - - - - kk - - - - - - - - - kalem - - - boyu - - - ayan - - - - - - - renk - - - ayarı - - - - - - - - gölge - - - ayarı - - - - - - - - - - ekranı - - - doldur - - - renk - - - gölge - - - - - - kalem boyu - - - - - - metin boyu - - - - - - renk - - - - - - - - metin - - - boyu - - - ayan - - - - - - gölge - - - - - - - - - - - - - - diff --git a/images/tr/pen/pensize.svg b/images/tr/pen/pensize.svg deleted file mode 100644 index 25f7c67..0000000 --- a/images/tr/pen/pensize.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - kalem boyu - - diff --git a/images/tr/pen/penup.svg b/images/tr/pen/penup.svg deleted file mode 100644 index 2377f99..0000000 --- a/images/tr/pen/penup.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - kb - - diff --git a/images/tr/pen/purple.svg b/images/tr/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/tr/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/tr/pen/red.svg b/images/tr/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/tr/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/tr/pen/setcolor.svg b/images/tr/pen/setcolor.svg deleted file mode 100644 index 61876e7..0000000 --- a/images/tr/pen/setcolor.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - renk - - - ayarı - - diff --git a/images/tr/pen/setpensize.svg b/images/tr/pen/setpensize.svg deleted file mode 100644 index dab4673..0000000 --- a/images/tr/pen/setpensize.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - kalem - - - boyu - - - ayan - - diff --git a/images/tr/pen/setshade.svg b/images/tr/pen/setshade.svg deleted file mode 100644 index e5ff09f..0000000 --- a/images/tr/pen/setshade.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - gölge - - - ayarı - - diff --git a/images/tr/pen/settextcolor.svg b/images/tr/pen/settextcolor.svg deleted file mode 100644 index 7a01ea1..0000000 --- a/images/tr/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - metin - - - renk - - - ayarı - - diff --git a/images/tr/pen/settextsize.svg b/images/tr/pen/settextsize.svg deleted file mode 100644 index eb68cfd..0000000 --- a/images/tr/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - metin - - - boyu - - - ayarı - - diff --git a/images/tr/pen/shade.svg b/images/tr/pen/shade.svg deleted file mode 100644 index d6a6144..0000000 --- a/images/tr/pen/shade.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - gölge - - diff --git a/images/tr/pen/textcolor.svg b/images/tr/pen/textcolor.svg deleted file mode 100644 index 9cadaf4..0000000 --- a/images/tr/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - metin renk - - - diff --git a/images/tr/pen/textsize.svg b/images/tr/pen/textsize.svg deleted file mode 100644 index 41396a4..0000000 --- a/images/tr/pen/textsize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - metin boyu - - - diff --git a/images/tr/pen/yellow.svg b/images/tr/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/tr/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/tr/sensors/bottompos.svg b/images/tr/sensors/bottompos.svg deleted file mode 100644 index acf79cb..0000000 --- a/images/tr/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bottom - - diff --git a/images/tr/sensors/clearheap.svg b/images/tr/sensors/clearheap.svg deleted file mode 100644 index f277b41..0000000 --- a/images/tr/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - clear - - - heap - - diff --git a/images/tr/sensors/hres.svg b/images/tr/sensors/hres.svg deleted file mode 100644 index 630111c..0000000 --- a/images/tr/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - hres - - diff --git a/images/tr/sensors/kbinput.svg b/images/tr/sensors/kbinput.svg deleted file mode 100644 index 1ffc165..0000000 --- a/images/tr/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - query - - - kb - - diff --git a/images/tr/sensors/keyboard.svg b/images/tr/sensors/keyboard.svg deleted file mode 100644 index bb09552..0000000 --- a/images/tr/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - keyboard - - diff --git a/images/tr/sensors/leftpos.svg b/images/tr/sensors/leftpos.svg deleted file mode 100644 index 4c7702e..0000000 --- a/images/tr/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - sol - - diff --git a/images/tr/sensors/myfunc.svg b/images/tr/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/tr/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/sensors/nop-loaded.svg b/images/tr/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/tr/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/sensors/nop.svg b/images/tr/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/tr/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/sensors/pop.svg b/images/tr/sensors/pop.svg deleted file mode 100644 index 568fcd9..0000000 --- a/images/tr/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - pop - - diff --git a/images/tr/sensors/printheap.svg b/images/tr/sensors/printheap.svg deleted file mode 100644 index 026631e..0000000 --- a/images/tr/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - show - - - heap - - diff --git a/images/tr/sensors/push.svg b/images/tr/sensors/push.svg deleted file mode 100644 index 9683008..0000000 --- a/images/tr/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - push - - diff --git a/images/tr/sensors/rightpos.svg b/images/tr/sensors/rightpos.svg deleted file mode 100644 index d77fe33..0000000 --- a/images/tr/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - sağ - - diff --git a/images/tr/sensors/sensorsgroup.svg b/images/tr/sensors/sensorsgroup.svg deleted file mode 100644 index 8745ac7..0000000 --- a/images/tr/sensors/sensorsgroup.svg +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Keyboard - - - - read - - - key - - - - keyboard - - - - - hres - - - - - - vres - - - - - - - - - - x - - - - - - - pop - - - - - - - show - - - heap - - - - - - empty - - - heap - - - - - - - - push - - - - - - diff --git a/images/tr/sensors/toppos.svg b/images/tr/sensors/toppos.svg deleted file mode 100644 index 7b9e287..0000000 --- a/images/tr/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - top - - diff --git a/images/tr/sensors/vres.svg b/images/tr/sensors/vres.svg deleted file mode 100644 index cd25565..0000000 --- a/images/tr/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - vres - - diff --git a/images/tr/templates/audiooff.svg b/images/tr/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/tr/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/templates/descriptionoff.svg b/images/tr/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/tr/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/tr/templates/hideblocks.svg b/images/tr/templates/hideblocks.svg deleted file mode 100644 index 312c78b..0000000 --- a/images/tr/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - hide - - - blocks - - diff --git a/images/tr/templates/journal.svg b/images/tr/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/tr/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/templates/sound.svg b/images/tr/templates/sound.svg deleted file mode 100644 index 89e3696..0000000 --- a/images/tr/templates/sound.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sound - - diff --git a/images/tr/templates/template1.svg b/images/tr/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/tr/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/templates/template2.svg b/images/tr/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/tr/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/templates/template3.svg b/images/tr/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/tr/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/templates/template4.svg b/images/tr/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/tr/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/templates/template6.svg b/images/tr/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/tr/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/templates/template7.svg b/images/tr/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/tr/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/templates/templatesgroup.svg b/images/tr/templates/templatesgroup.svg deleted file mode 100644 index 603091d..0000000 --- a/images/tr/templates/templatesgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Templates - - - - hide - - - blocks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/tr/turtle/arc.svg b/images/tr/turtle/arc.svg deleted file mode 100644 index 3027a77..0000000 --- a/images/tr/turtle/arc.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - yay - - açı - - yarıçap - diff --git a/images/tr/turtle/back.svg b/images/tr/turtle/back.svg deleted file mode 100644 index 5a88b16..0000000 --- a/images/tr/turtle/back.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - geri - - diff --git a/images/tr/turtle/clean.svg b/images/tr/turtle/clean.svg deleted file mode 100644 index a335656..0000000 --- a/images/tr/turtle/clean.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - temizle - - diff --git a/images/tr/turtle/container.svg b/images/tr/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/tr/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/tr/turtle/forward.svg b/images/tr/turtle/forward.svg deleted file mode 100644 index 6af5a24..0000000 --- a/images/tr/turtle/forward.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - ileri - - diff --git a/images/tr/turtle/heading.svg b/images/tr/turtle/heading.svg deleted file mode 100644 index c9c0a47..0000000 --- a/images/tr/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - başlık - - diff --git a/images/tr/turtle/image.svg b/images/tr/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/tr/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/tr/turtle/left.svg b/images/tr/turtle/left.svg deleted file mode 100644 index 82970b9..0000000 --- a/images/tr/turtle/left.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - sol - - diff --git a/images/tr/turtle/right.svg b/images/tr/turtle/right.svg deleted file mode 100644 index 176068e..0000000 --- a/images/tr/turtle/right.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - sağ - - diff --git a/images/tr/turtle/scale.svg b/images/tr/turtle/scale.svg deleted file mode 100644 index 5432d96..0000000 --- a/images/tr/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - scale - - diff --git a/images/tr/turtle/seth.svg b/images/tr/turtle/seth.svg deleted file mode 100644 index 10167aa..0000000 --- a/images/tr/turtle/seth.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - başlık - - - ayarı - - diff --git a/images/tr/turtle/setscale.svg b/images/tr/turtle/setscale.svg deleted file mode 100644 index 8af87ce..0000000 --- a/images/tr/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - boyu - - - ayarı - - - diff --git a/images/tr/turtle/setxy.svg b/images/tr/turtle/setxy.svg deleted file mode 100644 index 78ad72e..0000000 --- a/images/tr/turtle/setxy.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - eksen - - ayarla - - x - - y - diff --git a/images/tr/turtle/show.svg b/images/tr/turtle/show.svg deleted file mode 100644 index 38b6cac..0000000 --- a/images/tr/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - show - - - \ No newline at end of file diff --git a/images/tr/turtle/turtlegroup.svg b/images/tr/turtle/turtlegroup.svg deleted file mode 100644 index a440ea3..0000000 --- a/images/tr/turtle/turtlegroup.svg +++ /dev/null @@ -1,892 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - temizle - - - - - - ileri - - - - - - geri - - - - - - sol - - - - - - sağ - - - - - - - - yay - - - açı - yarıçap - - - - - - - - eksen - - - ayarla - - - - x - y - - - - - - başlık - - - ayarı - - - - - x ekseni - - - - y ekseni - - - - başlık - - - Turtle - - - - - - - - - - - - - show - - - - - - - boyu - - - ayarı - - - - - - - - - - - - - - - show - - - - diff --git a/images/tr/turtle/write.svg b/images/tr/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/tr/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/tr/turtle/xcor.svg b/images/tr/turtle/xcor.svg deleted file mode 100644 index 7cf0ff6..0000000 --- a/images/tr/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - x ekseni - - diff --git a/images/tr/turtle/ycor.svg b/images/tr/turtle/ycor.svg deleted file mode 100644 index 31bab09..0000000 --- a/images/tr/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - y ekseni - - diff --git a/images/turtlemask.png b/images/turtlemask.png deleted file mode 100644 index 0da7839..0000000 --- a/images/turtlemask.png +++ /dev/null Binary files differ diff --git a/images/vi/flow/flowgroup.svg b/images/vi/flow/flowgroup.svg deleted file mode 100644 index d28a4c7..0000000 --- a/images/vi/flow/flowgroup.svg +++ /dev/null @@ -1,344 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Chảy - - - - - - - - - đợi - - - - hẳn - - - - lặp lại - - - - nếu - - - thì - - - - dừng - - - hành vi - - - - nếu - - - thì - - - không thì - - - - diff --git a/images/vi/flow/forever.svg b/images/vi/flow/forever.svg deleted file mode 100644 index dccc27c..0000000 --- a/images/vi/flow/forever.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - hẳn - diff --git a/images/vi/flow/hspace.svg b/images/vi/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/vi/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/vi/flow/if.svg b/images/vi/flow/if.svg deleted file mode 100644 index c632ec6..0000000 --- a/images/vi/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - nếu - - thì - diff --git a/images/vi/flow/ifelse.svg b/images/vi/flow/ifelse.svg deleted file mode 100644 index 593958c..0000000 --- a/images/vi/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - nếu - - thì - - không thì - \ No newline at end of file diff --git a/images/vi/flow/lock.svg b/images/vi/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/vi/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/flow/repeat.svg b/images/vi/flow/repeat.svg deleted file mode 100644 index 693ba88..0000000 --- a/images/vi/flow/repeat.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - lặp lại - diff --git a/images/vi/flow/stopstack.svg b/images/vi/flow/stopstack.svg deleted file mode 100644 index c7adb01..0000000 --- a/images/vi/flow/stopstack.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - dừng - - - hành vi - - diff --git a/images/vi/flow/vspace.svg b/images/vi/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/vi/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/vi/flow/wait.svg b/images/vi/flow/wait.svg deleted file mode 100644 index cefdeae..0000000 --- a/images/vi/flow/wait.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - đợi - - diff --git a/images/vi/myblocks/box.svg b/images/vi/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/vi/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/myblocks/box1.svg b/images/vi/myblocks/box1.svg deleted file mode 100644 index ebf2b78..0000000 --- a/images/vi/myblocks/box1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - hộp 1 - - - \ No newline at end of file diff --git a/images/vi/myblocks/box2.svg b/images/vi/myblocks/box2.svg deleted file mode 100644 index 26b71c4..0000000 --- a/images/vi/myblocks/box2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - hộp 2 - - - \ No newline at end of file diff --git a/images/vi/myblocks/hat.svg b/images/vi/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/vi/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/myblocks/hat1.svg b/images/vi/myblocks/hat1.svg deleted file mode 100644 index 490c4e9..0000000 --- a/images/vi/myblocks/hat1.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - đống 1 - - - \ No newline at end of file diff --git a/images/vi/myblocks/hat2.svg b/images/vi/myblocks/hat2.svg deleted file mode 100644 index 2b214bb..0000000 --- a/images/vi/myblocks/hat2.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - đống 2 - - - \ No newline at end of file diff --git a/images/vi/myblocks/myblocksgroup.svg b/images/vi/myblocks/myblocksgroup.svg deleted file mode 100644 index 802efc2..0000000 --- a/images/vi/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,871 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Khối của mình - - - - đống 1 - - - - đống 1 - - - - - đống 2 - - - - - - - - lưu - - - vào - - - hộp 1 - - - - hộp 1 - - - - - - - - lưu - - - vào - - - hộp 2 - - - - hộp 2 - - - - - - tên - - - - - - đầu - - - - - - - - - - lưu vào - - - - đống 2 - - - đống - - - đống - - - hộp - - - hộp - - diff --git a/images/vi/myblocks/stack.svg b/images/vi/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/vi/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/myblocks/stack1.svg b/images/vi/myblocks/stack1.svg deleted file mode 100644 index bed175d..0000000 --- a/images/vi/myblocks/stack1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - đống 1 - - diff --git a/images/vi/myblocks/stack2.svg b/images/vi/myblocks/stack2.svg deleted file mode 100644 index ce4afdc..0000000 --- a/images/vi/myblocks/stack2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - đống 2 - - diff --git a/images/vi/myblocks/start.svg b/images/vi/myblocks/start.svg deleted file mode 100644 index df79db7..0000000 --- a/images/vi/myblocks/start.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - đầu - - - diff --git a/images/vi/myblocks/storein.svg b/images/vi/myblocks/storein.svg deleted file mode 100644 index 2bf932a..0000000 --- a/images/vi/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lưu vào - - diff --git a/images/vi/myblocks/storeinbox.svg b/images/vi/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/vi/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/myblocks/storeinbox1.svg b/images/vi/myblocks/storeinbox1.svg deleted file mode 100644 index 3d8228e..0000000 --- a/images/vi/myblocks/storeinbox1.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - lưu - - - vào - - - hộp 1 - - diff --git a/images/vi/myblocks/storeinbox2.svg b/images/vi/myblocks/storeinbox2.svg deleted file mode 100644 index 05d56f1..0000000 --- a/images/vi/myblocks/storeinbox2.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - lưu - - - vào - - - hộp 2 - - diff --git a/images/vi/myblocks/string.svg b/images/vi/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/vi/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/vi/numbers/and.svg b/images/vi/numbers/and.svg deleted file mode 100644 index 8d15421..0000000 --- a/images/vi/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/vi/numbers/division.svg b/images/vi/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/vi/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/vi/numbers/division2.svg b/images/vi/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/vi/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/vi/numbers/equal.svg b/images/vi/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/vi/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/vi/numbers/greater.svg b/images/vi/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/vi/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/vi/numbers/identity.svg b/images/vi/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/vi/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/numbers/identity2.svg b/images/vi/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/vi/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/numbers/less.svg b/images/vi/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/vi/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/vi/numbers/minus.svg b/images/vi/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/vi/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/vi/numbers/minus2.svg b/images/vi/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/vi/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/numbers/not.svg b/images/vi/numbers/not.svg deleted file mode 100644 index b49f988..0000000 --- a/images/vi/numbers/not.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - không - - - phải - - diff --git a/images/vi/numbers/number.svg b/images/vi/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/vi/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/vi/numbers/numbersgroup.svg b/images/vi/numbers/numbersgroup.svg deleted file mode 100644 index 1b4ac3e..0000000 --- a/images/vi/numbers/numbersgroup.svg +++ /dev/null @@ -1,770 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Số - - - - - - - - - - - - - - - - - - - - - - ngẫu nhiên - - - - - - = - - - - - - < - - - - - - > - - - - - - - - hoặc - - - - phải - - - - - - in - - - số - - - tiểu - - - đại - - - - - - + - - - - x - - - - - - - - / - - - - sửa - - - không - - diff --git a/images/vi/numbers/or.svg b/images/vi/numbers/or.svg deleted file mode 100644 index 1ab73bf..0000000 --- a/images/vi/numbers/or.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - hoặc - - diff --git a/images/vi/numbers/plus.svg b/images/vi/numbers/plus.svg deleted file mode 100644 index ff30535..0000000 --- a/images/vi/numbers/plus.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - + - diff --git a/images/vi/numbers/plus2.svg b/images/vi/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/vi/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/vi/numbers/print.svg b/images/vi/numbers/print.svg deleted file mode 100644 index 675fd28..0000000 --- a/images/vi/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - in - - diff --git a/images/vi/numbers/product.svg b/images/vi/numbers/product.svg deleted file mode 100644 index 576934b..0000000 --- a/images/vi/numbers/product.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - × - diff --git a/images/vi/numbers/product2.svg b/images/vi/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/vi/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/vi/numbers/random.svg b/images/vi/numbers/random.svg deleted file mode 100644 index 65c20f7..0000000 --- a/images/vi/numbers/random.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - ngẫu nhiên - - \ No newline at end of file diff --git a/images/vi/numbers/remainder.svg b/images/vi/numbers/remainder.svg deleted file mode 100644 index c8ced30..0000000 --- a/images/vi/numbers/remainder.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - sửa - diff --git a/images/vi/numbers/remainder2.svg b/images/vi/numbers/remainder2.svg deleted file mode 100644 index 6dde680..0000000 --- a/images/vi/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - sửa - - diff --git a/images/vi/numbers/sqrt.svg b/images/vi/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/vi/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/vi/pen/blue.svg b/images/vi/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/vi/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/vi/pen/color.svg b/images/vi/pen/color.svg deleted file mode 100644 index 4b12e00..0000000 --- a/images/vi/pen/color.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - màu - - - \ No newline at end of file diff --git a/images/vi/pen/cyan.svg b/images/vi/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/vi/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/vi/pen/fillscreen.svg b/images/vi/pen/fillscreen.svg deleted file mode 100644 index 9049917..0000000 --- a/images/vi/pen/fillscreen.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - toàn - màn hình - - - màu - - - sắc màu - - diff --git a/images/vi/pen/green.svg b/images/vi/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/vi/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/vi/pen/orange.svg b/images/vi/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/vi/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/vi/pen/pendown.svg b/images/vi/pen/pendown.svg deleted file mode 100644 index 15a2c62..0000000 --- a/images/vi/pen/pendown.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - bút - - - xuống - - - \ No newline at end of file diff --git a/images/vi/pen/pengroup.svg b/images/vi/pen/pengroup.svg deleted file mode 100644 index 2fc2763..0000000 --- a/images/vi/pen/pengroup.svg +++ /dev/null @@ -1,784 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Bút - - - - bút - - - lên - - - - bút - - - xuống - - - - - - đặt - - - kích - - - cỡ bút - - - - - - - đặt - - - màu - - - - - - - - đặt - - - sắc màu - - - - - - - - - - toàn - - - màn hình - - - màu - - - sắc màu - - - - - - kích cỡ bút - - - - - - kích cỡ chữ - - - - - - màu - - - - - - - - đặt - - - kích - - - cỡ chữ - - - - - - sắc màu - - - - - - - - - - - - - - diff --git a/images/vi/pen/pensize.svg b/images/vi/pen/pensize.svg deleted file mode 100644 index c951ec9..0000000 --- a/images/vi/pen/pensize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - kích cỡ bút - - - \ No newline at end of file diff --git a/images/vi/pen/penup.svg b/images/vi/pen/penup.svg deleted file mode 100644 index fb38b52..0000000 --- a/images/vi/pen/penup.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - bút - - - lên - - - \ No newline at end of file diff --git a/images/vi/pen/purple.svg b/images/vi/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/vi/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/vi/pen/red.svg b/images/vi/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/vi/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/vi/pen/setcolor.svg b/images/vi/pen/setcolor.svg deleted file mode 100644 index 3932310..0000000 --- a/images/vi/pen/setcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - đặt - - - màu - - diff --git a/images/vi/pen/setpensize.svg b/images/vi/pen/setpensize.svg deleted file mode 100644 index 3dab8eb..0000000 --- a/images/vi/pen/setpensize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - đặt - - - kích - - - cỡ bút - - diff --git a/images/vi/pen/setshade.svg b/images/vi/pen/setshade.svg deleted file mode 100644 index 5ee89e4..0000000 --- a/images/vi/pen/setshade.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - đặt - - - sắc màu - - diff --git a/images/vi/pen/settextcolor.svg b/images/vi/pen/settextcolor.svg deleted file mode 100644 index 72e7442..0000000 --- a/images/vi/pen/settextcolor.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - đặt - - - màu - - - chữ - - diff --git a/images/vi/pen/settextsize.svg b/images/vi/pen/settextsize.svg deleted file mode 100644 index 9b13cf8..0000000 --- a/images/vi/pen/settextsize.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - đặt - - - kích - - - cỡ chữ - - diff --git a/images/vi/pen/shade.svg b/images/vi/pen/shade.svg deleted file mode 100644 index 0a41d16..0000000 --- a/images/vi/pen/shade.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - sắc màu - - - \ No newline at end of file diff --git a/images/vi/pen/textcolor.svg b/images/vi/pen/textcolor.svg deleted file mode 100644 index d3f3c3a..0000000 --- a/images/vi/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - màu chữ - - - diff --git a/images/vi/pen/textsize.svg b/images/vi/pen/textsize.svg deleted file mode 100644 index ba395e3..0000000 --- a/images/vi/pen/textsize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - kích cỡ chữ - - - diff --git a/images/vi/pen/yellow.svg b/images/vi/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/vi/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/vi/sensors/bottompos.svg b/images/vi/sensors/bottompos.svg deleted file mode 100644 index b4ad2a1..0000000 --- a/images/vi/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - dưới - - diff --git a/images/vi/sensors/clearheap.svg b/images/vi/sensors/clearheap.svg deleted file mode 100644 index 97813d3..0000000 --- a/images/vi/sensors/clearheap.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - miền - - - nhớ - - - trống - - diff --git a/images/vi/sensors/hres.svg b/images/vi/sensors/hres.svg deleted file mode 100644 index 26a0de3..0000000 --- a/images/vi/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - rộng - - diff --git a/images/vi/sensors/kbinput.svg b/images/vi/sensors/kbinput.svg deleted file mode 100644 index 1cff028..0000000 --- a/images/vi/sensors/kbinput.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - đọc - - - phím - - diff --git a/images/vi/sensors/keyboard.svg b/images/vi/sensors/keyboard.svg deleted file mode 100644 index bec564b..0000000 --- a/images/vi/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bàn phím - - diff --git a/images/vi/sensors/leftpos.svg b/images/vi/sensors/leftpos.svg deleted file mode 100644 index 1e51351..0000000 --- a/images/vi/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - trái - - diff --git a/images/vi/sensors/myfunc.svg b/images/vi/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/vi/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/sensors/nop-loaded.svg b/images/vi/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/vi/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/sensors/nop.svg b/images/vi/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/vi/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/sensors/pop.svg b/images/vi/sensors/pop.svg deleted file mode 100644 index 568fcd9..0000000 --- a/images/vi/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - pop - - diff --git a/images/vi/sensors/printheap.svg b/images/vi/sensors/printheap.svg deleted file mode 100644 index ebbf2f9..0000000 --- a/images/vi/sensors/printheap.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - hiện - - - miền - - - nhớ - - diff --git a/images/vi/sensors/push.svg b/images/vi/sensors/push.svg deleted file mode 100644 index 93b19dc..0000000 --- a/images/vi/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - đẩy - - diff --git a/images/vi/sensors/rightpos.svg b/images/vi/sensors/rightpos.svg deleted file mode 100644 index 6b91a0f..0000000 --- a/images/vi/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - phải - - diff --git a/images/vi/sensors/sensorsgroup.svg b/images/vi/sensors/sensorsgroup.svg deleted file mode 100644 index 1171113..0000000 --- a/images/vi/sensors/sensorsgroup.svg +++ /dev/null @@ -1,565 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Bổ sung - - - - đọc - - - phím - - - - bàn phím - - - - - rộng - - - - - - cao - - - - - - - - - - x - - - - - - - pop - - - - - - - hiện - - - miền - - - nhớ - - - - - - miền - - - nhớ - - - trống - - - - - - - - đẩy - - - - - - - - trái - - - - - - trên - - - - - - phải - - - - - - dưới - - - - - - - - diff --git a/images/vi/sensors/toppos.svg b/images/vi/sensors/toppos.svg deleted file mode 100644 index ed9a774..0000000 --- a/images/vi/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - trên - - diff --git a/images/vi/sensors/vres.svg b/images/vi/sensors/vres.svg deleted file mode 100644 index c50f8ae..0000000 --- a/images/vi/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - cao - - diff --git a/images/vi/templates/audiooff.svg b/images/vi/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/vi/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/templates/descriptionoff.svg b/images/vi/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/vi/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/vi/templates/hideblocks.svg b/images/vi/templates/hideblocks.svg deleted file mode 100644 index e49a2b0..0000000 --- a/images/vi/templates/hideblocks.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - ẩn - - - khối - - diff --git a/images/vi/templates/journal.svg b/images/vi/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/vi/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/templates/sound.svg b/images/vi/templates/sound.svg deleted file mode 100644 index 28402f3..0000000 --- a/images/vi/templates/sound.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - âm thanh - - - \ No newline at end of file diff --git a/images/vi/templates/template1.svg b/images/vi/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/vi/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/templates/template2.svg b/images/vi/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/vi/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/templates/template3.svg b/images/vi/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/vi/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/templates/template4.svg b/images/vi/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/vi/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/templates/template6.svg b/images/vi/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/vi/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/templates/template7.svg b/images/vi/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/vi/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/templates/templatesgroup.svg b/images/vi/templates/templatesgroup.svg deleted file mode 100644 index 4691a02..0000000 --- a/images/vi/templates/templatesgroup.svg +++ /dev/null @@ -1,772 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - Mẫu - - - - ẩn - - - khối - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/turtle/arc.svg b/images/vi/turtle/arc.svg deleted file mode 100644 index d38f5ba..0000000 --- a/images/vi/turtle/arc.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - cung - - góc - - bán kính - - \ No newline at end of file diff --git a/images/vi/turtle/back.svg b/images/vi/turtle/back.svg deleted file mode 100644 index 76978d0..0000000 --- a/images/vi/turtle/back.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - lùi - - - \ No newline at end of file diff --git a/images/vi/turtle/clean.svg b/images/vi/turtle/clean.svg deleted file mode 100644 index 8675a19..0000000 --- a/images/vi/turtle/clean.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - gột - - diff --git a/images/vi/turtle/container.svg b/images/vi/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/vi/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/vi/turtle/forward.svg b/images/vi/turtle/forward.svg deleted file mode 100644 index 196d2c9..0000000 --- a/images/vi/turtle/forward.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - tiếp - - - \ No newline at end of file diff --git a/images/vi/turtle/heading.svg b/images/vi/turtle/heading.svg deleted file mode 100644 index 46d9cdd..0000000 --- a/images/vi/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - tiêu đề - - diff --git a/images/vi/turtle/image.svg b/images/vi/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/vi/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/vi/turtle/left.svg b/images/vi/turtle/left.svg deleted file mode 100644 index 174eb3d..0000000 --- a/images/vi/turtle/left.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - trái - - - \ No newline at end of file diff --git a/images/vi/turtle/right.svg b/images/vi/turtle/right.svg deleted file mode 100644 index 2b67ec9..0000000 --- a/images/vi/turtle/right.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - phải - - - \ No newline at end of file diff --git a/images/vi/turtle/scale.svg b/images/vi/turtle/scale.svg deleted file mode 100644 index 3020fe3..0000000 --- a/images/vi/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - co giãn - - diff --git a/images/vi/turtle/seth.svg b/images/vi/turtle/seth.svg deleted file mode 100644 index 442c241..0000000 --- a/images/vi/turtle/seth.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - đặt - - - hướng về - - diff --git a/images/vi/turtle/setscale.svg b/images/vi/turtle/setscale.svg deleted file mode 100644 index 56f8227..0000000 --- a/images/vi/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - đặt - - - tỷ lệ - - - diff --git a/images/vi/turtle/setxy.svg b/images/vi/turtle/setxy.svg deleted file mode 100644 index a6ede16..0000000 --- a/images/vi/turtle/setxy.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - đặt xy - - x - - y - - \ No newline at end of file diff --git a/images/vi/turtle/show.svg b/images/vi/turtle/show.svg deleted file mode 100644 index 602e561..0000000 --- a/images/vi/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - hiện - - - \ No newline at end of file diff --git a/images/vi/turtle/turtlegroup.svg b/images/vi/turtle/turtlegroup.svg deleted file mode 100644 index 250fa0b..0000000 --- a/images/vi/turtle/turtlegroup.svg +++ /dev/null @@ -1,874 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - gột - - - - - - tiếp - - - - - - lùi - - - - - - trái - - - - - - phải - - - - - - - - cung - - - góc - bán kính - - - - - - - - đặt xy - - - x - y - - - - - - - đặt - - - hướng về - - - - - xcor - - - - ycor - - - - tiêu đề - - - Rùa - - - - - - - - - - - - - hiện - - - - - - - - đặt - - - tỷ lệ - - - - - - - - - - - - - - - - hiện - - - - - tên - - diff --git a/images/vi/turtle/write.svg b/images/vi/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/vi/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/vi/turtle/xcor.svg b/images/vi/turtle/xcor.svg deleted file mode 100644 index f7de79e..0000000 --- a/images/vi/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - xcor - - diff --git a/images/vi/turtle/ycor.svg b/images/vi/turtle/ycor.svg deleted file mode 100644 index 52d2042..0000000 --- a/images/vi/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - ycor - - diff --git a/images/zerodivide.svg b/images/zerodivide.svg new file mode 100644 index 0000000..f2aa30a --- /dev/null +++ b/images/zerodivide.svg @@ -0,0 +1,74 @@ + + + + + + + + + + X + + + + /0 + + + + + + + + ! + + diff --git a/images/zh_TW/flow/flowgroup.svg b/images/zh_TW/flow/flowgroup.svg deleted file mode 100644 index bbf94bc..0000000 --- a/images/zh_TW/flow/flowgroup.svg +++ /dev/null @@ -1,335 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - 流程 - - - - - - - - - 等待 - - - - 持續執行 - - - - 重複 - - - - - - - - - - - 停止堆疊 - - - - - - - - - - 否則 - - - - diff --git a/images/zh_TW/flow/forever.svg b/images/zh_TW/flow/forever.svg deleted file mode 100644 index 1e6619d..0000000 --- a/images/zh_TW/flow/forever.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - 持續執行 - diff --git a/images/zh_TW/flow/hspace.svg b/images/zh_TW/flow/hspace.svg deleted file mode 100644 index 757eecc..0000000 --- a/images/zh_TW/flow/hspace.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/images/zh_TW/flow/if.svg b/images/zh_TW/flow/if.svg deleted file mode 100644 index 84b5ac2..0000000 --- a/images/zh_TW/flow/if.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/images/zh_TW/flow/ifelse.svg b/images/zh_TW/flow/ifelse.svg deleted file mode 100644 index 6e4bd03..0000000 --- a/images/zh_TW/flow/ifelse.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - 否則 - \ No newline at end of file diff --git a/images/zh_TW/flow/lock.svg b/images/zh_TW/flow/lock.svg deleted file mode 100644 index fc788b6..0000000 --- a/images/zh_TW/flow/lock.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/flow/repeat.svg b/images/zh_TW/flow/repeat.svg deleted file mode 100644 index 5675f32..0000000 --- a/images/zh_TW/flow/repeat.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - 重複 - diff --git a/images/zh_TW/flow/stopstack.svg b/images/zh_TW/flow/stopstack.svg deleted file mode 100644 index b849f5d..0000000 --- a/images/zh_TW/flow/stopstack.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - 停止堆疊 - diff --git a/images/zh_TW/flow/vspace.svg b/images/zh_TW/flow/vspace.svg deleted file mode 100644 index 4125221..0000000 --- a/images/zh_TW/flow/vspace.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/zh_TW/flow/wait.svg b/images/zh_TW/flow/wait.svg deleted file mode 100644 index abc4374..0000000 --- a/images/zh_TW/flow/wait.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - 等待 - - diff --git a/images/zh_TW/myblocks/box.svg b/images/zh_TW/myblocks/box.svg deleted file mode 100644 index ee6df5a..0000000 --- a/images/zh_TW/myblocks/box.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/myblocks/box1.svg b/images/zh_TW/myblocks/box1.svg deleted file mode 100644 index 2abb437..0000000 --- a/images/zh_TW/myblocks/box1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - 方塊一 - - - \ No newline at end of file diff --git a/images/zh_TW/myblocks/box2.svg b/images/zh_TW/myblocks/box2.svg deleted file mode 100644 index 9221887..0000000 --- a/images/zh_TW/myblocks/box2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - 方塊二 - - - \ No newline at end of file diff --git a/images/zh_TW/myblocks/hat.svg b/images/zh_TW/myblocks/hat.svg deleted file mode 100644 index b06f53f..0000000 --- a/images/zh_TW/myblocks/hat.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/myblocks/hat1.svg b/images/zh_TW/myblocks/hat1.svg deleted file mode 100644 index 748f2eb..0000000 --- a/images/zh_TW/myblocks/hat1.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - 堆疊一 - - - \ No newline at end of file diff --git a/images/zh_TW/myblocks/hat2.svg b/images/zh_TW/myblocks/hat2.svg deleted file mode 100644 index 1c480cf..0000000 --- a/images/zh_TW/myblocks/hat2.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - 堆疊二 - - - \ No newline at end of file diff --git a/images/zh_TW/myblocks/myblocksgroup.svg b/images/zh_TW/myblocks/myblocksgroup.svg deleted file mode 100644 index db1ba6c..0000000 --- a/images/zh_TW/myblocks/myblocksgroup.svg +++ /dev/null @@ -1,548 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - 我的區塊 - - - - 堆疊一 - - - - 堆疊一 - - - - 堆疊二 - - - - 堆疊二 - - - - - - - - 放入方塊 - - - - - - - 方塊一 - - - - - - - - 放入方塊 - - - - - - - 方塊二 - - - - - - - - - - 名稱 - - - - - - 啟動 - - diff --git a/images/zh_TW/myblocks/stack.svg b/images/zh_TW/myblocks/stack.svg deleted file mode 100644 index 1b4f24c..0000000 --- a/images/zh_TW/myblocks/stack.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/myblocks/stack1.svg b/images/zh_TW/myblocks/stack1.svg deleted file mode 100644 index 512e8f0..0000000 --- a/images/zh_TW/myblocks/stack1.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - 堆疊一 - - diff --git a/images/zh_TW/myblocks/stack2.svg b/images/zh_TW/myblocks/stack2.svg deleted file mode 100644 index 10fd3fb..0000000 --- a/images/zh_TW/myblocks/stack2.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - 堆疊二 - - diff --git a/images/zh_TW/myblocks/start.svg b/images/zh_TW/myblocks/start.svg deleted file mode 100644 index 2f3f248..0000000 --- a/images/zh_TW/myblocks/start.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - 啟動 - - - \ No newline at end of file diff --git a/images/zh_TW/myblocks/storein.svg b/images/zh_TW/myblocks/storein.svg deleted file mode 100644 index e88eb41..0000000 --- a/images/zh_TW/myblocks/storein.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 放入 - - diff --git a/images/zh_TW/myblocks/storeinbox.svg b/images/zh_TW/myblocks/storeinbox.svg deleted file mode 100644 index 4feb166..0000000 --- a/images/zh_TW/myblocks/storeinbox.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/myblocks/storeinbox1.svg b/images/zh_TW/myblocks/storeinbox1.svg deleted file mode 100644 index 2b62e6a..0000000 --- a/images/zh_TW/myblocks/storeinbox1.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - 放入方塊 - - - - - diff --git a/images/zh_TW/myblocks/storeinbox2.svg b/images/zh_TW/myblocks/storeinbox2.svg deleted file mode 100644 index 7277d0d..0000000 --- a/images/zh_TW/myblocks/storeinbox2.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - 放入方塊 - - - - - diff --git a/images/zh_TW/myblocks/string.svg b/images/zh_TW/myblocks/string.svg deleted file mode 100644 index 51b9f9e..0000000 --- a/images/zh_TW/myblocks/string.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - diff --git a/images/zh_TW/numbers/and.svg b/images/zh_TW/numbers/and.svg deleted file mode 100644 index 79ed5f6..0000000 --- a/images/zh_TW/numbers/and.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/zh_TW/numbers/division.svg b/images/zh_TW/numbers/division.svg deleted file mode 100644 index f2b69a2..0000000 --- a/images/zh_TW/numbers/division.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - / - diff --git a/images/zh_TW/numbers/division2.svg b/images/zh_TW/numbers/division2.svg deleted file mode 100644 index 97aebe5..0000000 --- a/images/zh_TW/numbers/division2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - / - - diff --git a/images/zh_TW/numbers/equal.svg b/images/zh_TW/numbers/equal.svg deleted file mode 100644 index 0cc3624..0000000 --- a/images/zh_TW/numbers/equal.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - = - diff --git a/images/zh_TW/numbers/greater.svg b/images/zh_TW/numbers/greater.svg deleted file mode 100644 index c3e8759..0000000 --- a/images/zh_TW/numbers/greater.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - > - diff --git a/images/zh_TW/numbers/identity.svg b/images/zh_TW/numbers/identity.svg deleted file mode 100644 index 02af675..0000000 --- a/images/zh_TW/numbers/identity.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/numbers/identity2.svg b/images/zh_TW/numbers/identity2.svg deleted file mode 100644 index bb9820b..0000000 --- a/images/zh_TW/numbers/identity2.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/numbers/less.svg b/images/zh_TW/numbers/less.svg deleted file mode 100644 index 6c1965f..0000000 --- a/images/zh_TW/numbers/less.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - < - diff --git a/images/zh_TW/numbers/minus.svg b/images/zh_TW/numbers/minus.svg deleted file mode 100644 index 8e26ad4..0000000 --- a/images/zh_TW/numbers/minus.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/numbers/minus2.svg b/images/zh_TW/numbers/minus2.svg deleted file mode 100644 index 1cdcc97..0000000 --- a/images/zh_TW/numbers/minus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/numbers/not.svg b/images/zh_TW/numbers/not.svg deleted file mode 100644 index 95d881c..0000000 --- a/images/zh_TW/numbers/not.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/zh_TW/numbers/number.svg b/images/zh_TW/numbers/number.svg deleted file mode 100644 index 15520fb..0000000 --- a/images/zh_TW/numbers/number.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/images/zh_TW/numbers/numbersgroup.svg b/images/zh_TW/numbers/numbersgroup.svg deleted file mode 100644 index 0d3e157..0000000 --- a/images/zh_TW/numbers/numbersgroup.svg +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - 數字 - - - - - - - - - - - - - - - - - - - - - - 亂數 - - - - - - = - - - - - - < - - - - - - > - - - - - - - - - - - - - - - - - - 顯示 - - - 數字 - - - 最小 - - - 最大 - - - - - - + - - - - x - - - - - - - - / - - - - 模數 - - diff --git a/images/zh_TW/numbers/or.svg b/images/zh_TW/numbers/or.svg deleted file mode 100644 index 8be2c4b..0000000 --- a/images/zh_TW/numbers/or.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/zh_TW/numbers/plus.svg b/images/zh_TW/numbers/plus.svg deleted file mode 100644 index ff30535..0000000 --- a/images/zh_TW/numbers/plus.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - + - diff --git a/images/zh_TW/numbers/plus2.svg b/images/zh_TW/numbers/plus2.svg deleted file mode 100644 index 9029925..0000000 --- a/images/zh_TW/numbers/plus2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - + - - diff --git a/images/zh_TW/numbers/print.svg b/images/zh_TW/numbers/print.svg deleted file mode 100644 index 49f44e6..0000000 --- a/images/zh_TW/numbers/print.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - 顯示 - - diff --git a/images/zh_TW/numbers/product.svg b/images/zh_TW/numbers/product.svg deleted file mode 100644 index 576934b..0000000 --- a/images/zh_TW/numbers/product.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - × - diff --git a/images/zh_TW/numbers/product2.svg b/images/zh_TW/numbers/product2.svg deleted file mode 100644 index 0d4eb1d..0000000 --- a/images/zh_TW/numbers/product2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - x - - diff --git a/images/zh_TW/numbers/random.svg b/images/zh_TW/numbers/random.svg deleted file mode 100644 index 7389e7d..0000000 --- a/images/zh_TW/numbers/random.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - 亂數 - - \ No newline at end of file diff --git a/images/zh_TW/numbers/remainder.svg b/images/zh_TW/numbers/remainder.svg deleted file mode 100644 index e79c585..0000000 --- a/images/zh_TW/numbers/remainder.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - 模數 - diff --git a/images/zh_TW/numbers/remainder2.svg b/images/zh_TW/numbers/remainder2.svg deleted file mode 100644 index 16ae8b9..0000000 --- a/images/zh_TW/numbers/remainder2.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - 模數 - - diff --git a/images/zh_TW/numbers/sqrt.svg b/images/zh_TW/numbers/sqrt.svg deleted file mode 100644 index 8735889..0000000 --- a/images/zh_TW/numbers/sqrt.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/zh_TW/pen/blue.svg b/images/zh_TW/pen/blue.svg deleted file mode 100644 index dd06e66..0000000 --- a/images/zh_TW/pen/blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/zh_TW/pen/color.svg b/images/zh_TW/pen/color.svg deleted file mode 100644 index 1987642..0000000 --- a/images/zh_TW/pen/color.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - 顏色 - - - \ No newline at end of file diff --git a/images/zh_TW/pen/cyan.svg b/images/zh_TW/pen/cyan.svg deleted file mode 100644 index 8fcfb1f..0000000 --- a/images/zh_TW/pen/cyan.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/zh_TW/pen/fillscreen.svg b/images/zh_TW/pen/fillscreen.svg deleted file mode 100644 index 22c55da..0000000 --- a/images/zh_TW/pen/fillscreen.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - 全螢幕 - - 顏色 - - 形狀 - - diff --git a/images/zh_TW/pen/green.svg b/images/zh_TW/pen/green.svg deleted file mode 100644 index cb31e3c..0000000 --- a/images/zh_TW/pen/green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/zh_TW/pen/orange.svg b/images/zh_TW/pen/orange.svg deleted file mode 100644 index 9bb9b54..0000000 --- a/images/zh_TW/pen/orange.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/zh_TW/pen/pendown.svg b/images/zh_TW/pen/pendown.svg deleted file mode 100644 index 1b9374d..0000000 --- a/images/zh_TW/pen/pendown.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - 落筆 - - - diff --git a/images/zh_TW/pen/pengroup.svg b/images/zh_TW/pen/pengroup.svg deleted file mode 100644 index 374eb50..0000000 --- a/images/zh_TW/pen/pengroup.svg +++ /dev/null @@ -1,860 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - 畫筆 - - - - 提筆 - - - - - - - 落筆 - - - - - - - - - 設定 - - - 畫筆大小 - - - - - - - - - - - - 設定 - - - 線條顏色 - - - - - - - - - 設定 - - - 填滿顏色 - - - - - - - - - - - 全螢幕 - - - - - - 顏色 - - - 形狀 - - - - 畫筆大小 - - - - - 文字大小 - - - - - - 顏色 - - - - - - - - 設定 - - - - - - 形狀 - - - - - - - - - - - - - - - 文字大小 - - diff --git a/images/zh_TW/pen/pensize.svg b/images/zh_TW/pen/pensize.svg deleted file mode 100644 index 474b007..0000000 --- a/images/zh_TW/pen/pensize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - 畫筆大小 - - - \ No newline at end of file diff --git a/images/zh_TW/pen/penup.svg b/images/zh_TW/pen/penup.svg deleted file mode 100644 index 23de501..0000000 --- a/images/zh_TW/pen/penup.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - 提筆 - - - diff --git a/images/zh_TW/pen/purple.svg b/images/zh_TW/pen/purple.svg deleted file mode 100644 index f33697d..0000000 --- a/images/zh_TW/pen/purple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/zh_TW/pen/red.svg b/images/zh_TW/pen/red.svg deleted file mode 100644 index a5a832a..0000000 --- a/images/zh_TW/pen/red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/zh_TW/pen/setcolor.svg b/images/zh_TW/pen/setcolor.svg deleted file mode 100644 index 1e5d78c..0000000 --- a/images/zh_TW/pen/setcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - 設定 - - - 線條顏色 - - diff --git a/images/zh_TW/pen/setpensize.svg b/images/zh_TW/pen/setpensize.svg deleted file mode 100644 index 96dbe30..0000000 --- a/images/zh_TW/pen/setpensize.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - 設定 - - - 畫筆大小 - - diff --git a/images/zh_TW/pen/setshade.svg b/images/zh_TW/pen/setshade.svg deleted file mode 100644 index 0eaa2df..0000000 --- a/images/zh_TW/pen/setshade.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - 設定 - - - 填滿顏色 - - diff --git a/images/zh_TW/pen/settextcolor.svg b/images/zh_TW/pen/settextcolor.svg deleted file mode 100644 index af9d8ae..0000000 --- a/images/zh_TW/pen/settextcolor.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - 設定 - - - 文字顏色 - - diff --git a/images/zh_TW/pen/settextsize.svg b/images/zh_TW/pen/settextsize.svg deleted file mode 100644 index e986744..0000000 --- a/images/zh_TW/pen/settextsize.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - 設定 - - - 文字大小 - - diff --git a/images/zh_TW/pen/shade.svg b/images/zh_TW/pen/shade.svg deleted file mode 100644 index 1f2dfd6..0000000 --- a/images/zh_TW/pen/shade.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - 形狀 - - - \ No newline at end of file diff --git a/images/zh_TW/pen/textcolor.svg b/images/zh_TW/pen/textcolor.svg deleted file mode 100644 index fd7eb0b..0000000 --- a/images/zh_TW/pen/textcolor.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - 文字顏色 - - - diff --git a/images/zh_TW/pen/textsize.svg b/images/zh_TW/pen/textsize.svg deleted file mode 100644 index 24ae0de..0000000 --- a/images/zh_TW/pen/textsize.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - 文字大小 - - - diff --git a/images/zh_TW/pen/yellow.svg b/images/zh_TW/pen/yellow.svg deleted file mode 100644 index 325d3f6..0000000 --- a/images/zh_TW/pen/yellow.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/images/zh_TW/sensors/bottompos.svg b/images/zh_TW/sensors/bottompos.svg deleted file mode 100644 index acf79cb..0000000 --- a/images/zh_TW/sensors/bottompos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - bottom - - diff --git a/images/zh_TW/sensors/clearheap.svg b/images/zh_TW/sensors/clearheap.svg deleted file mode 100644 index 8b87beb..0000000 --- a/images/zh_TW/sensors/clearheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - empty - - - heap - - diff --git a/images/zh_TW/sensors/hres.svg b/images/zh_TW/sensors/hres.svg deleted file mode 100644 index 081efcf..0000000 --- a/images/zh_TW/sensors/hres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - 水平解析度 - - diff --git a/images/zh_TW/sensors/kbinput.svg b/images/zh_TW/sensors/kbinput.svg deleted file mode 100644 index 4ba569a..0000000 --- a/images/zh_TW/sensors/kbinput.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - 讀取按鍵 - - diff --git a/images/zh_TW/sensors/keyboard.svg b/images/zh_TW/sensors/keyboard.svg deleted file mode 100644 index 5c7de14..0000000 --- a/images/zh_TW/sensors/keyboard.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - 鍵盤 - - diff --git a/images/zh_TW/sensors/leftpos.svg b/images/zh_TW/sensors/leftpos.svg deleted file mode 100644 index 8194a1f..0000000 --- a/images/zh_TW/sensors/leftpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - 左轉 - - diff --git a/images/zh_TW/sensors/myfunc.svg b/images/zh_TW/sensors/myfunc.svg deleted file mode 100644 index 6e0bd9d..0000000 --- a/images/zh_TW/sensors/myfunc.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/sensors/nop-loaded.svg b/images/zh_TW/sensors/nop-loaded.svg deleted file mode 100644 index b0301e3..0000000 --- a/images/zh_TW/sensors/nop-loaded.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/sensors/nop.svg b/images/zh_TW/sensors/nop.svg deleted file mode 100644 index 1d933da..0000000 --- a/images/zh_TW/sensors/nop.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/sensors/pop.svg b/images/zh_TW/sensors/pop.svg deleted file mode 100644 index c4ee928..0000000 --- a/images/zh_TW/sensors/pop.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - 取出堆疊 - - diff --git a/images/zh_TW/sensors/printheap.svg b/images/zh_TW/sensors/printheap.svg deleted file mode 100644 index 026631e..0000000 --- a/images/zh_TW/sensors/printheap.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - show - - - heap - - diff --git a/images/zh_TW/sensors/push.svg b/images/zh_TW/sensors/push.svg deleted file mode 100644 index e2866b8..0000000 --- a/images/zh_TW/sensors/push.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - 存入堆疊 - - diff --git a/images/zh_TW/sensors/rightpos.svg b/images/zh_TW/sensors/rightpos.svg deleted file mode 100644 index 4648eb2..0000000 --- a/images/zh_TW/sensors/rightpos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - 右轉 - - diff --git a/images/zh_TW/sensors/sensorsgroup.svg b/images/zh_TW/sensors/sensorsgroup.svg deleted file mode 100644 index 3d32aa6..0000000 --- a/images/zh_TW/sensors/sensorsgroup.svg +++ /dev/null @@ -1,436 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - 鍵盤 - - - - 讀取按鍵 - - - - 鍵盤 - - - - - 水平解析度 - - - - - - 垂直解析度 - - - - - - - - - - x - - - - - - - 取出堆疊 - - - - - - - show - - - heap - - - - - - empty - - - heap - - - - - - - - 存入堆疊 - - - - - - diff --git a/images/zh_TW/sensors/toppos.svg b/images/zh_TW/sensors/toppos.svg deleted file mode 100644 index 7b9e287..0000000 --- a/images/zh_TW/sensors/toppos.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - top - - diff --git a/images/zh_TW/sensors/vres.svg b/images/zh_TW/sensors/vres.svg deleted file mode 100644 index e7bebfd..0000000 --- a/images/zh_TW/sensors/vres.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - 垂直解析度 - - diff --git a/images/zh_TW/templates/audiooff.svg b/images/zh_TW/templates/audiooff.svg deleted file mode 100644 index 91ee514..0000000 --- a/images/zh_TW/templates/audiooff.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/templates/descriptionoff.svg b/images/zh_TW/templates/descriptionoff.svg deleted file mode 100644 index 12e36fb..0000000 --- a/images/zh_TW/templates/descriptionoff.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/templates/hideblocks.svg b/images/zh_TW/templates/hideblocks.svg deleted file mode 100644 index cc5de47..0000000 --- a/images/zh_TW/templates/hideblocks.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - 隱藏區塊 - - diff --git a/images/zh_TW/templates/journal.svg b/images/zh_TW/templates/journal.svg deleted file mode 100644 index 76e4faa..0000000 --- a/images/zh_TW/templates/journal.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/templates/sound.svg b/images/zh_TW/templates/sound.svg deleted file mode 100644 index bef545c..0000000 --- a/images/zh_TW/templates/sound.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 音效 - - - \ No newline at end of file diff --git a/images/zh_TW/templates/template1.svg b/images/zh_TW/templates/template1.svg deleted file mode 100644 index 2a9df85..0000000 --- a/images/zh_TW/templates/template1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/templates/template2.svg b/images/zh_TW/templates/template2.svg deleted file mode 100644 index 819cb3f..0000000 --- a/images/zh_TW/templates/template2.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/templates/template3.svg b/images/zh_TW/templates/template3.svg deleted file mode 100644 index 81e41e7..0000000 --- a/images/zh_TW/templates/template3.svg +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/templates/template4.svg b/images/zh_TW/templates/template4.svg deleted file mode 100644 index c229939..0000000 --- a/images/zh_TW/templates/template4.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/templates/template6.svg b/images/zh_TW/templates/template6.svg deleted file mode 100644 index e925c46..0000000 --- a/images/zh_TW/templates/template6.svg +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/templates/template7.svg b/images/zh_TW/templates/template7.svg deleted file mode 100644 index 6576d67..0000000 --- a/images/zh_TW/templates/template7.svg +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/templates/templatesgroup.svg b/images/zh_TW/templates/templatesgroup.svg deleted file mode 100644 index 5a86a62..0000000 --- a/images/zh_TW/templates/templatesgroup.svg +++ /dev/null @@ -1,762 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - 模板 - - - - 隱藏區塊 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/zh_TW/turtle/arc.svg b/images/zh_TW/turtle/arc.svg deleted file mode 100644 index f7dc032..0000000 --- a/images/zh_TW/turtle/arc.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - 弧度 - - 角度 - - 半徑 - - \ No newline at end of file diff --git a/images/zh_TW/turtle/back.svg b/images/zh_TW/turtle/back.svg deleted file mode 100644 index 190247b..0000000 --- a/images/zh_TW/turtle/back.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - 後退 - - - \ No newline at end of file diff --git a/images/zh_TW/turtle/clean.svg b/images/zh_TW/turtle/clean.svg deleted file mode 100644 index 42a28fc..0000000 --- a/images/zh_TW/turtle/clean.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - 清除畫面 - - diff --git a/images/zh_TW/turtle/container.svg b/images/zh_TW/turtle/container.svg deleted file mode 100644 index d3c6a09..0000000 --- a/images/zh_TW/turtle/container.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/images/zh_TW/turtle/forward.svg b/images/zh_TW/turtle/forward.svg deleted file mode 100644 index 5b23698..0000000 --- a/images/zh_TW/turtle/forward.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - 前進 - - - \ No newline at end of file diff --git a/images/zh_TW/turtle/heading.svg b/images/zh_TW/turtle/heading.svg deleted file mode 100644 index c1fe871..0000000 --- a/images/zh_TW/turtle/heading.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - 方向 - - diff --git a/images/zh_TW/turtle/image.svg b/images/zh_TW/turtle/image.svg deleted file mode 100644 index 5d2d28c..0000000 --- a/images/zh_TW/turtle/image.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - diff --git a/images/zh_TW/turtle/left.svg b/images/zh_TW/turtle/left.svg deleted file mode 100644 index 5c838f3..0000000 --- a/images/zh_TW/turtle/left.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - 左轉 - - - \ No newline at end of file diff --git a/images/zh_TW/turtle/right.svg b/images/zh_TW/turtle/right.svg deleted file mode 100644 index 47ddd33..0000000 --- a/images/zh_TW/turtle/right.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - 右轉 - - - \ No newline at end of file diff --git a/images/zh_TW/turtle/scale.svg b/images/zh_TW/turtle/scale.svg deleted file mode 100644 index 5432d96..0000000 --- a/images/zh_TW/turtle/scale.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - scale - - diff --git a/images/zh_TW/turtle/seth.svg b/images/zh_TW/turtle/seth.svg deleted file mode 100644 index 061f314..0000000 --- a/images/zh_TW/turtle/seth.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - 指定方向 - - - diff --git a/images/zh_TW/turtle/setscale.svg b/images/zh_TW/turtle/setscale.svg deleted file mode 100644 index 65ca8ee..0000000 --- a/images/zh_TW/turtle/setscale.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - 設定 - - - 大小 - - - diff --git a/images/zh_TW/turtle/setxy.svg b/images/zh_TW/turtle/setxy.svg deleted file mode 100644 index d1b6d3d..0000000 --- a/images/zh_TW/turtle/setxy.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - 指定座標 - - X座標 - - Y座標 - - \ No newline at end of file diff --git a/images/zh_TW/turtle/show.svg b/images/zh_TW/turtle/show.svg deleted file mode 100644 index 6aea749..0000000 --- a/images/zh_TW/turtle/show.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - 顯示 - - - diff --git a/images/zh_TW/turtle/turtlegroup.svg b/images/zh_TW/turtle/turtlegroup.svg deleted file mode 100644 index f7b8c23..0000000 --- a/images/zh_TW/turtle/turtlegroup.svg +++ /dev/null @@ -1,885 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - 清除畫面 - - - - - - 前進 - - - - - - 後退 - - - - - - 左轉 - - - - - - 右轉 - - - - - - - - 弧度 - - - 角度 - 半徑 - - - - - - - - 指定座標 - - - X座標 - Y座標 - - - - - - 指定方向 - - - - X座標 - - - - Y座標 - - - - 方向 - - - 小海龜 - - - - - - - - - - - - 顯示 - - - - - - - - - 設定大小 - - - - - - - - - - - - 顯示 - - - - - - diff --git a/images/zh_TW/turtle/write.svg b/images/zh_TW/turtle/write.svg deleted file mode 100644 index b61996b..0000000 --- a/images/zh_TW/turtle/write.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/images/zh_TW/turtle/xcor.svg b/images/zh_TW/turtle/xcor.svg deleted file mode 100644 index 784c199..0000000 --- a/images/zh_TW/turtle/xcor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - X座標 - - diff --git a/images/zh_TW/turtle/ycor.svg b/images/zh_TW/turtle/ycor.svg deleted file mode 100644 index a500429..0000000 --- a/images/zh_TW/turtle/ycor.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - Y座標 - - diff --git a/samples/100turtles.ta b/samples/100turtles.ta new file mode 100644 index 0000000..3b1cd37 --- /dev/null +++ b/samples/100turtles.ta @@ -0,0 +1 @@ +[[0, "repeat", 177, 217, [16, 1, 13, null]], [1, ["number", 1000], 228, 217, [0, null]], [2, "addturtle", 242, 353, [17, 14, 12]], [3, "random", 360, 277, [13, 4, 5, null]], [4, ["number", 0], 446, 277, [3, null]], [5, ["number", 100], 446, 319, [3, null]], [6, "seth", 242, 437, [12, 7, 18]], [7, "random", 341, 437, [6, 8, 9, null]], [8, ["number", 0], 427, 437, [7, null]], [9, ["number", 360], 427, 479, [7, null]], [10, "forward", 242, 513, [18, 11, null]], [11, ["number", 100], 313, 513, [10, null]], [12, "setcolor", 242, 395, [2, 15, 6]], [13, "storeinbox1", 242, 277, [0, 3, 17]], [14, "box1", 300, 353, [2, null]], [15, "box1", 319, 395, [12, null]], [16, "start", 177, 175, [null, 0]], [17, ["vspace", 0], 242, 319, [13, 2]], [18, ["vspace", 0], 242, 479, [6, 10]], [-1, ["turtle", 0], -81, -96, 200, 0, 50, 5], [-1, ["turtle", 1], -179, 0, 79, 1, 50, 5], [-1, ["turtle", 2], -626, -18, 275, 2, 50, 5], [-1, ["turtle", 3], 32, 36, 115, 3, 50, 5], [-1, ["turtle", 4], -107, 581, 91, 4, 50, 5], [-1, ["turtle", 5], 443, -251, 265, 5, 50, 5], [-1, ["turtle", 6], -37, 32, 338, 6, 50, 5], [-1, ["turtle", 7], -121, 280, 277, 7, 50, 5], [-1, ["turtle", 8], -164, 377, 17, 8, 50, 5], [-1, ["turtle", 9], -427, 308, 357, 9, 50, 5], [-1, ["turtle", 10], 195, -27, 98, 10, 50, 5], [-1, ["turtle", 11], 212, 306, 281, 11, 50, 5], [-1, ["turtle", 12], 260, -248, 234, 12, 50, 5], [-1, ["turtle", 13], -49, 138, 207, 13, 50, 5], [-1, ["turtle", 14], -84, 91, 349, 14, 50, 5], [-1, ["turtle", 15], 85, 36, 183, 15, 50, 5], [-1, ["turtle", 16], 303, -188, 180, 16, 50, 5], [-1, ["turtle", 17], 93, 291, 357, 17, 50, 5], [-1, ["turtle", 18], -293, -120, 132, 18, 50, 5], [-1, ["turtle", 19], -113, 106, 29, 19, 50, 5], [-1, ["turtle", 20], 136, 102, 225, 20, 50, 5], [-1, ["turtle", 21], 253, -248, 175, 21, 50, 5], [-1, ["turtle", 22], -50, -320, 126, 22, 50, 5], [-1, ["turtle", 23], -28, 31, 353, 23, 50, 5], [-1, ["turtle", 24], 530, -186, 88, 24, 50, 5], [-1, ["turtle", 25], 295, -196, 64, 25, 50, 5], [-1, ["turtle", 26], 519, -119, 237, 26, 50, 5], [-1, ["turtle", 27], 231, 103, 100, 27, 50, 5], [-1, ["turtle", 28], -17, -4, 32, 28, 50, 5], [-1, ["turtle", 29], -175, -36, 213, 29, 50, 5], [-1, ["turtle", 30], -516, 237, 228, 30, 50, 5], [-1, ["turtle", 31], 1, 743, 298, 31, 50, 5], [-1, ["turtle", 32], 199, 276, 338, 32, 50, 5], [-1, ["turtle", 33], -30, -275, 317, 33, 50, 5], [-1, ["turtle", 34], -103, 204, 235, 34, 50, 5], [-1, ["turtle", 35], 62, -164, 291, 35, 50, 5], [-1, ["turtle", 36], 129, 16, 329, 36, 50, 5], [-1, ["turtle", 37], 95, 77, 44, 37, 50, 5], [-1, ["turtle", 38], -352, -54, 301, 38, 50, 5], [-1, ["turtle", 39], -239, -21, 271, 39, 50, 5], [-1, ["turtle", 40], 5, 296, 332, 40, 50, 5], [-1, ["turtle", 41], 352, 78, 96, 41, 50, 5], [-1, ["turtle", 42], -26, -197, 233, 42, 50, 5], [-1, ["turtle", 43], 145, -296, 125, 43, 50, 5], [-1, ["turtle", 44], -76, 34, 340, 44, 50, 5], [-1, ["turtle", 45], 200, -265, 71, 45, 50, 5], [-1, ["turtle", 46], -139, 220, 99, 46, 50, 5], [-1, ["turtle", 47], -328, 46, 286, 47, 50, 5], [-1, ["turtle", 48], 515, 635, 8, 48, 50, 5], [-1, ["turtle", 49], -49, -92, 233, 49, 50, 5], [-1, ["turtle", 50], 125, 22, 170, 50, 50, 5], [-1, ["turtle", 51], 241, -100, 28, 51, 50, 5], [-1, ["turtle", 52], -262, 206, 184, 52, 50, 5], [-1, ["turtle", 53], 306, -19, 91, 53, 50, 5], [-1, ["turtle", 54], 126, -297, 175, 54, 50, 5], [-1, ["turtle", 55], -104, 299, 127, 55, 50, 5], [-1, ["turtle", 56], -7, 316, 296, 56, 50, 5], [-1, ["turtle", 57], -261, 322, 330, 57, 50, 5], [-1, ["turtle", 58], -100, 81, 246, 58, 50, 5], [-1, ["turtle", 59], 405, -18, 114, 59, 50, 5], [-1, ["turtle", 60], -102, 164, 71, 60, 50, 5], [-1, ["turtle", 61], -179, 429, 301, 61, 50, 5], [-1, ["turtle", 62], 119, 244, 296, 62, 50, 5], [-1, ["turtle", 63], 269, 288, 32, 63, 50, 5], [-1, ["turtle", 64], -253, -4, 211, 64, 50, 5], [-1, ["turtle", 65], -114, -133, 148, 65, 50, 5], [-1, ["turtle", 66], -297, 317, 245, 66, 50, 5], [-1, ["turtle", 67], -93, -26, 241, 67, 50, 5], [-1, ["turtle", 68], 239, 214, 133, 68, 50, 5], [-1, ["turtle", 69], 178, 467, 111, 69, 50, 5], [-1, ["turtle", 70], 258, 242, 35, 70, 50, 5], [-1, ["turtle", 71], 180, -112, 72, 71, 50, 5], [-1, ["turtle", 72], 269, 78, 351, 72, 50, 5], [-1, ["turtle", 73], 199, -109, 45, 73, 50, 5], [-1, ["turtle", 74], 166, -280, 181, 74, 50, 5], [-1, ["turtle", 75], -23, -173, 243, 75, 50, 5], [-1, ["turtle", 76], 78, 55, 244, 76, 50, 5], [-1, ["turtle", 77], 72, -246, 118, 77, 50, 5], [-1, ["turtle", 78], -46, 16, 11, 78, 50, 5], [-1, ["turtle", 79], -39, 254, 263, 79, 50, 5], [-1, ["turtle", 80], -230, -27, 247, 80, 50, 5], [-1, ["turtle", 81], -266, 173, 325, 81, 50, 5], [-1, ["turtle", 82], -63, -161, 192, 82, 50, 5], [-1, ["turtle", 83], -101, -413, 101, 83, 50, 5], [-1, ["turtle", 84], 332, -271, 347, 84, 50, 5], [-1, ["turtle", 85], -170, -221, 284, 85, 50, 5], [-1, ["turtle", 86], 41, -203, 183, 86, 50, 5], [-1, ["turtle", 87], -302, 437, 306, 87, 50, 5], [-1, ["turtle", 88], 29, 56, 339, 88, 50, 5], [-1, ["turtle", 89], -44, -264, 37, 89, 50, 5], [-1, ["turtle", 90], -252, -63, 285, 90, 50, 5], [-1, ["turtle", 91], -144, -231, 329, 91, 50, 5], [-1, ["turtle", 92], -61, -207, 205, 92, 50, 5], [-1, ["turtle", 93], -202, 137, 162, 93, 50, 5], [-1, ["turtle", 94], 410, -7, 115, 94, 50, 5], [-1, ["turtle", 95], 309, -5, 225, 95, 50, 5], [-1, ["turtle", 96], 369, 19, 60, 96, 50, 5], [-1, ["turtle", 97], 88, 342, 133, 97, 50, 5], [-1, ["turtle", 98], -162, -471, 315, 98, 50, 5], [-1, ["turtle", 99], -335, -88, 284, 99, 50, 5]] \ No newline at end of file diff --git a/samples/About_me.ta b/samples/About_me.ta index 05ecdaf..e136ce2 100644 --- a/samples/About_me.ta +++ b/samples/About_me.ta @@ -1 +1 @@ -[[0, "start", 235, 98, [null, 1]], [1, "stack1", 247, 148, [0, 2]], [2, "template1", 247, 187, [1, 3, 4, 5]], [3, ["string", "About me"], 257, 202, [2, null]], [4, ["journal", null], 257, 233, [2, null]], [5, "stack2", 247, 295, [2, 6]], [6, "stack1", 247, 334, [5, 7]], [7, "template6", 247, 373, [6, 8, 9, 10, 11]], [8, ["string", "My family"], 257, 388, [7, null]], [9, ["journal", null], 257, 419, [7, null]], [10, ["journal", null], 257, 476, [7, null]], [11, "stack2", 247, 535, [7, 12]], [12, "stack", 247, 574, [11, 13, null]], [13, ["string", "Part2"], 259, 586, [12, null]], [14, "hat", 406, 87, [null, 15, 16]], [15, ["string", "Part2"], 428, 114, [14, null]], [16, "stack1", 444, 157, [14, 17]], [17, "template7", 444, 196, [16, 18, 19, 20, 21, 22, 23]], [18, ["string", "My favorite things"], 454, 211, [17, null]], [19, ["journal", null], 454, 242, [17, null]], [20, ["journal", null], 534, 242, [17, null]], [21, ["journal", null], 454, 299, [17, null]], [22, ["journal", null], 534, 299, [17, null]], [23, "stack2", 444, 358, [17, 24]], [24, "stack1", 444, 397, [23, 25]], [25, "template3", 444, 436, [24, 26, 27, 28, 29, 30, 31, 32, 33, null]], [26, ["string", "Me"], 454, 450, [25, null]], [27, ["string", "Name"], 454, 476, [25, null]], [28, ["string", "Age"], 454, 502, [25, null]], [29, ["string", "Hair color"], 454, 528, [25, null]], [30, ["string", "Eye color"], 454, 554, [25, null]], [31, ["string", "Favorite color"], 454, 580, [25, null]], [32, ["string", "Favorite food"], 454, 606, [25, null]], [33, ["string", "Favorite hobby"], 454, 632, [25, null]], [34, "hat1", 713, 263, [null, 35]], [35, "clean", 725, 313, [34, null]], [36, "hat2", 720, 394, [null, 37]], [37, "wait", 732, 444, [36, 38, null]], [38, ["number", "30"], 806, 453, [37, null]], [-1, "turtle", -525.0, -30, 0, 0, 50, 5]] \ No newline at end of file +[[0, "start", 163, 175, [null, 43]], [1, "stack1", 163, 251, [43, 44]], [2, ["journal", "./samples/images/me.jpg"], 273, 579, [56, null]], [3, "stack2", 163, 361, [57, 4]], [4, "stack1", 163, 395, [3, 9]], [5, "stack2", 163, 505, [22, 42]], [6, "hat1", 440, 175, [null, 7]], [7, "clean", 440, 217, [6, null]], [8, "hat2", 441, 273, [null, 39]], [9, "sandwichtop", 145, 429, [4, 10, 11]], [10, ["string", "fact list"], 248, 429, [9, null]], [11, "setxy", 163, 471, [9, 12, 13, 14]], [12, "titlex", 221, 471, [11, null]], [13, "titley", 221, 513, [11, null]], [14, "show", 163, 555, [11, 15, 16]], [15, ["string", "Me"], 221, 555, [14, null]], [16, "setxy", 163, 597, [14, 17, 18, 19]], [17, "leftx", 221, 597, [16, null]], [18, "topy", 221, 639, [16, null]], [19, ["list", 0], 163, 681, [16, 20, 21, 23, 24, 25, 26, 27, 22]], [20, ["string", "\u2219 Name"], 221, 681, [19, null]], [21, ["string", "\u2219 Age"], 221, 723, [19, null]], [22, ["sandwichcollapsed", 1], 163, 471, [19, 5]], [23, ["string", "\u2219 Hair color"], 221, 765, [19, null]], [24, ["string", "\u2219 Eye color"], 221, 807, [19, null]], [25, ["string", "\u2219 Favorite food"], 221, 849, [19, null]], [26, ["string", "\u2219 Favorite hobby"], 221, 891, [19, null]], [27, ["string", "\u2219 Favorite book"], 221, 933, [19, null]], [28, "forever", 441, 357, [39, 29, 41]], [29, "kbinput", 502, 375, [28, 30]], [30, ["vspace", 0], 502, 409, [29, 31]], [31, "if", 502, 443, [30, 32, 35, 36]], [32, "greater2", 540, 409, [31, 33, 34, null]], [33, "keyboard", 586, 409, [32, null]], [34, ["number", 0], 586, 451, [32, null]], [35, "stopstack", 554, 511, [31, null]], [36, ["vspace", 0], 502, 529, [31, 37]], [37, "wait", 502, 563, [36, 38, null]], [38, ["number", 1], 560, 563, [37, null]], [39, "sandwichtop", 423, 315, [8, 40, 28]], [40, ["string", "wait for keyboard input"], 526, 315, [39, null]], [41, ["sandwichcollapsed", 1], 441, 357, [28, null]], [42, "showblocks", 163, 539, [5, null]], [43, "hideblocks", 163, 217, [0, 1]], [44, "sandwichtop", 145, 285, [1, 45, 46]], [45, ["string", "picture"], 248, 285, [44, null]], [46, "setxy", 163, 327, [44, 47, 48, 49]], [47, "titlex", 221, 327, [46, null]], [48, "titley", 221, 369, [46, null]], [49, "show", 163, 411, [46, 50, 51]], [50, ["string", "About me"], 221, 411, [49, null]], [51, "setscale", 163, 453, [49, 52, 53]], [52, ["number", 90], 240, 453, [51, null]], [53, "setxy", 163, 495, [51, 54, 55, 56]], [54, "leftx", 221, 495, [53, null]], [55, "topy", 221, 537, [53, null]], [56, "showaligned", 163, 579, [53, 2, 57]], [57, ["sandwichcollapsed", 1], 163, 327, [56, 3]], [-1, ["turtle", 1], -787, -26, 0, 0, 50, 5]] \ No newline at end of file diff --git a/samples/Pythagoras.ta b/samples/Pythagoras.ta new file mode 100644 index 0000000..6f813c1 --- /dev/null +++ b/samples/Pythagoras.ta @@ -0,0 +1 @@ +[[0, "hat", 62, 495, [null, 1, 128]], [1, ["string", "draw b"], 120, 503, [0, null]], [2, "storeinbox1", 62, 587, [128, 3, 7]], [3, "division2", 180, 587, [2, 4, 6]], [4, "box", 234, 587, [3, 5, null]], [5, ["string", "side b"], 289, 587, [4, null]], [6, ["number", 2], 258, 633, [3, null]], [7, "forward", 62, 629, [2, 8, 122]], [8, "box1", 133, 629, [7, null]], [9, "forward", 62, 713, [122, 10, 130]], [10, "box1", 133, 713, [9, null]], [11, "hat", 389, 628, [null, 12, 137]], [12, ["string", "find h"], 447, 636, [11, null]], [13, "storein", 389, 720, [137, 14, 15, 29]], [14, ["string", "hypotenuse"], 457, 720, [13, null]], [15, "sqrt", 457, 762, [13, 16]], [16, "plus2", 511, 762, [15, 17, 23]], [17, ["identity2", 0], 565, 762, [16, 18]], [18, "product2", 619, 762, [17, 19, 21]], [19, "box", 673, 762, [18, 20, null]], [20, ["string", "side a"], 728, 762, [19, null]], [21, "box", 673, 804, [18, 22, null]], [22, ["string", "side a"], 728, 804, [21, null]], [23, ["identity2", 0], 565, 804, [16, 24]], [24, "product2", 619, 804, [23, 25, 27]], [25, "box", 673, 804, [24, 26, null]], [26, ["string", "side b"], 728, 804, [25, null]], [27, "box", 673, 846, [24, 28, null]], [28, ["string", "side b"], 728, 846, [27, null]], [29, ["vspace", 0], 389, 804, [13, 30]], [30, "storein", 389, 838, [29, 31, 32, 139]], [31, ["string", "radius"], 457, 838, [30, null]], [32, "division2", 457, 880, [30, 33, 35]], [33, "box", 511, 880, [32, 34, null]], [34, ["string", "hypotenuse"], 566, 880, [33, null]], [35, ["number", 2], 535, 926, [32, null]], [36, "hat", 66, 636, [null, 37, 131]], [37, ["string", "draw a"], 124, 644, [36, null]], [38, "storeinbox1", 66, 728, [131, 39, 43]], [39, "division2", 184, 728, [38, 40, 42]], [40, "box", 238, 728, [39, 41, null]], [41, ["string", "side a"], 293, 728, [40, null]], [42, ["number", 2], 262, 774, [39, null]], [43, "forward", 66, 770, [38, 44, 124]], [44, "box1", 137, 770, [43, null]], [45, "forward", 66, 854, [124, 46, 133]], [46, "box1", 137, 854, [45, null]], [47, "hat", 82, 781, [null, 48, 134]], [48, ["string", "draw h"], 140, 789, [47, null]], [49, "arc", 82, 873, [134, 50, 51, 53]], [50, ["number", 360], 140, 873, [49, null]], [51, "box", 140, 915, [49, 52, null]], [52, ["string", "radius"], 195, 915, [51, null]], [53, "print", 82, 957, [49, 54, 56]], [54, "box", 140, 957, [53, 55, null]], [55, ["string", "angle"], 195, 957, [54, null]], [56, "right", 82, 999, [53, 57, 58]], [57, ["number", 90], 140, 999, [56, null]], [58, "forward", 82, 1041, [56, 59, 126]], [59, "box", 153, 1041, [58, 60, null]], [60, ["string", "radius"], 208, 1041, [59, null]], [61, "forward", 82, 1125, [126, 62, 136]], [62, "box", 153, 1125, [61, 63, null]], [63, ["string", "radius"], 208, 1125, [62, null]], [64, "hat", 384, 777, [null, 65, 141]], [65, ["string", "find a"], 442, 785, [64, null]], [66, "storein", 384, 869, [141, 67, 68, 69]], [67, ["string", "angle"], 452, 869, [66, null]], [68, ["number", 0], 452, 911, [66, null]], [69, "setshade", 384, 953, [66, 70, 71]], [70, ["number", 95], 469, 953, [69, null]], [71, "repeat", 384, 995, [69, 72, 73, 143]], [72, ["number", 360], 435, 995, [71, null]], [73, "arc", 449, 1055, [71, 74, 75, 140]], [74, ["number", 180], 507, 1055, [73, null]], [75, "box", 507, 1097, [73, 76, null]], [76, ["string", "radius"], 562, 1097, [75, null]], [77, "if", 449, 1173, [140, 78, 81, 84]], [78, "greater2", 487, 1139, [77, 79, 80, null]], [79, "ycor", 533, 1139, [78, null]], [80, ["number", 0], 533, 1181, [78, null]], [81, "setshade", 501, 1241, [77, 82, 83]], [82, ["number", 50], 586, 1241, [81, null]], [83, "stopstack", 501, 1283, [81, null]], [84, ["vspace", 0], 449, 1259, [77, 85]], [85, "penup", 449, 1293, [84, 86]], [86, "storein", 449, 1327, [85, 87, 88, 92]], [87, ["string", "angle"], 517, 1327, [86, null]], [88, "plus2", 517, 1369, [86, 89, 91]], [89, "box", 571, 1369, [88, 90, null]], [90, ["string", "angle"], 626, 1369, [89, null]], [91, ["number", 1], 571, 1411, [88, null]], [92, "arc", 449, 1411, [86, 93, 94, 96]], [93, ["number", 180], 507, 1411, [92, null]], [94, "box", 507, 1453, [92, 95, null]], [95, ["string", "radius"], 562, 1453, [94, null]], [96, "right", 449, 1495, [92, 97, 98]], [97, ["number", 1], 507, 1495, [96, null]], [98, "pendown", 449, 1537, [96, null]], [99, "hideblocks", 709, 147, [144, 100]], [100, "clean", 709, 181, [99, 148]], [101, "storein", 709, 299, [148, 102, 103, 104]], [102, ["string", "side a"], 777, 299, [101, null]], [103, ["number", 200], 777, 341, [101, null]], [104, "storein", 709, 383, [101, 105, 106, 107]], [105, ["string", "side b"], 777, 383, [104, null]], [106, ["number", 450], 777, 425, [104, null]], [107, "stack", 709, 467, [104, 108, 109]], [108, ["string", "draw a"], 767, 467, [107, null]], [109, "right", 709, 509, [107, 110, 111]], [110, ["number", 90], 767, 509, [109, null]], [111, "stack", 709, 551, [109, 112, 113]], [112, ["string", "draw b"], 767, 551, [111, null]], [113, "stack", 709, 593, [111, 114, 115]], [114, ["string", "find h"], 767, 593, [113, null]], [115, "stack", 709, 635, [113, 116, 117]], [116, ["string", "find a"], 767, 635, [115, null]], [117, "stack", 709, 677, [115, 118, 119]], [118, ["string", "draw h"], 767, 677, [117, null]], [119, "setxy", 709, 719, [117, 146, 147, 149]], [120, ["journal", "./samples/images/Pythagoras.jpg"], 819, 803, [149, null]], [121, "start", 709, 63, [null, 144]], [122, "show", 62, 671, [7, 123, 9]], [123, ["string", "b"], 120, 671, [122, null]], [124, "show", 66, 812, [43, 125, 45]], [125, ["string", "a"], 124, 812, [124, null]], [126, "show", 82, 1083, [58, 127, 61]], [127, ["string", "h"], 140, 1083, [126, null]], [128, "sandwichtop", 44, 545, [0, 129, 2]], [129, ["string", "draw side b"], 147, 545, [128, null]], [130, ["sandwichcollapsed", 1], 62, 587, [9, null]], [131, "sandwichtop", 48, 686, [36, 132, 38]], [132, ["string", "draw side a"], 151, 686, [131, null]], [133, ["sandwichcollapsed", 1], 66, 728, [45, null]], [134, "sandwichtop", 64, 831, [47, 135, 49]], [135, ["string", "draw side h"], 167, 831, [134, null]], [136, ["sandwichcollapsed", 1], 82, 873, [61, null]], [137, "sandwichtop", 371, 678, [11, 138, 13]], [138, ["string", "find length h"], 474, 678, [137, null]], [139, ["sandwichcollapsed", 1], 389, 720, [30, null]], [140, ["vspace", 0], 449, 1139, [73, 77]], [141, "sandwichtop", 366, 827, [64, 142, 66]], [142, ["string", "find angle ah"], 469, 827, [141, null]], [143, ["sandwichcollapsed", 1], 384, 869, [71, null]], [144, "sandwichtop", 691, 105, [121, 145, 99]], [145, ["string", "given a, b find h and the angle ah"], 794, 105, [144, null]], [146, "leftpos", 767, 719, [119, null]], [147, "toppos", 767, 761, [119, null]], [148, "setxy", 709, 215, [100, 155, 151, 101]], [149, "showaligned", 709, 803, [119, 120, 150]], [150, ["sandwichcollapsed", 1], 709, 147, [149, null]], [151, ["number", "0"], 767, 257, [148, null]], [152, ["number", "-4"], 979, 261, [154, null]], [153, "width", 955, 215, [154, null]], [154, "division2", 901, 215, [155, 153, 152]], [155, ["identity2", 40], 767, 215, [148, 154]], [-1, ["turtle", 1], -840, 525, 67.0, 0, 50.0, 5]] \ No newline at end of file diff --git a/samples/Que_Como_Por_que_Para_que.ta b/samples/Que_Como_Por_que_Para_que.ta index 1fd2bdf..3670aa1 100644 --- a/samples/Que_Como_Por_que_Para_que.ta +++ b/samples/Que_Como_Por_que_Para_que.ta @@ -1 +1 @@ -[[0, "hat1", 678, 49, [null, 1]], [1, "clean", 690, 99, [0, null]], [2, "hat2", 684, 197, [null, 3]], [3, "wait", 696, 247, [2, 4, null]], [4, ["number", "30"], 770, 256, [3, null]], [5, "stack1", 313, 58, [24, 6]], [6, "template1", 313, 97, [5, 7, 8, 9]], [7, ["string", "\u00bfQu\u00e9?"], 323, 112, [6, null]], [8, ["journal", null], 323, 143, [6, null]], [9, "stack2", 313, 205, [6, 10]], [10, "stack1", 313, 244, [9, 11]], [11, "template1", 313, 283, [10, 12, 13, 14]], [12, ["string", "\u00bfC\u00f3mo?"], 323, 298, [11, null]], [13, ["journal", null], 323, 329, [11, null]], [14, "stack2", 313, 391, [11, 15]], [15, "stack1", 313, 430, [14, 16]], [16, "template1", 313, 469, [15, 17, 18, 19]], [17, ["string", "\u00bfPor qu\u00e9?"], 323, 484, [16, null]], [18, ["journal", null], 323, 515, [16, null]], [19, "stack2", 313, 577, [16, 20]], [20, "stack1", 313, 616, [19, 21]], [21, "template1", 313, 655, [20, 22, 23, null]], [22, ["string", "\u00bfPara qui?"], 323, 670, [21, null]], [23, ["journal", null], 323, 701, [21, null]], [24, "start", 301, 8, [null, 5]], [-1, "turtle", 0, 354, 0, 0, 50, 5]] \ No newline at end of file +[[0, "start", 237, 175, [null, 1]], [1, "stack1", 237, 217, [0, 8]], [2, "stack2", 237, 327, [27, 28]], [3, "hat1", 481, 175, [null, 4]], [4, "clean", 481, 217, [3, null]], [5, "hat2", 482, 284, [null, 6]], [6, "wait", 482, 326, [5, 7, null]], [7, ["number", 30], 540, 326, [6, null]], [8, "sandwichtop", 219, 251, [1, 9, 10]], [9, ["string", "\u00bfQu\u00e9?"], 322, 251, [8, null]], [10, "setxy", 237, 293, [8, 11, 12, 13]], [11, "titlex", 295, 293, [10, null]], [12, "titley", 295, 335, [10, null]], [13, "show", 237, 377, [10, 14, 15]], [14, ["string", "\u00bfQu\u00e9?"], 295, 377, [13, null]], [15, "setscale", 237, 419, [13, 16, 17]], [16, ["number", 45], 314, 419, [15, null]], [17, "setxy", 237, 461, [15, 18, 19, 20]], [18, "leftx", 295, 461, [17, null]], [19, "topy", 295, 503, [17, null]], [20, "showaligned", 237, 545, [17, 21, 22]], [21, ["journal", null], 347, 545, [20, null]], [22, "setxy", 237, 587, [20, 23, 24, 25]], [23, "rightx", 295, 587, [22, null]], [24, "topy", 295, 629, [22, null]], [25, "showaligned", 237, 671, [22, 26, 27]], [26, ["description", null], 347, 671, [25, null]], [27, ["sandwichcollapsed", 1], 237, 293, [25, 2]], [28, "stack1", 237, 361, [2, 29]], [29, "sandwichtop", 219, 395, [28, 30, 31]], [30, ["string", "\u00bfC\u00f3mo?"], 322, 395, [29, null]], [31, "setxy", 237, 437, [29, 32, 33, 34]], [32, "titlex", 295, 437, [31, null]], [33, "titley", 295, 479, [31, null]], [34, "show", 237, 521, [31, 35, 36]], [35, ["string", "\u00bfC\u00f3mo?"], 295, 521, [34, null]], [36, "setscale", 237, 563, [34, 37, 38]], [37, ["number", 45], 314, 563, [36, null]], [38, "setxy", 237, 605, [36, 39, 40, 41]], [39, "leftx", 295, 605, [38, null]], [40, "topy", 295, 647, [38, null]], [41, "showaligned", 237, 689, [38, 42, 43]], [42, ["journal", null], 347, 689, [41, null]], [43, "setxy", 237, 731, [41, 44, 45, 46]], [44, "rightx", 295, 731, [43, null]], [45, "topy", 295, 773, [43, null]], [46, "showaligned", 237, 815, [43, 47, 48]], [47, ["description", null], 347, 815, [46, null]], [48, ["sandwichcollapsed", 1], 237, 437, [46, 49]], [49, "stack2", 237, 471, [48, 72]], [50, "stack1", 237, 649, [93, 51]], [51, "sandwichtop", 219, 683, [50, 52, 53]], [52, ["string", "\u00bfPor qu\u00e9?"], 322, 683, [51, null]], [53, "setxy", 237, 725, [51, 54, 55, 56]], [54, "titlex", 295, 725, [53, null]], [55, "titley", 295, 767, [53, null]], [56, "show", 237, 809, [53, 57, 58]], [57, ["string", "\u00bfPor qu\u00e9?"], 295, 809, [56, null]], [58, "setscale", 237, 851, [56, 59, 60]], [59, ["number", 45], 314, 851, [58, null]], [60, "setxy", 237, 893, [58, 61, 62, 63]], [61, "leftx", 295, 893, [60, null]], [62, "topy", 295, 935, [60, null]], [63, "showaligned", 237, 977, [60, 64, 65]], [64, ["journal", null], 347, 977, [63, null]], [65, "setxy", 237, 1019, [63, 66, 67, 68]], [66, "rightx", 295, 1019, [65, null]], [67, "topy", 295, 1061, [65, null]], [68, "showaligned", 237, 1103, [65, 69, 70]], [69, ["description", null], 347, 1103, [68, null]], [70, ["sandwichcollapsed", 1], 237, 725, [68, 71]], [71, "stack2", 237, 759, [70, null]], [72, "stack1", 237, 505, [49, 73]], [73, "sandwichtop", 219, 539, [72, 74, 75]], [74, ["string", "\u00bfPara qui?"], 322, 539, [73, null]], [75, "setxy", 237, 581, [73, 76, 77, 78]], [76, "titlex", 295, 581, [75, null]], [77, "titley", 295, 623, [75, null]], [78, "show", 237, 665, [75, 79, 80]], [79, ["string", "\u00bfPara qui?"], 295, 665, [78, null]], [80, "setscale", 237, 707, [78, 81, 82]], [81, ["number", 45], 314, 707, [80, null]], [82, "setxy", 237, 749, [80, 83, 84, 85]], [83, "leftx", 295, 749, [82, null]], [84, "topy", 295, 791, [82, null]], [85, "showaligned", 237, 833, [82, 86, 87]], [86, ["journal", null], 347, 833, [85, null]], [87, "setxy", 237, 875, [85, 88, 89, 90]], [88, "rightx", 295, 875, [87, null]], [89, "topy", 295, 917, [87, null]], [90, "showaligned", 237, 959, [87, 91, 92]], [91, ["description", null], 347, 959, [90, null]], [92, ["sandwichcollapsed", 1], 237, 581, [90, 93]], [93, "stack2", 237, 615, [92, 50]], [-1, ["turtle", 1], 0, 354, 0, 0, 50, 5]] diff --git a/samples/What_How_Why_For_whom.ta b/samples/What_How_Why_For_whom.ta index 3cc9678..39edbaa 100644 --- a/samples/What_How_Why_For_whom.ta +++ b/samples/What_How_Why_For_whom.ta @@ -1 +1 @@ -[[0, "start", 311, 5, [null, 1]], [1, "stack1", 323, 55, [0, 2]], [2, "template1", 323, 94, [1, 3, 4, 5]], [3, ["string", "What?"], 333, 109, [2, null]], [4, ["journal", null], 333, 140, [2, null]], [5, "stack2", 323, 202, [2, 6]], [6, "stack1", 323, 241, [5, 7]], [7, "template1", 323, 280, [6, 8, 9, 10]], [8, ["string", "How?"], 333, 295, [7, null]], [9, ["journal", null], 333, 326, [7, null]], [10, "stack2", 323, 388, [7, 11]], [11, "stack1", 323, 427, [10, 12]], [12, "template1", 323, 466, [11, 13, 14, 15]], [13, ["string", "Why?"], 333, 481, [12, null]], [14, ["journal", null], 333, 512, [12, null]], [15, "stack2", 323, 574, [12, 16]], [16, "stack1", 323, 613, [15, 17]], [17, "template1", 323, 652, [16, 18, 19, null]], [18, ["string", "For whom?"], 333, 667, [17, null]], [19, ["journal", null], 333, 698, [17, null]], [20, "hat1", 532, 527, [null, 21]], [21, "clean", 544, 577, [20, null]], [22, "hat2", 532, 640, [null, 23]], [23, "wait", 544, 690, [22, 24, null]], [24, ["number", "30"], 618, 699, [23, null]], [-1, "turtle", 0, 354, 0, 0, 50, 5]] \ No newline at end of file +[[0, "start", 237, 175, [null, 1]], [1, "stack1", 237, 217, [0, 8]], [2, "stack2", 237, 327, [27, 28]], [3, "hat1", 481, 175, [null, 4]], [4, "clean", 481, 217, [3, null]], [5, "hat2", 482, 284, [null, 6]], [6, "wait", 482, 326, [5, 7, null]], [7, ["number", 30], 540, 326, [6, null]], [8, "sandwichtop", 219, 251, [1, 9, 10]], [9, ["string", "What?"], 322, 251, [8, null]], [10, "setxy", 237, 293, [8, 11, 12, 13]], [11, "titlex", 295, 293, [10, null]], [12, "titley", 295, 335, [10, null]], [13, "show", 237, 377, [10, 14, 15]], [14, ["string", "What?"], 295, 377, [13, null]], [15, "setscale", 237, 419, [13, 16, 17]], [16, ["number", 45], 314, 419, [15, null]], [17, "setxy", 237, 461, [15, 18, 19, 20]], [18, "leftx", 295, 461, [17, null]], [19, "topy", 295, 503, [17, null]], [20, "showaligned", 237, 545, [17, 21, 22]], [21, ["journal", null], 347, 545, [20, null]], [22, "setxy", 237, 587, [20, 23, 24, 25]], [23, "rightx", 295, 587, [22, null]], [24, "topy", 295, 629, [22, null]], [25, "showaligned", 237, 671, [22, 26, 27]], [26, ["description", null], 347, 671, [25, null]], [27, ["sandwichcollapsed", 1], 237, 293, [25, 2]], [28, "stack1", 237, 361, [2, 29]], [29, "sandwichtop", 219, 395, [28, 30, 31]], [30, ["string", "How?"], 322, 395, [29, null]], [31, "setxy", 237, 437, [29, 32, 33, 34]], [32, "titlex", 295, 437, [31, null]], [33, "titley", 295, 479, [31, null]], [34, "show", 237, 521, [31, 35, 36]], [35, ["string", "How?"], 295, 521, [34, null]], [36, "setscale", 237, 563, [34, 37, 38]], [37, ["number", 45], 314, 563, [36, null]], [38, "setxy", 237, 605, [36, 39, 40, 41]], [39, "leftx", 295, 605, [38, null]], [40, "topy", 295, 647, [38, null]], [41, "showaligned", 237, 689, [38, 42, 43]], [42, ["journal", null], 347, 689, [41, null]], [43, "setxy", 237, 731, [41, 44, 45, 46]], [44, "rightx", 295, 731, [43, null]], [45, "topy", 295, 773, [43, null]], [46, "showaligned", 237, 815, [43, 47, 48]], [47, ["description", null], 347, 815, [46, null]], [48, ["sandwichcollapsed", 1], 237, 437, [46, 49]], [49, "stack2", 237, 471, [48, 72]], [50, "stack1", 237, 649, [93, 51]], [51, "sandwichtop", 219, 683, [50, 52, 53]], [52, ["string", "For whom?"], 322, 683, [51, null]], [53, "setxy", 237, 725, [51, 54, 55, 56]], [54, "titlex", 295, 725, [53, null]], [55, "titley", 295, 767, [53, null]], [56, "show", 237, 809, [53, 57, 58]], [57, ["string", "For whom?"], 295, 809, [56, null]], [58, "setscale", 237, 851, [56, 59, 60]], [59, ["number", 45], 314, 851, [58, null]], [60, "setxy", 237, 893, [58, 61, 62, 63]], [61, "leftx", 295, 893, [60, null]], [62, "topy", 295, 935, [60, null]], [63, "showaligned", 237, 977, [60, 64, 65]], [64, ["journal", null], 347, 977, [63, null]], [65, "setxy", 237, 1019, [63, 66, 67, 68]], [66, "rightx", 295, 1019, [65, null]], [67, "topy", 295, 1061, [65, null]], [68, "showaligned", 237, 1103, [65, 69, 70]], [69, ["description", null], 347, 1103, [68, null]], [70, ["sandwichcollapsed", 1], 237, 725, [68, 71]], [71, "stack2", 237, 759, [70, null]], [72, "stack1", 237, 505, [49, 73]], [73, "sandwichtop", 219, 539, [72, 74, 75]], [74, ["string", "Why?"], 322, 539, [73, null]], [75, "setxy", 237, 581, [73, 76, 77, 78]], [76, "titlex", 295, 581, [75, null]], [77, "titley", 295, 623, [75, null]], [78, "show", 237, 665, [75, 79, 80]], [79, ["string", "Why?"], 295, 665, [78, null]], [80, "setscale", 237, 707, [78, 81, 82]], [81, ["number", 45], 314, 707, [80, null]], [82, "setxy", 237, 749, [80, 83, 84, 85]], [83, "leftx", 295, 749, [82, null]], [84, "topy", 295, 791, [82, null]], [85, "showaligned", 237, 833, [82, 86, 87]], [86, ["journal", null], 347, 833, [85, null]], [87, "setxy", 237, 875, [85, 88, 89, 90]], [88, "rightx", 295, 875, [87, null]], [89, "topy", 295, 917, [87, null]], [90, "showaligned", 237, 959, [87, 91, 92]], [91, ["description", null], 347, 959, [90, null]], [92, ["sandwichcollapsed", 1], 237, 581, [90, 93]], [93, "stack2", 237, 615, [92, 50]], [-1, ["turtle", 1], 0, 354, 0, 0, 50, 5]] \ No newline at end of file diff --git a/samples/birds.ta b/samples/birds.ta index 2619ead..95a0a6f 100644 --- a/samples/birds.ta +++ b/samples/birds.ta @@ -1 +1 @@ -[[0, "start", 210, 23, [null, 1]], [1, "clean", 222, 73, [0, 2]], [2, "repeat", 222, 112, [1, 3, 4, null]], [3, ["number", "30"], 308, 121, [2, null]], [4, "setxy", 317, 161, [2, 5, 8, 11]], [5, "random", 391, 151, [4, 6, 7, null]], [6, ["number", "-600"], 419, 170, [5, null]], [7, ["number", "600"], 541, 170, [5, null]], [8, "random", 391, 188, [4, 9, 10, null]], [9, ["number", "-450"], 419, 207, [8, null]], [10, ["number", "450"], 541, 207, [8, null]], [11, "setpensize", 317, 237, [4, 12, 13]], [12, ["number", "10"], 391, 254, [11, null]], [13, "repeat", 317, 291, [11, 14, 15, null]], [14, ["number", "720"], 403, 300, [13, null]], [15, "forward", 412, 340, [13, 16, 17]], [16, ["number", "200"], 486, 349, [15, null]], [17, "setcolor", 412, 379, [15, 18, 21]], [18, "division2", 486, 372, [17, 19, 20]], [19, "xcor", 526, 380, [18, null]], [20, ["number", "5"], 545, 413, [18, null]], [21, "setshade", 412, 433, [17, 22, 23]], [22, "heading", 486, 450, [21, null]], [23, "back", 412, 487, [21, 24, 25]], [24, ["number", "400"], 486, 496, [23, null]], [25, "forward", 412, 526, [23, 26, 29]], [26, "random", 486, 516, [25, 27, 28, null]], [27, ["number", "190"], 514, 535, [26, null]], [28, ["number", "210"], 636, 535, [26, null]], [29, "left", 412, 565, [25, 30, null]], [30, ["number", "1"], 486, 574, [29, null]], [-1, "turtle", 397.92803801392898, 314.2997786718239, 29.0, 79.585607602785799, 29.0, 10.0]] \ No newline at end of file +[[0, "start", 176, 175, [null, 1]], [1, "clean", 176, 217, [0, 2]], [2, "repeat", 176, 251, [1, 3, 4, null]], [3, ["number", 30], 227, 251, [2, null]], [4, "setxy", 241, 311, [2, 31, 8, 32]], [5, "random", 473, 311, [31, 6, 7, null]], [6, ["number", -600], 559, 311, [5, null]], [7, ["number", 600], 559, 353, [5, null]], [8, "random", 299, 353, [4, 9, 10, null]], [9, ["number", -450], 385, 353, [8, null]], [10, ["number", 450], 385, 395, [8, null]], [11, "setpensize", 241, 429, [32, 12, 13]], [12, ["number", 10], 343, 429, [11, null]], [13, "repeat", 241, 471, [11, 14, 15, null]], [14, ["number", 720], 292, 471, [13, null]], [15, "forward", 306, 531, [13, 16, 21]], [16, ["number", 200], 377, 531, [15, null]], [17, "setcolor", 306, 615, [21, 18, 33]], [18, "division2", 383, 615, [17, 19, 20]], [19, "xcor", 437, 615, [18, null]], [20, ["number", 5], 461, 661, [18, null]], [21, "setshade", 306, 573, [15, 22, 17]], [22, "heading", 391, 573, [21, null]], [23, "back", 306, 691, [33, 24, 25]], [24, ["number", 400], 364, 691, [23, null]], [25, "forward", 306, 733, [23, 26, 34]], [26, "random", 377, 733, [25, 27, 28, null]], [27, ["number", 190], 463, 733, [26, null]], [28, ["number", 210], 463, 775, [26, null]], [29, "left", 306, 809, [34, 30, null]], [30, ["number", 1], 364, 809, [29, null]], [31, ["identity2", 60], 299, 311, [4, 5]], [32, ["vspace", 0], 241, 395, [4, 11]], [33, ["vspace", 0], 306, 657, [17, 23]], [34, ["vspace", 0], 306, 775, [25, 29]], [-1, ["turtle", 1], 109, 460, 323.0, -2.3992725042378367, 323.0, 10.0]] \ No newline at end of file diff --git a/samples/bubbles.ta b/samples/bubbles.ta index 0989b81..25331a7 100644 --- a/samples/bubbles.ta +++ b/samples/bubbles.ta @@ -1 +1 @@ -[[0, "setcolor", 219, 125, [16, 1, 2]], [1, ["number", "60"], 293, 142, [0, null]], [2, "repeat", 219, 179, [0, 3, 4, null]], [3, ["number", "5000"], 305, 188, [2, null]], [4, "setxy", 314, 228, [2, 5, 8, 11]], [5, "random", 388, 218, [4, 6, 7, null]], [6, ["number", "-600"], 416, 237, [5, null]], [7, ["number", "600"], 538, 237, [5, null]], [8, "random", 388, 255, [4, 9, 10, null]], [9, ["number", "-450"], 416, 274, [8, null]], [10, ["number", "450"], 538, 274, [8, null]], [11, "storeinbox1", 314, 304, [4, 18, 12]], [12, "setpensize", 314, 358, [11, 24, 13]], [13, "setshade", 314, 412, [12, 21, 14]], [14, "forward", 314, 466, [13, 15, null]], [15, ["number", "1"], 388, 475, [14, null]], [16, "clean", 219, 86, [17, 0]], [17, "start", 207, 36, [null, 16]], [18, "plus2", 388, 297, [11, 19, 20]], [19, "ycor", 428, 305, [18, null]], [20, ["number", "900"], 428, 338, [18, null]], [21, "division2", 388, 405, [13, 22, 23]], [22, "box1", 428, 413, [21, null]], [23, ["number", "12"], 447, 446, [21, null]], [24, "division2", 388, 351, [12, 25, 26]], [25, "box1", 428, 359, [24, null]], [26, ["number", "9"], 447, 392, [24, null]], [-1, "turtle", -516.0, -166.0, 0, 60.0, 61.083333333333336, 81.444444444444443]] \ No newline at end of file +[[0, "setcolor", 252, 251, [12, 1, 2]], [1, ["number", 60], 329, 251, [0, null]], [2, "repeat", 252, 293, [0, 3, 4, null]], [3, ["number", 5000], 303, 293, [2, null]], [4, "setxy", 317, 353, [2, 23, 6, 28]], [5, "random", 589, 353, [23, 24, 25, null]], [6, "random", 375, 395, [4, 26, 27, null]], [7, "storeinbox1", 317, 471, [28, 14, 29]], [8, "setpensize", 317, 547, [29, 20, 30]], [9, "setshade", 317, 623, [30, 17, 31]], [10, "forward", 317, 699, [31, 11, null]], [11, ["number", 1], 388, 699, [10, null]], [12, "clean", 252, 217, [13, 0]], [13, "start", 252, 175, [null, 12]], [14, "plus2", 435, 471, [7, 15, 16]], [15, "ycor", 489, 471, [14, null]], [16, ["number", 900], 489, 513, [14, null]], [17, "division2", 402, 623, [9, 18, 19]], [18, "box1", 456, 623, [17, null]], [19, ["number", 12], 480, 669, [17, null]], [20, "division2", 419, 547, [8, 21, 22]], [21, "box1", 473, 547, [20, null]], [22, ["number", 9], 497, 593, [20, null]], [23, ["identity2", 80], 375, 353, [4, 5]], [24, "leftpos", 675, 353, [5, null]], [25, "rightpos", 675, 395, [5, null]], [26, "bottompos", 461, 395, [6, null]], [27, "toppos", 461, 437, [6, null]], [28, ["vspace", 0], 317, 437, [4, 7]], [29, ["vspace", 0], 317, 513, [7, 8]], [30, ["vspace", 0], 317, 589, [8, 9]], [31, ["vspace", 0], 317, 665, [9, 10]], [-1, ["turtle", 1], 528, 31, 0, 60.0, 77.5, 103.33333333333333]] \ No newline at end of file diff --git a/samples/candyvortex.ta b/samples/candyvortex.ta index d0d2dea..81b7da5 100644 --- a/samples/candyvortex.ta +++ b/samples/candyvortex.ta @@ -1 +1 @@ -[[0, "start", 215, 23, [null, 1]], [1, "clean", 227, 73, [0, 2]], [2, "repeat", 227, 112, [1, 3, 4, null]], [3, ["number", "350"], 313, 121, [2, null]], [4, "setpensize", 322, 161, [2, 5, 6]], [5, "heading", 396, 178, [4, null]], [6, "forward", 322, 215, [4, 7, 8]], [7, ["number", "1000"], 396, 224, [6, null]], [8, "setcolor", 322, 254, [6, 9, 10]], [9, "xcor", 396, 271, [8, null]], [10, "setshade", 322, 308, [8, 11, 12]], [11, "ycor", 396, 325, [10, null]], [12, "back", 322, 362, [10, 13, 14]], [13, ["number", "1000"], 396, 371, [12, null]], [14, "left", 322, 401, [12, 15, null]], [15, ["number", "1"], 396, 410, [14, null]], [-1, "turtle", 0.0, 0.0, 10.0, 190.8089953765448, 981.62718344766392, 11.0]] \ No newline at end of file +[[0, "start", 226, 175, [null, 1]], [1, "clean", 226, 217, [0, 2]], [2, "repeat", 226, 251, [1, 3, 4, null]], [3, ["number", 350], 277, 251, [2, null]], [4, "setpensize", 291, 311, [2, 5, 6]], [5, "heading", 393, 311, [4, null]], [6, "forward", 291, 353, [4, 7, 8]], [7, ["number", 1000], 362, 353, [6, null]], [8, "setcolor", 291, 395, [6, 9, 10]], [9, "xcor", 368, 395, [8, null]], [10, "setshade", 291, 437, [8, 11, 12]], [11, "ycor", 376, 437, [10, null]], [12, "back", 291, 479, [10, 13, 14]], [13, ["number", 1000], 349, 479, [12, null]], [14, "left", 291, 521, [12, 15, null]], [15, ["number", 1], 349, 521, [14, null]], [-1, ["turtle", 1], 0, 0, 10.0, 190.8089953765448, 981.62718344766392, 11.0]] \ No newline at end of file diff --git a/samples/cherlin.ta b/samples/cherlin.ta new file mode 100644 index 0000000..5027788 --- /dev/null +++ b/samples/cherlin.ta @@ -0,0 +1 @@ +[[0, "hat1", 555, 188, [null, 1]], [1, "repeat", 555, 230, [0, 2, 3, null]], [2, ["number", 100], 606, 230, [1, null]], [3, "setpensize", 620, 290, [1, 81, 4]], [4, "setcolor", 620, 332, [3, 5, 83]], [5, "plus2", 697, 332, [4, 6, 7]], [6, "color", 751, 332, [5, null]], [7, ["number", 2], 751, 374, [5, null]], [8, "setxy", 620, 408, [83, 9, 10, 84]], [9, ["number", 0], 678, 408, [8, null]], [10, "minus2", 678, 450, [8, 11, 12]], [11, ["number", 0], 732, 450, [10, null]], [12, "box1", 756, 496, [10, null]], [13, "seth", 620, 526, [84, 14, 15]], [14, ["number", 270], 719, 526, [13, null]], [15, "arc", 620, 568, [13, 16, 17, 18]], [16, ["number", 360], 678, 568, [15, null]], [17, "box1", 678, 610, [15, null]], [18, "setxy", 620, 652, [15, 19, 20, 85]], [19, ["number", 400], 678, 652, [18, null]], [20, "minus2", 678, 694, [18, 21, 22]], [21, "box1", 732, 694, [20, null]], [22, ["number", 200], 756, 740, [20, null]], [23, "forward", 620, 770, [85, 24, 25]], [24, ["number", 800], 691, 770, [23, null]], [25, "stack2", 620, 812, [23, 26]], [26, "storeinbox1", 620, 846, [25, 27, null]], [27, "plus2", 738, 846, [26, 28, 29]], [28, "box1", 792, 846, [27, null]], [29, ["number", 4], 792, 888, [27, null]], [30, "start", 265, 195, [null, 31]], [31, "clean", 265, 237, [30, 32]], [32, "setpensize", 265, 271, [31, 82, 33]], [33, "storeinbox1", 265, 313, [32, 34, 35]], [34, ["number", 100], 383, 313, [33, null]], [35, "setcolor", 265, 355, [33, 36, 37]], [36, ["number", 0], 342, 355, [35, null]], [37, "setxy", 265, 397, [35, 38, 39, 40]], [38, ["number", 400], 323, 397, [37, null]], [39, ["number", -200], 323, 439, [37, null]], [40, "seth", 265, 481, [37, 41, 42]], [41, ["number", 270], 364, 481, [40, null]], [42, "forward", 265, 523, [40, 43, 44]], [43, ["number", 800], 336, 523, [42, null]], [44, "setxy", 265, 565, [42, 45, 46, 47]], [45, ["number", 0], 323, 565, [44, null]], [46, ["number", 0], 323, 607, [44, null]], [47, "forward", 265, 649, [44, 48, 49]], [48, ["number", 0], 336, 649, [47, null]], [49, "stack1", 265, 691, [47, null]], [50, "hat2", 930, 192, [null, 51]], [51, "setpensize", 930, 234, [50, 52, 53]], [52, ["number", 8], 1032, 234, [51, null]], [53, "storeinbox2", 930, 276, [51, 54, 60]], [54, "product2", 1048, 276, [53, 55, 56]], [55, ["number", 20], 1102, 276, [54, null]], [56, "sqrt", 1102, 318, [54, 57]], [57, "minus2", 1156, 318, [56, 58, 59]], [58, "box1", 1210, 318, [57, null]], [59, ["number", 100], 1234, 364, [57, null]], [60, ["vspace", 0], 930, 318, [53, 61]], [61, "setxy", 930, 352, [60, 62, 63, 66]], [62, "box2", 988, 352, [61, null]], [63, "minus2", 988, 394, [61, 64, 65]], [64, "box1", 1042, 394, [63, null]], [65, ["number", 200], 1066, 440, [63, null]], [66, ["vspace", 0], 930, 436, [61, 67]], [67, "forward", 930, 470, [66, 68, 70]], [68, ["identity2", 0], 1001, 470, [67, 69]], [69, ["number", 0], 1055, 470, [68, null]], [70, "setxy", 930, 512, [67, 74, 75, 78]], [71, "minus2", 1162, 512, [74, 72, 73]], [72, ["number", 0], 1216, 512, [71, null]], [73, "box2", 1240, 558, [71, null]], [74, ["identity2", 60], 988, 512, [70, 71]], [75, "minus2", 988, 554, [70, 76, 77]], [76, "box1", 1042, 554, [75, null]], [77, ["number", 200], 1066, 600, [75, null]], [78, ["vspace", 0], 930, 596, [70, 79]], [79, "forward", 930, 630, [78, 80, null]], [80, ["number", 0], 1001, 630, [79, null]], [81, ["number", 1], 722, 290, [3, null]], [82, ["number", 3], 367, 271, [32, null]], [83, ["vspace", 0], 620, 374, [4, 8]], [84, ["vspace", 0], 620, 492, [8, 13]], [85, ["vspace", 0], 620, 736, [18, 23]], [-1, ["turtle", 1], -397, 296, 270.0, 200.0, 50, 8.0]] \ No newline at end of file diff --git a/samples/clock.ta b/samples/clock.ta index 43a9cf8..0e981e6 100644 --- a/samples/clock.ta +++ b/samples/clock.ta @@ -1 +1 @@ -[[0, "hat", -4, 831, [null, 1, 2]], [1, ["string", "show seconds"], 17, 858, [0, null]], [2, "if", 34, 901, [0, 3, 8, 9]], [3, "equal", 114, 911, [2, 4, 6, null]], [4, "box", 146, 915, [3, 5, null]], [5, ["string", "old second"], 164, 920, [4, null]], [6, "box", 295, 915, [3, 7, null]], [7, ["string", "seconds"], 313, 920, [6, null]], [8, "stopstack", 129, 975, [2, null]], [9, "setcolor", 34, 1016, [2, 10, 11]], [10, ["number", "60"], 108, 1033, [9, null]], [11, "setshade", 34, 1070, [9, 12, 13]], [12, ["number", "100"], 108, 1087, [11, null]], [13, "seth", 34, 1124, [11, 14, 20]], [14, "product2", 108, 1109, [13, 15, 17]], [15, "box", 148, 1112, [14, 16, null]], [16, ["string", "old second"], 166, 1117, [15, null]], [17, "division2", 148, 1126, [14, 18, 19]], [18, ["number", "360"], 188, 1134, [17, null]], [19, ["number", "60"], 207, 1167, [17, null]], [20, "setpensize", 34, 1163, [13, 21, 22]], [21, ["number", "5"], 108, 1180, [20, null]], [22, "forward", 34, 1217, [20, 23, 24]], [23, ["number", "225"], 108, 1226, [22, null]], [24, "back", 34, 1256, [22, 25, 26]], [25, ["number", "225"], 108, 1265, [24, null]], [26, "setshade", 34, 1295, [24, 27, 28]], [27, ["number", "50"], 108, 1312, [26, null]], [28, "setcolor", 34, 1349, [26, 29, 30]], [29, ["number", "0"], 108, 1366, [28, null]], [30, "seth", 34, 1403, [28, 31, 37]], [31, "product2", 108, 1388, [30, 32, 34]], [32, "box", 148, 1391, [31, 33, null]], [33, ["string", "seconds"], 166, 1396, [32, null]], [34, "division2", 148, 1405, [31, 35, 36]], [35, ["number", "360"], 188, 1413, [34, null]], [36, ["number", "60"], 207, 1446, [34, null]], [37, "setpensize", 34, 1442, [30, 38, 39]], [38, ["number", "5"], 108, 1459, [37, null]], [39, "forward", 34, 1496, [37, 40, 41]], [40, ["number", "225"], 108, 1505, [39, null]], [41, "back", 34, 1535, [39, 42, 43]], [42, ["number", "225"], 108, 1544, [41, null]], [43, "storein", 34, 1574, [41, 44, 45, null]], [44, ["string", "old second"], 46, 1601, [43, null]], [45, "box", 164, 1587, [43, 46, null]], [46, ["string", "seconds"], 182, 1592, [45, null]], [47, "hat", 900, 833, [null, 48, 49]], [48, ["string", "dial"], 921, 860, [47, null]], [49, "clean", 938, 903, [47, 50]], [50, "fillscreen", 938, 942, [49, 51, 52, 53]], [51, ["number", "60"], 1012, 951, [50, null]], [52, ["number", "100"], 1012, 988, [50, null]], [53, "setpensize", 938, 1018, [50, 54, 55]], [54, ["number", "10"], 1012, 1035, [53, null]], [55, "setxy", 938, 1072, [53, 56, 57, 58]], [56, ["number", "-300"], 1012, 1081, [55, null]], [57, ["number", "0"], 1012, 1118, [55, null]], [58, "repeat", 938, 1148, [55, 59, 60, 64]], [59, ["number", "12"], 1024, 1157, [58, null]], [60, "setcolor", 1033, 1197, [58, 284, 61]], [61, "arc", 1033, 1251, [60, 62, 63, null]], [62, ["number", "30"], 1107, 1260, [61, null]], [63, ["number", "300"], 1107, 1297, [61, null]], [64, "setxy", 938, 1238, [58, 65, 66, 67]], [65, ["number", "0"], 1012, 1247, [64, null]], [66, ["number", "0"], 1012, 1284, [64, null]], [67, "repeat", 938, 1314, [64, 68, 69, 82]], [68, ["number", "60"], 1024, 1323, [67, null]], [69, "hspace", 1033, 1354, [67, 70]], [70, "setcolor", 1124, 1362, [69, 287, 71]], [71, "penup", 1124, 1416, [70, 72]], [72, "forward", 1124, 1455, [71, 73, 74]], [73, ["number", "290"], 1198, 1464, [72, null]], [74, "pendown", 1124, 1494, [72, 75]], [75, "forward", 1124, 1533, [74, 76, 77]], [76, ["number", "10"], 1198, 1542, [75, null]], [77, "penup", 1124, 1572, [75, 78]], [78, "back", 1124, 1611, [77, 79, 80]], [79, ["number", "300"], 1198, 1620, [78, null]], [80, "right", 1124, 1650, [78, 81, null]], [81, ["number", "6"], 1198, 1659, [80, null]], [82, "setxy", 938, 1404, [67, 83, 84, 85]], [83, ["number", "-20"], 1012, 1413, [82, null]], [84, ["number", "0"], 1012, 1450, [82, null]], [85, "storeinbox", 938, 1480, [82, 86, 87, 88]], [86, ["string", "box"], 950, 1491, [85, null]], [87, ["number", "12"], 1068, 1491, [85, null]], [88, "repeat", 938, 1519, [85, 89, 90, 113]], [89, ["number", "12"], 1024, 1528, [88, null]], [90, "vspace", 1033, 1568, [88, 91]], [91, "penup", 1033, 1637, [90, 92]], [92, "seth", 1033, 1676, [91, 93, 99]], [93, "product2", 1107, 1661, [92, 94, 96]], [94, "box", 1147, 1664, [93, 95, null]], [95, ["string", "box"], 1165, 1669, [94, null]], [96, "division2", 1147, 1678, [93, 97, 98]], [97, ["number", "360"], 1187, 1686, [96, null]], [98, ["number", "12"], 1206, 1719, [96, null]], [99, "forward", 1033, 1715, [92, 100, 101]], [100, ["number", "250"], 1107, 1724, [99, null]], [101, "show", 1033, 1754, [99, 102, 104]], [102, "box", 1107, 1758, [101, 103, null]], [103, ["string", "box"], 1125, 1763, [102, null]], [104, "back", 1033, 1793, [101, 105, 106]], [105, ["number", "250"], 1107, 1802, [104, null]], [106, "storeinbox", 1033, 1832, [104, 107, 108, 112]], [107, ["string", "box"], 1045, 1843, [106, null]], [108, "minus2", 1163, 1819, [106, 109, 111]], [109, "box", 1203, 1822, [108, 110, null]], [110, ["string", "box"], 1221, 1827, [109, null]], [111, ["number", "1"], 1222, 1860, [108, null]], [112, "pendown", 1033, 1871, [106, null]], [113, "setxy", 938, 1609, [88, 114, 115, null]], [114, ["number", "0"], 1012, 1618, [113, null]], [115, ["number", "0"], 1012, 1655, [113, null]], [116, "hat", 261, 832, [null, 117, 118]], [117, ["string", "show minutes"], 282, 859, [116, null]], [118, "setcolor", 299, 902, [116, 119, 120]], [119, ["number", "60"], 373, 919, [118, null]], [120, "setshade", 299, 956, [118, 121, 122]], [121, ["number", "100"], 373, 973, [120, null]], [122, "seth", 299, 1010, [120, 123, 129]], [123, "product2", 373, 995, [122, 124, 126]], [124, "box", 413, 998, [123, 125, null]], [125, ["string", "old minute"], 431, 1003, [124, null]], [126, "division2", 413, 1012, [123, 127, 128]], [127, ["number", "360"], 453, 1020, [126, null]], [128, ["number", "60"], 472, 1053, [126, null]], [129, "setpensize", 299, 1049, [122, 130, 131]], [130, ["number", "5"], 373, 1066, [129, null]], [131, "forward", 299, 1103, [129, 132, 133]], [132, ["number", "200"], 373, 1112, [131, null]], [133, "setpensize", 299, 1142, [131, 134, 135]], [134, ["number", "25"], 373, 1159, [133, null]], [135, "forward", 299, 1196, [133, 136, 137]], [136, ["number", "1"], 373, 1205, [135, null]], [137, "back", 299, 1235, [135, 138, 139]], [138, ["number", "1"], 373, 1244, [137, null]], [139, "setpensize", 299, 1274, [137, 140, 141]], [140, ["number", "7"], 373, 1291, [139, null]], [141, "back", 299, 1328, [139, 142, 143]], [142, ["number", "200"], 373, 1337, [141, null]], [143, "setshade", 299, 1367, [141, 144, 145]], [144, ["number", "30"], 373, 1384, [143, null]], [145, "setcolor", 299, 1421, [143, 146, 147]], [146, ["number", "30"], 373, 1438, [145, null]], [147, "seth", 299, 1475, [145, 148, 154]], [148, "product2", 373, 1460, [147, 149, 151]], [149, "box", 413, 1463, [148, 150, null]], [150, ["string", "minutes"], 431, 1468, [149, null]], [151, "division2", 413, 1477, [148, 152, 153]], [152, ["number", "360"], 453, 1485, [151, null]], [153, ["number", "60"], 472, 1518, [151, null]], [154, "setpensize", 299, 1514, [147, 155, 156]], [155, ["number", "5"], 373, 1531, [154, null]], [156, "forward", 299, 1568, [154, 157, 158]], [157, ["number", "200"], 373, 1577, [156, null]], [158, "setpensize", 299, 1607, [156, 159, 160]], [159, ["number", "25"], 373, 1624, [158, null]], [160, "forward", 299, 1661, [158, 161, 162]], [161, ["number", "1"], 373, 1670, [160, null]], [162, "setpensize", 299, 1700, [160, 163, 164]], [163, ["number", "5"], 373, 1717, [162, null]], [164, "back", 299, 1754, [162, 165, 166]], [165, ["number", "201"], 373, 1763, [164, null]], [166, "storein", 299, 1793, [164, 167, 168, null]], [167, ["string", "old minute"], 311, 1820, [166, null]], [168, "box", 429, 1806, [166, 169, null]], [169, ["string", "minutes"], 447, 1811, [168, null]], [170, "hat", 671, 835, [null, 171, 172]], [171, ["string", "alarm"], 692, 862, [170, null]], [172, "seth", 709, 905, [170, 173, 174]], [173, ["number", "0"], 783, 914, [172, null]], [174, "setxy", 709, 944, [172, 175, 176, 177]], [175, ["number", "-360"], 783, 953, [174, null]], [176, ["number", "0"], 783, 990, [174, null]], [177, "setcolor", 709, 1020, [174, 178, 181]], [178, "random", 783, 1018, [177, 179, 180, null]], [179, ["number", "0"], 811, 1037, [178, null]], [180, ["number", "100"], 933, 1037, [178, null]], [181, "setpensize", 709, 1074, [177, 182, 183]], [182, ["number", "60"], 783, 1091, [181, null]], [183, "repeat", 709, 1128, [181, 184, 185, 194]], [184, ["number", "60"], 795, 1137, [183, null]], [185, "setshade", 804, 1177, [183, 186, 189]], [186, "division2", 878, 1170, [185, 187, 188]], [187, "heading", 918, 1178, [186, null]], [188, ["number", "6"], 937, 1211, [186, null]], [189, "arc", 804, 1231, [185, 190, 191, 192]], [190, ["number", "6"], 878, 1240, [189, null]], [191, ["number", "360"], 878, 1277, [189, null]], [192, "wait", 804, 1307, [189, 193, null]], [193, ["number", "1"], 878, 1316, [192, null]], [194, "setcolor", 709, 1218, [183, 195, 196]], [195, ["number", "60"], 783, 1235, [194, null]], [196, "setshade", 709, 1272, [194, 197, 198]], [197, ["number", "100"], 783, 1289, [196, null]], [198, "repeat", 709, 1326, [196, 199, 200, 203]], [199, ["number", "60"], 795, 1335, [198, null]], [200, "arc", 804, 1375, [198, 201, 202, null]], [201, ["number", "6"], 878, 1384, [200, null]], [202, ["number", "360"], 878, 1421, [200, null]], [203, "setxy", 709, 1416, [198, 204, 205, null]], [204, ["number", "0"], 783, 1425, [203, null]], [205, ["number", "0"], 783, 1462, [203, null]], [206, "hat", 442, 831, [null, 207, 208]], [207, ["string", "show hours"], 463, 858, [206, null]], [208, "setcolor", 480, 901, [206, 209, 210]], [209, ["number", "60"], 554, 918, [208, null]], [210, "setshade", 480, 955, [208, 211, 212]], [211, ["number", "100"], 554, 972, [210, null]], [212, "seth", 480, 1009, [210, 213, 230]], [213, "plus2", 554, 994, [212, 214, 221]], [214, "identity2", 594, 966, [213, 215]], [215, "product2", 634, 949, [214, 216, 218]], [216, "box", 674, 952, [215, 217, null]], [217, ["string", "old hour"], 692, 957, [216, null]], [218, "division2", 674, 966, [215, 219, 220]], [219, ["number", "360"], 714, 974, [218, null]], [220, ["number", "12"], 733, 1007, [218, null]], [221, "identity", 594, 1035, [213, 222]], [222, "division2", 634, 1039, [221, 223, 228]], [223, "product2", 674, 1023, [222, 224, 225]], [224, "box", 714, 1026, [223, 283, null]], [225, "division2", 714, 1040, [223, 226, 227]], [226, ["number", "360"], 754, 1048, [225, null]], [227, ["number", "60"], 773, 1081, [225, null]], [228, "identity", 693, 1080, [222, 229]], [229, ["number", "12"], 733, 1108, [228, null]], [230, "setpensize", 480, 1048, [212, 231, 232]], [231, ["number", "5"], 554, 1065, [230, null]], [232, "forward", 480, 1102, [230, 233, 234]], [233, ["number", "100"], 554, 1111, [232, null]], [234, "setpensize", 480, 1141, [232, 235, 236]], [235, ["number", "25"], 554, 1158, [234, null]], [236, "forward", 480, 1195, [234, 237, 238]], [237, ["number", "1"], 554, 1204, [236, null]], [238, "back", 480, 1234, [236, 239, 240]], [239, ["number", "1"], 554, 1243, [238, null]], [240, "setpensize", 480, 1273, [238, 241, 242]], [241, ["number", "7"], 554, 1290, [240, null]], [242, "back", 480, 1327, [240, 243, 244]], [243, ["number", "100"], 554, 1336, [242, null]], [244, "setshade", 480, 1366, [242, 245, 246]], [245, ["number", "50"], 554, 1383, [244, null]], [246, "setcolor", 480, 1420, [244, 247, 248]], [247, ["number", "70"], 554, 1437, [246, null]], [248, "seth", 480, 1474, [246, 249, 267]], [249, "plus2", 554, 1459, [248, 250, 257]], [250, "identity2", 594, 1431, [249, 251]], [251, "product2", 634, 1414, [250, 252, 254]], [252, "box", 674, 1417, [251, 253, null]], [253, ["string", "hours"], 692, 1422, [252, null]], [254, "division2", 674, 1431, [251, 255, 256]], [255, ["number", "360"], 714, 1439, [254, null]], [256, ["number", "12"], 733, 1472, [254, null]], [257, "identity", 594, 1500, [249, 258]], [258, "division2", 634, 1504, [257, 259, 265]], [259, "product2", 674, 1488, [258, 260, 262]], [260, "box", 714, 1491, [259, 261, null]], [261, ["string", "minutes"], 732, 1496, [260, null]], [262, "division2", 714, 1505, [259, 263, 264]], [263, ["number", "360"], 754, 1513, [262, null]], [264, ["number", "60"], 773, 1546, [262, null]], [265, "identity", 693, 1545, [258, 266]], [266, ["number", "12"], 733, 1573, [265, null]], [267, "setpensize", 480, 1513, [248, 268, 269]], [268, ["number", "5"], 554, 1530, [267, null]], [269, "forward", 480, 1567, [267, 270, 271]], [270, ["number", "100"], 554, 1576, [269, null]], [271, "setpensize", 480, 1606, [269, 272, 273]], [272, ["number", "25"], 554, 1623, [271, null]], [273, "forward", 480, 1660, [271, 274, 275]], [274, ["number", "1"], 554, 1669, [273, null]], [275, "setpensize", 480, 1699, [273, 276, 277]], [276, ["number", "5"], 554, 1716, [275, null]], [277, "back", 480, 1753, [275, 278, 279]], [278, ["number", "101"], 554, 1762, [277, null]], [279, "storein", 480, 1792, [277, 280, 281, null]], [280, ["string", "old hour"], 492, 1819, [279, null]], [281, "box", 610, 1805, [279, 282, null]], [282, ["string", "hours"], 628, 1810, [281, null]], [283, ["string", "old minute"], 732, 1031, [224, null]], [284, "division2", 1107, 1190, [60, 285, 286]], [285, "heading", 1147, 1198, [284, null]], [286, ["number", "3.6"], 1166, 1231, [284, null]], [287, "division2", 1198, 1355, [70, 289, 288]], [288, ["number", "3.6"], 1257, 1396, [287, null]], [289, "heading", 1238, 1363, [287, null]], [290, "start", 723, 26, [null, 291]], [291, "storein", 735, 76, [290, 292, 293, 294]], [292, ["string", "alarm hour"], 747, 103, [291, null]], [293, ["number", "10"], 865, 94, [291, null]], [294, "storein", 735, 130, [291, 295, 296, 297]], [295, ["string", "alarm minute"], 747, 157, [294, null]], [296, ["number", "30"], 865, 148, [294, null]], [297, "stack", 735, 184, [294, 298, 299]], [298, ["string", "dial"], 747, 196, [297, null]], [299, "storein", 735, 223, [297, 300, 301, 302]], [300, ["string", "old hour"], 747, 250, [299, null]], [301, ["number", "12"], 865, 241, [299, null]], [302, "storein", 735, 277, [299, 303, 304, 305]], [303, ["string", "old minute"], 747, 304, [302, null]], [304, ["number", "0"], 865, 295, [302, null]], [305, "storein", 735, 331, [302, 306, 307, 308]], [306, ["string", "old second"], 747, 358, [305, null]], [307, ["number", "0"], 865, 349, [305, null]], [308, "storein", 735, 385, [305, 309, 310, 311]], [309, ["string", "timezone"], 747, 412, [308, null]], [310, ["number", "-4"], 865, 403, [308, null]], [311, "forever", 735, 439, [308, 312, null]], [312, "storein", 816, 453, [311, 313, 314, 320]], [313, ["string", "hours"], 828, 480, [312, null]], [314, "plus2", 946, 447, [312, 315, 318]], [315, "myfunc", 986, 445, [314, 316, 317]], [316, ["string", "localtime().tm_hour"], 1010, 456, [315, null]], [317, ["number", "100"], 1128, 455, [315, null]], [318, "box", 986, 483, [314, 319, null]], [319, ["string", "timezone"], 1004, 488, [318, null]], [320, "storein", 816, 507, [312, 321, 322, 325]], [321, ["string", "minutes"], 828, 534, [320, null]], [322, "myfunc", 946, 515, [320, 323, 324]], [323, ["string", "localtime().tm_min"], 970, 526, [322, null]], [324, ["number", "100"], 1088, 525, [322, null]], [325, "storein", 816, 561, [320, 326, 327, 330]], [326, ["string", "seconds"], 828, 588, [325, null]], [327, "myfunc", 946, 569, [325, 328, 329]], [328, ["string", "localtime().tm_sec"], 970, 580, [327, null]], [329, ["number", "100"], 1088, 579, [327, null]], [330, "stack", 816, 615, [325, 331, 332]], [331, ["string", "clock"], 828, 627, [330, null]], [332, "if", 816, 654, [330, 333, 344, 346]], [333, "equal", 896, 664, [332, 334, 336, 338]], [334, "box", 928, 668, [333, 335, null]], [335, ["string", "alarm hour"], 946, 673, [334, null]], [336, "box", 1077, 668, [333, 337, null]], [337, ["string", "hours"], 1095, 673, [336, null]], [338, "and", 1188, 661, [333, 339]], [339, "equal", 1252, 664, [338, 340, 342, null]], [340, "box", 1284, 668, [339, 341, null]], [341, ["string", "alarm minute"], 1302, 673, [340, null]], [342, "box", 1433, 668, [339, 343, null]], [343, ["string", "minutes"], 1451, 673, [342, null]], [344, "stack", 911, 728, [332, 345, null]], [345, ["string", "alarm"], 923, 740, [344, null]], [346, "wait", 816, 769, [332, 347, null]], [347, ["number", "1"], 890, 778, [346, null]], [348, "hat", 972, 25, [null, 349, 350]], [349, ["string", "clock"], 993, 52, [348, null]], [350, "stack", 1010, 95, [348, 351, 352]], [351, ["string", "show seconds"], 1022, 107, [350, null]], [352, "stack", 1010, 134, [350, 353, 354]], [353, ["string", "show hours"], 1022, 146, [352, null]], [354, "stack", 1010, 173, [352, 355, null]], [355, ["string", "show minutes"], 1022, 185, [354, null]], [-1, "turtle", -3.5527136788005009e-15, 5.6843418860808015e-14, 6.0, 30.0, 30.0, 5.0]] +[[0, "hat", 729, 622, [null, 1, 389]], [1, ["string", "show seconds"], 787, 630, [0, null]], [2, "if", 729, 748, [90, 3, 8, 9]], [3, "equal2", 767, 714, [2, 4, 6, null]], [4, "box", 813, 714, [3, 5, null]], [5, ["string", "old second"], 868, 714, [4, null]], [6, "box", 813, 756, [3, 7, null]], [7, ["string", "seconds"], 868, 756, [6, null]], [8, "stopstack", 781, 816, [2, null]], [9, "setcolor", 729, 834, [2, 10, 11]], [10, ["number", 60], 806, 834, [9, null]], [11, "setshade", 729, 876, [9, 12, 13]], [12, ["number", 100], 814, 876, [11, null]], [13, "seth", 729, 918, [11, 14, 20]], [14, "product2", 828, 918, [13, 15, 17]], [15, "box", 882, 918, [14, 16, null]], [16, ["string", "old second"], 937, 918, [15, null]], [17, "division2", 882, 960, [14, 18, 19]], [18, ["number", 360], 936, 960, [17, null]], [19, ["number", 60], 960, 1006, [17, null]], [20, "setpensize", 729, 960, [13, 21, 22]], [21, ["number", 5], 831, 960, [20, null]], [22, "forward", 729, 1002, [20, 23, 24]], [23, ["number", 225], 800, 1002, [22, null]], [24, "back", 729, 1044, [22, 25, 391]], [25, ["number", 225], 787, 1044, [24, null]], [26, "setshade", 729, 790, [392, 27, 28]], [27, ["number", 50], 814, 790, [26, null]], [28, "setcolor", 729, 832, [26, 29, 30]], [29, ["number", 0], 806, 832, [28, null]], [30, "seth", 729, 874, [28, 31, 37]], [31, "product2", 828, 874, [30, 32, 34]], [32, "box", 882, 874, [31, 33, null]], [33, ["string", "seconds"], 937, 874, [32, null]], [34, "division2", 882, 916, [31, 35, 36]], [35, ["number", 360], 936, 916, [34, null]], [36, ["number", 60], 960, 962, [34, null]], [37, "setpensize", 729, 916, [30, 38, 39]], [38, ["number", 5], 831, 916, [37, null]], [39, "forward", 729, 958, [37, 40, 41]], [40, ["number", 225], 800, 958, [39, null]], [41, "back", 729, 1000, [39, 42, 43]], [42, ["number", 225], 787, 1000, [41, null]], [43, "storein", 729, 1042, [41, 44, 45, 394]], [44, ["string", "old second"], 797, 1042, [43, null]], [45, "box", 797, 1084, [43, 46, null]], [46, ["string", "seconds"], 852, 1084, [45, null]], [47, "hat", 173, 329, [null, 48, 370]], [48, ["string", "dial"], 231, 337, [47, null]], [49, "clean", 173, 421, [370, 50]], [50, "fillscreen", 173, 455, [49, 51, 52, 53]], [51, ["number", 60], 255, 455, [50, null]], [52, ["number", 100], 255, 497, [50, null]], [53, "setpensize", 173, 539, [50, 54, 55]], [54, ["number", 10], 275, 539, [53, null]], [55, "setxy", 173, 581, [53, 56, 57, 58]], [56, ["number", -300], 231, 581, [55, null]], [57, ["number", 0], 231, 623, [55, null]], [58, "repeat", 173, 665, [55, 59, 60, 372]], [59, ["number", 12], 224, 665, [58, null]], [60, "setcolor", 238, 725, [58, 284, 61]], [61, "arc", 238, 767, [60, 62, 63, null]], [62, ["number", 30], 296, 767, [61, null]], [63, ["number", 300], 296, 809, [61, null]], [64, "setxy", 173, 497, [373, 65, 66, 67]], [65, ["number", 0], 231, 497, [64, null]], [66, ["number", 0], 231, 539, [64, null]], [67, "repeat", 173, 581, [64, 68, 70, 375]], [68, ["number", 60], 224, 581, [67, null]], [69, ["hspace", 0], 238, 801, [88, 91]], [70, "setcolor", 238, 641, [67, 287, 71]], [71, "penup", 238, 683, [70, 72]], [72, "forward", 238, 717, [71, 73, 74]], [73, ["number", 290], 309, 717, [72, null]], [74, "pendown", 238, 759, [72, 75]], [75, "forward", 238, 793, [74, 76, 77]], [76, ["number", 10], 309, 793, [75, null]], [77, "penup", 238, 835, [75, 78]], [78, "back", 238, 869, [77, 79, 80]], [79, ["number", 300], 296, 869, [78, null]], [80, "right", 238, 911, [78, 81, null]], [81, ["number", 6], 296, 911, [80, null]], [82, "setxy", 173, 573, [376, 83, 84, 85]], [83, ["number", -20], 231, 573, [82, null]], [84, ["number", 0], 231, 615, [82, null]], [85, "storein", 173, 657, [82, 86, 87, 88]], [86, ["string", "box"], 241, 657, [85, null]], [87, ["number", 12], 241, 699, [85, null]], [88, "repeat", 173, 741, [85, 89, 69, 113]], [89, ["number", 12], 224, 741, [88, null]], [90, ["vspace", 0], 729, 714, [389, 2]], [91, "penup", 294, 819, [69, 92]], [92, "seth", 294, 853, [91, 93, 99]], [93, "product2", 393, 853, [92, 94, 96]], [94, "box", 447, 853, [93, 95, null]], [95, ["string", "box"], 502, 853, [94, null]], [96, "division2", 447, 895, [93, 97, 98]], [97, ["number", 360], 501, 895, [96, null]], [98, ["number", 12], 525, 941, [96, null]], [99, "forward", 294, 895, [92, 100, 101]], [100, ["number", 250], 365, 895, [99, null]], [101, "show", 294, 937, [99, 102, 104]], [102, "box", 352, 937, [101, 103, null]], [103, ["string", "box"], 407, 937, [102, null]], [104, "back", 294, 979, [101, 105, 106]], [105, ["number", 250], 352, 979, [104, null]], [106, "storein", 294, 1021, [104, 107, 108, 112]], [107, ["string", "box"], 362, 1021, [106, null]], [108, "minus2", 362, 1063, [106, 109, 111]], [109, "box", 416, 1063, [108, 110, null]], [110, ["string", "box"], 471, 1063, [109, null]], [111, ["number", 1], 440, 1109, [108, null]], [112, "pendown", 294, 1105, [106, null]], [113, "setxy", 173, 819, [88, 114, 115, 378]], [114, ["number", 0], 231, 819, [113, null]], [115, ["number", 0], 231, 861, [113, null]], [116, "hat", 728, 402, [null, 117, 383]], [117, ["string", "show minutes"], 786, 410, [116, null]], [118, "setcolor", 728, 494, [383, 119, 120]], [119, ["number", 60], 805, 494, [118, null]], [120, "setshade", 728, 536, [118, 121, 122]], [121, ["number", 100], 813, 536, [120, null]], [122, "seth", 728, 578, [120, 123, 129]], [123, "product2", 827, 578, [122, 124, 126]], [124, "box", 881, 578, [123, 125, null]], [125, ["string", "old minute"], 936, 578, [124, null]], [126, "division2", 881, 620, [123, 127, 128]], [127, ["number", 360], 935, 620, [126, null]], [128, ["number", 60], 959, 666, [126, null]], [129, "setpensize", 728, 620, [122, 130, 131]], [130, ["number", 5], 830, 620, [129, null]], [131, "forward", 728, 662, [129, 132, 133]], [132, ["number", 200], 799, 662, [131, null]], [133, "setpensize", 728, 704, [131, 134, 135]], [134, ["number", 25], 830, 704, [133, null]], [135, "forward", 728, 746, [133, 136, 137]], [136, ["number", 1], 799, 746, [135, null]], [137, "back", 728, 788, [135, 138, 139]], [138, ["number", 1], 786, 788, [137, null]], [139, "setpensize", 728, 830, [137, 140, 141]], [140, ["number", 7], 830, 830, [139, null]], [141, "back", 728, 872, [139, 142, 385]], [142, ["number", 200], 786, 872, [141, null]], [143, "setshade", 728, 570, [386, 144, 145]], [144, ["number", 30], 813, 570, [143, null]], [145, "setcolor", 728, 612, [143, 146, 147]], [146, ["number", 30], 805, 612, [145, null]], [147, "seth", 728, 654, [145, 148, 154]], [148, "product2", 827, 654, [147, 149, 151]], [149, "box", 881, 654, [148, 150, null]], [150, ["string", "minutes"], 936, 654, [149, null]], [151, "division2", 881, 696, [148, 152, 153]], [152, ["number", 360], 935, 696, [151, null]], [153, ["number", 60], 959, 742, [151, null]], [154, "setpensize", 728, 696, [147, 155, 156]], [155, ["number", 5], 830, 696, [154, null]], [156, "forward", 728, 738, [154, 157, 158]], [157, ["number", 200], 799, 738, [156, null]], [158, "setpensize", 728, 780, [156, 159, 160]], [159, ["number", 25], 830, 780, [158, null]], [160, "forward", 728, 822, [158, 161, 162]], [161, ["number", 1], 799, 822, [160, null]], [162, "setpensize", 728, 864, [160, 163, 164]], [163, ["number", 5], 830, 864, [162, null]], [164, "back", 728, 906, [162, 165, 166]], [165, ["number", 201], 786, 906, [164, null]], [166, "storein", 728, 948, [164, 167, 168, 388]], [167, ["string", "old minute"], 796, 948, [166, null]], [168, "box", 796, 990, [166, 169, null]], [169, ["string", "minutes"], 851, 990, [168, null]], [170, "hat", 173, 175, [null, 171, 354]], [171, ["string", "alarm"], 231, 183, [170, null]], [172, "seth", 173, 267, [354, 173, 174]], [173, ["number", 0], 272, 267, [172, null]], [174, "setxy", 173, 309, [172, 175, 176, 177]], [175, ["number", -360], 231, 309, [174, null]], [176, ["number", 0], 231, 351, [174, null]], [177, "setcolor", 173, 393, [174, 178, 181]], [178, "random", 250, 393, [177, 179, 180, null]], [179, ["number", 0], 336, 393, [178, null]], [180, ["number", 100], 336, 435, [178, null]], [181, "setpensize", 173, 435, [177, 182, 183]], [182, ["number", 60], 275, 435, [181, null]], [183, "repeat", 173, 477, [181, 184, 185, 194]], [184, ["number", 60], 224, 477, [183, null]], [185, "setshade", 238, 537, [183, 186, 189]], [186, "division2", 323, 537, [185, 187, 188]], [187, "heading", 377, 537, [186, null]], [188, ["number", 6], 401, 583, [186, null]], [189, "arc", 238, 579, [185, 190, 191, 192]], [190, ["number", 6], 296, 579, [189, null]], [191, ["number", 360], 296, 621, [189, null]], [192, "wait", 238, 663, [189, 193, null]], [193, ["number", 1], 296, 663, [192, null]], [194, "setcolor", 173, 555, [183, 195, 196]], [195, ["number", 60], 250, 555, [194, null]], [196, "setshade", 173, 597, [194, 197, 198]], [197, ["number", 100], 258, 597, [196, null]], [198, "repeat", 173, 639, [196, 199, 200, 203]], [199, ["number", 60], 224, 639, [198, null]], [200, "arc", 238, 699, [198, 201, 202, null]], [201, ["number", 6], 296, 699, [200, null]], [202, ["number", 360], 296, 741, [200, null]], [203, "setxy", 173, 717, [198, 204, 205, 356]], [204, ["number", 0], 231, 717, [203, null]], [205, ["number", 0], 231, 759, [203, null]], [206, "hat", 730, 175, [null, 207, 351]], [207, ["string", "show hours"], 788, 183, [206, null]], [208, "setcolor", 730, 267, [351, 209, 210]], [209, ["number", 60], 807, 267, [208, null]], [210, "setshade", 730, 309, [208, 211, 212]], [211, ["number", 100], 815, 309, [210, null]], [212, "seth", 730, 351, [210, 213, 230]], [213, "plus2", 829, 351, [212, 214, 221]], [214, ["identity2", 0], 883, 351, [213, 215]], [215, "product2", 937, 351, [214, 216, 218]], [216, "box", 991, 351, [215, 217, null]], [217, ["string", "old hour"], 1046, 351, [216, null]], [218, "division2", 991, 393, [215, 219, 220]], [219, ["number", 360], 1045, 393, [218, null]], [220, ["number", 12], 1069, 439, [218, null]], [221, ["identity2", 0], 883, 393, [213, 222]], [222, "division2", 937, 393, [221, 223, 228]], [223, "product2", 991, 393, [222, 224, 225]], [224, "box", 1045, 393, [223, 283, null]], [225, "division2", 1045, 435, [223, 226, 227]], [226, ["number", 360], 1099, 435, [225, null]], [227, ["number", 60], 1123, 481, [225, null]], [228, ["identity2", 0], 1015, 439, [222, 229]], [229, ["number", 12], 1069, 439, [228, null]], [230, "setpensize", 730, 393, [212, 231, 232]], [231, ["number", 5], 832, 393, [230, null]], [232, "forward", 730, 435, [230, 233, 234]], [233, ["number", 100], 801, 435, [232, null]], [234, "setpensize", 730, 477, [232, 235, 236]], [235, ["number", 25], 832, 477, [234, null]], [236, "forward", 730, 519, [234, 237, 238]], [237, ["number", 1], 801, 519, [236, null]], [238, "back", 730, 561, [236, 239, 240]], [239, ["number", 1], 788, 561, [238, null]], [240, "setpensize", 730, 603, [238, 241, 242]], [241, ["number", 7], 832, 603, [240, null]], [242, "back", 730, 645, [240, 243, 379]], [243, ["number", 100], 788, 645, [242, null]], [244, "setshade", 730, 343, [380, 245, 246]], [245, ["number", 50], 815, 343, [244, null]], [246, "setcolor", 730, 385, [244, 247, 248]], [247, ["number", 70], 807, 385, [246, null]], [248, "seth", 730, 427, [246, 249, 267]], [249, "plus2", 829, 427, [248, 250, 257]], [250, ["identity2", 0], 883, 427, [249, 251]], [251, "product2", 937, 427, [250, 252, 254]], [252, "box", 991, 427, [251, 253, null]], [253, ["string", "hours"], 1046, 427, [252, null]], [254, "division2", 991, 469, [251, 255, 256]], [255, ["number", 360], 1045, 469, [254, null]], [256, ["number", 12], 1069, 515, [254, null]], [257, ["identity2", 0], 883, 469, [249, 258]], [258, "division2", 937, 469, [257, 259, 265]], [259, "product2", 991, 469, [258, 260, 262]], [260, "box", 1045, 469, [259, 261, null]], [261, ["string", "minutes"], 1100, 469, [260, null]], [262, "division2", 1045, 511, [259, 263, 264]], [263, ["number", 360], 1099, 511, [262, null]], [264, ["number", 60], 1123, 557, [262, null]], [265, ["identity2", 0], 1015, 515, [258, 266]], [266, ["number", 12], 1069, 515, [265, null]], [267, "setpensize", 730, 469, [248, 268, 269]], [268, ["number", 5], 832, 469, [267, null]], [269, "forward", 730, 511, [267, 270, 271]], [270, ["number", 100], 801, 511, [269, null]], [271, "setpensize", 730, 553, [269, 272, 273]], [272, ["number", 25], 832, 553, [271, null]], [273, "forward", 730, 595, [271, 274, 275]], [274, ["number", 1], 801, 595, [273, null]], [275, "setpensize", 730, 637, [273, 276, 277]], [276, ["number", 5], 832, 637, [275, null]], [277, "back", 730, 679, [275, 278, 279]], [278, ["number", 101], 788, 679, [277, null]], [279, "storein", 730, 721, [277, 280, 281, 382]], [280, ["string", "old hour"], 798, 721, [279, null]], [281, "box", 798, 763, [279, 282, null]], [282, ["string", "hours"], 853, 763, [281, null]], [283, ["string", "old minute"], 1100, 393, [224, null]], [284, "division2", 315, 725, [60, 285, 286]], [285, "heading", 369, 725, [284, null]], [286, ["number", 3], 393, 771, [284, null]], [287, "division2", 315, 641, [70, 289, 288]], [288, ["number", 3], 393, 687, [287, null]], [289, "heading", 369, 641, [287, null]], [290, "storein", 422, 259, [361, 291, 292, 293]], [291, ["string", "alarm hour"], 490, 259, [290, null]], [292, ["number", 10], 490, 301, [290, null]], [293, "storein", 422, 343, [290, 294, 295, 363]], [294, ["string", "alarm minute"], 490, 343, [293, null]], [295, ["number", 30], 490, 385, [293, null]], [296, "stack", 422, 411, [367, 297, 298]], [297, ["string", "dial"], 480, 411, [296, null]], [298, "storein", 422, 453, [296, 299, 300, 301]], [299, ["string", "old hour"], 490, 453, [298, null]], [300, ["number", 12], 490, 495, [298, null]], [301, "storein", 422, 537, [298, 302, 303, 304]], [302, ["string", "old minute"], 490, 537, [301, null]], [303, ["number", 0], 490, 579, [301, null]], [304, "storein", 422, 621, [301, 305, 306, 369]], [305, ["string", "old second"], 490, 621, [304, null]], [306, ["number", 0], 490, 663, [304, null]], [307, "storein", 422, 335, [364, 308, 309, 366]], [308, ["string", "timezone"], 490, 335, [307, null]], [309, ["number", "0"], 490, 377, [307, null]], [310, "forever", 422, 445, [369, 357, null]], [311, "storein", 483, 505, [357, 312, 313, 398]], [312, ["string", "hours"], 551, 505, [311, null]], [313, "plus2", 551, 547, [311, 315, 349]], [314, ["string", "localtime().tm_hour"], 685, 589, [349, null]], [315, "box", 605, 547, [313, 316, null]], [316, ["string", "timezone"], 660, 547, [315, null]], [317, "storein", 483, 623, [398, 318, 347, 397]], [318, ["string", "minutes"], 551, 623, [317, null]], [319, ["string", "localtime().tm_min"], 631, 665, [347, null]], [320, "storein", 483, 741, [397, 321, 345, 360]], [321, ["string", "seconds"], 551, 741, [320, null]], [322, ["string", "localtime().tm_sec"], 631, 783, [345, null]], [323, "if", 483, 695, [359, 342, 332, 353]], [324, "box", 613, 653, [344, 325, null]], [325, ["string", "alarm hour"], 668, 653, [324, null]], [326, "box", 613, 695, [344, 327, null]], [327, ["string", "hours"], 668, 695, [326, null]], [328, "box", 613, 571, [343, 329, null]], [329, ["string", "alarm minute"], 668, 571, [328, null]], [330, "box", 613, 613, [343, 331, null]], [331, ["string", "minutes"], 668, 613, [330, null]], [332, "stack", 535, 763, [323, 333, null]], [333, ["string", "alarm"], 593, 763, [332, null]], [334, "wait", 483, 985, [338, 335, 399]], [335, ["number", 1], 541, 985, [334, null]], [336, "stack", 483, 859, [360, 337, 340]], [337, ["string", "show seconds"], 541, 859, [336, null]], [338, "stack", 483, 943, [340, 339, 334]], [339, ["string", "show hours"], 541, 943, [338, null]], [340, "stack", 483, 901, [336, 341, 338]], [341, ["string", "show minutes"], 541, 901, [340, null]], [342, "and2", 521, 613, [323, 343, 344]], [343, "equal2", 567, 571, [342, 328, 330, null]], [344, "equal2", 567, 653, [342, 324, 326, null]], [345, "myfunc", 551, 783, [320, 322, 346, null]], [346, ["number", 100], 631, 825, [345, null]], [347, "myfunc", 551, 665, [317, 319, 348, null]], [348, ["number", 100], 631, 707, [347, null]], [349, "myfunc", 605, 589, [313, 314, 350, null]], [350, ["number", 100], 685, 631, [349, null]], [351, "sandwichtop", 712, 225, [206, 352, 208]], [352, ["string", "erase old hour hand"], 815, 225, [351, null]], [353, ["sandwichcollapsed", 1], 483, 581, [323, null]], [354, "sandwichtop", 155, 225, [170, 355, 172]], [355, ["string", "alarm art"], 258, 225, [354, null]], [356, ["sandwichcollapsed", 1], 173, 267, [203, null]], [357, "sandwichtop", 465, 463, [310, 358, 311]], [358, ["string", "run the clock"], 568, 463, [357, null]], [359, ["vspace", 40], 483, 581, [395, 323]], [360, ["vspace", 0], 483, 825, [320, 336]], [361, "sandwichtop", 404, 217, [400, 362, 290]], [362, ["string", "set the alarm"], 507, 217, [361, null]], [363, ["sandwichcollapsed", 1], 422, 259, [293, 364]], [364, "sandwichtop", 404, 293, [363, 365, 307]], [365, ["string", "set the timezone"], 507, 293, [364, null]], [366, ["sandwichcollapsed", 1], 422, 335, [307, 367]], [367, "sandwichtop", 404, 369, [366, 368, 296]], [368, ["string", "draw the dial"], 507, 369, [367, null]], [369, ["sandwichcollapsed", 1], 422, 411, [304, 310]], [370, "sandwichtop", 155, 379, [47, 371, 49]], [371, ["string", "circle"], 258, 379, [370, null]], [372, ["sandwichcollapsed", 1], 173, 421, [58, 373]], [373, "sandwichtop", 155, 455, [372, 374, 64]], [374, ["string", "minutes"], 258, 455, [373, null]], [375, ["sandwichcollapsed", 1], 173, 497, [67, 376]], [376, "sandwichtop", 155, 531, [375, 377, 82]], [377, ["string", "numbers"], 258, 531, [376, null]], [378, ["sandwichcollapsed", 1], 173, 573, [113, null]], [379, ["sandwichcollapsed", 1], 730, 267, [242, 380]], [380, "sandwichtop", 712, 301, [379, 381, 244]], [381, ["string", "draw new hour hand"], 815, 301, [380, null]], [382, ["sandwichcollapsed", 1], 730, 343, [279, null]], [383, "sandwichtop", 710, 452, [116, 384, 118]], [384, ["string", "erase old minutes hand"], 813, 452, [383, null]], [385, ["sandwichcollapsed", 1], 728, 494, [141, 386]], [386, "sandwichtop", 710, 528, [385, 387, 143]], [387, ["string", "draw new minutes hand"], 813, 528, [386, null]], [388, ["sandwichcollapsed", 1], 728, 570, [166, null]], [389, "sandwichtop", 711, 672, [0, 390, 90]], [390, ["string", "erase old seconds hand"], 814, 672, [389, null]], [391, ["sandwichcollapsed", 1], 729, 714, [24, 392]], [392, "sandwichtop", 711, 748, [391, 393, 26]], [393, ["string", "draw new seconds hand"], 814, 748, [392, null]], [394, ["sandwichcollapsed", 1], 729, 790, [43, null]], [395, "sandwichtop", 465, 539, [399, 396, 359]], [396, ["string", "check alarm"], 568, 539, [395, null]], [397, ["vspace", 0], 483, 707, [317, 320]], [398, ["vspace", 0], 483, 589, [311, 317]], [399, ["sandwichcollapsed", 1], 483, 505, [334, 395]], [400, "start", 422, 175, [null, 361]], [-1, ["turtle", 1], 0, 0, 290.5, 70.0, 50.0, 5.0]] \ No newline at end of file diff --git a/samples/colors.ta b/samples/colors.ta index cd98b34..7c6dd38 100644 --- a/samples/colors.ta +++ b/samples/colors.ta @@ -1 +1 @@ -[[0, "setpensize", 202, 114, [2, 1, 3]], [1, ["number", "15"], 276, 131, [0, null]], [2, "clean", 202, 75, [13, 0]], [3, "repeat", 202, 168, [0, 4, 5, null]], [4, ["number", 360], 288, 177, [3, null]], [5, "setcolor", 297, 217, [3, 6, 7]], [6, "heading", 371, 234, [5, null]], [7, "forward", 297, 271, [5, 8, 9]], [8, ["number", 1000], 371, 280, [7, null]], [9, "back", 297, 310, [7, 10, 11]], [10, ["number", 1000], 371, 319, [9, null]], [11, "right", 297, 349, [9, 12, null]], [12, ["number", 1], 371, 358, [11, null]], [13, "start", 190, 25, [null, 2]], [-1, "turtle", 0.0, 0.0, 0.0, 359.0, 50, 15.0]] \ No newline at end of file +[[0, "setpensize", 175, 251, [2, 1, 3]], [1, ["number", 15], 277, 251, [0, null]], [2, "clean", 175, 217, [13, 0]], [3, "repeat", 175, 293, [0, 4, 5, null]], [4, ["number", 360], 226, 293, [3, null]], [5, "setcolor", 240, 353, [3, 6, 7]], [6, "heading", 317, 353, [5, null]], [7, "forward", 240, 395, [5, 8, 9]], [8, ["number", 1000], 311, 395, [7, null]], [9, "back", 240, 437, [7, 10, 11]], [10, ["number", 1000], 298, 437, [9, null]], [11, "right", 240, 479, [9, 12, null]], [12, ["number", 1], 298, 479, [11, null]], [13, "start", 175, 175, [null, 2]], [-1, ["turtle", 1], 0, 0, 0.0, 359.0, 50, 15.0]] \ No newline at end of file diff --git a/samples/continents_game.ta b/samples/continents_game.ta new file mode 100644 index 0000000..1fcdbd2 --- /dev/null +++ b/samples/continents_game.ta @@ -0,0 +1 @@ +[[0, "hat", 87, 311, [null, 138, 235]], [1, "storein", 87, 403, [235, 44, 56, 2]], [2, "storein", 87, 487, [1, 45, 57, 3]], [3, "storein", 87, 571, [2, 4, 53, 5]], [4, ["string", "size"], 155, 571, [3, null]], [5, "storein", 87, 655, [3, 6, 50, 7]], [6, ["string", "name"], 155, 655, [5, null]], [7, "storein", 87, 739, [5, 8, 101, 9]], [8, ["string", "picture"], 155, 739, [7, null]], [9, "stack", 87, 823, [7, 153, 237]], [10, "hat", 405, 439, [null, 157, 244]], [11, "setxy", 405, 531, [244, 12, 13, 15]], [12, ["number", 0], 463, 531, [11, null]], [13, "box", 463, 573, [11, 14, null]], [14, ["string", "box"], 518, 573, [13, null]], [15, "show", 405, 615, [11, 16, 120]], [16, "plus2", 463, 615, [15, 17, 18]], [17, ["string", "Put the turtle in "], 517, 615, [16, null]], [18, "box", 517, 657, [16, 19, null]], [19, ["string", "name"], 572, 657, [18, null]], [20, "hat", 90, 593, [null, 140, 241]], [21, "storein", 90, 685, [241, 46, 58, 22]], [22, "storein", 90, 769, [21, 47, 59, 23]], [23, "storein", 90, 853, [22, 24, 54, 25]], [24, ["string", "size"], 158, 853, [23, null]], [25, "storein", 90, 937, [23, 26, 51, 27]], [26, ["string", "name"], 158, 937, [25, null]], [27, "storein", 90, 1021, [25, 28, 102, 29]], [28, ["string", "picture"], 158, 1021, [27, null]], [29, "stack", 90, 1105, [27, 155, 243]], [30, "hat", 102, 739, [null, 141, 229]], [31, "storein", 102, 831, [229, 48, 76, 32]], [32, "storein", 102, 915, [31, 49, 77, 33]], [33, "storein", 102, 999, [32, 34, 55, 35]], [34, ["string", "size"], 170, 999, [33, null]], [35, "storein", 102, 1083, [33, 36, 52, 37]], [36, ["string", "name"], 170, 1083, [35, null]], [37, "storein", 102, 1167, [35, 38, 103, 39]], [38, ["string", "picture"], 170, 1167, [37, null]], [39, "stack", 102, 1251, [37, 156, 231]], [40, "hat", 401, 573, [null, 41, 247]], [41, ["string", "map"], 459, 581, [40, null]], [42, "setscale", 401, 665, [247, 43, 167]], [43, ["number", 100], 478, 665, [42, null]], [44, ["string", "x"], 155, 403, [1, null]], [45, ["string", "y"], 155, 487, [2, null]], [46, ["string", "x"], 158, 685, [21, null]], [47, ["string", "y"], 158, 769, [22, null]], [48, ["string", "x"], 170, 831, [31, null]], [49, ["string", "y"], 170, 915, [32, null]], [50, ["string", "Africa"], 155, 697, [5, null]], [51, ["string", "North America"], 158, 979, [25, null]], [52, ["string", "Eurasia"], 170, 1125, [35, null]], [53, ["number", 100], 155, 613, [3, null]], [54, ["number", 100], 158, 895, [23, null]], [55, ["number", 100], 170, 1041, [33, null]], [56, ["number", 50], 155, 445, [1, null]], [57, ["number", 113], 155, 529, [2, null]], [58, ["number", -293], 158, 727, [21, null]], [59, ["number", 226], 158, 811, [22, null]], [60, "hat", 85, 175, [null, 137, 238]], [61, "storein", 85, 267, [238, 62, 63, 64]], [62, ["string", "x"], 153, 267, [61, null]], [63, ["number", -176], 153, 309, [61, null]], [64, "storein", 85, 351, [61, 65, 66, 67]], [65, ["string", "y"], 153, 351, [64, null]], [66, ["number", 22], 153, 393, [64, null]], [67, "storein", 85, 435, [64, 68, 69, 70]], [68, ["string", "size"], 153, 435, [67, null]], [69, ["number", 100], 153, 477, [67, null]], [70, "storein", 85, 519, [67, 71, 72, 73]], [71, ["string", "name"], 153, 519, [70, null]], [72, ["string", "South America"], 153, 561, [70, null]], [73, "storein", 85, 603, [70, 74, 104, 75]], [74, ["string", "picture"], 153, 603, [73, null]], [75, "stack", 85, 687, [73, 152, 240]], [76, ["number", 220], 170, 873, [31, null]], [77, ["number", 260], 170, 957, [32, null]], [78, "hat", 86, 454, [null, 139, 232]], [79, "storein", 86, 546, [232, 80, 81, 82]], [80, ["string", "x"], 154, 546, [79, null]], [81, ["number", 394], 154, 588, [79, null]], [82, "storein", 86, 630, [79, 83, 84, 85]], [83, ["string", "y"], 154, 630, [82, null]], [84, ["number", -18], 154, 672, [82, null]], [85, "storein", 86, 714, [82, 86, 87, 88]], [86, ["string", "size"], 154, 714, [85, null]], [87, ["number", 100], 154, 756, [85, null]], [88, "storein", 86, 798, [85, 89, 90, 91]], [89, ["string", "name"], 154, 798, [88, null]], [90, ["string", "Australia"], 154, 840, [88, null]], [91, "storein", 86, 882, [88, 92, 228, 93]], [92, ["string", "picture"], 154, 882, [91, null]], [93, "stack", 86, 966, [91, 154, 234]], [94, "start", 408, 175, [null, 262]], [95, "stack", 408, 259, [262, 96, 97]], [96, ["string", "setup"], 466, 259, [95, null]], [97, "stack", 408, 301, [95, 98, 99]], [98, ["string", "map"], 466, 301, [97, null]], [99, "stack", 408, 343, [97, 142, 100]], [100, "stack", 408, 385, [99, 143, 144]], [101, ["journal", "./samples/images/Africa.png"], 155, 781, [7, null]], [102, ["journal", "./samples/images/North_America.png"], 158, 1063, [27, null]], [103, ["journal", "./samples/images/Eurasia.png"], 170, 1209, [37, null]], [104, ["journal", "./samples/images/South_America.png"], 153, 645, [73, null]], [105, "hat", 749, 63, [null, 106, 256]], [106, ["string", "star"], 807, 71, [105, null]], [107, "setpensize", 749, 155, [256, 108, 109]], [108, ["number", 15], 851, 155, [107, null]], [109, "setxy", 749, 197, [107, 110, 111, 112]], [110, ["number", 0], 807, 197, [109, null]], [111, ["number", 0], 807, 239, [109, null]], [112, "repeat", 749, 281, [109, 113, 260, 258]], [113, ["number", 5], 800, 281, [112, null]], [114, "setcolor", 814, 383, [260, 115, 116]], [115, "heading", 891, 383, [114, null]], [116, "forward", 814, 425, [114, 117, 118]], [117, ["number", 200], 885, 425, [116, null]], [118, "right", 814, 467, [116, 119, null]], [119, ["number", 144], 872, 467, [118, null]], [120, "setxy", 405, 657, [15, 121, 122, 123]], [121, ["number", 0], 463, 657, [120, null]], [122, ["number", 0], 463, 699, [120, null]], [123, "forever", 405, 741, [120, 124, 246]], [124, "stack", 466, 759, [123, 125, 126]], [125, ["string", "calculate distance"], 524, 759, [124, null]], [126, "if", 466, 801, [124, 127, 158, 135]], [127, "less2", 504, 767, [126, 128, 130, null]], [128, "box", 550, 767, [127, 129, null]], [129, ["string", "distance"], 605, 767, [128, null]], [130, "product2", 550, 809, [127, 131, 133]], [131, "box", 604, 809, [130, 132, null]], [132, ["string", "size"], 659, 809, [131, null]], [133, "box", 604, 851, [130, 134, null]], [134, ["string", "scale"], 659, 851, [133, null]], [135, "wait", 466, 887, [126, 136, null]], [136, ["number", 1], 524, 887, [135, null]], [137, ["string", "Q1"], 143, 183, [60, null]], [138, ["string", "Q2"], 145, 319, [0, null]], [139, ["string", "Q3"], 144, 462, [78, null]], [140, ["string", "Q4"], 148, 601, [20, null]], [141, ["string", "Q5"], 160, 747, [30, null]], [142, ["string", "Q1"], 466, 343, [99, null]], [143, ["string", "Q2"], 466, 385, [100, null]], [144, "stack", 408, 427, [100, 146, 145]], [145, "stack", 408, 469, [144, 147, 148]], [146, ["string", "Q3"], 466, 427, [144, null]], [147, ["string", "Q4"], 466, 469, [145, null]], [148, "stack", 408, 511, [145, 151, 149]], [149, "stack", 408, 553, [148, 150, 264]], [150, ["string", "star"], 466, 553, [149, null]], [151, ["string", "Q5"], 466, 511, [148, null]], [152, ["string", "go"], 143, 687, [75, null]], [153, ["string", "go"], 145, 823, [9, null]], [154, ["string", "go"], 144, 966, [93, null]], [155, ["string", "go"], 148, 1105, [29, null]], [156, ["string", "go"], 160, 1251, [39, null]], [157, ["string", "go"], 463, 447, [10, null]], [158, "setxy", 518, 869, [126, 159, 160, 161]], [159, ["number", 0], 576, 869, [158, null]], [160, ["number", 0], 576, 911, [158, null]], [161, "setscale", 518, 953, [158, 162, 163]], [162, ["number", 100], 595, 953, [161, null]], [163, "show", 518, 995, [161, 164, 166]], [164, "box", 576, 995, [163, 165, null]], [165, ["string", "picture"], 631, 995, [164, null]], [166, "stopstack", 518, 1037, [163, null]], [167, "setxy", 401, 707, [42, 168, 169, 170]], [168, ["number", 0], 459, 707, [167, null]], [169, ["number", 0], 459, 749, [167, null]], [170, "show", 401, 791, [167, 171, 249]], [171, ["journal", "./samples/images/World_Map.png"], 459, 791, [170, null]], [172, "hat", 407, 301, [null, 173, 253]], [173, ["string", "setup"], 465, 309, [172, null]], [174, "storein", 407, 393, [253, 175, 176, 179]], [175, ["string", "scale"], 475, 393, [174, null]], [176, "division2", 475, 435, [174, 177, 178]], [177, "height", 529, 435, [176, null]], [178, ["number", 900], 553, 481, [176, null]], [179, "storein", 407, 477, [174, 180, 181, 185]], [180, ["string", "box"], 475, 477, [179, null]], [181, "product2", 475, 519, [179, 182, 183]], [182, ["number", -260], 529, 519, [181, null]], [183, "box", 529, 561, [181, 184, null]], [184, ["string", "scale"], 584, 561, [183, null]], [185, "hideblocks", 407, 561, [179, 186]], [186, "clean", 407, 595, [185, 187]], [187, "settextsize", 407, 629, [186, 188, 255]], [188, "product2", 511, 629, [187, 189, 190]], [189, ["number", 24], 565, 629, [188, null]], [190, "box", 565, 671, [188, 191, null]], [191, ["string", "scale"], 620, 671, [190, null]], [192, "hat", 402, 719, [null, 193, 250]], [193, ["string", "calculate distance"], 460, 727, [192, null]], [194, "storein", 402, 811, [250, 195, 196, 203]], [195, ["string", "dx"], 470, 811, [194, null]], [196, "minus2", 470, 853, [194, 197, 202]], [197, "product2", 524, 853, [196, 198, 200]], [198, "box", 578, 853, [197, 199, null]], [199, ["string", "x"], 633, 853, [198, null]], [200, "box", 578, 895, [197, 201, null]], [201, ["string", "scale"], 633, 895, [200, null]], [202, "xcor", 548, 899, [196, null]], [203, "storein", 402, 895, [194, 204, 205, 212]], [204, ["string", "dy"], 470, 895, [203, null]], [205, "minus2", 470, 937, [203, 206, 211]], [206, "product2", 524, 937, [205, 207, 209]], [207, "box", 578, 937, [206, 208, null]], [208, ["string", "y"], 633, 937, [207, null]], [209, "box", 578, 979, [206, 210, null]], [210, ["string", "scale"], 633, 979, [209, null]], [211, "ycor", 548, 983, [205, null]], [212, "storein", 402, 979, [203, 213, 214, 252]], [213, ["string", "distance"], 470, 979, [212, null]], [214, "sqrt", 470, 1021, [212, 215]], [215, "plus2", 524, 1021, [214, 216, 222]], [216, ["identity2", 0], 578, 1021, [215, 217]], [217, "product2", 632, 1021, [216, 218, 220]], [218, "box", 686, 1021, [217, 219, null]], [219, ["string", "dx"], 741, 1021, [218, null]], [220, "box", 686, 1063, [217, 221, null]], [221, ["string", "dx"], 741, 1063, [220, null]], [222, ["identity2", 0], 578, 1063, [215, 223]], [223, "product2", 632, 1063, [222, 224, 226]], [224, "box", 686, 1063, [223, 225, null]], [225, ["string", "dy"], 741, 1063, [224, null]], [226, "box", 686, 1105, [223, 227, null]], [227, ["string", "dy"], 741, 1105, [226, null]], [228, ["journal", "./samples/images/Australia.png"], 154, 924, [91, null]], [229, "sandwichtop", 84, 789, [30, 230, 31]], [230, ["string", "Eurasia"], 187, 789, [229, null]], [231, ["sandwichcollapsed", 1], 102, 831, [39, null]], [232, "sandwichtop", 68, 504, [78, 233, 79]], [233, ["string", "Austrailia"], 171, 504, [232, null]], [234, ["sandwichcollapsed", 1], 86, 546, [93, null]], [235, "sandwichtop", 69, 361, [0, 236, 1]], [236, ["string", "Africa"], 172, 361, [235, null]], [237, ["sandwichcollapsed", 1], 87, 403, [9, null]], [238, "sandwichtop", 67, 225, [60, 239, 61]], [239, ["string", "South America"], 170, 225, [238, null]], [240, ["sandwichcollapsed", 1], 85, 267, [75, null]], [241, "sandwichtop", 72, 643, [20, 242, 21]], [242, ["string", "label"], 175, 643, [241, null]], [243, ["sandwichcollapsed", 1], 90, 685, [29, null]], [244, "sandwichtop", 387, 489, [10, 245, 11]], [245, ["string", "game loop"], 490, 489, [244, null]], [246, ["sandwichcollapsed", 1], 405, 531, [123, null]], [247, "sandwichtop", 383, 623, [40, 248, 42]], [248, ["string", "draw a map"], 486, 623, [247, null]], [249, ["sandwichcollapsed", 1], 401, 665, [170, null]], [250, "sandwichtop", 384, 769, [192, 251, 194]], [251, ["string", "distance"], 487, 769, [250, null]], [252, ["sandwichcollapsed", 1], 402, 811, [212, null]], [253, "sandwichtop", 389, 351, [172, 254, 174]], [254, ["string", "game initialization"], 492, 351, [253, null]], [255, ["sandwichcollapsed", 1], 407, 393, [187, null]], [256, "sandwichtop", 731, 113, [105, 257, 107]], [257, ["string", "reward"], 834, 113, [256, null]], [258, "showblocks", 749, 359, [112, 259]], [259, ["sandwichcollapsed", 1], 749, 155, [258, null]], [260, "wait", 814, 341, [112, 261, 114]], [261, ["number", 1], 872, 341, [260, null]], [262, "sandwichtop", 390, 217, [94, 263, 95]], [263, ["string", "Find the continents game"], 493, 217, [262, null]], [264, ["sandwichcollapsed", 1], 408, 259, [149, null]], [-1, ["turtle", 1], 0, 0, 0.0, 216.0, 50, 15.0]] \ No newline at end of file diff --git a/samples/csquiral.ta b/samples/csquiral.ta index bd11427..71885ac 100644 --- a/samples/csquiral.ta +++ b/samples/csquiral.ta @@ -1 +1 @@ -[[0, "start", 215, 24, [null, 1]], [1, "clean", 227, 74, [0, 2]], [2, "storeinbox1", 227, 113, [1, 3, 4]], [3, ["number", "1"], 301, 130, [2, null]], [4, "setpensize", 227, 167, [2, 5, 6]], [5, ["number", "20"], 301, 184, [4, null]], [6, "repeat", 227, 221, [4, 7, 8, null]], [7, ["number", "1300"], 313, 230, [6, null]], [8, "wait", 322, 270, [6, 9, 10]], [9, ["number", "0.1"], 396, 279, [8, null]], [10, "forward", 322, 309, [8, 11, 12]], [11, "box1", 396, 318, [10, null]], [12, "right", 322, 348, [10, 13, 14]], [13, ["number", "91"], 396, 357, [12, null]], [14, "setcolor", 322, 387, [12, 15, 18]], [15, "division2", 396, 380, [14, 16, 17]], [16, "xcor", 436, 388, [15, null]], [17, ["number", "6"], 455, 421, [15, null]], [18, "setshade", 322, 441, [14, 19, 20]], [19, "heading", 396, 458, [18, null]], [20, "storeinbox1", 322, 495, [18, 21, null]], [21, "plus2", 396, 488, [20, 22, 23]], [22, "box1", 436, 496, [21, null]], [23, ["number", "1"], 436, 529, [21, null]], [-1, "turtle", -324.93992977292589, 553.15991039106382, 105.0, -54.156654962154313, 105.0, 20.0]] \ No newline at end of file +[[0, "start", 175, 189, [null, 1]], [1, "clean", 175, 231, [0, 2]], [2, "storeinbox1", 175, 265, [1, 3, 4]], [3, ["number", 1], 293, 265, [2, null]], [4, "setpensize", 175, 307, [2, 5, 6]], [5, ["number", 20], 277, 307, [4, null]], [6, "repeat", 175, 349, [4, 7, 8, null]], [7, ["number", 1300], 226, 349, [6, null]], [8, "forward", 240, 409, [6, 9, 10]], [9, "box1", 311, 409, [8, null]], [10, "right", 240, 451, [8, 11, 12]], [11, ["number", 91], 298, 451, [10, null]], [12, "setcolor", 240, 493, [10, 22, 16]], [13, "division2", 451, 493, [22, 14, 15]], [14, "xcor", 505, 493, [13, null]], [15, ["number", 6], 529, 539, [13, null]], [16, "setshade", 240, 535, [12, 17, 18]], [17, "heading", 325, 535, [16, null]], [18, "storeinbox1", 240, 577, [16, 19, null]], [19, "plus2", 358, 577, [18, 20, 21]], [20, "box1", 412, 577, [19, null]], [21, ["number", 1], 412, 619, [19, null]], [22, ["identity2", 40], 317, 493, [12, 13]], [-1, ["turtle", 1], 907, 87, 220.0, 151.33309303159845, 220.0, 20.0]] \ No newline at end of file diff --git a/samples/curlygates.ta b/samples/curlygates.ta index 7908cde..a04a0ed 100644 --- a/samples/curlygates.ta +++ b/samples/curlygates.ta @@ -1 +1 @@ -[[0, "start", 199, 22, [null, 1]], [1, "fillscreen", 211, 72, [0, 2, 3, 4]], [2, ["number", "50"], 285, 81, [1, null]], [3, ["number", "30"], 285, 118, [1, null]], [4, "repeat", 211, 148, [1, 5, 6, null]], [5, ["number", "20"], 297, 157, [4, null]], [6, "setxy", 306, 197, [4, 7, 10, 13]], [7, "random", 380, 187, [6, 8, 9, null]], [8, ["number", "-570"], 408, 206, [7, null]], [9, ["number", "570"], 530, 206, [7, null]], [10, "random", 380, 224, [6, 11, 12, null]], [11, ["number", "-440"], 408, 243, [10, null]], [12, ["number", "440"], 530, 243, [10, null]], [13, "seth", 306, 273, [6, 14, 17]], [14, "random", 380, 263, [13, 15, 16, null]], [15, ["number", "0"], 408, 282, [14, null]], [16, ["number", "360"], 530, 282, [14, null]], [17, "stack2", 306, 312, [13, null]], [18, "hat2", 666, 170, [null, 19]], [19, "setcolor", 678, 220, [18, 20, 21]], [20, ["number", "20"], 752, 237, [19, null]], [21, "setshade", 678, 274, [19, 22, 23]], [22, ["number", "60"], 752, 291, [21, null]], [23, "setpensize", 678, 328, [21, 24, 25]], [24, ["number", "20"], 752, 345, [23, null]], [25, "stack1", 678, 382, [23, 26]], [26, "setcolor", 678, 421, [25, 27, 28]], [27, ["number", "0"], 752, 438, [26, null]], [28, "setshade", 678, 475, [26, 29, 32]], [29, "random", 752, 473, [28, 30, 31, null]], [30, ["number", "60"], 780, 492, [29, null]], [31, ["number", "80"], 902, 492, [29, null]], [32, "setpensize", 678, 529, [28, 33, 34]], [33, ["number", "12"], 752, 546, [32, null]], [34, "stack1", 678, 583, [32, null]], [35, "hat1", 195, 317, [null, 36]], [36, "repeat", 207, 367, [35, 37, 38, null]], [37, ["number", "3"], 293, 376, [36, null]], [38, "storeinbox1", 302, 416, [36, 39, 40]], [39, ["number", "200"], 376, 433, [38, null]], [40, "repeat", 302, 470, [38, 41, 42, null]], [41, ["number", "20"], 388, 479, [40, null]], [42, "arc", 397, 519, [40, 43, 44, 45]], [43, ["number", "30"], 471, 528, [42, null]], [44, "box1", 471, 565, [42, null]], [45, "storeinbox1", 397, 595, [42, 46, null]], [46, "division2", 471, 588, [45, 47, 48]], [47, "box1", 511, 596, [46, null]], [48, ["number", "1.2"], 530, 629, [46, null]], [-1, "turtle", 498.00000000000017, -255.00000000000003, 322.0, 0.0, 61, 12.0]] \ No newline at end of file +[[0, "start", 204, 175, [null, 1]], [1, "fillscreen", 204, 217, [0, 2, 3, 4]], [2, ["number", 50], 286, 217, [1, null]], [3, ["number", 30], 286, 259, [1, null]], [4, "repeat", 204, 301, [1, 5, 6, null]], [5, ["number", 20], 255, 301, [4, null]], [6, "setxy", 269, 361, [4, 46, 8, 45]], [7, "random", 541, 361, [46, 47, 48, null]], [8, "random", 327, 403, [6, 49, 50, null]], [9, "seth", 269, 479, [45, 10, 29]], [10, "random", 368, 479, [9, 11, 12, null]], [11, ["number", 0], 454, 479, [10, null]], [12, ["number", 360], 454, 521, [10, null]], [13, "stack2", 776, 347, [17, 27]], [14, "hat2", 161, 520, [null, 31]], [15, "setcolor", 776, 263, [19, 16, 17]], [16, ["number", 20], 853, 263, [15, null]], [17, "setshade", 776, 305, [15, 18, 13]], [18, ["number", 60], 861, 305, [17, null]], [19, "setpensize", 776, 221, [30, 20, 15]], [20, ["number", 20], 878, 221, [19, null]], [21, "setcolor", 776, 423, [27, 22, 23]], [22, ["number", 0], 853, 423, [21, null]], [23, "setshade", 776, 465, [21, 24, 44]], [24, "random", 861, 465, [23, 25, 26, null]], [25, ["number", 60], 947, 465, [24, null]], [26, ["number", 80], 947, 507, [24, null]], [27, "setpensize", 776, 381, [13, 28, 21]], [28, ["number", 12], 878, 381, [27, null]], [29, "stack1", 269, 521, [9, null]], [30, "hat1", 776, 179, [null, 19]], [31, "repeat", 161, 562, [14, 32, 33, null]], [32, ["number", 3], 212, 562, [31, null]], [33, "storeinbox1", 226, 622, [31, 34, 35]], [34, ["number", 200], 344, 622, [33, null]], [35, "repeat", 226, 664, [33, 36, 37, null]], [36, ["number", 20], 277, 664, [35, null]], [37, "arc", 291, 724, [35, 38, 39, 40]], [38, ["number", 30], 349, 724, [37, null]], [39, "box1", 349, 766, [37, null]], [40, "storeinbox1", 291, 808, [37, 41, null]], [41, "division2", 409, 808, [40, 42, 43]], [42, "box1", 463, 808, [41, null]], [43, ["number", "1.2"], 487, 854, [41, null]], [44, "stack2", 776, 507, [23, null]], [45, ["vspace", 0], 269, 445, [6, 9]], [46, ["identity2", 80], 327, 361, [6, 7]], [47, "leftpos", 627, 361, [7, null]], [48, "rightpos", 627, 403, [7, null]], [49, "bottompos", 413, 403, [8, null]], [50, "toppos", 413, 445, [8, null]], [-1, ["turtle", 1], -360, 472, 347.0, 0.0, 69, 12.0]] \ No newline at end of file diff --git a/samples/dots.ta b/samples/dots.ta index 09d6efe..2164955 100644 --- a/samples/dots.ta +++ b/samples/dots.ta @@ -1 +1 @@ -[[0, "clean", 227, 73, [1, 2]], [1, "start", 215, 23, [null, 0]], [2, "setcolor", 227, 112, [0, 3, 4]], [3, ["number", "0"], 301, 129, [2, null]], [4, "setpensize", 227, 166, [2, 5, 6]], [5, ["number", "20"], 301, 183, [4, null]], [6, "storeinbox1", 227, 220, [4, 7, 8]], [7, ["number", "0"], 301, 237, [6, null]], [8, "repeat", 227, 274, [6, 9, 10, null]], [9, ["number", "1000"], 313, 283, [8, null]], [10, "pendown", 322, 323, [8, 11]], [11, "forward", 322, 362, [10, 12, 13]], [12, ["number", "1"], 396, 371, [11, null]], [13, "penup", 322, 401, [11, 14]], [14, "forward", 322, 440, [13, 15, 16]], [15, "box1", 396, 449, [14, null]], [16, "right", 322, 479, [14, 17, 18]], [17, ["number", "93"], 396, 488, [16, null]], [18, "storeinbox1", 322, 518, [16, 19, 22]], [19, "plus2", 396, 511, [18, 21, 20]], [20, ["number", "1"], 436, 552, [19, null]], [21, "box1", 436, 519, [19, null]], [22, "setcolor", 322, 572, [18, 23, null]], [23, "box1", 396, 589, [22, null]], [-1, "turtle", -195.08137186354315, 661.36192458837445, 120.0, 1000.0, 50, 20.0]] \ No newline at end of file +[[0, "clean", 263, 217, [1, 2]], [1, "start", 263, 175, [null, 0]], [2, "setcolor", 263, 251, [0, 3, 4]], [3, ["number", 0], 340, 251, [2, null]], [4, "setpensize", 263, 293, [2, 5, 6]], [5, ["number", 20], 365, 293, [4, null]], [6, "storeinbox1", 263, 335, [4, 7, 8]], [7, ["number", 0], 381, 335, [6, null]], [8, "repeat", 263, 377, [6, 9, 10, null]], [9, ["number", 1000], 314, 377, [8, null]], [10, "pendown", 328, 437, [8, 11]], [11, "forward", 328, 471, [10, 12, 13]], [12, ["number", 1], 399, 471, [11, null]], [13, "penup", 328, 513, [11, 14]], [14, "forward", 328, 547, [13, 15, 16]], [15, "box1", 399, 547, [14, null]], [16, "right", 328, 589, [14, 17, 18]], [17, ["number", 93], 386, 589, [16, null]], [18, "storeinbox1", 328, 631, [16, 19, 24]], [19, "plus2", 446, 631, [18, 21, 20]], [20, ["number", 1], 500, 673, [19, null]], [21, "box1", 500, 631, [19, null]], [22, "setcolor", 328, 707, [24, 23, null]], [23, "box1", 405, 707, [22, null]], [24, ["vspace", 0], 328, 673, [18, 22]], [-1, ["turtle", 1], -195, 661, 120.0, 1000.0, 50, 20.0]] \ No newline at end of file diff --git a/samples/find_boston.ta b/samples/find_boston.ta index 296a0c4..5817930 100644 --- a/samples/find_boston.ta +++ b/samples/find_boston.ta @@ -1 +1 @@ -[[0, "hat", 183, 16, [null, 1, 2]], [1, ["string", "Q1"], 204, 43, [0, null]], [2, "storein", 221, 86, [0, 3, 330, 4]], [3, ["string", "x"], 233, 113, [2, null]], [4, "storein", 221, 140, [2, 5, 17, 6]], [5, ["string", "y"], 233, 167, [4, null]], [6, "storein", 221, 194, [4, 7, 16, 8]], [7, ["string", "size"], 233, 221, [6, null]], [8, "storein", 221, 248, [6, 9, 10, 11]], [9, ["string", "name"], 233, 275, [8, null]], [10, ["string", "North America"], 351, 267, [8, null]], [11, "storein", 221, 302, [8, 12, 13, 14]], [12, ["string", "picture"], 233, 329, [11, null]], [13, ["journal", "3562805e-5ff2-4b18-a6df-6c9057e266d5"], 351, 305, [11, null]], [14, "stack", 221, 356, [11, 15, null]], [15, ["string", "go"], 233, 368, [14, null]], [16, ["number", "180"], 351, 212, [6, null]], [17, ["number", "200"], 351, 158, [4, null]], [18, "hat", 654, 10, [null, 19, 20]], [19, ["string", "Q3"], 675, 37, [18, null]], [20, "storein", 692, 80, [18, 21, 22, 23]], [21, ["string", "x"], 704, 107, [20, null]], [22, ["number", "481"], 822, 98, [20, null]], [23, "storein", 692, 134, [20, 24, 25, 26]], [24, ["string", "y"], 704, 161, [23, null]], [25, ["number", "279"], 822, 152, [23, null]], [26, "storein", 692, 188, [23, 27, 28, 29]], [27, ["string", "size"], 704, 215, [26, null]], [28, ["number", "100"], 822, 206, [26, null]], [29, "storein", 692, 242, [26, 30, 31, 32]], [30, ["string", "name"], 704, 269, [29, null]], [31, ["string", "New England"], 822, 261, [29, null]], [32, "storein", 692, 296, [29, 33, 34, 35]], [33, ["string", "picture"], 704, 323, [32, null]], [34, ["journal", "25949567-1329-4488-b2ba-e5a589e7800c"], 822, 299, [32, null]], [35, "stack", 692, 350, [32, 36, null]], [36, ["string", "go"], 704, 362, [35, null]], [37, "hat", 192, 449, [null, 38, 39]], [38, ["string", "Q4"], 213, 476, [37, null]], [39, "storein", 230, 519, [37, 40, 41, 42]], [40, ["string", "x"], 242, 546, [39, null]], [41, ["number", "-456"], 360, 537, [39, null]], [42, "storein", 230, 573, [39, 43, 44, 45]], [43, ["string", "y"], 242, 600, [42, null]], [44, ["number", "-175"], 360, 591, [42, null]], [45, "storein", 230, 627, [42, 46, 47, 48]], [46, ["string", "size"], 242, 654, [45, null]], [47, ["number", "100"], 360, 645, [45, null]], [48, "storein", 230, 681, [45, 49, 50, 51]], [49, ["string", "name"], 242, 708, [48, null]], [50, ["string", "Massachusetts"], 360, 700, [48, null]], [51, "storein", 230, 735, [48, 52, 53, 54]], [52, ["string", "picture"], 242, 762, [51, null]], [53, ["journal", "c27445ad-fc18-4f5b-afb2-7307075f7ea7"], 360, 738, [51, null]], [54, "stack", 230, 789, [51, 55, null]], [55, ["string", "go"], 242, 801, [54, null]], [56, "hat", 16, 807, [null, 57, 58]], [57, ["string", "calculate distance"], 37, 834, [56, null]], [58, "storein", 54, 877, [56, 59, 60, 67]], [59, ["string", "dx"], 66, 904, [58, null]], [60, "minus2", 184, 871, [58, 61, 66]], [61, "product2", 224, 855, [60, 62, 64]], [62, "box", 264, 858, [61, 63, null]], [63, ["string", "x"], 282, 863, [62, null]], [64, "box", 264, 891, [61, 65, null]], [65, ["string", "scale"], 282, 896, [64, null]], [66, "xcor", 243, 912, [60, null]], [67, "storein", 54, 931, [58, 68, 69, 76]], [68, ["string", "dy"], 66, 958, [67, null]], [69, "minus2", 184, 925, [67, 70, 75]], [70, "product2", 224, 909, [69, 71, 73]], [71, "box", 264, 912, [70, 72, null]], [72, ["string", "y"], 282, 917, [71, null]], [73, "box", 264, 945, [70, 74, null]], [74, ["string", "scale"], 282, 950, [73, null]], [75, "ycor", 243, 966, [69, null]], [76, "storein", 54, 985, [67, 77, 78, null]], [77, ["string", "distance"], 66, 1012, [76, null]], [78, "sqrt", 184, 995, [76, 79]], [79, "plus2", 226, 979, [78, 80, 86]], [80, "identity2", 266, 951, [79, 81]], [81, "product2", 306, 934, [80, 82, 84]], [82, "box", 346, 937, [81, 83, null]], [83, ["string", "dx"], 364, 942, [82, null]], [84, "box", 346, 970, [81, 85, null]], [85, ["string", "dx"], 364, 975, [84, null]], [86, "identity", 266, 1020, [79, 87]], [87, "product2", 306, 1024, [86, 88, 90]], [88, "box", 346, 1027, [87, 89, null]], [89, ["string", "dy"], 364, 1032, [88, null]], [90, "box", 346, 1060, [87, 91, null]], [91, ["string", "dy"], 364, 1065, [90, null]], [92, "hat", 459, 443, [null, 93, 94]], [93, ["string", "Q5"], 480, 470, [92, null]], [94, "storein", 497, 513, [92, 95, 96, 97]], [95, ["string", "x"], 509, 540, [94, null]], [96, ["number", "210"], 627, 531, [94, null]], [97, "storein", 497, 567, [94, 98, 99, 100]], [98, ["string", "y"], 509, 594, [97, null]], [99, ["number", "200"], 627, 585, [97, null]], [100, "storein", 497, 621, [97, 101, 102, 103]], [101, ["string", "size"], 509, 648, [100, null]], [102, ["number", "50"], 627, 639, [100, null]], [103, "storein", 497, 675, [100, 104, 105, 106]], [104, ["string", "name"], 509, 702, [103, null]], [105, ["string", "Boston"], 627, 694, [103, null]], [106, "storein", 497, 729, [103, 107, 108, 109]], [107, ["string", "picture"], 509, 756, [106, null]], [108, ["journal", "555170a9-688c-46ff-9071-c392c71c5eb8"], 627, 732, [106, null]], [109, "stack", 497, 783, [106, 110, null]], [110, ["string", "go"], 509, 795, [109, null]], [111, "hat", 716, 437, [null, 112, 113]], [112, ["string", "map"], 737, 464, [111, null]], [113, "setscale", 754, 507, [111, 114, 115]], [114, ["number", "100"], 828, 516, [113, null]], [115, "setxy", 754, 546, [113, 116, 117, 118]], [116, ["number", "0"], 828, 555, [115, null]], [117, ["number", "0"], 828, 592, [115, null]], [118, "show", 754, 622, [115, 119, null]], [119, ["journal", "3261f780-e492-4034-a773-f400542d02ca"], 828, 616, [118, null]], [120, "hat", 487, 873, [null, 121, 122]], [121, ["string", "setup"], 508, 900, [120, null]], [122, "storein", 525, 943, [120, 123, 124, 127]], [123, ["string", "scale"], 537, 970, [122, null]], [124, "division2", 655, 937, [122, 125, 126]], [125, "vres", 695, 945, [124, null]], [126, ["number", "900"], 714, 978, [124, null]], [127, "storein", 525, 997, [122, 128, 129, 148]], [128, ["string", "box"], 537, 1024, [127, null]], [129, "product2", 655, 991, [127, 130, 131]], [130, ["number", "-260"], 695, 999, [129, null]], [131, "box", 695, 1027, [129, 132, null]], [132, ["string", "scale"], 713, 1032, [131, null]], [133, "hat", 792, 860, [null, 134, 135]], [134, ["string", "star"], 813, 887, [133, null]], [135, "setpensize", 830, 930, [133, 136, 137]], [136, ["number", "15"], 904, 947, [135, null]], [137, "setxy", 830, 984, [135, 138, 139, 140]], [138, ["number", "0"], 904, 993, [137, null]], [139, ["number", "0"], 904, 1030, [137, null]], [140, "repeat", 830, 1060, [137, 141, 142, null]], [141, ["number", "5"], 916, 1069, [140, null]], [142, "setcolor", 925, 1109, [140, 143, 144]], [143, "heading", 999, 1126, [142, null]], [144, "forward", 925, 1163, [142, 145, 146]], [145, ["number", "200"], 999, 1172, [144, null]], [146, "right", 925, 1202, [144, 147, null]], [147, ["number", "144"], 999, 1211, [146, null]], [148, "clean", 525, 1051, [127, null]], [149, "hat", 445, 12, [null, 150, 151]], [150, ["string", "Q2"], 466, 39, [149, null]], [151, "storein", 483, 82, [149, 152, 153, 154]], [152, ["string", "x"], 495, 109, [151, null]], [153, ["number", "-200"], 613, 100, [151, null]], [154, "storein", 483, 136, [151, 167, 155, 156]], [155, ["number", "-220"], 613, 154, [154, null]], [156, "storein", 483, 190, [154, 157, 158, 159]], [157, ["string", "size"], 495, 217, [156, null]], [158, ["number", "200"], 613, 208, [156, null]], [159, "storein", 483, 244, [156, 160, 161, 162]], [160, ["string", "name"], 495, 271, [159, null]], [161, ["string", "USA"], 613, 263, [159, null]], [162, "storein", 483, 298, [159, 163, 164, 165]], [163, ["string", "picture"], 495, 325, [162, null]], [164, ["journal", "881d35a4-546d-4309-af21-5c93b4b276b5"], 613, 301, [162, null]], [165, "stack", 483, 352, [162, 166, null]], [166, ["string", "go"], 495, 364, [165, null]], [167, ["string", "y"], 495, 163, [154, null]], [168, "hat", 1328, 8, [null, 169, 170]], [169, ["string", "xaxis"], 1349, 35, [168, null]], [170, "settextsize", 1366, 78, [168, 171, 172]], [171, ["number", "16"], 1440, 95, [170, null]], [172, "setxy", 1366, 132, [170, 173, 174, 175]], [173, "leftpos", 1440, 141, [172, null]], [174, ["number", "0"], 1440, 178, [172, null]], [175, "repeat", 1366, 208, [172, 176, 179, null]], [176, "division2", 1452, 193, [175, 177, 178]], [177, "hres", 1492, 201, [176, null]], [178, ["number", "100"], 1511, 234, [176, null]], [179, "seth", 1461, 257, [175, 180, 181]], [180, ["number", "0"], 1535, 266, [179, null]], [181, "forward", 1461, 296, [179, 182, 183]], [182, ["number", "10"], 1535, 305, [181, null]], [183, "penup", 1461, 335, [181, 184]], [184, "forward", 1461, 374, [183, 185, 186]], [185, ["number", "5"], 1535, 383, [184, null]], [186, "show", 1461, 413, [184, 187, 188]], [187, "xcor", 1535, 422, [186, null]], [188, "back", 1461, 452, [186, 189, 190]], [189, ["number", "5"], 1535, 461, [188, null]], [190, "pendown", 1461, 491, [188, 191]], [191, "back", 1461, 530, [190, 192, 193]], [192, ["number", "10"], 1535, 539, [191, null]], [193, "seth", 1461, 569, [191, 194, 195]], [194, ["number", "90"], 1535, 578, [193, null]], [195, "forward", 1461, 608, [193, 196, null]], [196, ["number", "100"], 1535, 617, [195, null]], [197, "hat", 1373, 672, [null, 198, 199]], [198, ["string", "yaxis"], 1394, 699, [197, null]], [199, "settextsize", 1411, 742, [197, 200, 201]], [200, ["number", "16"], 1485, 759, [199, null]], [201, "setxy", 1411, 796, [199, 202, 203, 204]], [202, ["number", "0"], 1485, 805, [201, null]], [203, "bottompos", 1485, 842, [201, null]], [204, "repeat", 1411, 872, [201, 205, 208, null]], [205, "division2", 1497, 857, [204, 206, 207]], [206, "vres", 1537, 865, [205, null]], [207, ["number", "100"], 1556, 898, [205, null]], [208, "seth", 1506, 921, [204, 209, 210]], [209, ["number", "90"], 1580, 930, [208, null]], [210, "forward", 1506, 960, [208, 211, 212]], [211, ["number", "10"], 1580, 969, [210, null]], [212, "penup", 1506, 999, [210, 213]], [213, "forward", 1506, 1038, [212, 214, 215]], [214, ["number", "5"], 1580, 1047, [213, null]], [215, "show", 1506, 1077, [213, 216, 217]], [216, "ycor", 1580, 1086, [215, null]], [217, "back", 1506, 1116, [215, 218, 219]], [218, ["number", "5"], 1580, 1125, [217, null]], [219, "pendown", 1506, 1155, [217, 220]], [220, "back", 1506, 1194, [219, 221, 222]], [221, ["number", "10"], 1580, 1203, [220, null]], [222, "seth", 1506, 1233, [220, 223, 224]], [223, ["number", "0"], 1580, 1242, [222, null]], [224, "forward", 1506, 1272, [222, 225, null]], [225, ["number", "100"], 1580, 1281, [224, null]], [226, "hat", 925, 445, [null, 227, 228]], [227, ["string", "go"], 946, 472, [226, null]], [228, "if", 963, 515, [226, 229, 233, 244]], [229, "greater", 1043, 525, [228, 230, 232, null]], [230, "box", 1075, 529, [229, 231, null]], [231, ["string", "test"], 1093, 534, [230, null]], [232, ["number", "0"], 1224, 534, [229, null]], [233, "setxy", 1058, 589, [228, 234, 237, 239]], [234, "minus2", 1132, 574, [233, 235, 309]], [235, "box", 1172, 577, [234, 236, null]], [236, ["string", "x"], 1190, 582, [235, null]], [237, "box", 1132, 630, [233, 238, null]], [238, ["string", "y"], 1150, 635, [237, null]], [239, "arc", 1058, 665, [233, 240, 241, 243]], [240, ["number", "360"], 1132, 674, [239, null]], [241, "box", 1132, 706, [239, 242, null]], [242, ["string", "size"], 1150, 711, [241, null]], [243, "hspace", 1058, 732, [239, 311]], [244, "vspace", 963, 630, [228, 245]], [245, "vspace", 963, 699, [244, 246]], [246, "setxy", 963, 768, [245, 247, 248, 250]], [247, ["number", "0"], 1037, 777, [246, null]], [248, "box", 1037, 809, [246, 249, null]], [249, ["string", "box"], 1055, 814, [248, null]], [250, "settextsize", 963, 844, [246, 251, 255]], [251, "product2", 1037, 837, [250, 252, 253]], [252, ["number", "24"], 1077, 845, [251, null]], [253, "box", 1077, 873, [251, 254, null]], [254, ["string", "scale"], 1095, 878, [253, null]], [255, "show", 963, 898, [250, 256, 260]], [256, "plus2", 1037, 883, [255, 257, 258]], [257, ["string", "Put the turtle in "], 1077, 892, [256, null]], [258, "box", 1077, 919, [256, 259, null]], [259, ["string", "name"], 1095, 924, [258, null]], [260, "setxy", 963, 937, [255, 261, 262, 263]], [261, ["number", "0"], 1037, 946, [260, null]], [262, ["number", "0"], 1037, 983, [260, null]], [263, "forever", 963, 1013, [260, 264, null]], [264, "stack", 1044, 1027, [263, 265, 266]], [265, ["string", "calculate distance"], 1056, 1039, [264, null]], [266, "if", 1044, 1066, [264, 267, 275, 285]], [267, "less", 1124, 1076, [266, 268, 270, null]], [268, "box", 1156, 1080, [267, 269, null]], [269, ["string", "distance"], 1174, 1085, [268, null]], [270, "product2", 1305, 1061, [267, 271, 273]], [271, "box", 1345, 1064, [270, 272, null]], [272, ["string", "size"], 1363, 1069, [271, null]], [273, "box", 1345, 1097, [270, 274, null]], [274, ["string", "scale"], 1363, 1102, [273, null]], [275, "clean", 1139, 1140, [266, 276]], [276, "setxy", 1139, 1179, [275, 277, 278, 279]], [277, ["number", "0"], 1213, 1188, [276, null]], [278, ["number", "0"], 1213, 1225, [276, null]], [279, "setscale", 1139, 1255, [276, 280, 281]], [280, ["number", "100"], 1213, 1264, [279, null]], [281, "show", 1139, 1294, [279, 282, 284]], [282, "box", 1213, 1298, [281, 283, null]], [283, ["string", "picture"], 1231, 1303, [282, null]], [284, "stopstack", 1139, 1333, [281, null]], [285, "wait", 1044, 1181, [266, 286, null]], [286, ["number", "1"], 1118, 1190, [285, null]], [287, "start", 1030, 7, [null, 288]], [288, "storein", 1042, 57, [287, 289, 290, 291]], [289, ["string", "test"], 1054, 84, [288, null]], [290, ["number", "1"], 1172, 75, [288, null]], [291, "stack", 1042, 111, [288, 292, 293]], [292, ["string", "setup"], 1054, 123, [291, null]], [293, "stack", 1042, 150, [291, 294, 295]], [294, ["string", "map"], 1054, 162, [293, null]], [295, "stack", 1042, 189, [293, 296, 297]], [296, ["string", "Q1"], 1054, 201, [295, null]], [297, "stack", 1042, 228, [295, 298, 299]], [298, ["string", "Q2"], 1054, 240, [297, null]], [299, "stack", 1042, 267, [297, 300, 301]], [300, ["string", "Q3"], 1054, 279, [299, null]], [301, "stack", 1042, 306, [299, 302, 303]], [302, ["string", "Q4"], 1054, 318, [301, null]], [303, "stack", 1042, 345, [301, 304, 305]], [304, ["string", "Q5"], 1054, 357, [303, null]], [305, "stack", 1042, 384, [303, 306, null]], [306, ["string", "star"], 1054, 396, [305, null]], [307, "division2", 1291, 420, [null, null, 308]], [308, ["number", "2"], 1350, 461, [307, null]], [309, "box", 1191, 610, [234, 310, null]], [310, ["string", "size"], 1209, 615, [309, null]], [311, "storein", 1149, 740, [243, 312, 315, 319]], [312, ["string", "box"], 1161, 767, [311, null]], [313, "division2", 1654, 756, [null, null, 314]], [314, ["number", "2"], 1713, 797, [313, null]], [315, "plus2", 1279, 734, [311, 316, 317]], [316, "xcor", 1319, 742, [315, null]], [317, "box", 1319, 770, [315, 318, null]], [318, ["string", "size"], 1337, 775, [317, null]], [319, "print", 1149, 794, [311, 320, 326]], [320, "plus2", 1223, 779, [319, 321, 323]], [321, "box", 1263, 782, [320, 322, null]], [322, ["string", "box"], 1281, 787, [321, null]], [323, "plus2", 1263, 796, [320, 324, 325]], [324, ["string", ", "], 1303, 805, [323, null]], [325, "ycor", 1303, 837, [323, null]], [326, "stack", 1149, 833, [319, 327, 328]], [327, ["string", "xaxis"], 1161, 845, [326, null]], [328, "stack", 1149, 872, [326, 329, null]], [329, ["string", "yaxis"], 1161, 884, [328, null]], [330, ["number", "-200"], 351, 104, [2, null]], [-1, "turtle", 0.0, 0.0, 0.0, 0, 50, 5]] \ No newline at end of file +[[0, ["string", "North America"], 245, 597, [263, null]], [1, ["journal", "./samples/images/North_America.jpg"], 245, 681, [265, null]], [2, ["number", 180], 433, 513, [260, null]], [3, ["number", 200], 433, 429, [254, null]], [4, "hat", 171, 477, [null, 5, 238]], [5, ["string", "Q3"], 229, 485, [4, null]], [6, "storein", 171, 569, [238, 7, 229, 9]], [7, ["string", "x"], 239, 569, [6, null]], [8, ["number", 481], 427, 611, [226, null]], [9, "storein", 171, 653, [6, 10, 231, 12]], [10, ["string", "y"], 239, 653, [9, null]], [11, ["number", 279], 427, 695, [230, null]], [12, "storein", 171, 737, [9, 13, 237, 15]], [13, ["string", "size"], 239, 737, [12, null]], [14, ["number", 100], 427, 779, [236, null]], [15, "storein", 171, 821, [12, 16, 17, 18]], [16, ["string", "name"], 239, 821, [15, null]], [17, ["string", "New England"], 239, 863, [15, null]], [18, "storein", 171, 905, [15, 19, 20, 21]], [19, ["string", "picture"], 239, 905, [18, null]], [20, ["journal", "./samples/images/New-England.png"], 239, 947, [18, null]], [21, "stack", 171, 989, [18, 22, 240]], [22, ["string", "go"], 229, 989, [21, null]], [23, ["number", -420], 426, 751, [335, null]], [24, ["number", -250], 426, 835, [341, null]], [25, ["number", 100], 426, 919, [347, null]], [26, ["string", "Massachusetts"], 238, 1003, [350, null]], [27, ["journal", "./samples/images/Massachuetts.png"], 238, 1087, [352, null]], [28, "hat", 445, 629, [null, 29, 206]], [29, ["string", "calculate distance"], 503, 637, [28, null]], [30, "storein", 445, 721, [206, 31, 32, 39]], [31, ["string", "dx"], 513, 721, [30, null]], [32, "minus2", 513, 763, [30, 33, 38]], [33, "product2", 567, 763, [32, 34, 36]], [34, "box", 621, 763, [33, 35, null]], [35, ["string", "x"], 676, 763, [34, null]], [36, "box", 621, 805, [33, 37, null]], [37, ["string", "scalex"], 676, 805, [36, null]], [38, "xcor", 591, 809, [32, null]], [39, "storein", 445, 805, [30, 40, 41, 48]], [40, ["string", "dy"], 513, 805, [39, null]], [41, "minus2", 513, 847, [39, 42, 47]], [42, "product2", 567, 847, [41, 43, 45]], [43, "box", 621, 847, [42, 44, null]], [44, ["string", "y"], 676, 847, [43, null]], [45, "box", 621, 889, [42, 46, null]], [46, ["string", "scaley"], 676, 889, [45, null]], [47, "ycor", 591, 893, [41, null]], [48, "storein", 445, 889, [39, 49, 50, 208]], [49, ["string", "distance"], 513, 889, [48, null]], [50, "sqrt", 513, 931, [48, 51]], [51, "plus2", 567, 931, [50, 52, 58]], [52, ["identity2", 0], 621, 931, [51, 53]], [53, "product2", 675, 931, [52, 54, 56]], [54, "box", 729, 931, [53, 55, null]], [55, ["string", "dx"], 784, 931, [54, null]], [56, "box", 729, 973, [53, 57, null]], [57, ["string", "dx"], 784, 973, [56, null]], [58, ["identity2", 0], 621, 973, [51, 59]], [59, "product2", 675, 973, [58, 60, 62]], [60, "box", 729, 973, [59, 61, null]], [61, ["string", "dy"], 784, 973, [60, null]], [62, "box", 729, 1015, [59, 63, null]], [63, ["string", "dy"], 784, 1015, [62, null]], [64, ["number", 210], 421, 891, [306, null]], [65, ["number", 200], 421, 975, [312, null]], [66, ["number", 50], 421, 1059, [318, null]], [67, ["string", "Boston"], 233, 1143, [321, null]], [68, ["journal", "./samples/images/Boston.png"], 233, 1227, [323, null]], [69, "hat", 481, 486, [null, 70, 209]], [70, ["string", "map"], 539, 494, [69, null]], [71, "setscale", 481, 578, [209, 72, 73]], [72, ["number", 100], 558, 578, [71, null]], [73, "setxy", 481, 620, [71, 74, 75, 76]], [74, ["number", 0], 539, 620, [73, null]], [75, ["number", 0], 539, 662, [73, null]], [76, "show", 481, 704, [73, 77, 211]], [77, ["journal", "./samples/images/earth.png"], 539, 704, [76, null]], [78, "hat", 475, 761, [null, 79, 360]], [79, ["string", "setup"], 533, 769, [78, null]], [80, "storein", 475, 853, [360, 81, 82, 372]], [81, ["string", "scalex"], 543, 853, [80, null]], [82, "division2", 543, 895, [80, 371, 83]], [83, ["number", 1200], 621, 941, [82, null]], [84, "storein", 475, 1089, [377, 85, 86, 370]], [85, ["string", "box"], 543, 1089, [84, null]], [86, "product2", 543, 1131, [84, 87, 88]], [87, ["number", -260], 597, 1131, [86, null]], [88, "box", 597, 1173, [86, 89, null]], [89, ["string", "scalex"], 652, 1173, [88, null]], [90, "hat", 833, 547, [null, 91, 212]], [91, ["string", "star"], 891, 555, [90, null]], [92, "setpensize", 833, 723, [214, 93, 94]], [93, ["number", 15], 935, 723, [92, null]], [94, "setxy", 833, 765, [92, 95, 96, 97]], [95, ["number", 0], 891, 765, [94, null]], [96, ["number", 0], 891, 807, [94, null]], [97, "repeat", 833, 849, [94, 98, 99, 217]], [98, ["number", 5], 884, 849, [97, null]], [99, "setcolor", 898, 909, [97, 100, 101]], [100, "heading", 975, 909, [99, null]], [101, "forward", 898, 951, [99, 102, 103]], [102, ["number", 200], 969, 951, [101, null]], [103, "right", 898, 993, [101, 104, null]], [104, ["number", 144], 956, 993, [103, null]], [105, "clean", 475, 1207, [370, 364]], [106, ["number", -200], 433, 476, [277, null]], [107, ["number", -220], 433, 560, [283, null]], [108, ["number", 200], 433, 644, [289, null]], [109, ["string", "USA"], 245, 728, [292, null]], [110, ["journal", "./samples/images/United_States.png"], 245, 812, [294, null]], [111, "hat", 480, 341, [null, 112, 218]], [112, ["string", "go"], 538, 349, [111, null]], [113, "if", 480, 467, [220, 114, 118, 128]], [114, "greater2", 518, 433, [113, 115, 117, null]], [115, "box", 564, 433, [114, 116, null]], [116, ["string", "test"], 619, 433, [115, null]], [117, ["number", 0], 564, 475, [114, null]], [118, "setxy", 532, 535, [113, 225, 122, 124]], [119, "minus2", 764, 535, [225, 120, 190]], [120, "box", 818, 535, [119, 121, null]], [121, ["string", "x"], 873, 535, [120, null]], [122, "box", 590, 577, [118, 123, null]], [123, ["string", "y"], 645, 577, [122, null]], [124, "arc", 532, 619, [118, 125, 126, 127]], [125, ["number", 360], 590, 619, [124, null]], [126, "box", 590, 661, [124, 363, null]], [127, ["hspace", 80], 532, 703, [124, 192]], [128, ["vspace", 80], 480, 553, [113, 129]], [129, "setxy", 480, 747, [128, 130, 131, 133]], [130, ["number", 0], 538, 747, [129, null]], [131, "box", 538, 789, [129, 132, null]], [132, ["string", "box"], 593, 789, [131, null]], [133, "settextsize", 480, 831, [129, 134, 138]], [134, "product2", 584, 831, [133, 135, 136]], [135, ["number", 24], 638, 831, [134, null]], [136, "box", 638, 873, [134, 137, null]], [137, ["string", "scalex"], 693, 873, [136, null]], [138, "show", 480, 873, [133, 139, 222]], [139, "plus2", 538, 873, [138, 140, 141]], [140, ["string", "Put the turtle in "], 592, 873, [139, null]], [141, "box", 592, 915, [139, 142, null]], [142, ["string", "name"], 647, 915, [141, null]], [143, "setxy", 480, 949, [222, 144, 145, 146]], [144, ["number", 0], 538, 949, [143, null]], [145, ["number", 0], 538, 991, [143, null]], [146, "forever", 480, 1033, [143, 147, 224]], [147, "stack", 541, 1051, [146, 148, 221]], [148, ["string", "calculate distance"], 599, 1051, [147, null]], [149, "if", 541, 1127, [221, 150, 158, 168]], [150, "less2", 579, 1093, [149, 151, 153, null]], [151, "box", 625, 1093, [150, 152, null]], [152, ["string", "distance"], 680, 1093, [151, null]], [153, "product2", 625, 1135, [150, 154, 156]], [154, "box", 679, 1135, [153, 155, null]], [155, ["string", "size"], 734, 1135, [154, null]], [156, "box", 679, 1177, [153, 157, null]], [157, ["string", "scalex"], 734, 1177, [156, null]], [158, "clean", 593, 1195, [149, 159]], [159, "setxy", 593, 1229, [158, 160, 161, 162]], [160, ["number", 0], 651, 1229, [159, null]], [161, ["number", 0], 651, 1271, [159, null]], [162, "setscale", 593, 1313, [159, 163, 164]], [163, ["number", 100], 670, 1313, [162, null]], [164, "show", 593, 1355, [162, 165, 167]], [165, "box", 651, 1355, [164, 166, null]], [166, ["string", "picture"], 706, 1355, [165, null]], [167, "stopstack", 593, 1397, [164, null]], [168, "wait", 541, 1213, [149, 169, null]], [169, ["number", 1], 599, 1213, [168, null]], [170, "start", 486, 215, [null, 357]], [171, "storein", 486, 299, [357, 172, 173, 174]], [172, ["string", "test"], 554, 299, [171, null]], [173, ["number", 0], 554, 341, [171, null]], [174, "stack", 486, 383, [171, 175, 176]], [175, ["string", "setup"], 544, 383, [174, null]], [176, "stack", 486, 425, [174, 177, 178]], [177, ["string", "map"], 544, 425, [176, null]], [178, "stack", 486, 467, [176, 179, 180]], [179, ["string", "Q1"], 544, 467, [178, null]], [180, "stack", 486, 509, [178, 181, 182]], [181, ["string", "Q2"], 544, 509, [180, null]], [182, "stack", 486, 551, [180, 183, 184]], [183, ["string", "Q3"], 544, 551, [182, null]], [184, "stack", 486, 593, [182, 185, 186]], [185, ["string", "Q4"], 544, 593, [184, null]], [186, "stack", 486, 635, [184, 187, 188]], [187, ["string", "Q5"], 544, 635, [186, null]], [188, "stack", 486, 677, [186, 189, 359]], [189, ["string", "star"], 544, 677, [188, null]], [190, "box", 842, 581, [119, 191, null]], [191, ["string", "size"], 897, 581, [190, null]], [192, "storein", 748, 721, [127, 193, 194, 223]], [193, ["string", "box"], 816, 721, [192, null]], [194, "plus2", 816, 763, [192, 195, 196]], [195, "xcor", 870, 763, [194, null]], [196, "box", 870, 805, [194, 197, null]], [197, ["string", "size"], 925, 805, [196, null]], [198, "print", 748, 839, [223, 199, null]], [199, "plus2", 806, 839, [198, 200, 202]], [200, "box", 860, 839, [199, 201, null]], [201, ["string", "box"], 915, 839, [200, null]], [202, "plus2", 860, 881, [199, 203, 204]], [203, ["string", ", "], 914, 881, [202, null]], [204, "ycor", 914, 923, [202, null]], [205, ["number", -200], 433, 345, [248, null]], [206, "sandwichtop", 427, 679, [28, 207, 30]], [207, ["string", "sqrt(dx*dx+dy*dy)"], 530, 679, [206, null]], [208, ["sandwichcollapsed", 1], 445, 721, [48, null]], [209, "sandwichtop", 463, 536, [69, 210, 71]], [210, ["string", "earth from space"], 566, 536, [209, null]], [211, ["sandwichcollapsed", 1], 481, 578, [76, null]], [212, "sandwichtop", 815, 597, [90, 213, 214]], [213, ["string", "you've earned a star"], 918, 597, [212, null]], [214, "setxy", 833, 639, [212, 215, 216, 92]], [215, ["number", 0], 891, 639, [214, null]], [216, ["number", 0], 891, 681, [214, null]], [217, ["sandwichcollapsed", 1], 833, 639, [97, null]], [218, "sandwichtop", 462, 391, [111, 219, 220]], [219, ["string", "is the turtle on the mark?"], 565, 391, [218, null]], [220, ["vspace", 0], 480, 433, [218, 113]], [221, ["vspace", 0], 541, 1093, [147, 149]], [222, ["vspace", 0], 480, 915, [138, 143]], [223, ["vspace", 0], 748, 805, [192, 198]], [224, ["sandwichcollapsed", 1], 480, 433, [146, null]], [225, ["identity2", 60], 590, 535, [118, 119]], [226, "product2", 373, 611, [229, 8, 227]], [227, "box", 427, 653, [226, 228, null]], [228, ["string", "scalex"], 482, 653, [227, null]], [229, ["identity2", 40], 239, 611, [6, 226]], [230, "product2", 373, 695, [231, 11, 232]], [231, ["identity2", 40], 239, 695, [9, 230]], [232, "box", 427, 737, [230, 233, null]], [233, ["string", "scaley"], 482, 737, [232, null]], [234, "box", 427, 821, [236, 235, null]], [235, ["string", "scalex"], 482, 821, [234, null]], [236, "product2", 373, 779, [237, 14, 234]], [237, ["identity2", 40], 239, 779, [12, 236]], [238, "sandwichtop", 153, 527, [4, 239, 6]], [239, ["string", "New England"], 256, 527, [238, null]], [240, ["sandwichcollapsed", 1], 171, 569, [21, null]], [241, "hat", 177, 211, [null, 242, 243]], [242, ["string", "Q1"], 235, 219, [241, null]], [243, "sandwichtop", 159, 261, [241, 244, 245]], [244, ["string", "North America"], 262, 261, [243, null]], [245, "storein", 177, 303, [243, 246, 247, 251]], [246, ["string", "x"], 245, 303, [245, null]], [247, ["identity2", 40], 245, 345, [245, 248]], [248, "product2", 379, 345, [247, 205, 249]], [249, "box", 433, 387, [248, 250, null]], [250, ["string", "scalex"], 488, 387, [249, null]], [251, "storein", 177, 387, [245, 252, 253, 257]], [252, ["string", "y"], 245, 387, [251, null]], [253, ["identity2", 40], 245, 429, [251, 254]], [254, "product2", 379, 429, [253, 3, 255]], [255, "box", 433, 471, [254, 256, null]], [256, ["string", "scaley"], 488, 471, [255, null]], [257, "storein", 177, 471, [251, 258, 259, 263]], [258, ["string", "size"], 245, 471, [257, null]], [259, ["identity2", 40], 245, 513, [257, 260]], [260, "product2", 379, 513, [259, 2, 261]], [261, "box", 433, 555, [260, 262, null]], [262, ["string", "scalex"], 488, 555, [261, null]], [263, "storein", 177, 555, [257, 264, 0, 265]], [264, ["string", "name"], 245, 555, [263, null]], [265, "storein", 177, 639, [263, 266, 1, 267]], [266, ["string", "picture"], 245, 639, [265, null]], [267, "stack", 177, 723, [265, 268, 269]], [268, ["string", "go"], 235, 723, [267, null]], [269, ["sandwichcollapsed", 1], 177, 303, [267, null]], [270, "hat", 177, 342, [null, 271, 272]], [271, ["string", "Q2"], 235, 350, [270, null]], [272, "sandwichtop", 159, 392, [270, 273, 274]], [273, ["string", "United States"], 262, 392, [272, null]], [274, "storein", 177, 434, [272, 275, 276, 280]], [275, ["string", "x"], 245, 434, [274, null]], [276, ["identity2", 40], 245, 476, [274, 277]], [277, "product2", 379, 476, [276, 106, 278]], [278, "box", 433, 518, [277, 279, null]], [279, ["string", "scalex"], 488, 518, [278, null]], [280, "storein", 177, 518, [274, 281, 282, 286]], [281, ["string", "y"], 245, 518, [280, null]], [282, ["identity2", 40], 245, 560, [280, 283]], [283, "product2", 379, 560, [282, 107, 284]], [284, "box", 433, 602, [283, 285, null]], [285, ["string", "scaley"], 488, 602, [284, null]], [286, "storein", 177, 602, [280, 287, 288, 292]], [287, ["string", "size"], 245, 602, [286, null]], [288, ["identity2", 40], 245, 644, [286, 289]], [289, "product2", 379, 644, [288, 108, 290]], [290, "box", 433, 686, [289, 291, null]], [291, ["string", "scalex"], 488, 686, [290, null]], [292, "storein", 177, 686, [286, 293, 109, 294]], [293, ["string", "name"], 245, 686, [292, null]], [294, "storein", 177, 770, [292, 295, 110, 296]], [295, ["string", "picture"], 245, 770, [294, null]], [296, "stack", 177, 854, [294, 297, 298]], [297, ["string", "go"], 235, 854, [296, null]], [298, ["sandwichcollapsed", 1], 177, 434, [296, null]], [299, "hat", 165, 757, [null, 300, 301]], [300, ["string", "Q5"], 223, 765, [299, null]], [301, "sandwichtop", 147, 807, [299, 302, 303]], [302, ["string", "Boston"], 250, 807, [301, null]], [303, "storein", 165, 849, [301, 304, 305, 309]], [304, ["string", "x"], 233, 849, [303, null]], [305, ["identity2", 40], 233, 891, [303, 306]], [306, "product2", 367, 891, [305, 64, 307]], [307, "box", 421, 933, [306, 308, null]], [308, ["string", "scalex"], 476, 933, [307, null]], [309, "storein", 165, 933, [303, 310, 311, 315]], [310, ["string", "y"], 233, 933, [309, null]], [311, ["identity2", 40], 233, 975, [309, 312]], [312, "product2", 367, 975, [311, 65, 313]], [313, "box", 421, 1017, [312, 314, null]], [314, ["string", "scaley"], 476, 1017, [313, null]], [315, "storein", 165, 1017, [309, 316, 317, 321]], [316, ["string", "size"], 233, 1017, [315, null]], [317, ["identity2", 40], 233, 1059, [315, 318]], [318, "product2", 367, 1059, [317, 66, 319]], [319, "box", 421, 1101, [318, 320, null]], [320, ["string", "scalex"], 476, 1101, [319, null]], [321, "storein", 165, 1101, [315, 322, 67, 323]], [322, ["string", "name"], 233, 1101, [321, null]], [323, "storein", 165, 1185, [321, 324, 68, 325]], [324, ["string", "picture"], 233, 1185, [323, null]], [325, "stack", 165, 1269, [323, 326, 327]], [326, ["string", "go"], 223, 1269, [325, null]], [327, ["sandwichcollapsed", 1], 165, 849, [325, null]], [328, "hat", 170, 617, [null, 329, 330]], [329, ["string", "Q4"], 228, 625, [328, null]], [330, "sandwichtop", 152, 667, [328, 331, 332]], [331, ["string", "Massachusetts"], 255, 667, [330, null]], [332, "storein", 170, 709, [330, 333, 334, 338]], [333, ["string", "x"], 238, 709, [332, null]], [334, ["identity2", 40], 238, 751, [332, 335]], [335, "product2", 372, 751, [334, 23, 336]], [336, "box", 426, 793, [335, 337, null]], [337, ["string", "scalex"], 481, 793, [336, null]], [338, "storein", 170, 793, [332, 339, 340, 344]], [339, ["string", "y"], 238, 793, [338, null]], [340, ["identity2", 40], 238, 835, [338, 341]], [341, "product2", 372, 835, [340, 24, 342]], [342, "box", 426, 877, [341, 343, null]], [343, ["string", "scaley"], 481, 877, [342, null]], [344, "storein", 170, 877, [338, 345, 346, 350]], [345, ["string", "size"], 238, 877, [344, null]], [346, ["identity2", 40], 238, 919, [344, 347]], [347, "product2", 372, 919, [346, 25, 348]], [348, "box", 426, 961, [347, 349, null]], [349, ["string", "scalex"], 481, 961, [348, null]], [350, "storein", 170, 961, [344, 351, 26, 352]], [351, ["string", "name"], 238, 961, [350, null]], [352, "storein", 170, 1045, [350, 353, 27, 354]], [353, ["string", "picture"], 238, 1045, [352, null]], [354, "stack", 170, 1129, [352, 355, 356]], [355, ["string", "go"], 228, 1129, [354, null]], [356, ["sandwichcollapsed", 1], 170, 709, [354, null]], [357, "sandwichtop", 468, 257, [170, 358, 171]], [358, ["string", "play the game"], 571, 257, [357, null]], [359, ["sandwichcollapsed", 1], 486, 299, [188, null]], [360, "sandwichtop", 457, 811, [78, 361, 80]], [361, ["string", "scale"], 560, 811, [360, null]], [362, ["sandwichcollapsed", 1], 475, 853, [364, null]], [363, ["string", "size"], 645, 661, [126, null]], [364, "if", 475, 1241, [105, 365, 367, 362]], [365, "equal2", 513, 1207, [364, 368, 366, null]], [366, ["number", "0"], 559, 1249, [365, null]], [367, "hideblocks", 527, 1309, [364, null]], [368, "box", 559, 1207, [365, 369, null]], [369, ["string", "test"], 614, 1207, [368, null]], [370, ["vspace", 0], 475, 1173, [84, 105]], [371, "width", 597, 895, [82, null]], [372, ["vspace", 0], 475, 937, [80, 373]], [373, "storein", 475, 971, [372, 374, 375, 377]], [374, ["string", "scaley"], 543, 971, [373, null]], [375, "division2", 543, 1013, [373, 378, 376]], [376, ["number", 900], 621, 1059, [375, null]], [377, ["vspace", 0], 475, 1055, [373, 84]], [378, "height", 597, 1013, [375, null]], [-1, ["turtle", 1], 0, 0, 0.0, 216.0, 50, 15.0]] \ No newline at end of file diff --git a/samples/flower.ta b/samples/flower.ta index 402dc55..b498e57 100644 --- a/samples/flower.ta +++ b/samples/flower.ta @@ -1 +1 @@ -[[0, "hat1", 838, 260, [null, 1]], [1, "repeat", 850, 310, [0, 2, 3, null]], [2, ["number", "4"], 936, 319, [1, null]], [3, "forward", 945, 359, [1, 4, 5]], [4, "box1", 1019, 368, [3, null]], [5, "right", 945, 398, [3, 6, null]], [6, ["number", "90"], 1019, 407, [5, null]], [7, "hat2", 846, 55, [null, 8]], [8, "repeat", 858, 105, [7, 9, 10, null]], [9, ["number", "10"], 944, 114, [8, null]], [10, "stack1", 953, 154, [8, 11]], [11, "right", 953, 193, [10, 12, null]], [12, ["number", "36"], 1027, 202, [11, null]], [13, "start", 200, 19, [null, 14]], [14, "clean", 212, 69, [13, 15]], [15, "storeinbox1", 212, 108, [14, 16, 17]], [16, ["number", "0"], 286, 125, [15, null]], [17, "repeat", 212, 162, [15, 18, 19, null]], [18, ["number", "300"], 298, 171, [17, null]], [19, "setshade", 307, 211, [17, 20, 23]], [20, "minus2", 381, 204, [19, 21, 22]], [21, ["number", "100"], 421, 212, [20, null]], [22, "box1", 440, 245, [20, null]], [23, "setcolor", 307, 265, [19, 24, 27]], [24, "division2", 381, 258, [23, 25, 26]], [25, "box1", 421, 266, [24, null]], [26, ["number", "3"], 440, 299, [24, null]], [27, "stack2", 307, 319, [23, 28]], [28, "storeinbox1", 307, 358, [27, 29, null]], [29, "plus2", 381, 351, [28, 30, 31]], [30, "box1", 421, 359, [29, null]], [31, ["number", "1"], 421, 392, [29, null]], [-1, "turtle", 1.3812950783176348e-11, -7.4464878707658499e-11, 0.0, 99.666666666666671, -199.0, 5]] \ No newline at end of file +[[0, "hat1", 582, 175, [null, 1]], [1, "repeat", 582, 217, [0, 2, 3, null]], [2, ["number", 4], 633, 217, [1, null]], [3, "forward", 647, 277, [1, 4, 5]], [4, "box1", 718, 277, [3, null]], [5, "right", 647, 319, [3, 6, null]], [6, ["number", 90], 705, 319, [5, null]], [7, "hat2", 583, 382, [null, 8]], [8, "repeat", 583, 424, [7, 9, 10, null]], [9, ["number", 10], 634, 424, [8, null]], [10, "stack1", 648, 484, [8, 11]], [11, "right", 648, 518, [10, 12, null]], [12, ["number", 36], 706, 518, [11, null]], [13, "start", 187, 175, [null, 14]], [14, "clean", 187, 217, [13, 15]], [15, "storeinbox1", 187, 251, [14, 16, 17]], [16, ["number", 0], 305, 251, [15, null]], [17, "repeat", 187, 293, [15, 18, 19, null]], [18, ["number", 300], 238, 293, [17, null]], [19, "setshade", 252, 353, [17, 20, 32]], [20, "minus2", 337, 353, [19, 21, 22]], [21, ["number", 100], 391, 353, [20, null]], [22, "box1", 415, 399, [20, null]], [23, "setcolor", 252, 429, [32, 24, 27]], [24, "division2", 329, 429, [23, 25, 26]], [25, "box1", 383, 429, [24, null]], [26, ["number", 3], 407, 475, [24, null]], [27, "stack2", 252, 471, [23, 28]], [28, "storeinbox1", 252, 505, [27, 29, null]], [29, "plus2", 370, 505, [28, 30, 31]], [30, "box1", 424, 505, [29, null]], [31, ["number", 1], 424, 547, [29, null]], [32, ["vspace", 0], 252, 395, [19, 23]], [-1, ["turtle", 1], 68, 67, 180.0, 22.666666666666668, 32.0, 5]] \ No newline at end of file diff --git a/samples/forster.ta b/samples/forster.ta new file mode 100644 index 0000000..047b40c --- /dev/null +++ b/samples/forster.ta @@ -0,0 +1 @@ +[[0, "start", 175, 177, [null, 1]], [1, "storein", 175, 219, [0, 2, 3, 9]], [2, ["string", "program"], 243, 219, [1, null]], [3, ["string", "doit"], 243, 261, [1, null]], [4, "stack", 175, 429, [6, 5, null]], [5, ["string", "runarray"], 233, 429, [4, null]], [6, "storein", 175, 345, [9, 7, 8, 4]], [7, ["string", "program"], 243, 345, [6, null]], [8, ["string", "printit"], 243, 387, [6, null]], [9, "stack", 175, 303, [1, 10, 6]], [10, ["string", "runarray"], 233, 303, [9, null]], [11, ["string", "status"], 771, 189, [85, null]], [12, "print", 713, 231, [85, 13, null]], [13, "plus2", 771, 231, [12, 16, 14]], [14, "plus2", 825, 273, [13, 17, 15]], [15, "plus2", 879, 315, [14, 21, 19]], [16, ["string", "executing "], 825, 231, [13, null]], [17, "box", 879, 273, [14, 18, null]], [18, ["string", "program"], 934, 273, [17, null]], [19, "box", 933, 357, [15, 20, null]], [20, ["string", "row"], 988, 357, [19, null]], [21, ["string", "row"], 933, 315, [15, null]], [22, ["string", "runarray"], 471, 183, [84, null]], [23, "storein", 413, 225, [84, 24, 25, 26]], [24, ["string", "row"], 481, 225, [23, null]], [25, ["number", 1], 481, 267, [23, null]], [26, "repeat", 413, 309, [23, 27, 29, null]], [27, ["number", 10], 464, 309, [26, null]], [28, ["vspace", 40], 543, 639, [37, 48]], [29, "stack", 478, 369, [26, 30, 31]], [30, ["string", "status"], 536, 369, [29, null]], [31, "storein", 478, 411, [29, 32, 33, 34]], [32, ["string", "column"], 546, 411, [31, null]], [33, ["number", 1], 546, 453, [31, null]], [34, "repeat", 478, 495, [31, 35, 37, 36]], [35, ["number", 10], 529, 495, [34, null]], [36, ["vspace", 160], 478, 573, [34, 57]], [37, "storein", 543, 555, [34, 38, 39, 28]], [38, ["string", "index"], 611, 555, [37, null]], [39, "plus2", 611, 597, [37, 42, 40]], [40, "plus2", 665, 639, [39, 43, 41]], [41, "plus2", 719, 681, [40, 45, 46]], [42, ["string", "r:"], 665, 597, [39, null]], [43, "box", 719, 639, [40, 44, null]], [44, ["string", "row"], 774, 639, [43, null]], [45, ["string", " c:"], 773, 681, [41, null]], [46, "box", 773, 723, [41, 47, null]], [47, ["string", "column"], 828, 723, [46, null]], [48, "stack", 543, 753, [28, 49, 51]], [49, "box", 601, 753, [48, 50, null]], [50, ["string", "program"], 656, 753, [49, null]], [51, "storein", 543, 795, [48, 52, 54, null]], [52, ["string", "column"], 611, 795, [51, null]], [53, ["number", 1], 665, 879, [54, null]], [54, "plus2", 611, 837, [51, 55, 53]], [55, "box", 665, 837, [54, 56, null]], [56, ["string", "column"], 720, 837, [55, null]], [57, "storein", 478, 927, [36, 58, 60, null]], [58, ["string", "row"], 546, 927, [57, null]], [59, ["number", 1], 600, 1011, [60, null]], [60, "plus2", 546, 969, [57, 61, 59]], [61, "box", 600, 969, [60, 62, null]], [62, ["string", "row"], 655, 969, [61, null]], [63, ["string", "doit"], 783, 409, [86, null]], [64, "storein", 725, 451, [86, 66, 65, null]], [65, "product2", 793, 493, [64, 68, 70]], [66, "box", 793, 451, [64, 67, null]], [67, ["string", "index"], 848, 451, [66, null]], [68, "box", 847, 493, [65, 69, null]], [69, ["string", "row"], 902, 493, [68, null]], [70, "box", 847, 535, [65, 71, null]], [71, ["string", "column"], 902, 535, [70, null]], [72, ["string", "printit"], 237, 521, [87, null]], [73, "print", 179, 563, [87, 77, 75]], [74, "print", 179, 647, [75, 79, 82]], [75, "wait", 179, 605, [73, 76, 74]], [76, ["number", 0], 237, 605, [75, null]], [77, "box", 237, 563, [73, 78, null]], [78, ["string", "index"], 292, 563, [77, null]], [79, "box", 237, 647, [74, 80, null]], [80, "box", 292, 647, [79, 81, null]], [81, ["string", "index"], 347, 647, [80, null]], [82, "wait", 179, 689, [74, 83, null]], [83, ["number", 0], 237, 689, [82, null]], [84, "hat", 413, 175, [null, 22, 23]], [85, "hat", 713, 181, [null, 11, 12]], [86, "hat", 725, 401, [null, 63, 64]], [87, "hat", 179, 513, [null, 72, 73]], [-1, ["turtle", 1], 0, 0, 240.0, 30.0, 30.0, 5.0]] \ No newline at end of file diff --git a/samples/fountain.ta b/samples/fountain.ta index 3a5ac57..56abc3e 100644 --- a/samples/fountain.ta +++ b/samples/fountain.ta @@ -1 +1 @@ -[[0, "fillscreen", 245, 98, [17, 1, 2, 3]], [1, ["number", "10"], 319, 107, [0, null]], [2, ["number", "30"], 319, 144, [0, null]], [3, "setshade", 245, 174, [0, 4, 5]], [4, ["number", "85"], 319, 191, [3, null]], [5, "setxy", 245, 228, [3, 6, 7, 8]], [6, ["number", "-590"], 319, 237, [5, null]], [7, ["number", "-450"], 319, 274, [5, null]], [8, "setpensize", 245, 304, [5, 9, 10]], [9, ["number", "3"], 319, 321, [8, null]], [10, "repeat", 245, 358, [8, 11, 12, null]], [11, ["number", "6"], 331, 367, [10, null]], [12, "seth", 340, 407, [10, 13, 14]], [13, ["number", "0"], 414, 416, [12, null]], [14, "stack1", 340, 446, [12, 15]], [15, "setxy", 340, 485, [14, 18, 16, null]], [16, "ycor", 414, 531, [15, null]], [17, "start", 233, 48, [null, 0]], [18, "plus2", 414, 470, [15, 19, 20]], [19, "xcor", 454, 478, [18, null]], [20, ["number", "200"], 454, 511, [18, null]], [21, "hat1", 474, 35, [null, 22]], [22, "repeat", 486, 85, [21, 23, 24, null]], [23, ["number", "400"], 572, 94, [22, null]], [24, "storeinbox1", 581, 134, [22, 25, 28]], [25, "division2", 655, 127, [24, 26, 27]], [26, "heading", 695, 135, [25, null]], [27, ["number", 2], 714, 168, [25, null]], [28, "storeinbox2", 581, 188, [24, 29, 32]], [29, "plus2", 655, 181, [28, 30, 31]], [30, "box1", 695, 189, [29, null]], [31, ["number", 5], 695, 222, [29, null]], [32, "setcolor", 581, 242, [28, 33, 36]], [33, "random", 655, 240, [32, 34, 35, null]], [34, "box1", 683, 259, [33, null]], [35, "box2", 805, 259, [33, null]], [36, "arc", 581, 296, [32, 37, 38, 39]], [37, ["number", -40], 655, 305, [36, null]], [38, ["number", 3000], 655, 342, [36, null]], [39, "arc", 581, 372, [36, 40, 41, 42]], [40, ["number", -40], 655, 381, [39, null]], [41, ["number", -3000], 655, 418, [39, null]], [42, "right", 581, 448, [39, 43, null]], [43, ["number", ".1"], 655, 457, [42, null]], [-1, "turtle", 609.99999999906686, -450.00000000254568, 40.000000000009074, 20, 85.0, 3.0]] \ No newline at end of file +[[0, "fillscreen", 177, 217, [17, 1, 2, 3]], [1, ["number", 10], 259, 217, [0, null]], [2, ["number", 30], 259, 259, [0, null]], [3, "setshade", 177, 301, [0, 4, 5]], [4, ["number", 85], 262, 301, [3, null]], [5, "setxy", 177, 343, [3, 6, 7, 8]], [6, ["number", -590], 235, 343, [5, null]], [7, ["number", -450], 235, 385, [5, null]], [8, "setpensize", 177, 427, [5, 9, 10]], [9, ["number", 3], 279, 427, [8, null]], [10, "repeat", 177, 469, [8, 11, 12, null]], [11, ["number", 6], 228, 469, [10, null]], [12, "seth", 242, 529, [10, 13, 14]], [13, ["number", 0], 341, 529, [12, null]], [14, "stack1", 242, 571, [12, 15]], [15, "setxy", 242, 605, [14, 47, 16, null]], [16, "ycor", 300, 647, [15, null]], [17, "start", 177, 175, [null, 0]], [18, "plus2", 394, 605, [47, 19, 20]], [19, "xcor", 448, 605, [18, null]], [20, ["number", 200], 448, 647, [18, null]], [21, "hat1", 559, 175, [null, 22]], [22, "repeat", 559, 217, [21, 23, 24, null]], [23, ["number", 400], 610, 217, [22, null]], [24, "storeinbox1", 624, 277, [22, 25, 45]], [25, "division2", 742, 277, [24, 26, 27]], [26, "heading", 796, 277, [25, null]], [27, ["number", 2], 820, 323, [25, null]], [28, "storeinbox2", 624, 353, [45, 29, 46]], [29, "plus2", 742, 353, [28, 30, 31]], [30, "box1", 796, 353, [29, null]], [31, ["number", 5], 796, 395, [29, null]], [32, "setcolor", 624, 429, [46, 33, 44]], [33, "random", 701, 429, [32, 34, 35, null]], [34, "box1", 787, 429, [33, null]], [35, "box2", 787, 471, [33, null]], [36, "arc", 624, 505, [44, 37, 38, 39]], [37, ["number", -40], 682, 505, [36, null]], [38, ["number", 3000], 682, 547, [36, null]], [39, "arc", 624, 589, [36, 40, 41, 42]], [40, ["number", -40], 682, 589, [39, null]], [41, ["number", -3000], 682, 631, [39, null]], [42, "right", 624, 673, [39, 43, null]], [43, ["number", 0.10000000000000001], 682, 673, [42, null]], [44, ["vspace", 0], 624, 471, [32, 36]], [45, ["vspace", 0], 624, 319, [24, 28]], [46, ["vspace", 0], 624, 395, [28, 32]], [47, ["identity2", 20], 300, 605, [15, 18]], [-1, ["turtle", 1], 9, -450, 19.500000000004412, 10, 85.0, 3.0]] \ No newline at end of file diff --git a/samples/images/Africa.png b/samples/images/Africa.png new file mode 100644 index 0000000..07e03f0 --- /dev/null +++ b/samples/images/Africa.png Binary files differ diff --git a/samples/images/Australia.png b/samples/images/Australia.png new file mode 100644 index 0000000..91f215b --- /dev/null +++ b/samples/images/Australia.png Binary files differ diff --git a/samples/images/Boston.png b/samples/images/Boston.png new file mode 100644 index 0000000..5ab2ff7 --- /dev/null +++ b/samples/images/Boston.png Binary files differ diff --git a/samples/images/COPYING b/samples/images/COPYING new file mode 100644 index 0000000..1f28fd3 --- /dev/null +++ b/samples/images/COPYING @@ -0,0 +1,26 @@ +Permission is granted to copy, distribute and/or modify these documents +under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no +Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A +copy of the license is included in the section entitled "GNU Free +Documentation License". + +Riptor3000 is the copyright holder of Boston.png (retreived from the +Wikipedia and modified by Walter Bender, 2010). + +Pythagoras is from the Wikimedia Commons, uploaded in 2007 by Galilea. + +Elise Bender is the copyright holder of me.jpg + +World_Map.png was retrieved from the Wikipedia and modified by Walter +Bender in 2009, 2010. + +Africa.png, Australia.png, Eurasia.png, North_America.png, and +South_America.png are modifications of World_Map.png made by Jalen +Basquiet and Walter Bender in 2009, 2010. + +earth.png, Massachusetts.png, North_America.jpg, and United_States.png +were retrieved from the Wikipedia and modified by Walter Bender in +2009, 2010. + + diff --git a/samples/images/Eurasia.png b/samples/images/Eurasia.png new file mode 100644 index 0000000..58702ec --- /dev/null +++ b/samples/images/Eurasia.png Binary files differ diff --git a/samples/images/Massachuetts.png b/samples/images/Massachuetts.png new file mode 100644 index 0000000..f92b0d3 --- /dev/null +++ b/samples/images/Massachuetts.png Binary files differ diff --git a/samples/images/New-England.png b/samples/images/New-England.png new file mode 100644 index 0000000..8845ffc --- /dev/null +++ b/samples/images/New-England.png Binary files differ diff --git a/samples/images/North_America.jpg b/samples/images/North_America.jpg new file mode 100644 index 0000000..4fa3436 --- /dev/null +++ b/samples/images/North_America.jpg Binary files differ diff --git a/samples/images/North_America.png b/samples/images/North_America.png new file mode 100644 index 0000000..eddda2b --- /dev/null +++ b/samples/images/North_America.png Binary files differ diff --git a/samples/images/Pythagoras.jpg b/samples/images/Pythagoras.jpg new file mode 100644 index 0000000..4b84ac5 --- /dev/null +++ b/samples/images/Pythagoras.jpg Binary files differ diff --git a/samples/images/South_America.png b/samples/images/South_America.png new file mode 100644 index 0000000..afd9db6 --- /dev/null +++ b/samples/images/South_America.png Binary files differ diff --git a/samples/images/United_States.png b/samples/images/United_States.png new file mode 100644 index 0000000..a29bf1c --- /dev/null +++ b/samples/images/United_States.png Binary files differ diff --git a/samples/images/World_Map.png b/samples/images/World_Map.png new file mode 100644 index 0000000..06b5a1f --- /dev/null +++ b/samples/images/World_Map.png Binary files differ diff --git a/samples/images/earth.png b/samples/images/earth.png new file mode 100644 index 0000000..fd531cf --- /dev/null +++ b/samples/images/earth.png Binary files differ diff --git a/samples/images/me.jpg b/samples/images/me.jpg new file mode 100644 index 0000000..a4bb1f9 --- /dev/null +++ b/samples/images/me.jpg Binary files differ diff --git a/samples/rainbow.ta b/samples/rainbow.ta index 66df564..19f425e 100644 --- a/samples/rainbow.ta +++ b/samples/rainbow.ta @@ -1 +1 @@ -[[0, "start", 215, 13, [null, 1]], [1, "clean", 227, 63, [0, 2]], [2, "setcolor", 227, 102, [1, 3, 4]], [3, ["number", "50"], 301, 119, [2, null]], [4, "setpensize", 227, 156, [2, 5, 6]], [5, ["number", "15"], 301, 173, [4, null]], [6, "repeat", 227, 210, [4, 7, 8, null]], [7, ["number", 360], 313, 219, [6, null]], [8, "setcolor", 322, 259, [6, 9, 14]], [9, "product2", 396, 252, [8, 10, 11]], [10, "heading", 436, 260, [9, null]], [11, "division2", 436, 269, [9, 12, 13]], [12, ["number", "100"], 476, 277, [11, null]], [13, ["number", 360], 495, 310, [11, null]], [14, "forward", 322, 313, [8, 15, 16]], [15, ["number", "1000"], 396, 322, [14, null]], [16, "back", 322, 352, [14, 17, 18]], [17, ["number", "1000"], 396, 361, [16, null]], [18, "right", 322, 391, [16, 19, null]], [19, ["number", 1], 396, 400, [18, null]], [-1, "turtle", 0.0, 0.0, 0.0, 99.722222222222229, 50, 15.0]] \ No newline at end of file +[[0, "start", 175, 178, [null, 1]], [1, "clean", 175, 220, [0, 2]], [2, "setcolor", 175, 254, [1, 3, 4]], [3, ["number", 50], 252, 254, [2, null]], [4, "setpensize", 175, 296, [2, 5, 6]], [5, ["number", 15], 277, 296, [4, null]], [6, "repeat", 175, 338, [4, 7, 8, null]], [7, ["number", 360], 226, 338, [6, null]], [8, "setcolor", 240, 398, [6, 9, 20]], [9, "product2", 317, 398, [8, 10, 11]], [10, "heading", 371, 398, [9, null]], [11, "division2", 371, 440, [9, 12, 13]], [12, ["number", 100], 425, 440, [11, null]], [13, ["number", 360], 449, 486, [11, null]], [14, "forward", 240, 554, [20, 15, 16]], [15, ["number", 1000], 311, 554, [14, null]], [16, "back", 240, 596, [14, 17, 18]], [17, ["number", 1000], 298, 596, [16, null]], [18, "right", 240, 638, [16, 19, null]], [19, ["number", 1], 298, 638, [18, null]], [20, ["vspace", 40], 240, 440, [8, 14]], [-1, ["turtle", 1], 0, 0, 0.0, 99.722222222222229, 50, 15.0]] \ No newline at end of file diff --git a/samples/redwisp.ta b/samples/redwisp.ta index 806461f..cd9f11a 100644 --- a/samples/redwisp.ta +++ b/samples/redwisp.ta @@ -1 +1 @@ -[[0, "setpensize", 228, 140, [2, 1, 3]], [1, ["number", "15"], 302, 157, [0, null]], [2, "clean", 228, 101, [8, 0]], [3, "repeat", 228, 194, [0, 4, 5, null]], [4, ["number", "360"], 314, 203, [3, null]], [5, "storeinbox1", 323, 243, [3, 9, 6]], [6, "setshade", 323, 297, [5, 12, 7]], [7, "stack1", 323, 351, [6, null]], [8, "start", 216, 51, [null, 2]], [9, "product2", 397, 236, [5, 10, 11]], [10, "heading", 437, 244, [9, null]], [11, ["number", "600"], 437, 277, [9, null]], [12, "division2", 397, 290, [6, 13, 14]], [13, "box1", 437, 298, [12, null]], [14, ["number", "360"], 456, 331, [12, null]], [15, "hat1", 655, 14, [null, 16]], [16, "repeat", 667, 64, [15, 17, 18, 24]], [17, ["number", "4"], 753, 73, [16, null]], [18, "arc", 762, 113, [16, 19, 20, 21]], [19, ["number", "180"], 836, 122, [18, null]], [20, ["number", "75"], 836, 159, [18, null]], [21, "arc", 762, 189, [18, 22, 23, null]], [22, ["number", "-180"], 836, 198, [21, null]], [23, ["number", "75"], 836, 235, [21, null]], [24, "vspace", 667, 154, [16, 25]], [25, "vspace", 667, 223, [24, 26]], [26, "repeat", 667, 292, [25, 27, 28, 34]], [27, ["number", "4"], 753, 301, [26, null]], [28, "arc", 762, 341, [26, 29, 30, 31]], [29, ["number", "-180"], 836, 350, [28, null]], [30, ["number", "-75"], 836, 387, [28, null]], [31, "arc", 762, 417, [28, 32, 33, null]], [32, ["number", "180"], 836, 426, [31, null]], [33, ["number", "-75"], 836, 463, [31, null]], [34, "vspace", 667, 382, [26, 35]], [35, "vspace", 667, 451, [34, 36]], [36, "right", 667, 520, [35, 37, null]], [37, ["number", "1"], 741, 529, [36, null]], [-1, "turtle", 8.5265128291212022e-14, -6.5347727229436714e-13, 0.0, 0, 598.33333333333337, 15.0]] \ No newline at end of file +[[0, "setpensize", 169, 251, [2, 1, 3]], [1, ["number", 15], 271, 251, [0, null]], [2, "clean", 169, 217, [8, 0]], [3, "repeat", 169, 293, [0, 4, 5, null]], [4, ["number", 360], 220, 293, [3, null]], [5, "storeinbox1", 234, 353, [3, 9, 36]], [6, "setshade", 234, 429, [36, 12, 7]], [7, "stack1", 234, 471, [6, null]], [8, "start", 169, 175, [null, 2]], [9, "product2", 352, 353, [5, 10, 11]], [10, "heading", 406, 353, [9, null]], [11, ["number", 600], 406, 395, [9, null]], [12, "division2", 319, 429, [6, 13, 14]], [13, "box1", 373, 429, [12, null]], [14, ["number", 360], 397, 475, [12, null]], [15, "hat1", 555, 175, [null, 16]], [16, "repeat", 555, 217, [15, 17, 18, 24]], [17, ["number", 4], 606, 217, [16, null]], [18, "arc", 620, 277, [16, 19, 20, 21]], [19, ["number", 180], 678, 277, [18, null]], [20, ["number", 75], 678, 319, [18, null]], [21, "arc", 620, 361, [18, 22, 23, null]], [22, ["number", -180], 678, 361, [21, null]], [23, ["number", 75], 678, 403, [21, null]], [24, ["vspace", 60], 555, 295, [16, 25]], [25, "repeat", 555, 449, [24, 26, 27, 33]], [26, ["number", 4], 606, 449, [25, null]], [27, "arc", 620, 509, [25, 28, 29, 30]], [28, ["number", -180], 678, 509, [27, null]], [29, ["number", -75], 678, 551, [27, null]], [30, "arc", 620, 593, [27, 31, 32, null]], [31, ["number", 180], 678, 593, [30, null]], [32, ["number", -75], 678, 635, [30, null]], [33, ["vspace", 60], 555, 527, [25, 34]], [34, "right", 555, 681, [33, 35, null]], [35, ["number", 1], 613, 681, [34, null]], [36, ["vspace", 0], 234, 395, [5, 6]], [-1, ["turtle", 1], 0, 0, 0.0, 0, 598.33333333333337, 15.0]] \ No newline at end of file diff --git a/samples/reflections.ta b/samples/reflections.ta index 28cdcd5..8ad868e 100644 --- a/samples/reflections.ta +++ b/samples/reflections.ta @@ -1 +1 @@ -[[0, "clean", 243, 63, [16, 1]], [1, "setpensize", 243, 102, [0, 2, 3]], [2, ["number", "15"], 317, 119, [1, null]], [3, "storeinbox1", 243, 156, [1, 4, 5]], [4, ["number", "6200"], 317, 173, [3, null]], [5, "repeat", 243, 210, [3, 6, 7, null]], [6, ["number", "6200"], 329, 219, [5, null]], [7, "storeinbox2", 338, 259, [5, 23, 8]], [8, "setshade", 338, 313, [7, 17, 9]], [9, "forward", 338, 367, [8, 26, 10]], [10, "back", 338, 406, [9, 29, 11]], [11, "right", 338, 445, [10, 12, 13]], [12, ["number", "1"], 412, 454, [11, null]], [13, "storeinbox1", 338, 484, [11, 20, 14]], [14, "setcolor", 338, 538, [13, 15, null]], [15, "box1", 412, 555, [14, null]], [16, "start", 231, 13, [null, 0]], [17, "minus2", 412, 306, [8, 18, 19]], [18, ["number", "100"], 452, 314, [17, null]], [19, "box2", 471, 347, [17, null]], [20, "minus2", 412, 477, [13, 21, 22]], [21, "box1", 452, 485, [20, null]], [22, ["number", "1"], 471, 518, [20, null]], [23, "division2", 412, 252, [7, 24, 25]], [24, "box1", 452, 260, [23, null]], [25, ["number", "50"], 471, 293, [23, null]], [26, "division2", 412, 352, [9, 27, 28]], [27, "box1", 452, 360, [26, null]], [28, ["number", "8"], 471, 393, [26, null]], [29, "division2", 412, 391, [10, 30, 31]], [30, "box1", 452, 399, [29, null]], [31, ["number", "8"], 471, 432, [29, null]], [-1, "turtle", 0.0, 0.0, 115.0, 3205.0, 35.900000000000006, 15.0]] \ No newline at end of file +[[0, "clean", 176, 221, [16, 1]], [1, "setpensize", 176, 255, [0, 2, 3]], [2, ["number", 15], 278, 255, [1, null]], [3, "storeinbox1", 176, 297, [1, 4, 5]], [4, ["number", 6200], 294, 297, [3, null]], [5, "repeat", 176, 339, [3, 6, 7, null]], [6, ["number", 6200], 227, 339, [5, null]], [7, "storeinbox2", 241, 399, [5, 23, 32]], [8, "setshade", 241, 475, [32, 17, 33]], [9, "forward", 241, 551, [33, 26, 34]], [10, "back", 241, 627, [34, 29, 35]], [11, "right", 241, 703, [35, 12, 13]], [12, ["number", 1], 299, 703, [11, null]], [13, "storeinbox1", 241, 745, [11, 20, 36]], [14, "setcolor", 241, 821, [36, 15, null]], [15, "box1", 318, 821, [14, null]], [16, "start", 176, 179, [null, 0]], [17, "minus2", 326, 475, [8, 18, 19]], [18, ["number", 100], 380, 475, [17, null]], [19, "box2", 404, 521, [17, null]], [20, "minus2", 359, 745, [13, 21, 22]], [21, "box1", 413, 745, [20, null]], [22, ["number", 1], 437, 791, [20, null]], [23, "division2", 359, 399, [7, 24, 25]], [24, "box1", 413, 399, [23, null]], [25, ["number", 50], 437, 445, [23, null]], [26, "division2", 312, 551, [9, 27, 28]], [27, "box1", 366, 551, [26, null]], [28, ["number", 8], 390, 597, [26, null]], [29, "division2", 299, 627, [10, 30, 31]], [30, "box1", 353, 627, [29, null]], [31, ["number", 8], 377, 673, [29, null]], [32, ["vspace", 0], 241, 441, [7, 8]], [33, ["vspace", 0], 241, 517, [8, 9]], [34, ["vspace", 0], 241, 593, [9, 10]], [35, ["vspace", 0], 241, 669, [10, 11]], [36, ["vspace", 0], 241, 787, [13, 14]], [-1, ["turtle", 1], 0, 0, 80.0, 0.0, 99.980000000000004, 15.0]] \ No newline at end of file diff --git a/samples/set.ta b/samples/set.ta new file mode 100644 index 0000000..d7252d2 --- /dev/null +++ b/samples/set.ta @@ -0,0 +1 @@ +[[0, "hat", 582, 208, [null, 1, 133]], [1, ["string", "shape1"], 640, 216, [0, null]], [2, "hat", 585, 369, [null, 3, 136]], [3, ["string", "shape2"], 643, 377, [2, null]], [4, "forward", 647, 528, [10, 5, 6]], [5, ["number", "70"], 718, 528, [4, null]], [6, "back", 647, 570, [4, 7, 24]], [7, ["number", "70"], 705, 570, [6, null]], [8, "seth", 582, 342, [32, 9, 19]], [9, ["number", 45], 681, 342, [8, null]], [10, "repeat", 582, 468, [28, 11, 4, 12]], [11, ["number", 4], 633, 468, [10, null]], [12, ["vspace", 40], 582, 546, [10, 21]], [13, "repeat", 582, 744, [23, 14, 15, 135]], [14, ["number", 4], 633, 744, [13, null]], [15, "forward", 647, 804, [13, 16, 17]], [16, ["number", "67"], 718, 804, [15, null]], [17, "back", 647, 846, [15, 18, 26]], [18, ["number", "67"], 705, 846, [17, null]], [19, "setpensize", 582, 384, [8, 20, 28]], [20, ["number", 40], 684, 384, [19, null]], [21, "setpensize", 582, 660, [12, 22, 23]], [22, ["number", 20], 684, 660, [21, null]], [23, "setshade", 582, 702, [21, 30, 13]], [24, "right", 647, 612, [6, 25, null]], [25, ["number", 90], 705, 612, [24, null]], [26, "right", 647, 888, [17, 27, null]], [27, ["number", 90], 705, 888, [26, null]], [28, "setshade", 582, 426, [19, 29, 10]], [29, ["number", 50], 667, 426, [28, null]], [30, "box", 667, 702, [23, 31, null]], [31, ["string", "shade"], 722, 702, [30, null]], [32, "setcolor", 582, 300, [133, 33, 8]], [33, "box", 659, 300, [32, 34, null]], [34, ["string", "color"], 714, 300, [33, null]], [35, "storein", 308, 448, [77, 36, 37, 50]], [36, ["string", "color"], 376, 448, [35, null]], [37, ["number", 0], 376, 490, [35, null]], [38, "storein", 331, 775, [80, 39, 40, 41]], [39, ["string", "shade"], 399, 775, [38, null]], [40, ["number", 0], 399, 817, [38, null]], [41, "repeat", 331, 859, [38, 42, 235, 82]], [42, ["number", 3], 382, 859, [41, null]], [43, "box", 518, 1003, [45, 44, null]], [44, ["string", "shade"], 573, 1003, [43, null]], [45, "plus2", 464, 1003, [47, 43, 46]], [46, ["number", 50], 518, 1045, [45, null]], [47, "storein", 396, 961, [235, 48, 45, null]], [48, ["string", "shade"], 464, 961, [47, null]], [49, "stack", 100, 1066, [281, 65, 283]], [50, "repeat", 308, 532, [35, 51, 83, 79]], [51, ["number", 3], 359, 532, [50, null]], [52, ["string", "shape"], 346, 1066, [64, null]], [53, "storein", 373, 634, [83, 54, 56, null]], [54, ["string", "color"], 441, 634, [53, null]], [55, ["number", 35], 495, 718, [56, null]], [56, "plus2", 441, 676, [53, 57, 55]], [57, "box", 495, 676, [56, 58, null]], [58, ["string", "color"], 550, 676, [57, null]], [59, "box", 346, 1108, [64, 60, null]], [60, ["string", "shape"], 401, 1108, [59, null]], [61, "storein", 297, 297, [74, 62, 63, 66]], [62, ["string", "shape"], 365, 297, [61, null]], [63, ["number", 1], 365, 339, [61, null]], [64, "plus2", 292, 1066, [65, 52, 59]], [65, ["identity2", 40.0], 158, 1066, [49, 64]], [66, "repeat", 297, 381, [61, 67, 89, 76]], [67, ["number", 3], 348, 381, [66, null]], [68, "storein", 362, 483, [89, 69, 73, null]], [69, ["string", "shape"], 430, 483, [68, null]], [70, ["number", 1], 484, 567, [73, null]], [71, "box", 484, 525, [73, 72, null]], [72, ["string", "shape"], 539, 525, [71, null]], [73, "plus2", 430, 525, [68, 71, 70]], [74, "sandwichtop", 279, 255, [91, 75, 61]], [75, ["string", "shape loop"], 382, 255, [74, null]], [76, ["sandwichcollapsed", 1], 297, 297, [66, null]], [77, "sandwichtop", 290, 406, [87, 78, 35]], [78, ["string", "color loop"], 393, 406, [77, null]], [79, ["sandwichcollapsed", 1], 308, 448, [50, null]], [80, "sandwichtop", 313, 733, [85, 81, 38]], [81, ["string", "shade loop"], 416, 733, [80, null]], [82, ["sandwichcollapsed", 1], 331, 775, [41, null]], [83, "stack", 373, 592, [50, 84, 53]], [84, ["string", "numberloop"], 431, 592, [83, null]], [85, "hat", 331, 683, [null, 86, 80]], [86, ["string", "shadeloop"], 389, 691, [85, null]], [87, "hat", 308, 356, [null, 88, 77]], [88, ["string", "colorloop"], 366, 364, [87, null]], [89, "stack", 362, 441, [66, 90, 68]], [90, ["string", "colorloop"], 420, 441, [89, null]], [91, "hat", 297, 205, [null, 92, 74]], [92, ["string", "shapeloop"], 355, 213, [91, null]], [93, "setcolor", 585, 461, [136, 94, 96]], [94, "box", 662, 461, [93, 95, null]], [95, ["string", "color"], 717, 461, [94, null]], [96, "seth", 585, 503, [93, 97, 98]], [97, ["number", 0], 684, 503, [96, null]], [98, "setpensize", 585, 545, [96, 99, 100]], [99, ["number", "150"], 687, 545, [98, null]], [100, "setshade", 585, 587, [98, 101, 102]], [101, ["number", 50], 670, 587, [100, null]], [102, "forward", 585, 629, [100, 103, 104]], [103, ["number", 1], 656, 629, [102, null]], [104, "back", 585, 671, [102, 105, 106]], [105, ["number", 1], 643, 671, [104, null]], [106, "setpensize", 585, 713, [104, 107, 108]], [107, ["number", "130"], 687, 713, [106, null]], [108, "setshade", 585, 755, [106, 109, 113]], [109, "box", 670, 755, [108, 110, null]], [110, ["string", "shade"], 725, 755, [109, null]], [111, "repeat", 314, 688, [147, 112, 152, 166]], [112, ["number", 3], 365, 688, [111, null]], [113, "forward", 585, 797, [108, 114, 115]], [114, ["number", 1], 656, 797, [113, null]], [115, "back", 585, 839, [113, 116, 117]], [116, ["number", 1], 643, 839, [115, null]], [117, "setpensize", 585, 881, [115, 118, 119]], [118, ["number", "90"], 687, 881, [117, null]], [119, "setshade", 585, 923, [117, 120, 121]], [120, ["number", 50], 670, 923, [119, null]], [121, "forward", 585, 965, [119, 122, 123]], [122, ["number", 1], 656, 965, [121, null]], [123, "back", 585, 1007, [121, 124, 125]], [124, ["number", 1], 643, 1007, [123, null]], [125, "setpensize", 585, 1049, [123, 126, 127]], [126, ["number", "70"], 687, 1049, [125, null]], [127, "setshade", 585, 1091, [125, 128, 129]], [128, ["number", 100], 670, 1091, [127, null]], [129, "forward", 585, 1133, [127, 130, 131]], [130, ["number", 1], 656, 1133, [129, null]], [131, "back", 585, 1175, [129, 132, 138]], [132, ["number", 1], 643, 1175, [131, null]], [133, "sandwichtop", 564, 258, [0, 134, 32]], [134, ["string", "shape X"], 667, 258, [133, null]], [135, ["sandwichcollapsed", 1], 582, 300, [13, null]], [136, "sandwichtop", 567, 419, [2, 137, 93]], [137, ["string", "shape O"], 670, 419, [136, null]], [138, ["sandwichcollapsed", 1], 585, 461, [131, null]], [139, "fillscreen", 42, 480, [268, 141, 140, 256]], [140, ["number", 100], 124, 522, [139, null]], [141, "box", 124, 480, [139, 142, null]], [142, ["string", "color"], 179, 480, [141, null]], [143, "hat", 314, 512, [null, 144, 145]], [144, ["string", "numberloop"], 372, 520, [143, null]], [145, "sandwichtop", 296, 562, [143, 146, 147]], [146, ["string", "number loop"], 399, 562, [145, null]], [147, "storein", 314, 604, [145, 148, 149, 111]], [148, ["string", "number"], 382, 604, [147, null]], [149, ["number", 1], 382, 646, [147, null]], [150, "hat", 582, 561, [null, 151, 196]], [151, ["string", "shape3"], 640, 569, [150, null]], [152, "stack", 379, 748, [111, 153, 209]], [153, ["string", "shadeloop"], 437, 748, [152, null]], [154, "repeat", 35, 838, [239, 155, 279, 167]], [155, "box", 86, 838, [154, 156, null]], [156, ["string", "number"], 141, 838, [155, null]], [157, "setxy", 299, 812, [296, 158, 159, null]], [158, ["number", -200], 357, 812, [157, null]], [159, ["number", 0], 357, 854, [157, null]], [160, "seth", 100, 1192, [283, 161, 164]], [161, ["number", 90], 199, 1192, [160, null]], [162, "forward", 100, 1268, [164, 163, 165]], [163, ["number", 200], 171, 1268, [162, null]], [164, "penup", 100, 1234, [160, 162]], [165, "pendown", 100, 1310, [162, null]], [166, ["sandwichcollapsed", 1], 314, 604, [111, null]], [167, "wait", 35, 916, [154, 168, 246]], [168, ["number", "0.2"], 93, 916, [167, null]], [169, "setcolor", 582, 653, [196, 170, 201]], [170, "box", 659, 653, [169, 171, null]], [171, ["string", "color"], 714, 653, [170, null]], [172, "seth", 582, 847, [199, 173, 174]], [173, ["number", 45], 681, 847, [172, null]], [174, "setpensize", 582, 889, [172, 175, 176]], [175, ["number", 40], 684, 889, [174, null]], [176, "setshade", 582, 931, [174, 177, 178]], [177, ["number", 50], 667, 931, [176, null]], [178, "repeat", 582, 973, [176, 179, 180, 195]], [179, ["number", 4], 633, 973, [178, null]], [180, "forward", 647, 1033, [178, 181, 182]], [181, ["number", "72"], 718, 1033, [180, null]], [182, "right", 647, 1075, [180, 183, null]], [183, ["number", 90], 705, 1075, [182, null]], [184, "setpensize", 582, 1125, [195, 185, 186]], [185, ["number", 20], 684, 1125, [184, null]], [186, "setshade", 582, 1167, [184, 187, 189]], [187, "box", 667, 1167, [186, 188, null]], [188, ["string", "shade"], 722, 1167, [187, null]], [189, "repeat", 582, 1209, [186, 190, 191, 198]], [190, ["number", 4], 633, 1209, [189, null]], [191, "forward", 647, 1269, [189, 192, 193]], [192, ["number", "72"], 718, 1269, [191, null]], [193, "right", 647, 1311, [191, 194, null]], [194, ["number", 90], 705, 1311, [193, null]], [195, ["vspace", 20], 582, 1051, [178, 184]], [196, "sandwichtop", 564, 611, [150, 197, 169]], [197, ["string", "shape <>"], 667, 611, [196, null]], [198, ["sandwichcollapsed", 1], 582, 653, [189, null]], [199, "pendown", 582, 813, [203, 172]], [200, "penup", 582, 737, [201, 203]], [201, "seth", 582, 695, [169, 202, 200]], [202, ["number", 270], 681, 695, [201, null]], [203, "forward", 582, 771, [200, 204, 199]], [204, ["number", 50], 653, 771, [203, null]], [205, "start", 34, 208, [null, 208]], [206, "stack", 34, 284, [208, 207, 305]], [207, ["string", "shapeloop"], 92, 284, [206, null]], [208, "hideblocks", 34, 250, [205, 206]], [209, "storein", 379, 790, [152, 210, 212, null]], [210, ["string", "number"], 447, 790, [209, null]], [211, ["number", 1], 501, 874, [212, null]], [212, "plus2", 447, 832, [209, 213, 211]], [213, "box", 501, 832, [212, 214, null]], [214, ["string", "number"], 556, 832, [213, null]], [215, "print", 37, 798, [241, 216, 243]], [216, "plus2", 95, 798, [215, 217, 222]], [217, "box", 149, 798, [216, 218, null]], [218, ["string", "shape"], 204, 798, [217, null]], [219, "box", 257, 882, [221, 220, null]], [220, ["string", "color"], 312, 882, [219, null]], [221, "plus2", 203, 882, [222, 219, 224]], [222, "plus2", 149, 840, [216, 223, 221]], [223, ["string", ", "], 203, 840, [222, null]], [224, "plus2", 257, 924, [221, 225, 226]], [225, ["string", ", "], 311, 924, [224, null]], [226, "plus2", 311, 966, [224, 227, 229]], [227, "box", 365, 966, [226, 228, null]], [228, ["string", "shade"], 420, 966, [227, null]], [229, "plus2", 365, 1008, [226, 230, 231]], [230, ["string", ", "], 419, 1008, [229, null]], [231, "box", 419, 1050, [229, 232, null]], [232, ["string", "number"], 474, 1050, [231, null]], [233, "hat", 35, 542, [null, 234, 244]], [234, ["string", "action"], 93, 550, [233, null]], [235, "stack", 396, 919, [41, 236, 47]], [236, ["string", "action"], 454, 919, [235, null]], [237, "hat", 37, 706, [null, 238, 241]], [238, ["string", "status"], 95, 714, [237, null]], [239, "stack", 35, 796, [297, 240, 154]], [240, ["string", "status"], 93, 796, [239, null]], [241, "sandwichtop", 19, 756, [237, 242, 215]], [242, ["string", "label"], 122, 756, [241, null]], [243, ["sandwichcollapsed", 1], 37, 798, [215, null]], [244, "sandwichtop", 17, 592, [233, 245, 273]], [245, ["string", "draw a card"], 120, 592, [244, null]], [246, ["sandwichcollapsed", 1], 35, 634, [167, null]], [247, "forward", 107, 834, [261, 248, 258]], [248, ["number", "300"], 178, 834, [247, null]], [249, "setxy", 42, 690, [252, 250, 251, 261]], [250, ["number", "-290"], 100, 690, [249, null]], [251, ["number", "-150"], 100, 732, [249, null]], [252, "seth", 42, 648, [254, 253, 249]], [253, ["number", 0], 141, 648, [252, null]], [254, "setpensize", 42, 606, [256, 255, 252]], [255, ["number", 5], 144, 606, [254, null]], [256, "setshade", 42, 564, [139, 257, 254]], [257, ["number", "25"], 127, 564, [256, null]], [258, "arc", 107, 876, [247, 259, 260, 263]], [259, ["number", 90], 165, 876, [258, null]], [260, ["number", "10"], 165, 918, [258, null]], [261, "repeat", 42, 774, [249, 262, 247, 270]], [262, ["number", "2"], 93, 774, [261, null]], [263, "forward", 107, 960, [258, 264, 265]], [264, ["number", "580"], 178, 960, [263, null]], [265, "arc", 107, 1002, [263, 266, 267, null]], [266, ["number", 90], 165, 1002, [265, null]], [267, ["number", "10"], 165, 1044, [265, null]], [268, "sandwichtop", 24, 438, [271, 269, 139]], [269, ["string", "card background"], 127, 438, [268, null]], [270, ["sandwichcollapsed", 1], 42, 480, [261, null]], [271, "hat", 42, 388, [null, 272, 268]], [272, ["string", "card"], 100, 396, [271, null]], [273, "stack", 35, 634, [244, 274, 286]], [274, ["string", "card"], 93, 634, [273, null]], [275, "xcor", 168, 940, [279, null]], [276, "ycor", 168, 1024, [281, null]], [277, "box", 158, 1108, [283, 278, null]], [278, ["string", "x"], 213, 1108, [277, null]], [279, "storein", 100, 898, [154, 280, 275, 281]], [280, ["string", "x"], 168, 898, [279, null]], [281, "storein", 100, 982, [279, 282, 276, 49]], [282, ["string", "y"], 168, 982, [281, null]], [283, "setxy", 100, 1108, [49, 277, 284, 160]], [284, "box", 158, 1150, [283, 285, null]], [285, ["string", "y"], 213, 1150, [284, null]], [286, "ifelse", 35, 676, [273, 289, 287, 296, 297]], [287, ["vspace", 0], 115, 744, [286, 293]], [288, ["vspace", 0], 247, 812, [296, 302]], [289, "equal2", 101, 642, [286, 291, 290, null]], [290, ["number", "1"], 147, 684, [289, null]], [291, "box", 147, 642, [289, 292, null]], [292, ["string", "number"], 202, 642, [291, null]], [293, "setxy", 115, 778, [287, 294, 295, null]], [294, ["number", 0], 173, 778, [293, null]], [295, ["number", 0], 173, 820, [293, null]], [296, "ifelse", 167, 744, [286, 298, 288, 157, null]], [297, ["vspace", 0], 35, 762, [286, 239]], [298, "equal2", 233, 710, [296, 300, 299, null]], [299, ["number", "2"], 279, 752, [298, null]], [300, "box", 279, 710, [298, 301, null]], [301, ["string", "number"], 334, 710, [300, null]], [302, "setxy", 247, 846, [288, 303, 304, null]], [303, ["number", "-100"], 305, 846, [302, null]], [304, ["number", 0], 305, 888, [302, null]], [305, "showblocks", 34, 326, [206, null]], [-1, ["turtle", 1], 400, 0, 90.0, 70.0, 100.0, 20.0]] \ No newline at end of file diff --git a/samples/shades.ta b/samples/shades.ta index fb1ae00..e9eb37f 100644 --- a/samples/shades.ta +++ b/samples/shades.ta @@ -1 +1 @@ -[[0, "start", 229, 27, [null, 1]], [1, "clean", 241, 77, [0, 2]], [2, "setcolor", 241, 116, [1, 3, 4]], [3, ["number", "50"], 315, 133, [2, null]], [4, "setpensize", 241, 170, [2, 5, 6]], [5, ["number", "15"], 315, 187, [4, null]], [6, "repeat", 241, 224, [4, 7, 8, null]], [7, ["number", 360], 327, 233, [6, null]], [8, "setshade", 336, 273, [6, 9, 15]], [9, "product2", 410, 266, [8, 10, 14]], [10, "identity2", 450, 238, [9, 11]], [11, "division2", 490, 221, [10, 12, 13]], [12, "heading", 530, 229, [11, null]], [13, ["number", 360], 549, 262, [11, null]], [14, ["number", 200], 450, 307, [9, null]], [15, "forward", 336, 327, [8, 16, 17]], [16, ["number", "1000"], 410, 336, [15, null]], [17, "back", 336, 366, [15, 18, 19]], [18, ["number", "1000"], 410, 375, [17, null]], [19, "right", 336, 405, [17, 20, null]], [20, ["number", 1], 410, 414, [19, null]], [-1, "turtle", 0.0, 0.0, 0.0, 50.0, 199.44444444444446, 15.0]] \ No newline at end of file +[[0, "start", 171, 175, [null, 1]], [1, "clean", 171, 217, [0, 2]], [2, "setcolor", 171, 251, [1, 3, 4]], [3, ["number", 50], 248, 251, [2, null]], [4, "setpensize", 171, 293, [2, 5, 6]], [5, ["number", 15], 273, 293, [4, null]], [6, "repeat", 171, 335, [4, 7, 8, null]], [7, ["number", 360], 222, 335, [6, null]], [8, "setshade", 236, 395, [6, 9, 21]], [9, "product2", 321, 395, [8, 10, 14]], [10, ["identity2", 20], 375, 395, [9, 11]], [11, "division2", 469, 395, [10, 12, 13]], [12, "heading", 523, 395, [11, null]], [13, ["number", 360], 547, 441, [11, null]], [14, ["number", 200], 375, 437, [9, null]], [15, "forward", 236, 471, [21, 16, 17]], [16, ["number", 1000], 307, 471, [15, null]], [17, "back", 236, 513, [15, 18, 19]], [18, ["number", 1000], 294, 513, [17, null]], [19, "right", 236, 555, [17, 20, null]], [20, ["number", 1], 294, 555, [19, null]], [21, ["vspace", 0], 236, 437, [8, 15]], [-1, ["turtle", 1], 0, 0, 0.0, 50.0, 199.44444444444446, 15.0]] \ No newline at end of file diff --git a/samples/shape-and-color-game.ta b/samples/shape-and-color-game.ta index ec0a5a0..dc53769 100644 --- a/samples/shape-and-color-game.ta +++ b/samples/shape-and-color-game.ta @@ -1 +1 @@ -[[0, "hat", 28, 522, [null, 1, 2]], [1, ["string", "circle"], 49, 549, [0, null]], [2, "penup", 66, 592, [0, 3]], [3, "seth", 66, 631, [2, 4, 5]], [4, ["number", "270"], 140, 640, [3, null]], [5, "forward", 66, 670, [3, 6, 7]], [6, ["number", "56"], 140, 679, [5, null]], [7, "seth", 66, 709, [5, 8, 9]], [8, ["number", "0"], 140, 718, [7, null]], [9, "pendown", 66, 748, [7, 10]], [10, "arc", 66, 787, [9, 11, 12, null]], [11, ["number", "360"], 140, 796, [10, null]], [12, ["number", "56"], 140, 833, [10, null]], [13, "hat", 182, 520, [null, 14, 15]], [14, ["string", "square"], 203, 547, [13, null]], [15, "penup", 220, 590, [13, 16]], [16, "seth", 220, 629, [15, 17, 18]], [17, ["number", "0"], 294, 638, [16, null]], [18, "back", 220, 668, [16, 19, 20]], [19, ["number", "50"], 294, 677, [18, null]], [20, "seth", 220, 707, [18, 21, 22]], [21, ["number", "270"], 294, 716, [20, null]], [22, "forward", 220, 746, [20, 23, 24]], [23, ["number", "50"], 294, 755, [22, null]], [24, "seth", 220, 785, [22, 25, 26]], [25, ["number", "0"], 294, 794, [24, null]], [26, "pendown", 220, 824, [24, 27]], [27, "repeat", 220, 863, [26, 28, 29, null]], [28, ["number", "4"], 306, 872, [27, null]], [29, "forward", 315, 912, [27, 30, 31]], [30, ["number", "100"], 389, 921, [29, null]], [31, "right", 315, 951, [29, 32, null]], [32, ["number", "90"], 389, 960, [31, null]], [33, "hat", 341, 519, [null, 34, 35]], [34, ["string", "triangle"], 362, 546, [33, null]], [35, "penup", 379, 589, [33, 36]], [36, "seth", 379, 628, [35, 37, 38]], [37, ["number", "270"], 453, 637, [36, null]], [38, "forward", 379, 667, [36, 39, 40]], [39, ["number", "60"], 453, 676, [38, null]], [40, "seth", 379, 706, [38, 41, 42]], [41, ["number", "0"], 453, 715, [40, null]], [42, "back", 379, 745, [40, 43, 44]], [43, ["number", "50"], 453, 754, [42, null]], [44, "seth", 379, 784, [42, 45, 46]], [45, ["number", "30"], 453, 793, [44, null]], [46, "pendown", 379, 823, [44, 47]], [47, "repeat", 379, 862, [46, 48, 49, 53]], [48, ["number", "3"], 465, 871, [47, null]], [49, "forward", 474, 911, [47, 50, 51]], [50, ["number", "120"], 548, 920, [49, null]], [51, "right", 474, 950, [49, 52, null]], [52, ["number", "120"], 548, 959, [51, null]], [53, "seth", 379, 952, [47, 54, null]], [54, ["number", "0"], 453, 961, [53, null]], [55, "hat", 502, 514, [null, 56, 57]], [56, ["string", "star"], 523, 541, [55, null]], [57, "penup", 540, 584, [55, 58]], [58, "seth", 540, 623, [57, 59, 60]], [59, ["number", "0"], 614, 632, [58, null]], [60, "back", 540, 662, [58, 61, 62]], [61, ["number", "44"], 614, 671, [60, null]], [62, "seth", 540, 701, [60, 63, 64]], [63, ["number", "270"], 614, 710, [62, null]], [64, "forward", 540, 740, [62, 65, 66]], [65, ["number", "30"], 614, 749, [64, null]], [66, "seth", 540, 779, [64, 67, 68]], [67, ["number", "18"], 614, 788, [66, null]], [68, "pendown", 540, 818, [66, 69]], [69, "repeat", 540, 857, [68, 70, 71, 75]], [70, ["number", "5"], 626, 866, [69, null]], [71, "forward", 635, 906, [69, 72, 73]], [72, ["number", "100"], 709, 915, [71, null]], [73, "right", 635, 945, [71, 74, null]], [74, ["number", "144"], 709, 954, [73, null]], [75, "seth", 540, 947, [69, 76, null]], [76, ["number", "0"], 614, 956, [75, null]], [77, "hat", 660, 515, [null, 78, 79]], [78, ["string", "shapes"], 681, 542, [77, null]], [79, "setpensize", 698, 585, [77, 80, 81]], [80, ["number", "10"], 772, 602, [79, null]], [81, "setxy", 698, 639, [79, 82, 83, 84]], [82, ["number", "-100"], 772, 648, [81, null]], [83, ["number", "100"], 772, 685, [81, null]], [84, "setcolor", 698, 715, [81, 85, 86]], [85, "pop", 772, 732, [84, null]], [86, "stack", 698, 769, [84, 87, 88]], [87, "pop", 710, 780, [86, null]], [88, "setxy", 698, 808, [86, 89, 90, 91]], [89, ["number", "100"], 772, 817, [88, null]], [90, ["number", "100"], 772, 854, [88, null]], [91, "setcolor", 698, 884, [88, 92, 93]], [92, "pop", 772, 901, [91, null]], [93, "stack", 698, 938, [91, 94, 95]], [94, "pop", 710, 949, [93, null]], [95, "setxy", 698, 977, [93, 96, 97, 98]], [96, ["number", "100"], 772, 986, [95, null]], [97, ["number", "-100"], 772, 1023, [95, null]], [98, "setcolor", 698, 1053, [95, 99, 100]], [99, "pop", 772, 1070, [98, null]], [100, "stack", 698, 1107, [98, 101, 102]], [101, "pop", 710, 1118, [100, null]], [102, "setxy", 698, 1146, [100, 103, 104, 105]], [103, ["number", "-100"], 772, 1155, [102, null]], [104, ["number", "-100"], 772, 1192, [102, null]], [105, "setcolor", 698, 1222, [102, 106, 107]], [106, "pop", 772, 1239, [105, null]], [107, "stack", 698, 1276, [105, 108, 109]], [108, "pop", 710, 1287, [107, null]], [109, "setxy", 698, 1315, [107, 110, 111, null]], [110, ["number", "0"], 772, 1324, [109, null]], [111, ["number", "0"], 772, 1361, [109, null]], [112, "hat", 840, 514, [null, 113, 114]], [113, ["string", "calculate distance"], 861, 541, [112, null]], [114, "storein", 878, 584, [112, 115, 116, 120]], [115, ["string", "dx"], 890, 611, [114, null]], [116, "minus2", 1008, 578, [114, 117, 119]], [117, "box", 1048, 581, [116, 118, null]], [118, ["string", "x"], 1066, 586, [117, null]], [119, "xcor", 1067, 619, [116, null]], [120, "storein", 878, 638, [114, 121, 122, 126]], [121, ["string", "dy"], 890, 665, [120, null]], [122, "minus2", 1008, 632, [120, 123, 125]], [123, "box", 1048, 635, [122, 124, null]], [124, ["string", "y"], 1066, 640, [123, null]], [125, "ycor", 1067, 673, [122, null]], [126, "storein", 878, 692, [120, 127, 128, null]], [127, ["string", "distance"], 890, 719, [126, null]], [128, "sqrt", 1008, 702, [126, 129]], [129, "plus2", 1050, 686, [128, 130, 136]], [130, "identity2", 1090, 658, [129, 131]], [131, "product2", 1130, 641, [130, 132, 134]], [132, "box", 1170, 644, [131, 133, null]], [133, ["string", "dx"], 1188, 649, [132, null]], [134, "box", 1170, 677, [131, 135, null]], [135, ["string", "dx"], 1188, 682, [134, null]], [136, "identity", 1090, 727, [129, 137]], [137, "product2", 1130, 731, [136, 138, 140]], [138, "box", 1170, 734, [137, 139, null]], [139, ["string", "dy"], 1188, 739, [138, null]], [140, "box", 1170, 767, [137, 141, null]], [141, ["string", "dy"], 1188, 772, [140, null]], [142, "hat", 145, 17, [null, 143, 144]], [143, ["string", "q1"], 166, 44, [142, null]], [144, "storein", 183, 87, [142, 145, 146, 147]], [145, ["string", "x"], 195, 114, [144, null]], [146, ["number", "100"], 313, 105, [144, null]], [147, "storein", 183, 141, [144, 148, 149, 150]], [148, ["string", "y"], 195, 168, [147, null]], [149, ["number", "100"], 313, 159, [147, null]], [150, "push", 183, 195, [147, 163, 151]], [151, "stack", 183, 234, [150, 152, null]], [152, ["string", "ask"], 195, 246, [151, null]], [153, "hat", 371, 11, [null, 161, 154]], [154, "storein", 409, 81, [153, 155, 165, 156]], [155, ["string", "x"], 421, 108, [154, null]], [156, "storein", 409, 135, [154, 157, 164, 158]], [157, ["string", "y"], 421, 162, [156, null]], [158, "push", 409, 189, [156, 162, 159]], [159, "stack", 409, 228, [158, 160, null]], [160, ["string", "ask"], 421, 240, [159, null]], [161, ["string", "q2"], 392, 38, [153, null]], [162, ["string", "Put the turtle in the red square."], 483, 199, [158, null]], [163, ["string", "Put the turtle in the blue triangle."], 257, 205, [150, null]], [164, ["number", "100"], 539, 153, [156, null]], [165, ["number", "-100"], 539, 99, [154, null]], [166, "hat", 143, 290, [null, 167, 168]], [167, ["string", "q3"], 164, 317, [166, null]], [168, "storein", 181, 360, [166, 169, 188, 170]], [169, ["string", "x"], 193, 387, [168, null]], [170, "storein", 181, 414, [168, 171, 172, 173]], [171, ["string", "y"], 193, 441, [170, null]], [172, ["number", "-100"], 311, 432, [170, null]], [173, "push", 181, 468, [170, 187, 174]], [174, "stack", 181, 507, [173, 175, null]], [175, ["string", "ask"], 193, 519, [174, null]], [176, "hat", 411, 283, [null, 177, 178]], [177, ["string", "fini"], 432, 310, [176, null]], [178, "storein", 449, 353, [176, 181, 179, 180]], [179, ["number", "0"], 579, 371, [178, null]], [180, "storein", 449, 407, [178, 182, 183, 184]], [181, ["string", "x"], 461, 380, [178, null]], [182, ["string", "y"], 461, 434, [180, null]], [183, ["number", "0"], 579, 425, [180, null]], [184, "push", 449, 461, [180, 189, 185]], [185, "stack", 449, 500, [184, 186, null]], [186, ["string", "ask"], 461, 512, [185, null]], [187, ["string", "Put the turtle in the red circle."], 255, 478, [173, null]], [188, ["number", "-100"], 311, 378, [168, null]], [189, ["string", "Well played!"], 523, 471, [184, null]], [190, "start", 601, 10, [null, 191]], [191, "storein", 613, 60, [190, 192, 193, 194]], [192, ["string", "blue"], 625, 87, [191, null]], [193, ["number", "70"], 743, 78, [191, null]], [194, "storein", 613, 114, [191, 195, 196, 197]], [195, ["string", "red"], 625, 141, [194, null]], [196, ["number", "0"], 743, 132, [194, null]], [197, "storein", 613, 168, [194, 198, 199, 200]], [198, ["string", "green"], 625, 195, [197, null]], [199, ["number", "30"], 743, 186, [197, null]], [200, "hideblocks", 613, 222, [197, 201]], [201, "stack", 613, 276, [200, 202, 203]], [202, ["string", "pattern a"], 625, 288, [201, null]], [203, "stack", 613, 315, [201, 204, 205]], [204, ["string", "q1"], 625, 327, [203, null]], [205, "stack", 613, 354, [203, 233, 206]], [206, "stack", 613, 393, [205, 207, 208]], [207, ["string", "q2"], 625, 405, [206, null]], [208, "stack", 613, 432, [206, 232, 209]], [209, "stack", 613, 471, [208, 210, 211]], [210, ["string", "q3"], 625, 483, [209, null]], [211, "stack", 613, 510, [209, 212, null]], [212, ["string", "fini"], 625, 522, [211, null]], [213, "hat", 1470, 5, [null, 214, 215]], [214, ["string", "answer"], 1491, 32, [213, null]], [215, "setxy", 1508, 75, [213, 216, 217, 218]], [216, ["number", "0"], 1582, 84, [215, null]], [217, ["number", "0"], 1582, 121, [215, null]], [218, "forever", 1508, 151, [215, 219, null]], [219, "stack", 1589, 165, [218, 220, 221]], [220, ["string", "calculate distance"], 1601, 177, [219, null]], [221, "if", 1589, 204, [219, 222, 226, 230]], [222, "less", 1669, 214, [221, 223, 225, null]], [223, "box", 1701, 218, [222, 224, null]], [224, ["string", "distance"], 1719, 223, [223, null]], [225, ["number", 100], 1850, 223, [222, null]], [226, "setxy", 1684, 278, [221, 227, 228, 229]], [227, ["number", "0"], 1758, 287, [226, null]], [228, ["number", "0"], 1758, 324, [226, null]], [229, "stopstack", 1684, 354, [226, null]], [230, "wait", 1589, 319, [221, 231, null]], [231, ["number", "1"], 1663, 328, [230, null]], [232, ["string", "pattern c"], 625, 444, [208, null]], [233, ["string", "pattern b"], 625, 366, [205, null]], [234, "hat", 815, 1, [null, 235, 236]], [235, ["string", "pattern a"], 836, 28, [234, null]], [236, "clean", 853, 71, [234, 237]], [237, "push", 853, 110, [236, 238, 239]], [238, ["string", "square"], 927, 120, [237, null]], [239, "push", 853, 149, [237, 240, 242]], [240, "box", 927, 153, [239, 241, null]], [241, ["string", "blue"], 945, 158, [240, null]], [242, "push", 853, 188, [239, 243, 244]], [243, ["string", "circle"], 927, 198, [242, null]], [244, "push", 853, 227, [242, 245, 247]], [245, "box", 927, 231, [244, 246, null]], [246, ["string", "green"], 945, 236, [245, null]], [247, "push", 853, 266, [244, 248, 249]], [248, ["string", "triangle"], 927, 276, [247, null]], [249, "push", 853, 305, [247, 250, 252]], [250, "box", 927, 309, [249, 251, null]], [251, ["string", "blue"], 945, 314, [250, null]], [252, "push", 853, 344, [249, 253, 254]], [253, ["string", "square"], 927, 354, [252, null]], [254, "push", 853, 383, [252, 255, 257]], [255, "box", 927, 387, [254, 256, null]], [256, ["string", "red"], 945, 392, [255, null]], [257, "stack", 853, 422, [254, 258, null]], [258, ["string", "shapes"], 865, 434, [257, null]], [259, "hat", 998, 2, [null, 260, 261]], [260, ["string", "pattern b"], 1019, 29, [259, null]], [261, "clean", 1036, 72, [259, 262]], [262, "push", 1036, 111, [261, 263, 264]], [263, ["string", "triangle"], 1110, 121, [262, null]], [264, "push", 1036, 150, [262, 265, 267]], [265, "box", 1110, 154, [264, 266, null]], [266, ["string", "red"], 1128, 159, [265, null]], [267, "push", 1036, 189, [264, 268, 269]], [268, ["string", "circle"], 1110, 199, [267, null]], [269, "push", 1036, 228, [267, 270, 272]], [270, "box", 1110, 232, [269, 271, null]], [271, ["string", "green"], 1128, 237, [270, null]], [272, "push", 1036, 267, [269, 273, 274]], [273, ["string", "square"], 1110, 277, [272, null]], [274, "push", 1036, 306, [272, 275, 277]], [275, "box", 1110, 310, [274, 276, null]], [276, ["string", "green"], 1128, 315, [275, null]], [277, "push", 1036, 345, [274, 278, 279]], [278, ["string", "square"], 1110, 355, [277, null]], [279, "push", 1036, 384, [277, 280, 282]], [280, "box", 1110, 388, [279, 281, null]], [281, ["string", "red"], 1128, 393, [280, null]], [282, "stack", 1036, 423, [279, 283, null]], [283, ["string", "shapes"], 1048, 435, [282, null]], [284, "hat", 1176, 5, [null, 285, 286]], [285, ["string", "pattern c"], 1197, 32, [284, null]], [286, "clean", 1214, 75, [284, 287]], [287, "push", 1214, 114, [286, 288, 289]], [288, ["string", "circle"], 1288, 124, [287, null]], [289, "push", 1214, 153, [287, 290, 292]], [290, "box", 1288, 157, [289, 291, null]], [291, ["string", "red"], 1306, 162, [290, null]], [292, "push", 1214, 192, [289, 293, 294]], [293, ["string", "circle"], 1288, 202, [292, null]], [294, "push", 1214, 231, [292, 295, 297]], [295, "box", 1288, 235, [294, 296, null]], [296, ["string", "green"], 1306, 240, [295, null]], [297, "push", 1214, 270, [294, 298, 299]], [298, ["string", "square"], 1288, 280, [297, null]], [299, "push", 1214, 309, [297, 300, 302]], [300, "box", 1288, 313, [299, 301, null]], [301, ["string", "blue"], 1306, 318, [300, null]], [302, "push", 1214, 348, [299, 303, 304]], [303, ["string", "triangle"], 1288, 358, [302, null]], [304, "push", 1214, 387, [302, 305, 307]], [305, "box", 1288, 391, [304, 306, null]], [306, ["string", "red"], 1306, 396, [305, null]], [307, "stack", 1214, 426, [304, 308, null]], [308, ["string", "shapes"], 1226, 438, [307, null]], [309, "hat", 1328, 5, [null, 310, 311]], [310, ["string", "ask"], 1349, 32, [309, null]], [311, "setxy", 1366, 75, [309, 312, 313, 314]], [312, ["number", "-300"], 1440, 84, [311, null]], [313, ["number", "300"], 1440, 121, [311, null]], [314, "seth", 1366, 151, [311, 315, 316]], [315, ["number", "90"], 1440, 160, [314, null]], [316, "setcolor", 1366, 190, [314, 317, 318]], [317, ["number", "0"], 1440, 207, [316, null]], [318, "setshade", 1366, 244, [316, 319, 320]], [319, ["number", "100"], 1440, 261, [318, null]], [320, "setpensize", 1366, 298, [318, 321, 322]], [321, ["number", "120"], 1440, 315, [320, null]], [322, "forward", 1366, 352, [320, 323, 324]], [323, ["number", "700"], 1440, 361, [322, null]], [324, "back", 1366, 391, [322, 325, 326]], [325, ["number", "700"], 1440, 400, [324, null]], [326, "setshade", 1366, 430, [324, 327, 328]], [327, ["number", "50"], 1440, 447, [326, null]], [328, "seth", 1366, 484, [326, 329, 330]], [329, ["number", "0"], 1440, 493, [328, null]], [330, "setxy", 1366, 523, [328, 331, 332, 333]], [331, ["number", "-300"], 1440, 532, [330, null]], [332, ["number", "300"], 1440, 569, [330, null]], [333, "settextsize", 1366, 599, [330, 334, 335]], [334, ["number", "24"], 1440, 616, [333, null]], [335, "show", 1366, 653, [333, 336, 337]], [336, "pop", 1440, 662, [335, null]], [337, "stack", 1366, 692, [335, 338, null]], [338, ["string", "answer"], 1378, 704, [337, null]], [-1, "turtle", 0.0, 0.0, 0.0, 0.0, 50.0, 120.0]] \ No newline at end of file +[[0, "hat", 466, 464, [null, 1, 342]], [1, ["string", "circle"], 524, 472, [0, null]], [2, "penup", 466, 556, [342, 3]], [3, "seth", 466, 590, [2, 4, 5]], [4, ["number", 270], 565, 590, [3, null]], [5, "forward", 466, 632, [3, 6, 7]], [6, ["number", 56], 537, 632, [5, null]], [7, "seth", 466, 674, [5, 8, 9]], [8, ["number", 0], 565, 674, [7, null]], [9, "pendown", 466, 716, [7, 10]], [10, "arc", 466, 750, [9, 11, 12, 344]], [11, ["number", 360], 524, 750, [10, null]], [12, ["number", 56], 524, 792, [10, null]], [13, "hat", 468, 175, [null, 14, 380]], [14, ["string", "square"], 526, 183, [13, null]], [15, "penup", 468, 267, [380, 16]], [16, "seth", 468, 301, [15, 17, 18]], [17, ["number", 0], 567, 301, [16, null]], [18, "back", 468, 343, [16, 19, 20]], [19, ["number", 50], 526, 343, [18, null]], [20, "seth", 468, 385, [18, 21, 22]], [21, ["number", 270], 567, 385, [20, null]], [22, "forward", 468, 427, [20, 23, 24]], [23, ["number", 50], 539, 427, [22, null]], [24, "seth", 468, 469, [22, 25, 26]], [25, ["number", 0], 567, 469, [24, null]], [26, "pendown", 468, 511, [24, 27]], [27, "repeat", 468, 545, [26, 28, 29, 382]], [28, ["number", 4], 519, 545, [27, null]], [29, "forward", 533, 605, [27, 30, 31]], [30, ["number", 100], 604, 605, [29, null]], [31, "right", 533, 647, [29, 32, null]], [32, ["number", 90], 591, 647, [31, null]], [33, "hat", 471, 319, [null, 34, 376]], [34, ["string", "triangle"], 529, 327, [33, null]], [35, "penup", 471, 411, [376, 36]], [36, "seth", 471, 445, [35, 37, 38]], [37, ["number", 270], 570, 445, [36, null]], [38, "forward", 471, 487, [36, 39, 40]], [39, ["number", 60], 542, 487, [38, null]], [40, "seth", 471, 529, [38, 41, 42]], [41, ["number", 0], 570, 529, [40, null]], [42, "back", 471, 571, [40, 43, 44]], [43, ["number", 50], 529, 571, [42, null]], [44, "seth", 471, 613, [42, 45, 46]], [45, ["number", 30], 570, 613, [44, null]], [46, "pendown", 471, 655, [44, 47]], [47, "repeat", 471, 689, [46, 48, 49, 379]], [48, ["number", 3], 522, 689, [47, null]], [49, "forward", 536, 749, [47, 50, 51]], [50, ["number", 120], 607, 749, [49, null]], [51, "right", 536, 791, [49, 52, null]], [52, ["number", 120], 594, 791, [51, null]], [53, "seth", 471, 841, [379, 54, 378]], [54, ["number", 0], 570, 841, [53, null]], [55, "hat", 468, 604, [null, 56, 373]], [56, ["string", "star"], 526, 612, [55, null]], [57, "penup", 468, 696, [373, 58]], [58, "seth", 468, 730, [57, 59, 60]], [59, ["number", 0], 567, 730, [58, null]], [60, "back", 468, 772, [58, 61, 62]], [61, ["number", 44], 526, 772, [60, null]], [62, "seth", 468, 814, [60, 63, 64]], [63, ["number", 270], 567, 814, [62, null]], [64, "forward", 468, 856, [62, 65, 66]], [65, ["number", 30], 539, 856, [64, null]], [66, "seth", 468, 898, [64, 67, 68]], [67, ["number", 18], 567, 898, [66, null]], [68, "pendown", 468, 940, [66, 69]], [69, "repeat", 468, 974, [68, 70, 71, 372]], [70, ["number", 5], 519, 974, [69, null]], [71, "forward", 533, 1034, [69, 72, 73]], [72, ["number", 100], 604, 1034, [71, null]], [73, "right", 533, 1076, [71, 74, null]], [74, ["number", 144], 591, 1076, [73, null]], [75, "seth", 468, 1126, [372, 76, 375]], [76, ["number", 0], 567, 1126, [75, null]], [77, "hat", 1089, 69, [null, 78, 366]], [78, ["string", "shapes"], 1147, 77, [77, null]], [79, "setpensize", 1089, 161, [366, 80, 81]], [80, ["number", 10], 1191, 161, [79, null]], [81, "setxy", 1089, 203, [79, 82, 83, 84]], [82, ["number", -100], 1147, 203, [81, null]], [83, ["number", 100], 1147, 245, [81, null]], [84, "setcolor", 1089, 287, [81, 85, 86]], [85, "pop", 1166, 287, [84, null]], [86, "stack", 1089, 329, [84, 87, 88]], [87, "pop", 1147, 329, [86, null]], [88, "setxy", 1089, 371, [86, 89, 90, 91]], [89, ["number", 100], 1147, 371, [88, null]], [90, ["number", 100], 1147, 413, [88, null]], [91, "setcolor", 1089, 455, [88, 92, 93]], [92, "pop", 1166, 455, [91, null]], [93, "stack", 1089, 497, [91, 94, 95]], [94, "pop", 1147, 497, [93, null]], [95, "setxy", 1089, 539, [93, 96, 97, 98]], [96, ["number", 100], 1147, 539, [95, null]], [97, ["number", -100], 1147, 581, [95, null]], [98, "setcolor", 1089, 623, [95, 99, 100]], [99, "pop", 1166, 623, [98, null]], [100, "stack", 1089, 665, [98, 101, 102]], [101, "pop", 1147, 665, [100, null]], [102, "setxy", 1089, 707, [100, 103, 104, 105]], [103, ["number", -100], 1147, 707, [102, null]], [104, ["number", -100], 1147, 749, [102, null]], [105, "setcolor", 1089, 791, [102, 106, 107]], [106, "pop", 1166, 791, [105, null]], [107, "stack", 1089, 833, [105, 108, 109]], [108, "pop", 1147, 833, [107, null]], [109, "setxy", 1089, 875, [107, 110, 111, 368]], [110, ["number", 0], 1147, 875, [109, null]], [111, ["number", 0], 1147, 917, [109, null]], [112, "hat", 784, 538, [null, 113, 339]], [113, ["string", "calculate distance"], 842, 546, [112, null]], [114, "storein", 784, 630, [339, 115, 116, 120]], [115, ["string", "dx"], 852, 630, [114, null]], [116, "minus2", 852, 672, [114, 117, 119]], [117, "box", 906, 672, [116, 118, null]], [118, ["string", "x"], 961, 672, [117, null]], [119, "xcor", 930, 718, [116, null]], [120, "storein", 784, 714, [114, 121, 122, 126]], [121, ["string", "dy"], 852, 714, [120, null]], [122, "minus2", 852, 756, [120, 123, 125]], [123, "box", 906, 756, [122, 124, null]], [124, ["string", "y"], 961, 756, [123, null]], [125, "ycor", 930, 802, [122, null]], [126, "storein", 784, 798, [120, 127, 128, 341]], [127, ["string", "distance"], 852, 798, [126, null]], [128, "sqrt", 852, 840, [126, 129]], [129, "plus2", 906, 840, [128, 130, 136]], [130, ["identity2", 0], 960, 840, [129, 131]], [131, "product2", 1014, 840, [130, 132, 134]], [132, "box", 1068, 840, [131, 133, null]], [133, ["string", "dx"], 1123, 840, [132, null]], [134, "box", 1068, 882, [131, 135, null]], [135, ["string", "dx"], 1123, 882, [134, null]], [136, ["identity2", 0], 960, 882, [129, 137]], [137, "product2", 1014, 882, [136, 138, 140]], [138, "box", 1068, 882, [137, 139, null]], [139, ["string", "dy"], 1123, 882, [138, null]], [140, "box", 1068, 924, [137, 141, null]], [141, ["string", "dy"], 1123, 924, [140, null]], [142, "hat", 190, 175, [null, 143, 383]], [143, ["string", "q1"], 248, 183, [142, null]], [144, "storein", 190, 267, [383, 145, 146, 147]], [145, ["string", "x"], 258, 267, [144, null]], [146, ["number", 100], 258, 309, [144, null]], [147, "storein", 190, 351, [144, 148, 149, 150]], [148, ["string", "y"], 258, 351, [147, null]], [149, ["number", 100], 258, 393, [147, null]], [150, "push", 190, 435, [147, 163, 151]], [151, "stack", 190, 477, [150, 152, 385]], [152, ["string", "ask"], 248, 477, [151, null]], [153, "hat", 194, 315, [null, 161, 386]], [154, "storein", 194, 407, [386, 155, 165, 156]], [155, ["string", "x"], 262, 407, [154, null]], [156, "storein", 194, 491, [154, 157, 164, 158]], [157, ["string", "y"], 262, 491, [156, null]], [158, "push", 194, 575, [156, 162, 159]], [159, "stack", 194, 617, [158, 160, 388]], [160, ["string", "ask"], 252, 617, [159, null]], [161, ["string", "q2"], 252, 323, [153, null]], [162, ["string", "Put the turtle in the red square."], 252, 575, [158, null]], [163, ["string", "Put the turtle in the blue triangle."], 248, 435, [150, null]], [164, ["number", 100], 262, 533, [156, null]], [165, ["number", -100], 262, 449, [154, null]], [166, "hat", 196, 455, [null, 167, 389]], [167, ["string", "q3"], 254, 463, [166, null]], [168, "storein", 196, 547, [389, 169, 188, 170]], [169, ["string", "x"], 264, 547, [168, null]], [170, "storein", 196, 631, [168, 171, 172, 173]], [171, ["string", "y"], 264, 631, [170, null]], [172, ["number", -100], 264, 673, [170, null]], [173, "push", 196, 715, [170, 187, 174]], [174, "stack", 196, 757, [173, 175, 391]], [175, ["string", "ask"], 254, 757, [174, null]], [176, "hat", 192, 598, [null, 177, 369]], [177, ["string", "fini"], 250, 606, [176, null]], [178, "storein", 192, 690, [369, 181, 179, 180]], [179, ["number", 0], 260, 732, [178, null]], [180, "storein", 192, 774, [178, 182, 183, 184]], [181, ["string", "x"], 260, 690, [178, null]], [182, ["string", "y"], 260, 774, [180, null]], [183, ["number", 0], 260, 816, [180, null]], [184, "push", 192, 858, [180, 189, 185]], [185, "stack", 192, 900, [184, 186, 371]], [186, ["string", "ask"], 250, 900, [185, null]], [187, ["string", "Put the turtle in the red circle."], 254, 715, [173, null]], [188, ["number", -100], 264, 589, [168, null]], [189, ["string", "Well played!"], 250, 858, [184, null]], [190, "start", 770, 67, [null, 362]], [191, "storein", 770, 151, [362, 192, 193, 194]], [192, ["string", "blue"], 838, 151, [191, null]], [193, ["number", 70], 838, 193, [191, null]], [194, "storein", 770, 235, [191, 195, 196, 197]], [195, ["string", "red"], 838, 235, [194, null]], [196, ["number", 0], 838, 277, [194, null]], [197, "storein", 770, 319, [194, 198, 199, 200]], [198, ["string", "green"], 838, 319, [197, null]], [199, ["number", 30], 838, 361, [197, null]], [200, "hideblocks", 770, 403, [197, 201]], [201, "stack", 770, 437, [200, 202, 203]], [202, ["string", "pattern a"], 828, 437, [201, null]], [203, "stack", 770, 479, [201, 204, 205]], [204, ["string", "q1"], 828, 479, [203, null]], [205, "stack", 770, 521, [203, 233, 206]], [206, "stack", 770, 563, [205, 207, 208]], [207, ["string", "q2"], 828, 563, [206, null]], [208, "stack", 770, 605, [206, 232, 209]], [209, "stack", 770, 647, [208, 210, 211]], [210, ["string", "q3"], 828, 647, [209, null]], [211, "stack", 770, 689, [209, 212, 364]], [212, ["string", "fini"], 828, 689, [211, null]], [213, "hat", 781, 386, [null, 214, 345]], [214, ["string", "answer"], 839, 394, [213, null]], [215, "setxy", 781, 478, [345, 216, 217, 218]], [216, ["number", 0], 839, 478, [215, null]], [217, ["number", 0], 839, 520, [215, null]], [218, "forever", 781, 562, [215, 219, 347]], [219, "stack", 842, 580, [218, 220, 348]], [220, ["string", "calculate distance"], 900, 580, [219, null]], [221, "if", 842, 656, [348, 222, 226, 349]], [222, "less2", 880, 622, [221, 223, 225, null]], [223, "box", 926, 622, [222, 224, null]], [224, ["string", "distance"], 981, 622, [223, null]], [225, ["number", 100], 926, 664, [222, null]], [226, "setxy", 894, 724, [221, 227, 228, 229]], [227, ["number", 0], 952, 724, [226, null]], [228, ["number", 0], 952, 766, [226, null]], [229, "stopstack", 894, 808, [226, null]], [230, "wait", 842, 856, [349, 231, null]], [231, ["number", 1], 900, 856, [230, null]], [232, ["string", "pattern c"], 828, 605, [208, null]], [233, ["string", "pattern b"], 828, 521, [205, null]], [234, "hat", 1103, 221, [null, 235, 359]], [235, ["string", "pattern a"], 1161, 229, [234, null]], [236, "clean", 1103, 313, [359, 237]], [237, "push", 1103, 347, [236, 238, 239]], [238, ["string", "square"], 1161, 347, [237, null]], [239, "push", 1103, 389, [237, 240, 242]], [240, "box", 1161, 389, [239, 241, null]], [241, ["string", "blue"], 1216, 389, [240, null]], [242, "push", 1103, 431, [239, 243, 244]], [243, ["string", "circle"], 1161, 431, [242, null]], [244, "push", 1103, 473, [242, 245, 247]], [245, "box", 1161, 473, [244, 246, null]], [246, ["string", "green"], 1216, 473, [245, null]], [247, "push", 1103, 515, [244, 248, 249]], [248, ["string", "triangle"], 1161, 515, [247, null]], [249, "push", 1103, 557, [247, 250, 252]], [250, "box", 1161, 557, [249, 251, null]], [251, ["string", "blue"], 1216, 557, [250, null]], [252, "push", 1103, 599, [249, 253, 254]], [253, ["string", "square"], 1161, 599, [252, null]], [254, "push", 1103, 641, [252, 255, 257]], [255, "box", 1161, 641, [254, 256, null]], [256, ["string", "red"], 1216, 641, [255, null]], [257, "stack", 1103, 683, [254, 258, 361]], [258, ["string", "shapes"], 1161, 683, [257, null]], [259, "hat", 1121, 366, [null, 260, 356]], [260, ["string", "pattern b"], 1179, 374, [259, null]], [261, "clean", 1121, 458, [356, 262]], [262, "push", 1121, 492, [261, 263, 264]], [263, ["string", "triangle"], 1179, 492, [262, null]], [264, "push", 1121, 534, [262, 265, 267]], [265, "box", 1179, 534, [264, 266, null]], [266, ["string", "red"], 1234, 534, [265, null]], [267, "push", 1121, 576, [264, 268, 269]], [268, ["string", "circle"], 1179, 576, [267, null]], [269, "push", 1121, 618, [267, 270, 272]], [270, "box", 1179, 618, [269, 271, null]], [271, ["string", "green"], 1234, 618, [270, null]], [272, "push", 1121, 660, [269, 273, 274]], [273, ["string", "square"], 1179, 660, [272, null]], [274, "push", 1121, 702, [272, 275, 277]], [275, "box", 1179, 702, [274, 276, null]], [276, ["string", "green"], 1234, 702, [275, null]], [277, "push", 1121, 744, [274, 278, 279]], [278, ["string", "square"], 1179, 744, [277, null]], [279, "push", 1121, 786, [277, 280, 282]], [280, "box", 1179, 786, [279, 281, null]], [281, ["string", "red"], 1234, 786, [280, null]], [282, "stack", 1121, 828, [279, 283, 358]], [283, ["string", "shapes"], 1179, 828, [282, null]], [284, "hat", 1134, 522, [null, 285, 353]], [285, ["string", "pattern c"], 1192, 530, [284, null]], [286, "clean", 1134, 614, [353, 287]], [287, "push", 1134, 648, [286, 288, 289]], [288, ["string", "circle"], 1192, 648, [287, null]], [289, "push", 1134, 690, [287, 290, 292]], [290, "box", 1192, 690, [289, 291, null]], [291, ["string", "red"], 1247, 690, [290, null]], [292, "push", 1134, 732, [289, 293, 294]], [293, ["string", "circle"], 1192, 732, [292, null]], [294, "push", 1134, 774, [292, 295, 297]], [295, "box", 1192, 774, [294, 296, null]], [296, ["string", "green"], 1247, 774, [295, null]], [297, "push", 1134, 816, [294, 298, 299]], [298, ["string", "square"], 1192, 816, [297, null]], [299, "push", 1134, 858, [297, 300, 302]], [300, "box", 1192, 858, [299, 301, null]], [301, ["string", "blue"], 1247, 858, [300, null]], [302, "push", 1134, 900, [299, 303, 304]], [303, ["string", "triangle"], 1192, 900, [302, null]], [304, "push", 1134, 942, [302, 305, 307]], [305, "box", 1192, 942, [304, 306, null]], [306, ["string", "red"], 1247, 942, [305, null]], [307, "stack", 1134, 984, [304, 308, 355]], [308, ["string", "shapes"], 1192, 984, [307, null]], [309, "hat", 776, 222, [null, 310, 350]], [310, ["string", "ask"], 834, 230, [309, null]], [311, "setxy", 776, 314, [350, 312, 313, 314]], [312, ["number", -300], 834, 314, [311, null]], [313, ["number", 300], 834, 356, [311, null]], [314, "seth", 776, 398, [311, 315, 316]], [315, ["number", 90], 875, 398, [314, null]], [316, "setcolor", 776, 440, [314, 317, 318]], [317, ["number", 0], 853, 440, [316, null]], [318, "setshade", 776, 482, [316, 319, 320]], [319, ["number", 100], 861, 482, [318, null]], [320, "setpensize", 776, 524, [318, 321, 322]], [321, ["number", 120], 878, 524, [320, null]], [322, "forward", 776, 566, [320, 323, 324]], [323, ["number", 700], 847, 566, [322, null]], [324, "back", 776, 608, [322, 325, 326]], [325, ["number", 700], 834, 608, [324, null]], [326, "setshade", 776, 650, [324, 327, 328]], [327, ["number", 50], 861, 650, [326, null]], [328, "seth", 776, 692, [326, 329, 330]], [329, ["number", 0], 875, 692, [328, null]], [330, "setxy", 776, 734, [328, 331, 332, 333]], [331, ["number", -300], 834, 734, [330, null]], [332, ["number", 300], 834, 776, [330, null]], [333, "settextsize", 776, 818, [330, 334, 335]], [334, ["number", 24], 880, 818, [333, null]], [335, "show", 776, 860, [333, 336, 337]], [336, "pop", 834, 860, [335, null]], [337, "stack", 776, 902, [335, 338, 352]], [338, ["string", "answer"], 834, 902, [337, null]], [339, "sandwichtop", 766, 588, [112, 340, 114]], [340, ["string", "sqrt(dx*dx+dy*dy)"], 869, 588, [339, null]], [341, ["sandwichcollapsed", 1], 784, 630, [126, null]], [342, "sandwichtop", 448, 514, [0, 343, 2]], [343, ["string", "draw a circle"], 551, 514, [342, null]], [344, ["sandwichcollapsed", 1], 466, 556, [10, null]], [345, "sandwichtop", 763, 436, [213, 346, 215]], [346, ["string", "move the turtle to the answer"], 866, 436, [345, null]], [347, ["sandwichcollapsed", 1], 781, 478, [218, null]], [348, ["vspace", 0], 842, 622, [219, 221]], [349, ["vspace", 40], 842, 742, [221, 230]], [350, "sandwichtop", 758, 272, [309, 351, 311]], [351, ["string", "ask the question"], 861, 272, [350, null]], [352, ["sandwichcollapsed", 1], 776, 314, [337, null]], [353, "sandwichtop", 1116, 572, [284, 354, 286]], [354, ["string", "o o [] <"], 1219, 572, [353, null]], [355, ["sandwichcollapsed", 1], 1134, 614, [307, null]], [356, "sandwichtop", 1103, 416, [259, 357, 261]], [357, ["string", "< o [] []"], 1206, 416, [356, null]], [358, ["sandwichcollapsed", 1], 1121, 458, [282, null]], [359, "sandwichtop", 1085, 271, [234, 360, 236]], [360, ["string", "[] o < []"], 1188, 271, [359, null]], [361, ["sandwichcollapsed", 1], 1103, 313, [257, null]], [362, "sandwichtop", 752, 109, [190, 363, 191]], [363, ["string", "play the game"], 855, 109, [362, null]], [364, "showblocks", 770, 731, [211, 365]], [365, ["sandwichcollapsed", 1], 770, 151, [364, null]], [366, "sandwichtop", 1071, 119, [77, 367, 79]], [367, ["string", "draw shapes"], 1174, 119, [366, null]], [368, ["sandwichcollapsed", 1], 1089, 161, [109, null]], [369, "sandwichtop", 174, 648, [176, 370, 178]], [370, ["string", "celebrate"], 277, 648, [369, null]], [371, ["sandwichcollapsed", 1], 192, 690, [185, null]], [372, ["vspace", 20], 468, 1052, [69, 75]], [373, "sandwichtop", 450, 654, [55, 374, 57]], [374, ["string", "draw a 5-pointed star"], 553, 654, [373, null]], [375, ["sandwichcollapsed", 1], 468, 696, [75, null]], [376, "sandwichtop", 453, 369, [33, 377, 35]], [377, ["string", "draw a triangle"], 556, 369, [376, null]], [378, ["sandwichcollapsed", 1], 471, 411, [53, null]], [379, ["vspace", 20], 471, 767, [47, 53]], [380, "sandwichtop", 450, 225, [13, 381, 15]], [381, ["string", "draw a square"], 553, 225, [380, null]], [382, ["sandwichcollapsed", 1], 468, 267, [27, null]], [383, "sandwichtop", 172, 225, [142, 384, 144]], [384, ["string", "blue triangle"], 275, 225, [383, null]], [385, ["sandwichcollapsed", 1], 190, 267, [151, null]], [386, "sandwichtop", 176, 365, [153, 387, 154]], [387, ["string", "red square"], 279, 365, [386, null]], [388, ["sandwichcollapsed", 1], 194, 407, [159, null]], [389, "sandwichtop", 178, 505, [166, 390, 168]], [390, ["string", "red circle"], 281, 505, [389, null]], [391, ["sandwichcollapsed", 1], 196, 547, [174, null]], [-1, ["turtle", 1], 0, 0, 0.0, 0.0, 50.0, 120.0]] \ No newline at end of file diff --git a/samples/sierpquad.ta b/samples/sierpquad.ta index fa79187..24796e3 100644 --- a/samples/sierpquad.ta +++ b/samples/sierpquad.ta @@ -1 +1 @@ -[[0, "hat1", 687, -3, [null, 1]], [1, "pendown", 699, 47, [0, 2]], [2, "setcolor", 699, 86, [1, 44, 3]], [3, "repeat", 699, 140, [2, 4, 5, null]], [4, ["number", "4"], 785, 149, [3, null]], [5, "setcolor", 794, 189, [3, 6, 9]], [6, "color", 868, 206, [5, 7]], [7, "minus", 961, 198, [6, 8]], [8, ["number", "2"], 1000, 206, [7, null]], [9, "ifelse", 794, 243, [5, 10, 12, 21, null]], [10, "greater", 874, 253, [9, 11, 25, null]], [11, "box1", 906, 262, [10, null]], [12, "vspace", 889, 317, [9, 13]], [13, "storeinbox1", 889, 386, [12, 38, 14]], [14, "stack1", 889, 440, [13, 15]], [15, "penup", 889, 479, [14, 16]], [16, "forward", 889, 518, [15, 17, 18]], [17, "box1", 963, 527, [16, null]], [18, "stack1", 889, 557, [16, 19]], [19, "penup", 889, 596, [18, 20]], [20, "forward", 889, 635, [19, 41, 47]], [21, "forward", 974, 317, [9, 22, 23]], [22, "box1", 1048, 326, [21, null]], [23, "right", 974, 356, [21, 24, null]], [24, ["number", "90"], 1048, 365, [23, null]], [25, ["number", "10"], 1055, 262, [10, null]], [26, "clean", 699, 361, [37, 27]], [27, "setpensize", 699, 400, [26, 28, 29]], [28, ["number", "1"], 773, 417, [27, null]], [29, "setxy", 699, 454, [27, 30, 31, 32]], [30, ["number", "130"], 773, 463, [29, null]], [31, ["number", "-440"], 773, 500, [29, null]], [32, "left", 699, 530, [29, 33, 34]], [33, ["number", "90"], 773, 539, [32, null]], [34, "storeinbox1", 699, 569, [32, 35, 36]], [35, ["number", "729"], 773, 586, [34, null]], [36, "stack1", 699, 623, [34, null]], [37, "start", 687, 311, [null, 26]], [38, "division2", 963, 379, [13, 39, 40]], [39, "box1", 1003, 387, [38, null]], [40, ["number", "3"], 1022, 420, [38, null]], [41, "product2", 963, 620, [20, 42, 43]], [42, "box1", 1003, 628, [41, null]], [43, ["number", "2"], 1003, 661, [41, null]], [44, "plus2", 773, 79, [2, 45, 46]], [45, "color", 813, 87, [44, null]], [46, ["number", "8"], 813, 120, [44, null]], [47, "vspace", 889, 674, [20, 48]], [48, "storeinbox1", 889, 743, [47, 49, 52]], [49, "product2", 963, 736, [48, 50, 51]], [50, "box1", 1003, 744, [49, null]], [51, ["number", "3"], 1003, 777, [49, null]], [52, "right", 889, 797, [48, 53, null]], [53, ["number", "90"], 963, 806, [52, null]], [-1, "turtle", 130.00000000000065, -440.00000000000091, 270.0, 0.0, 50, 1.0]] \ No newline at end of file +[[0, "hat1", 490, 175, [null, 1]], [1, "pendown", 490, 217, [0, 2]], [2, "setcolor", 490, 251, [1, 44, 55]], [3, "repeat", 490, 327, [55, 4, 5, null]], [4, ["number", 4], 541, 327, [3, null]], [5, "setcolor", 555, 387, [3, 7, 57]], [6, "color", 686, 387, [7, null]], [7, "minus2", 632, 387, [5, 6, 8]], [8, ["number", 2], 710, 433, [7, null]], [9, "ifelse", 774, 219, [56, 10, 12, 21, null]], [10, "greater2", 840, 185, [9, 11, 25, null]], [11, "box1", 886, 185, [10, null]], [12, ["vspace", 20], 854, 287, [9, 13]], [13, "storeinbox1", 854, 361, [12, 38, 14]], [14, "stack1", 854, 403, [13, 15]], [15, "penup", 854, 437, [14, 16]], [16, "forward", 854, 471, [15, 17, 18]], [17, "box1", 925, 471, [16, null]], [18, "stack1", 854, 513, [16, 19]], [19, "penup", 854, 547, [18, 20]], [20, "forward", 854, 581, [19, 41, 47]], [21, "forward", 906, 287, [9, 22, 23]], [22, "box1", 977, 287, [21, null]], [23, "right", 906, 329, [21, 24, null]], [24, ["number", 90], 964, 329, [23, null]], [25, ["number", 10], 886, 227, [10, null]], [26, "clean", 237, 217, [37, 27]], [27, "setpensize", 237, 251, [26, 28, 29]], [28, ["number", 1], 339, 251, [27, null]], [29, "setxy", 237, 293, [27, 31, 30, 32]], [30, ["number", "-365"], 295, 335, [29, null]], [31, ["number", "365"], 295, 293, [29, null]], [32, "left", 237, 377, [29, 33, 34]], [33, ["number", 90], 295, 377, [32, null]], [34, "storeinbox1", 237, 419, [32, 35, 36]], [35, ["number", 729], 355, 419, [34, null]], [36, "stack1", 237, 461, [34, null]], [37, "start", 237, 175, [null, 26]], [38, "division2", 972, 361, [13, 39, 40]], [39, "box1", 1026, 361, [38, null]], [40, ["number", 3], 1050, 407, [38, null]], [41, "product2", 925, 581, [20, 42, 43]], [42, "box1", 979, 581, [41, null]], [43, ["number", 2], 979, 623, [41, null]], [44, "plus2", 567, 251, [2, 45, 46]], [45, "color", 621, 251, [44, null]], [46, ["number", 8], 621, 293, [44, null]], [47, ["vspace", 0], 854, 623, [20, 48]], [48, "storeinbox1", 854, 657, [47, 49, 54]], [49, "product2", 972, 657, [48, 50, 51]], [50, "box1", 1026, 657, [49, null]], [51, ["number", 3], 1026, 699, [49, null]], [52, "right", 854, 733, [54, 53, null]], [53, ["number", 90], 912, 733, [52, null]], [54, ["vspace", 0], 854, 699, [48, 52]], [55, ["vspace", 0], 490, 293, [2, 3]], [56, "hat2", 774, 177, [null, 9]], [57, "stack2", 555, 429, [5, null]], [-1, ["turtle", 1], 365, -365, 270.0, 0.0, 50, 1.0]] \ No newline at end of file diff --git a/samples/sierpquad2.ta b/samples/sierpquad2.ta index 86e2a7d..6ee2598 100644 --- a/samples/sierpquad2.ta +++ b/samples/sierpquad2.ta @@ -1 +1 @@ -[[0, "start", 227, 13, [null, 1]], [1, "clean", 239, 63, [0, 2]], [2, "setpensize", 239, 102, [1, 3, 4]], [3, ["number", "1"], 313, 119, [2, null]], [4, "setxy", 239, 156, [2, 5, 6, 7]], [5, ["number", "350"], 313, 165, [4, null]], [6, ["number", "-375"], 313, 202, [4, null]], [7, "left", 239, 232, [4, 8, 9]], [8, ["number", "90"], 313, 241, [7, null]], [9, "storeinbox1", 239, 271, [7, 10, 11]], [10, ["number", "729"], 313, 288, [9, null]], [11, "stack1", 239, 325, [9, 12]], [12, "pendown", 239, 364, [11, 13]], [13, "repeat", 239, 403, [12, 14, 15, null]], [14, ["number", "4"], 325, 412, [13, null]], [15, "forward", 334, 452, [13, 16, 17]], [16, "box1", 408, 461, [15, null]], [17, "right", 334, 491, [15, 18, null]], [18, ["number", "90"], 408, 500, [17, null]], [19, "hat1", 452, 35, [null, 20]], [20, "penup", 464, 85, [19, 21]], [21, "setcolor", 464, 124, [20, 66, 22]], [22, "storeinbox1", 464, 178, [21, 69, 23]], [23, "repeat", 464, 232, [22, 24, 25, 41]], [24, ["number", "4"], 550, 241, [23, null]], [25, "hspace", 559, 272, [23, 26]], [26, "setcolor", 650, 280, [25, 27, 30]], [27, "color", 724, 297, [26, 28]], [28, "minus", 817, 289, [27, 29]], [29, ["number", "2"], 856, 297, [28, null]], [30, "if", 650, 334, [26, 31, 34, 35]], [31, "greater", 730, 344, [30, 32, 33, null]], [32, "box1", 762, 353, [31, null]], [33, ["number", "1"], 911, 353, [31, null]], [34, "stack2", 745, 408, [30, null]], [35, "forward", 650, 449, [30, 36, 39]], [36, "product2", 724, 434, [35, 37, 38]], [37, "box1", 764, 442, [36, null]], [38, ["number", "3"], 764, 475, [36, null]], [39, "right", 650, 488, [35, 40, null]], [40, ["number", "90"], 724, 497, [39, null]], [41, "storeinbox1", 464, 322, [23, 42, null]], [42, "product2", 538, 315, [41, 43, 44]], [43, "box1", 578, 323, [42, null]], [44, ["number", "3"], 578, 356, [42, null]], [45, "hat2", 833, 26, [null, 46]], [46, "stack1", 845, 76, [45, 47]], [47, "forward", 845, 115, [46, 48, 49]], [48, "box1", 919, 124, [47, null]], [49, "stack1", 845, 154, [47, 50]], [50, "repeat", 845, 193, [49, 51, 52, 56]], [51, ["number", "2"], 931, 202, [50, null]], [52, "forward", 940, 242, [50, 53, 54]], [53, "box1", 1014, 251, [52, null]], [54, "right", 940, 281, [52, 55, null]], [55, ["number", "90"], 1014, 290, [54, null]], [56, "pendown", 845, 283, [50, 57]], [57, "forward", 845, 322, [56, 58, 59]], [58, "box1", 919, 331, [57, null]], [59, "penup", 845, 361, [57, 60]], [60, "repeat", 845, 400, [59, 61, 62, null]], [61, ["number", "2"], 931, 409, [60, null]], [62, "forward", 940, 449, [60, 63, 64]], [63, "box1", 1014, 458, [62, null]], [64, "right", 940, 488, [62, 65, null]], [65, ["number", "90"], 1014, 497, [64, null]], [66, "plus2", 538, 117, [21, 67, 68]], [67, "color", 578, 125, [66, null]], [68, ["number", "8"], 578, 158, [66, null]], [69, "division2", 538, 171, [22, 70, 71]], [70, "box1", 578, 179, [69, null]], [71, ["number", "3"], 597, 212, [69, null]], [-1, "turtle", -303.99999999999949, -303.00000000000051, 0.0, 18.0, 50, 1.0]] \ No newline at end of file +[[0, "start", 221, 174, [null, 1]], [1, "clean", 221, 216, [0, 2]], [2, "setpensize", 221, 250, [1, 3, 4]], [3, ["number", 1], 323, 250, [2, null]], [4, "setxy", 221, 292, [2, 5, 6, 7]], [5, ["number", "365"], 279, 292, [4, null]], [6, ["number", "-365"], 279, 334, [4, null]], [7, "left", 221, 376, [4, 8, 9]], [8, ["number", 90], 279, 376, [7, null]], [9, "storeinbox1", 221, 418, [7, 10, 11]], [10, ["number", 729], 339, 418, [9, null]], [11, "stack1", 221, 460, [9, 12]], [12, "pendown", 221, 494, [11, 13]], [13, "repeat", 221, 528, [12, 14, 15, null]], [14, ["number", 4], 272, 528, [13, null]], [15, "forward", 286, 588, [13, 16, 17]], [16, "box1", 357, 588, [15, null]], [17, "right", 286, 630, [15, 18, null]], [18, ["number", 90], 344, 630, [17, null]], [19, "hat1", 500, 175, [null, 20]], [20, "penup", 500, 217, [19, 21]], [21, "setcolor", 500, 251, [20, 65, 74]], [22, "storeinbox1", 500, 327, [74, 68, 73]], [23, "repeat", 500, 403, [73, 24, 25, 71]], [24, ["number", 4], 551, 403, [23, null]], [25, "setcolor", 565, 463, [23, 27, 75]], [26, "color", 696, 463, [27, null]], [27, "minus2", 642, 463, [25, 26, 28]], [28, ["number", 2], 720, 509, [27, null]], [29, "if", 565, 579, [75, 30, 33, 76]], [30, "greater2", 603, 545, [29, 31, 32, null]], [31, "box1", 649, 545, [30, null]], [32, ["number", 1], 649, 587, [30, null]], [33, "stack2", 617, 647, [29, null]], [34, "forward", 565, 699, [76, 35, 38]], [35, "product2", 636, 699, [34, 36, 37]], [36, "box1", 690, 699, [35, null]], [37, ["number", 3], 690, 741, [35, null]], [38, "right", 565, 741, [34, 39, null]], [39, ["number", 90], 623, 741, [38, null]], [40, "storeinbox1", 500, 795, [71, 41, null]], [41, "product2", 618, 795, [40, 42, 43]], [42, "box1", 672, 795, [41, null]], [43, ["number", 3], 672, 837, [41, null]], [44, "hat2", 863, 177, [null, 45]], [45, "stack1", 863, 219, [44, 46]], [46, "forward", 863, 253, [45, 47, 48]], [47, "box1", 934, 253, [46, null]], [48, "stack1", 863, 295, [46, 49]], [49, "repeat", 863, 329, [48, 50, 51, 72]], [50, ["number", 2], 914, 329, [49, null]], [51, "forward", 928, 389, [49, 52, 53]], [52, "box1", 999, 389, [51, null]], [53, "right", 928, 431, [51, 54, null]], [54, ["number", 90], 986, 431, [53, null]], [55, "pendown", 863, 481, [72, 56]], [56, "forward", 863, 515, [55, 57, 58]], [57, "box1", 934, 515, [56, null]], [58, "penup", 863, 557, [56, 59]], [59, "repeat", 863, 591, [58, 60, 61, null]], [60, ["number", 2], 914, 591, [59, null]], [61, "forward", 928, 651, [59, 62, 63]], [62, "box1", 999, 651, [61, null]], [63, "right", 928, 693, [61, 64, null]], [64, ["number", 90], 986, 693, [63, null]], [65, "plus2", 577, 251, [21, 66, 67]], [66, "color", 631, 251, [65, null]], [67, ["number", 8], 631, 293, [65, null]], [68, "division2", 618, 327, [22, 69, 70]], [69, "box1", 672, 327, [68, null]], [70, ["number", 3], 696, 373, [68, null]], [71, ["vspace", 140], 500, 481, [23, 40]], [72, ["vspace", 20], 863, 407, [49, 55]], [73, ["vspace", 0], 500, 369, [22, 23]], [74, ["vspace", 0], 500, 293, [21, 22]], [75, ["vspace", 20], 565, 505, [25, 29]], [76, ["vspace", 0], 565, 665, [29, 34]], [-1, ["turtle", 1], -174, 345, 270.0, 14.0, 50, 1.0]] \ No newline at end of file diff --git a/samples/sierptri.ta b/samples/sierptri.ta index 5e60749..3affe14 100644 --- a/samples/sierptri.ta +++ b/samples/sierptri.ta @@ -1 +1 @@ -[[0, "hat1", 688, -4, [null, 1]], [1, "pendown", 700, 46, [0, 2]], [2, "setcolor", 700, 85, [1, 33, 3]], [3, "repeat", 700, 139, [2, 4, 5, null]], [4, ["number", "3"], 786, 148, [3, null]], [5, "setcolor", 795, 188, [3, 36, 6]], [6, "if", 795, 242, [5, 7, 10, 14]], [7, "greater", 875, 252, [6, 8, 9, null]], [8, "box1", 907, 261, [7, null]], [9, ["number", "16"], 1056, 261, [7, null]], [10, "storeinbox1", 890, 316, [6, 39, 11]], [11, "stack1", 890, 370, [10, 12]], [12, "storeinbox1", 890, 409, [11, 42, 13]], [13, "penup", 890, 463, [12, null]], [14, "vspace", 795, 357, [6, 15]], [15, "vspace", 795, 426, [14, 16]], [16, "vspace", 795, 495, [15, 17]], [17, "forward", 795, 564, [16, 18, 19]], [18, "box1", 869, 573, [17, null]], [19, "right", 795, 603, [17, 20, null]], [20, ["number", "120"], 869, 612, [19, null]], [21, "start", 490, 16, [null, 22]], [22, "clean", 502, 66, [21, 23]], [23, "setpensize", 502, 105, [22, 24, 25]], [24, ["number", "2"], 576, 122, [23, null]], [25, "setxy", 502, 159, [23, 26, 27, 28]], [26, ["number", "200"], 576, 168, [25, null]], [27, ["number", "-375"], 576, 205, [25, null]], [28, "left", 502, 235, [25, 29, 30]], [29, ["number", "90"], 576, 244, [28, null]], [30, "storeinbox1", 502, 274, [28, 31, 32]], [31, ["number", "768"], 576, 291, [30, null]], [32, "stack1", 502, 328, [30, null]], [33, "plus2", 774, 78, [2, 34, 35]], [34, "color", 814, 86, [33, null]], [35, ["number", "6"], 814, 119, [33, null]], [36, "minus2", 869, 181, [5, 37, 38]], [37, "color", 909, 189, [36, null]], [38, ["number", "2"], 928, 222, [36, null]], [39, "division2", 964, 309, [10, 40, 41]], [40, "box1", 1004, 317, [39, null]], [41, ["number", "2"], 1023, 350, [39, null]], [42, "product2", 964, 402, [12, 43, 44]], [43, "box1", 1004, 410, [42, null]], [44, ["number", "2"], 1004, 443, [42, null]], [-1, "turtle", 199.9999999999994, -375.00000000000165, 270.0, 0.0, 50, 2.0]] \ No newline at end of file +[[0, "hat1", 503, 175, [null, 1]], [1, "pendown", 503, 217, [0, 2]], [2, "setcolor", 503, 251, [1, 33, 15]], [3, "repeat", 503, 327, [15, 4, 5, null]], [4, ["number", 3], 554, 327, [3, null]], [5, "setcolor", 568, 387, [3, 36, 16]], [6, "if", 568, 503, [16, 7, 10, 14]], [7, "greater2", 606, 469, [6, 8, 9, null]], [8, "box1", 652, 469, [7, null]], [9, ["number", 16], 652, 511, [7, null]], [10, "storeinbox1", 620, 571, [6, 39, 11]], [11, "stack1", 620, 613, [10, 12]], [12, "storeinbox1", 620, 647, [11, 42, 13]], [13, "penup", 620, 689, [12, null]], [14, ["vspace", 60], 568, 589, [6, 17]], [15, ["vspace", 0], 503, 293, [2, 3]], [16, ["vspace", 20], 568, 429, [5, 6]], [17, "forward", 568, 743, [14, 18, 19]], [18, "box1", 639, 743, [17, null]], [19, "right", 568, 785, [17, 20, null]], [20, ["number", 120], 626, 785, [19, null]], [21, "start", 255, 175, [null, 22]], [22, "clean", 255, 217, [21, 23]], [23, "setpensize", 255, 251, [22, 24, 25]], [24, ["number", 2], 357, 251, [23, null]], [25, "setxy", 255, 293, [23, 26, 27, 28]], [26, ["number", "383"], 313, 293, [25, null]], [27, ["number", "-333"], 313, 335, [25, null]], [28, "left", 255, 377, [25, 29, 30]], [29, ["number", 90], 313, 377, [28, null]], [30, "storeinbox1", 255, 419, [28, 31, 32]], [31, ["number", 768], 373, 419, [30, null]], [32, "stack1", 255, 461, [30, null]], [33, "plus2", 580, 251, [2, 34, 35]], [34, "color", 634, 251, [33, null]], [35, ["number", 6], 634, 293, [33, null]], [36, "minus2", 645, 387, [5, 37, 38]], [37, "color", 699, 387, [36, null]], [38, ["number", 2], 723, 433, [36, null]], [39, "division2", 738, 571, [10, 40, 41]], [40, "box1", 792, 571, [39, null]], [41, ["number", 2], 816, 617, [39, null]], [42, "product2", 738, 647, [12, 43, 44]], [43, "box1", 792, 647, [42, null]], [44, ["number", 2], 792, 689, [42, null]], [-1, ["turtle", 1], 382, -333, 270.0, 0.0, 50, 2.0]] \ No newline at end of file diff --git a/samples/sinfunction.ta b/samples/sinfunction.ta new file mode 100644 index 0000000..6ac9e3e --- /dev/null +++ b/samples/sinfunction.ta @@ -0,0 +1 @@ +[[0, "start", 76, 215, [null, 46]], [1, "storeinbox1", 141, 503, [33, 2, 36]], [2, ["number", -3.1400000000000001], 259, 503, [1, null]], [3, "repeat", 398, 229, [48, 4, 23, null]], [4, ["number", 628], 449, 229, [3, null]], [5, "setxy", 463, 525, [32, 27, 29, 11]], [6, "box1", 585, 331, [21, null]], [7, ["identity2", 40], 585, 449, [8, 9]], [8, "product2", 531, 449, [25, 7, 41]], [9, "myfunc", 719, 449, [7, 10, 18]], [10, ["string", "sin(x)"], 799, 449, [9, null]], [11, ["vspace", 0], 463, 609, [5, 12]], [12, "forward", 463, 643, [11, 13, 14]], [13, ["number", 0], 534, 643, [12, null]], [14, "storeinbox1", 463, 685, [12, 15, 40]], [15, "plus2", 581, 685, [14, 16, 17]], [16, "box1", 635, 685, [15, null]], [17, ["number", 0.01], 635, 727, [15, null]], [18, "box1", 799, 491, [9, null]], [19, "clean", 76, 291, [46, 20]], [20, "cartesian", 76, 325, [19, 34]], [21, "product2", 531, 331, [23, 6, 22]], [22, ["number", 100], 585, 373, [21, null]], [23, "storein", 463, 289, [3, 24, 21, 31]], [24, ["string", "x"], 531, 289, [23, null]], [25, "storein", 463, 407, [31, 26, 8, 32]], [26, ["string", "sin(x)"], 531, 407, [25, null]], [27, "box", 521, 525, [5, 28, null]], [28, ["string", "x"], 576, 525, [27, null]], [29, "box", 521, 567, [5, 30, null]], [30, ["string", "sin(x)"], 576, 567, [29, null]], [31, ["vspace", 0], 463, 373, [23, 25]], [32, ["vspace", 0], 463, 491, [25, 5]], [33, "setcolor", 141, 461, [42, 45, 1]], [34, "storeinbox2", 76, 359, [20, 35, 42]], [35, ["number", "1"], 194, 359, [34, null]], [36, "storeinbox2", 141, 545, [1, 38, 49]], [37, ["number", "2"], 313, 587, [38, null]], [38, "plus2", 259, 545, [36, 39, 37]], [39, "box2", 313, 545, [38, null]], [40, ["vspace", 0], 463, 727, [14, null]], [41, "box2", 585, 491, [8, null]], [42, "repeat", 76, 401, [34, 43, 33, 44]], [43, ["number", "200"], 127, 401, [42, null]], [44, ["vspace", 60], 76, 479, [42, 47]], [45, "box2", 218, 461, [33, null]], [46, "hideblocks", 76, 257, [0, 19]], [47, "showblocks", 76, 633, [44, null]], [48, "hat1", 398, 187, [null, 3]], [49, "stack1", 141, 587, [36, null]], [-1, ["turtle", 1], 312, 9, 0, 799.0, 50, 5]] \ No newline at end of file diff --git a/samples/smoothcandy.ta b/samples/smoothcandy.ta index e236eb9..eec7e0a 100644 --- a/samples/smoothcandy.ta +++ b/samples/smoothcandy.ta @@ -1 +1 @@ -[[0, "start", 201, 14, [null, 1]], [1, "clean", 213, 64, [0, 2]], [2, "repeat", 213, 103, [1, 3, 4, null]], [3, ["number", 350], 299, 112, [2, null]], [4, "setpensize", 308, 152, [2, 23, 5]], [5, "forward", 308, 206, [4, 6, 7]], [6, ["number", "1000"], 382, 215, [5, null]], [7, "setcolor", 308, 245, [5, 20, 8]], [8, "storeinbox1", 308, 299, [7, 17, 9]], [9, "setshade", 308, 353, [8, 14, 10]], [10, "back", 308, 407, [9, 11, 12]], [11, ["number", "1000"], 382, 416, [10, null]], [12, "left", 308, 446, [10, 13, null]], [13, ["number", 1], 382, 455, [12, null]], [14, "minus2", 382, 346, [9, 15, 16]], [15, ["number", 100], 422, 354, [14, null]], [16, "box1", 441, 387, [14, null]], [17, "division2", 382, 292, [8, 18, 19]], [18, "heading", 422, 300, [17, null]], [19, ["number", 2], 441, 333, [17, null]], [20, "division2", 382, 238, [7, 21, 22]], [21, "heading", 422, 246, [20, null]], [22, ["number", 3], 441, 279, [20, null]], [23, "plus2", 382, 145, [4, 24, 25]], [24, "heading", 422, 153, [23, null]], [25, ["number", 4], 422, 186, [23, null]], [-1, "turtle", 0.0, 0.0, 10.0, 3.6666666666666665, 94.5, 15.0]] \ No newline at end of file +[[0, "start", 236, 175, [null, 1]], [1, "clean", 236, 217, [0, 2]], [2, "repeat", 236, 251, [1, 3, 4, null]], [3, ["number", 350], 287, 251, [2, null]], [4, "setpensize", 301, 311, [2, 23, 26]], [5, "forward", 301, 387, [26, 6, 7]], [6, ["number", 1000], 372, 387, [5, null]], [7, "setcolor", 301, 429, [5, 20, 27]], [8, "storeinbox1", 301, 505, [27, 17, 28]], [9, "setshade", 301, 581, [28, 14, 29]], [10, "back", 301, 657, [29, 11, 12]], [11, ["number", 1000], 359, 657, [10, null]], [12, "left", 301, 699, [10, 13, null]], [13, ["number", 1], 359, 699, [12, null]], [14, "minus2", 386, 581, [9, 15, 16]], [15, ["number", 100], 440, 581, [14, null]], [16, "box1", 464, 627, [14, null]], [17, "division2", 419, 505, [8, 18, 19]], [18, "heading", 473, 505, [17, null]], [19, ["number", 2], 497, 551, [17, null]], [20, "division2", 378, 429, [7, 21, 22]], [21, "heading", 432, 429, [20, null]], [22, ["number", 3], 456, 475, [20, null]], [23, "plus2", 403, 311, [4, 24, 25]], [24, "heading", 457, 311, [23, null]], [25, ["number", 4], 457, 353, [23, null]], [26, ["vspace", 0], 301, 353, [4, 5]], [27, ["vspace", 0], 301, 471, [7, 8]], [28, ["vspace", 0], 301, 547, [8, 9]], [29, ["vspace", 0], 301, 623, [9, 10]], [-1, ["turtle", 1], 0, 0, 10.0, 3.6666666666666665, 94.5, 15.0]] \ No newline at end of file diff --git a/samples/snowflake.ta b/samples/snowflake.ta index db11cdd..3047459 100644 --- a/samples/snowflake.ta +++ b/samples/snowflake.ta @@ -1 +1 @@ -[[0, "hat1", 783, -1, [null, 1]], [1, "ifelse", 795, 49, [0, 2, 4, 9, null]], [2, "greater", 875, 59, [1, 3, 21, null]], [3, "box1", 907, 68, [2, null]], [4, "vspace", 890, 123, [1, 5]], [5, "storeinbox1", 890, 192, [4, 38, 6]], [6, "stack1", 890, 246, [5, 7]], [7, "left", 890, 285, [6, 8, 11]], [8, ["number", "60"], 964, 294, [7, null]], [9, "forward", 975, 123, [1, 10, null]], [10, "box1", 1049, 132, [9, null]], [11, "setcolor", 890, 324, [7, 41, 12]], [12, "stack1", 890, 378, [11, 13]], [13, "right", 890, 417, [12, 14, 15]], [14, ["number", "120"], 964, 426, [13, null]], [15, "stack1", 890, 456, [13, 16]], [16, "setcolor", 890, 495, [15, 44, 17]], [17, "left", 890, 549, [16, 18, 19]], [18, ["number", "60"], 964, 558, [17, null]], [19, "stack1", 890, 588, [17, 20]], [20, "storeinbox1", 890, 627, [19, 47, null]], [21, ["number", "3"], 1056, 68, [2, null]], [22, "clean", 375, 238, [37, 23]], [23, "setpensize", 375, 277, [22, 24, 25]], [24, ["number", "3"], 449, 294, [23, null]], [25, "setxy", 375, 331, [23, 26, 27, 28]], [26, ["number", "200"], 449, 340, [25, null]], [27, ["number", "-220"], 449, 377, [25, null]], [28, "left", 375, 407, [25, 29, 30]], [29, ["number", "90"], 449, 416, [28, null]], [30, "storeinbox1", 375, 446, [28, 31, 32]], [31, ["number", "729"], 449, 463, [30, null]], [32, "repeat", 375, 500, [30, 33, 34, null]], [33, ["number", "3"], 461, 509, [32, null]], [34, "stack1", 470, 549, [32, 35]], [35, "right", 470, 588, [34, 36, null]], [36, ["number", "120"], 544, 597, [35, null]], [37, "start", 363, 188, [null, 22]], [38, "division2", 964, 185, [5, 39, 40]], [39, "box1", 1004, 193, [38, null]], [40, ["number", "3"], 1023, 226, [38, null]], [41, "plus2", 964, 317, [11, 42, 43]], [42, "color", 1004, 325, [41, null]], [43, ["number", "7"], 1004, 358, [41, null]], [44, "minus2", 964, 488, [16, 45, 46]], [45, "color", 1004, 496, [44, null]], [46, ["number", "7"], 1023, 529, [44, null]], [47, "product2", 964, 620, [20, 48, 49]], [48, "box1", 1004, 628, [47, null]], [49, ["number", "3"], 1004, 661, [47, null]], [-1, "turtle", 200.0, -220.00000000000006, 270.0, 0.0, 50, 3.0]] \ No newline at end of file +[[0, "hat1", 622, 175, [null, 1]], [1, "ifelse", 622, 217, [0, 2, 4, 9, null]], [2, "greater2", 688, 183, [1, 3, 21, null]], [3, "box1", 734, 183, [2, null]], [4, ["vspace", 0], 702, 285, [1, 5]], [5, "storeinbox1", 702, 319, [4, 38, 6]], [6, "stack1", 702, 361, [5, 7]], [7, "left", 702, 395, [6, 8, 11]], [8, ["number", 60], 760, 395, [7, null]], [9, "forward", 754, 285, [1, 10, null]], [10, "box1", 825, 285, [9, null]], [11, "setcolor", 702, 437, [7, 41, 12]], [12, "stack1", 702, 479, [11, 13]], [13, "right", 702, 513, [12, 14, 15]], [14, ["number", 120], 760, 513, [13, null]], [15, "stack1", 702, 555, [13, 16]], [16, "setcolor", 702, 589, [15, 44, 50]], [17, "left", 702, 665, [50, 18, 19]], [18, ["number", 60], 760, 665, [17, null]], [19, "stack1", 702, 707, [17, 20]], [20, "storeinbox1", 702, 741, [19, 47, null]], [21, ["number", 3], 734, 225, [2, null]], [22, "clean", 309, 217, [37, 23]], [23, "setpensize", 309, 251, [22, 24, 25]], [24, ["number", 3], 411, 251, [23, null]], [25, "setxy", 309, 293, [23, 26, 27, 28]], [26, ["number", "364"], 367, 293, [25, null]], [27, ["number", "-210"], 367, 335, [25, null]], [28, "left", 309, 377, [25, 29, 30]], [29, ["number", 90], 367, 377, [28, null]], [30, "storeinbox1", 309, 419, [28, 31, 32]], [31, ["number", 729], 427, 419, [30, null]], [32, "repeat", 309, 461, [30, 33, 34, null]], [33, ["number", 3], 360, 461, [32, null]], [34, "stack1", 374, 521, [32, 35]], [35, "right", 374, 555, [34, 36, null]], [36, ["number", 120], 432, 555, [35, null]], [37, "start", 309, 175, [null, 22]], [38, "division2", 820, 319, [5, 39, 40]], [39, "box1", 874, 319, [38, null]], [40, ["number", 3], 898, 365, [38, null]], [41, "plus2", 779, 437, [11, 42, 43]], [42, "color", 833, 437, [41, null]], [43, ["number", 7], 833, 479, [41, null]], [44, "minus2", 779, 589, [16, 45, 46]], [45, "color", 833, 589, [44, null]], [46, ["number", 7], 857, 635, [44, null]], [47, "product2", 820, 741, [20, 48, 49]], [48, "box1", 874, 741, [47, null]], [49, ["number", 3], 874, 783, [47, null]], [50, ["vspace", 0], 702, 631, [16, 17]], [-1, ["turtle", 1], 364, -210, 270.0, 0.0, 50, 3.0]] \ No newline at end of file diff --git a/samples/square.ta b/samples/square.ta index 60273be..cff5868 100644 --- a/samples/square.ta +++ b/samples/square.ta @@ -1 +1 @@ -[[0, "repeat", 245, 139, [null, 1, 2, null]], [1, ["number", 4], 331, 148, [0, null]], [2, "forward", 340, 188, [0, 3, 4]], [3, ["number", 200], 414, 197, [2, null]], [4, "right", 340, 227, [2, 5, null]], [5, ["number", 90], 414, 236, [4, null]], [-1, "turtle", 8.5265128291212022e-14, -9.3581609475479333e-14, 0.0, 0, 50, 5]] \ No newline at end of file +[[0, "repeat", 250, 217, [6, 1, 2, null]], [1, ["number", 4], 301, 217, [0, null]], [2, "forward", 315, 277, [0, 3, 4]], [3, ["number", "100"], 386, 277, [2, null]], [4, "right", 315, 319, [2, 5, null]], [5, ["number", 90], 373, 319, [4, null]], [6, "start", 250, 175, [null, 0]], [-1, ["turtle", 1], 0, 0, 0.0, 0, 50, 5]] \ No newline at end of file diff --git a/samples/squares.ta b/samples/squares.ta index 39b9608..85ae2a2 100644 --- a/samples/squares.ta +++ b/samples/squares.ta @@ -1 +1 @@ -[[0, "clean", 261, 118, [null, 1]], [1, "repeat", 261, 157, [0, 2, 3, null]], [2, ["number", 36], 347, 166, [1, null]], [3, "repeat", 356, 206, [1, 4, 5, 9]], [4, ["number", 4], 442, 215, [3, null]], [5, "forward", 451, 255, [3, 6, 7]], [6, ["number", "300"], 525, 264, [5, null]], [7, "right", 451, 294, [5, 8, null]], [8, ["number", 90], 525, 303, [7, null]], [9, "vspace", 356, 296, [3, 10]], [10, "right", 356, 365, [9, 11, null]], [11, ["number", 10], 430, 374, [10, null]], [-1, "turtle", -2.8421709430404007e-13, -1.0587086762825493e-12, 0.0, 0, 50, 5]] \ No newline at end of file +[[0, "clean", 258, 217, [12, 1]], [1, "repeat", 258, 251, [0, 2, 3, null]], [2, ["number", 36], 309, 251, [1, null]], [3, "repeat", 323, 311, [1, 4, 5, 9]], [4, ["number", 4], 374, 311, [3, null]], [5, "forward", 388, 371, [3, 6, 7]], [6, ["number", 300], 459, 371, [5, null]], [7, "right", 388, 413, [5, 8, null]], [8, ["number", 90], 446, 413, [7, null]], [9, ["vspace", 20], 323, 389, [3, 10]], [10, "right", 323, 463, [9, 11, null]], [11, ["number", 10], 381, 463, [10, null]], [12, "start", 258, 175, [null, 0]], [-1, ["turtle", 1], 0, 0, 0.0, 0, 50, 5]] \ No newline at end of file diff --git a/samples/squiral.ta b/samples/squiral.ta index bec4abd..1774988 100644 --- a/samples/squiral.ta +++ b/samples/squiral.ta @@ -1 +1 @@ -[[0, "clean", 258, 72, [19, 1]], [1, "storeinbox1", 258, 111, [0, 2, 3]], [2, ["number", 0], 332, 128, [1, null]], [3, "repeat", 258, 165, [1, 4, 5, null]], [4, ["number", "300"], 344, 174, [3, null]], [5, "forward", 353, 214, [3, 6, 7]], [6, "box1", 427, 223, [5, null]], [7, "right", 353, 253, [5, 8, 9]], [8, ["number", 91], 427, 262, [7, null]], [9, "storeinbox1", 353, 292, [7, 10, 13]], [10, "plus2", 427, 285, [9, 11, 12]], [11, "box1", 467, 293, [10, null]], [12, ["number", 5], 467, 326, [10, null]], [13, "setcolor", 353, 346, [9, 14, null]], [14, "product2", 427, 339, [13, 15, 18]], [15, "division2", 467, 323, [14, 16, 17]], [16, "heading", 507, 331, [15, null]], [17, ["number", "360"], 526, 364, [15, null]], [18, ["number", 100], 467, 380, [14, null]], [19, "start", 246, 22, [null, 0]], [-1, "turtle", 278.8796530912756, -1014.5091542600603, 300.0, 83.333333333333343, 50, 5]] \ No newline at end of file +[[0, "clean", 257, 217, [19, 1]], [1, "storeinbox1", 257, 251, [0, 2, 3]], [2, ["number", 0], 375, 251, [1, null]], [3, "repeat", 257, 293, [1, 4, 5, null]], [4, ["number", 300], 308, 293, [3, null]], [5, "forward", 322, 353, [3, 6, 7]], [6, "box1", 393, 353, [5, null]], [7, "right", 322, 395, [5, 8, 9]], [8, ["number", 91], 380, 395, [7, null]], [9, "storeinbox1", 322, 437, [7, 10, 20]], [10, "plus2", 440, 437, [9, 11, 12]], [11, "box1", 494, 437, [10, null]], [12, ["number", 5], 494, 479, [10, null]], [13, "setcolor", 322, 513, [20, 14, null]], [14, "product2", 399, 513, [13, 21, 18]], [15, "division2", 547, 513, [21, 16, 17]], [16, "heading", 601, 513, [15, null]], [17, ["number", 360], 625, 559, [15, null]], [18, ["number", 100], 453, 555, [14, null]], [19, "start", 257, 175, [null, 0]], [20, ["vspace", 0], 322, 479, [9, 13]], [21, ["identity2", 20], 453, 513, [14, 15]], [-1, ["turtle", 1], 278, -1014, 300.0, 83.333333333333343, 50, 5]] \ No newline at end of file diff --git a/samples/sunrise.ta b/samples/sunrise.ta index 9fd3d65..dee9a9b 100644 --- a/samples/sunrise.ta +++ b/samples/sunrise.ta @@ -1 +1 @@ -[[0, "fillscreen", 232, 98, [17, 1, 2, 3]], [1, ["number", "0"], 306, 107, [0, null]], [2, ["number", "0"], 306, 144, [0, null]], [3, "setpensize", 232, 174, [0, 4, 5]], [4, ["number", "6"], 306, 191, [3, null]], [5, "repeat", 232, 228, [3, 6, 7, null]], [6, ["number", "300"], 318, 237, [5, null]], [7, "storeinbox1", 327, 277, [5, 8, 9]], [8, ["number", "15"], 401, 294, [7, null]], [9, "storeinbox2", 327, 331, [7, 10, 11]], [10, ["number", "20"], 401, 348, [9, null]], [11, "stack1", 327, 385, [9, 12]], [12, "storeinbox1", 327, 424, [11, 13, 14]], [13, ["number", "0"], 401, 441, [12, null]], [14, "storeinbox2", 327, 478, [12, 15, 16]], [15, ["number", "10"], 401, 495, [14, null]], [16, "stack1", 327, 532, [14, null]], [17, "start", 220, 48, [null, 0]], [18, "hat1", 522, 18, [null, 19]], [19, "setxy", 534, 68, [18, 20, 21, 22]], [20, ["number", "0"], 608, 77, [19, null]], [21, ["number", "0"], 608, 114, [19, null]], [22, "seth", 534, 144, [19, 23, 26]], [23, "random", 608, 134, [22, 24, 25, null]], [24, ["number", "0"], 636, 153, [23, null]], [25, ["number", "360"], 758, 153, [23, null]], [26, "repeat", 534, 183, [22, 27, 28, null]], [27, ["number", "20"], 620, 192, [26, null]], [28, "setcolor", 629, 232, [26, 29, 32]], [29, "random", 703, 230, [28, 30, 31, null]], [30, "box1", 731, 249, [29, null]], [31, "box2", 853, 249, [29, null]], [32, "forward", 629, 286, [28, 33, 36]], [33, "random", 703, 276, [32, 34, 35, null]], [34, ["number", "10"], 731, 295, [33, null]], [35, ["number", "30"], 853, 295, [33, null]], [36, "right", 629, 325, [32, 37, 40]], [37, "random", 703, 315, [36, 38, 39, null]], [38, ["number", "30"], 731, 334, [37, null]], [39, ["number", "40"], 853, 334, [37, null]], [40, "setcolor", 629, 364, [36, 41, 44]], [41, "random", 703, 362, [40, 42, 43, null]], [42, "box1", 731, 381, [41, null]], [43, "box2", 853, 381, [41, null]], [44, "forward", 629, 418, [40, 45, 48]], [45, "random", 703, 408, [44, 46, 47, null]], [46, ["number", "10"], 731, 427, [45, null]], [47, ["number", "30"], 853, 427, [45, null]], [48, "left", 629, 457, [44, 49, null]], [49, "random", 703, 447, [48, 50, 51, null]], [50, ["number", "30"], 731, 466, [49, null]], [51, ["number", "40"], 853, 466, [49, null]], [-1, "turtle", 74.35903566767675, 101.77401082082446, 57, 17, 50, 6.0]] \ No newline at end of file +[[0, "fillscreen", 214, 217, [17, 1, 2, 3]], [1, ["number", 0], 296, 217, [0, null]], [2, ["number", 0], 296, 259, [0, null]], [3, "setpensize", 214, 301, [0, 4, 5]], [4, ["number", 6], 316, 301, [3, null]], [5, "repeat", 214, 343, [3, 6, 7, null]], [6, ["number", 300], 265, 343, [5, null]], [7, "storeinbox1", 279, 403, [5, 8, 9]], [8, ["number", 15], 397, 403, [7, null]], [9, "storeinbox2", 279, 445, [7, 10, 11]], [10, ["number", 20], 397, 445, [9, null]], [11, "stack1", 279, 487, [9, 12]], [12, "storeinbox1", 279, 521, [11, 13, 14]], [13, ["number", 0], 397, 521, [12, null]], [14, "storeinbox2", 279, 563, [12, 15, 16]], [15, ["number", 10], 397, 563, [14, null]], [16, "stack1", 279, 605, [14, null]], [17, "start", 214, 175, [null, 0]], [18, "hat1", 557, 175, [null, 19]], [19, "setxy", 557, 217, [18, 20, 21, 22]], [20, ["number", 0], 615, 217, [19, null]], [21, ["number", 0], 615, 259, [19, null]], [22, "seth", 557, 301, [19, 23, 57]], [23, "random", 656, 301, [22, 24, 25, null]], [24, ["number", 0], 742, 301, [23, null]], [25, ["number", 360], 742, 343, [23, null]], [26, "repeat", 557, 377, [57, 27, 28, null]], [27, ["number", 20], 608, 377, [26, null]], [28, "setcolor", 622, 437, [26, 29, 52]], [29, "random", 699, 437, [28, 30, 31, null]], [30, "box1", 785, 437, [29, null]], [31, "box2", 785, 479, [29, null]], [32, "forward", 622, 513, [52, 33, 53]], [33, "random", 693, 513, [32, 34, 35, null]], [34, ["number", 10], 779, 513, [33, null]], [35, ["number", 30], 779, 555, [33, null]], [36, "right", 622, 589, [53, 37, 54]], [37, "random", 680, 589, [36, 38, 39, null]], [38, ["number", 30], 766, 589, [37, null]], [39, ["number", 40], 766, 631, [37, null]], [40, "setcolor", 622, 665, [54, 41, 55]], [41, "random", 699, 665, [40, 42, 43, null]], [42, "box1", 785, 665, [41, null]], [43, "box2", 785, 707, [41, null]], [44, "forward", 622, 741, [55, 45, 56]], [45, "random", 693, 741, [44, 46, 47, null]], [46, ["number", 10], 779, 741, [45, null]], [47, ["number", 30], 779, 783, [45, null]], [48, "left", 622, 817, [56, 49, null]], [49, "random", 680, 817, [48, 50, 51, null]], [50, ["number", 30], 766, 817, [49, null]], [51, ["number", 40], 766, 859, [49, null]], [52, ["vspace", 0], 622, 479, [28, 32]], [53, ["vspace", 0], 622, 555, [32, 36]], [54, ["vspace", 0], 622, 631, [36, 40]], [55, ["vspace", 0], 622, 707, [40, 44]], [56, ["vspace", 0], 622, 783, [44, 48]], [57, ["vspace", 0], 557, 343, [22, 26]], [-1, ["turtle", 1], 42, -482, 168, 0, 50, 6.0]] \ No newline at end of file diff --git a/samples/tangents.ta b/samples/tangents.ta new file mode 100644 index 0000000..98b676d --- /dev/null +++ b/samples/tangents.ta @@ -0,0 +1 @@ +[[0, "hat1", 577, 188, [null, 81]], [1, "repeat", 577, 272, [81, 2, 3, 83]], [2, ["number", 50], 628, 272, [1, null]], [3, "setcolor", 642, 332, [1, 4, 30]], [4, "plus2", 719, 332, [3, 5, 6]], [5, "color", 773, 332, [4, null]], [6, ["number", 2], 773, 374, [4, null]], [7, "setxy", 642, 408, [30, 8, 9, 28]], [8, ["number", 0], 700, 408, [7, null]], [9, "minus2", 700, 450, [7, 10, 11]], [10, ["number", 0], 754, 450, [9, null]], [11, "box1", 778, 496, [9, null]], [12, "seth", 642, 526, [28, 13, 14]], [13, ["number", 270], 741, 526, [12, null]], [14, "arc", 642, 568, [12, 15, 16, 17]], [15, ["number", 360], 700, 568, [14, null]], [16, "box1", 700, 610, [14, null]], [17, "setxy", 642, 652, [14, 18, 19, 29]], [18, ["number", 400], 700, 652, [17, null]], [19, "minus2", 700, 694, [17, 20, 21]], [20, "box1", 754, 694, [19, null]], [21, ["number", 200], 778, 740, [19, null]], [22, "forward", 642, 770, [29, 23, 24]], [23, ["number", 800], 713, 770, [22, null]], [24, "storeinbox1", 642, 812, [22, 25, null]], [25, "plus2", 760, 812, [24, 26, 27]], [26, "box1", 814, 812, [25, null]], [27, ["number", 4], 814, 854, [25, null]], [28, ["vspace", 0], 642, 492, [7, 12]], [29, ["vspace", 0], 642, 736, [17, 22]], [30, ["vspace", 0], 642, 374, [3, 7]], [31, "clean", 264, 217, [76, 32]], [32, "setpensize", 264, 251, [31, 33, 34]], [33, ["number", 2], 366, 251, [32, null]], [34, "storeinbox1", 264, 293, [32, 35, 36]], [35, ["number", 100], 382, 293, [34, null]], [36, "setcolor", 264, 335, [34, 37, 38]], [37, ["number", 0], 341, 335, [36, null]], [38, "setxy", 264, 377, [36, 39, 40, 41]], [39, ["number", 400], 322, 377, [38, null]], [40, ["number", -200], 322, 419, [38, null]], [41, "seth", 264, 461, [38, 42, 43]], [42, ["number", 270], 363, 461, [41, null]], [43, "forward", 264, 503, [41, 44, 45]], [44, ["number", 800], 335, 503, [43, null]], [45, "setxy", 264, 545, [43, 46, 47, 48]], [46, ["number", 0], 322, 545, [45, null]], [47, ["number", 0], 322, 587, [45, null]], [48, "forward", 264, 629, [45, 49, 50]], [49, ["number", 0], 335, 629, [48, null]], [50, "stack1", 264, 671, [48, 51]], [51, "stack2", 264, 705, [50, null]], [52, "hat2", 945, 186, [null, 78]], [53, "setcolor", 945, 270, [78, 54, 55]], [54, ["number", 0], 1022, 270, [53, null]], [55, "storeinbox2", 945, 312, [53, 56, 57]], [56, ["number", -300], 1063, 312, [55, null]], [57, "repeat", 945, 354, [55, 58, 59, 80]], [58, ["number", 601], 996, 354, [57, null]], [59, "setxy", 1010, 414, [57, 60, 62, 69]], [60, "box2", 1068, 414, [59, null]], [61, ["identity2", 40], 1310, 456, [63, 64]], [62, "division2", 1068, 456, [59, 77, 68]], [63, "minus2", 1256, 456, [77, 61, 67]], [64, "product2", 1444, 456, [61, 65, 66]], [65, "box2", 1498, 456, [64, null]], [66, "box2", 1498, 498, [64, null]], [67, ["number", 40000], 1334, 502, [63, null]], [68, ["number", 400], 1146, 502, [62, null]], [69, ["vspace", 0], 1010, 498, [59, 70]], [70, "forward", 1010, 532, [69, 71, 72]], [71, ["number", 0], 1081, 532, [70, null]], [72, "storeinbox2", 1010, 574, [70, 73, null]], [73, "plus2", 1128, 574, [72, 74, 75]], [74, "box2", 1182, 574, [73, null]], [75, ["number", 1], 1182, 616, [73, null]], [76, "start", 264, 175, [null, 31]], [77, ["identity2", 40], 1122, 456, [62, 63]], [78, "sandwichtop", 927, 228, [52, 79, 53]], [79, ["string", "exponential"], 1030, 228, [78, null]], [80, ["sandwichcollapsed", 1], 945, 270, [57, null]], [81, "sandwichtop", 559, 230, [0, 82, 1]], [82, ["string", "tangents"], 662, 230, [81, null]], [83, ["sandwichcollapsed", 1], 577, 272, [1, null]], [-1, ["turtle", 1], 300, 125, 270.0, 0.0, 50, 2.0]] \ No newline at end of file diff --git a/samples/tree.ta b/samples/tree.ta index c01dc0a..552b12d 100644 --- a/samples/tree.ta +++ b/samples/tree.ta @@ -1 +1 @@ -[[0, "division", 82, 93, [null, null]], [1, "hat1", 510, 28, [null, 2]], [2, "pendown", 522, 78, [1, 3]], [3, "if", 522, 117, [2, 4, 7, 9]], [4, "greater", 602, 127, [3, 5, 6, null]], [5, "box1", 634, 136, [4, null]], [6, ["number", "10"], 783, 136, [4, null]], [7, "hspace", 617, 182, [3, 8]], [8, "hspace", 708, 181, [7, 32]], [9, "storeinbox2", 522, 232, [3, 10, 12]], [10, "random", 596, 230, [9, 11, 49, null]], [11, ["number", "0"], 624, 249, [10, null]], [12, "if", 522, 286, [9, 13, 15, null]], [13, "equal", 602, 296, [12, 14, 48, null]], [14, "box2", 634, 305, [13, null]], [15, "penup", 617, 360, [12, 16]], [16, "forward", 617, 399, [15, 69, 17]], [17, "setcolor", 617, 438, [16, 18, 19]], [18, ["number", "40"], 691, 455, [17, null]], [19, "setpensize", 617, 492, [17, 20, 21]], [20, ["number", "20"], 691, 509, [19, null]], [21, "forward", 617, 546, [19, 22, 23]], [22, ["number", "1"], 691, 555, [21, null]], [23, "pendown", 617, 585, [21, 24]], [24, "back", 617, 624, [23, 25, 26]], [25, ["number", "1"], 691, 633, [24, null]], [26, "setcolor", 617, 663, [24, 27, 28]], [27, ["number", "10"], 691, 680, [26, null]], [28, "setpensize", 617, 717, [26, 29, 30]], [29, ["number", "5"], 691, 734, [28, null]], [30, "penup", 617, 771, [28, 31]], [31, "back", 617, 810, [30, 66, null]], [32, "hspace", 799, 180, [8, 33]], [33, "forward", 890, 188, [32, 34, 35]], [34, "box1", 964, 197, [33, null]], [35, "storeinbox1", 890, 227, [33, 63, 36]], [36, "right", 890, 281, [35, 37, 38]], [37, ["number", "30"], 964, 290, [36, null]], [38, "stack1", 890, 320, [36, 39]], [39, "left", 890, 359, [38, 40, 41]], [40, ["number", "60"], 964, 368, [39, null]], [41, "stack1", 890, 398, [39, 42]], [42, "right", 890, 437, [41, 43, 44]], [43, ["number", "30"], 964, 446, [42, null]], [44, "storeinbox1", 890, 476, [42, 60, 45]], [45, "penup", 890, 530, [44, 46]], [46, "back", 890, 569, [45, 47, null]], [47, "box1", 964, 578, [46, null]], [48, ["number", "0"], 783, 305, [13, null]], [49, ["number", "2"], 746, 249, [10, null]], [50, "clean", 297, 88, [59, 51]], [51, "setxy", 297, 127, [50, 52, 53, 54]], [52, ["number", "0"], 371, 136, [51, null]], [53, ["number", "-400"], 371, 173, [51, null]], [54, "storeinbox1", 297, 203, [51, 55, 56]], [55, ["number", "300"], 371, 220, [54, null]], [56, "setcolor", 297, 257, [54, 57, 58]], [57, ["number", "10"], 371, 274, [56, null]], [58, "stack1", 297, 311, [56, null]], [59, "start", 285, 38, [null, 50]], [60, "product2", 964, 469, [44, 61, 62]], [61, "box1", 1004, 477, [60, null]], [62, ["number", "1.5"], 1004, 510, [60, null]], [63, "division2", 964, 220, [35, 64, 65]], [64, "box1", 1004, 228, [63, null]], [65, ["number", "1.5"], 1023, 261, [63, null]], [66, "division2", 691, 795, [31, 67, 68]], [67, "box1", 731, 803, [66, null]], [68, ["number", "2"], 750, 836, [66, null]], [69, "division2", 691, 384, [16, 70, 71]], [70, "box1", 731, 392, [69, null]], [71, ["number", "2"], 750, 425, [69, null]], [-1, "turtle", -8.5265128291212022e-14, -400.00000000000011, 0.0, 10.0, 50, 5.0]] \ No newline at end of file +[[0, "hat1", 840, 58, [null, 1]], [1, "pendown", 840, 100, [0, 68]], [2, "if", 840, 168, [68, 3, 70, 71]], [3, "greater2", 878, 134, [2, 4, 5, null]], [4, "box1", 924, 134, [3, null]], [5, ["number", 10], 924, 176, [3, null]], [6, "storeinbox2", 840, 288, [71, 7, 72]], [7, "random", 958, 288, [6, 8, 45, null]], [8, ["number", 0], 1044, 288, [7, null]], [9, "if", 840, 364, [72, 10, 12, null]], [10, "equal2", 878, 330, [9, 11, 44, null]], [11, "box2", 924, 330, [10, null]], [12, "penup", 892, 432, [9, 13]], [13, "forward", 892, 466, [12, 65, 73]], [14, "setcolor", 892, 542, [73, 15, 16]], [15, ["number", 40], 969, 542, [14, null]], [16, "setpensize", 892, 584, [14, 17, 18]], [17, ["number", 20], 994, 584, [16, null]], [18, "forward", 892, 626, [16, 19, 20]], [19, ["number", 1], 963, 626, [18, null]], [20, "pendown", 892, 668, [18, 21]], [21, "back", 892, 702, [20, 22, 23]], [22, ["number", 1], 950, 702, [21, null]], [23, "setcolor", 892, 744, [21, 24, 25]], [24, ["number", 10], 969, 744, [23, null]], [25, "setpensize", 892, 786, [23, 26, 27]], [26, ["number", 5], 994, 786, [25, null]], [27, "penup", 892, 828, [25, 28]], [28, "back", 892, 862, [27, 62, null]], [29, "forward", 485, 217, [69, 30, 31]], [30, "box1", 556, 217, [29, null]], [31, "storeinbox1", 485, 259, [29, 59, 74]], [32, "right", 485, 335, [74, 33, 34]], [33, ["number", 30], 543, 335, [32, null]], [34, "stack1", 485, 377, [32, 35]], [35, "left", 485, 411, [34, 36, 37]], [36, ["number", 60], 543, 411, [35, null]], [37, "stack1", 485, 453, [35, 38]], [38, "right", 485, 487, [37, 39, 40]], [39, ["number", 30], 543, 487, [38, null]], [40, "storeinbox1", 485, 529, [38, 56, 41]], [41, "penup", 485, 571, [40, 42]], [42, "back", 485, 605, [41, 43, null]], [43, "box1", 543, 605, [42, null]], [44, ["number", 0], 924, 372, [10, null]], [45, ["number", 2], 1044, 330, [7, null]], [46, "clean", 227, 220, [55, 47]], [47, "setxy", 227, 254, [46, 48, 49, 50]], [48, ["number", 0], 285, 254, [47, null]], [49, ["number", -400], 285, 296, [47, null]], [50, "storeinbox1", 227, 338, [47, 51, 52]], [51, ["number", 300], 345, 338, [50, null]], [52, "setcolor", 227, 380, [50, 53, 54]], [53, ["number", 10], 304, 380, [52, null]], [54, "stack1", 227, 422, [52, null]], [55, "start", 227, 178, [null, 46]], [56, "product2", 603, 529, [40, 57, 58]], [57, "box1", 657, 529, [56, null]], [58, ["number", 1.5], 657, 571, [56, null]], [59, "division2", 603, 259, [31, 60, 61]], [60, "box1", 657, 259, [59, null]], [61, ["number", 1.5], 681, 305, [59, null]], [62, "division2", 950, 862, [28, 63, 64]], [63, "box1", 1004, 862, [62, null]], [64, ["number", 2], 1028, 908, [62, null]], [65, "division2", 963, 466, [13, 66, 67]], [66, "box1", 1017, 466, [65, null]], [67, ["number", 2], 1041, 512, [65, null]], [68, ["vspace", 0], 840, 134, [1, 2]], [69, "hat2", 485, 175, [null, 29]], [70, "stack2", 892, 236, [2, null]], [71, ["vspace", 0], 840, 254, [2, 6]], [72, ["vspace", 0], 840, 330, [6, 9]], [73, ["vspace", 0], 892, 508, [13, 14]], [74, ["vspace", 0], 485, 301, [31, 32]], [-1, ["turtle", 1], 0, -400, 0.0, 10.0, 50, 5.0]] \ No newline at end of file diff --git a/samples/xo-child.ta b/samples/xo-child.ta index 5f733ac..bbe3292 100644 --- a/samples/xo-child.ta +++ b/samples/xo-child.ta @@ -1 +1 @@ -[[0, "clean", 227, 73, [1, 51]], [1, "start", 215, 23, [null, 0]], [2, "hat2", 220, 328, [null, 3]], [3, "setcolor", 232, 378, [2, 4, 7]], [4, "random", 306, 376, [3, 5, 6, null]], [5, ["number", "0"], 334, 395, [4, null]], [6, ["number", "100"], 456, 395, [4, null]], [7, "setpensize", 232, 432, [3, 8, 9]], [8, ["number", "40"], 306, 449, [7, null]], [9, "stack1", 232, 486, [7, 10]], [10, "setcolor", 232, 525, [9, 11, 14]], [11, "plus2", 306, 518, [10, 12, 13]], [12, "color", 346, 526, [11, null]], [13, ["number", "10"], 346, 559, [11, null]], [14, "setpensize", 232, 579, [10, 15, 18]], [15, "minus2", 306, 572, [14, 16, 17]], [16, "pensize", 346, 580, [15, null]], [17, ["number", "25"], 365, 613, [15, null]], [18, "stack1", 232, 633, [14, null]], [19, "hat1", 685, 19, [null, 20]], [20, "left", 697, 69, [19, 21, 22]], [21, ["number", "45"], 771, 78, [20, null]], [22, "repeat", 697, 108, [20, 23, 24, 30]], [23, ["number", "4"], 783, 117, [22, null]], [24, "forward", 792, 157, [22, 25, 26]], [25, ["number", "75"], 866, 166, [24, null]], [26, "back", 792, 196, [24, 27, 28]], [27, ["number", "75"], 866, 205, [26, null]], [28, "left", 792, 235, [26, 29, null]], [29, ["number", "90"], 866, 244, [28, null]], [30, "vspace", 697, 198, [22, 31]], [31, "right", 697, 267, [30, 32, 33]], [32, ["number", "45"], 771, 276, [31, null]], [33, "penup", 697, 306, [31, 34]], [34, "forward", 697, 345, [33, 35, 36]], [35, ["number", "90"], 771, 354, [34, null]], [36, "pendown", 697, 384, [34, 37]], [37, "setpensize", 697, 423, [36, 45, 38]], [38, "forward", 697, 477, [37, 39, 40]], [39, ["number", "1"], 771, 486, [38, null]], [40, "penup", 697, 516, [38, 41]], [41, "back", 697, 555, [40, 42, 43]], [42, ["number", "91"], 771, 564, [41, null]], [43, "pendown", 697, 594, [41, 44]], [44, "setpensize", 697, 633, [43, 48, null]], [45, "plus2", 771, 416, [37, 46, 47]], [46, "pensize", 811, 424, [45, null]], [47, ["number", "35"], 811, 457, [45, null]], [48, "minus2", 771, 626, [44, 49, 50]], [49, "pensize", 811, 634, [48, null]], [50, ["number", "35"], 830, 667, [48, null]], [51, "repeat", 227, 112, [0, 52, 53, null]], [52, ["number", "500"], 313, 121, [51, null]], [53, "penup", 322, 161, [51, 54]], [54, "setxy", 322, 200, [53, 55, 58, 61]], [55, "random", 396, 190, [54, 56, 57, null]], [56, ["number", "-600"], 424, 209, [55, null]], [57, ["number", "600"], 546, 209, [55, null]], [58, "random", 396, 227, [54, 59, 60, null]], [59, ["number", "-450"], 424, 246, [58, null]], [60, ["number", "450"], 546, 246, [58, null]], [61, "pendown", 322, 276, [54, 62]], [62, "stack2", 322, 315, [61, null]], [-1, "turtle", 465.0, -215.00000000000003, 0.0, 18.0, 50, 15.0]] \ No newline at end of file +[[0, "clean", 328, 217, [1, 51]], [1, "start", 328, 175, [null, 0]], [2, "hat2", 331, 514, [null, 3]], [3, "setcolor", 331, 556, [2, 4, 60]], [4, "random", 408, 556, [3, 5, 6, null]], [5, ["number", 0], 494, 556, [4, null]], [6, ["number", 100], 494, 598, [4, null]], [7, "setpensize", 331, 632, [60, 8, 9]], [8, ["number", 40], 433, 632, [7, null]], [9, "stack1", 331, 674, [7, 10]], [10, "setcolor", 331, 708, [9, 11, 61]], [11, "plus2", 408, 708, [10, 12, 13]], [12, "color", 462, 708, [11, null]], [13, ["number", 10], 462, 750, [11, null]], [14, "setpensize", 331, 784, [61, 15, 18]], [15, "minus2", 433, 784, [14, 16, 17]], [16, "pensize", 487, 784, [15, null]], [17, ["number", 25], 511, 830, [15, null]], [18, "stack1", 331, 826, [14, null]], [19, "hat1", 857, 107, [null, 20]], [20, "left", 857, 149, [19, 21, 22]], [21, ["number", 45], 915, 149, [20, null]], [22, "repeat", 857, 191, [20, 23, 24, 30]], [23, ["number", 4], 908, 191, [22, null]], [24, "forward", 922, 251, [22, 25, 26]], [25, ["number", 75], 993, 251, [24, null]], [26, "back", 922, 293, [24, 27, 28]], [27, ["number", 75], 980, 293, [26, null]], [28, "left", 922, 335, [26, 29, null]], [29, ["number", 90], 980, 335, [28, null]], [30, ["vspace", 40], 857, 269, [22, 31]], [31, "right", 857, 383, [30, 32, 33]], [32, ["number", 45], 915, 383, [31, null]], [33, "penup", 857, 425, [31, 34]], [34, "forward", 857, 459, [33, 35, 36]], [35, ["number", 90], 928, 459, [34, null]], [36, "pendown", 857, 501, [34, 37]], [37, "setpensize", 857, 535, [36, 45, 59]], [38, "forward", 857, 611, [59, 39, 40]], [39, ["number", 1], 928, 611, [38, null]], [40, "penup", 857, 653, [38, 41]], [41, "back", 857, 687, [40, 42, 43]], [42, ["number", 91], 915, 687, [41, null]], [43, "pendown", 857, 729, [41, 44]], [44, "setpensize", 857, 763, [43, 48, null]], [45, "plus2", 959, 535, [37, 46, 47]], [46, "pensize", 1013, 535, [45, null]], [47, ["number", 35], 1013, 577, [45, null]], [48, "minus2", 959, 763, [44, 49, 50]], [49, "pensize", 1013, 763, [48, null]], [50, ["number", 35], 1037, 809, [48, null]], [51, "repeat", 328, 251, [0, 52, 53, null]], [52, ["number", 500], 379, 251, [51, null]], [53, "penup", 393, 311, [51, 54]], [54, "setxy", 393, 345, [53, 62, 56, 57]], [55, "random", 625, 345, [62, 63, 64, null]], [56, "random", 451, 387, [54, 65, 66, null]], [57, "pendown", 393, 429, [54, 58]], [58, "stack2", 393, 463, [57, null]], [59, ["vspace", 0], 857, 577, [37, 38]], [60, ["vspace", 0], 331, 598, [3, 7]], [61, ["vspace", 0], 331, 750, [10, 14]], [62, ["identity2", 60], 451, 345, [54, 55]], [63, "leftpos", 711, 345, [55, null]], [64, "rightpos", 711, 387, [55, null]], [65, "bottompos", 537, 387, [56, null]], [66, "toppos", 537, 429, [56, null]], [-1, ["turtle", 1], -6, -306, 225.0, 82, 50, 40.0]] \ No newline at end of file diff --git a/samples/xo-man.ta b/samples/xo-man.ta deleted file mode 100644 index 5f733ac..0000000 --- a/samples/xo-man.ta +++ /dev/null @@ -1 +0,0 @@ -[[0, "clean", 227, 73, [1, 51]], [1, "start", 215, 23, [null, 0]], [2, "hat2", 220, 328, [null, 3]], [3, "setcolor", 232, 378, [2, 4, 7]], [4, "random", 306, 376, [3, 5, 6, null]], [5, ["number", "0"], 334, 395, [4, null]], [6, ["number", "100"], 456, 395, [4, null]], [7, "setpensize", 232, 432, [3, 8, 9]], [8, ["number", "40"], 306, 449, [7, null]], [9, "stack1", 232, 486, [7, 10]], [10, "setcolor", 232, 525, [9, 11, 14]], [11, "plus2", 306, 518, [10, 12, 13]], [12, "color", 346, 526, [11, null]], [13, ["number", "10"], 346, 559, [11, null]], [14, "setpensize", 232, 579, [10, 15, 18]], [15, "minus2", 306, 572, [14, 16, 17]], [16, "pensize", 346, 580, [15, null]], [17, ["number", "25"], 365, 613, [15, null]], [18, "stack1", 232, 633, [14, null]], [19, "hat1", 685, 19, [null, 20]], [20, "left", 697, 69, [19, 21, 22]], [21, ["number", "45"], 771, 78, [20, null]], [22, "repeat", 697, 108, [20, 23, 24, 30]], [23, ["number", "4"], 783, 117, [22, null]], [24, "forward", 792, 157, [22, 25, 26]], [25, ["number", "75"], 866, 166, [24, null]], [26, "back", 792, 196, [24, 27, 28]], [27, ["number", "75"], 866, 205, [26, null]], [28, "left", 792, 235, [26, 29, null]], [29, ["number", "90"], 866, 244, [28, null]], [30, "vspace", 697, 198, [22, 31]], [31, "right", 697, 267, [30, 32, 33]], [32, ["number", "45"], 771, 276, [31, null]], [33, "penup", 697, 306, [31, 34]], [34, "forward", 697, 345, [33, 35, 36]], [35, ["number", "90"], 771, 354, [34, null]], [36, "pendown", 697, 384, [34, 37]], [37, "setpensize", 697, 423, [36, 45, 38]], [38, "forward", 697, 477, [37, 39, 40]], [39, ["number", "1"], 771, 486, [38, null]], [40, "penup", 697, 516, [38, 41]], [41, "back", 697, 555, [40, 42, 43]], [42, ["number", "91"], 771, 564, [41, null]], [43, "pendown", 697, 594, [41, 44]], [44, "setpensize", 697, 633, [43, 48, null]], [45, "plus2", 771, 416, [37, 46, 47]], [46, "pensize", 811, 424, [45, null]], [47, ["number", "35"], 811, 457, [45, null]], [48, "minus2", 771, 626, [44, 49, 50]], [49, "pensize", 811, 634, [48, null]], [50, ["number", "35"], 830, 667, [48, null]], [51, "repeat", 227, 112, [0, 52, 53, null]], [52, ["number", "500"], 313, 121, [51, null]], [53, "penup", 322, 161, [51, 54]], [54, "setxy", 322, 200, [53, 55, 58, 61]], [55, "random", 396, 190, [54, 56, 57, null]], [56, ["number", "-600"], 424, 209, [55, null]], [57, ["number", "600"], 546, 209, [55, null]], [58, "random", 396, 227, [54, 59, 60, null]], [59, ["number", "-450"], 424, 246, [58, null]], [60, ["number", "450"], 546, 246, [58, null]], [61, "pendown", 322, 276, [54, 62]], [62, "stack2", 322, 315, [61, null]], [-1, "turtle", 465.0, -215.00000000000003, 0.0, 18.0, 50, 15.0]] \ No newline at end of file diff --git a/sprites.py b/sprites.py new file mode 100644 index 0000000..045ab98 --- /dev/null +++ b/sprites.py @@ -0,0 +1,367 @@ +# -*- coding: utf-8 -*- + +#Copyright (c) 2007-8, Playful Invention Company. +#Copyright (c) 2008-10 Walter Bender + +#Permission is hereby granted, free of charge, to any person obtaining a copy +#of this software and associated documentation files (the "Software"), to deal +#in the Software without restriction, including without limitation the rights +#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +#copies of the Software, and to permit persons to whom the Software is +#furnished to do so, subject to the following conditions: + +#The above copyright notice and this permission notice shall be included in +#all copies or substantial portions of the Software. + +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +#THE SOFTWARE. + +""" + +sprites.py is a simple sprites library for managing graphics objects, +'sprites', on a canvas. It manages multiple sprites with methods such +as move, hide, set_layer, etc. + +There are two classes: + +class Sprites maintains a collection of sprites. +class Sprite manages individual sprites within the collection. + +Example usage: + # Import the classes into your program. + from sprites import Sprites, Sprite + + # Create a new sprite collection for a gtk Drawing Area. + my_drawing_area = gtk.DrawingArea() + self.sprite_list = Sprites(my_drawing_area) + + # Create a "pixbuf" (in this example, from SVG). + my_pixbuf = svg_str_to_pixbuf("...some svg code...") + + # Create a sprite at position x1, y1. + my_sprite = sprites.Sprite(self.sprite_list, x1, y1, my_pixbuf) + + # Move the sprite to a new position. + my_sprite.move((x1+dx, y1+dy)) + + # Create another "pixbuf". + your_pixbuf = svg_str_to_pixbuf("...some svg code...") + + # Create a sprite at position x2, y2. + your_sprite = sprites.Sprite(self.sprite_list, x2, y2, my_pixbuf) + + # Assign the sprites to layers. + # In this example, your_sprite will be on top of my_sprite. + my_sprite.set_layer(100) + your_sprite.set_layer(200) + + # Now put my_sprite on top of your_sprite. + my_sprite.set_layer(300) + +# method for converting SVG to a gtk pixbuf +def svg_str_to_pixbuf(svg_string): + pl = gtk.gdk.PixbufLoader('svg') + pl.write(svg_string) + pl.close() + pixbuf = pl.get_pixbuf() + return pixbuf +""" + +import pygtk +pygtk.require('2.0') +import gtk +import gobject +import pango + +# +# A class for the list of sprites and everything they share in common +# + +class Sprites: + def __init__(self, canvas, area=None, gc=None): + self.canvas = canvas + if area == None: + self.area = self.canvas.window + self.gc = self.area.new_gc() + else: + self.area = area + self.gc = gc + self.cm = self.gc.get_colormap() + self.list = [] + + def get_sprite(self, i): + if i < 0 or i > len(self.list)-1: + return(None) + else: + return(self.list[i]) + + def length_of_list(self): + return(len(self.list)) + + def append_to_list(self, spr): + self.list.append(spr) + + def insert_in_list(self, spr, i): + if i < 0: + self.list.insert(0, spr) + elif i > len(self.list)-1: + self.list.append(spr) + else: + self.list.insert(i, spr) + + def remove_from_list(self, spr): + if spr in self.list: + self.list.remove(spr) + + def find_sprite(self, pos): + list = self.list[:] + list.reverse() + for spr in list: + if spr.hit(pos): return spr + return None + + def redraw_sprites(self): + for spr in self.list: + spr.draw() + +# +# A class for the individual sprites +# +class Sprite: + def __init__(self, sprites, x, y, image): + self._sprites = sprites + self._x = int(x) + self._y = int(y) + self._scale = [12] + self._rescale = [True] + self._horiz_align = ["center"] + self._vert_align = ["middle"] + self._fd = None + self._bold = False + self._italic = False + self._color = None + self._width = 0 + self._height = 0 + self._margins = [0,0,0,0] + self.layer = 100 + self.labels = [] + self.images = [] + self._dx = [] # image offsets + self._dy = [] + self.set_image(image) + self._sprites.append_to_list(self) + + def set_image(self, image, i=0, dx=0, dy=0): + while len(self.images) < i+1: + self.images.append(None) + self._dx.append(0) + self._dy.append(0) + self.images[i] = image + self._dx[i] = dx + self._dy[i] = dy + if isinstance(image, gtk.gdk.Pixbuf): + _w = image.get_width() + _h = image.get_height() + else: + _w, _h = image.get_size() + if i == 0: # Always reset width and height when base image changes. + self._width = _w + dx + self._height = _h + dy + else: + if _w + dx > self._width: + self._width = _w + dx + if _h + dy > self._height: + self._height = _h + dy + + def move(self, pos): + self.inval() + self._x,self._y = int(pos[0]),int(pos[1]) + self.inval() + + def move_relative(self, pos): + self.inval() + self._x += int(pos[0]) + self._y += int(pos[1]) + self.inval() + + def get_xy(self): + return (self._x, self._y) + + def get_dimensions(self): + return (self._width, self._height) + + def get_layer(self): + return self.layer + + def set_shape(self, image, i=0): + self.inval() + self.set_image(image, i) + self.inval() + + def set_layer(self, layer): + self._sprites.remove_from_list(self) + self.layer = layer + for i in range(self._sprites.length_of_list()): + if layer < self._sprites.get_sprite(i).layer: + self._sprites.insert_in_list(self, i) + self.inval() + return + self._sprites.append_to_list(self) + self.inval() + + def set_label(self, new_label, i=0): + self._extend_labels_array(i) + if type(new_label) is str or type(new_label) is unicode: + # pango doesn't like nulls + self.labels[i] = new_label.replace("\0"," ") + else: + self.labels[i] = str(new_label) + self.inval() + + def set_margins(self, l=0, t=0, r=0, b=0): + self._margins = [l,t,r,b] + + def _extend_labels_array(self, i): + if self._fd is None: + self.set_font('Sans') + if self._color is None: + self._color = self._sprites.cm.alloc_color('black') + while len(self.labels) < i+1: + self.labels.append(" ") + self._scale.append(self._scale[0]) + self._rescale.append(self._rescale[0]) + self._horiz_align.append(self._horiz_align[0]) + self._vert_align.append(self._vert_align[0]) + + def set_font(self, font): + self._fd = pango.FontDescription(font) + + def set_label_color(self, rgb): + self._color = self._sprites.cm.alloc_color(rgb) + + def set_label_attributes(self, scale, rescale=True, horiz_align="center", + vert_align="middle", i=0): + self._extend_labels_array(i) + self._scale[i] = scale + self._rescale[i] = rescale + self._horiz_align[i] = horiz_align + self._vert_align[i] = vert_align + + def hide(self): + self.inval() + self._sprites.remove_from_list(self) + + def inval(self): + self._sprites.area.invalidate_rect( + gtk.gdk.Rectangle(self._x,self._y,self._width,self._height), False) + + def draw(self): + for i,img in enumerate(self.images): + if isinstance(img, gtk.gdk.Pixbuf): + self._sprites.area.draw_pixbuf( + self._sprites.gc, img, 0, 0, self._x+self._dx[i], + self._y+self._dy[i]) + elif img is not None: + self._sprites.area.draw_drawable( + self._sprites.gc, img, 0, 0, self._x+self._dx[i], + self._y+self._dy[i], -1, -1) + if len(self.labels) > 0: + self.draw_label() + + def hit(self, pos): + x, y = pos + if x < self._x: + return False + if x > self._x+self._width: + return False + if y < self._y: + return False + if y > self._y+self._height: + return False + return True + + def draw_label(self): + my_width = self._width-self._margins[0]-self._margins[2] + if my_width < 0: + my_width = 0 + my_height = self._height-self._margins[1]-self._margins[3] + for i in range(len(self.labels)): + pl = self._sprites.canvas.create_pango_layout(str(self.labels[i])) + self._fd.set_size(int(self._scale[i]*pango.SCALE)) + pl.set_font_description(self._fd) + w = pl.get_size()[0]/pango.SCALE + if w > my_width: + if self._rescale[i] is True: + self._fd.set_size( + int(self._scale[i]*pango.SCALE*my_width/w)) + pl.set_font_description(self._fd) + w = pl.get_size()[0]/pango.SCALE + else: + j = len(self.labels[i])-1 + while(w > my_width and j > 0): + pl = self._sprites.canvas.create_pango_layout( + "…"+self.labels[i][len(self.labels[i])-j:]) + self._fd.set_size(int(self._scale[i]*pango.SCALE)) + pl.set_font_description(self._fd) + w = pl.get_size()[0]/pango.SCALE + j -= 1 + if self._horiz_align[i] == "center": + x = int(self._x+self._margins[0]+(my_width-w)/2) + elif self._horiz_align[i] == 'left': + x = int(self._x+self._margins[0]) + else: # right + x = int(self._x+self._width-w-self._margins[2]) + h = pl.get_size()[1]/pango.SCALE + if self._vert_align[i] == "middle": + y = int(self._y+self._margins[1]+(my_height-h)/2) + elif self._vert_align[i] == "top": + y = int(self._y+self._margins[1]) + else: # bottom + y = int(self._y+self._height-h-self._margins[3]) + self._sprites.gc.set_foreground(self._color) + self._sprites.area.draw_layout(self._sprites.gc, x, y, pl) + + def label_width(self): + max = 0 + for i in range(len(self.labels)): + pl = self._sprites.canvas.create_pango_layout(self.labels[i]) + self._fd.set_size(int(self._scale[i]*pango.SCALE)) + pl.set_font_description(self._fd) + w = pl.get_size()[0]/pango.SCALE + if w > max: + max = w + return max + + def label_safe_width(self): + return self._width-self._margins[0]-self._margins[2] + + def label_safe_height(self): + return self._height-self._margins[1]-self._margins[3] + + def label_left_top(self): + return (self._margins[0], self._margins[1]) + + def get_pixel(self, pos, i=0): + x, y = pos + x = x-self._x + y = y-self._y + if y > self.images[i].get_height()-1: + return (-1,-1,-1,-1) + try: + array = self.images[i].get_pixels() + if array is not None: + offset = (y*self.images[i].get_width()+x)*4 + r,g,b,a = ord(array[offset]), ord(array[offset+1]),\ + ord(array[offset+2]), ord(array[offset+3]) + return (r,g,b,a) + else: + return (-1,-1,-1,-1) + except IndexError: + print "Index Error: %d %d" % (len(array), offset) + return (-1,-1,-1,-1) + diff --git a/svg/and.py b/svg/and.py deleted file mode 100755 index 17352c9..0000000 --- a/svg/and.py +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext -from gettext import gettext as _ - -def main(): - - myname = "and" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _('and') - mygroup = "numbers" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/arc.py b/svg/arc.py deleted file mode 100755 index a256b6a..0000000 --- a/svg/arc.py +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "arc" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("arc") - mystring2 = _("angle") - mystring3 = _("radius") - mygroup = "turtle" - - print mystring1 - print mystring2 - print mystring3 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - " - - data2 = \ -" \n \ - \n \ - " - - data3 = \ -" \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring1.encode("utf-8")) - FILE.write(data1) - FILE.write(mystring2.encode("utf-8")) - FILE.write(data2) - FILE.write(mystring3.encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/back.py b/svg/back.py deleted file mode 100755 index 3cd67d2..0000000 --- a/svg/back.py +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "back" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("back") - mygroup = "turtle" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/bottompos.py b/svg/bottompos.py deleted file mode 100755 index c166441..0000000 --- a/svg/bottompos.py +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "bottompos" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("bottom") - mygroup = "sensors" - - print mystring - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/box1.py b/svg/box1.py deleted file mode 100755 index 0fbdfef..0000000 --- a/svg/box1.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "box1" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("box 1") - mygroup = "myblocks" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/box2.py b/svg/box2.py deleted file mode 100755 index 357f922..0000000 --- a/svg/box2.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "box2" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("box 2") - mygroup = "myblocks" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/clean.py b/svg/clean.py deleted file mode 100755 index 1847c46..0000000 --- a/svg/clean.py +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "clean" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("clean") - mygroup = "turtle" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ -\n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/clearheap.py b/svg/clearheap.py deleted file mode 100755 index 65a6101..0000000 --- a/svg/clearheap.py +++ /dev/null @@ -1,125 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "clearheap" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("empty heap") - mygroup = "sensors" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data1c = \ -" \n \ - \n \ - \n \ - " - - data2 = \ -" \n \ - \n \ - \n" - - strings = mystring.split(" ",2) - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname+".svg"), "w") - FILE.write(data0) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data1c) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data2) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/color.py b/svg/color.py deleted file mode 100755 index cbfd74a..0000000 --- a/svg/color.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "color" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("color") - mygroup = "pen" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/fillscreen.py b/svg/fillscreen.py deleted file mode 100755 index 4f4b249..0000000 --- a/svg/fillscreen.py +++ /dev/null @@ -1,144 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "fillscreen" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("fill screen") - mystring2 = _("color") - mystring3 = _("shade") - mygroup = "pen" - - print mystring1 - print mystring2 - print mystring3 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -"" - - data2 = \ -" \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - " - - data4 = \ -" \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - strings = mystring1.split(" ",2) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data1) - if len(strings) == 2: - FILE.write(strings[1].encode("utf-8")) - FILE.write(data2) - FILE.write(mystring2.encode("utf-8")) - FILE.write(data3) - FILE.write(mystring3.encode("utf-8")) - FILE.write(data4) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/flowgroup.py b/svg/flowgroup.py deleted file mode 100755 index 8b70b44..0000000 --- a/svg/flowgroup.py +++ /dev/null @@ -1,515 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "flowgroup" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("Flow") - mystring2 = _("wait") - mystring3 = _("forever") - mystring4 = _("repeat") - mystring5 = _("if") - mystring6 = _("then") - mystring7 = _("else") - mystring8 = _("stop action") - mygroup = "flow" - - print mystring1 - print mystring2 - print mystring3 - print mystring4 - print mystring5 - print mystring6 - print mystring7 - print mystring8 - - data0 = \ -"\n \ -\n \ -\n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - X\n \ - \n \ - \n \ - " - - data1 = \ -"\n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data2 = \ -"\n \ - \n \ - \n " - - data2a = \ -" \n \ - " - - data2b = \ -" \n \ - " - - data2c = \ -"\n \ - \n \ - \n \ - " - - data3 = \ -"\n \ - \n \ - \n \ - \n \ - " - - data4 = \ -"\n \ - \n \ - \n \ - \n \ - " - - data5 = \ -"\n \ - \n \ - \n \ - " - - data6 = \ -"\n \ - \n \ - \n \ - \n \ - " - - data7 = \ -"\n \ - \n \ - \n \ - " - - data8 = \ -"\n \ - \n \ - \n \ - \n \ - " - - data9 = \ -"\n \ - \n \ - \n \ - " - - data10 = \ -"\n \ - \n \ - \n \ - " - - data11 = \ -"\n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ -\n" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname+".svg"), "w") - FILE.write(data0) - FILE.write(mystring1.encode("utf-8")) - FILE.write(data1) - FILE.write(mystring2.encode("utf-8")) - FILE.write(data2) - strings = mystring3.split(" ",2) - if len(strings) == 1: - FILE.write(data2a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data2b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2c) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3) - FILE.write(mystring4.encode("utf-8")) - FILE.write(data4) - FILE.write(mystring5.encode("utf-8")) - FILE.write(data5) - FILE.write(mystring6.encode("utf-8")) - FILE.write(data6) - strings = mystring8.split(" ",2) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data7) - if len(strings) == 2: - FILE.write(strings[1].encode("utf-8")) - FILE.write(data8) - FILE.write(mystring5.encode("utf-8")) - FILE.write(data9) - FILE.write(mystring6.encode("utf-8")) - FILE.write(data10) - FILE.write(mystring7.encode("utf-8")) - FILE.write(data11) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/forever.py b/svg/forever.py deleted file mode 100755 index 4961b3c..0000000 --- a/svg/forever.py +++ /dev/null @@ -1,123 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "forever" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("forever") - mygroup = "flow" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n" - - data1 = \ -" \n \ - " - - data1a = \ -" \n \ - " - - data2a = \ -" \n \ - \n \ - " - - data3 = \ -" \n \ - \n" - - strings = mystring.split(" ",2) - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - if len(strings) == 1: - FILE.write(data1) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2a) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/forward.py b/svg/forward.py deleted file mode 100755 index 5a5cb8e..0000000 --- a/svg/forward.py +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "forward" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("forward") - mygroup = "turtle" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/hat1.py b/svg/hat1.py deleted file mode 100755 index e0e4ba9..0000000 --- a/svg/hat1.py +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "hat1" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - # TRANS: Please use "action 1" to indicate an action is invoked - mystring = _("stack 1") - mygroup = "myblocks" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/hat2.py b/svg/hat2.py deleted file mode 100755 index e7968fd..0000000 --- a/svg/hat2.py +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "hat2" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - # TRANS: Please use "action 2" to indicate an action is invoked - mystring = _("stack 2") - mygroup = "myblocks" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/heading.py b/svg/heading.py deleted file mode 100755 index b5e546a..0000000 --- a/svg/heading.py +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "heading" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("heading") - mygroup = "turtle" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/height.py b/svg/height.py deleted file mode 100755 index ec919a3..0000000 --- a/svg/height.py +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "vres" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("height") - mygroup = "sensors" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/hideblocks.py b/svg/hideblocks.py deleted file mode 100755 index 908434a..0000000 --- a/svg/hideblocks.py +++ /dev/null @@ -1,127 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "hideblocks" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("hide blocks") - mygroup = "templates" - - print mystring1 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n" - - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - strings = mystring1.split(" ",2) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/hres.py b/svg/hres.py deleted file mode 100755 index 12f73ca..0000000 --- a/svg/hres.py +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "hres" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("width") - mygroup = "sensors" - - print mystring - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/if.py b/svg/if.py deleted file mode 100755 index 3f9cd30..0000000 --- a/svg/if.py +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "if" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("if") - mystring2 = _("then") - mygroup = "flow" - - print mystring1 - print mystring2 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - " - - data2 = \ -" \n \ - \n" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname+".svg"), "w") - FILE.write(data0) - FILE.write(mystring1.encode("utf-8")) - FILE.write(data1) - FILE.write(mystring2.encode("utf-8")) - FILE.write(data2) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/ifelse.py b/svg/ifelse.py deleted file mode 100755 index 7fdfb17..0000000 --- a/svg/ifelse.py +++ /dev/null @@ -1,122 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "ifelse" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("if") - mystring2 = _("then") - mystring3 = _("else") - mygroup = "flow" - - print mystring1 - print mystring2 - print mystring3 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - " - - data2 = \ -" \n \ - \n \ - " - - data3 = \ -" \n \ -" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname+".svg"), "w") - FILE.write(data0) - FILE.write(mystring1.encode("utf-8")) - FILE.write(data1) - FILE.write(mystring2.encode("utf-8")) - FILE.write(data2) - FILE.write(mystring3.encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/kbinput.py b/svg/kbinput.py deleted file mode 100755 index d1f284a..0000000 --- a/svg/kbinput.py +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "kbinput" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("read key") - mygroup = "sensors" - - print mystring1 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - strings = mystring1.split(" ",2) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/keyboard.py b/svg/keyboard.py deleted file mode 100755 index 27b1761..0000000 --- a/svg/keyboard.py +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "keyboard" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("keyboard") - mygroup = "sensors" - - s = mystring - slower = s.lower() - print slower - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(slower.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/left.py b/svg/left.py deleted file mode 100755 index 81590f4..0000000 --- a/svg/left.py +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "left" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("left") - mygroup = "turtle" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/leftpos.py b/svg/leftpos.py deleted file mode 100755 index 47a3063..0000000 --- a/svg/leftpos.py +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "leftpos" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("left") - mygroup = "sensors" - - print mystring - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/makesvg.py b/svg/makesvg.py deleted file mode 100755 index ba70d81..0000000 --- a/svg/makesvg.py +++ /dev/null @@ -1,124 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path - -def main(): - - py = [ \ - "and.py", \ - "arc.py", \ - "back.py", \ - "bottompos.py", \ - "box1.py", \ - "box2.py", \ - "clean.py", \ - "clearheap.py", \ - "color.py", \ - "fillscreen.py", \ - "flowgroup.py", \ - "forever.py", \ - "forward.py", \ - "hat1.py", \ - "hat2.py", \ - "heading.py", \ - "height.py", \ - "hideblocks.py", \ - "ifelse.py", \ - "if.py", \ - "kbinput.py", \ - "keyboard.py", \ - "left.py", \ - "leftpos.py", \ - "myblocksgroup.py", \ - "not.py", \ - "numbersgroup.py", \ - "or.py", \ - "pendown.py", \ - "pengroup.py", \ - "pensize.py", \ - "penup.py", \ - "pop.py", \ - "printheap.py", \ - "print.py", \ - "push.py", \ - "random.py", \ - "remainder2.py", \ - "remainder.py", \ - "repeat.py", \ - "right.py", \ - "rightpos.py", \ - "scale.py", \ - "sensorsgroup.py", \ - "setcolor.py", \ - "seth.py", \ - "setpensize.py", \ - "setscale.py", \ - "setshade.py", \ - "settextcolor.py", \ - "settextsize.py", \ - "setxy.py", \ - "shade.py", \ - "show.py", \ - "sound.py", \ - "stack1.py", \ - "stack2.py", \ - "start.py", \ - "stopstack.py", \ - "storein.py", \ - "storeinbox1.py", \ - "storeinbox2.py", \ - "templatesgroup.py", \ - "textcolor.py", \ - "textsize.py", \ - "toppos.py", \ - "turtlegroup.py", \ - "wait.py", \ - "width.py", \ - "xcor.py", \ - "ycor.py" ] - - if len(sys.argv) != 2: - print "Error: Usage is makesvg.py lang" - return - - try: - FILE = open(os.path.join("../images", sys.argv[1], "turtle", \ - "forward.svg"), "r") - FILE.close() - except: - # start from a copy of the en images - print "os.system(" + "cp -r ../images/en ../image/" + sys.argv[1] + ")" - os.system("cp -r ../images/en ../images/" + sys.argv[1]) - # make a copy of the samples directory too - # os.system("cp -r ../samples/en ../samples/" + sys.argv[1]) - - # run the scripts to generate the language-specific files - for p in py: - print "building: " + p - os.system("python " + p + " " + sys.argv[1]) - -if __name__ == "__main__": - main() diff --git a/svg/myblocksgroup.py b/svg/myblocksgroup.py deleted file mode 100755 index 67a6c38..0000000 --- a/svg/myblocksgroup.py +++ /dev/null @@ -1,802 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "myblocksgroup" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("My Blocks") - # TRANS: Please use "action 1" to indicate an action is invoked - mystring2 = _("stack 1") - # TRANS: Please use "action 2" to indicate an action is invoked - mystring3 = _("stack 2") - mystring4 = _("store in box 1") - mystring5 = _("box 1") - mystring6 = _("store in box 2") - mystring7 = _("box 2") - mystring8 = _("name") - mystring9 = _("start") - mygroup = "myblocks" - - print mystring1 - print mystring2 - print mystring3 - print mystring4 - print mystring5 - print mystring6 - print mystring7 - print mystring8 - print mystring9 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - X \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n \ - \n \ - " - - data2 = \ -" \n \ - \n \ - \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - \n \ - \n \ - " - - data4 = \ -" \n \ - \n \ - \n \ - \n \ - " - - data5 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n" - - data6a = \ -" \n \ - " - - data6b = \ -" \n \ - " - - data6c = \ -" \n \ - " - - data7b = \ -" \n \ - \n \ - \n \ - " - - data7c = \ -" \n \ - \n \ - \n \ - " - - data8c = \ -" \n \ - \n \ - \n \ - " - - data9 = \ -" \n \ - \n \ - \n \ - \n \ - " - - data10 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n" - - data11a = \ -" \n \ - " - - data11b = \ -" \n \ - " - - data11c = \ -" \n \ - " - - data12b = \ -" \n \ - \n \ - \n \ - " - - data12c = \ -" \n \ - \n \ - \n \ - " - - data13c = \ -" \n \ - \n \ - \n \ - " - - data14 = \ -" \n \ - \n \ - \n \ - \n \ - " - - data15 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data16 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data17 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname+".svg"), "w") - FILE.write(data0) - FILE.write(mystring1.encode("utf-8")) - FILE.write(data1) - FILE.write(mystring2.encode("utf-8")) - FILE.write(data2) - FILE.write(mystring2.encode("utf-8")) - FILE.write(data3) - FILE.write(mystring3.encode("utf-8")) - FILE.write(data4) - FILE.write(mystring3.encode("utf-8")) - FILE.write(data5) - strings = mystring4.split(" ",3) - if len(strings) == 1: - FILE.write(data6a) - FILE.write(strings[0].encode("utf-8")) - elif len(strings) == 2: - FILE.write(data6b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data7b) - FILE.write(strings[1].encode("utf-8")) - else: - FILE.write(data6c) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data7c) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data8c) - FILE.write(strings[2].encode("utf-8")) - if len(strings) == 4: - FILE.write(" " + strings[3].encode("utf-8")) - FILE.write(data9) - FILE.write(mystring5.encode("utf-8")) - FILE.write(data10) - strings = mystring6.split(" ",3) - if len(strings) == 1: - FILE.write(data11a) - FILE.write(strings[0].encode("utf-8")) - elif len(strings) == 2: - FILE.write(data11b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data12b) - FILE.write(strings[1].encode("utf-8")) - else: - FILE.write(data11c) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data12c) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data13c) - FILE.write(strings[2].encode("utf-8")) - if len(strings) == 4: - FILE.write(" " + strings[3].encode("utf-8")) - FILE.write(data14) - FILE.write(mystring7.encode("utf-8")) - FILE.write(data15) - FILE.write(mystring8.encode("utf-8")) - FILE.write(data16) - FILE.write(mystring9.encode("utf-8")) - FILE.write(data17) - FILE.close() - return - -if __name__ == "__main__": - main() - - diff --git a/svg/not.py b/svg/not.py deleted file mode 100755 index 80743cf..0000000 --- a/svg/not.py +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "not" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("not") - mygroup = "numbers" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/numbersgroup.py b/svg/numbersgroup.py deleted file mode 100755 index 024a87f..0000000 --- a/svg/numbersgroup.py +++ /dev/null @@ -1,880 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "numbersgroup" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("Numbers") - mystring2 = _("random") - mystring3 = _("and") - mystring4 = _("or") - mystring5 = _("not") - mystring6 = _("print") - mystring7 = _("number") - mystring8 = _("min") - mystring9 = _("max") - mystring10 = _("mod") - mygroup = "numbers" - - print mystring1 - print mystring2 - print mystring3 - print mystring4 - print mystring5 - print mystring6 - print mystring7 - print mystring8 - print mystring9 - print mystring10 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - X \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data2 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - = \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - < \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - > \n \ - \n \ - \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - \n \ - \n \ - " - - data4 = \ -" \n \ - \n \ - \n \ - \n \ - " - - data5 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data6 = \ -" \n \ - \n \ - \n \ - " - - data7 = \ -" \n \ - \n \ - \n \ - " - - data8 = \ -" \n \ - \n \ - \n \ - " - - data9 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - + \n \ - \n \ - \n \ - \n \ - x \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - / \n \ - \n \ - \n \ - \n \ - " - - data10 = \ -" \n \ - \n \ - \n" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname+".svg"), "w") - FILE.write(data0) - FILE.write(mystring1.encode("utf-8")) - FILE.write(data1) - FILE.write(mystring2.encode("utf-8")) - FILE.write(data2) - FILE.write(mystring3.encode("utf-8")) - FILE.write(data3) - FILE.write(mystring4.encode("utf-8")) - FILE.write(data4) - FILE.write(mystring5.encode("utf-8")) - FILE.write(data5) - FILE.write(mystring6.encode("utf-8")) - FILE.write(data6) - FILE.write(mystring7.encode("utf-8")) - FILE.write(data7) - FILE.write(mystring8.encode("utf-8")) - FILE.write(data8) - FILE.write(mystring9.encode("utf-8")) - FILE.write(data9) - FILE.write(mystring10.encode("utf-8")) - FILE.write(data10) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/or.py b/svg/or.py deleted file mode 100755 index 90b33c7..0000000 --- a/svg/or.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "or" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("or") - mygroup = "numbers" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/pendown.py b/svg/pendown.py deleted file mode 100755 index 3987ef4..0000000 --- a/svg/pendown.py +++ /dev/null @@ -1,126 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "pendown" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("pen down") - mygroup = "pen" - - print mystring1 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - strings = mystring1.split(" ",2) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/pengroup.py b/svg/pengroup.py deleted file mode 100755 index e435dd1..0000000 --- a/svg/pengroup.py +++ /dev/null @@ -1,947 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "pengroup" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("Pen") - mystring2 = _("pen up") - mystring3 = _("pen down") - mystring4 = _("set pen size") - mystring5 = _("set color") - mystring6 = _("set shade") - mystring7 = _("fill screen") - mystring8 = _("pen size") - mystring9 = _("color") - mystring10 = _("shade") - mystring11 = _("set text size") - # mystring12 = _("set text color") - # mystring13 = _("text color") - mystring14 = _("text size") - mygroup = "pen" - - print mystring1 - print mystring2 - print mystring3 - print mystring4 - print mystring5 - print mystring6 - print mystring7 - print mystring8 - print mystring9 - print mystring10 - print mystring11 - # print mystring12 - # print mystring13 - print mystring14 - - data0 = \ -"\n\ -\n\ -\n\ -\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - X\n\ - \n\ - \n\ - " - - data1 = \ -"\n\ - \n\ - \n\ - \n\ - " - - data2 = \ -"\n\ - \n\ - \n\ - " - - data3 = \ -"\n\ - \n\ - \n\ - \n\ - " - - data4 = \ -"\n\ - \n\ - \n\ - " - - data5 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data6 = \ -"\n\ - \n\ - \n\ - " - - data7 = \ -"\n\ - \n\ - \n\ - " - - data8 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data9 = \ -"\n\ - \n\ - \n\ - " - - data10 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data11 = \ -"\n\ - \n\ - \n\ - " - - data12 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data13 = \ -"\n\ - \n\ - \n\ - " - - data14 = \ -"\n\ - \n\ - \n\ - " - - data15 = \ -"\n\ - \n\ - \n\ - " - - data16 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data17 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data18 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data19 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data20 = \ -"\n\ - \n\ - \n\ - " - - data21 = \ -"\n\ - \n\ - \n\ - " - - data22 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data23 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ -\n" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring1.encode("utf-8")) - FILE.write(data1) - strings = mystring2.split(" ",2) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2) - if len(strings) > 1: - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3) - strings = mystring3.split(" ",2) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data4) - if len(strings) > 1: - FILE.write(strings[1].encode("utf-8")) - FILE.write(data5) - strings = mystring4.split(" ",3) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data6) - if len(strings) > 1: - FILE.write(strings[1].encode("utf-8")) - FILE.write(data7) - if len(strings) > 2: - FILE.write(strings[2].encode("utf-8")) - FILE.write(data8) - strings = mystring5.split(" ",2) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data9) - if len(strings) > 1: - FILE.write(strings[1].encode("utf-8")) - FILE.write(data10) - strings = mystring6.split(" ",2) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data11) - if len(strings) > 1: - FILE.write(strings[1].encode("utf-8")) - FILE.write(data12) - strings = mystring7.split(" ",2) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data13) - if len(strings) > 1: - FILE.write(strings[1].encode("utf-8")) - FILE.write(data14) - FILE.write(mystring9.encode("utf-8")) - FILE.write(data15) - FILE.write(mystring10.encode("utf-8")) - FILE.write(data16) - FILE.write(mystring8.encode("utf-8")) - FILE.write(data17) - FILE.write(mystring14.encode("utf-8")) - FILE.write(data18) - FILE.write(mystring9.encode("utf-8")) - FILE.write(data19) - strings = mystring11.split(" ",3) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data20) - if len(strings) > 1: - FILE.write(strings[1].encode("utf-8")) - FILE.write(data21) - if len(strings) > 2: - FILE.write(strings[2].encode("utf-8")) - FILE.write(data22) - FILE.write(mystring10.encode("utf-8")) - FILE.write(data23) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/pensize.py b/svg/pensize.py deleted file mode 100755 index 82d8c60..0000000 --- a/svg/pensize.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "pensize" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("pen size") - mygroup = "pen" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/penup.py b/svg/penup.py deleted file mode 100755 index e5d1268..0000000 --- a/svg/penup.py +++ /dev/null @@ -1,126 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "penup" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("pen up") - mygroup = "pen" - - print mystring1 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - strings = mystring1.split(" ",2) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/pop.py b/svg/pop.py deleted file mode 100755 index d1474aa..0000000 --- a/svg/pop.py +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "pop" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("pop") - mygroup = "sensors" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/print.py b/svg/print.py deleted file mode 100755 index 8bda1dc..0000000 --- a/svg/print.py +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "print" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("print") - mygroup = "numbers" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/printheap.py b/svg/printheap.py deleted file mode 100755 index 66991b0..0000000 --- a/svg/printheap.py +++ /dev/null @@ -1,125 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "printheap" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("show heap") - mygroup = "sensors" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data1c = \ -" \n \ - \n \ - \n \ - " - - data2 = \ -" \n \ - \n \ - \n" - - strings = mystring.split(" ",2) - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname+".svg"), "w") - FILE.write(data0) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data1c) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data2) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/push.py b/svg/push.py deleted file mode 100755 index 63cac84..0000000 --- a/svg/push.py +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "push" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("push") - mygroup = "sensors" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ -\n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/random.py b/svg/random.py deleted file mode 100755 index e06a785..0000000 --- a/svg/random.py +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "random" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("random") - mygroup = "numbers" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n " - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/remainder.py b/svg/remainder.py deleted file mode 100755 index 7e1d1cf..0000000 --- a/svg/remainder.py +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "remainder" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("mod") - mygroup = "numbers" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n" - - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/remainder2.py b/svg/remainder2.py deleted file mode 100755 index 4151d46..0000000 --- a/svg/remainder2.py +++ /dev/null @@ -1,154 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "remainder2" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("mod") - mygroup = "numbers" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/repeat.py b/svg/repeat.py deleted file mode 100755 index 5310b19..0000000 --- a/svg/repeat.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "repeat" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("repeat") - mygroup = "flow" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/right.py b/svg/right.py deleted file mode 100755 index cbc113c..0000000 --- a/svg/right.py +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "right" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("right") - mygroup = "turtle" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/rightpos.py b/svg/rightpos.py deleted file mode 100755 index b942e13..0000000 --- a/svg/rightpos.py +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "rightpos" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("right") - mygroup = "sensors" - - print mystring - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/scale.py b/svg/scale.py deleted file mode 100755 index 954cd77..0000000 --- a/svg/scale.py +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "scale" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("scale") - mygroup = "turtle" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/sensorsgroup.py b/svg/sensorsgroup.py deleted file mode 100755 index 6df6fda..0000000 --- a/svg/sensorsgroup.py +++ /dev/null @@ -1,759 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "sensorsgroup" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("Extras") - mystring2 = _("read key") - mystring3 = _("keyboard") - mystring4 = _("width") - mystring5 = _("height") - mystring6 = _("pop") - mystring7 = _("show heap") - mystring8 = _("empty heap") - mystring9 = _("push") - mystring10 = _("left") - mystring11 = _("top") - mystring12 = _("right") - mystring13 = _("bottom") - mygroup = "sensors" - - print mystring1 - print mystring2 - print mystring3 - print mystring4 - print mystring5 - print mystring6 - print mystring7 - print mystring8 - print mystring9 - print mystring10 - print mystring11 - print mystring12 - print mystring13 - - - data0 = \ -"\n\ -\n\ -\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - X\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data1 = \ -"\n\ - \n\ - \n\ - \n " - - data2a = \ -"" - - data2b = \ -"" - - data3b = \ -"\n\ - \n\ - \n\ - " - - data4 = \ -"\n\ - \n\ - \n\ - \n\ - " - - data5 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - " - - data6 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data7 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - x\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data8 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n" - - data9a = \ -" \n\ - " - - data9b = \ -" \n\ - " - - data10b = \ -"\n\ - \n\ - \n\ - " - - data11 = \ -"\n\ - \n\ - \n\ - \n\ - \n" - - data12a = \ -" \n\ - " - - data12b = \ -" \n\ - " - - data13b = \ -"\n\ - \n\ - \n\ - " - - data14 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data15 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data16 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data17 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data18 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data19 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring1.encode("utf-8")) - FILE.write(data1) - strings = mystring2.split(" ",2) - if len(strings) == 1: - FILE.write(data2a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data2b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data3b) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data4) - FILE.write(mystring3.encode("utf-8")) - FILE.write(data5) - FILE.write(mystring4.encode("utf-8")) - FILE.write(data6) - FILE.write(mystring5.encode("utf-8")) - FILE.write(data7) - FILE.write(mystring6.encode("utf-8")) - FILE.write(data8) - strings = mystring7.split(" ",2) - if len(strings) == 1: - FILE.write(data9a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data9b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data10b) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data11) - strings = mystring8.split(" ",2) - if len(strings) == 1: - FILE.write(data12a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data12b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data13b) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data14) - FILE.write(mystring9.encode("utf-8")) - FILE.write(data15) - FILE.write(mystring10.encode("utf-8")) - FILE.write(data16) - FILE.write(mystring11.encode("utf-8")) - FILE.write(data17) - FILE.write(mystring12.encode("utf-8")) - FILE.write(data18) - FILE.write(mystring13.encode("utf-8")) - FILE.write(data19) - FILE.close() - return - -if __name__ == "__main__": - main() - - diff --git a/svg/setcolor.py b/svg/setcolor.py deleted file mode 100755 index 60ff3d6..0000000 --- a/svg/setcolor.py +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "setcolor" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("set color") - mygroup = "pen" - - print mystring1 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - strings = mystring1.split(" ",2) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/seth.py b/svg/seth.py deleted file mode 100755 index fd55458..0000000 --- a/svg/seth.py +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "seth" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("set heading") - mygroup = "turtle" - - print _(mystring1) - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - strings = mystring1.split(" ",2) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/setpensize.py b/svg/setpensize.py deleted file mode 100755 index 9c06fab..0000000 --- a/svg/setpensize.py +++ /dev/null @@ -1,170 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "setpensize" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("set pen size") - mygroup = "pen" - - print mystring1 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data1c = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data2c = \ -" \n \ - \n \ - \n \ - " - - data3c = \ -" \n \ - \n \ - \n \ - " - - data4 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - strings = mystring1.split(" ",2) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - elif len(strings) == 2: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - else: - FILE.write(data1c) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2c) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3c) - FILE.write(strings[2].encode("utf-8")) - FILE.write(data4) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/setscale.py b/svg/setscale.py deleted file mode 100755 index cf9d9cd..0000000 --- a/svg/setscale.py +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "setscale" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("set scale") - mygroup = "turtle" - - print _(mystring1) - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - strings = mystring1.split(" ",2) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/setshade.py b/svg/setshade.py deleted file mode 100755 index 127fd49..0000000 --- a/svg/setshade.py +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "setshade" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("set shade") - mygroup = "pen" - - print mystring1 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - strings = mystring1.split(" ",2) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/settextcolor.py b/svg/settextcolor.py deleted file mode 100755 index ce3ab56..0000000 --- a/svg/settextcolor.py +++ /dev/null @@ -1,170 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "settextcolor" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("set text color") - mygroup = "pen" - - print mystring1 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data1c = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data2c = \ -" \n \ - \n \ - \n \ - " - - data3c = \ -" \n \ - \n \ - \n \ - " - - data4 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - strings = mystring1.split(" ",2) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - elif len(strings) == 2: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - else: - FILE.write(data1c) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2c) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3c) - FILE.write(strings[2].encode("utf-8")) - FILE.write(data4) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/settextsize.py b/svg/settextsize.py deleted file mode 100755 index 1f2481e..0000000 --- a/svg/settextsize.py +++ /dev/null @@ -1,170 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "settextsize" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("set text size") - mygroup = "pen" - - print mystring1 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data1c = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data2c = \ -" \n \ - \n \ - \n \ - " - - data3c = \ -" \n \ - \n \ - \n \ - " - - data4 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - strings = mystring1.split(" ",2) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - elif len(strings) == 2: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - else: - FILE.write(data1c) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2c) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3c) - FILE.write(strings[2].encode("utf-8")) - FILE.write(data4) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/setxy.py b/svg/setxy.py deleted file mode 100755 index 09ee18e..0000000 --- a/svg/setxy.py +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "setxy" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("set xy") - mystring2 = _("x") - mystring3 = _("y") - mygroup = "turtle" - - print mystring1 - print mystring2 - print mystring3 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - " - - data2 = \ -" \n \ - \n \ - " - - data3 = \ -" \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring1.encode("utf-8")) - FILE.write(data1) - FILE.write(mystring2.encode("utf-8")) - FILE.write(data2) - FILE.write(mystring3.encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/shade.py b/svg/shade.py deleted file mode 100755 index f5bf107..0000000 --- a/svg/shade.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "shade" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("shade") - mygroup = "pen" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/show.py b/svg/show.py deleted file mode 100755 index e767555..0000000 --- a/svg/show.py +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "show" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("show") - mygroup = "turtle" - - print _(mystring1) - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - strings = mystring1.split(" ",2) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/sound.py b/svg/sound.py deleted file mode 100755 index 4a509da..0000000 --- a/svg/sound.py +++ /dev/null @@ -1,315 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "sound" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("sound") - mygroup = "templates" - - print mystring1 - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - image/svg+xml \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring1.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/stack1.py b/svg/stack1.py deleted file mode 100755 index f030dec..0000000 --- a/svg/stack1.py +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "stack1" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - # TRANS: Please use "action 1" to indicate an action is invoked - mystring = _("stack 1") - mygroup = "myblocks" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/stack2.py b/svg/stack2.py deleted file mode 100755 index b37eb4e..0000000 --- a/svg/stack2.py +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "stack2" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - # TRANS: Please use "action 2" to indicate an action is invoked - mystring = _("stack 2") - mygroup = "myblocks" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/start.py b/svg/start.py deleted file mode 100755 index fc61d94..0000000 --- a/svg/start.py +++ /dev/null @@ -1,112 +0,0 @@ - #!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "start" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("start") - mygroup = "myblocks" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/stopstack.py b/svg/stopstack.py deleted file mode 100755 index d4a9f22..0000000 --- a/svg/stopstack.py +++ /dev/null @@ -1,107 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "stopstack" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("stop action") - mygroup = "flow" - - print mystring - - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -"" - - data2 = \ -" \n \ - \n" - - strings = mystring.split(" ",2) - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname+".svg"), "w") - FILE.write(data0) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data1) - if len(strings) == 2: - FILE.write(strings[1].encode("utf-8")) - FILE.write(data2) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/storein.py b/svg/storein.py deleted file mode 100755 index 30df035..0000000 --- a/svg/storein.py +++ /dev/null @@ -1,114 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "storein" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("store in") - mygroup = "myblocks" - - print mystring - - data0 = \ -"\n\ -\n\ -\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data1 = \ -" \n\ - \n\ - \n" - - strings = mystring.split(" ",3) - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname+".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/storeinbox1.py b/svg/storeinbox1.py deleted file mode 100755 index 9631cd1..0000000 --- a/svg/storeinbox1.py +++ /dev/null @@ -1,171 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "storeinbox1" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("store in box 1") - mygroup = "myblocks" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data1c = \ -" \n \ - " - - data2c = \ -" \n \ - \n \ - \n \ - " - - data3c = \ -" \n \ - \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - \n" - - strings = mystring.split(" ",3) - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname+".svg"), "w") - FILE.write(data0) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - elif len(strings) == 2: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - else: - FILE.write(data1c) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2c) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3c) - FILE.write(strings[2].encode("utf-8")) - if len(strings) == 4: - FILE.write(" " + strings[3].encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/storeinbox2.py b/svg/storeinbox2.py deleted file mode 100755 index 8c6f667..0000000 --- a/svg/storeinbox2.py +++ /dev/null @@ -1,171 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "storeinbox2" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("store in box 2") - mygroup = "myblocks" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n " - - data1a = \ -" \n \ - " - - data1b = \ -" \n \ - " - - data2b = \ -" \n \ - \n \ - \n \ - " - - data1c = \ -" \n \ - " - - data2c = \ -" \n \ - \n \ - \n \ - " - - data3c = \ -" \n \ - \n \ - \n \ - " - - data3 = \ -" \n \ - \n \ - \n" - - strings = mystring.split(" ",3) - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname+".svg"), "w") - FILE.write(data0) - if len(strings) == 1: - FILE.write(data1a) - FILE.write(strings[0].encode("utf-8")) - elif len(strings) == 2: - FILE.write(data1b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2b) - FILE.write(strings[1].encode("utf-8")) - else: - FILE.write(data1c) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data2c) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data3c) - FILE.write(strings[2].encode("utf-8")) - if len(strings) == 4: - FILE.write(" " + strings[3].encode("utf-8")) - FILE.write(data3) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/templatesgroup.py b/svg/templatesgroup.py deleted file mode 100755 index 5638ef9..0000000 --- a/svg/templatesgroup.py +++ /dev/null @@ -1,860 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "templatesgroup" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("Templates") - mystring2 = _("hide blocks") - mygroup = "templates" - - print mystring1 - print mystring2 - - - data0 = \ -"\n \ -\n \ -\n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - X\n \ - \n \ - " - - data1 = \ -"\n \ - \n \ - \n " - - data2a = \ -" \n \ - " - - data2b = \ -" \n \ - " - - data3b = \ -" \n \ - \n \ - \n \ - " - - data4 = \ -"\n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ -" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring1.encode("utf-8")) - FILE.write(data1) - strings = mystring2.split(" ",2) - if len(strings) == 1: - FILE.write(data2a) - FILE.write(strings[0].encode("utf-8")) - else: - FILE.write(data2b) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data3b) - FILE.write(strings[1].encode("utf-8")) - FILE.write(data4) - FILE.close() - return - -if __name__ == "__main__": - main() - diff --git a/svg/textcolor.py b/svg/textcolor.py deleted file mode 100755 index 9d8bcb9..0000000 --- a/svg/textcolor.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "textcolor" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("text color") - mygroup = "pen" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/textsize.py b/svg/textsize.py deleted file mode 100755 index 0a68a6f..0000000 --- a/svg/textsize.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "textsize" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("text size") - mygroup = "pen" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n " - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/toppos.py b/svg/toppos.py deleted file mode 100755 index 69860b4..0000000 --- a/svg/toppos.py +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "toppos" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("top") - mygroup = "sensors" - - print mystring - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/turtlegroup.py b/svg/turtlegroup.py deleted file mode 100755 index e932648..0000000 --- a/svg/turtlegroup.py +++ /dev/null @@ -1,1059 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Walter Bender - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "turtlegroup" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", \ - languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring1 = _("clean") - mystring2 = _("forward") - mystring3 = _("back") - mystring4 = _("left") - mystring5 = _("right") - mystring6 = _("arc") - mystring7 = _("angle") - mystring8 = _("radius") - mystring9 = _("set xy") - mystring10 = _("x") - mystring11 = _("y") - mystring12 = _("set heading") - mystring13 = _("xcor") - mystring14 = _("ycor") - mystring15 = _("heading") - mystring16 = _("Turtle") - mystring17 = _("show") - mystring18 = _("set scale") - mystring19 = _("name") - mygroup = "turtle" - - print mystring1 - print mystring2 - print mystring3 - print mystring4 - print mystring5 - print mystring6 - print mystring7 - print mystring8 - print mystring9 - print mystring10 - print mystring11 - print mystring12 - print mystring13 - print mystring14 - print mystring15 - print mystring16 - print mystring17 - print mystring18 - print mystring19 - - data0 = \ -"\n\ -\n\ -\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - X\n\ - \n\ - \n\ - \n\ - " - - data1 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data2 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data3 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data4 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data5 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data6 = \ -"\n\ - \n\ - \n\ - " - - data7 = \ -"\n\ - " - - data8 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data9 = \ -"\n\ - \n\ - \n\ - " - - data10 = \ -"\n\ - " - - data11 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data12 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - " - - data13 = \ -"\n\ - \n\ - \n\ - \n\ - " - - data14 = \ -"\n\ - \n\ - \n\ - \n\ - " - - data15 = \ -"\n\ - \n\ - \n\ - " - - data16 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data17 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data18 = \ -"\n\ - \n\ - \n\ - " - - data19 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - \n\ - " - - data20 = \ -"\n\ - \n\ - \n\ - \n\ - \n\ - " - - data21 = \ -"\n\ - \n\ -" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring1.encode("utf-8")) - FILE.write(data1) - FILE.write(mystring2.encode("utf-8")) - FILE.write(data2) - FILE.write(mystring3.encode("utf-8")) - FILE.write(data3) - FILE.write(mystring4.encode("utf-8")) - FILE.write(data4) - FILE.write(mystring5.encode("utf-8")) - FILE.write(data5) - FILE.write(mystring6.encode("utf-8")) - FILE.write(data6) - FILE.write(mystring7.encode("utf-8")) - FILE.write(data7) - FILE.write(mystring8.encode("utf-8")) - FILE.write(data8) - FILE.write(mystring9.encode("utf-8")) - FILE.write(data9) - FILE.write(mystring10.encode("utf-8")) - FILE.write(data10) - FILE.write(mystring11.encode("utf-8")) - FILE.write(data11) - FILE.write(mystring12.encode("utf-8")) - FILE.write(data12) - FILE.write(mystring13.encode("utf-8")) - FILE.write(data13) - FILE.write(mystring14.encode("utf-8")) - FILE.write(data14) - FILE.write(mystring15.encode("utf-8")) - FILE.write(data15) - FILE.write(mystring16.encode("utf-8")) - FILE.write(data16) - FILE.write(mystring17.encode("utf-8")) - FILE.write(data17) - strings = mystring18.split(" ",2) - FILE.write(strings[0].encode("utf-8")) - FILE.write(data18) - if len(strings) > 1: - FILE.write(strings[1].encode("utf-8")) - FILE.write(data19) - FILE.write(mystring17.encode("utf-8")) - FILE.write(data20) - FILE.write(mystring19.encode("utf-8")) - FILE.write(data21) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/vres.py b/svg/vres.py deleted file mode 100755 index ec919a3..0000000 --- a/svg/vres.py +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "vres" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("height") - mygroup = "sensors" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/wait.py b/svg/wait.py deleted file mode 100755 index 08c2bd5..0000000 --- a/svg/wait.py +++ /dev/null @@ -1,103 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "wait" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("wait") - mygroup = "flow" - - print mystring - - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/width.py b/svg/width.py deleted file mode 100755 index 12f73ca..0000000 --- a/svg/width.py +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "hres" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("width") - mygroup = "sensors" - - print mystring - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/xcor.py b/svg/xcor.py deleted file mode 100755 index 24203c6..0000000 --- a/svg/xcor.py +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "xcor" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("xcor") - mygroup = "turtle" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/svg/ycor.py b/svg/ycor.py deleted file mode 100755 index 16e3ff4..0000000 --- a/svg/ycor.py +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (c) 2009, Sugar Labs - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import sys -import os -import os.path -import gettext - -def main(): - - myname = "ycor" - if len(sys.argv) != 2: - print "Error: Usage is " + myname + ".py lang" - return - - t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) - _ = t.ugettext - t.install() - - mystring = _("ycor") - mygroup = "turtle" - - print mystring - - data0 = \ -" \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - \n \ - " - - data1 = \ -" \n \ - \n \ - \n" - - FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") - FILE.write(data0) - FILE.write(mystring.encode("utf-8")) - FILE.write(data1) - FILE.close() - return - -if __name__ == "__main__": - main() diff --git a/tablock.py b/tablock.py new file mode 100644 index 0000000..ea67ed0 --- /dev/null +++ b/tablock.py @@ -0,0 +1,840 @@ +# -*- coding: utf-8 -*- +#Copyright (c) 2010 Walter Bender + +#Permission is hereby granted, free of charge, to any person obtaining a copy +#of this software and associated documentation files (the "Software"), to deal +#in the Software without restriction, including without limitation the rights +#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +#copies of the Software, and to permit persons to whom the Software is +#furnished to do so, subject to the following conditions: + +#The above copyright notice and this permission notice shall be included in +#all copies or substantial portions of the Software. + +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +#THE SOFTWARE. + +import gtk +from taconstants import * +from tasprite_factory import SVG, svg_str_to_pixbuf +import sprites +from gettext import gettext as _ + +# +# A class for the list of blocks and everything they share in common +# +class Blocks: + def __init__(self, font_scale_factor = 1): + self.list = [] + self.font_scale_factor = font_scale_factor + + def get_block(self, i): + if i < 0 or i > len(self.list)-1: + return(None) + else: + return(self.list[i]) + + def length_of_list(self): + return(len(self.list)) + + def append_to_list(self,block): + self.list.append(block) + + def remove_from_list(self, block): + if block in self.list: + self.list.remove(block) + + def print_list(self, block_type=None): + for i, block in enumerate(self.list): + if block_type is None or block_type == block.type: + print "%d: %s" % (i, block.name) + + def set_scale(self, scale): + for b in self.list: + for i in range(len(b._font_size)): + b._font_size[i] *= b.scale*scale/self.font_scale_factor + self.font_scale_factor = scale + + # + # sprite utilities + # + def spr_to_block(self, spr): + for b in self.list: + if spr == b.spr: + return b + return None + +# +# A class for the individual blocks +# +class Block: + def __init__(self, block_list, sprite_list, name, x, y, type='block', + values=[], scale=BLOCK_SCALE, colors=["#FF0000","#A00000"]): + self.spr = None + self.shapes = [None, None] + self.name = name + self.colors = colors + self.scale = scale + self.docks = None + self.connections = None + self.status = None + self.values = [] + self.primitive = None + self.type = type + self.dx = 0 + self.ex = 0 + self.ey = 0 + self._ei = 0 + self._font_size = [6.0, 4.5] + self._image = None + + if OLD_NAMES.has_key(self.name): + self.name = OLD_NAMES[self.name] + + for i in range(len(self._font_size)): + self._font_size[i] *= self.scale*block_list.font_scale_factor + + for v in (values): + self.values.append(v) + + self._new_block_from_factory(sprite_list, x, y) + + if PRIMITIVES.has_key(name): + self.primitive = PRIMITIVES[self.name] + + block_list.append_to_list(self) + + # We may want to highlight a block... + def highlight(self): + self.spr.set_shape(self.shapes[1]) + + # Or unhighlight it. + def unhighlight(self): + self.spr.set_shape(self.shapes[0]) + + # We need to resize some blocks on the fly so that the labels fit. + def resize(self): + dx = (self.spr.label_width()-self.spr.label_safe_width())/self.scale + if dx !=0: + self.dx += dx + if self.dx < 0: + self.dx = 0 + self.refresh() + + # Some blocks get a skin. + def set_image(self, image, x, y): + self._image = image + self.spr.set_image(image, 1, x, y) + + # The skin might need scaling. + # Keep the original here, the scaled version stays with the sprite. + def scale_image(self, x, y, w, h): + if self._image is not None: + tmp = self._image.scale_simple(w, h, + gtk.gdk.INTERP_NEAREST) + self.spr.set_image(tmp, 1, x, y) + + # We may want to rescale blocks as well. + def rescale(self, scale): + for i in range(len(self._font_size)): + self._font_size[i] /= self.scale + self.dx /= self.scale + self.ex /= self.scale + self.ey /= self.scale + self.scale = scale + for i in range(len(self._font_size)): + self._font_size[i] *= self.scale + self.dx *= self.scale + self.ex *= self.scale + self.ey *= self.scale + self._set_label_attributes() + self.svg.set_scale(self.scale) + self.refresh() + self.spr.draw() + + def refresh(self): + self._make_block(self.svg) + self._set_margins() + self.spr.set_shape(self.shapes[0]) + + # We may want to add additional slots for arguments ("innies"). + def add_arg(self, keep_expanding=True): + h = self.svg.get_height() + self._ei += 1 + if self.type == 'block' and keep_expanding: + self.svg.set_show(True) + else: + self.svg.set_show(False) + self.refresh() + return self.svg.get_height()-h + + # We may want to grow a block vertically. + def expand_in_y(self, dy): + self.ey += dy + if self.type == 'block': + self.svg.set_hide(True) + self.svg.set_show(True) + else: + self.svg.set_hide(False) + self.svg.set_show(False) + self.refresh() + + # We may want to grow a block horizontally. + def expand_in_x(self, dx): + self.ex += dx + if self.type == 'block': + self.svg.set_hide(True) + self.svg.set_show(True) + else: + self.svg.set_hide(False) + self.svg.set_show(False) + self.refresh() + + def reset_x(self): + dx = -self.ex + self.ex = 0 + self.svg.set_hide(False) + if self.type == 'block': + self.svg.set_show(True) + else: + self.svg.set_show(False) + self.refresh() + return dx + + def reset_y(self): + dy = -self.ey + self.ey = 0 + self.svg.set_hide(False) + if self.type == 'block': + self.svg.set_show(True) + else: # 'proto' + self.svg.set_show(False) + self.refresh() + return dy + + def get_expand_x_y(self): + return (self.ex, self.ey) + + def _new_block_from_factory(self, sprite_list, x, y): + self.svg = SVG() + self.svg.set_scale(self.scale) + self.svg.set_gradiant(True) + self.svg.set_innie([False]) + self.svg.set_outie(False) + self.svg.set_tab(True) + self.svg.set_slot(True) + + if self.name in EXPANDABLE and self.type == 'block': + self.svg.set_show(True) + + self._make_block(self.svg) + self.spr = sprites.Sprite(sprite_list, x, y, self.shapes[0]) + self._set_margins() + self._set_label_attributes() + + if (self.name == 'number' or self.name == 'string') and\ + len(self.values) > 0: + for i, v in enumerate(self.values): + if v is not None: + self._set_labels(i, str(v)) + elif BLOCK_NAMES.has_key(self.name): + for i, n in enumerate(BLOCK_NAMES[self.name]): + self._set_labels(i, n) + + # Make sure the labels fit. + if self.spr.label_width() > self.spr.label_safe_width(): + self.resize() + + def _set_margins(self): + self.spr.set_margins(self.svg.margins[0], self.svg.margins[1], + self.svg.margins[2], self.svg.margins[3]) + + def _set_label_attributes(self): + if self.name in CONTENT_BLOCKS: + n = len(self.values) + if n == 0: + n = 1 # Force a scale to be set, even if there is no value. + else: + n = len(BLOCK_NAMES[self.name]) + for i in range(n): + if i == 1: # top + self.spr.set_label_attributes(int(self._font_size[1]+0.5), True, + "right", "top", i) + elif i == 2: # bottom + self.spr.set_label_attributes(int(self._font_size[1]+0.5), True, + "right", "bottom", i) + else: + self.spr.set_label_attributes(int(self._font_size[0]+0.5), True, + "center", "middle", i) + + def _set_labels(self, i, label): + self.spr.set_label(label, i) + + def _make_block(self, svg): + self._left = 0 + self._top = 0 + self._right = 0 + self._bottom = 0 + self._set_colors(svg) + self.svg.set_stroke_width(STANDARD_STROKE_WIDTH) + self.svg.clear_docks() + if self.name in BASIC_STYLE: + self._make_basic_style(svg) + elif self.name in BASIC_STYLE_HEAD: + self._make_basic_style_head(svg) + elif self.name in BASIC_STYLE_EXTENDED: + self._make_basic_style(svg, 16) + elif self.name in BASIC_STYLE_HEAD_1ARG: + self._make_basic_style_head_1arg(svg) + elif self.name in BASIC_STYLE_TAIL: + self._make_basic_style_tail(svg) + elif self.name in BASIC_STYLE_1ARG: + self._make_basic_style_1arg(svg) + elif self.name in BASIC_STYLE_2ARG: + self._make_basic_style_2arg(svg) + elif self.name in BASIC_STYLE_VAR_ARG: + self._make_basic_style_var_arg(svg) + elif self.name in BULLET_STYLE: + self._make_bullet_style(svg) + elif self.name in BOX_STYLE: + self._make_box_style(svg) + elif self.name in BOX_STYLE_MEDIA: + self._make_media_style(svg) + elif self.name in NUMBER_STYLE: + self._make_number_style(svg) + elif self.name in NUMBER_STYLE_BLOCK: + self._make_number_style_block(svg) + elif self.name in NUMBER_STYLE_VAR_ARG: + self._make_number_style_var_arg(svg) + elif self.name in NUMBER_STYLE_1ARG: + self._make_number_style_1arg(svg) + elif self.name in NUMBER_STYLE_1STRARG: + self._make_number_style_1strarg(svg) + elif self.name in NUMBER_STYLE_PORCH: + self._make_number_style_porch(svg) + elif self.name in COMPARE_STYLE: + self._make_compare_style(svg) + elif self.name in BOOLEAN_STYLE: + self._make_boolean_style(svg) + elif self.name in NOT_STYLE: + self._make_not_style(svg) + elif self.name in FLOW_STYLE: + self._make_flow_style(svg) + elif self.name in FLOW_STYLE_TAIL: + self._make_flow_style_tail(svg) + elif self.name in FLOW_STYLE_1ARG: + self._make_flow_style_1arg(svg) + elif self.name in FLOW_STYLE_BOOLEAN: + self._make_flow_style_boolean(svg) + elif self.name in FLOW_STYLE_WHILE: + self._make_flow_style_while(svg) + elif self.name in FLOW_STYLE_ELSE: + self._make_flow_style_else(svg) + elif self.name in COLLAPSIBLE_TOP: + self._make_collapsible_style_top(svg) + elif self.name in COLLAPSIBLE_TOP_NO_ARM: + self._make_collapsible_style_top(svg, True) + elif self.name in COLLAPSIBLE_BOTTOM: + self._make_collapsible_style_bottom(svg) + elif self.name in PORTFOLIO_STYLE_2x2: + self._make_portfolio_style_2x2(svg) + elif self.name in PORTFOLIO_STYLE_2x1: + self._make_portfolio_style_2x1(svg) + elif self.name in PORTFOLIO_STYLE_1x1: + self._make_portfolio_style_1x1(svg) + elif self.name in PORTFOLIO_STYLE_1x2: + self._make_portfolio_style_1x2(svg) + else: + self._make_basic_style(svg) + print "WARNING: I don't know how to create a %s block" % (self.name) + + def _set_colors(self, svg): + if BOX_COLORS.has_key(self.name): + self.colors = BOX_COLORS[self.name] + else: + for p in range(len(PALETTES)): + if self.name in PALETTES[p]: + self.colors = COLORS[p] + self.svg.set_colors(self.colors) + + def _make_basic_style(self, svg, extension=0): + self.svg.expand(self.dx+self.ex+extension, self.ey+extension) + self._make_basic_block(svg) + self.docks = [['flow',True,self.svg.docks[0][0],self.svg.docks[0][1]], + ['flow',False,self.svg.docks[1][0],self.svg.docks[1][1]]] + + def _make_basic_style_head(self, svg): + self.svg.expand(10+self.dx+self.ex, self.ey) + self.svg.set_slot(False) + self.svg.set_cap(True) + self._make_basic_block(svg) + self.docks = [['unavailable', False, 0, 0], + ['flow', False, self.svg.docks[0][0], + self.svg.docks[0][1]]] + + def _make_basic_style_head_1arg(self, svg): + self.svg.expand(10+self.dx+self.ex, self.ey) + self.svg.set_innie([True]) + self.svg.set_slot(False) + self.svg.set_cap(True) + self._make_basic_block(svg) + self.docks = [['unavailable', False, 0, 0], + ['string', False, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['flow', False, self.svg.docks[1][0], + self.svg.docks[1][1]]] + + def _make_basic_style_tail(self, svg): + self.svg.expand(10+self.dx+self.ex, self.ey) + self.svg.set_tab(False) + self._make_basic_block(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['unavailable', False, 0, 0]] + + def _make_basic_style_1arg(self, svg): + self.svg.expand(10+self.dx+self.ex, self.ey) + self.svg.set_innie([True]) + self._make_basic_block(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['number', False, self.svg.docks[1][0], + self.svg.docks[1][1]], + ['flow', False, self.svg.docks[2][0], + self.svg.docks[2][1]]] + + def _make_basic_style_2arg(self, svg): + self.svg.expand(10+self.dx+self.ex, self.ey) + self.svg.set_innie([True,True]) + self._make_basic_block(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['number', False, self.svg.docks[1][0], + self.svg.docks[1][1]], + ['number', False, self.svg.docks[2][0], + self.svg.docks[2][1]], + ['flow', False, self.svg.docks[3][0], + self.svg.docks[3][1]]] + + def _make_basic_style_var_arg(self, svg): + self.svg.expand(10+self.dx+self.ex, self.ey) + innie = [True] + for i in range(self._ei): + innie.append(True) + self.svg.set_innie(innie) + self._make_basic_block(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['number', False, self.svg.docks[1][0], + self.svg.docks[1][1]]] + for i in range(self._ei): + self.docks.append(['number', False, self.svg.docks[i+2][0], + self.svg.docks[i+2][1]]) + self.docks.append(['flow', False, self.svg.docks[self._ei+2][0], + self.svg.docks[self._ei+2][1]]) + + def _make_bullet_style(self, svg): + self.svg.expand(10+self.dx+self.ex, self.ey) + innie = [True, True] + for i in range(self._ei): + innie.append(True) + self.svg.set_innie(innie) + self._make_basic_block(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['string', False, self.svg.docks[1][0], + self.svg.docks[1][1], '['], + ['string', False, self.svg.docks[2][0], + self.svg.docks[2][1]]] + for i in range(self._ei): + self.docks.append(['string', False, self.svg.docks[i+3][0], + self.svg.docks[i+3][1]]) + self.docks.append(['flow', False, self.svg.docks[self._ei+3][0], + self.svg.docks[self._ei+3][1], ']']) + + def _make_box_style(self, svg): + self.svg.expand(60+self.dx+self.ex, self.ey) + self._make_basic_box(svg) + self.docks = [['number', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['unavailable', False, 0, 0]] + + def _make_media_style(self, svg): + self.svg.expand(40+self.dx+self.ex, 10+self.ey) + self._make_basic_box(svg) + self.docks = [['number', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['unavailable', False, 0, 0]] + + def _make_number_style(self, svg): + self.svg.expand(self.dx+self.ex, self.ey) + self.svg.set_innie([True,True]) + self.svg.set_outie(True) + self.svg.set_tab(False) + self.svg.set_slot(False) + self._make_basic_block(svg) + """ + NOTE: The "outie" is added last, so the dock order in NUMBER_STYLE + blocks needs to be modified. + """ + self.docks = [['number', True, self.svg.docks[2][0], + self.svg.docks[2][1]], + ['number', False, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['number', False, self.svg.docks[1][0], + self.svg.docks[1][1]]] + + def _make_number_style_var_arg(self, svg): + self.svg.expand(self.dx+self.ex, self.ey) + innie = [True] + for i in range(self._ei+1): + innie.append(True) + self.svg.set_innie(innie) + self.svg.set_outie(True) + self.svg.set_tab(False) + self.svg.set_slot(False) + self._make_basic_block(svg) + self.docks = [['number', True, self.svg.docks[2+self._ei][0], + self.svg.docks[2+self._ei][1]], + ['number', False, self.svg.docks[0][0], + self.svg.docks[0][1]]] + for i in range(self._ei+1): + self.docks.append(['number', False, self.svg.docks[i+1][0], + self.svg.docks[i+1][1]]) + self.docks.append(['unavailable', False, 0, 0]) + + def _make_number_style_block(self, svg): + self.svg.expand(self.dx+self.ex, self.ey) + self.svg.set_innie([True,True]) + self.svg.set_outie(True) + self.svg.set_tab(False) + self.svg.set_slot(False) + self._make_basic_block(svg) + self.docks = [['number', True, self.svg.docks[2][0], + self.svg.docks[2][1], '('], + ['number', False, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['number', False, self.svg.docks[1][0], + self.svg.docks[1][1]], + ['unavailable', False, 0, 0, ')']] + + def _make_number_style_1arg(self, svg): + self.svg.expand(self.dx+self.ex, self.ey) + self.svg.set_innie([True]) + self.svg.set_outie(True) + self.svg.set_tab(False) + self.svg.set_slot(False) + self._make_basic_block(svg) + self.docks = [['number', True, self.svg.docks[1][0], + self.svg.docks[1][1]], + ['number', False, self.svg.docks[0][0], + self.svg.docks[0][1]]] + + def _make_number_style_1strarg(self, svg): + self.svg.expand(self.dx+self.ex, self.ey) + self.svg.set_innie([True]) + self.svg.set_outie(True) + self.svg.set_tab(False) + self.svg.set_slot(False) + self._make_basic_block(svg) + self.docks = [['number', True, self.svg.docks[1][0], + self.svg.docks[1][1]], + ['string', False, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['unavailable', False, 0, 0]] + + def _make_number_style_porch(self, svg): + self.svg.expand(self.dx+self.ex, self.ey) + self.svg.set_innie([True,True]) + self.svg.set_outie(True) + self.svg.set_tab(False) + self.svg.set_slot(False) + self.svg.set_porch(True) + self._make_basic_block(svg) + self.docks = [['number', True, self.svg.docks[2][0], + self.svg.docks[2][1]], + ['number', False, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['number', False, self.svg.docks[1][0], + self.svg.docks[1][1]]] + + def _make_compare_style(self, svg): + self.svg.expand(10+self.dx+self.ex, self.ey) + self._make_boolean_compare(svg) + self.docks = [['bool', True, self.svg.docks[0][0], + self.svg.docks[0][1], '('], + ['number', False, self.svg.docks[1][0], + self.svg.docks[1][1]], + ['number', False, self.svg.docks[2][0], + self.svg.docks[2][1]], + ['unavailable', False, 0, 0, ')']] + + def _make_boolean_style(self, svg): + self.svg.expand(10+self.dx+self.ex, self.ey) + self._make_boolean_and_or(svg) + self.docks = [['bool', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['bool', False, self.svg.docks[1][0], + self.svg.docks[1][1]], + ['bool', False, self.svg.docks[2][0], + self.svg.docks[2][1]]] + + def _make_not_style(self, svg): + self.svg.expand(15+self.dx+self.ex, self.ey) + self._make_boolean_not(svg) + self.docks = [['bool', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['bool', False, self.svg.docks[1][0], + self.svg.docks[1][1]]] + + def _make_flow_style(self, svg): + self.svg.expand(10+self.dx+self.ex, self.ey) + self.svg.set_slot(True) + self.svg.set_tab(True) + self._make_basic_flow(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['flow', False, self.svg.docks[1][0], + self.svg.docks[1][1], '['], + ['flow', False, self.svg.docks[2][0], + self.svg.docks[2][1], ']']] + + def _make_flow_style_tail(self, svg): + self.svg.expand(10+self.dx+self.ex, self.ey) + self.svg.set_slot(True) + self.svg.set_tab(False) + self._make_basic_flow(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['flow', False, self.svg.docks[1][0], + self.svg.docks[1][1]]] + + def _make_flow_style_1arg(self, svg): + self.svg.expand(self.dx+self.ex, self.ey) + self.svg.set_slot(True) + self.svg.set_tab(True) + self.svg.set_innie([True]) + self._make_basic_flow(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['number', False, self.svg.docks[1][0], + self.svg.docks[1][1]], + ['flow', False, self.svg.docks[2][0], + self.svg.docks[2][1], '['], + ['flow', False, self.svg.docks[3][0], + self.svg.docks[3][1], ']']] + + def _make_flow_style_boolean(self, svg): + self.svg.expand(self.dx+self.ex, self.ey) + self.svg.set_slot(True) + self.svg.set_tab(True) + self.svg.set_boolean(True) + self._make_basic_flow(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['bool', False, self.svg.docks[1][0], + self.svg.docks[1][1]], + ['flow', False, self.svg.docks[2][0], + self.svg.docks[2][1], '['], + ['flow', False, self.svg.docks[3][0], + self.svg.docks[3][1], ']']] + + def _make_flow_style_while(self, svg): + self.svg.expand(self.dx+self.ex, self.ey) + self.svg.set_slot(True) + self.svg.set_tab(True) + self.svg.set_boolean(True) + self._make_basic_flow(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['bool', False, self.svg.docks[1][0], + self.svg.docks[1][1], '['], + ['flow', False, self.svg.docks[2][0], + self.svg.docks[2][1], ']['], + ['flow', False, self.svg.docks[3][0], + self.svg.docks[3][1], ']']] + + def _make_flow_style_else(self, svg): + self.svg.expand(self.dx+self.ex, self.ey) + self.svg.set_slot(True) + self.svg.set_tab(True) + self.svg.set_else(True) + self.svg.set_boolean(True) + self._make_basic_flow(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['bool', False, self.svg.docks[1][0], + self.svg.docks[1][1]], + ['flow', False, self.svg.docks[3][0], + self.svg.docks[3][1], '['], + ['flow', False, self.svg.docks[2][0], + self.svg.docks[2][1], ']['], + ['flow', False, self.svg.docks[4][0], + self.svg.docks[4][1], ']']] + + def _make_collapsible_style_top(self, svg, no_arm=False): + self.svg.expand(self.dx+self.ex, self.ey) + self.svg.set_no_arm(no_arm) + self._make_collapsible_top_block(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['number', False, self.svg.docks[1][0], + self.svg.docks[1][1]], + ['flow', False, self.svg.docks[2][0], + self.svg.docks[2][1]]] + + def _make_collapsible_style_bottom(self, svg): + self.svg.expand(self.dx+self.ex, self.ey) + self._make_collapsible_bottom_block(svg) + self.docks = [['flow',True,self.svg.docks[0][0],self.svg.docks[0][1]], + ['flow',False,self.svg.docks[1][0],self.svg.docks[1][1]]] + + # Depreciated block styles + def _make_portfolio_style_2x2(self, svg): + self.svg.expand(30+self.dx+self.ex, 10+self.ey) + self.svg.set_slot(True) + self.svg.set_tab(True) + self.svg.set_innie([True, True, False, True]) + self._make_portfolio(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['string', False, self.svg.docks[6][0], + self.svg.docks[6][1]], + ['media', False, self.svg.docks[5][0], + self.svg.docks[5][1]], + ['media', False, self.svg.docks[1][0], + self.svg.docks[1][1]], + ['media', False, self.svg.docks[4][0], + self.svg.docks[4][1]], + ['media', False, self.svg.docks[2][0], + self.svg.docks[2][1]], + ['flow', False, self.svg.docks[3][0], + self.svg.docks[3][1]]] + + def _make_portfolio_style_2x1(self, svg): + self.svg.expand(30+self.dx+self.ex, 10+self.ey) + self.svg.set_slot(True) + self.svg.set_tab(True) + self.svg.set_innie([True, True]) + self._make_portfolio(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['string', False, self.svg.docks[4][0], + self.svg.docks[4][1]], + ['media', False, self.svg.docks[3][0], + self.svg.docks[3][1]], + ['media', False, self.svg.docks[1][0], + self.svg.docks[1][1]], + ['flow', False, self.svg.docks[2][0], + self.svg.docks[2][1]]] + + def _make_portfolio_style_1x2(self, svg): + self.svg.expand(30+self.dx+self.ex, 15+self.ey) + self.svg.set_slot(True) + self.svg.set_tab(True) + self.svg.set_innie([True, True, False, True]) + self.svg.set_draw_innies(False) + self._make_portfolio(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['string', False, self.svg.docks[4][0], + self.svg.docks[4][1]], + ['media', False, self.svg.docks[3][0], + self.svg.docks[3][1]], + ['media', False, self.svg.docks[2][0], + self.svg.docks[2][1]], + ['flow', False, self.svg.docks[1][0], + self.svg.docks[1][1]]] + + def _make_portfolio_style_1x1(self, svg): + self.svg.expand(30+self.dx+self.ex, 15+self.ey) + self.svg.set_slot(True) + self.svg.set_tab(True) + self.svg.set_innie([True, True]) + self.svg.set_draw_innies(False) + self._make_portfolio(svg) + self.docks = [['flow', True, self.svg.docks[0][0], + self.svg.docks[0][1]], + ['string', False, self.svg.docks[3][0], + self.svg.docks[3][1]], + ['media', False, self.svg.docks[2][0], + self.svg.docks[2][1]], + ['flow', False, self.svg.docks[1][0], + self.svg.docks[1][1]]] + + def _make_basic_block(self, svg): + self.shapes[0] = svg_str_to_pixbuf(self.svg.basic_block()) + self.width = self.svg.get_width() + self.height = self.svg.get_height() + self.svg.set_stroke_width(SELECTED_STROKE_WIDTH) + self.svg.set_stroke_color(SELECTED_COLOR) + self.shapes[1] = svg_str_to_pixbuf(self.svg.basic_block()) + + def _make_collapsible_top_block(self, svg): + self.shapes[0] = svg_str_to_pixbuf(self.svg.sandwich_top()) + self.width = self.svg.get_width() + self.height = self.svg.get_height() + self.svg.set_stroke_width(SELECTED_STROKE_WIDTH) + self.svg.set_stroke_color(SELECTED_COLOR) + self.shapes[1] = svg_str_to_pixbuf(self.svg.sandwich_top()) + + def _make_collapsible_bottom_block(self, svg): + self.shapes[0] = svg_str_to_pixbuf(self.svg.sandwich_bottom()) + self.width = self.svg.get_width() + self.height = self.svg.get_height() + self.svg.set_stroke_width(SELECTED_STROKE_WIDTH) + self.svg.set_stroke_color(SELECTED_COLOR) + self.shapes[1] = svg_str_to_pixbuf(self.svg.sandwich_bottom()) + + def _make_basic_box(self, svg): + self.shapes[0] = svg_str_to_pixbuf(self.svg.basic_box()) + self.width = self.svg.get_width() + self.height = self.svg.get_height() + self.svg.set_stroke_width(SELECTED_STROKE_WIDTH) + self.svg.set_stroke_color(SELECTED_COLOR) + self.shapes[1] = svg_str_to_pixbuf(self.svg.basic_box()) + + def _make_portfolio(self, svg): + self.shapes[0] = svg_str_to_pixbuf(self.svg.portfolio()) + self.width = self.svg.get_width() + self.height = self.svg.get_height() + self.svg.set_stroke_width(SELECTED_STROKE_WIDTH) + self.svg.set_stroke_color(SELECTED_COLOR) + self.shapes[1] = svg_str_to_pixbuf(self.svg.portfolio()) + + def _make_basic_flow(self, svg): + self.shapes[0] = svg_str_to_pixbuf(self.svg.basic_flow()) + self.width = self.svg.get_width() + self.height = self.svg.get_height() + self.svg.set_stroke_width(SELECTED_STROKE_WIDTH) + self.svg.set_stroke_color(SELECTED_COLOR) + self.shapes[1] = svg_str_to_pixbuf(self.svg.basic_flow()) + + def _make_boolean_compare(self, svg): + self.shapes[0] = svg_str_to_pixbuf(self.svg.boolean_compare()) + self.width = self.svg.get_width() + self.height = self.svg.get_height() + self.svg.set_stroke_width(SELECTED_STROKE_WIDTH) + self.svg.set_stroke_color(SELECTED_COLOR) + self.shapes[1] = svg_str_to_pixbuf(self.svg.boolean_compare()) + + def _make_boolean_and_or(self, svg): + self.shapes[0] = svg_str_to_pixbuf(self.svg.boolean_and_or()) + self.width = self.svg.get_width() + self.height = self.svg.get_height() + self.svg.set_stroke_width(SELECTED_STROKE_WIDTH) + self.svg.set_stroke_color(SELECTED_COLOR) + self.shapes[1] = svg_str_to_pixbuf(self.svg.boolean_and_or()) + + def _make_boolean_not(self, svg): + self.shapes[0] = svg_str_to_pixbuf(self.svg.boolean_not()) + self.width = self.svg.get_width() + self.height = self.svg.get_height() + self.svg.set_stroke_width(SELECTED_STROKE_WIDTH) + self.svg.set_stroke_color(SELECTED_COLOR) + self.shapes[1] = svg_str_to_pixbuf(self.svg.boolean_not()) diff --git a/tacanvas.py b/tacanvas.py new file mode 100644 index 0000000..473a136 --- /dev/null +++ b/tacanvas.py @@ -0,0 +1,446 @@ +#Copyright (c) 2007-8, Playful Invention Company. +#Copyright (c) 2008-10, Walter Bender + +#Permission is hereby granted, free of charge, to any person obtaining a copy +#of this software and associated documentation files (the "Software"), to deal +#in the Software without restriction, including without limitation the rights +#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +#copies of the Software, and to permit persons to whom the Software is +#furnished to do so, subject to the following conditions: + +#The above copyright notice and this permission notice shall be included in +#all copies or substantial portions of the Software. + +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +#THE SOFTWARE. + +import gtk +from math import sin, cos, pi +from sprites import Sprite +from tasprite_factory import SVG +from tautils import image_to_base64, data_to_string, round_int +import pango +from taconstants import CANVAS_LAYER, DEFAULT_TURTLE +import logging +_logger = logging.getLogger('turtleart-activity') + +def wrap100(n): + n = int(n) + n %= 200 + if n > 99: + n = 199-n + return n + +def calc_shade(c, s): + if s < 0: + return int(c*(1+s*.8)) + return int(c+(65536-c)*s*.9) + +colors = {} +DEGTOR = 2*pi/360 + +color_table = ( + 0xFF0000,0xFF0D00,0xFF1A00,0xFF2600,0xFF3300, + 0xFF4000,0xFF4D00,0xFF5900,0xFF6600,0xFF7300, + 0xFF8000,0xFF8C00,0xFF9900,0xFFA600,0xFFB300, + 0xFFBF00,0xFFCC00,0xFFD900,0xFFE600,0xFFF200, + 0xFFFF00,0xE6FF00,0xCCFF00,0xB3FF00,0x99FF00, + 0x80FF00,0x66FF00,0x4DFF00,0x33FF00,0x1AFF00, + 0x00FF00,0x00FF0D,0x00FF1A,0x00FF26,0x00FF33, + 0x00FF40,0x00FF4D,0x00FF59,0x00FF66,0x00FF73, + 0x00FF80,0x00FF8C,0x00FF99,0x00FFA6,0x00FFB3, + 0x00FFBF,0x00FFCC,0x00FFD9,0x00FFE6,0x00FFF2, + 0x00FFFF,0x00F2FF,0x00E6FF,0x00D9FF,0x00CCFF, + 0x00BFFF,0x00B3FF,0x00A6FF,0x0099FF,0x008CFF, + 0x0080FF,0x0073FF,0x0066FF,0x0059FF,0x004DFF, + 0x0040FF,0x0033FF,0x0026FF,0x001AFF,0x000DFF, + 0x0000FF,0x0D00FF,0x1A00FF,0x2600FF,0x3300FF, + 0x4000FF,0x4D00FF,0x5900FF,0x6600FF,0x7300FF, + 0x8000FF,0x8C00FF,0x9900FF,0xA600FF,0xB300FF, + 0xBF00FF,0xCC00FF,0xD900FF,0xE600FF,0xF200FF, + 0xFF00FF,0xFF00E6,0xFF00CC,0xFF00B3,0xFF0099, + 0xFF0080,0xFF0066,0xFF004D,0xFF0033,0xFF001A) + +# +# A class for the Turtle graphics canvas +# +class TurtleGraphics: + def __init__(self, tw, width, height): + self.tw = tw + self.width = width + self.height = height + self.canvas = Sprite(tw.sprite_list, 0, 0, + gtk.gdk.Pixmap(self.tw.area, self.width, self.height, -1)) + (self.cx, self.cy) = self.canvas.get_xy() + self.canvas.type = 'canvas' + self.canvas.set_layer(CANVAS_LAYER) + self.gc = self.canvas.images[0].new_gc() + self.cm = self.gc.get_colormap() + self.fgrgb = [255, 0, 0] + self.fgcolor = self.cm.alloc_color('red') + self.bgrgb = [255, 248, 222] + self.bgcolor = self.cm.alloc_color('#fff8de') + self.textsize = 48 + self.textcolor = self.cm.alloc_color('blue') + self.tw.active_turtle.show() + self.shade = 0 + self.pendown = True + self.xcor = 0 + self.ycor = 0 + self.heading = 0 + self.pensize = 5 + self.tcolor = 0 + self.color = 0 + self.svg = SVG() + self.svg.set_fill_color('none') + self.tw.svg_string = '' + self.clearscreen(False) + + def clearscreen(self, share=True): + rect = gtk.gdk.Rectangle(0, 0, self.width, self.height) + self.gc.set_foreground(self.bgcolor) + self.canvas.images[0].draw_rectangle(self.gc, True, *rect) + self.invalt(0, 0, self.width, self.height) + self.setpensize(5, share) + self.setcolor(0, share) + self.settextcolor(70) + self.settextsize(48) + self.setshade(50, share) + self.setpen(True, share) + for turtle_key in iter(self.tw.turtles.dict): + self.set_turtle(turtle_key) + self.tw.active_turtle.set_color(0) + self.tw.active_turtle.set_shade(50) + self.tw.active_turtle.set_pen_size(5) + self.tw.active_turtle.set_pen_state(True) + self.seth(0, share) + self.setxy(0, 0, share) + self.set_turtle(DEFAULT_TURTLE) + self.tw.svg_string = '' + self.svg.reset_min_max() + + def forward(self, n, share=True): + nn = n*self.tw.coord_scale + self.gc.set_foreground(self.fgcolor) + oldx, oldy = self.xcor, self.ycor + try: + self.xcor += nn*sin(self.heading*DEGTOR) + self.ycor += nn*cos(self.heading*DEGTOR) + except: + pass + if self.pendown: + self.draw_line(oldx, oldy, self.xcor, self.ycor) + self.move_turtle() + if self.tw.saving_svg and self.pendown: + self.tw.svg_string += self.svg.new_path(oldx, self.height/2-oldy) + self.tw.svg_string += self.svg.line_to(self.xcor, + self.height/2-self.ycor) + self.tw.svg_string += "\"\n" + self.tw.svg_string += self.svg.style() + if self.tw.sharing() and share: + self.tw.activity.send_event("f|%s" % \ + (data_to_string([self.tw.nick, int(n)]))) + + def seth(self, n, share=True): + try: + self.heading = n + except: + pass + self.heading %= 360 + self.turn_turtle() + if self.tw.sharing() and share: + self.tw.activity.send_event("r|%s" % \ + (data_to_string([self.tw.nick, round_int(self.heading)]))) + + def right(self, n, share=True): + try: + self.heading += n + except: + pass + self.heading %= 360 + self.turn_turtle() + if self.tw.sharing() and share: + self.tw.activity.send_event("r|%s" % \ + (data_to_string([self.tw.nick, round_int(self.heading)]))) + + def arc(self, a, r, share=True): + self.gc.set_foreground(self.fgcolor) + rr = r*self.tw.coord_scale + try: + if a < 0: + self.larc(-a, rr) + else: + self.rarc(a, rr) + except: + pass + # _logger.debug("moving to %f %f" % (self.xcor, self.ycor)) + self.move_turtle() + if self.tw.sharing() and share: + self.tw.activity.send_event("a|%s" % \ + (data_to_string([self.tw.nick, [round_int(a), round_int(r)]]))) + + def rarc(self, a, r): + if r < 0: + r = -r + a = -a + s = 0 + else: + s = 1 + oldx, oldy = self.xcor, self.ycor + cx = self.xcor + r*cos(self.heading*DEGTOR) + cy = self.ycor - r*sin(self.heading*DEGTOR) + x = self.width/2 + int(cx-r) + y = self.height/2 - int(cy+r) + w = int(2*r) + h = w + if self.pendown: + self.canvas.images[0].draw_arc(self.gc, False, x, y, w, h, + int(180 - self.heading - a)*64, int(a)*64) + self.invalt(x - self.pensize*self.tw.coord_scale/2 - 3, + y - self.pensize*self.tw.coord_scale/2 - 3, + w + self.pensize*self.tw.coord_scale + 6, + h + self.pensize*self.tw.coord_scale + 6) + self.right(a, False) + self.xcor = cx - r*cos(self.heading*DEGTOR) + self.ycor = cy + r*sin(self.heading*DEGTOR) + if self.tw.saving_svg and self.pendown: + self.tw.svg_string += self.svg.new_path(oldx, self.height/2-oldy) + self.tw.svg_string += self.svg.arc_to(self.xcor, + self.height/2-self.ycor, r, a, + 0, s) + self.tw.svg_string += "\"\n" + self.tw.svg_string += self.svg.style() + + def larc(self, a, r): + if r < 0: + r = -r + a = -a + s = 1 + else: + s = 0 + oldx, oldy = self.xcor, self.ycor + cx = self.xcor - r*cos(self.heading*DEGTOR) + cy = self.ycor + r*sin(self.heading*DEGTOR) + x = self.width/2 + int(cx-r) + y = self.height/2 - int(cy+r) + w = int(2*r) + h = w + if self.pendown: + self.canvas.images[0].draw_arc(self.gc, False, x, y, w, h, + int(360-self.heading)*64, int(a)*64) + self.invalt(x - self.pensize*self.tw.coord_scale/2 - 3, + y - self.pensize*self.tw.coord_scale/2 - 3, + w + self.pensize*self.tw.coord_scale + 6, + h + self.pensize*self.tw.coord_scale + 6) + self.right(-a, False) + self.xcor = cx + r*cos(self.heading*DEGTOR) + self.ycor = cy - r*sin(self.heading*DEGTOR) + if self.tw.saving_svg and self.pendown: + self.tw.svg_string += self.svg.new_path(oldx, self.height/2-oldy) + self.tw.svg_string += self.svg.arc_to(self.xcor, + self.height/2-self.ycor, r, a, + 0, s) + self.tw.svg_string += "\"\n" + self.tw.svg_string += self.svg.style() + + def setxy(self, x, y, share=True): + x *= self.tw.coord_scale + y *= self.tw.coord_scale + try: + self.xcor, self.ycor = x, y + except: + pass + self.move_turtle() + if self.tw.sharing() and share: + self.tw.activity.send_event("x|%s" % \ + (data_to_string([self.tw.nick, [round_int(x), round_int(y)]]))) + + def setpensize(self, ps, share=True): + try: + if ps < 0: + ps = 0 + self.pensize = ps + except: + pass + self.tw.active_turtle.set_pen_size(ps) + self.gc.set_line_attributes(int(self.pensize*self.tw.coord_scale), + gtk.gdk.LINE_SOLID, gtk.gdk.CAP_ROUND, gtk.gdk.JOIN_MITER) + self.svg.set_stroke_width(self.pensize) + if self.tw.sharing() and share: + self.tw.activity.send_event("w|%s" % \ + (data_to_string([self.tw.nick, round_int(ps)]))) + + def setcolor(self, c, share=True): + try: + self.color = c + self.tcolor = c + except: + pass + self.tw.active_turtle.set_color(c) + self.set_fgcolor() + self.set_textcolor() + if self.tw.sharing() and share: + self.tw.activity.send_event("c|%s" % \ + (data_to_string([self.tw.nick, round_int(c)]))) + + def settextcolor(self, c): + try: + self.tcolor = c + except: + pass + self.set_textcolor() + + def settextsize(self, c): + try: + self.tw.textsize = c + except: + pass + + def setshade(self, s, share=True): + try: + self.shade = s + except: + pass + self.tw.active_turtle.set_shade(s) + self.set_fgcolor() + self.set_textcolor() + if self.tw.sharing() and share: + self.tw.activity.send_event("s|%s" % \ + (data_to_string([self.tw.nick, round_int(s)]))) + + def fillscreen(self, c, s): + oldc, olds = self.color, self.shade + self.setcolor(c, False) + self.setshade(s, False) + rect = gtk.gdk.Rectangle(0, 0, self.width, self.height) + self.gc.set_foreground(self.fgcolor) + self.bgrgb = self.fgrgb[:] + self.canvas.images[0].draw_rectangle(self.gc, True, *rect) + self.invalt(0, 0, self.width, self.height) + self.setcolor(oldc, False) + self.setshade(olds, False) + self.tw.svg_string = '' + self.svg.reset_min_max() + + def set_fgcolor(self): + sh = (wrap100(self.shade) - 50)/50.0 + rgb = color_table[wrap100(self.color)] + r, g, b = (rgb>>8)&0xff00, rgb&0xff00, (rgb<<8)&0xff00 + r, g, b = calc_shade(r, sh), calc_shade(g, sh), calc_shade(b, sh) + self.fgrgb = [r>>8, g>>8, b>>8] + self.fgcolor = self.cm.alloc_color(r, g, b) + self.svg.set_stroke_color("#%02x%02x%02x" % (self.fgrgb[0], + self.fgrgb[1], + self.fgrgb[2])) + + def set_textcolor(self): + sh = (wrap100(self.shade) - 50)/50.0 + rgb = color_table[wrap100(self.tcolor)] + r, g, b = (rgb>>8)&0xff00, rgb&0xff00, (rgb<<8)&0xff00 + r, g, b = calc_shade(r, sh), calc_shade(g, sh), calc_shade(b, sh) + self.tw.textcolor = self.cm.alloc_color(r, g, b) + + def setpen(self, bool, share=True): + self.pendown = bool + if self.tw.sharing() and share: + self.tw.activity.send_event("p|%s" % \ + (data_to_string([self.tw.nick, bool]))) + + def draw_pixbuf(self, pixbuf, a, b, x, y, w, h, path): + w *= self.tw.coord_scale + h *= self.tw.coord_scale + self.canvas.images[0].draw_pixbuf(self.gc, pixbuf, a, b, x, y) + self.invalt(x, y, w, h) + if self.tw.saving_svg: + if self.tw.running_sugar: + # In Sugar, we need to embed the images inside the SVG + self.tw.svg_string += self.svg.image(x-self.width/2, y, w, h, + path, image_to_base64(pixbuf, self.tw.activity)) + else: + self.tw.svg_string += self.svg.image(x-self.width/2, y, w, h, + path) + + def draw_text(self, label, x, y, size, w): + w *= self.tw.coord_scale + self.gc.set_foreground(self.tw.textcolor) + fd = pango.FontDescription('Sans') + try: + fd.set_size(int(size*self.tw.coord_scale)*pango.SCALE) + except: + pass + if type(label) == str or type(label) == unicode: + pl = self.tw.window.create_pango_layout(label.replace("\0"," ")) + elif type(label) == float or type(label) == int: + pl = self.tw.window.create_pango_layout(str(label)) + else: + pl = self.tw.window.create_pango_layout(str(label)) + pl.set_font_description(fd) + pl.set_width(int(w) * pango.SCALE) + self.canvas.images[0].draw_layout(self.gc, int(x), int(y), pl) + w, h = pl.get_pixel_size() + self.invalt(x, y, w, h) + if self.tw.saving_svg and self.pendown: + self.tw.svg_string += self.svg.text(x - self.width/2, + y + size, + size, w, label) + + def draw_line(self, x1, y1, x2, y2): + x1, y1 = self.width/2 + int(x1), self.height/2 - int(y1) + x2, y2 = self.width/2 + int(x2), self.height/2 - int(y2) + if x1 < x2: + minx, maxx = x1, x2 + else: + minx, maxx = x2, x1 + if y1 < y2: + miny, maxy = y1, y2 + else: + miny, maxy = y2, y1 + w, h = maxx-minx, maxy-miny + self.canvas.images[0].draw_line(self.gc, x1, y1, x2, y2) + self.invalt(minx - self.pensize*self.tw.coord_scale/2 - 3, + miny - self.pensize*self.tw.coord_scale/2 - 3, + w + self.pensize*self.tw.coord_scale + 6, + h + self.pensize*self.tw.coord_scale + 6) + + def turn_turtle(self): + self.tw.active_turtle.set_heading(self.heading) + + def move_turtle(self): + x, y = self.width/2 + int(self.xcor), self.height/2 - int(self.ycor) + self.tw.active_turtle.move((self.cx + x - 28, self.cy + y - 30)) + + def invalt(self, x, y, w, h): + rect = gtk.gdk.Rectangle(int(x+self.cx), int(y+self.cy), int(w), + int(h)) + self.tw.area.invalidate_rect(rect, False) + + def set_turtle(self, k, colors=None): + if not self.tw.turtles.dict.has_key(k): + # if it is a new turtle, start it in the center of the screen + self.tw.active_turtle = self.tw.turtles.get_turtle(k, True, colors) + self.seth(0, False) + self.setxy(0, 0, False) + self.tw.active_turtle.set_pen_state(True) + self.tw.active_turtle = self.tw.turtles.get_turtle(k, False) + tx, ty = self.tw.active_turtle.get_xy() + self.xcor = -self.width/2 + tx + 28 + self.ycor = self.height/2 - ty - 30 + self.heading = self.tw.active_turtle.get_heading() + self.setcolor(self.tw.active_turtle.get_color(), False) + self.setshade(self.tw.active_turtle.get_shade(), False) + self.setpensize(self.tw.active_turtle.get_pen_size(), False) + self.setpen(self.tw.active_turtle.get_pen_state(), False) + + def svg_close(self): + if self.tw.svg_string == '': + return + self.svg.calc_w_h(False) + self.tw.svg_string = "%s%s%s%s" % (self.svg.header(True), + self.svg.background("#%02x%02x%02x" %\ + (self.bgrgb[0], self.bgrgb[1], self.bgrgb[2])), + self.tw.svg_string, self.svg.footer()) diff --git a/taconstants.py b/taconstants.py new file mode 100644 index 0000000..65c347a --- /dev/null +++ b/taconstants.py @@ -0,0 +1,1043 @@ +# -*- coding: utf-8 -*- +#Copyright (c) 2010, Walter Bender + +#Permission is hereby granted, free of charge, to any person obtaining a copy +#of this software and associated documentation files (the "Software"), to deal +#in the Software without restriction, including without limitation the rights +#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +#copies of the Software, and to permit persons to whom the Software is +#furnished to do so, subject to the following conditions: + +#The above copyright notice and this permission notice shall be included in +#all copies or substantial portions of the Software. + +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +#THE SOFTWARE. + +""" +This file contains the constants that by-in-large determine the +behavior of Turtle Art. Notably, the block palettes are defined +below. If you want to add a new block to Turtle Art, it is generally a +matter of modifying some tables below and then adding the primitive to +talogo.py. For example, if we want to add a new turtle command, +'uturn', we'd make the following changes: + +(1) We'd add 'uturn' to the PALETTES list of lists: + +PALETTES = [['forward', 'back', 'clean', 'left', 'right', 'uturn', 'show', + 'seth', 'setxy', 'heading', 'xcor', 'ycor', 'setscale', + 'arc', 'scale'], + ['penup','pendown', 'setpensize', 'fillscreen', 'pensize',... + +(2) Then we'd add it to one of the block-style definitions. Since it takes +no arguments, we'd add it here: + +BASIC_STYLE = ['clean', 'penup', 'pendown', 'stack1', 'stack2', 'vspace', + 'hideblocks', 'showblocks', 'clearheap', 'printheap', 'kbinput', 'uturn'] + +(3) Then we give it a name (Note the syntax _('string to be +translated') used by the language-internationalization system; also +note that the name is an array, as some blocks contain multiple +strings.): + +BLOCK_NAMES = { +... + 'uturn':[_('u-turn')], +... + } + +(4) and a help-menu entry: + +HELP_STRINGS = { +... + 'uturn':_('change the heading of the turtle 180 degrees'), +... + } + +(5) Next, we need to define it as a primitive for the Logo command +parser (generally just the same name): + +PRIMITIVES = { +... + 'uturn':'uturn', +... + } + +(6) Since there are no default arguments, we don't need to do anything +else here. But we do need to define the actual function in talogo.py + +DEFPRIM = { +... + 'uturn':[0, lambda self: self.tw.canvas.seth(self.tw.canvas.heading+180)], +... + } + +That's it. When you next run Turtle Art, you will have a 'uturn' block +on the Turtle Palette. + +Adding a new palette is simply a matter of: (1) adding an additional +entry to PALETTE_NAMES; (2) new list of blocks to PALETTES; and (3) an +additional entry in COLORS. However you will have to: (4) create icons +for the palette-selector buttons. These are kept in the icons +subdirectory. You need two icons: yourpalettenameoff.svg and +yourpalettenameon.svg, where yourpalettename is the same string as the +entry you added to the PALETTE_NAMES list. Note that the icons should +be the same size (55x55) as the others. This is the default icon size +for Sugar toolbars. + +""" + +from gettext import gettext as _ + +# +# Sprite layers +# + +HIDE_LAYER = 100 +CANVAS_LAYER = 500 +OVERLAY_LAYER = 525 +TURTLE_LAYER = 550 +BLOCK_LAYER = 600 +CATEGORY_LAYER = 700 +TAB_LAYER = 710 +STATUS_LAYER = 900 +TOP_LAYER = 1000 + +# +# Block-palette categories +# + +PALETTE_NAMES = ['turtle', 'pen', 'colors', 'numbers', 'flow', 'blocks', + 'extras', 'portfolio', 'trash'] + +PALETTES = [['clean', 'forward', 'back', 'show', 'left', 'right', + 'seth', 'setxy', 'heading', 'xcor', 'ycor', 'setscale', + 'arc', 'scale', 'leftpos', 'toppos', 'rightpos', + 'bottompos'], + ['penup','pendown', 'setpensize', 'fillscreen', 'pensize', + 'settextsize', 'setcolor', 'setshade', 'textsize', 'color', + 'shade'], + [ 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple'], + ['plus2', 'minus2', 'product2', + 'division2', 'identity2', 'remainder2', 'sqrt', 'random', + 'number', 'greater2', 'less2', 'equal2', 'not', 'and2', 'or2'], + ['wait', 'forever', 'repeat', 'if', 'ifelse', 'while', 'until', + 'hspace', 'vspace', 'stopstack'], + ['hat1', 'stack1', 'hat', 'hat2', 'stack2', 'stack', + 'storeinbox1', 'storeinbox2', 'string', 'box1', 'box2', 'box', + 'storein', 'start'], + ['kbinput', 'push', 'printheap', 'keyboard', 'pop', 'clearheap', + 'myfunc1arg', 'userdefined', 'addturtle', 'comment', 'print', + 'cartesian', 'width', 'height', 'polar', 'sandwichtop', + 'sandwichbottom'], + ['journal', 'audio', 'description', 'hideblocks', 'showblocks', + 'fullscreen', 'savepix', 'savesvg', 'picturelist', + 'picture1x1a', 'picture1x1', 'picture2x2', 'picture2x1', + 'picture1x2'], + ['empty', 'restoreall']] + +# +# Block-style attributes +# + +COLORS = [["#00FF00","#00A000"], ["#00FFFF","#00A0A0"], ["#00FFFF","#00A0A0"], + ["#FF00FF","#A000A0"], ["#FFC000","#A08000"], ["#FFFF00","#A0A000"], + ["#FF0000","#A00000"], ["#0000FF","#0000A0"], ["#FFFF00","#A0A000"]] + +BOX_COLORS = {'red':["#FF0000","#A00000"],'orange':["#FFD000","#AA8000"], + 'yellow':["#FFFF00","#A0A000"],'green':["#00FF00","#008000"], + 'cyan':["#00FFFF","#00A0A0"],'blue':["#0000FF","#000080"], + 'purple':["#FF00FF","#A000A0"]} + +# +# Misc. parameters +# +PALETTE_HEIGHT = 120 +PALETTE_WIDTH = 175 +SELECTOR_WIDTH = 55 +ICON_SIZE = 55 +SELECTED_COLOR = "#0000FF" +SELECTED_STROKE_WIDTH = 1.0 +STANDARD_STROKE_WIDTH = 1.0 +BLOCK_SCALE = 2.0 +PALETTE_SCALE = 1.5 +DEFAULT_TURTLE = 1 +HORIZONTAL_PALETTE = 0 +VERTICAL_PALETTE = 1 + +# +# Block-style definitions +# +BASIC_STYLE_HEAD = ['start', 'hat1', 'hat2', 'restore', 'restoreall'] +BASIC_STYLE_HEAD_1ARG = ['hat'] +BASIC_STYLE_TAIL = ['stopstack', 'empty'] +BASIC_STYLE = ['clean', 'penup', 'pendown', 'stack1', 'stack2', 'vspace', + 'hideblocks', 'showblocks', 'clearheap', 'printheap', 'kbinput', + 'fullscreen', 'sandwichcollapsed', 'cartesian', 'polar'] +BASIC_STYLE_EXTENDED = ['picturelist', 'picture1x1', 'picture2x2', + 'picture2x1', 'picture1x2', 'picture1x1a'] +BASIC_STYLE_1ARG = ['forward', 'back', 'left', 'right', 'seth', 'show', 'image', + 'setscale', 'setpensize', 'setcolor', 'setshade', 'print', 'showaligned', + 'settextsize', 'settextcolor', 'print', 'wait', 'storeinbox1', 'savepix', + 'storeinbox2', 'wait', 'stack', 'push', 'nop', 'addturtle', 'comment', + 'savesvg'] +BASIC_STYLE_VAR_ARG = ['userdefined', 'userdefined2args', 'userdefined3args'] +BULLET_STYLE = ['templatelist', 'list'] +BASIC_STYLE_2ARG = ['arc', 'setxy', 'fillscreen', 'storein', 'write'] +BOX_STYLE = ['number', 'xcor', 'ycor', 'heading', 'pensize', 'color', 'shade', + 'textcolor', 'textsize', 'box1', 'box2', 'string', 'leftpos', 'scale', + 'toppos', 'rightpos', 'bottompos', 'width', 'height', 'pop', 'keyboard', + 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', + 'titlex', 'titley', 'leftx', 'topy', 'rightx', 'bottomy', + 'volume', 'pitch', 'voltage', 'resistance'] +BOX_STYLE_MEDIA = ['description', 'audio', 'journal'] +NUMBER_STYLE = ['plus2', 'product2', 'myfunc'] +NUMBER_STYLE_VAR_ARG = ['myfunc1arg', 'myfunc2arg', 'myfunc3arg'] +NUMBER_STYLE_BLOCK = ['random'] +NUMBER_STYLE_PORCH = ['minus2', 'division2', 'remainder2'] +NUMBER_STYLE_1ARG = ['sqrt', 'identity2'] +NUMBER_STYLE_1STRARG = ['box'] +COMPARE_STYLE = ['greater2', 'less2', 'equal2'] +BOOLEAN_STYLE = ['and2', 'or2'] +NOT_STYLE = ['not'] +FLOW_STYLE = ['forever'] +FLOW_STYLE_TAIL = ['hspace'] +FLOW_STYLE_1ARG = ['repeat'] +FLOW_STYLE_BOOLEAN = ['if', 'while', 'until'] +FLOW_STYLE_WHILE = ['while2'] +FLOW_STYLE_ELSE = ['ifelse'] +COLLAPSIBLE_TOP = ['sandwichtop'] +COLLAPSIBLE_TOP_NO_ARM = ['sandwichtop2'] +COLLAPSIBLE_BOTTOM = ['sandwichbottom'] + +# Depreciated block styles +PORTFOLIO_STYLE_2x2 = ['template2x2'] +PORTFOLIO_STYLE_1x1 = ['template1x1', 'template1x1a'] +PORTFOLIO_STYLE_2x1 = ['template2x1'] +PORTFOLIO_STYLE_1x2 = ['template1x2'] + +# +# Blocks that are expandable +# +EXPANDABLE = ['vspace', 'hspace', 'templatelist', 'list', 'identity2', + 'myfunc1arg', 'myfunc2arg', 'myfunc3arg', 'userdefined', + 'userdefined2args', 'userdefined3args'] + +# +# Blocks that are 'collapsible' +# +COLLAPSIBLE = ['sandwichbottom', 'sandwichcollapsed'] + +# +# Depreciated block styles that need dock adjustments +# +OLD_DOCK = ['and', 'or', 'plus', 'minus', 'division', 'product', 'remainder'] + +# +# Blocks that contain media +# +CONTENT_BLOCKS = ['number', 'string', 'description', 'audio', 'journal'] + +# +# These blocks get a special skin +# +BLOCKS_WITH_SKIN = ['journal', 'audio', 'description', 'nop', 'userdefined', + 'userdefined2args', 'userdefined3args'] + +PYTHON_SKIN = ['nop', 'userdefined', 'userdefined2args', 'userdefined3args'] + +# +# Block-name dictionary used for labels +# +BLOCK_NAMES = { + 'addturtle':[_('turtle')], + 'and2':[_('and')], + 'arc':[_('arc'), _('angle'), _('radius')], + 'audio':[' '], + 'back':[_('back')], + 'blue':[_('blue')+' = 70'], + 'bottompos':[_('bottom')], + 'bottomy':[_('picture bottom')], + 'box':[_('box')], + 'box1':[_('box 1')], + 'box2':[_('box 2')], + 'cartesian':[_('Cartesian')], + 'clean':[_(' clean ')], + 'clearheap':[_('empty heap')], + 'color':[_('color')], + 'comment':[_('comment')], + 'cyan':[_('cyan')+' = 50'], + 'decription':[' '], + 'division2':['/'], + 'empty':[_('empty trash')], + 'equal2':['='], + 'fillscreen':[_('fill screen'), _('color'), _('shade')], + 'forever':[_('forever')], + 'forward':[_('forward')], + 'fullscreen':[_('full screen')], + 'greater2':[">"], + 'green':[_('green')+' = 30'], + 'hat':[_('action')], + 'hat1':[_('action 1')], + 'hat2':[_('action 2')], + 'heading':[_('heading')], + 'height':[_('height')], + 'hideblocks':[_('hide blocks')], + 'hspace':[' '], + 'identity2':['←'], + 'if':[' ', _('if'), _('then')], + 'ifelse':[' ', _('if'), _('then else')], + 'image':[_('show')], + 'journal':[' '], + 'kbinput':[_('query keyboard')], + 'keyboard':[_('keyboard')], + 'left':[_('left')], + 'leftpos':[_('left')], + 'leftx':[_('picture left')], + 'less2':['<'], + 'list':['list'], + 'minus2':['–'], + 'myfunc':[_('Python'), 'f(x)', 'x'], + 'myfunc1arg':[_('Python'), 'f(x)', 'x'], + 'myfunc2arg':[_('Python'), 'f(x,y)', ' '], + 'myfunc3arg':[_('Python'), 'f(x,y,z)', ' '], + 'nop':[_(' ')], + 'not':[_('not')], + 'number':['100'], + 'orange':[_('orange')+' = 10'], + 'or2':[_('or')], + 'pendown':[_('pen down')], + 'pensize':[_('pen size')], + 'penup':[_('pen up')], + 'picturelist':[' '], + 'picture1x1':[' '], + 'picture1x1a':[' '], + 'picture2x2':[' '], + 'picture2x1':[' '], + 'picture1x2':[' '], + 'pitch':[_('pitch')], + 'plus2':['+'], + 'polar':[_('polar')], + 'pop':[_('pop')], + 'printheap':[_('show heap')], + 'print':[_('print')], + 'product2':['×'], + 'purple':[_('purple')+' = 90'], + 'push':[_('push')], + 'random':[_('random'), _('min'), _('max')], + 'red':[_('red')+' = 0'], + 'remainder2':[_('mod')], + 'repeat':[' ',_('repeat')], + 'resistance':[_('resistance')], + 'restore':[_('restore last')], + 'restoreall':[_('restore all')], + 'right':[_('right')], + 'rightpos':[_('right')], + 'rightx':[_('picture right')], + 'savepix':[_('save picture')], + 'savesvg':[_('save SVG')], + 'sandwichbottom':[' '], + 'sandwichcollapsed':[_('click to open')], + 'sandwichtop':[_('top of stack')], + 'sandwichtop2':[_('top of stack')], + 'scale':[_('scale')], + 'setcolor':[_('set color')], + 'seth':[_('set heading')], + 'setpensize':[_('set pen size')], + 'setscale':[_('set scale')], + 'setshade':[_('set shade')], + 'settextcolor':[_('set text color')], + 'settextsize':[_('set text size')], + 'setxy':[_('set xy'), _('x'), _('y')], + 'shade':[_('shade')], + 'show':[_('show')], + 'showblocks':[_('show blocks')], + 'showaligned':[_('show aligned')], + 'sqrt':['√'], + 'stack':[_('action')], + 'stack1':[_('action 1')], + 'stack2':[_('action 2')], + 'start':[_('start')], + 'stopstack':[_('stop action')], + 'storein':[_('store in'), _('box'), _('value')], + 'storeinbox1':[_('store in box 1')], + 'storeinbox2':[_('store in box 2')], + 'string':[_('text')], + 'template1x1':[' '], + 'template1x1a':[' '], + 'template1x2':[' '], + 'template2x1':[' '], + 'template2x2':[' '], + 'templatelist':[' '], + 'textsize':[_('text size')], + 'titlex':[_('title x')], + 'titley':[_('title y')], + 'toppos':[_('top')], + 'topy':[_('picture top')], + 'turtle':[_('turtle')], + 'until':[_('until')], + 'userdefined':[_(' ')], + 'userdefined2args':[_(' ')], + 'userdefined3args':[_(' ')], + 'voltage':[_('voltage')], + 'volume':[_('volume')], + 'vspace':[' '], + 'wait':[_('wait')], + 'while':[_('while')], + 'while2':[_('while')], + 'width':[_('width')], + 'write':[_('write')], + 'xcor':[_('xcor')], + 'ycor':[_('ycor')], + 'yellow':[_('yellow')+' = 20']} + +# +# Logo primitives +# + +PRIMITIVES = { + 'addturtle':'turtle', + 'and2':'and', + 'arc':'arc', + 'back':'back', + 'blue':'blue', + 'bottompos':'bpos', + 'bottomy':'boty', + 'box1':'box1', + 'box2':'box2', + 'box':'box', + 'cartesian':'cartesian', + 'clean':'clean', + 'clearheap':'clearheap', + 'color':'color', + 'comment':'comment', + 'cyan':'cyan', + 'division2':'division', + 'equal2':'equal?', + 'fillscreen':'fillscreen', + 'forever':'forever', + 'forward':'forward', + 'fullscreen':'fullscreen', + 'greater2':'greater?', + 'green':'green', + 'hat':'nop3', + 'hat1':'nop1', + 'hat2':'nop2', + 'heading':'heading', + 'height':'vres', + 'hideblocks':'hideblocks', + 'hspace':'nop', + 'identity2':'id', + 'if':'if', + 'ifelse':'ifelse', + 'image':'show', + 'kbinput':'kbinput', + 'keyboard':'keyboard', + 'left':'left', + 'leftpos':'lpos', + 'leftx':'leftx', + 'less2':'less?', + 'list':'bulletlist', + 'minus2':'minus', + 'myfunc':'myfunction', + 'myfunc1arg':'myfunction', + 'myfunc2arg':'myfunction2', + 'myfunc3arg':'myfunction3', + 'nop':'userdefined', + 'not':'not', + 'orange':'orange', + 'or2':'or', + 'pendown':'pendown', + 'pensize':'pensize', + 'penup':'penup', + 'pitch':'pitch', + 'plus2':'plus', + 'polar':'polar', + 'pop':'pop', + 'printheap':'printheap', + 'print':'print', + 'product2':'product', + 'purple':'purple', + 'push':'push', + 'random':'random', + 'red':'red', + 'remainder2':'mod', + 'repeat':'repeat', + 'resistance':'resistance', + 'right':'right', + 'rightpos':'rpos', + 'rightx':'rightx', + 'sandwichtop':'comment', + 'sandwichtop2':'comment', + 'sandwichbottom':'nop', + 'sandwichcollapsed':'nop', + 'savepix':'savepix', + 'savesvg':'savesvg', + 'scale':'scale', + 'setcolor':'setcolor', + 'seth':'seth', + 'setpensize':'setpensize', + 'setscale':'setscale', + 'setshade':'setshade', + 'settextsize':'settextsize', + 'settextcolor':'settextcolor', + 'setxy':'setxy', + 'shade':'shade', + 'show':'show', + 'showblocks':'showblocks', + 'showaligned':'showaligned', + 'sqrt':'sqrt', + 'stack':'stack', + 'stack1':'stack1', + 'stack2':'stack2', + 'start':'start', + 'stopstack':'stopstack', + 'storein':'storeinbox', + 'storeinbox1':'storeinbox1', + 'storeinbox2':'storeinbox2', + 'template1x1':'t1x1', + 'template1x1a':'t1x1a', + 'template1x2':'t1x2', + 'template2x1':'t2x1', + 'template2x2':'t2x2', + 'templatelist':'bullet', + 'textsize':'textsize', + 'titlex':'titlex', + 'titley':'titley', + 'toppos':'tpos', + 'topy':'topy', + 'userdefined':'userdefined', + 'userdefined2args':'userdefined2', + 'userdefined3args':'userdefined3', + 'voltage':'voltage', + 'volume':'volume', + 'vspace':'nop', + 'wait':'wait', + 'while2':'while', + 'width':'hres', + 'write':'write', + 'xcor':'xcor', + 'ycor':'ycor', + 'yellow':'yellow'} + +# +# block default values +# + +DEFAULTS = { + 'addturtle':[1], + 'arc':[90, 100], + 'audio':[None], + 'back':[100], + 'box':[_('my box')], + 'comment':[_('comment')], + 'description':[None], + 'fillscreen':[60, 80], + 'forever':[None, 'vspace'], + 'forward':[100], + 'hat':[_('action')], + 'if':[None, None, 'vspace'], + 'ifelse':[None, 'vspace', None, 'vspace'], + 'journal':[None], + 'left':[90], + 'list':['∙ ', '∙ '], + 'media':[None], + 'myfunc':['x', 100], + 'myfunc1arg':['x', 100], + 'myfunc2arg':['x+y', 100, 100], + 'myfunc3arg':['x+y+z', 100, 100, 100], + 'nop':[100], + 'number':[100], + 'random':[0, 100], + 'repeat':[4, None, 'vspace'], + 'right':[90], + 'sandwichtop':[_('label')], + 'sandwichtop2':[_('label')], + 'savepix':[_('picture name')], + 'savesvg':[_('picture name')], + 'setcolor':[0], + 'seth':[0], + 'setpensize':[5], + 'setscale':[33], + 'setshade':[50], + 'settextsize':[48], + 'settextcolor':[0], + 'setxy':[0, 0], + 'show':[_('text')], + 'showaligned':[_('text')], + 'stack':[_('action')], + 'storeinbox1':[100], + 'storeinbox2':[100], + 'storein':[_('my box'), 100], + 'string':[_('text')], + 'template1x1':[_('Title'), 'None'], + 'template1x1a':[_('Title'), 'None'], + 'template1x2':[_('Title'), 'None', 'None'], + 'template2x1':[_('Title'), 'None', 'None'], + 'template2x2':[_('Title'), 'None', 'None', 'None', 'None'], + 'templatelist':[_('Title'), '∙ '], + 'userdefined':[100], + 'userdefined2args':[100,100], + 'userdefined3args':[100,100,100], + 'wait':[1], + 'write':[_('text'), 32]} + +# +# Blocks that can interchange strings and numbers for their arguments +# +STRING_OR_NUMBER_ARGS = ['plus2', 'equal2', 'less2', 'greater2', 'box', + 'template1x1', 'template1x2', 'template2x1', 'list', + 'template2x2', 'template1x1a', 'templatelist', 'nop', + 'print', 'stack', 'hat', 'addturtle', 'myfunc', + 'myfunc1arg', 'myfunc2arg', 'myfunc3arg', 'comment', + 'sandwichtop', 'sandwichtop2', 'userdefined', + 'userdefined2args','userdefined3args'] + +CONTENT_ARGS = ['show', 'showaligned', 'push', 'storein', 'storeinbox1', + 'storeinbox2'] + +# +# Status blocks +# + +MEDIA_SHAPES = ['audiooff', 'audioon', 'audiosmall', + 'journaloff', 'journalon', 'journalsmall', + 'descriptionoff', 'descriptionon', 'descriptionsmall', + 'pythonoff', 'pythonon', 'pythonsmall', + 'list', '1x1', '1x1a', '2x1', '1x2', '2x2'] + +OVERLAY_SHAPES = ['Cartesian', 'Cartesian_labeled', 'polar'] + +STATUS_SHAPES = ['status', 'info', 'nostack', 'noinput', 'emptyheap', + 'emptybox', 'nomedia', 'nocode', 'overflowerror', 'negroot', + 'syntaxerror', 'nofile', 'nojournal', 'zerodivide'] + +# +# Emulate Sugar toolbar when running from outside of Sugar +# +TOOLBAR_SHAPES = ['hideshowoff', 'eraseron', 'run-fastoff', + 'run-slowoff', 'debugoff', 'stopiton'] + +# +# Legacy names +# +OLD_NAMES = {'product':'product2', 'storeinbox':'storein', 'minus':'minus2', + 'division':'division2', 'plus':'plus2', 'and':'and2', 'or':'or2', + 'less':'less2', 'greater':'greater2', 'equal':'equal2', + 'remainder':'remainder2', 'identity':'identity2', + 'division':'division2', 'audiooff':'audio', + 'descriptionoff':'description','template3':'templatelist', + 'template1':'template1x1', 'template2':'template2x1', + 'template6':'template1x2', 'template7':'template2x2', + 'template4':'template1x1a', 'hres':'width', 'vres':'height' } + +# +# Define the relative size and postion of media objects +# (w, h, x, y, dx, dy) +# +TITLEXY = (0.9375, 0.875) + +# +# Relative placement of portfolio objects (used by depreciated blocks) +# +TEMPLATES = {'t1x1': (0.5, 0.5, 0.0625, 0.125, 1.05, 0), + 't2z1': (0.5, 0.5, 0.0625, 0.125, 1.05, 1.05), + 't1x2': (0.45, 0.45, 0.0625, 0.125, 1.05, 1.05), + 't2x2': (0.45, 0.45, 0.0625, 0.125, 1.05, 1.05), + 't1x1a': (0.9, 0.9, 0.0625, 0.125, 0, 0), + 'bullet': (1, 1, 0.0625, 0.125, 0, 0.1), + 'insertimage': (0.333, 0.333)} + +# +# Names for blocks without names for popup help +# +SPECIAL_NAMES = { + 'audio':_('audio'), + 'division2':_('divide'), + 'equal2':_('equal'), + 'greater2':_('greater than'), + 'hspace':_('horizontal space'), + 'identity2':_('identity'), + 'if':_('if then'), + 'ifelse':_('if then else'), + 'journal':_('journal'), + 'less2':_('less than'), + 'minus2':_('minus'), + 'nop':_('Python code'), + 'number':_('number'), + 'plus2':_('plus'), + 'product2':_('multiply'), + 'sqrt':_('square root'), + 'template1x1':_('presentation 1x1'), + 'template1x1a':_('presentation 1x1'), + 'template1x2':_('presentation 1x2'), + 'template2x1':_('presentation 2x1'), + 'template2x2':_('presentation 2x2'), + 'templatelist':_('presentation bulleted list'), + 'textsize':_('text size'), + 'vspace':_('vertical space')} + +# +# Help messages +# +HELP_STRINGS = { + 'addturtle':_("chooses which turtle to command"), + 'and2':_("logical AND operator"), + 'arc':_("moves turtle along an arc"), + 'audio':_("Sugar Journal audio object"), + 'back':_("moves turtle backward"), + 'blocks':_("Palette of variable blocks"), + 'bottompos':_("ycor of bottom of screen"), + 'box1':_("Variable 1 (numeric value)"), + 'box2':_("Variable 2 (numeric value)"), + 'box':_("named variable (numeric value)"), + 'cartesian':_("displays Cartesian coordinates"), + 'clean':_("clears the screen and reset the turtle"), + 'clearheap':_("emptys FILO (first-in-last-out heap)"), + 'color':_("holds current pen color (can be used in place of a number block)"), + 'colors':_("Palette of pen colors"), + 'comment':_("places a comment in your code"), + 'debugoff':_("Debug"), + 'description':_("Sugar Journal description field"), + 'division2':_("divides top numeric input (numerator) by bottom numeric input (denominator)"), + 'empty':_("permanently deletes items in trash"), + 'eraseron':_("Clean"), + 'equal2':_("logical equal-to operator"), + 'extras':_("Palette of extra options"), + 'fillscreen':_("fills the background with (color, shade)"), + 'flow':_("Palette of flow operators"), + 'forever':_("loops forever"), + 'forward':_("moves turtle forward"), + 'fullscreen':_("hides the Sugar toolbars"), + 'greater2':_("logical greater-than operator"), + 'hat1':_("top of Action 1 stack"), + 'hat2':_("top of Action 2 stack"), + 'hat':_("top of nameable action stack"), + 'heading':_("holds current heading value of the turtle (can be used in place of a number block)"), + 'height':_("the canvas height"), + 'hideblocks':_("declutters canvas by hiding blocks"), + 'hideshowoff':_("Hide blocks"), + 'hspace':_("jogs stack right"), + 'identity2':_("identity operator used for extending blocks"), + 'ifelse':_("if-then-else operator that uses boolean operators from Numbers palette"), + 'if':_("if-then operator that uses boolean operators from Numbers palette"), + 'journal':_("Sugar Journal media object"), + 'kbinput':_("query for keyboard input (results stored in keyboard block)"), + 'keyboard':_("holds results of query-keyboard block"), + 'leftpos':_("xcor of left of screen"), + 'left':_("turns turtle counterclockwise (angle in degrees)"), + 'less2':_("logical less-than operator"), + 'minus2':_("subtracts bottom numeric input from top numeric input"), + 'myfunc':_("a programmable block: used to add advanced math equations, e.g., sin(x)"), + 'myfunc1arg':_("a programmable block: used to add advanced single-valriable math equations, e.g., sin(x)"), + 'myfunc2arg':_("a programmable block: used to add advanced multi-variable math equations, e.g., sqrt(x*x+y*y)"), + 'myfunc3arg':_("a programmable block: used to add advanced multi-varialble math equations, e.g., sin(x+y+z)"), + 'next':_('displays next palette'), + 'nop':_("runs code found in the tamyblock.py module found in the Journal"), + 'not':_("logical NOT operator"), + 'numbers':_("Palette of numeric operators"), + 'number':_("used as numeric input in mathematic operators"), + 'or':_("logical OR operator"), + 'orientation':_("changes the orientation of the palette of blocks"), + 'pendown':_("Turtle will draw when moved."), + 'pen':_("Palette of pen commands"), + 'pensize':_("holds current pen size (can be used in place of a number block)"), + 'penup':_("Turtle will not draw when moved."), + 'picture1x1':_("presentation template: select Journal object (with description)"), + 'picture1x1a':_("presentation template: select Journal object (no description)"), + 'picture1x2':_("presentation template: select two Journal objects"), + 'picture2x1':_("presentation template: select two Journal objects"), + 'picture2x2':_("presentation template: select four Journal objects"), + 'picturelist':_("presentation template: list of bullets"), + 'pitch':_('microphone input pitch'), + 'plus2':_("adds two alphanumeric inputs"), + 'polar':_("displays polar coordinates"), + 'pop':_("pops value off FILO (first-in last-out heap)"), + 'portfolio':_("Palette of presentation templates"), + 'print':_("prints value in status block at bottom of the screen"), + 'printheap':_("shows values in FILO (first-in last-out heap)"), + 'product2':_("multiplies two numeric inputs"), + 'push':_("pushes value onto FILO (first-in last-out heap)"), + 'random':_("returns random number between minimum (top) and maximum (bottom) values"), + 'remainder2':_("modular (remainder) operator"), + 'repeat':_("loops specified number of times"), + 'resistance':_("sensor input resistance"), + 'restore':_("restores most recent blocks from trash"), + 'restoreall':_("restore all blocks from trash"), + 'rightpos':_("xcor of right of screen"), + 'right':_("turns turtle clockwise (angle in degrees)"), + 'run-fastoff':_("Run"), + 'run-slowoff':_("Step"), + 'sandwichbottom':_("bottom block in a collapsibe stack: click to collapse"), + 'sandwichcollapsed':_("bottom block in a collapsed stack: click to open"), + 'sandwichtop':_("top of a collapsible stack"), + 'sandwichtop2':_("top of a collapsed stack"), + 'savepix':_("saves a picture to the Sugar Journal"), + 'savesvg':_("saves turtle graphics as an SVG file in the Sugar Journal"), + 'scale':_("holds current scale value"), + 'setcolor':_("sets color of the line drawn by the turtle"), + 'seth':_("sets the heading of the turtle (0 is towards the top of the screen.)"), + 'setpensize':_("sets size of the line drawn by the turtle"), + 'setscale':_("sets the scale of media"), + 'setshade':_("sets shade of the line drawn by the turtle"), + 'settextcolor':_("sets color of text drawn by the turtle"), + 'settextsize':_("sets size of text drawn by turtle"), + 'setxy':_("moves turtle to position xcor, ycor; (0, 0) is in the center of the screen."), + 'shade':_("holds current pen shade"), + 'show':_("draws text or show media from the Journal"), + 'showblocks':_("restores hidden blocks"), + 'sqrt':_("calculates square root"), + 'stack1':_("invokes Action 1 stack"), + 'stack2':_("invokes Action 2 stack"), + 'stack':_("invokes named action stack"), + 'start':_("connects action to toolbar run buttons"), + 'stopiton':_("Stop turtle"), + 'stopstack':_("stops current action"), + 'storeinbox1':_("stores numeric value in Variable 1"), + 'storeinbox2':_("stores numeric value in Variable 2"), + 'storein':_("stores numeric value in named variable"), + 'string':_("string value"), + 'template1x1':_("presentation template: select Journal object (with description)"), + 'template1x1a':_("presentation template: select Journal object (no description)"), + 'template1x2':_("presentation template: select two Journal objects"), + 'template2x1':_("presentation template: select two Journal objects"), + 'template2x2':_("presentation template: select four Journal objects"), + 'templatelist':_("presentation template: list of bullets"), + 'textcolor':_("holds current text color (can be used in place of a number block)"), + 'textsize':_("holds current text size (can be used in place of a number block)"), + 'toppos':_("ycor of top of screen"), + 'trash':_("Trashcan"), + 'turtle':_("Palette of turtle commands"), + 'until':_("do-until-True operator that uses boolean operators from Numbers palette"), + 'userdefined':_("runs code found in the tamyblock.py module found in the Journal"), + 'userdefined2args':_("runs code found in the tamyblock.py module found in the Journal"), + 'userdefined3args':_("runs code found in the tamyblock.py module found in the Journal"), + 'voltage':_("sensor voltage"), + 'volume':_("microphone input volume"), + 'vspace':_("jogs stack down"), + 'wait':_("pauses program execution a specified number of seconds"), + 'while':_("do-while-True operator that uses boolean operators from Numbers palette"), + 'width':_("the canvas width"), + 'xcor':_("holds current x-coordinate value of the turtle (can be used in place of a number block)"), + 'ycor':_("holds current y-coordinate value of the turtle (can be used in place of a number block)")} + +# +# 'dead key' Unicode dictionaries +# + +DEAD_KEYS = ['grave','acute','circumflex','tilde','diaeresis','abovering'] +DEAD_DICTS = [{'A':192,'E':200,'I':204,'O':210,'U':217,'a':224,'e':232,'i':236, + 'o':242,'u':249}, + {'A':193,'E':201,'I':205,'O':211,'U':218,'a':225,'e':233,'i':237, + 'o':243,'u':250}, + {'A':194,'E':202,'I':206,'O':212,'U':219,'a':226,'e':234, + 'i':238,'o':244,'u':251}, + {'A':195,'O':211,'N':209,'U':360,'a':227,'o':245,'n':241,'u':361}, + {'A':196,'E':203,'I':207,'O':211,'U':218,'a':228,'e':235, + 'i':239,'o':245,'u':252}, + {'A':197,'a':229}] +NOISE_KEYS = ['Shift_L', 'Shift_R', 'Control_L', 'Caps_Lock', 'Pause', + 'Alt_L', 'Alt_R', 'KP_Enter', 'ISO_Level3_Shift', 'KP_Divide', + 'Escape', 'Return', 'KP_Page_Up', 'Up', 'Down', 'Menu', + 'Left', 'Right', 'KP_Home', 'KP_End', 'KP_Up', 'Super_L', + 'KP_Down', 'KP_Left', 'KP_Right', 'KP_Page_Down', 'Scroll_Lock', + 'Page_Down', 'Page_Up'] +WHITE_SPACE = ['space','Tab'] + +CURSOR = '█' +RETURN = '⏎' + + +# +# Macros (groups of blocks) +# +MACROS = { + 'until': + [[0, 'forever', 0, 0, [None, 2, 1]], + [1, 'vspace', 0, 0, [0, None]], + [2, 'ifelse', 0, 0, [0, None, 3, None, None]], + [3, 'vspace', 0, 0, [2, 4]], + [4, 'stopstack', 0, 0, [3, None]]], + 'while': + [[0, 'forever', 0, 0, [None, 2, 1]], + [1, 'vspace', 0, 0, [0, None]], + [2, 'ifelse', 0, 0, [0, None, 3, 4, None]], + [3, 'vspace', 0, 0, [2, None]], + [4, 'stopstack', 0, 0, [2, None]]], + 'kbinput': + [[0, 'forever', 0, 0, [None, 1, None]], + [1, 'kbinput', 0, 0, [0, 2]], + [2, 'vspace', 0, 0, [1, 3]], + [3, 'if', 0, 0, [2, 4, 7, 8]], + [4, 'greater2', 0, 0, [3, 5, 6, None]], + [5, 'keyboard', 0, 0, [4, None]], + [6, ['number', '0'], 0, 0, [4, None]], + [7, 'stopstack', 0, 0, [3, None]], + [8, 'vspace', 0, 0, [3, 9]], + [9, 'wait', 0, 0, [8, 10, None]], + [10, ['number', '1'], 0, 0, [9, None]]], + 'picturelist': + [[0, 'sandwichtop', 0, 0, [None, 1, 2]], + [1, ['string', _('bulleted list')], 0, 0, [0, None]], + [2, 'setxy', 0, 0, [0, 3, 4, 5]], + [3, 'titlex', 0, 0, [2, None]], + [4, 'titley', 0, 0, [2, None]], + [5, 'setscale', 0, 0, [2, 6, 7]], + [6, ['number', '100'], 0, 0, [5, None]], + [7, 'show', 0, 0, [5, 8, 9]], + [8, ['string',_('Title')], 0, 0, [7, None]], + [9, 'setxy', 0, 0, [7, 10, 11, 12]], + [10, 'leftx', 0, 0, [9, None]], + [11, 'topy', 0, 0, [9, None]], + [12, 'setscale', 0, 0, [9, 13, 14]], + [13, ['number', '67'], 0, 0, [12, None]], + [14, 'list', 0, 0, [12, 15, 16, 17]], + [15, ['string','∙ '], 0, 0, [14, None]], + [16, ['string','∙ '], 0, 0, [14, None]], + [17, 'sandwichbottom', 0, 0, [14, None]]], + 'picture1x1a': + [[0, 'sandwichtop', 0, 0, [None, 1, 2]], + [1, ['string', _('picture')], 0, 0, [0, None]], + [2, 'setxy', 0, 0, [0, 3, 4, 5]], + [3, 'titlex', 0, 0, [2, None]], + [4, 'titley', 0, 0, [2, None]], + [5, 'setscale', 0, 0, [2, 6, 7]], + [6, ['number', '100'], 0, 0, [5, None]], + [7, 'show', 0, 0, [5, 8, 9]], + [8, ['string',_('Title')], 0, 0, [7, None]], + [9, 'setscale', 0, 0, [7, 10, 11]], + [10, ['number', '90'], 0, 0, [9, None]], + [11, 'setxy', 0, 0, [9, 12, 13, 14]], + [12, 'leftx', 0, 0, [11, None]], + [13, 'topy', 0, 0, [11, None]], + [14, 'showaligned', 0, 0, [11, 15, 16]], + [15, 'journal', 0, 0, [14, None]], + [16, 'sandwichbottom', 0, 0, [14, None]]], + 'picture2x2': + [[0, 'sandwichtop', 0, 0, [None, 1, 2]], + [1, ['string', _('2×2 pictures')], 0, 0, [0, None]], + [2, 'setxy', 0, 0, [0, 3, 4, 5]], + [3, 'titlex', 0, 0, [2, None]], + [4, 'titley', 0, 0, [2, None]], + [5, 'setscale', 0, 0, [2, 6, 7]], + [6, ['number', '100'], 0, 0, [5, None]], + [7, 'show', 0, 0, [5, 8, 9]], + [8, ['string',_('Title')], 0, 0, [7, None]], + [9, 'setscale', 0, 0, [7, 10, 11]], + [10, ['number', '35'], 0, 0, [9, None]], + [11, 'setxy', 0, 0, [9, 12, 13, 14]], + [12, 'leftx', 0, 0, [11, None]], + [13, 'topy', 0, 0, [11, None]], + [14, 'showaligned', 0, 0, [11, 15, 16]], + [15, 'journal', 0, 0, [14, None]], + [16, 'setxy', 0, 0, [14, 17, 18, 19]], + [17, 'rightx', 0, 0, [16, None]], + [18, 'topy', 0, 0, [16, None]], + [19, 'showaligned', 0, 0, [16, 20, 21]], + [20, 'journal', 0, 0, [19, None]], + [21, 'setxy', 0, 0, [19, 22, 23, 24]], + [22, 'leftx', 0, 0, [21, None]], + [23, 'bottomy', 0, 0, [21, None]], + [24, 'showaligned', 0, 0, [21, 25, 26]], + [25, 'journal', 0, 0, [24, None]], + [26, 'setxy', 0, 0, [24, 27, 28, 29]], + [27, 'rightx', 0, 0, [26, None]], + [28, 'bottomy', 0, 0, [26, None]], + [29, 'showaligned', 0, 0, [26, 30, 31]], + [30, 'journal', 0, 0, [29, None]], + [31, 'sandwichbottom', 0, 0, [29, None]]], + 'picture2x1': + [[0, 'sandwichtop', 0, 0, [None, 1, 2]], + [1, ['string', _('2×1 pictures')], 0, 0, [0, None]], + [2, 'setxy', 0, 0, [0, 3, 4, 5]], + [3, 'titlex', 0, 0, [2, None]], + [4, 'titley', 0, 0, [2, None]], + [5, 'setscale', 0, 0, [2, 6, 7]], + [6, ['number', '100'], 0, 0, [5, None]], + [7, 'show', 0, 0, [5, 8, 9]], + [8, ['string',_('Title')], 0, 0, [7, None]], + [9, 'setscale', 0, 0, [7, 10, 11]], + [10, ['number', '35'], 0, 0, [9, None]], + [11, 'setxy', 0, 0, [9, 12, 13, 14]], + [12, 'leftx', 0, 0, [11, None]], + [13, 'topy', 0, 0, [11, None]], + [14, 'showaligned', 0, 0, [11, 15, 16]], + [15, 'journal', 0, 0, [14, None]], + [16, 'setxy', 0, 0, [14, 17, 18, 19]], + [17, 'leftx', 0, 0, [16, None]], + [18, 'bottomy', 0, 0, [16, None]], + [19, 'showaligned', 0, 0, [16, 20, 21]], + [20, 'description', 0, 0, [19, None]], + [21, 'setxy', 0, 0, [19, 22, 23, 24]], + [22, 'rightx', 0, 0, [21, None]], + [23, 'topy', 0, 0, [21, None]], + [24, 'showaligned', 0, 0, [21, 25, 26]], + [25, 'journal', 0, 0, [24, None]], + [26, 'setxy', 0, 0, [24, 27, 28, 29]], + [27, 'rightx', 0, 0, [26, None]], + [28, 'bottomy', 0, 0, [26, None]], + [29, 'showaligned', 0, 0, [26, 30, 31]], + [30, 'description', 0, 0, [29, None]], + [31, 'sandwichbottom', 0, 0, [29, None]]], + 'picture1x2': + [[0, 'sandwichtop', 0, 0, [None, 1, 2]], + [1, ['string', _('1×2 pictures')], 0, 0, [0, None]], + [2, 'setxy', 0, 0, [0, 3, 4, 5]], + [3, 'titlex', 0, 0, [2, None]], + [4, 'titley', 0, 0, [2, None]], + [5, 'setscale', 0, 0, [2, 6, 7]], + [6, ['number', '100'], 0, 0, [5, None]], + [7, 'show', 0, 0, [5, 8, 9]], + [8, ['string',_('Title')], 0, 0, [7, None]], + [9, 'setscale', 0, 0, [7, 10, 11]], + [10, ['number', '35'], 0, 0, [9, None]], + [11, 'setxy', 0, 0, [9, 12, 13, 14]], + [12, 'leftx', 0, 0, [11, None]], + [13, 'topy', 0, 0, [11, None]], + [14, 'showaligned', 0, 0, [11, 15, 16]], + [15, 'journal', 0, 0, [14, None]], + [16, 'setxy', 0, 0, [14, 17, 18, 19]], + [17, 'rightx', 0, 0, [16, None]], + [18, 'topy', 0, 0, [16, None]], + [19, 'showaligned', 0, 0, [16, 20, 21]], + [20, 'description', 0, 0, [19, None]], + [21, 'setxy', 0, 0, [19, 22, 23, 24]], + [22, 'leftx', 0, 0, [21, None]], + [23, 'bottomy', 0, 0, [21, None]], + [24, 'showaligned', 0, 0, [21, 25, 26]], + [25, 'journal', 0, 0, [24, None]], + [26, 'setxy', 0, 0, [24, 27, 28, 29]], + [27, 'rightx', 0, 0, [26, None]], + [28, 'bottomy', 0, 0, [26, None]], + [29, 'showaligned', 0, 0, [26, 30, 31]], + [30, 'description', 0, 0, [29, None]], + [31, 'sandwichbottom', 0, 0, [29, None]]], + 'picture1x1': + [[0, 'sandwichtop', 0, 0, [None, 1, 2]], + [1, ['string', _('1×1 pictures')], 0, 0, [0, None]], + [2, 'setxy', 0, 0, [0, 3, 4, 5]], + [3, 'titlex', 0, 0, [2, None]], + [4, 'titley', 0, 0, [2, None]], + [5, 'setscale', 0, 0, [2, 6, 7]], + [6, ['number', '100'], 0, 0, [5, None]], + [7, 'show', 0, 0, [5, 8, 9]], + [8, ['string',_('Title')], 0, 0, [7, None]], + [9, 'setscale', 0, 0, [7, 10, 11]], + [10, ['number', '35'], 0, 0, [9, None]], + [11, 'setxy', 0, 0, [9, 12, 13, 14]], + [12, 'leftx', 0, 0, [11, None]], + [13, 'topy', 0, 0, [11, None]], + [14, 'showaligned', 0, 0, [11, 15, 16]], + [15, 'journal', 0, 0, [14, None]], + [16, 'setxy', 0, 0, [14, 17, 18, 19]], + [17, 'rightx', 0, 0, [16, None]], + [18, 'topy', 0, 0, [16, None]], + [19, 'showaligned', 0, 0, [16, 20, 21]], + [20, 'description', 0, 0, [19, None]], + [21, 'sandwichbottom', 0, 0, [19, None]]], + } diff --git a/taexporthtml.py b/taexporthtml.py index 972f406..5a0d163 100644 --- a/taexporthtml.py +++ b/taexporthtml.py @@ -18,325 +18,129 @@ #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN #THE SOFTWARE. -import tawindow -import talogo -from sugar.activity import activity -from sugar.datastore import datastore +import pygtk +pygtk.require('2.0') +import gtk import os.path -import subprocess -from talogo import get_pixbuf_from_journal -from tahoverhelp import * +from tautils import data_to_string, save_picture, image_to_base64 from gettext import gettext as _ def save_html(self, tw, embed_flag=True): - + """ Either: Save canvas and code or pictures to HTML """ self.embed_images = embed_flag - try: - self.datapath = os.path.join(activity.get_activity_root(), "instance") - except: - # early versions of Sugar (656) didn't support get_activity_root() - self.datapath = os.path.join( \ - os.environ['HOME'], \ - ".sugar/default/org.laptop.TurtleArtActivity/instance") - # dictionary defines the html wrappers around template elements - # start of block, end of block + # A dictionary to define the HTML wrappers around template elements self.html_glue = { - 'doctype': ("\n", ""), + 'doctype': "\n", 'html': ("\n", "\n"), - 'head': ("\n\n", \ - "\n"), - 'meta': ("\n", ""), + 'html_svg': ("\n", + "\n"), + 'head': ("\n\n", "\n"), + 'meta': "\n", 'title': ("", "\n"), - 'style': ("\n"), + 'style': ("\n"), 'body': ("\n", "\n\n"), 'div': ("
\n", "
\n"), 'slide': ("\n\n"), 'h1': ("

", "

\n"), 'table': ("\n", "
\n"), 'tr': ("\n", "\n"), - 'td': ("\n", \ - "\n\n"), - 'img': ("\"Image\"\n"), + 'td': ("\n", + "\n\n"), + 'img': ("\"Image\"\n"), 'img2': ("\"Image\"\n"), + 'img3': ("\"Image\"\n"), 'ul': ("\n", "
\n"), 'li': ("", "\n") } + comment = "\n" if self.embed_images == True: - # store images in-line as base64 - self.html_glue['img'] = ("\"Image\"\n") - self.html_glue['img2'] = ("\"Image\"\n") - - bs = tawindow.blocks(tw) - code = "" - self.imagecount = 0 # incremented for each image - slidecount = 0 # incremented for each template (slide) - for b in bs: - this_stack = "" - data = walk_stack(self, tw, b) - show = 0 - tp1, tp2, tp3, tp8, tp6, tp7 = 0,0,0,0,0,0 - for d in data: - if type(d) is float or type(d) is int: - d = str(d) # convert floats and ints to strings - # transalate some Turtle Art blocks into HTML - # show and template blocks - # ignores most turtle graphics - if d == "show": # show bricks take one argument - show = 1 - elif d == "container": # containers hold a media block - show = 2 - elif show > 0: # process the argument to show or container - if show == 1: # could be media or a string - if d[0:8] == '#smedia_': # show media - this_stack += add_image(self,d) - elif d[0:8] == '#sdescr_': # show description - this_stack += add_description(self,d) - elif d[0:2] == '#s': # show a string - this_stack += d[2:] - show = 0 - else: - this_stack += d - show = 0 - # process slide templates - elif d == "tp1": - tp1 = 1 - elif d == "tp2": - tp2 = 1 - elif d == "tp3": - tp3 = 8 - elif d == 'tp8': - tp8 = 1 - elif d == "tp6": - tp6 = 1 - elif d == "tp7": - tp7 = 1 - elif tp3 > 0: # bullets - if tp3 == 8: # title comes first - tmp = self.html_glue['slide'][0] + \ - str(slidecount) + \ - self.html_glue['slide'][1] + \ - self.html_glue['div'][0] + \ - self.html_glue['h1'][0] + \ - d[2:] + \ - self.html_glue['h1'][1] + \ - self.html_glue['ul'][0] - bullets = 6 - slidecount += 1 - elif d[2:] != "": # process bullets - tmp = self.html_glue['li'][0] + d[2:] + \ - self.html_glue['li'][1] - this_stack += tmp - tmp = "" - bullets -= 1 - if bullets == 0: - this_stack += (self.html_glue['ul'][1] + \ - self.html_glue['div'][1]) - elif tp1 == 1 or tp2 == 1 or tp8 == 1 or\ - tp6 == 1 or tp7 == 1: - # first time through, process title - this_stack += (self.html_glue['slide'][0] + \ - str(slidecount) + \ - self.html_glue['slide'][1] + \ - self.html_glue['div'][0] + \ - self.html_glue['h1'][0] + d[2:] + \ - self.html_glue['h1'][1] + \ - self.html_glue['table'][0]) - if tp1 > 0: tp1 += 1 - elif tp2 > 0: tp2 += 1 - elif tp8 > 0: tp8 += 1 - elif tp6 > 0: tp6 += 1 - elif tp7 > 0: tp7 += 1 - slidecount += 1 - elif tp1 > 1 or tp6 > 1: - tmp = self.html_glue['tr'][0] + \ - self.html_glue['td'][0] - if d[0:8] == '#smedia_': - tmp += (add_image(self,d) + \ - self.html_glue['td'][1] + \ - self.html_glue['td'][0] + \ - add_description(self,d) + \ - self.html_glue['td'][1] + \ - self.html_glue['tr'][1]) - elif d[0:8] == '#sdescr_': - tmp += (add_description(self,d) + \ - self.html_glue['td'][1] + \ - self.html_glue['tr'][1]) - if tp1 > 1 or tp6 > 2: - this_stack += (tmp + self.html_glue['table'][1] + \ - self.html_glue['div'][1]) - tp1 = 0 - tp6 = 0 - else: - this_stack += tmp - tp6 += 1 - elif tp8 > 1: - tmp = self.html_glue['tr'][0] + \ - self.html_glue['td'][0] - if d[0:8] == '#smedia_': - tmp += (add_image(self,d) + \ - self.html_glue['td'][1] + \ - self.html_glue['tr'][1]) - elif d[0:8] == '#sdescr_': - tmp += (add_description(self,d) + \ - self.html_glue['td'][1] + \ - self.html_glue['tr'][1]) - this_stack += (tmp + self.html_glue['table'][1] + \ - self.html_glue['div'][1]) - tp8 = 0 - elif tp2 > 1 or tp7 > 1: - if tp2 == 2 or tp7 == 2: - tmp = self.html_glue['tr'][0] + \ - self.html_glue['td'][0] - else: - tmp += self.html_glue['td'][0] - if tp2 == 2: - saved_description = add_description(self,d) - if tp2 == 2 or tp7 == 2: - if d[0:8] == '#smedia_': - tmp += (add_image(self,d) + \ - self.html_glue['td'][1]) - elif d[0:8] == '#sdescr_': - tmp += (add_description(self,d) + \ - self.html_glue['td'][1]) - if tp2 > 1: tp2 += 1 - elif tp7 > 1: tp7 += 1 - elif tp2 == 3: - if d[0:8] == '#smedia_': - tmp += add_image(self,d) - elif d[0:8] == '#sdescr_': - tmp += add_description(self,d) - tmp += (self.html_glue['td'][1] + \ - self.html_glue['tr'][1] + \ - self.html_glue['tr'][0] + \ - self.html_glue['td'][0]) - tmp += saved_description - saved_desciption = "" - tmp += (self.html_glue['td'][1] + \ - self.html_glue['td'][0]) - tmp += (add_description(self,d) + \ - self.html_glue['td'][1] + \ - self.html_glue['tr'][1]) - this_stack += (tmp + self.html_glue['table'][1] + \ - self.html_glue['div'][1]) - tp2 = 0 - elif tp7 == 3: - if d[0:8] == '#smedia_': - tmp += add_image(self,d) - elif d[0:8] == '#sdescr_': - tmp += add_description(self,d) - tmp += (self.html_glue['td'][1] + \ - self.html_glue['tr'][1] + \ - self.html_glue['tr'][0]) - tp7 += 1 - elif tp7 == 4: - if d[0:8] == '#smedia_': - tmp += add_image(self,d) - elif d[0:8] == '#sdescr_': - tmp += add_description(self,d) - tmp += (self.html_glue['td'][1]) - tp7 += 1 - elif tp7 == 5: - if d[0:8] == '#smedia_': - tmp += add_image(self,d) - elif d[0:8] == '#sdescr_': - tmp += add_description(self,d) - tmp += (self.html_glue['td'][1] + \ - self.html_glue['tr'][1]) - this_stack += (tmp + self.html_glue['table'][1] + \ - self.html_glue['div'][1]) - tp7 = 0 - - if len(data) > 0: - code += this_stack + self.html_glue['img'] = ("+ \
+                                 \n") + self.html_glue['img2'] = ("\"Image\"\n") """ - if no show or template blocks were present, we've got no slides, - so save a screendump instead + If there are saved_pictures, put them into a .html; otherwise, save a + screendump and the turtle project code. """ - if slidecount == 0: - # save a screen dump instead - filename = os.path.join(self.datapath, 'image.png') - tawindow.save_pict(tw,filename) - # if the embed_images flag is True - # embed_images base64 into the html + code = "" + if len(tw.saved_pictures) > 0: + for i, p in enumerate(tw.saved_pictures): + code += self.html_glue['slide'][0] + str(i) + code += self.html_glue['slide'][1] + \ + self.html_glue['div'][0] + \ + self.html_glue['h1'][0] + if self.embed_images == True: + f = open(p, "r") + imgdata = f.read() + f.close() + if p.endswith(('.svg')): + tmp = imgdata + else: + pixbuf = gtk.gdk.pixbuf_new_from_file(p) + imgdata = image_to_base64(pixbuf, tw.activity) + tmp = self.html_glue['img2'][0] + tmp += imgdata + tmp += self.html_glue['img2'][1] + else: + if p.endswith(('.svg')): + f = open(p, "r") + imgdata = f.read() + f.close() + tmp = imgdata + else: + tmp = self.html_glue['img3'][0] + tmp += p + tmp += self.html_glue['img3'][1] + code += tmp + \ + self.html_glue['h1'][1] + \ + self.html_glue['div'][1] + else: if self.embed_images == True: - base64 = os.path.join(self.datapath, 'base64tmp') - cmd = "base64 <" + filename + " >" + base64 - subprocess.check_call(cmd, shell=True) - f = open( base64, 'r') - imgdata = f.read() - f.close() - code += (self.html_glue['img'][0] + \ - imgdata + \ - self.html_glue['img'][1]) - code += (self.html_glue['div'][0]) - # get a json dump of the code - code += (tawindow.save_string(tw,False)) - code += (self.html_glue['div'][1]) - code = self.html_glue['doctype'][0] + \ - self.html_glue['html'][0] + \ + imgdata = image_to_base64(save_picture(self.tw.canvas), tw.activity) + else: + imgdata = os.path.join(self.tw.load_save_folder, 'image') + self.tw.save_as_image(imgdata) + code += (self.html_glue['img'][0] + imgdata + \ + self.html_glue['img'][1]) + code += self.html_glue['div'][0] + code += data_to_string(tw.assemble_data_to_save(False, True)) + code += self.html_glue['div'][1] + + if tw.running_sugar: + title = _("Turtle Art") + " " + tw.activity.metadata['title'] + else: + title = _("Turtle Art") + + header = self.html_glue['doctype'] + \ + self.html_glue['html'][0] + style = self.html_glue['style'][0] + \ + self.html_glue['style'][1] + if len(tw.saved_pictures) > 0: + if tw.saved_pictures[0].endswith(('.svg')): + header = self.html_glue['html_svg'][0] + style = comment + + code = header + \ self.html_glue['head'][0] + \ - self.html_glue['meta'][0] + \ + self.html_glue['meta'] + \ self.html_glue['title'][0] + \ - _("Turtle Art") + " " + tw.activity.metadata['title'] + \ + title + \ self.html_glue['title'][1] + \ - self.html_glue['style'][0] + \ - self.html_glue['style'][1] + \ + style + \ self.html_glue['head'][1] + \ self.html_glue['body'][0] + \ code + \ self.html_glue['body'][1] + \ self.html_glue['html'][1] return code - -def walk_stack(self, tw, spr): - top = tawindow.find_top_block(spr) - if spr == top: - # only walk the stack if the block is the top block - return talogo.run_blocks(tw.lc, top, tawindow.blocks(tw), False) - else: - # not top of stack, then return empty list - return [] - -def add_image(self, d): - if d[8:] != "None": - try: - dsobject = datastore.get(d[8:]) - pixbuf = get_pixbuf_from_journal(dsobject,400,300) - filename = os.path.join(self.datapath, 'image' + \ - str(self.imagecount) + ".png") - pixbuf.save(filename, "png") - # if the embed_images flag is True - # embed images base64 into the html - if self.embed_images == True: - base64 = os.path.join(self.datapath, 'base64tmp') - cmd = "base64 <" + filename + " >" + base64 - subprocess.check_call(cmd, shell=True) - f = open( base64, 'r') - imgdata = f.read() - f.close() - tmp = self.html_glue['img2'][0] - if self.embed_images == True: - tmp += imgdata - else: - tmp += str(self.imagecount) - self.imagecount += 1 - tmp += self.html_glue['img2'][1] - return tmp - except: - return "" - return "" - -def add_description(self, d): - # show description - if d[8:] != "None": - try: - dsobject = datastore.get(d[8:]) - return dsobject.metadata['description'] - except: - return "" - return "" diff --git a/taexportlogo.py b/taexportlogo.py index 2fb22bf..7fde81c 100644 --- a/taexportlogo.py +++ b/taexportlogo.py @@ -1,4 +1,4 @@ -#Copyright (c) 2008-9, Walter Bender +#Copyright (c) 2008-10, Walter Bender #Permission is hereby granted, free of charge, to any person obtaining a copy #of this software and associated documentation files (the "Software"), to deal @@ -18,15 +18,18 @@ #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN #THE SOFTWARE. -import tawindow -import talogo +IGNORE = ["hideblocks", "showblocks", "fullscreen", "polar", "cartesian", + "sandwichbottom", "id"] + import math +from tautils import walk_stack try: from sugar.datastore import datastore except: pass -def save_logo(self, tw): +def save_logo(tw): + """ We need to set up the Turtle Art color palette and color processing. """ color_processing = "\ to tasetpalette :i :r :g :b :myshade \r\ make \"s ((:myshade - 50) / 50) \r\ @@ -37,9 +40,9 @@ make \"g (:g * :s) \r\ make \"b (:b * :s) \r\ ] [ \ make \"s (:s * 0.9) \r\ -make \"r (:r + ((100-:r) * :s)) \r\ -make \"g (:g + ((100-:g) * :s)) \r\ -make \"b (:b + ((100-:b) * :s)) \r\ +make \"r (:r + ((99-:r) * :s)) \r\ +make \"g (:g + ((99-:g) * :s)) \r\ +make \"b (:b + ((99-:b) * :s)) \r\ ] \ setpalette :i (list :r :g :b) \r\ end \r\ @@ -75,257 +78,276 @@ setpencolor :color + 8 \r\ end \r\ \ make \"colors [ \ -100 0 0 100 5 0 100 10 0 100 15 0 100 20 0 100 25 0 100 30 0 100 35 0 100 40 0 100 45 0 \ -100 50 0 100 55 0 100 60 0 100 65 0 100 70 0 100 75 0 100 80 0 100 85 0 100 90 0 100 95 0 \ -100 100 0 90 100 0 80 100 0 70 100 0 60 100 0 50 100 0 40 100 0 30 100 0 20 100 0 10 100 0 \ -0 100 0 0 100 5 0 100 10 0 100 15 0 100 20 0 100 25 0 100 30 0 100 35 0 100 40 0 100 45 \ -0 100 50 0 100 55 0 100 60 0 100 65 0 100 70 0 100 75 0 100 80 0 100 85 0 100 90 0 100 95 \ -0 100 100 0 95 100 0 90 100 0 85 100 0 80 100 0 75 100 0 70 100 0 65 100 0 60 100 0 55 100 \ -0 50 100 0 45 100 0 40 100 0 35 100 0 30 100 0 25 100 0 20 100 0 15 100 0 10 100 0 5 100 \ -0 0 100 5 0 100 10 0 100 15 0 100 20 0 100 25 0 100 30 0 100 35 0 100 40 0 100 45 0 100 \ -50 0 100 55 0 100 60 0 100 65 0 100 70 0 100 75 0 100 80 0 100 85 0 100 90 0 100 95 0 100 \ -100 0 100 100 0 90 100 0 80 100 0 70 100 0 60 100 0 50 100 0 40 100 0 30 100 0 20 100 0 10] \r\ -make \"shade 50 \r\ +99 0 0 99 5 0 99 10 0 99 15 0 99 20 0 \ +99 25 0 99 30 0 99 35 0 99 40 0 99 45 0 \ +99 50 0 99 55 0 99 60 0 99 65 0 99 70 0 \ +99 75 0 99 80 0 99 85 0 99 90 0 99 95 0 \ +99 99 0 90 99 0 80 99 0 70 99 0 60 99 0 \ +50 99 0 40 99 0 30 99 0 20 99 0 10 99 0 \ + 0 99 0 0 99 5 0 99 10 0 99 15 0 99 20 \ + 0 99 25 0 99 30 0 99 35 0 99 40 0 99 45 \ + 0 99 50 0 99 55 0 99 60 0 99 65 0 99 70 \ + 0 99 75 0 99 80 0 99 85 0 99 90 0 99 95 \ + 0 99 99 0 95 99 0 90 99 0 85 99 0 80 99 \ + 0 75 99 0 70 99 0 65 99 0 60 99 0 55 99 \ + 0 50 99 0 45 99 0 40 99 0 35 99 0 30 99 \ + 0 25 99 0 20 99 0 15 99 0 10 99 0 5 99 \ + 0 0 99 5 0 99 10 0 99 15 0 99 20 0 99 \ +25 0 99 30 0 99 35 0 99 40 0 99 45 0 99 \ +50 0 99 55 0 99 60 0 99 65 0 99 70 0 99 \ +75 0 99 80 0 99 85 0 99 90 0 99 95 0 99 \ +99 0 99 99 0 90 99 0 80 99 0 70 99 0 60 \ +99 0 50 99 0 40 99 0 30 99 0 20 99 0 10] \r\ +make \"shade 50 \r\ tasetshade :shade \r" - bs = tawindow.blocks(tw) + bs = tw.just_blocks() code = "" - # these flags are used to trigger the prepending of additional procedures - random = 0 - fillscreen = 0 - setcolor = 0 - setxy = 0 - pensize = 0 - tastack = 0 - arc = 0 - heap = 0 - write = 0 + stack_count = 0 show = 0 - minus = 0 - image = 0 + + # These flags are used to trigger the prepending of additional procedures. + random = False + fillscreen = False + setcolor = False + setxy = False + pensize = False + setpensize = False + arc = False + heap = False + write = False + minus = False + division = False + image = False + + """ + Walk through the code, substituting UCB Logo for Turtle Art primitives. + """ for b in bs: - this_stack = "" - data = walk_stack(self, tw, b) - # need to catch several special cases: - # stacks, random, setshade, et al. - stack = 0 - namedstack = 0 - namedbox = 0 - refstack = 0 - refbox = 0 - myvar = "" - for d in data: - if type(d) is float: - if namedbox == 1: - myvar += str(d) - myvar += " " - elif write == 1: - this_stack += "labelsize " - this_stack += str(d) - write = 0 - else: - this_stack += str(d) - elif show == 2: - # use title for Journal objects - if d[0:8] == '#smedia_': - try: - dsobject = datastore.get(d[8:]) - this_stack += dsobject.metadata['title'] - dsobject.destroy() - except: - this_stack += str(d) - else: - this_stack += str(d) - show = 0 - else: - # transalate some TA terms into UCB Logo - if namedstack == 1: - this_stack += "to " - this_stack += d[2:].replace(" ","_") - this_stack += "\r" - stack = 1 - namedstack = 0 - elif namedbox == 1: - if d[0:2] == "#s": - this_stack += "make \"" - this_stack += d[2:].replace(" ","_") - this_stack += " " - this_stack += myvar - namedbox = 0 - myvar = "" - else: - myvar += d - elif refstack == 1: - this_stack += d[2:].replace(" ","_") - this_stack += " " - refstack = 0 - elif refbox == 1: - this_stack += ":" - this_stack += d[2:].replace(" ","_") - refbox = 0 - elif d == "stack": - refstack = 1 - elif d == "box": - refbox = 1 - elif d == "storeinbox": - namedbox = 1 - elif d == "storeinbox1": - this_stack += "make \"box1" - elif d == "box1": - this_stack += ":box1" - elif d == "storeinbox2": - this_stack += "make \"box2" - elif d == "box2": - this_stack += ":box2" - elif d == "shade": - this_stack += ":shade" - elif d == "setshade": - setcolor = 1 - this_stack += "tasetshade" - elif d == "color": - this_stack += "pencolor" - elif d == "nop": - this_stack += " " - elif d == "start": - this_stack += "to start\r" - stack = 1 - elif d == "nop1": - this_stack += "to stack1\r" - stack = 1 - elif d == "nop2": - this_stack += "to stack2\r" - stack = 1 - elif d == "nop3": - namedstack = 1 - elif d == "stopstack": - this_stack += "stop" - elif d == "clean": - this_stack += "clearscreen" - elif d == "setxy": - setxy = 1 - this_stack += "tasetxy" - elif d == "color": - this_stack += ":color" - elif d == "plus": - this_stack += "sum" - elif d == "setcolor": - setcolor = 1 - this_stack += "tasetpencolor" - elif d == "fillscreen": - fillscreen = 1 - this_stack += "tasetbackground" - elif d == "random": - random = 1 - this_stack += "tarandom" - elif d == "pensize": - pensize = 1 - this_stack += "tapensize" - elif d == "arc": - arc = 1 - this_stack += "taarc" - elif d == "pop": - heap = 1 - this_stack += "tapop" - elif d == "push": - heap = 1 - this_stack += "tapush" - elif d == "heap": - heap = 1 - this_stack += "taprintheap" - elif d == "emptyheap": - heap = 1 - this_stack += "taclearheap" - elif d == "kbinput": - this_stack += "make \"keyboard readchar" - elif d == "keyboard": - this_stack += ":keyboard" - elif d == 'insertimage': - image = 1 - elif image == 1: - # skip this arg - image = 2 - elif image == 2: - # skip this arg - image = 0 - elif d[0:2] == "#s": - # output single characters as a string - if len(d[2:]) == 1: - this_stack += "\"" - this_stack += d[2:] - # make a sentence out of everything else - else: - this_stack += "sentence " - this_stack += d[2:].replace("\s"," \"") - this_stack += "\r" - elif d == "write": - this_stack += "label" - write = 1 - elif d == 'show': - this_stack += "label" - show = 1 - elif d == "container": - if show == 1: - show = 2 - elif d == "minus": - this_stack == "taminus" - minus = 1 - elif d == "hideblocks": - this_stack += " " - elif show == 1 and d[0:2] == "#s": - this_stack += d[2:] - # need to handle templates somehow - else: - this_stack += d - this_stack += " " - if stack: - stack = 0 - # if it is not a stack, we need to add a "to ta#" label - elif len(data) > 0: - this_stack = "to ta" + str(tastack) + "\r" + this_stack - tastack += 1 - if len(data) > 0: - code += this_stack - code += "\rend\r" - # need to define some procedures - if minus: # minus only takes on arg + this_stack = "" + data = walk_stack(tw, b) + # We need to catch several special cases: stacks, random, etc. + stack = False + namedstack = False + namedbox = False + refstack = False + refbox = False + myvar = "" + for d in data: + if type(d) == type((1, 2)): + (d, b) = d + if type(d) is float: + if namedbox: + myvar += str(d) + myvar += " " + elif write: + this_stack += "labelsize " + this_stack += str(d) + write = False + else: + this_stack += str(d) + elif show == 2: + # Use title for Journal objects + if d[0:8] == '#smedia_': + try: + dsobject = datastore.get(d[8:]) + this_stack += dsobject.metadata['title'] + dsobject.destroy() + except: + this_stack += str(d) + else: + this_stack += str(d) + show = 0 + else: + # Translate some Turtle Art primitives into UCB Logo + if namedstack: + this_stack += "to " + this_stack += d[2:].replace(" ","_") + this_stack += "\r" + stack = True + namedstack = False + elif namedbox: + if d[0:2] == "#s": + this_stack += "make \"" + this_stack += d[2:].replace(" ","_") + this_stack += " " + this_stack += myvar + namedbox = False + myvar = "" + else: + myvar += d + elif refstack: + this_stack += d[2:].replace(" ","_") + this_stack += " " + refstack = False + elif refbox: + this_stack += ":" + this_stack += d[2:].replace(" ","_") + refbox = False + elif d == "stack": + refstack = True + elif d == "box": + refbox = True + elif d == "storeinbox": + namedbox = True + elif d == "storeinbox1": + this_stack += "make \"box1" + elif d == "box1": + this_stack += ":box1" + elif d == "storeinbox2": + this_stack += "make \"box2" + elif d == "box2": + this_stack += ":box2" + elif d == "shade": + this_stack += ":shade" + elif d == "setshade": + setcolor = True + this_stack += "tasetshade" + elif d == "color": + this_stack += "pencolor" + elif d == "nop": + this_stack += " " + elif d == "start": + this_stack += "to start\r" + stack = True + elif d == "nop1": + this_stack += "to stack1\r" + stack = True + elif d == "nop2": + this_stack += "to stack2\r" + stack = True + elif d == "nop3": + namedstack = True + elif d == "stopstack": + this_stack += "stop" + elif d == "clean": + this_stack += "clearscreen" + elif d == "setxy": + setxy = True + this_stack += "tasetxy" + elif d == "color": + this_stack += ":color" + elif d == "plus": + this_stack += "sum" + elif d == "setcolor": + setcolor = True + this_stack += "tasetpencolor" + elif d == "fillscreen": + fillscreen = True + setcolor = True + this_stack += "tasetbackground" + elif d == "random": + random = True + this_stack += "tarandom" + elif d == "pensize": + pensize = True + this_stack += "tapensize" + elif d == "setpensize": + setpensize = True + this_stack += "tasetpensize" + elif d == "arc": + arc = True + this_stack += "taarc" + elif d == "pop": + heap = True + this_stack += "tapop" + elif d == "push": + heap = True + this_stack += "tapush" + elif d == "heap": + heap = True + this_stack += "taprintheap" + elif d == "emptyheap": + heap = True + this_stack += "taclearheap" + elif d == "kbinput": + this_stack += "make \"keyboard readchar" + elif d == "keyboard": + this_stack += ":keyboard" + elif d == 'insertimage': + image = True + elif image: + # Skip this arg + image = 2 + elif image == 2: + # Skip this arg + image = False + elif d[0:2] == "#s": + # output single characters as a string + if len(d[2:]): + this_stack += "\"" + this_stack += d[2:] + # make a sentence out of everything else + else: + this_stack += "sentence " + this_stack += d[2:].replace("\s"," \"") + this_stack += "\r" + elif d == "write": + this_stack += "label" + write = True + elif d == 'show' or d == 'showaligned': + this_stack += "label" + show = 1 + elif d == "minus2": + this_stack += "taminus" + minus = True + elif d == "division": + this_stack += "quotient" + elif d == "lpos": + this_stack += str(-tw.canvas.width/(tw.coord_scale*2)) + elif d == "rpos": + this_stack += str(tw.canvas.width/(tw.coord_scale*2)) + elif d == "bpos": + this_stack += str(-tw.canvas.height/(tw.coord_scale*2)) + elif d == "tpos": + this_stack += str(tw.canvas.height/(tw.coord_scale*2)) + elif d in IGNORE: + this_stack += " " + elif show == 1 and d[0:2] == "#s": + this_stack += d[2:] + # We don't handle depreciated 'template' blocks + else: + this_stack += d + this_stack += " " + if stack: + stack = False + # if it is not a stack, we need to add a "to ta#" label + elif len(data) > 0: + this_stack = "to ta" + str(stack_count) + "\r" + this_stack + stack_count += 1 + if len(data) > 0: + code += this_stack + code += "\rend\r" + + # We need to define some additional procedures. + if minus: # Logo minus only takes one argument. code = "to taminus :y :x\routput sum :x minus :y\rend\r" + code if random: # to avoid negative numbers - code = "to tarandom :min :max\r" + \ - "output (random (:max - :min)) + :min\rend\r" +\ - code - if fillscreen: # set shade than background color - code = "to tasetbackground :color :shade\r" + \ - "tasetshade :shade\rsetbackground :color\rend" + \ - code - if setcolor: # load palette - code = color_processing + code - if pensize: # return only first argument - code = "to tapensize\routput first round pensize\rend\r" + code - if setxy: # swap args and round args - code = "to tasetxy :x :y\rpenup\rsetxy :x :y\rpendown\rend\r" + code - if arc: # need to redefine this one all together - c = (2 * math.pi)/360 - code = "to taarc :a :r\rrepeat round :a [right 1 forward (" +\ - str(c) + " * :r)]\rend\r" + code - if heap: # add psuedo push and pop - code = "to tapush :foo\rmake \"taheap fput :foo :taheap\rend\r" + \ - "to tapop\rif emptyp :taheap [stop]\rmake \"tmp first :taheap\r" +\ - "make \"taheap butfirst :taheap\routput :tmp\rend\r" + \ - "to taclearheap\rmake \"taheap []\rend\r" + \ - "to taprintheap \rprint :taheap\rend\r" + \ - "make \"taheap []\r" + code + code = "to tarandom :min :max\r" + \ + "output (random (:max - :min)) + :min\rend\r" + code + if fillscreen: # Set shade than background color + code = "to tasetbackground :color :shade\r" + \ + "tasetshade :shade\rsetbackground :color\rend\r" + code + if setcolor: # Load the Turtle Art color palette. + code = color_processing + code + if setpensize: # Set int of pensize + code = "to tasetpensize :a\rsetpensize round :a\rend\r" + code + if pensize: # Return only the first argument. + code = "to tapensize\routput first round pensize\rend\r" + code + if setxy: # Swap and round arguments + code = "to tasetxy :x :y\rpenup\rsetxy :x :y\rpendown\rend\r" + code + if arc: # Turtle Art 'arc' needs to be redefined. + c = (2 * math.pi)/360 + code = "to taarc :a :r\rrepeat round :a [right 1 forward (" + \ + str(c) + " * :r)]\rend\r" + code + if heap: # Add psuedo 'push' and 'pop' + code = "to tapush :foo\rmake \"taheap fput :foo :taheap\rend\r" + \ + "to tapop\rif emptyp :taheap [stop]\rmake \"tmp first :taheap\r" + \ + "make \"taheap butfirst :taheap\routput :tmp\rend\r" + \ + "to taclearheap\rmake \"taheap []\rend\r" + \ + "to taprintheap \rprint :taheap\rend\r" + \ + "make \"taheap []\r" + code code = "window\r" + code -# print code return code -def walk_stack(self, tw, spr): - top = tawindow.find_top_block(spr) - if spr == top: - # only walk the stack if the block is the top block - code = talogo.run_blocks(tw.lc, top, tawindow.blocks(tw), False) - return code - else: - # not top of stack, then return empty list - return [] - diff --git a/tagplay.py b/tagplay.py index 21d3da8..d8cc86b 100644 --- a/tagplay.py +++ b/tagplay.py @@ -37,10 +37,8 @@ gobject.threads_init() try: from sugar.datastore import datastore -except: - # probably launched from outside of Sugar +except ImportError: pass -from talogo import * class Gplay: @@ -61,12 +59,14 @@ class Gplay: if message.structure is None: return True if message.structure.get_name() == 'prepare-xwindow-id': + if self.window is None: + return True self.window.set_sink(message.src) message.src.set_property('force-aspect-ratio', True) return True def setFile(self, path): - uri = "file://" + str( path ) + uri = "file://" + str(path) if (self.player.get_property('uri') == uri): self.seek(gst.SECOND*0) return @@ -136,55 +136,33 @@ class PlayVideoWindow(gtk.Window): del self.imagesink self.imagesink = sink - self.imagesink.set_xwindow_id(self.window.xid) + if self.window is not None: + self.imagesink.set_xwindow_id(self.window.xid) -def play_audio(lc, audio): - print "loading audio id: " + str(audio) - if audio == "" or audio[6:] == "": - raise logoerror("#nomedia") - elif audio[6:] != "None": - try: - dsobject = datastore.get(audio[6:]) - print dsobject.file_path - except: - print "Couldn't open id: " + str(audio[6:]) - ''' - if lc.gplay == None: - lc.gplay = Gplay() - ''' +def play_audio(lc, filepath): + print "loading audio id: " + filepath + if lc.gplay == None: lc.gplay = Gplay() - lc.gplay.setFile("file:///" + dsobject.file_path) - -def play_video(lc, media, x, y, w, h): - print "loading media id: " + str(media) - if media == "" or media[6:] == "": - raise logoerror("#nomedia") - elif media[6:] != "None": - try: - dsobject = datastore.get(media[6:]) - print dsobject.file_path - except: - print "Couldn't open id: " + str(media[6:]) - play_dsobject(lc, dsobject, x, y, w, h) + lc.gplay.setFile("file:///" + filepath) -def play_dsobject(lc, dsobject, x, y, w, h): +def play_movie_from_file(lc, filepath, x, y, w, h): if lc.gplay == None: lc.gplay = Gplay() - # TODO: # wait for current movie to stop playing if lc.gplay.is_playing: print "already playing..." - lc.gplay.setFile("file:///" + dsobject.file_path) + lc.gplay.setFile("file:///" + filepath) if lc.gplay.window == None: gplayWin = PlayVideoWindow() lc.gplay.window = gplayWin - gplayWin.set_type_hint( gtk.gdk.WINDOW_TYPE_HINT_DIALOG ) - gplayWin.set_decorated( False ) - gplayWin.set_transient_for( lc.tw.activity ) + gplayWin.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG) + gplayWin.set_decorated(False) + if lc.tw.running_sugar: + gplayWin.set_transient_for(lc.tw.activity) # y position is too high for some reason (toolbox?) adding offset - gplayWin.move( x, y+108 ) - gplayWin.resize( w, h ) - gplayWin.show_all( ) + gplayWin.move(x, y+108) + gplayWin.resize(w, h) + gplayWin.show_all() def stop_media(lc): @@ -193,6 +171,7 @@ def stop_media(lc): lc.gplay.stop() if lc.gplay.window != None: # We need to destroy the video window + # print dir(lc.gplay.window) lc.gplay.window.destroy() lc.gplay = None diff --git a/tahoverhelp.py b/tahoverhelp.py deleted file mode 100644 index db2cdfc..0000000 --- a/tahoverhelp.py +++ /dev/null @@ -1,198 +0,0 @@ -# -*- coding: utf-8 -*- -#Copyright (c) 2009, Walter Bender, Raúl Gutiérrez Segalés - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -# popup help dictionary - -from gettext import gettext as _ -hover_dict = { \ - "turtle":_("palette of turtle commands"), \ - "pen":_("palette of pen commands"), \ - "numbers":_("palette of numeric operators"), \ - "sensors":_("palette of extra options"), \ - "flow":_("palette of flow operators"), \ - "myblocks":_("palette of variable blocks"), \ - "templates":_("palette of presentation templates"), \ - "clean":_("clear the screen and reset the turtle"), \ - "forward":_("move turtle forward"), \ - "back":_("move turtle backward"), \ - "left":_("turn turtle counterclockwise (angle in degrees)"), \ - "right":_("turn turtle clockwise (angle in degrees)"), \ - "arc":_("move turtle along an arc"), \ - "setxy":_("move turtle to position xcor, ycor; (0, 0) is in the center of the screen."), \ - "seth":_("set the heading of the turtle (0 is towards the top of the screen.)"), \ - "show":_("draw text or show media from the Journal"), \ - "setscale":_("set the scale of media"), \ - "xcor":_("holds current x-coordinate value of the turtle (can be used in place of a number block)"), \ - "ycor":_("holds current y-coordinate value of the turtle (can be used in place of a number block)"), \ - "heading":_("holds current heading value of the turtle (can be used in place of a number block)"), \ - "scale":_("holds current scale value (can be used in place of a number block)"), \ - "penup":_("turtle will not draw when moved"), \ - "pendown":_("turtle will draw when moved"), \ - "setpensize":_("set size of the line drawn by the turtle"), \ - "setcolor":_("set color of the line drawn by the turtle"), \ - "setshade":_("set shade of the line drawn by the turtle"), \ - "settextcolor":_("set color of text drawn by the turtle"), \ - "settextsize":_("set size of text drawn by turtle"), \ - "fillscreen":_("fills the background with (color, shade)"), \ - "pensize":_("holds current pen size (can be used in place of a number block)"), \ - "color":_("holds current pen color (can be used in place of a number block)"), \ - "shade":_("holds current pen shade (can be used in place of a number block)"), \ - "textsize":_("holds current text size (can be used in place of a number block)"), \ - "textcolor":_("holds current text color (can be used in place of a number block)"), \ - "number":_("used as numeric input in mathematic operators"), \ - "plus2":_("adds two numeric inputs"), \ - "minus2":_("subtracts bottom numeric input from top numeric input"), \ - "product2":_("multiplies two numeric inputs"), \ - "division2":_("divides top numeric input (numerator) by bottom numeric input (denominator)"), \ - "remainder2":_("modular (remainder) operator"), \ - "identity":_("identity operator used for extending blocks"), \ - "identity2":_("identity operator used for extending blocks"), \ - "sqrt":_("calculate square root"), \ - "random":_("returns random number between minimum (left) and maximum (right) values"), \ - "equal":_("logical equal-to operator"), \ - "greater":_("logical greater-than operator"), \ - "less":_("logical less-than operator"), \ - "and":_("logical AND operator"), \ - "or":_("logical OR operator"), \ - "not":_("logical NOT operator"), \ - "print":_("prints value in status block at bottom of the screen"), \ - "kbinput":_("query for keyboard input (results stored in keyboard block)"), \ - "keyboard":_("holds results of query-keyboard block"), \ - "nop":_("runs code found in the tamyblock.py module found in the Journal"), \ - "myfunc":_("a programmable block: add your own math equation in the block, e.g., sin(x)"), \ - "hres":_("the canvas width"), \ - "vres":_("the canvas height"), \ - "leftpos":_("xcor of left of screen"), \ - "toppos":_("ycor of top of screen"), \ - "rightpos":_("xcor of right of screen"), \ - "bottompos":_("ycor of bottom of screen"), \ - "push":_("push value onto FILO (first-in last-out) heap"), \ - "pop":_("pop value off FILO"), \ - "prnthear":_("show FILO in status block"), \ - "clearheap":_("empty FILO"), \ - "wait":_("wait specified number of seconds"), \ - "forever":_("loop forever"), \ - "repeat":_("loop specified number of times"), \ - "if":_("if-then operator that uses boolean operators from Numbers palette"), \ - "ifelse":_("if-then-else operator that uses boolean operators from Numbers palette"), \ - "stopstack":_("do not continue current action"), \ - "hspace":_("jog stack right"), \ - "vspace":_("jog stack down"), \ - "start":_("connects action to toolbar run buttons"), \ - "hat1":_("top of action 1 stack"), \ - "stack1":_("invoke action 1 stack"), \ - "hat2":_("top of action 2 stack"), \ - "stack2":_("invoke action 2 stack"), \ - "hat":_("top of nameable action stack"), \ - "stack":_("invoke named action stack"), \ - "storeinbox1":_("store numeric value in variable 1"), \ - "box1":_("variable 1 (numeric value)"), \ - "storeinbox2":_("store numeric value in variable 2"), \ - "box2":_("variable 2 (numeric value)"), \ - "storein":_("store numeric value in named variable"), \ - "box":_("named variable (numeric value)"), \ - "string":_("string value"), \ - "journal":_("Sugar Journal media object"), \ - "audiooff":_("Sugar Journal audio object"), \ - "descriptionoff":_("Sugar Journal description field"), \ - "template1":_("presentation template: select Journal object (with description)"), \ - "template2":_("presentation template: select two Journal objects"), \ - "template6":_("presentation template: select two Journal objects"), \ - "template7":_("presentation template: select four Journal objects"), \ - "template4":_("presentation template: select Journal object (no description)"), \ - "template3":_("presentation template: seven bullets"), \ - "hideblocks":_("declutter canvas by hiding blocks")} - -blocks_dict = { - 'TurtleArt' : _('Turtle Art'), - 'turtle' : _('Turtle'), - 'setxy' : _('set xy'), - 'seth' : _('seth'), - 'setscale' : _('set scale'), - 'fillscreen' : _('fill screen'), - 'pen' : _('Pen'), - 'pendown' : _('pen down'), - 'penup' : _('pen up'), - 'setpensize' : _('set pen size'), - 'setcolor' : _('set color'), - 'setshade' : _('set shade'), - 'pensize' : _('pen size'), - 'textsize' : _('text size'), - 'textcolor' : _('text color'), - 'settextsize' : _('set text size'), - 'settextcolor' : _('set text color'), - 'color' : _('color'), - 'greater' : _('greater'), - 'numbers' : _('Numbers'), - 'division2' : _('division'), - 'equal' : _('equal'), - 'plus2' : _('plus2'), - 'product2' : _('product2'), - 'remainder2' : _('mod'), - 'identity' : _('identity'), - 'identity2' : _('identity2'), - 'less' : _('less'), - 'minus2' : _('minus2'), - 'sqrt' : _('sqrt'), - 'ifelse' : _('else'), - 'flow' : _('Flow'), - 'hspace' : _('hspace'), - 'vspace' : _('vspace'), - 'stopstack' : _('stopstack'), - 'string' : _('string'), - 'sensors' : _('Extras'), - 'clearheap' : _('clearheap'), - 'emptyheap' : _('empty heap'), - 'loadmyblock' : _('load my block'), - 'myfunc' : _('myfunc'), - 'toppos' : _('toppos'), - 'vres' : _('height'), - 'hres' : _('width'), - 'bottompos' : _('bottom'), - 'kbinput' : _('read key'), - 'leftpos' : _('leftpos'), - 'rightpos' : _('rightpos'), - 'printheap' : _('printheap'), - 'myblocks' : _('My Blocks'), - 'stack' : _('stack'), - 'stack2' : _('stack 2'), - 'stack1' : _('stack 1'), - 'storeinbox1' : _('store in box 1'), - 'box1' : _('box 1'), - 'storeinbox2' : _('store in box 2'), - 'box2' : _('box 2'), - 'storein' : _('store in'), - 'hat' : _('hat'), - 'hat1' : _('hat1'), - 'hat2' : _('hat2'), - 'nop' : _('nop'), - 'templates' : _('Templates'), - 'hideblocks' : _('hide blocks'), - 'journal' : _('journal'), - 'audiooff' : _('journal'), - 'descriptionoff' : _('journal'), - 'template1' : _('template'), - 'template2' : _('template'), - 'template3' : _('template'), - 'template4' : _('template'), - 'template6' : _('template'), - 'template7' : _('template') -} diff --git a/tajail.py b/tajail.py index 64ec02e..091557b 100644 --- a/tajail.py +++ b/tajail.py @@ -1,4 +1,4 @@ -#Copyright (c) 2009, Walter Bender (on behalf of Sugar Labs) +#Copyright (c) 2009-10, Walter Bender (on behalf of Sugar Labs) #Permission is hereby granted, free of charge, to any person obtaining a copy #of this software and associated documentation files (the "Software"), to deal @@ -18,27 +18,52 @@ #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN #THE SOFTWARE. -# a naive approach to running myfun in a jail +# A naive approach to running myfunc in a jail +import logging +_logger = logging.getLogger('turtleart-activity') +import traceback from time import * from math import * try: from numpy import * -except: - pass -from taturtle import * +except ImportError: + _logger.error("could not import numpy") -def myfunc(lc, f, x): +def myfunc(f, args): # check to make sure no import calls are made - myf = "def f(x): return " + f.replace("import","") + if len(args) == 1: + myf = "def f(x): return " + f.replace("import","") + userdefined = {} + try: + exec myf in globals(), userdefined + return userdefined.values()[0](args[0]) + except: + traceback.print_exc() + return None + elif len(args) == 2: + myf = "def f(x,y): return " + f.replace("import","") + userdefined = {} + try: + exec myf in globals(), userdefined + return userdefined.values()[0](args[0],args[1]) + except: + traceback.print_exc() + return None + elif len(args) == 3: + myf = "def f(x,y,z): return " + f.replace("import","") + userdefined = {} + try: + exec myf in globals(), userdefined + return userdefined.values()[0](args[0],args[1],args[2]) + except: + traceback.print_exc() + return None + +def myfunc_import(lc, f, x): userdefined = {} try: - exec myf in globals(), userdefined - return userdefined.values()[0](x) + exec f in globals(), userdefined + return userdefined['myblock'](lc, x) except: + traceback.print_exc() return None - -def myfunc_import(lc, f, x): - userdefined = {} - exec f in globals(), userdefined - return userdefined['myblock'](lc,x) - diff --git a/talogo.py b/talogo.py index 16002d7..1bc6847 100644 --- a/talogo.py +++ b/talogo.py @@ -1,5 +1,7 @@ +# -*- coding: utf-8 -*- #Copyright (c) 2007-8, Playful Invention Company. -#Copyright (c) 2008-9, Walter Bender +#Copyright (c) 2008-10, Walter Bender +#Copyright (c) 2008-10, Raúl Gutiérrez Segalés #Permission is hereby granted, free of charge, to any person obtaining a copy #of this software and associated documentation files (the "Software"), to deal @@ -19,32 +21,26 @@ #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN #THE SOFTWARE. -import re -from time import * -import gobject +import gtk +from time import clock +from math import sqrt +from random import uniform from operator import isNumberType -import random -import audioop -from math import * -import subprocess from UserDict import UserDict try: from sugar.datastore import datastore except: pass -class noKeyError(UserDict): - __missing__=lambda x,y: 0 - -class taLogo: pass - -from taturtle import * -from tagplay import * -from tajail import * - +from taconstants import PALETTES, PALETTE_NAMES, TAB_LAYER +from tagplay import play_audio, play_movie_from_file, stop_media +from tajail import myfunc, myfunc_import +from tautils import get_pixbuf_from_journal, movie_media_type, convert, \ + audio_media_type, text_media_type, round_int, chr_to_ord, strtype from gettext import gettext as _ -procstop = False +class noKeyError(UserDict): + __missing__ = lambda x, y: 0 class symbol: def __init__(self, name): @@ -52,8 +48,10 @@ class symbol: self.nargs = None self.fcn = None - def __str__(self): return self.name - def __repr__(self): return '#'+self.name + def __str__(self): + return self.name + def __repr__(self): + return '#' + self.name class logoerror(Exception): def __init__(self, value): @@ -61,1034 +59,1302 @@ class logoerror(Exception): def __str__(self): return repr(self.value) -def run_blocks(lc, spr, blocks, run_flag): - # user-defined stacks - for x in lc.stacks.keys(): - lc.stacks[x]= None - # two built-in stacks - lc.stacks['stack1'] = None - lc.stacks['stack2'] = None - for i in blocks: - if i.proto.name=='hat1': - lc.stacks['stack1']= readline(lc,blocks_to_code(lc,i)) - if i.proto.name=='hat2': - lc.stacks['stack2']= readline(lc,blocks_to_code(lc,i)) - if i.proto.name=='hat': - if (i.connections[1]!=None): - text=i.connections[1].label - lc.stacks['stack3'+text]= readline(lc,blocks_to_code(lc,i)) - code = blocks_to_code(lc,spr) - if run_flag == True: - print code - setup_cmd(lc, code) - else: return code - -def blocks_to_code(lc,spr): - if spr==None: return ['%nothing%'] - code = [] - dock = spr.proto.docks[0] - if len(dock)>4: code.append(dock[4]) - if spr.proto.primname != '': code.append(spr.proto.primname) +# Utility functions + +def numtype(x): + """ Is x a number type? """ + if type(x) == int: + return True + if type(x) == float: + return True + if type(x) == ord: + return True + return False + +def str_to_num(x): + """ Try to comvert a string to a number """ + xx = convert(x, float) + if type(xx) is float: + return xx else: - if spr.proto.name=='number': - try: - code.append(float(spr.label)) - except: - code.append(float(ord(spr.label[0]))) - elif spr.proto.name=='string' or spr.proto.name=='title': - if type(spr.label) == float or type(spr.label) == int: - if int(spr.label) == spr.label: - spr.label = int(spr.label) - code.append('#s'+str(spr.label)) - else: - code.append('#s'+spr.label) - elif spr.proto.name=='journal': - if spr.ds_id != None: - code.append('#smedia_'+str(spr.ds_id)) - else: - code.append('#smedia_None') - elif spr.proto.name=='descriptionoff' or \ - spr.proto.name=='descriptionon': - if spr.ds_id != None: - code.append('#sdescr_'+str(spr.ds_id)) - else: - code.append('#sdescr_None') - elif spr.proto.name=='audiooff' or spr.proto.name=='audio': - if spr.ds_id != None: - code.append('#saudio_'+str(spr.ds_id)) - else: - code.append('#saudio_None') + xx, xflag = chr_to_ord(x) + if xflag: + return xx else: - return ['%nothing%'] - for i in range(1,len(spr.connections)): - b = spr.connections[i] - dock = spr.proto.docks[i] - if len(dock)>4: - for c in dock[4]: code.append(c) - if b!=None: code.extend(blocks_to_code(lc,b)) - elif spr.proto.docks[i][0] not in \ - ['flow', 'numend', 'stringend', 'mediaend', \ - 'audioend', 'unavailable', 'logi-']: - code.append('%nothing%') - return code - -def intern(lc, str): - if str in lc.oblist: return lc.oblist[str] - sym = symbol(str) - lc.oblist[str] = sym - return sym - -def parseline(str): - split = re.split(r"\s|([\[\]()])", str) - return [x for x in split if x and x != ""] - -def readline(lc, line): - res = [] - while line: - token = line.pop(0) - if isNumberType(token): res.append(token) - elif token.isdigit(): res.append(float(token)) - elif token[0]=='-' and token[1:].isdigit(): - res.append(-float(token[1:])) - elif token[0] == '"': res.append(token[1:]) - elif token[0:2] == "#s": res.append(token[2:]) - elif token == '[': res.append(readline(lc,line)) - elif token == ']': return res - else: res.append(intern(lc, token)) - return res - -def setup_cmd(lc, str): - setlayer(lc.tw.turtle.spr,100) - lc.procstop=False - list = readline(lc, str) - lc.step = start_eval(lc, list) - -def start_eval(lc, list): - icall(lc, evline, list); yield True - # turn off stop icon when execution is finished - if hasattr(lc.tw,"activity"): - lc.tw.activity.stop_button.set_icon("stopitoff") - yield False + raise logoerror("#syntaxerror") -def evline(lc, list): - oldiline = lc.iline - lc.iline = list[:] - lc.arglist = None - while lc.iline: - if lc.tw.step_time > 0: - setlayer(lc.tw.turtle.spr,630) - endtime = millis()+an_int(lc,lc.tw.step_time)*100 - while millis()4: # There could be a '(', ')', '[' or ']'. + code.append(dock[4]) + if blk.name == 'savesvg': + self.tw.saving_svg = True + if blk.primitive is not None: # make a tuple (prim, blk) + code.append((blk.primitive, self.tw.block_list.list.index(blk))) + elif len(blk.values)>0: # Extract the value from content blocks. + if blk.name == 'number': + try: + code.append(float(blk.values[0])) + except ValueError: + code.append(float(ord(blk.values[0][0]))) + elif blk.name == 'string' or blk.name == 'title': + if type(blk.values[0]) == float or type(blk.values[0]) == int: + if int(blk.values[0]) == blk.values[0]: + blk.values[0] = int(blk.values[0]) + code.append('#s'+str(blk.values[0])) + else: + code.append('#s'+blk.values[0]) + elif blk.name == 'journal': + if blk.values[0] is not None: + code.append('#smedia_'+str(blk.values[0])) + else: + code.append('#smedia_None') + elif blk.name == 'description': + if blk.values[0] is not None: + code.append('#sdescr_'+str(blk.values[0])) + else: + code.append('#sdescr_None') + elif blk.name == 'audio': + if blk.values[0] is not None: + code.append('#saudio_'+str(blk.values[0])) + else: + code.append('#saudio_None') + else: + return ['%nothing%'] + else: + return ['%nothing%'] + if blk.connections is not None and len(blk.connections) > 0: + for i in range(1, len(blk.connections)): + b = blk.connections[i] + dock = blk.docks[i] + if len(dock)>4: # There could be a '(', ')', '[' or ']'. + for c in dock[4]: + code.append(c) + if b is not None: + code.extend(self.blocks_to_code(b)) + elif blk.docks[i][0] not in ['flow', 'unavailable']: + code.append('%nothing%') + return code + + def setup_cmd(self, string): + """ Execute the psuedocode. """ + self.tw.active_turtle.hide() # Hide the turtle while we are running. + self.procstop = False + blklist = self.readline(string) + self.step = self.start_eval(blklist) + + """ + Convert the pseudocode into a list of commands. + The block associated with the command is stored as the second element + in a tuple, e.g., (#forward, 16) + """ + def readline(self, line): + res = [] + while line: + token = line.pop(0) + bindex = None + if type(token) == tuple: + (token, bindex) = token + if isNumberType(token): + res.append(token) + elif token.isdigit(): + res.append(float(token)) + elif token[0] == '-' and token[1:].isdigit(): + res.append(-float(token[1:])) + elif token[0] == '"': + res.append(token[1:]) + elif token[0:2] == "#s": + res.append(token[2:]) + elif token == '[': + res.append(self.readline(line)) + elif token == ']': + return res + elif bindex is None or type(bindex) is not int: + res.append(self.intern(token)) + else: + res.append((self.intern(token), bindex)) + return res -def show_picture(lc, media, x, y, w, h): - if media == "" or media[6:] == "": - # raise logoerror("#nomedia") - pass - elif media[6:] != "None": - try: - dsobject = datastore.get(media[6:]) - except: - raise logoerror("#nomedia") - # check to see if it is a movie - # print dsobject.file_path - # print "object has file suffix of: " + dsobject.file_path[-4:] - if dsobject.file_path[-4:] == '.ogv' or \ - dsobject.file_path[-4:] == '.vob' or \ - dsobject.file_path[-4:] == '.mp4' or \ - dsobject.file_path[-4:] == '.wmv' or \ - dsobject.file_path[-4:] == '.mov': - # print "playing movie x:" + str(x) + " y:" + str(y) + " w:" + \ - # str(w) + " h:" + str(h) - play_dsobject(lc, dsobject, int(x), int(y), int(w), int(h)) + def start_eval(self, blklist): + """ Step through the list. """ + if self.tw.running_sugar: + self.tw.activity.stop_button.set_icon("stopiton") else: - pixbuf = get_pixbuf_from_journal(dsobject, int(w), int(h)) - if pixbuf != None: - draw_pixbuf(lc.tw.turtle, pixbuf, 0, 0, int(x), int(y), \ - int(w), int(h)) - dsobject.destroy() + self.tw.toolbar_shapes['stopiton'].set_layer(TAB_LAYER) + self.running = True + self.icall(self.evline, blklist) + yield True + if self.tw.running_sugar: + self.tw.activity.stop_button.set_icon("stopitoff") + else: + self.tw.toolbar_shapes['stopiton'].hide() + yield False + self.running = False + + def icall(self, fcn, *args): + """ Add a function and its arguments to the program stack. """ + self.istack.append(self.step) + self.step = fcn(*(args)) + + def evline(self, blklist): + """ Evaluate a line of code from the list. """ + oldiline = self.iline + self.iline = blklist[:] + self.arglist = None + while self.iline: + token = self.iline[0] + bindex = None + if type(token) == tuple: + (token, bindex) = self.iline[0] + + # If the blocks are visible, highlight the current block. + if not self.tw.hide and bindex is not None: + self.tw.block_list.list[bindex].highlight() + + # In debugging modes, we pause between steps and show the turtle. + if self.tw.step_time > 0: + self.tw.active_turtle.show() + endtime = millis()+self.an_int(self.tw.step_time)*100 + while millis() 0: + self.tw.display_coordinates() + yield True + + def eval(self): + """ Evaluate the next token on the line of code we are processing. """ + token = self.iline.pop(0) + bindex = None + if type(token) == tuple: + (token, bindex) = token + + # Either we are processing a symbol or a value. + if type(token) == self.symtype: + # We highlight blocks here in case an error occurs... + # print "> ", token + if not self.tw.hide and bindex is not None: + self.tw.block_list.list[bindex].highlight() + self.icall(self.evalsym, token) + yield True + # and unhighlight if everything was OK. + if not self.tw.hide and bindex is not None: + self.tw.block_list.list[bindex].unhighlight() + res = self.iresult + else: + # print ": ", token + res = token -def get_pixbuf_from_journal(dsobject,w,h): - try: - pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(dsobject.file_path, \ - int(w),int(h)) - except: - try: - # print "Trying preview..." - pixbufloader = \ - gtk.gdk.pixbuf_loader_new_with_mime_type('image/png') - pixbufloader.set_size(min(300,int(w)),min(225,int(h))) - pixbufloader.write(dsobject.metadata['preview']) - pixbufloader.close() - pixbuf = pixbufloader.get_pixbuf() - except: - # print "No preview" - pixbuf = None - return pixbuf + self.ireturn(res) + yield True -def show_description(lc, media, x, y, w, h): - if media == "" or media[6:] == "": - # raise logoerror("#nomedia") - pass - elif media[6:] != "None": - try: - dsobject = datastore.get(media[6:]) - draw_text(lc.tw.turtle, \ - dsobject.metadata['description'],int(x),int(y), \ - lc.body_height, int(w)) - dsobject.destroy() - except: - print "no description?" - -def draw_title(lc,title,x,y): - draw_text(lc.tw.turtle,title,int(x),int(y),lc.title_height, \ - lc.tw.turtle.width-x) - -def calc_position(lc,t): - w,h,x,y,dx,dy = lc.templates[t] - x *= lc.tw.turtle.width - y *= lc.tw.turtle.height - w *= (lc.tw.turtle.width-x) - h *= (lc.tw.turtle.height-y) - dx *= w - dy *= h - return(w,h,x,y,dx,dy) - -# title, one image, and description -def show_template1(lc, title, media): - w,h,xo,yo,dx,dy = calc_position(lc,'tp1') - x = -(lc.tw.turtle.width/2)+xo - y = lc.tw.turtle.height/2 - setxy(lc.tw.turtle, x, y) - # save the text size so we can restore it later - save_text_size = lc.tw.textsize - # set title text - settextsize(lc.tw.turtle, lc.title_height) - show(lc,title) - # calculate and set scale for media blocks - myscale = 45 * (lc.tw.turtle.height - lc.title_height*2) \ - / lc.tw.turtle.height - set_scale(lc,myscale) - # set body text size - settextsize(lc.tw.turtle, lc.body_height) - # render media object - y -= int(lc.title_height*2*lc.tw.lead) # leave some space below the title - setxy(lc.tw.turtle, x, y) - show(lc, media) - x = 0 - setxy(lc.tw.turtle, x, y) - show(lc, media.replace("media_","descr_")) - # restore text size - settextsize(lc.tw.turtle, save_text_size) - -# title, two images (horizontal), two descriptions -def show_template2(lc, title, media1, media2): - w,h,xo,yo,dx,dy = calc_position(lc,'tp2') - x = -(lc.tw.turtle.width/2)+xo - y = lc.tw.turtle.height/2 - setxy(lc.tw.turtle, x, y) - # save the text size so we can restore it later - save_text_size = lc.tw.textsize - # set title text - settextsize(lc.tw.turtle, lc.title_height) - show(lc,title) - # calculate and set scale for media blocks - myscale = 45 * (lc.tw.turtle.height - lc.title_height*2)/lc.tw.turtle.height - set_scale(lc,myscale) - # set body text size - settextsize(lc.tw.turtle, lc.body_height) - # render four quadrents - y -= int(lc.title_height*2*lc.tw.lead) # leave some space below the title - setxy(lc.tw.turtle, x, y) - show(lc, media1) - x = 0 - setxy(lc.tw.turtle, x, y) - show(lc, media2) - y = -lc.title_height - setxy(lc.tw.turtle, x, y) - show(lc, media2.replace("media_","descr_")) - x = -(lc.tw.turtle.width/2)+xo - setxy(lc.tw.turtle, x, y) - show(lc, media1.replace("media_","descr_")) - # restore text size - settextsize(lc.tw.turtle, save_text_size) - -# title and seven bullets -def show_template3(lc, title, s1, s2, s3, s4, s5, s6, s7): - w,h,xo,yo,dx,dy = calc_position(lc,'tp3') - x = -(lc.tw.turtle.width/2)+xo - y = lc.tw.turtle.height/2 - setxy(lc.tw.turtle, x, y) - # save the text size so we can restore it later - save_text_size = lc.tw.textsize - # set title text - settextsize(lc.tw.turtle, lc.title_height) - show(lc,title) - # set body text size - settextsize(lc.tw.turtle, lc.bullet_height) - y -= int(lc.title_height*2*lc.tw.lead) # leave some space below the title - setxy(lc.tw.turtle, x, y) - show(lc, s1) - y -= int(lc.bullet_height*2*lc.tw.lead) - setxy(lc.tw.turtle, x, y) - show(lc, s2) - y -= int(lc.bullet_height*2*lc.tw.lead) - setxy(lc.tw.turtle, x, y) - show(lc, s3) - y -= int(lc.bullet_height*2*lc.tw.lead) - setxy(lc.tw.turtle, x, y) - show(lc, s4) - y -= int(lc.bullet_height*2*lc.tw.lead) - setxy(lc.tw.turtle, x, y) - show(lc, s5) - y -= int(lc.bullet_height*2*lc.tw.lead) - setxy(lc.tw.turtle, x, y) - show(lc, s6) - y -= int(lc.bullet_height*2*lc.tw.lead) - setxy(lc.tw.turtle, x, y) - show(lc, s7) - # restore text size - settextsize(lc.tw.turtle, save_text_size) - -# title, two images (vertical), two desciptions -def show_template6(lc, title, media1, media2): - w,h,xo,yo,dx,dy = calc_position(lc,'tp6') - x = -(lc.tw.turtle.width/2)+xo - y = lc.tw.turtle.height/2 - setxy(lc.tw.turtle, x, y) - # save the text size so we can restore it later - save_text_size = lc.tw.textsize - # set title text - settextsize(lc.tw.turtle, lc.title_height) - show(lc,title) - # calculate and set scale for media blocks - myscale = 45 * (lc.tw.turtle.height - lc.title_height*2)/lc.tw.turtle.height - set_scale(lc,myscale) - # set body text size - settextsize(lc.tw.turtle, lc.body_height) - # render four quadrents - y -= int(lc.title_height*2*lc.tw.lead) # leave some space below the title - setxy(lc.tw.turtle, x, y) - show(lc, media1) - x = 0 - setxy(lc.tw.turtle, x, y) - show(lc, media1.replace("media_","descr_")) - y = -lc.title_height - setxy(lc.tw.turtle, x, y) - show(lc, media2.replace("media_","descr_")) - x = -(lc.tw.turtle.width/2)+xo - setxy(lc.tw.turtle, x, y) - show(lc, media2) - # restore text size - settextsize(lc.tw.turtle, save_text_size) - -# title and four images -def show_template7(lc, title, media1, media2, media3, media4): - w,h,xo,yo,dx,dy = calc_position(lc,'tp7') - x = -(lc.tw.turtle.width/2)+xo - y = lc.tw.turtle.height/2 - setxy(lc.tw.turtle, x, y) - # save the text size so we can restore it later - save_text_size = lc.tw.textsize - # set title text - settextsize(lc.tw.turtle, lc.title_height) - show(lc,title) - # calculate and set scale for media blocks - myscale = 45 * (lc.tw.turtle.height - lc.title_height*2)/lc.tw.turtle.height - set_scale(lc,myscale) - # set body text size - settextsize(lc.tw.turtle, lc.body_height) - # render four quadrents - y -= int(lc.title_height*2*lc.tw.lead) # leave some space below the title - setxy(lc.tw.turtle, x, y) - show(lc, media1) - x = 0 - setxy(lc.tw.turtle, x, y) - show(lc, media2) - y = -lc.title_height - setxy(lc.tw.turtle, x, y) - show(lc, media4) - x = -(lc.tw.turtle.width/2)+xo - setxy(lc.tw.turtle, x, y) - show(lc, media3) - # restore text size - settextsize(lc.tw.turtle, save_text_size) - -# title, one media object -def show_template8(lc, title, media1): - w,h,xo,yo,dx,dy = calc_position(lc,'tp7') - x = -(lc.tw.turtle.width/2)+xo - y = lc.tw.turtle.height/2 - setxy(lc.tw.turtle, x, y) - # save the text size so we can restore it later - save_text_size = lc.tw.textsize - # set title text - settextsize(lc.tw.turtle, lc.title_height) - show(lc,title) - # calculate and set scale for media blocks - myscale = 90 * (lc.tw.turtle.height - lc.title_height*2) \ - / lc.tw.turtle.height - set_scale(lc,myscale) - # set body text size - settextsize(lc.tw.turtle, lc.body_height) - # render media object - y -= int(lc.title_height*2*lc.tw.lead) # leave some space below the title - setxy(lc.tw.turtle, x, y) - show(lc, media1) - # restore text size - settextsize(lc.tw.turtle, save_text_size) - -# image only (at current x,y) -def insert_image(lc, media, center): - w = (lc.tw.turtle.width * lc.scale)/100 - h = (lc.tw.turtle.height * lc.scale)/100 - # convert from Turtle coordinates to screen coordinates - x = lc.tw.turtle.width/2+int(lc.tw.turtle.xcor) - y = lc.tw.turtle.height/2-int(lc.tw.turtle.ycor) - if center == True: - x -= w/2 - y -= h/2 - if media[0:5] == 'media': - show_picture(lc, media, x, y, w, h) - -# description text only (at current x,y) -def insert_desc(lc, media): - w = (lc.tw.turtle.width * lc.scale)/100 - h = (lc.tw.turtle.height * lc.scale)/100 - # convert from Turtle coordinates to screen coordinates - x = lc.tw.turtle.width/2+int(lc.tw.turtle.xcor) - y = lc.tw.turtle.height/2-int(lc.tw.turtle.ycor) - if media[0:5] == 'descr': - show_description(lc, media, x, y, w, h) - -def set_scale(lc, x): - lc.scale = x - -# need to fix export logo to map show to write -def show(lc, string, center=False): - # convert from Turtle coordinates to screen coordinates - x = lc.tw.turtle.width/2+int(lc.tw.turtle.xcor) - y = lc.tw.turtle.height/2-int(lc.tw.turtle.ycor) - if type(string) == str or type(string) == unicode: - if string == "media_None": - pass - elif string[0:6] == 'media_': - insert_image(lc, string, center) - elif string[0:6] == 'descr_': - insert_desc(lc, string) - elif string[0:6] == 'audio_': - play_sound(lc, string) - else: - if center == True: - y -= lc.tw.textsize - draw_text(lc.tw.turtle,string,x,y,lc.tw.textsize,lc.tw.turtle.width-x) - elif type(string) == float or type(string) == int: - string = round_int(string) - if center == True: - y -= lc.tw.textsize - draw_text(lc.tw.turtle,string,x,y,lc.tw.textsize,lc.tw.turtle.width-x) - -# audio only -def play_sound(lc, audio): - play_audio(lc, audio) - -def clear(lc): - stop_media(lc) - clearscreen(lc.tw.turtle) - -def write(lc, string, fsize): - # convert from Turtle coordinates to screen coordinates - x = lc.tw.turtle.width/2+int(lc.tw.turtle.xcor) - y = lc.tw.turtle.height/2-int(lc.tw.turtle.ycor) - draw_text(lc.tw.turtle,string,x,y-15,int(fsize),lc.tw.turtle.width) - -def hideblocks(lc): - from tawindow import hideshow_button - lc.tw.hide = False # force hide - hideshow_button(lc.tw) - for i in lc.tw.selbuttons: - hide(i) - if hasattr(lc.tw,"activity"): - lc.tw.activity.do_hide() - -def doevalstep(lc): - starttime = millis() - try: - while (millis()-starttime)<120: - try: - lc.step.next() - except StopIteration: - setlayer(lc.tw.turtle.spr,630) - return False - except logoerror, e: - showlabel(lc, str(e)[1:-1]) - setlayer(lc.tw.turtle.spr,630) - return False - return True - -def icall(lc, fcn, *args): - lc.istack.append(lc.step) - lc.step = fcn(lc, *(args)) - -def ireturn(lc, res=None): - lc.step = lc.istack.pop() - lc.iresult = res - -def ijmp(lc, fcn, *args): - lc.step = fcn(lc,*(args)) - -def heap_print(lc): - showlabel(lc,lc.heap) - -def status_print(lc,n): - if type(n) == str or type(n) == unicode: - # show title for Journal entries - if n[0:6] == 'media_': - try: - dsobject = datastore.get(n[6:]) - showlabel(lc, dsobject.metadata['title']) - dsobject.destroy() - except: - showlabel(lc,n) + def evalsym(self, token): + """ Process primitive associated with symbol token """ + self.debug_trace(token) + self.undefined_check(token) + oldcfun, oldarglist = self.cfun, self.arglist + self.cfun, self.arglist = token, [] + + if token.nargs == None: + raise logoerror("#noinput") + for i in range(token.nargs): + self.no_args_check() + self.icall(self.eval) + yield True + self.arglist.append(self.iresult) + if self.cfun.rprim: + if type(self.cfun.fcn) == self.listtype: + print "evalsym rprim list: ", token + self.icall(self.ufuncall, self.cfun.fcn) + yield True + else: + # print "evalsym rprim: ", token + self.icall(self.cfun.fcn, *self.arglist) + yield True + result = None else: - showlabel(lc,n) - elif type(n) == int: - showlabel(lc,n) - else: - showlabel(lc, round_int(n)) + # print "evalsym: ", token + result = self.cfun.fcn(self, *self.arglist) + self.cfun, self.arglist = oldcfun, oldarglist + if self.arglist is not None and result == None: + raise logoerror("%s %s %s" % \ + (oldcfun.name, _("did not output to"), self.cfun.name)) + self.ireturn(result) + yield True -def kbinput(lc): - if len(lc.tw.keypress) == 1: - lc.keyboard = ord(lc.tw.keypress[0]) - else: + def ufuncall(self, body): + """ ufuncall """ + self.ijmp(self.evline, body) + yield True + + def doevalstep(self): + """ evaluate one step """ + starttime = millis() try: - lc.keyboard = {'Escape': 27, 'space': 32, ' ': 32, 'Return': 13, \ - 'KP_Up': 2, 'KP_Down': 4, 'KP_Left': 1, \ - 'KP_Right': 3,}[lc.tw.keypress] - except: - lc.keyboard = 0 - lc.tw.keypress = "" - -def showlabel(lc,label): - if label=='#nostack': - shp = 'nostack' - label='' - elif label=='#noinput': - shp = 'noinput' - label='' - elif label=='#emptyheap': - shp = 'emptyheap' - label='' - elif label=='#emptybox': - shp = 'emptybox' - label=' '+lc.nobox - elif label=='#nomedia': - shp = 'nomedia' - label='' - elif label=='#nocode': - shp = 'nocode' - label='' - elif label=='#syntaxerror': - shp = 'syntaxerror' - label='' - elif label=='#overflowerror': - shp = 'overflowerror' - label='' - else: - shp = 'status' - setshape(lc.tw.status_spr, lc.tw.status_shapes[shp]) - setlabel(lc.tw.status_spr, label) - setlayer(lc.tw.status_spr, 710) + while (millis()-starttime)<120: + try: + if self.step is not None: + self.step.next() + else: + return False + except StopIteration: + self.tw.turtles.show_all() + return False + except logoerror, e: + self.tw.showlabel('syntaxerror', str(e)[1:-1]) + self.tw.turtles.show_all() + return False + return True + + def ireturn(self, res=None): + """ return value """ + self.step = self.istack.pop() + self.iresult = res + + def ijmp(self, fcn, *args): + """ ijmp """ + self.step = fcn(*(args)) + + def debug_trace(self, token): + """ Display debugging information """ + if self.trace: + if token.name in PALETTES[PALETTE_NAMES.index('turtle')]: + my_string = "%s\n%s=%d\n%s=%d\n%s=%d\n%s=%d" % \ + (token.name, _('xcor'), int(self.tw.canvas.xcor), + _('ycor'), int(self.tw.canvas.ycor), _('heading'), + int(self.tw.canvas.heading), _('scale'), int(self.scale)) + elif token.name in PALETTES[PALETTE_NAMES.index('pen')]: + if self.tw.canvas.pendown: + penstatus = _('pen down') + else: + penstatus = _('pen up') + my_string = "%s\n%s\n%s=%d\n%s=%d\n%s=%.1f" % \ + (token.name, penstatus, _('color'), + int(self.tw.canvas.color), _('shade'), + int(self.tw.canvas.shade), _('pen size'), + self.tw.canvas.pensize) + else: + my_string = "%s\n" % (token.name) + for k, v in self.boxes.iteritems(): + my_string += "%s: %s\n" % (k, str(v)) + self.tw.showlabel('info', my_string) + return + + def undefined_check(self, token): + """ Make sure token has a definition """ + if token.fcn is not None: + return False + if token.name == '%nothing%': + errormsg = '' + else: + errormsg = "%s %s" % (_("I don't know how to"), _(token.name)) + raise logoerror(errormsg) + + def no_args_check(self): + """ Missing argument ? """ + if self.iline and self.iline[0] is not self.symnothing: + return + raise logoerror("#noinput") + + # + # Primitives + # + + def prim_clear(self): + """ Clear screen """ + stop_media(self) + self.tw.canvas.clearscreen() + + def prim_start(self): + """ Start block: recenter """ + if self.tw.running_sugar: + self.tw.activity.recenter() + + def prim_wait(self, time): + """ Show the turtle while we wait """ + self.tw.active_turtle.show() + endtime = millis()+self.an_int(time*1000) + while millis() 255: + # r -= 256 + # g = int(x[1]) + # while g < 0: + # g += 256 + # while g > 255: + # g -= 256 + # b = int(x[0]) + # while b < 0: + # b += 256 + # while b > 255: + # b -= 256 + # rgb = "#%02x%02x%02x" % (r,g,b) + # lc.tw.canvas.fgcolor = lc.tw.canvas.cm.alloc_color(rgb) + # return - dist = 0 - while dist+lc.tw.turtle.pensize < x: # repeat drawing dots - setpen(lc.tw.turtle, True) - forward(lc.tw.turtle, 1) - setpen(lc.tw.turtle, False) - forward(lc.tw.turtle, (lc.tw.turtle.pensize*2)-1) - dist += (lc.tw.turtle.pensize*2) - forward(lc.tw.turtle, x-dist) # make sure we have moved x - - setpen(lc.tw.turtle, pen) # restore pen state + ########################################################################### + # + # Draw a dotted line of length x. + # + ########################################################################### + try: # make sure x is a number + x = float(x) + except ValueError: + return + if lc.tw.canvas.pendown: + dist = 0 + while dist+lc.tw.canvas.pensize < x: # repeat drawing dots + lc.tw.canvas.setpen(True) + lc.tw.canvas.forward(1) + lc.tw.canvas.setpen(False) + lc.tw.canvas.forward((lc.tw.canvas.pensize*2)-1) + dist += (lc.tw.canvas.pensize*2) + lc.tw.canvas.forward(x-dist) # make sure we have moved exactly x + lc.tw.canvas.setpen(True) + else: + lc.tw.canvas.forward(x) + return ########################################################################### # - # push an uppercase version of a string onto the heap + # Push an uppercase version of a string onto the heap. + # Use a 'pop' block to use the new string. # ########################################################################### @@ -63,51 +89,47 @@ def myblock(lc,x): # X = str(x).upper() # else: # X = x.upper() - # push result onto heap (use the pop block to use the new string) # lc.heap.append(X) - + # return ########################################################################### # - # push hours, minutes, seconds onto the heap - # use three pop blocks to retrieve the values - # remember: the heap is a FILO (first in, last out) - # the first value you will pop will be seconds + # Push hours, minutes, seconds onto the FILO. + # Use three 'pop' blocks to retrieve these values. + # Note: because we use a FILO (first in, last out heap), + # the first value you will pop will be seconds. # ########################################################################### # lc.heap.append(localtime().tm_hour) # lc.heap.append(localtime().tm_min) # lc.heap.append(localtime().tm_sec) - + # return ########################################################################### # - # add a third dimension (gray) to the color model - # calculate the value (brightness) of the current color - # val = 0.3 * lc.tw.rgb[0] + 0.6 * lc.tw.rgb[1] + 0.1 * lc.tw.rgb[2] - # make sure gray is in range from 0 to 100 + # Add a third dimension (gray) to the color model. # ########################################################################### - + # val = 0.3 * lc.tw.rgb[0] + 0.6 * lc.tw.rgb[1] + 0.1 * lc.tw.rgb[2] # if x != 100: # x = int(x)%100 - # mix in gray # r = int((val*(100-x) + lc.tw.rgb[0]*x)/100) # g = int((val*(100-x) + lc.tw.rgb[1]*x)/100) # b = int((val*(100-x) + lc.tw.rgb[2]*x)/100) # reallocate current color - # lc.tw.fgcolor = lc.tw.cm.alloc_color(r<<8,g<<8,b<<8) - + # rgb = "#%02x%02x%02x" % (r,g,b) + # lc.tw.canvas.fgcolor = lc.tw.canvas.cm.alloc_color(rgb) + # return ########################################################################### # - # save a screen- image in the journal + # Save an image named x to the Sugar Journal. # ########################################################################### - # lc.tw.activity._do_save_as_image_cb(lc.tw.activity) + # lc.tw.save_as_image(str(x)) + # return - return diff --git a/taproject.py b/taproject.py deleted file mode 100644 index 28b885e..0000000 --- a/taproject.py +++ /dev/null @@ -1,355 +0,0 @@ -#Copyright (c) 2007-8, Playful Invention Company. -#Copyright (c) 2008-9, Walter Bender - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import pygtk -pygtk.require('2.0') -import gtk -import pickle -try: - _old_Sugar_system = False - import json - json.dumps - from json import load as jload - from json import dump as jdump -except (ImportError, AttributeError): - try: - import simplejson as json - from simplejson import load as jload - from simplejson import dump as jdump - except: - # use pickle on old systems - _old_Sugar_system = True - # will try json.read and .write too - -from StringIO import StringIO -import os.path - -from tasprites import * -from taturtle import * -from talogo import stop_logo -from talogo import get_pixbuf_from_journal -try: - from sugar.datastore import datastore -except: - pass - -nolabel = ['audiooff', 'descriptionoff', 'journal'] -shape_dict = {'journal':'texton', \ - 'descriptionoff':'decson', \ - 'audiooff':'audioon'} - -def new_project(tw): - stop_logo(tw) - for b in blocks(tw): hide(b) - setlayer(tw.turtle.canvas, 600) - clearscreen(tw.turtle) - tw.save_file_name = None - -def load_file(tw, create_new_project=True): - fname = get_load_name(tw) - if fname==None: return - if fname[-3:]=='.ta': fname=fname[0:-3] - load_files(tw,fname+'.ta', create_new_project) - if create_new_project is True: - tw.save_file_name = os.path.basename(fname) - -def load_files(tw, ta_file, create_new_project=True): - # ignoring the png_file even if it is present - f = open(ta_file, "r") - try: - data = pickle.load(f) # old-style data format - except: - # print "reading saved json data" - f.seek(0) # rewind necessary because of pickle.load - text = f.read() - if _old_Sugar_system is True: - listdata = json.read(text) - else: - io = StringIO(text) - listdata = jload(io) - print listdata - # listdata = jdecode(text) - data = tuplify(listdata) # json converts tuples to lists - f.close() - if create_new_project is True: - new_project(tw) - read_data(tw,data) - -def get_load_name(tw): - dialog = gtk.FileChooserDialog("Load...", None, \ - gtk.FILE_CHOOSER_ACTION_OPEN, \ - (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN, gtk.RESPONSE_OK)) - dialog.set_default_response(gtk.RESPONSE_OK) - return do_dialog(tw,dialog) - -# unpack serialized data sent across a share -def load_string(tw,text): - if _old_Sugar_system is True: - listdata = json.read(text) - else: - io = StringIO(text) - listdata = jload(io) - data = tuplify(listdata) # json converts tuples to lists - new_project(tw) - read_data(tw,data) - -# unpack sserialized data from the clipboard -def clone_stack(tw,text): - if _old_Sugar_system is True: - listdata = json.read(text) - else: - io = StringIO(text) - listdata = jload(io) - data = tuplify(listdata) # json converts tuples to lists - read_stack(tw,data) - -# paste stack from the clipboard -def read_stack(tw,data): - clone = [] - for b in data: - spr = load_spr(tw,b); clone.append(spr) - for i in range(len(clone)): - cons=[] - for c in data[i][4]: - if c==None: cons.append(None) - else: cons.append(clone[c]) - clone[i].connections = cons - -def tuplify(t): - if type(t) is not list: - return t - return tuple(map(tuplify, t)) - -def read_data(tw,data): - blocks = [] - for b in data: - if b[1]=='turtle': - load_turtle(tw,b) - else: spr = load_spr(tw,b); blocks.append(spr) - for i in range(len(blocks)): - cons=[] - for c in data[i][4]: - if c==None: cons.append(None) - else: cons.append(blocks[c]) - blocks[i].connections = cons - -def load_spr(tw,b): - media = None - btype, label = b[1],None - if type(btype)==type((1,2)): - btype, label = btype - if btype == 'title': # for backward compatibility - btype = 'string' - if btype == 'journal' or btype == 'audiooff' or btype == 'descriptionoff': - media = label - label = None - proto = tw.protodict[btype] - spr = sprNew(tw,b[2]+tw.turtle.canvas.x,b[3]+tw.turtle.canvas.y, \ - proto.image) - spr.type = 'block' - spr.proto = proto - if label is not None: spr.label=label - if media is not None and \ - media not in nolabel: - try: - dsobject = datastore.get(media) - spr.ds_id = dsobject.object_id - setimage(spr, tw.media_shapes[shape_dict[spr.proto.name]]) - if spr.proto.name == 'journal': - pixbuf = get_pixbuf_from_journal \ - (dsobject,spr.width,spr.height) - if pixbuf is not None: - setimage(spr, pixbuf) - dsobject.destroy() - except: - print "couldn't open dsobject (" + str(spr.ds_id) + ")" - setlayer(spr,650) - return spr - -def load_turtle(tw,b): - id, name, xcor, ycor, heading, color, shade, pensize = b - setxy(tw.turtle, xcor, ycor) - seth(tw.turtle, heading) - setcolor(tw.turtle, color) - setshade(tw.turtle, shade) - setpensize(tw.turtle, pensize) - -def load_pict(tw,fname): - pict = gtk.gdk.pixbuf_new_from_file(fname) - tw.turtle.canvas.image.draw_pixbuf(tw.turtle.gc, pict, 0, 0, 0, 0) - -def save_file(tw): - if tw.save_folder is not None: tw.load_save_folder = tw.save_folder - fname = get_save_name(tw) - if fname==None: return - if fname[-3:]=='.ta': fname=fname[0:-3] - save_data(tw,fname+".ta") - save_pict(tw,fname+".png") - tw.save_file_name = os.path.basename(fname) - -def get_save_name(tw): - dialog = gtk.FileChooserDialog("Save...", None, \ - gtk.FILE_CHOOSER_ACTION_SAVE, \ - (gtk.STOCK_CANCEL, \ - gtk.RESPONSE_CANCEL, \ - gtk.STOCK_SAVE, \ - gtk.RESPONSE_OK)) - dialog.set_default_response(gtk.RESPONSE_OK) - if tw.save_file_name is not None: - dialog.set_current_name(tw.save_file_name+'.ta') - return do_dialog(tw,dialog) - -def save_data(tw,fname): - f = file(fname, "w") - data = assemble_data_to_save(tw) - if _old_Sugar_system is True: - # use pickle here to maintain compatibility with TA 10 - pickle.dump(data,f) - else: - io = StringIO() - jdump(data,io) - text = io.getvalue() - print text - # text = jencode(data) - f.write(text) - f.close() - -# Used to send data across a shared session -def save_string(tw,save_turtle=True): - data = assemble_data_to_save(tw,save_turtle) - if _old_Sugar_system is True: - text = json.write(data) - else: - io = StringIO() - jdump(data,io) - text = io.getvalue() - return text - -def assemble_data_to_save(tw,save_turtle=True): - bs = blocks(tw) - data = [] - for i in range(len(bs)): bs[i].id=i - for b in bs: - name = b.proto.name - if tw.defdict.has_key(name) or name in nolabel: - if b.ds_id != None: - name=(name,str(b.ds_id)) - else: - name=(name,b.label) - if hasattr(b,'connections'): - connections = [get_id(x) for x in b.connections] - else: - connections = None - data.append((b.id,name,b.x-tw.turtle.canvas.x, \ - b.y-tw.turtle.canvas.y,connections)) - if save_turtle is True: - data.append((-1,'turtle', - tw.turtle.xcor,tw.turtle.ycor,tw.turtle.heading, - tw.turtle.color,tw.turtle.shade,tw.turtle.pensize)) - return data - -# serialize a stack to save to the clipboard -def serialize_stack(tw): - data = assemble_stack_to_clone(tw) - if data == []: - return None - if _old_Sugar_system is True: - text = json.write(data) - else: - io = StringIO() - jdump(data,io) - text = io.getvalue() - return text - -# find the stack under the cursor and serialize it -def assemble_stack_to_clone(tw): - if tw.spr is None or tw.spr.type is not "block": - (x,y) = tw.window.get_pointer() - spr = findsprite(tw,(x,y)) - if spr is not None: - print "found block of type " + spr.type - else: - print "already selected block of type " + tw.spr.type - spr = tw.spr - data = [] - if spr is not None and spr.type == 'block': - bs = findgroup(find_top_block(spr)) - for i in range(len(bs)): bs[i].id=i - for b in bs: - name = b.proto.name - if tw.defdict.has_key(name) or name in nolabel: - if b.ds_id is not None: - name=(name,str(b.ds_id)) - else: - name=(name,b.label) - if hasattr(b,'connections'): - connections = [get_id(x) for x in b.connections] - else: - connections = None - data.append((b.id,name,b.x-tw.turtle.canvas.x+20, \ - b.y-tw.turtle.canvas.y+20,connections)) - return data - -def save_pict(tw,fname): - tc = tw.turtle.canvas - pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, tc.width, \ - tc.height) - pixbuf.get_from_drawable(tc.image, tc.image.get_colormap(), 0, 0, 0, 0, \ - tc.width, tc.height) - pixbuf.save(fname, 'png') - -def get_id(x): - if x==None: return None - return x.id - -def do_dialog(tw,dialog): - result = None - filter = gtk.FileFilter() - filter.add_pattern("*.ta") - filter.set_name("Turtle Art") - dialog.add_filter(filter) - dialog.set_current_folder(tw.load_save_folder) - response = dialog.run() - if response == gtk.RESPONSE_OK: - result = dialog.get_filename() - tw.load_save_folder = dialog.get_current_folder() - dialog.destroy() - return result - -def blocks(tw): return [spr for spr in tw.sprites if spr.type == 'block'] - -def findgroup(b): - group=[b] - for b2 in b.connections[1:]: - if b2!=None: group.extend(findgroup(b2)) - return group - -def find_top_block(spr): - b = spr - if hasattr(b,"connections"): - while b.connections[0]!=None: - b=b.connections[0] - return b - -# start a new project with a start brick -def load_start(tw): - clone_stack(tw,str("[[0,\"start\",250,30,[null,null]]]")) - diff --git a/tasetup.py b/tasetup.py deleted file mode 100644 index 174c897..0000000 --- a/tasetup.py +++ /dev/null @@ -1,394 +0,0 @@ -#Copyright (c) 2007-8, Playful Invention Company. -#Copyright (c) 2008-9, Walter Bender - -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -#THE SOFTWARE. - -import pygtk -pygtk.require('2.0') -import gtk -import gobject -import os -class taProto: pass -import time - -from gettext import gettext as _ - -from tasprites import * - -def numcheck(new, old): - if new is '': return "0" - if new in ['-', '.', '-.']: return new - if new=='.': return '0.' - try: float(new); return new - except ValueError,e : return old - -def strcheck(new, old): - try: str(new); return new - except ValueError,e : return old - -# proto name, primitive name, dock details, arguments -selectors = ( - ('turtle', 55, - (('clean','clean','noarg'), - ('forward','forward','onearg',100), - ('back','back','onearg',100), - ('left','left','onearg',90), - ('right','right','onearg',90), - ('arc','arc','twoargs',90,100), - ('setxy','setxy','twoargs',0,0), - ('seth','seth','onearg',0), - ('show','show','onesarg',_('text')), - ('setscale','setscale','onearg',33), - ('show','show','onecarg','None'), - ('xcor','xcor','num'), - ('ycor','ycor','num'), - ('heading','heading','num'), - ('scale','scale','num'), - # not selectable, but here for backward compatability - ('container','container','container','None'), - ('image','insertimage','image','None'), - ('write','write','1sarg',_('text'),32))), - ('pen', 55, - (('penup','penup','noarg'), - ('pendown','pendown','noarg'), - ('setpensize','setpensize','1arg',5), - ('settextsize','settextsize','1arg',32), - ('setcolor','setcolor','1arg',0), - ('setshade','setshade','1arg',50), - ('fillscreen','fillscreen','twoargs',60,80), - ('pensize','pensize','num'), - ('textsize','textsize','num'), - ('color','color','num'), - ('shade','shade','num'), - ('red','red','num'), - ('orange','orange','num'), - ('yellow','yellow','num'), - ('green','green','num'), - ('cyan','cyan','num'), - ('blue','blue','num'), - ('purple','purple','num'), - # not selectable, but here for backward compatability - ('settextcolor','settextcolor','1arg',0), - ('textcolor','textcolor','num'))), - ('numbers', 55, - (('number','','num',100,float,numcheck), - ('plus2','plus','newari'), - ('minus2','minus','newari2'), - ('product2','product','newari'), - ('division2','division','newari2'), - ('remainder2','mod','newari2'), - ('sqrt','sqrt','sqrt',100), - ('identity','id','id'), - ('identity2','id','id2'), - ('random','random','random',0,100), - ('greater','greater?','comp'), - ('less','less?','comp'), - ('equal','equal?','comp'), - ('and','and','and'), - ('or','or','and'), - ('not','not','not'), - ('print','print','onearg'), - # not selectable, but here for backward compatability - ('minus','-','ari'), - ('product','*','ari'), - ('division','/','ari'), - ('remainder','%','ari2'), - ('plus','+','ari'))), - ('flow', 55, - (('wait','wait','onearg',1), - ('forever','forever','forever'), - ('repeat','repeat','repeat',4), - ('if','if','if'), - ('stopstack','stopstack','stop'), - ('ifelse','ifelse','ifelse'), - ('hspace','nop','hspace'), - ('vspace','nop','vspace'), - # not selectable, but here for backward compatability - ('lock','nop','lock'))), - ('myblocks', 55, - (('start','start','start'), - ('hat1','nop1','start'), - ('stack1','stack1','noarg'), - ('hat2','nop2','start'), - ('stack2','stack2','noarg'), - ('hat','nop3','starts',_('action')), - ('stack','stack','sarg',_('action')), - ('storeinbox1','storeinbox1','1arg'), - ('box1','box1','num'), - ('storeinbox2','storeinbox2','1arg'), - ('box2','box2','num'), - ('storein','storeinbox','1varg',_('box'),100), - ('box','box','nfuncs',_('box')), - ('string','','string',_('name'),str,strcheck), - # not selectable, but here for backward compatability - ('storeinbox','storeinbox','1sarg',_('box'),100))), - ('sensors', 55, - (('kbinput','kbinput','noarg2'), - ('keyboard','keyboard','num'), - ('nop','userdefined','onearg',100), - ('myfunc','myfunc','myfunc',_('x'),100), - ('push','push','onearg'), - ('pop','pop','num'), - ('printheap','heap','noarg2'), - ('clearheap','emptyheap','noarg2'), - ('leftpos','leftpos','num'), - ('toppos','toppos','num'), - ('rightpos','rightpos','num'), - ('bottompos','bottompos','num'), - ('hres','hres','num'), - ('vres','vres','num'))), - ('templates',55, - (('journal','','media','','',''), - ('audiooff','','audio','','',''), - ('descriptionoff','','text','','',''), - ('template1','tp1','tp1',_('title'),'None'), - ('template6','tp6','tp6',_('title'),'None','None'), - ('template2','tp2','tp2',_('title'),'None','None'), - ('template7','tp7','tp7',_('title'),'None','None','None','None'), - ('template3','tp3','tp3',_('title'),'','','','','','',''), - ('template4','tp8','tp1',_('title'),'None'), - ('hideblocks','hideblocks','noarg2'), - # not selectable, but here for backward compatability - ('sound','sound','sound','None')))) - -dockdetails = { - 'noarg': (('flow',True,37,5),('flow',False,37,44)), - 'noarg2': (('flow',True,37,5),('flow',False,37,59)), - 'onearg': (('flow',True,37,5),('num',False,74,21),('flow',False,37,44)), - 'onesarg': (('flow',True,37,5),('string',False,74,21),('flow',False,37,44)), - 'onecarg': (('flow',True,37,5),('media',False,74,21),('flow',False,37,44)), - '1arg': (('flow',True,37,5),('num',False,74,29),('flow',False,37,59)), - 'twoargs': (('flow',True,37,5),('num',False,74,21),('num',False,74,58), \ - ('flow',False,37,81)), - 'forever': (('flow',True,37,5),('flow',False,118,19,'['), \ - ('unavailable',False,0,0,']')), - 'repeat': (('flow',True,37,5),('num',False,86,21), \ - ('flow',False,132,54,'['),('flow',False,37,95,']')), - 'num': (('num',True,0,12),('numend',False,105,12)), - 'if': (('flow',True,37,5),('logi+',False,80,31), - ('flow',False,132,79,'['),('flow',False,37,120,']')), - 'ifelse': (('flow',True,37,5),('logi+',False,80,31), \ - ('flow',False,132,79,'['),('flow',False,217,79,']['), \ - ('flow',False,37,120,']')), - 'ari': (('numend',True,12,20),('num',False,39,20)), - 'newari': (('num',True,0,36),('num',False,40,20),('num',False,40,53)), - 'newari2': (('num',True,0,36),('num',False,40,20),('num',False,59,53)), - 'ari2': (('numend',True,12,20),('num',False,51,20)), - 'sqrt': (('num',True,0,20),('num',False,42,20)), - 'stop': (('flow',True,37,5),('unavailable',False,0,0)), - 'comp': (('logi+',True,0,21,'('),('num',False,32,21), \ - ('num',False,181,21),('logi-',False,320,21,')')), - 'random': (('num',True,0,31,'('),('num',False,28,31), \ - ('num',False,150,31),('numend',False,279,31,')')), - 'and': (('logi-',True,28,24),('logi+',False,64,24)), - 'vspace': (('flow',True,37,5),('flow',False,37,74)), - 'hspace': (('flow',True,37,14),('flow',False,128,13)), - 'id': (('num',True,0,12),('num',False,40,40)), - 'id2': (('num',True,0,48),('num',False,40,19)), - 'lock': (('flow',True,37,514),('flow',False,235,13)), - 'not': (('logi+',True,0,24),('unavailable',False,0,0), \ - ('logi+',False,55,24)), - 'start': (('start',True,50,0),('flow',False,49,55)), - 'string': (('string',True,0,11),('stringend',False,105,11)), - 'nfuncs': (('num',True,0,17),('string',False,18,16), \ - ('numend',False,128,17)), - 'starts': (('start',True,50,0),('string',False,21,38), \ - ('flow',False,75,75)), - 'sarg': (('flow',True,37,5),('string',False,12,23), \ - ('flow',False,37,44)), - '1sarg': (('flow',True,37,5),('string',False,12,22), \ - ('num',False,130,23),('flow',False,37,44)), - '1varg': (('flow',True,37,5),('string',False,12,38), \ - ('num',False,130,30),('flow',False,37,59)), - 'myfunc': (('num',True,0,22),('string',False,24,22), \ - ('num',False,142,22)), - 'media': (('media',True,0,27),('mediaend',False,75,27)), - 'text': (('media',True,0,27),('mediaend',False,75,27)), - 'audio': (('media',True,0,27),('mediaend',False,75,27)), - 'container': (('num',True,0,33),('media',False,19,33), \ - ('numend',False,100,33)), - 'tp1': (('flow',True,37,5),('string',False,10,26), \ - ('media',False,10,73),('flow',False,37,113)), - 'tp2': (('flow',True,37,5),('string',False,10,26), \ - ('media',False,10,73),('media',False,90,73),('flow',False,37,167)), - 'tp3': (('flow',True,37,5),('string',False,10,25), \ - ('string',False,10,51),('string',False,10,77), \ - ('string',False,10,103),('string',False,10,129), \ - ('string',False,10,155), ('string',False,10,181), \ - ('string',False,10,207),('flow',False,37,230)), - 'image': (('flow',True,37,5),('media',False,10,48), \ - ('flow',False,37,89)), - 'sound': (('flow',True,37,5),('audio',False,128,29), \ - ('flow',False,37,55)), - 'tp6': (('flow',True,37,5),('string',False,10,26), \ - ('media',False,10,73),('media',False,10,130),('flow',False,37,167)), - 'tp7': (('flow',True,37,5),('string',False,10,26), \ - ('media',False,10,73),('media',False,90,73),('media',False,10,130), \ - ('media',False,90,130),('flow',False,37,167)), - 'string1': (('flow',True,37,5),('string',False,10,29),('flow',False,37,55)) -} - -def count_up(self): - time.sleep(1) - return True - -def prep_selectors(tw): - tw.protodict = {} - tw.valdict = {} - tw.defdict = {} - tw.y = 30 - tw.selbuttons = [] - -def setup_selectors(tw,s): - name,dy,blockdescriptions = s - cat = setup_selector(tw, name, tw.y, blockdescriptions) - tw.y += dy - tw.selbuttons.append(cat) - -def setup_misc(tw): - tw.category_spr = sprNew(tw,0, 0, tw.selbuttons[0].group) - tw.category_spr.type = 'category' - setlayer(tw.category_spr,660) - # masks get positioned on top of other blocks - tw.select_mask = sprNew(tw,100,100,\ - load_image(tw, tw.path, '', 'masknumber')) - tw.select_mask.type = 'selectmask' - tw.select_mask_string = sprNew(tw,100,100,load_image(tw, tw.path, '', \ - 'maskstring')) - tw.select_mask_string.type = 'selectmask' - # used to hide the palette - tw.hidden_palette_icon = load_image(tw, tw.path, '','blocks-') - # media blocks get positioned into other blocks - tw.media_shapes = {} - tw.media_shapes['audioon'] = load_image(tw, tw.path, '', 'audioon') - tw.media_shapes['texton'] = load_image(tw, tw.path, '', 'texton') - tw.media_shapes['journalon'] = load_image(tw, tw.path, '', 'journalon') - tw.media_shapes['decson'] = load_image(tw, tw.path, '', 'descriptionon') - # media blocks that replace other blocks - tw.media_shapes['pythonloaded'] = \ - load_image(tw, tw.path_lang, 'sensors', 'nop-loaded') - # coordinare systems - tw.cartesian_coordinates_spr = sprNew(tw, tw.width/2-600, tw.height/2-450, \ - load_image(tw, tw.path, '', "Cartesian")) - tw.cartesian_coordinates_spr.type = 'coordinates' - setlayer(tw.cartesian_coordinates_spr, 610) - hide(tw.cartesian_coordinates_spr) - tw.polar_coordinates_spr = sprNew(tw, tw.width/2-600, tw.height/2-450, \ - load_image(tw, tw.path, '', "polar")) - tw.polar_coordinates_spr.type = 'coordinates' - setlayer(tw.polar_coordinates_spr, 610) - hide(tw.polar_coordinates_spr) - # status shapes get positioned at the bottom of the screen - tw.status_shapes = {} - tw.status_shapes['status'] = load_image(tw, tw.path, '', 'status') - tw.status_shapes['info'] = load_image(tw, tw.path, '', 'info') - tw.status_shapes['nostack'] = load_image(tw, tw.path, '', 'nostack') - tw.status_shapes['noinput'] = load_image(tw, tw.path, '', 'noinput') - tw.status_shapes['emptyheap'] = load_image(tw, tw.path, '', 'emptyheap') - tw.status_shapes['emptybox'] = load_image(tw, tw.path, '', 'emptybox') - tw.status_shapes['nomedia'] = load_image(tw, tw.path, '', 'nomedia') - tw.status_shapes['nocode'] = load_image(tw, tw.path, '', 'nocode') - tw.status_shapes['overflowerror'] = \ - load_image(tw, tw.path, '', 'overflowerror') - tw.status_shapes['syntaxerror'] = load_image(tw, tw.path, '', 'syntaxerror') - tw.status_spr = sprNew(tw,0,(tw.height-175), \ - tw.status_shapes['status'],True) - tw.status_spr.type = 'status' - setlayer(tw.status_spr,900) - hide(tw.status_spr) - # everything should be loaded at this point - # print tw.status_shapes - tw.loaded = True - -def setup_selector(tw,name,y,blockdescriptions): - # selector tabs - offshape = load_image(tw, tw.path, 'palette', name+'off') - onshape = load_image(tw, tw.path, 'palette', name+'on') - spr = sprNew(tw,143,y,offshape) - setlayer(spr,800) - spr.offshape = offshape - spr.onshape = onshape - # print 'setting up selector ' + name - spr.group = load_image(tw, tw.path_lang, name, name+'group') - spr.mask = load_image(tw, tw.path, '', name+'mask') - spr.type = 'selbutton' - spr.name = name - # block prototypes - protos = [] - for b in blockdescriptions: - bname,primname,docktype = b[0:3] - image = load_image(tw, tw.path_lang, name, bname) - proto = taProto() - proto.name = bname - proto.image = image - proto.primname=primname - if primname=='': # handle definable blocks differently - tw.valdict[docktype]=bname - tw.defdict[bname]=b[3] - proto.eval=b[4] - proto.check=b[5] - proto.defaults=[] - else: - proto.defaults=b[3:] - if docktype in dockdetails: proto.docks=dockdetails[docktype] - else: proto.docks = docktype - tw.protodict[bname] = proto - protos.append(proto) - spr.blockprotos = protos - return spr - -def load_image(tw, path, dir, file): - try: - from sugar.activity import activity - except: - pass - - try: - datapath = os.path.join(activity.get_activity_root(), "data") - except: - # early versions of Sugar (656) didn't support get_activity_root() - datapath = os.path.join( \ - os.environ['HOME'], \ - ".sugar/default/org.laptop.TurtleArtActivity/data") - - # first try to open the cached image - # then try to open .png file - # if you fail, open the .svg file and cache the result as png - # finally, fallback to tw.path_en - try: - return gtk.gdk.pixbuf_new_from_file(os.path.join(datapath, file+'.png')) - except: - try: - # print "trying ... " + os.path.join(path, dir, file+'.png') - return gtk.gdk.pixbuf_new_from_file(os.path.join(path, \ - dir, \ - file+'.png')) - except: - try: - foo = gtk.gdk.pixbuf_new_from_file(os.path.join(path, \ - dir, \ - file +'.svg')) - foo.save(os.path.join(datapath, file+'.png'), "png") - return foo - except: - foo = gtk.gdk.pixbuf_new_from_file(os.path.join(tw.path_en,\ - dir, \ - file +'.svg')) - foo.save(os.path.join(datapath, file+'.png'), "png") - return foo diff --git a/tasprite_factory.py b/tasprite_factory.py new file mode 100755 index 0000000..073f9f5 --- /dev/null +++ b/tasprite_factory.py @@ -0,0 +1,1117 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +#Copyright (c) 2009,10 Walter Bender + +#Permission is hereby granted, free of charge, to any person obtaining a copy +#of this software and associated documentation files (the "Software"), to deal +#in the Software without restriction, including without limitation the rights +#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +#copies of the Software, and to permit persons to whom the Software is +#furnished to do so, subject to the following conditions: + +#The above copyright notice and this permission notice shall be included in +#all copies or substantial portions of the Software. + +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +#THE SOFTWARE. + +import pygtk +pygtk.require('2.0') +import gtk +import os +from gettext import gettext as _ + +class SVG: + def __init__(self): + self._x = 0 + self._y = 0 + self._min_x = 10000 + self._min_y = 10000 + self._max_x = -10000 + self._max_y = -10000 + self._width = 0 + self._height = 0 + self.docks = [] + self._scale = 1 + self._orientation = 0 + self._radius = 8 + self._stroke_width = 1 + self._innie = [False] + self._outie = False + self._innie_x1 = (9-self._stroke_width)/2 + self._innie_y1 = 3 + self._innie_x2 = (9-self._stroke_width)/2 + self._innie_y2 = (9-self._stroke_width)/2 + self._innie_spacer = 9 + self._slot = True + self._cap = False + self._tab = True + self._bool = False + self._slot_x = 10 + self._slot_y = 2 + self._porch = False + self._porch_x = self._innie_x1+self._innie_x2+4*self._stroke_width + # self._porch_y = self._innie_y1+self._innie_y2+4*self._stroke_width + self._porch_y = self._innie_y2 + self._expand_x = 0 + self._expand_y = 0 + self._no_arm = False + self._else = False + self._draw_innies = True + self._hide = False + self._show = False + self._show_x = 0 + self._show_y = 0 + self._hide_x = 0 + self._hide_y = 0 + self._dot_radius = 8 + self._fill = "#00FF00" + self._stroke = "#00A000" + self._gradiant = False + self.margins = [0, 0, 0, 0] + + def basic_block(self): + self.reset_min_max() + (x, y) = self._calculate_x_y() + self.margins[2] = 0 + self.margins[3] = 0 + svg = self.new_path(x, y) + svg += self._corner(1, -1) + svg += self._do_slot() + svg += self._rline_to(self._expand_x, 0) + xx = self._x + svg += self._corner(1, 1) + for i in range(len(self._innie)): + if self._innie[i] is True: + svg += self._do_innie() + if i==0 and self._porch is True: + svg += self._do_porch(False) + elif len(self._innie)-1 > i: + svg += self._rline_to(0, 2*self._innie_y2+self._innie_spacer) + svg += self._rline_to(0, self._expand_y) + svg += self._corner(-1, 1) + svg += self.line_to(xx, self._y) + svg += self._rline_to(-self._expand_x, 0) + if self._tab: + svg += self._do_tab() + else: + svg += self._do_tail() + svg += self._corner(-1, -1) + svg += self._rline_to(0, -self._expand_y) + if True in self._innie: + svg += self.line_to(x, self._radius+self._innie_y2+\ + self._stroke_width/2.0) + svg += self._do_outie() + self.calc_w_h() + svg += self._close_path() + svg += self.style() + if self._show is True: + svg += self._show_dot() + if self._hide is True: + svg += self._hide_dot() + + svg += self.footer() + return self.header() + svg + + def basic_flow(self): + self.reset_min_max() + (x, y) = self._calculate_x_y() + self.margins[2] = 0 + self.margins[3] = 0 + svg = self.new_path(x, y) + svg += self._corner(1, -1) + svg += self._do_slot() + xx = self._x + svg += self._rline_to(self._expand_x, 0) + if self._bool: + svg += self._corner(1, 1, 90, 0, 1, True, False) + elif True in self._innie: + svg += self._corner(1, 1) + for i in range(len(self._innie)): + if self._innie[i] is True: + svg += self._do_innie() + svg += self._rline_to(0, self._innie_spacer) + else: + self.margins[2] =\ + int((self._x-self._stroke_width+0.5)*self._scale) + if self._bool is True: + svg += self._rline_to(0,self._radius/2.0) + svg += self._do_boolean() + svg += self._rline_to(0,self._stroke_width) + if self._else: + svg += self._rline_to(self._radius*3+self._slot_x*2, 0) + else: + svg += self._rline_to(self._radius+self._slot_x, 0) + hh = self._x + svg += self._corner(1, 1) + svg += self._rline_to(-self._radius,0) + if self._else: + svg += self._do_tab() + svg += self._rline_to(-self._radius*2, 0) + svg += self._do_tab() + svg += self._inverse_corner(-1, 1, 90, 0, 0, True, False) + svg += self._rline_to(0, self._expand_y) + svg += self._corner(-1, 1, 90, 0, 1, False, True) + svg += self.line_to(xx, self._y) + if self._tab: + svg += self._do_tab() + else: + svg += self._do_tail() + svg += self._corner(-1, -1) + svg += self._rline_to(0, -self._expand_y) + if True in self._innie: + svg += self.line_to(x, self._radius+self._innie_y2+\ + self._stroke_width) + svg += self._close_path() + self.calc_w_h() + svg += self.style() + if self._hide is True: + svg += self._hide_dot() + if self._show is True: + svg += self._show_dot() + svg += self.footer() + return self.header() + svg + + def portfolio(self): + self.reset_min_max() + (x, y) = self._calculate_x_y() + self.margins[0] = int(x+2*self._stroke_width+0.5) + self.margins[1] = int(y+self._stroke_width+0.5+self._slot_y) + self.margins[2] = 0 + self.margins[3] = 0 + x += self._innie_x1+self._innie_x2 + svg = self.new_path(x, y) + svg += self._corner(1, -1) + svg += self._do_slot() + xx = self._x + svg += self._rline_to(self._expand_x, 0) + svg += self._corner(1, 1) + svg += self._rline_to(0, self._expand_y) + for i in range(len(self._innie)): + if self._innie[i] is True and i > 0 and self._draw_innies: + svg += self._do_innie() + svg += self._rline_to(0, 2*self._innie_y2+self._innie_spacer) + else: + svg += self._rline_to(0, 2*self._innie_y2+self._innie_spacer) + svg += self._corner(-1, 1) + svg += self.line_to(xx, self._y) + svg += self._do_tab() + svg += self._corner(-1, -1) + for i in range(len(self._innie)): + if self._innie[len(self._innie)-i-1] is True: + svg += self._rline_to(0, -2*self._innie_y2-self._innie_spacer) + svg += self._do_reverse_innie() + else: + svg += self._rline_to(0, -2*self._innie_y2-self._innie_spacer) + svg += self._close_path() + self.calc_w_h() + svg += self.style() + svg += self.footer() + return self.header() + svg + + def basic_box(self): + self.reset_min_max() + self.set_outie(True) + x = self._stroke_width/2.0+self._innie_x1+self._innie_x2 + self.margins[0] = int((x+self._stroke_width+0.5)*self._scale) + self.margins[1] = int((self._stroke_width+0.5)*self._scale) + self.margins[2] = 0 + self.margins[3] = 0 + svg = self.new_path(x, self._stroke_width/2.0) + svg += self._rline_to(self._expand_x, 0) + svg += self._rline_to(0, 2*self._radius+self._innie_y2+self._expand_y) + svg += self._rline_to(-self._expand_x, 0) + svg += self.line_to(x, self._radius+self._innie_y2+\ + self._stroke_width/2.0) + svg += self._do_outie() + svg += self._close_path() + self.calc_w_h() + svg += self.style() + svg += self.footer() + return self.header() + svg + + def boolean_and_or(self): + self.reset_min_max() + svg = self._start_boolean(self._stroke_width/2.0, + self._radius*5.5+self._stroke_width/2.0+\ + self._innie_y2+self._innie_spacer) + svg += self._rline_to(0,-self._radius*3.5-self._innie_y2-\ + self._innie_spacer-self._stroke_width) + svg += self._rarc_to(1, -1) + svg += self._rline_to(self._radius/2.0+self._expand_x, 0) + xx = self._x + svg += self._rline_to(0,self._radius/2.0) + svg += self._do_boolean() + svg += self._rline_to(0,self._radius*1.5+self._innie_y2+\ + self._innie_spacer) + svg += self._do_boolean() + svg += self._rline_to(0,self._radius/2.0) + svg += self.line_to(xx, self._y) + svg += self._rline_to(-self._expand_x, 0) + svg += self._end_boolean() + self.margins[0] = int((self._radius+self._stroke_width+0.5)*self._scale) + self.margins[1] = int(self._stroke_width*self._scale) + self.margins[2] = int(self._stroke_width*self._scale) + self.margins[3] = int(self._stroke_width*self._scale) + return self.header() + svg + + def boolean_not(self): + self.reset_min_max() + svg = self._start_boolean(self._stroke_width/2.0, + self._radius*2.0+self._stroke_width/2.0) + svg += self._rline_to(0,-self._stroke_width) + svg += self._rarc_to(1, -1) + svg += self._rline_to(self._radius/2.0+self._expand_x, 0) + xx = self._x + svg += self._rline_to(0,self._radius/2.0) + svg += self._do_boolean() + svg += self._rline_to(0,self._radius/2.0) + svg += self.line_to(xx, self._y) + svg += self._rline_to(-self._expand_x, 0) + svg += self._end_boolean() + self.margins[0] = int((self._radius+self._stroke_width+0.5)*self._scale) + self.margins[1] = int(self._stroke_width*self._scale) + self.margins[2] = int((self._radius+self._stroke_width+0.5)*self._scale) + self.margins[3] = int(self._stroke_width*self._scale) + return self.header() + svg + + def boolean_compare(self): + self.reset_min_max() + yoffset = self._radius*2+2*self._innie_y2+\ + self._innie_spacer+self._stroke_width/2.0 + if self._porch is True: + yoffset += self._porch_y + svg = self._start_boolean(self._stroke_width/2.0, yoffset) + yoffset = -2*self._innie_y2-self._innie_spacer-self._stroke_width + if self._porch is True: + yoffset -= self._porch_y + svg += self._rline_to(0, yoffset) + svg += self._rarc_to(1, -1) + svg += self._rline_to(self._radius/2.0+self._expand_x, 0) + svg += self._rline_to(0,self._radius) + xx = self._x + svg += self._do_innie() + if self._porch is True: + svg += self._do_porch() + else: + svg += self._rline_to(0, 2*self._innie_y2+self._innie_spacer) + svg += self._do_innie() + svg += self._rline_to(0, self._radius) + svg += self.line_to(xx, self._y) + svg += self._rline_to(-self._expand_x, 0) + svg += self._end_boolean() + self.margins[0] = int((self._radius+self._stroke_width)*self._scale) + self.margins[1] = int(self._stroke_width*self._scale) + self.margins[2] = int(self._stroke_width*self._scale) + self.margins[3] = int(self._stroke_width*self._scale) + return self.header() + svg + + def turtle(self, colors): + self.reset_min_max() + self._fill, self._stroke = colors[0], colors[1] + svg = "%s%s%s%s%s%s%s%s" % (" \n") + svg +="%s%s%s%s%s%s%s%s%s%s" % (" \n") + svg +="%s%s%s%s%s%s%s%s%s%s" % (" \n") + svg +="%s%s%s%s%s%s%s%s%s%s" % (" \n") + svg +="%s%s%s%s%s%s%s%s%s%s" % (" \n") + svg +="%s%s%s%s%s%s%s%s%s%s%s%s" % (" \n") + svg +="%s%s%s%s%s%s%s%s%s%s%s%s" % (" \n") + svg +="%s%s%s%s%s" % (" \n") + svg +="%s%s%s%s%s%s" % (" \n") + svg +="%s%s%s%s%s%s" % (" \n") + svg +="%s%s%s%s%s%s" % (" \n") + svg +="%s%s%s%s%s%s" % (" \n") + svg +="%s%s%s%s%s%s" % (" \n") + self._width, self._height = 55, 55 + svg += self.footer() + return self.header() + svg + + def palette(self, width, height): + self.reset_min_max() + self._width, self._height = width, height + self._fill, self._stroke = "#FFD000", "none" + svg = self._rect(width, height, 0, 0) + self._hide_x = (width-self._radius*1.5)/2 + self._hide_y = (height-self._radius*1.5)/2 + svg += self._hide_dot(True) + svg += self.footer() + return self.header() + svg + + def toolbar(self, width, height): + self.reset_min_max() + self._width, self._height = width, height + self._fill, self._stroke = "#282828", "none" + svg = self._rect(width, height, 0, 0) + svg += self.footer() + return self.header() + svg + + def sandwich_top(self): + self.reset_min_max() + x = self._stroke_width/2.0 + y = self._stroke_width/2.0+self._radius + self.margins[0] = int((x+self._stroke_width+0.5)*self._scale) + self.margins[1] = int((self._stroke_width+0.5)*self._scale) + self.margins[2] = 0 + self.margins[3] = 0 + svg = self.new_path(x, y) + svg += self._corner(1, -1) + svg += self._rline_to(self._radius+self._stroke_width, 0) + svg += self._do_slot() + svg += self._rline_to(self._expand_x, 0) + xx = self._x + svg += self._corner(1, 1) + svg += self._do_innie() + svg += self._corner(-1, 1) + svg += self.line_to(xx, self._y) + svg += self._rline_to(-self._expand_x, 0) + svg += self._do_tab() + if self._no_arm: + svg += self._rline_to(-self._radius-self._stroke_width, 0) + svg += self._corner(-1, -1) + else: + svg += self._inverse_corner(-1, 1, 90, 0, 0) + svg += self._rline_to(0, self._expand_y) + svg += self._rline_to(-self._radius, 0) + svg += self._close_path() + self.calc_w_h() + svg += self.style() + svg += self.footer() + return self.header() + svg + + def sandwich_bottom(self): + self.reset_min_max() + x = self._stroke_width/2.0 + y = self._stroke_width/2.0 + self.margins[0] = int((x+self._stroke_width+0.5)*self._scale) + self.margins[1] = int((self._stroke_width+0.5)*self._scale) + self.margins[2] = 0 + self.margins[3] = 0 + svg = self.new_path(x, y) + svg += self._rline_to(self._radius, 0) + svg += self._rline_to(0, self._expand_y) + svg += self._inverse_corner(1, 1, 90, 0, 0) + svg += self._do_slot() + svg += self._rline_to(self._radius, 0) + svg += self._corner(-1, 1) + svg += self._do_tab() + svg += self._rline_to(-self._radius-self._stroke_width,0) + svg += self._corner(-1, -1) + svg += self._close_path() + self.calc_w_h() + svg += self.style() + self._hide_x = x + self._radius/2 + self._hide_y = y + self._radius/2 + if self._hide is True: + svg += self._hide_dot() + if self._show is True: + svg += self._show_dot() + svg += self.footer() + return self.header() + svg + + # + # Utility methods + # + def set_draw_innies(self, flag=True): + self._draw_innies = flag + + def set_hide(self, flag=False): + self._hide = flag + + def set_show(self, flag=False): + self._show = flag + + def get_width(self): + return self._width + + def get_height(self): + return self._height + + def get_innie_width(self): + return (self._innie_x1+self._innie_x2)*self._scale + + def get_slot_depth(self): + return self._slot_y*self._scale + + def clear_docks(self): + self.docks = [] + + def set_scale(self, scale=1): + self._scale = scale + + def set_orientation(self, orientation=0): + self._orientation = orientation + + def expand(self, w=0, h=0): + self._expand_x = w + self._expand_y = h + + def set_stroke_width(self, stroke_width=1.5): + self._stroke_width = stroke_width + self._calc_porch_params() + + def set_colors(self, colors=["#00FF00","#00A000"]): + self._fill = colors[0] + self._stroke = colors[1] + + def set_fill_color(self, color="#00FF00"): + self._fill = color + + def set_stroke_color(self, color="#00A000"): + self._stroke = color + + def set_gradiant(self, flag=False): + self._gradiant = flag + + def set_innie(self, innie_array=[False]): + self._innie = innie_array + + def set_outie(self, flag=False): + self._outie = flag + + def set_slot(self, flag=True): + self._slot = flag + if self._slot is True: + self._cap = False + + def set_cap(self, flag=False): + self._cap = flag + if self._cap is True: + self._slot = False + + def set_tab(self, flag=True): + self._tab = flag + + def set_porch(self, flag=False): + self._porch = flag + + def set_boolean(self, flag=False): + self._bool = flag + + def set_else(self, flag=False): + self._else = flag + + def set_no_arm(self, flag=True): + self._no_arm = flag + + def reset_min_max(self): + self._min_x = 10000 + self._min_y = 10000 + self._max_x = -10000 + self._max_y = -10000 + + # + # Exotic methods + # + + def set_radius(self, radius=8): + self._radius = radius + + def set_innie_params(self, x1=4, y1=3, x2=4, y2=4): + self._innie_x1 = x1 + self._innie_y1 = y1 + self._innie_x2 = x2 + self._innie_y2 = y2 + self._calc_porch_params() + + def set_innie_spacer(self, innie_spacer = 0): + self._innie_spacer = innie_spacer + + def set_slot_params(self, x=12, y=4): + self._slot_x = x + self._slot_y = y + + def _calc_porch_params(self): + self._porch_x = self._innie_x1+self._innie_x2+4*self._stroke_width + self._porch_y = self._innie_y1+self._innie_y2+4*self._stroke_width + + # + # SVG helper methods + # + def header(self, center=False): + return "%s%s%s%s%s%s%.1f%s%s%.1f%s%s%s" % ( + "\n", + self._defs(), + self._transform(center)) + + def _defs(self): + if self._gradiant is True: + return "%s%s%s%s%s%s%s%s%s%s%s%s%.1f%s%s%.1f%s%s%.1f%s%s" % ( + " \n \n", + " \n", + " \n", + " \n", + " \n \n") + else: + return "" + + def _transform(self, center): + if self._orientation != 0: + orientation = "\n" % ( + self._orientation, self._width/2.0, self._height/2.0) + else: + orientation = "" + if center: + return "\n" % ( + -self._min_x, -self._min_y) + else: + return "\n%s" % ( + self._scale, self._scale, orientation ) + + def footer(self): + if self._orientation != 0: + return " \n\n\n" + else: + return " \n\n" + + def style(self): + if self._gradiant is True: + fill = "url(#linearGradient5678)" + else: + fill = self._fill + return "%s%s;%s%s;%s%.1f;%s%s" % ( + " style=\"fill:",fill, + "fill-opacity:1;stroke:",self._stroke, + "stroke-width:",self._stroke_width, + "stroke-linecap:round;", + "stroke-opacity:1;\" />\n") + + def text(self, x, y, size, width, string): + self._x = x + self._y = y + self._check_min_max() + self._x = x+width + self._y = y-size + self._check_min_max() + return " %s%.1f%s%s%s%.1f%s%.1f%s%.1f%s%s%s%s%s" % ( + "\n ", + string, "\n \n") + + def image(self, x, y, w, h, path, image_data=None): + self._x = x + self._y = y + self._check_min_max() + self._x = x+w + self._y = y+h + self._check_min_max() + if image_data == None: + return " %s%.1f%s%.1f%s%.1f%s%.1f%s%s%s" % ( + "\n") + else: + return " %s%.1f%s%.1f%s%.1f%s%.1f%s%s%s" % ( + "\n") + + + def _circle(self, r, cx, cy): + return "%s%s%s%s%s%f%s%f%s%f%s" % ("\n") + + def _rect(self, w, h, x, y): + return "%s%s%s%s%s%f%s%f%s%f%s%f%s" % ("\n") + + def background(self, fill): + return "%s%s%s%s%s%f%s%f%s%f%s%f%s" % ("\n") + + def _check_min_max(self): + if self._x < self._min_x: + self._min_x = self._x + if self._y < self._min_y: + self._min_y = self._y + if self._x > self._max_x: + self._max_x = self._x + if self._y > self._max_y: + self._max_y = self._y + + def line_to(self, x, y): + self._check_min_max() + if self._x == x and self._y == y: + return "" + else: + self._x = x + self._y = y + self._check_min_max() + return "L %.1f %.1f " % (x, y) + + def _rline_to(self, dx, dy): + if dx == 0 and dy == 0: + return "" + else: + return self.line_to(self._x+dx, self._y+dy) + + def arc_to(self, x, y, r, a=90, l=0, s=1): + self._check_min_max() + if r == 0: + return self.line_to(x, y) + else: + self._x = x + self._y = y + self._check_min_max() + return "A %.1f %.1f %.1f %d %d %.1f %.1f " % ( + r, r, a, l, s, x, y) + + def _rarc_to(self, sign_x, sign_y, a=90, l=0, s=1): + if self._radius == 0: + return "" + else: + x = self._x + sign_x*self._radius + y = self._y + sign_y*self._radius + return self.arc_to(x, y, self._radius, a, l, s) + + def _inverse_corner(self, sign_x, sign_y, a=90, l=0, s=1, start=True, + end=True): + r2 = self._stroke_width+self._radius/2.0 + if start: + if sign_x*sign_y == -1: + svg_str =self._rline_to(sign_x*(r2-self._stroke_width), 0) + else: + svg_str =self._rline_to(0, sign_y*+(r2-self._stroke_width)) + x = self._x + sign_x*r2 + y = self._y + sign_y*r2 + svg_str += self.arc_to(x, y, r2, a, l, s) + if end: + if sign_x*sign_y == -1: + svg_str +=self._rline_to(0, sign_y*(r2-self._stroke_width)) + else: + svg_str +=self._rline_to(sign_x*(r2-self._stroke_width), 0) + return svg_str + + def _corner(self, sign_x, sign_y, a=90, l=0, s=1, start=True, end=True): + svg_str = "" + if sign_x == 1 and sign_y == -1: + self._hide_x = self._x + self._radius/2 + self._hide_y = self._y - self._radius/2 + if sign_x == -1 and sign_y == 1: + self._show_x = self._x - self._radius/2 + self._show_y = self._y + self._radius/2 + if True in self._innie: + self._show_x -= (self._innie_x1+self._innie_x2) + self._show_y -= (self._innie_y1+self._innie_y2) + if self._radius > 0: + r2 = self._radius/2.0 + if start: + if sign_x*sign_y == 1: + svg_str +=self._rline_to(sign_x*r2, 0) + else: + svg_str +=self._rline_to(0, sign_y*r2) + x = self._x + sign_x*r2 + y = self._y + sign_y*r2 + svg_str += self.arc_to(x, y, r2, a, l, s) + if end: + if sign_x*sign_y == 1: + svg_str +=self._rline_to(0, sign_y*r2) + else: + svg_str +=self._rline_to(sign_x*r2, 0) + return svg_str + + def new_path(self, x, y): + """ + self._min_x = x + self._min_y = y + self._max_x = x + self._max_y = y + """ + self._x = x + self._y = y + return " spr.x+spr.width-1: return False - if yspr.y+spr.height-1: return False - if isinstance(spr.image,gtk.gdk.Pixmap): return True - if hasattr(spr, 'proto') and hasattr(spr.proto, 'name') and \ - spr.proto.name == 'journal': - return True - dx, dy = x-spr.x, y-spr.y - try: - return ord(spr.image.get_pixels()[(dy*spr.width+dx)*4+3]) == 255 - except IndexError: - if hasattr(spr, 'proto') and hasattr(spr.proto, 'name'): - print spr.proto.name - print "IndexError: string index out of range: " + str(dx) + " " \ - + str(dy) + " " + str(spr.width) + " " + str(spr.height) - return True - -def draw_label(spr, label, myscale, center_flag, truncate_flag): - fd = pango.FontDescription('Sans') - fd.set_size(int(myscale*spr.tw.scale*pango.SCALE)) - if type(label) == str or type(label) == unicode: - mylabel = label.replace("\0"," ") - l = len(mylabel) - if truncate_flag and l > 8: - pl = spr.tw.window.create_pango_layout("..."+mylabel[l-8:]) - else: - pl = spr.tw.window.create_pango_layout(mylabel) - pl.set_font_description(fd) - if center_flag: - swidth = pl.get_size()[0]/pango.SCALE - centerx = spr.x+spr.width/2 - x = int(centerx-swidth/2) - else: - x = spr.x+70 - sheight = pl.get_size()[1]/pango.SCALE - centery = spr.y+spr.height/2 - y = int(centery-sheight/2) - spr.tw.gc.set_foreground(spr.tw.msgcolor) - spr.tw.area.draw_layout(spr.tw.gc, x, y, pl) - else: - print type(label) - -# used for most things -def draw_label1(spr, label): - draw_label(spr, label, 7, True, True) - -# used for status blocks -def draw_label2(spr, label): - draw_label(spr, str(label), 9, False, False) - -# used to get pixel value from mask for category selector -def getpixel(image,x,y): - array = image.get_pixels() - offset = (y*image.get_width()+x)*4 - r,g,b,a = ord(array[offset]),ord(array[offset+1]),ord(array[offset+2]), \ - ord(array[offset+3]) - return (a<<24)+(b<<16)+(g<<8)+r - - diff --git a/taturtle.py b/taturtle.py index 42447c3..b6fc6a9 100644 --- a/taturtle.py +++ b/taturtle.py @@ -1,5 +1,5 @@ -#Copyright (c) 2007-8, Playful Invention Company. -#Copyright (c) 2008-9, Walter Bender +# -*- coding: utf-8 -*- +#Copyright (c) 2010 Walter Bender #Permission is hereby granted, free of charge, to any person obtaining a copy #of this software and associated documentation files (the "Software"), to deal @@ -19,290 +19,177 @@ #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN #THE SOFTWARE. -import gtk -from math import sin,cos,pi -class taTurtle: pass - -from tasprites import * -from tasetup import load_image - -colors = {} -DEGTOR = 2*pi/360 - -color_table = ( - 0xFF0000,0xFF0D00,0xFF1A00,0xFF2600,0xFF3300, - 0xFF4000,0xFF4D00,0xFF5900,0xFF6600,0xFF7300, - 0xFF8000,0xFF8C00,0xFF9900,0xFFA600,0xFFB300, - 0xFFBF00,0xFFCC00,0xFFD900,0xFFE600,0xFFF200, - 0xFFFF00,0xE6FF00,0xCCFF00,0xB3FF00,0x99FF00, - 0x80FF00,0x66FF00,0x4DFF00,0x33FF00,0x1AFF00, - 0x00FF00,0x00FF0D,0x00FF1A,0x00FF26,0x00FF33, - 0x00FF40,0x00FF4D,0x00FF59,0x00FF66,0x00FF73, - 0x00FF80,0x00FF8C,0x00FF99,0x00FFA6,0x00FFB3, - 0x00FFBF,0x00FFCC,0x00FFD9,0x00FFE6,0x00FFF2, - 0x00FFFF,0x00F2FF,0x00E6FF,0x00D9FF,0x00CCFF, - 0x00BFFF,0x00B3FF,0x00A6FF,0x0099FF,0x008CFF, - 0x0080FF,0x0073FF,0x0066FF,0x0059FF,0x004DFF, - 0x0040FF,0x0033FF,0x0026FF,0x001AFF,0x000DFF, - 0x0000FF,0x0D00FF,0x1A00FF,0x2600FF,0x3300FF, - 0x4000FF,0x4D00FF,0x5900FF,0x6600FF,0x7300FF, - 0x8000FF,0x8C00FF,0x9900FF,0xA600FF,0xB300FF, - 0xBF00FF,0xCC00FF,0xD900FF,0xE600FF,0xF200FF, - 0xFF00FF,0xFF00E6,0xFF00CC,0xFF00B3,0xFF0099, - 0xFF0080,0xFF0066,0xFF004D,0xFF0033,0xFF001A) - -def tNew(tw,w,h): - t = taTurtle() - t.tw, t.width, t.height = tw, w, h - t.canvas = sprNew(tw,0,0,gtk.gdk.Pixmap(tw.area,w,h,-1)) - t.canvas.type = 'canvas' - setlayer(t.canvas,600) - t.shapelist = \ - [load_image(tw, tw.path, 'shapes','t'+str(i)) for i in range(36)] - t.spr = sprNew(tw,100,100,t.shapelist[0]) - t.spr.type = 'turtle' - setlayer(t.spr, 630) - t.gc = t.canvas.image.new_gc() - t.shade = 0 - clearscreen(t) - return t - -def clearscreen(t): - t.xcor, t.ycor, t.heading = 0,0,0 - rect = gtk.gdk.Rectangle(0,0,t.width,t.height) - t.gc.set_foreground(t.tw.bgcolor) - t.canvas.image.draw_rectangle(t.gc, True, *rect) - invalt(t,0,0,t.width,t.height) - setpensize(t,5) - setcolor(t,0) - settextcolor(t,70) - settextsize(t,32) - setshade(t,50) - t.pendown = True - move_turtle(t) - turn_turtle(t) - return None - -def forward(t, n): - n *= t.tw.coord_scale - t.gc.set_foreground(t.tw.fgcolor) - oldx, oldy = t.xcor, t.ycor - try: - t.xcor += n*sin(t.heading*DEGTOR) - t.ycor += n*cos(t.heading*DEGTOR) - except: - pass - if t.pendown: - draw_line(t,oldx,oldy,t.xcor,t.ycor) - move_turtle(t) - return None - -def seth(t,n): - try: - t.heading=n - except: - pass - t.heading%=360 - turn_turtle(t) - return None - -def right(t,n): - try: - t.heading+=n - except: - pass - t.heading%=360 - turn_turtle(t) - return None - -def arc(t,a,r): - t.gc.set_foreground(t.tw.fgcolor) - r *= t.tw.coord_scale - try: - if a<0: larc(t,-a,r) - else: rarc(t,a,r) - except: - pass - move_turtle(t) - turn_turtle(t) - -def rarc(t,a,r): - if r<0: r=-r; a=-a - cx = t.xcor+r*cos(t.heading*DEGTOR) - cy = t.ycor-r*sin(t.heading*DEGTOR) - x,y,w,h=t.width/2+int(cx-r),t.height/2-int(cy+r),int(2*r),int(2*r) - if t.pendown: - t.canvas.image.draw_arc(t.gc,False,x,y,w,h, \ - int(180-t.heading-a)*64,int(a)*64) - invalt(t,x-t.pensize*t.tw.coord_scale/2-3,y-t.pensize*t.tw.coord_scale/2-3,\ - w+t.pensize*t.tw.coord_scale+6,h+t.pensize*t.tw.coord_scale+6) - right(t,a) - t.xcor=cx-r*cos(t.heading*DEGTOR) - t.ycor=cy+r*sin(t.heading*DEGTOR) - -def larc(t,a,r): - if r<0: r=-r; a=-a - cx = t.xcor-r*cos(t.heading*DEGTOR) - cy = t.ycor+r*sin(t.heading*DEGTOR) - x,y,w,h=t.width/2+int(cx-r),t.height/2-int(cy+r),int(2*r),int(2*r) - if t.pendown: - t.canvas.image.draw_arc(t.gc,False,x,y,w,h,int(360-t.heading)*64, \ - int(a)*64) - invalt(t,x-t.pensize*t.tw.coord_scale/2-3,y-t.pensize*t.tw.coord_scale/2-3,\ - w+t.pensize*t.tw.coord_scale+6,h+t.pensize*t.tw.coord_scale+6) - right(t,-a) - t.xcor=cx+r*cos(t.heading*DEGTOR) - t.ycor=cy-r*sin(t.heading*DEGTOR) - -def setxy(t,x,y): - x *= t.tw.coord_scale - y *= t.tw.coord_scale - try: - t.xcor,t.ycor = x,y - except: - pass - move_turtle(t) - -def setpensize(t,ps): - try: - if ps<0: - ps=0; - t.pensize = ps - except: - pass - t.gc.set_line_attributes(int(t.pensize*t.tw.coord_scale), \ - gtk.gdk.LINE_SOLID, \ - gtk.gdk.CAP_ROUND, gtk.gdk.JOIN_MITER) - return None - -def setcolor(t,c): - try: - t.color = c - t.tcolor = c # using pen color for text color - except: - pass - set_fgcolor(t) - set_textcolor(t) - return None - -def settextcolor(t,c): - try: - t.tcolor = c - except: - pass - set_textcolor(t) - return None - -def settextsize(t,c): - try: - t.tw.textsize = c - except: - pass - return None - -def setshade(t,s): - try: - t.shade = s - except: - pass - set_fgcolor(t) - set_textcolor(t) - return None - -def fillscreen(t,c,s): - oldc, olds = t.color,t.shade - try: - setcolor(t,c); setshade(t,s) - rect = gtk.gdk.Rectangle(0,0,t.width,t.height) - t.gc.set_foreground(t.tw.fgcolor) - t.canvas.image.draw_rectangle(t.gc, True, *rect) - invalt(t,0,0,t.width,t.height) - setcolor(t,oldc); setshade(t,olds) - except: - pass - return None - -def set_fgcolor(t): - sh = (wrap100(t.shade)-50)/50.0 - rgb = color_table[wrap100(t.color)] - r,g,b = (rgb>>8)&0xff00,rgb&0xff00,(rgb<<8)&0xff00 - r,g,b = calc_shade(r,sh),calc_shade(g,sh),calc_shade(b,sh) - t.tw.rgb = [r>>8,g>>8,b>>8] - t.tw.fgcolor = t.tw.cm.alloc_color(r,g,b) - -def set_textcolor(t): - sh = (wrap100(t.shade)-50)/50.0 - rgb = color_table[wrap100(t.tcolor)] - r,g,b = (rgb>>8)&0xff00,rgb&0xff00,(rgb<<8)&0xff00 - r,g,b = calc_shade(r,sh),calc_shade(g,sh),calc_shade(b,sh) - t.tw.textcolor = t.tw.cm.alloc_color(r,g,b) - -def wrap100(n): - n = int(n) - n %= 200 - if n>99: n=199-n - return n - -def calc_shade(c,s): - if s<0: return int(c*(1+s*.8)) - return int(c+(65536-c)*s*.9) - -def setpen(t,bool): - t.pendown = bool - -def draw_pixbuf(t,pixbuf,a,b,x,y,w,h): - w *= t.tw.coord_scale - h *= t.tw.coord_scale - t.canvas.image.draw_pixbuf(t.gc, pixbuf, a, b, x, y) - invalt(t,x,y,w,h) - -def draw_text(t, label, x, y, size, w): - w *= t.tw.coord_scale - t.gc.set_foreground(t.tw.textcolor) - fd = pango.FontDescription('Sans') - try: - fd.set_size(int(size*t.tw.coord_scale)*pango.SCALE) - except: - pass - if type(label) == str or type(label) == unicode: - pl = t.tw.window.create_pango_layout(label.replace("\0"," ")) - elif type(label) == float or type(label) == int: - pl = t.tw.window.create_pango_layout(str(label)) - else: - print type(label) - pl = t.tw.window.create_pango_layout(str(label)) - pl.set_font_description(fd) - pl.set_width(int(w)*pango.SCALE) - t.canvas.image.draw_layout(t.gc,int(x),int(y),pl) - w,h = pl.get_pixel_size() - invalt(t,x,y,w,h) - -def draw_line(t,x1,y1,x2,y2): - x1,y1 = t.width/2+int(x1), t.height/2-int(y1) - x2,y2 = t.width/2+int(x2), t.height/2-int(y2) - if x1 %d" % (heading, i) + + def set_color(self, color): + """ Set the pen color for this turtle. """ + self.pen_color = color + + def set_shade(self, shade): + """ Set the pen shade for this turtle. """ + self.pen_shade = shade + + def set_pen_size(self, pen_size): + """ Set the pen size for this turtle. """ + self.pen_size = pen_size + + def set_pen_state(self, pen_state): + """ Set the pen state (down==True) for this turtle. """ + self.pen_state = pen_state + + def hide(self): + """ Hide the turtle. """ + self.spr.hide() + self.hidden = True + + def show(self): + """ Show the turtle. """ + self.spr.set_layer(TURTLE_LAYER) + self.hidden = False + self.move((self.x, self.y)) + self.set_heading(self.heading) + + def move(self, pos): + """ Move the turtle. """ + self.x, self.y = pos[0], pos[1] + if self.hidden is False: + self.spr.move(pos) + return(self.x, self.y) + + def get_xy(self): + """ Return the turtle's x, y coordinates. """ + return(self.x, self.y) + + def get_heading(self): + """ Return the turtle's heading. """ + return(self.heading) + + def get_color(self): + """ Return the turtle's color. """ + return(self.pen_color) + + def get_shade(self): + """ Return the turtle's shade. """ + return(self.pen_shade) + + def get_pen_size(self): + """ Return the turtle's pen size. """ + return(self.pen_size) + + def get_pen_state(self): + """ Return the turtle's pen state. """ + return(self.pen_state) diff --git a/tautils.py b/tautils.py new file mode 100644 index 0000000..77eb3f5 --- /dev/null +++ b/tautils.py @@ -0,0 +1,693 @@ +#Copyright (c) 2007-8, Playful Invention Company. +#Copyright (c) 2008-10, Walter Bender + +#Permission is hereby granted, free of charge, to any person obtaining a copy +#of this software and associated documentation files (the "Software"), to deal +#in the Software without restriction, including without limitation the rights +#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +#copies of the Software, and to permit persons to whom the Software is +#furnished to do so, subject to the following conditions: + +#The above copyright notice and this permission notice shall be included in +#all copies or substantial portions of the Software. + +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +#THE SOFTWARE. + +import gtk +import pickle +import subprocess +try: + OLD_SUGAR_SYSTEM = False + import json + json.dumps + from json import load as jload + from json import dump as jdump +except (ImportError, AttributeError): + try: + import simplejson as json + from simplejson import load as jload + from simplejson import dump as jdump + except: + OLD_SUGAR_SYSTEM = True +from taconstants import STRING_OR_NUMBER_ARGS, HIDE_LAYER, CONTENT_ARGS, \ + COLLAPSIBLE, BLOCK_LAYER, CONTENT_BLOCKS +from StringIO import StringIO +import os.path +from gettext import gettext as _ + +class logoerror(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +''' +The strategy for mixing numbers and strings is to first try +converting the string to a float; then if the string is a single +character, try converting it to an ord; finally, just treat it as a +string. Numbers appended to strings are first trreated as ints, then +floats. +''' +def convert(x, fn, try_ord=True): + try: + return fn(x) + except ValueError: + if try_ord: + xx, flag = chr_to_ord(x) + if flag: + return fn(xx) + return x + +def chr_to_ord(x): + """ Try to comvert a string to an ord """ + if strtype(x) and len(x) == 1: + try: + return ord(x[0]), True + except ValueError: + return x, False + return x, False + +def strtype(x): + """ Is x a string type? """ + if type(x) == str: + return True + if type(x) == unicode: + return True + return False + +def magnitude(pos): + """ Calculate the magnitude of the distance between to blocks. """ + x, y = pos + return x*x+y*y + +def json_load(text): + """ Load JSON data using what ever resources are available. """ + if OLD_SUGAR_SYSTEM is True: + _listdata = json.read(text) + else: + # strip out leading and trailing whitespace, nulls, and newlines + text = text.lstrip() + text = text.replace('\12','') + text = text.replace('\00','') + _io = StringIO(text.rstrip()) + _listdata = jload(_io) + # json converts tuples to lists, so we need to convert back, + return _tuplify(_listdata) + +def _tuplify(tup): + """ Convert to tuples """ + if type(tup) is not list: + return tup + return tuple(map(_tuplify, tup)) + +def get_id(connection): + """ Get a connection block ID. """ + if connection is None: + return None + return connection.id + +def json_dump(data): + """ Save data using available JSON tools. """ + if OLD_SUGAR_SYSTEM is True: + return json.write(data) + else: + _io = StringIO() + jdump(data, _io) + return _io.getvalue() + +def get_load_name(suffix, load_save_folder): + """ Open a load file dialog. """ + _dialog = gtk.FileChooserDialog("Load...", None, + gtk.FILE_CHOOSER_ACTION_OPEN, + (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, + gtk.STOCK_OPEN, gtk.RESPONSE_OK)) + _dialog.set_default_response(gtk.RESPONSE_OK) + return do_dialog(_dialog, suffix, load_save_folder) + +def get_save_name(suffix, load_save_folder, save_file_name): + """ Open a save file dialog. """ + _dialog = gtk.FileChooserDialog("Save...", None, + gtk.FILE_CHOOSER_ACTION_SAVE, + (gtk.STOCK_CANCEL, + gtk.RESPONSE_CANCEL, + gtk.STOCK_SAVE, + gtk.RESPONSE_OK)) + _dialog.set_default_response(gtk.RESPONSE_OK) + if save_file_name is not None: + _dialog.set_current_name(save_file_name+suffix) + return do_dialog(_dialog, suffix, load_save_folder) + +# +# We try to maintain read-compatibility with all versions of Turtle Art. +# Try pickle first; then different versions of json. +# +def data_from_file(ta_file): + """ Open the .ta file, ignoring any .png file that might be present. """ + file_handle = open(ta_file, "r") + try: + _data = pickle.load(file_handle) + except: + # Rewind necessary because of failed pickle.load attempt + file_handle.seek(0) + _text = file_handle.read() + _data = data_from_string(_text) + file_handle.close() + return _data + +def data_from_string(text): + """ JSON load data from a string. """ + return json_load(text) + +def data_to_file(data, ta_file): + """ Write data to a file. """ + file_handle = file(ta_file, "w") + file_handle.write(data_to_string(data)) + file_handle.close() + +def data_to_string(data): + """ JSON dump a string. """ + return json_dump(data) + +def do_dialog(dialog, suffix, load_save_folder): + """ Open a file dialog. """ + _result = None + file_filter = gtk.FileFilter() + file_filter.add_pattern('*'+suffix) + file_filter.set_name("Turtle Art") + dialog.add_filter(file_filter) + dialog.set_current_folder(load_save_folder) + _response = dialog.run() + if _response == gtk.RESPONSE_OK: + _result = dialog.get_filename() + load_save_folder = dialog.get_current_folder() + dialog.destroy() + return _result, load_save_folder + +def save_picture(canvas, file_name=''): + """ Save the canvas to a file. """ + _pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, canvas.width, + canvas.height) + _pixbuf.get_from_drawable(canvas.canvas.images[0], + canvas.canvas.images[0].get_colormap(), + 0, 0, 0, 0, canvas.width, canvas.height) + if file_name != '': + _pixbuf.save(file_name, 'png') + return _pixbuf + +def save_svg(string, file_name): + """ Write a string to a file. """ + file_handle = file(file_name, "w") + file_handle.write(string) + file_handle.close() + +def get_pixbuf_from_journal(dsobject, w, h): + """ Load a pixbuf from a Journal object. """ + try: + _pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(dsobject.file_path, + int(w), int(h)) + except: + try: + _pixbufloader = \ + gtk.gdk.pixbuf_loader_new_with_mime_type('image/png') + _pixbufloader.set_size(min(300, int(w)), min(225, int(h))) + _pixbufloader.write(dsobject.metadata['preview']) + _pixbufloader.close() + _pixbuf = _pixbufloader.get_pixbuf() + except: + _pixbuf = None + return _pixbuf + +def get_path(activity, subpath ): + """ Find a Rainbow-approved place for temporary files. """ + try: + return(os.path.join(activity.get_activity_root(), subpath)) + except: + # Early versions of Sugar didn't support get_activity_root() + return(os.path.join(os.environ['HOME'], ".sugar/default", + "org.laptop.TurtleArtActivity", subpath)) + +def image_to_base64(pixbuf, activity): + """ Convert an image to base64 """ + _file_name = os.path.join(get_path(activity, 'instance'), 'imagetmp.png') + if pixbuf != None: + pixbuf.save(_file_name, "png") + _base64 = os.path.join(get_path(activity, 'instance'), 'base64tmp') + _cmd = "base64 <" + _file_name + " >" + _base64 + subprocess.check_call(_cmd, shell=True) + _file_handle = open(_base64, 'r') + _data = _file_handle.read() + _file_handle.close() + return _data + +def movie_media_type(name): + """ Is it movie media? """ + return name.endswith(('.ogv', '.vob', '.mp4', '.wmv', '.mov', '.mpeg')) + +def audio_media_type(name): + """ Is it audio media? """ + return name.endswith(('.ogg', '.oga', '.m4a')) + +def image_media_type(name): + """ Is it image media? """ + return name.endswith(('.png', '.jpg', '.jpeg', '.gif', '.tiff', '.tif', + '.svg')) +def text_media_type(name): + """ Is it text media? """ + return name.endswith(('.txt', '.py', '.lg', '.doc', '.rtf')) + +def round_int(num): + """ Remove trailing decimal places if number is an int """ + try: + float(num) + except TypeError: + raise logoerror("#syntaxerror") + + if int(float(num)) == num: + return int(num) + else: + _nn = int(float(num+0.05)*10)/10. + if int(float(_nn)) == _nn: + return int(_nn) + return _nn + +def calc_image_size(spr): + """ Calculate the maximum size for placing an image onto a sprite. """ + return spr.label_safe_width(), spr.label_safe_height() + + + +# Collapsible stacks live between 'sandwichtop' and 'sandwichbottom' blocks + +def reset_stack_arm(top): + """ When we undock, retract the 'arm' that extends from 'sandwichtop'. """ + if top is not None and top.name == 'sandwichtop': + if top.ey > 0: + top.reset_y() + +def grow_stack_arm(top): + """ When we dock, grow an 'arm' from 'sandwichtop'. """ + if top is not None and top.name == 'sandwichtop': + _bot = find_sandwich_bottom(top) + if _bot is None: + return + if top.ey > 0: + top.reset_y() + _ty = top.spr.get_xy()[1] + _th = top.spr.get_dimensions()[1] + _by = _bot.spr.get_xy()[1] + _dy = _by-(_ty + _th) + if _dy > 0: + top.expand_in_y(_dy/top.scale) + top.refresh() + +def find_sandwich_top(blk): + """ Find the sandwich top above this block. """ + # Always follow the main branch of a flow: the first connection. + _blk = blk.connections[0] + while _blk is not None: + if _blk.name in COLLAPSIBLE: + return None + if _blk.name in ['repeat', 'if', 'ifelse', 'forever', 'while']: + if blk != _blk.connections[len(_blk.connections) - 1]: + return None + if _blk.name == 'sandwichtop' or _blk.name == 'sandwichtop2': + return _blk + blk = _blk + _blk = _blk.connections[0] + return None + +def find_sandwich_bottom(blk): + """ Find the sandwich bottom below this block. """ + # Always follow the main branch of a flow: the last connection. + _blk = blk.connections[len(blk.connections) - 1] + while _blk is not None: + if _blk.name == 'sandwichtop' or _blk.name == 'sandwichtop2': + return None + if _blk.name in COLLAPSIBLE: + return _blk + _blk = _blk.connections[len(_blk.connections) - 1] + return None + +def find_sandwich_top_below(blk): + """ Find the sandwich top below this block. """ + if blk.name == 'sandwichtop' or blk.name == 'sandwichtop2': + return blk + # Always follow the main branch of a flow: the last connection. + _blk = blk.connections[len(blk.connections) - 1] + while _blk is not None: + if _blk.name == 'sandwichtop' or _blk.name == 'sandwichtop2': + return _blk + _blk = _blk.connections[len(_blk.connections) - 1] + return None + +def restore_stack(top): + """ Restore the blocks between the sandwich top and sandwich bottom. """ + _group = find_group(top.connections[len(top.connections) - 1]) + _hit_bottom = False + _bot = find_sandwich_bottom(top) + for _blk in _group: + if not _hit_bottom and _blk == _bot: + _hit_bottom = True + if len(_blk.values) == 0: + _blk.values.append(0) + else: + _blk.values[0] = 0 + _olddx = _blk.docks[1][2] + _olddy = _blk.docks[1][3] + # Replace 'sandwichcollapsed' shape with 'sandwichbottom' shape + _blk.name = 'sandwichbottom' + _blk.spr.set_label(' ') + _blk.svg.set_show(False) + _blk.svg.set_hide(True) + _blk.refresh() + # Redock to previous block in group + _you = _blk.connections[0] + (_yx, _yy) = _you.spr.get_xy() + _yd = _you.docks[len(_you.docks) - 1] + (_bx, _by) = _blk.spr.get_xy() + _dx = _yx + _yd[2] - _blk.docks[0][2] - _bx + _dy = _yy + _yd[3] - _blk.docks[0][3] - _by + _blk.spr.move_relative((_dx, _dy)) + # Since the shapes have changed, the dock positions have too. + _newdx = _blk.docks[1][2] + _newdy = _blk.docks[1][3] + _dx += _newdx - _olddx + _dy += _newdy - _olddy + else: + if not _hit_bottom: + _blk.spr.set_layer(BLOCK_LAYER) + _blk.status = None + else: + _blk.spr.move_relative((_dx, _dy)) + # Add 'sandwichtop' arm + top.name = 'sandwichtop' + top.refresh() + grow_stack_arm(top) + +def uncollapse_forks(top, looping=False): + """ From the top, find and restore any collapsible stacks on forks. """ + if top == None: + return + if looping and top.name == 'sandwichtop' or top.name == 'sandwichtop2': + restore_stack(top) + return + if len(top.connections) == 0: + return + _blk = top.connections[len(top.connections) - 1] + while _blk is not None: + if _blk.name in COLLAPSIBLE: + return + if _blk.name == 'sandwichtop' or _blk.name == 'sandwichtop2': + restore_stack(_blk) + return + # Follow a fork + if _blk.name in ['repeat', 'if', 'ifelse', 'forever', 'while', 'until']: + top = find_sandwich_top_below( + _blk.connections[len(_blk.connections) - 2]) + if top is not None: + uncollapse_forks(top, True) + if _blk.name == 'ifelse': + top = find_sandwich_top_below( + _blk.connections[len(_blk.connections) - 3]) + if top is not None: + uncollapse_forks(top, True) + _blk = _blk.connections[len(_blk.connections) - 1] + return + +def collapse_stack(top): + """ Hide all the blocks between the sandwich top and sandwich bottom. """ + # First uncollapse any nested stacks + uncollapse_forks(top) + _hit_bottom = False + _bot = find_sandwich_bottom(top) + _group = find_group(top.connections[len(top.connections) - 1]) + for _blk in _group: + if not _hit_bottom and _blk == _bot: + _hit_bottom = True + # Replace 'sandwichbottom' shape with 'sandwichcollapsed' shape + if len(_blk.values) == 0: + _blk.values.append(1) + else: + _blk.values[0] = 1 + _olddx = _blk.docks[1][2] + _olddy = _blk.docks[1][3] + _blk.name = 'sandwichcollapsed' + _blk.svg.set_show(True) + _blk.svg.set_hide(False) + _blk._dx = 0 + _blk._ey = 0 + _blk.spr.set_label(' ') + _blk.resize() + _blk.spr.set_label(_('click to open')) + _blk.resize() + # Redock to sandwich top in group + _you = find_sandwich_top(_blk) + (_yx, _yy) = _you.spr.get_xy() + _yd = _you.docks[len(_you.docks) - 1] + (_bx, _by) = _blk.spr.get_xy() + _dx = _yx + _yd[2] - _blk.docks[0][2] - _bx + _dy = _yy + _yd[3] - _blk.docks[0][3] - _by + _blk.spr.move_relative((_dx, _dy)) + # Since the shapes have changed, the dock positions have too. + _newdx = _blk.docks[1][2] + _newdy = _blk.docks[1][3] + _dx += _newdx - _olddx + _dy += _newdy - _olddy + else: + if not _hit_bottom: + _blk.spr.set_layer(HIDE_LAYER) + _blk.status = 'collapsed' + else: + _blk.spr.move_relative((_dx, _dy)) + # Remove 'sandwichtop' arm + top.name = 'sandwichtop2' + top.refresh() + +def collapsed(blk): + """ Is this stack collapsed? """ + if blk is not None and blk.name in COLLAPSIBLE and\ + len(blk.values) == 1 and blk.values[0] != 0: + return True + return False + +def collapsible(blk): + """ Can this stack be collapsed? """ + if blk is None or blk.name not in COLLAPSIBLE: + return False + if find_sandwich_top(blk) is None: + return False + return True + +def hide_button_hit(spr, x, y): + """ Did the sprite's hide (contract) button get hit? """ + _red, _green, _blue, _alpha = spr.get_pixel((x, y)) + if (_red == 255 and _green == 0) or _green == 255: + return True + else: + return False + +def show_button_hit(spr, x, y): + """ Did the sprite's show (expand) button get hit? """ + _red, _green, _blue, _alpha = spr.get_pixel((x, y)) + if _green == 254: + return True + else: + return False + +def numeric_arg(value): + """ Dock test: looking for a numeric value """ + if type(convert(value, float)) is float: + return True + return False + +def zero_arg(value): + """ Dock test: looking for a zero argument """ + if numeric_arg(value): + if convert(value, float) == 0: + return True + return False + +def neg_arg(value): + """ Dock test: looking for a negative argument """ + if numeric_arg(value): + if convert(value, float) < 0: + return True + return False + +def dock_dx_dy(block1, dock1n, block2, dock2n): + """ Find the distance between the dock points of two blocks. """ + _dock1 = block1.docks[dock1n] + _dock2 = block2.docks[dock2n] + _d1type, _d1dir, _d1x, _d1y = _dock1[0:4] + _d2type, _d2dir, _d2x, _d2y = _dock2[0:4] + if block1 == block2: + return (100, 100) + if _d1dir == _d2dir: + return (100, 100) + if (_d2type is not 'number') or (dock2n is not 0): + if block1.connections is not None and \ + dock1n < len(block1.connections) and \ + block1.connections[dock1n] is not None: + return (100, 100) + if block2.connections is not None and \ + dock2n < len(block2.connections) and \ + block2.connections[dock2n] is not None: + return (100, 100) + if _d1type != _d2type: + if block1.name in STRING_OR_NUMBER_ARGS: + if _d2type == 'number' or _d2type == 'string': + pass + elif block1.name in CONTENT_ARGS: + if _d2type in CONTENT_BLOCKS: + pass + else: + return (100, 100) + (_b1x, _b1y) = block1.spr.get_xy() + (_b2x, _b2y) = block2.spr.get_xy() + return ((_b1x + _d1x) - (_b2x + _d2x), (_b1y + _d1y) - (_b2y + _d2y)) + +def arithmetic_check(blk1, blk2, dock1, dock2): + """ Dock strings only if they convert to numbers. Avoid /0 and root(-1)""" + if blk1 == None or blk2 == None: + return True + if blk1.name in ['sqrt', 'number', 'string'] and\ + blk2.name in ['sqrt', 'number', 'string']: + if blk1.name == 'number' or blk1.name == 'string': + if not numeric_arg(blk1.values[0]) or neg_arg(blk1.values[0]): + return False + elif blk2.name == 'number' or blk2.name == 'string': + if not numeric_arg(blk2.values[0]) or neg_arg(blk2.values[0]): + return False + elif blk1.name in ['division2', 'number', 'string'] and\ + blk2.name in ['division2', 'number', 'string']: + if blk1.name == 'number' or blk1.name == 'string': + if not numeric_arg(blk1.values[0]): + return False + if dock2 == 2 and zero_arg(blk1.values[0]): + return False + elif blk2.name == 'number' or blk2.name == 'string': + if not numeric_arg(blk2.values[0]): + return False + if dock1 == 2 and zero_arg(blk2.values[0]): + return False + elif blk1.name in ['product2', 'minus2', 'random', 'remainder2', + 'string'] and\ + blk2.name in ['product2', 'minus2', 'random', 'remainder2', + 'string']: + if blk1.name == 'string': + if not numeric_arg(blk1.values[0]): + return False + elif blk1.name == 'string': + if not numeric_arg(blk2.values[0]): + return False + elif blk1.name in ['greater2', 'less2'] and blk2.name == 'string': + # Non-numeric stings are OK if only both args are strings; + # Lots of test conditions... + if dock1 == 1 and blk1.connections[2] is not None: + if blk1.connections[2].name == 'number': + if not numeric_arg(blk2.values[0]): + return False + elif dock1 == 2 and blk1.connections[1] is not None: + if blk1.connections[1].name == 'number': + if not numeric_arg(blk2.values[0]): + return False + elif blk2.name in ['greater2', 'less2'] and blk1.name == 'string': + if dock2 == 1 and blk2.connections[2] is not None: + if blk2.connections[2].name == 'number': + if not numeric_arg(blk1.values[0]): + return False + elif dock2 == 2 and blk2.connections[1] is not None: + if blk2.connections[1].name == 'number': + if not numeric_arg(blk1.values[0]): + return False + elif blk1.name in ['greater2', 'less2'] and blk2.name == 'number': + if dock1 == 1 and blk1.connections[2] is not None: + if blk1.connections[2].name == 'string': + if not numeric_arg(blk1.connections[2].values[0]): + return False + elif dock1 == 2 and blk1.connections[1] is not None: + if blk1.connections[1].name == 'string': + if not numeric_arg(blk1.connections[1].values[0]): + return False + elif blk2.name in ['greater2', 'less2'] and blk1.name == 'number': + if dock2 == 1 and blk2.connections[2] is not None: + if blk2.connections[2].name == 'string': + if not numeric_arg(blk2.connections[2].values[0]): + return False + elif dock2 == 2 and blk2.connections[1] is not None: + if blk2.connections[1].name == 'string': + if not numeric_arg(blk2.connections[1].values[0]): + return False + return True + +def xy(event): + """ Where is the mouse event? """ + return map(int, event.get_coords()) + +""" +Utilities related to finding blocks in stacks. +""" + +def find_block_to_run(blk): + """ Find a stack to run (any stack without a 'def action'on the top). """ + _top = find_top_block(blk) + if blk == _top and blk.name[0:3] is not 'def': + return True + else: + return False + +def find_top_block(blk): + """ Find the top block in a stack. """ + if len(blk.connections) == 0: + return blk + while blk.connections[0] is not None: + blk = blk.connections[0] + return blk + +def find_start_stack(blk): + """ Find a stack with a 'start' block on top. """ + if find_top_block(blk).name == 'start': + return True + else: + return False + +def find_group(blk): + """ Find the connected group of block in a stack. """ + if blk is None: + return [] + _group = [blk] + if blk.connections is not None: + for _blk2 in blk.connections[1:]: + if _blk2 is not None: + _group.extend(find_group(_blk2)) + return _group + +def find_blk_below(blk, name): + """ Find a specific block below this block. """ + if blk == None or len(blk.connections) == 0: + return + _group = find_group(blk) + for _gblk in _group: + if _gblk.name == name: + return _gblk + return None + +def olpc_xo_1(): + """ Is the an OLPC XO-1 or XO-1.5? """ + return os.path.exists('/etc/olpc-release') or \ + os.path.exists('/sys/power/olpc-pm') + +def walk_stack(tw, blk): + """ Convert blocks to logo psuedocode. """ + top = find_top_block(blk) + if blk == top: + code = tw.lc.run_blocks(top, tw.block_list.list, False) + return code + else: + return [] diff --git a/tawindow.py b/tawindow.py index 7b25335..57224f4 100644 --- a/tawindow.py +++ b/tawindow.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- #Copyright (c) 2007, Playful Invention Company -#Copyright (c) 2008-9, Walter Bender -#Copyright (c) 2009, Raúl Gutiérrez Segalés +#Copyright (c) 2008-10, Walter Bender +#Copyright (c) 2009-10 Raúl Gutiérrez Segalés #Permission is hereby granted, free of charge, to any person obtaining a copy #of this software and associated documentation files (the "Software"), to deal @@ -24,895 +24,2176 @@ import pygtk pygtk.require('2.0') import gtk -import pango import gobject import os import os.path -import time - -# Import from Journal for these blocks -importblocks = ['audiooff', 'descriptionoff','journal'] - -class taWindow: pass - from math import atan2, pi DEGTOR = 2*pi/360 +from gettext import gettext as _ -from tasetup import * -from tasprites import * -from talogo import * -from taturtle import * -from taproject import * try: from sugar.graphics.objectchooser import ObjectChooser -except: + from sugar.datastore import datastore + from sugar import profile +except ImportError: pass -from tahoverhelp import * -from gettext import gettext as _ +from taconstants import HORIZONTAL_PALETTE, VERTICAL_PALETTE, BLOCK_SCALE, \ + PALETTE_NAMES, TITLEXY, MEDIA_SHAPES, STATUS_SHAPES, \ + OVERLAY_SHAPES, TOOLBAR_SHAPES, TAB_LAYER, \ + OVERLAY_LAYER, CATEGORY_LAYER, BLOCKS_WITH_SKIN, \ + ICON_SIZE, PALETTES, PALETTE_SCALE, BOX_STYLE_MEDIA, \ + PALETTE_WIDTH, MACROS, TOP_LAYER, BLOCK_LAYER, \ + CONTENT_BLOCKS, DEFAULTS, SPECIAL_NAMES, HELP_STRINGS, \ + CURSOR, EXPANDABLE, COLLAPSIBLE, RETURN, \ + DEAD_DICTS, DEAD_KEYS, TEMPLATES, PYTHON_SKIN, \ + PALETTE_HEIGHT, STATUS_LAYER, OLD_DOCK, OLD_NAMES, \ + BOOLEAN_STYLE, BLOCK_NAMES +from talogo import LogoCode, stop_logo +from tacanvas import TurtleGraphics +from tablock import Blocks, Block +from taturtle import Turtles, Turtle +from tautils import magnitude, get_load_name, get_save_name, data_from_file, \ + data_to_file, round_int, get_id, get_pixbuf_from_journal, \ + movie_media_type, audio_media_type, image_media_type, \ + save_picture, save_svg, calc_image_size, get_path, \ + reset_stack_arm, grow_stack_arm, find_sandwich_top, \ + find_sandwich_bottom, restore_stack, collapse_stack, \ + collapsed, collapsible, hide_button_hit, show_button_hit, \ + arithmetic_check, xy, find_block_to_run, find_top_block, \ + find_start_stack, find_group, find_blk_below, olpc_xo_1, \ + dock_dx_dy +from tasprite_factory import SVG, svg_str_to_pixbuf, svg_from_file +from sprites import Sprites, Sprite + +class TurtleArtWindow(): + """ TurtleArt Window class abstraction """ + timeout_tag = [0] + + def __init__(self, win, path, parent=None, mycolors=None): + self.win = None + self.window = win + self.path = path + self.load_save_folder = os.path.join(path, 'samples') + self.save_folder = None + self.save_file_name = None + self.window.set_flags(gtk.CAN_FOCUS) + self.width = gtk.gdk.screen_width() + self.height = gtk.gdk.screen_height() + if parent is not None: + parent.show_all() + self.running_sugar = True + self.activity = parent + self.nick = profile.get_nick_name() + else: + self.window.show_all() + self.running_sugar = False + self.activity = None + self.nick = None + self._setup_events() + self.keypress = "" + self.keyvalue = 0 + self.dead_key = "" + self.area = self.window.window + self.gc = self.area.new_gc() + self.orientation = HORIZONTAL_PALETTE + if olpc_xo_1(): + self.lead = 1.0 + self.scale = 0.67 + if self.running_sugar and not self.activity.new_sugar_system: + self.orientation = VERTICAL_PALETTE + else: + self.lead = 1.0 + self.scale = 1.0 + self.block_scale = BLOCK_SCALE + self.trash_scale = 0.5 + self.myblock = None + self.nop = 'nop' + self.loaded = 0 + self.step_time = 0 + self.hide = False + self.palette = True + self.coord_scale = 1 + self.buddies = [] + self.saved_string = '' + self.dx = 0 + self.dy = 0 + self.media_shapes = {} + self.cartesian = False + self.polar = False + self.overlay_shapes = {} + self.toolbar_shapes = {} + self.toolbar_offset = 0 + self.status_spr = None + self.status_shapes = {} + self.toolbar_spr = None + self.palette_sprs = [] + self.palettes = [] + self.palette_button = [] + self.trash_index = PALETTE_NAMES.index('trash') + self.trash_stack = [] + self.selected_palette = None + self.previous_palette = None + self.selectors = [] + self.selected_selector = None + self.previous_selector = None + self.selector_shapes = [] + self.selected_blk = None + self.selected_spr = None + self.drag_group = None + self.drag_turtle = 'move', 0, 0 + self.drag_pos = 0, 0 + self.block_list = Blocks(self.scale) + self.sprite_list = Sprites(self.window, self.area, self.gc) + self.turtles = Turtles(self.sprite_list) + if mycolors == None: + Turtle(self.turtles, 1) + else: + Turtle(self.turtles, 1, mycolors.split(',')) + self.active_turtle = self.turtles.get_turtle(1) + self.saving_svg = False + self.svg_string = '' + self.selected_turtle = None + self.canvas = TurtleGraphics(self, self.width, self.height) + self.titlex = -(self.canvas.width*TITLEXY[0])/(self.coord_scale*2) + self.leftx = -(self.canvas.width*TITLEXY[0])/(self.coord_scale*2) + self.rightx = 0 + self.titley = (self.canvas.height*TITLEXY[1])/(self.coord_scale*2) + self.topy = (self.canvas.height*(TITLEXY[1]-0.125))/(self.coord_scale*2) + self.bottomy = 0 + self.lc = LogoCode(self) + self.saved_pictures = [] + + self._setup_misc() + self._show_toolbar_palette(0, False) + self.block_operation = '' + + def _setup_events(self): + """ Register the events we listen to. """ + self.window.add_events(gtk.gdk.BUTTON_PRESS_MASK) + self.window.add_events(gtk.gdk.BUTTON_RELEASE_MASK) + self.window.add_events(gtk.gdk.POINTER_MOTION_MASK) + self.window.add_events(gtk.gdk.KEY_PRESS_MASK) + self.window.connect("expose-event", self._expose_cb) + self.window.connect("button-press-event", self._buttonpress_cb) + self.window.connect("button-release-event", self._buttonrelease_cb) + self.window.connect("motion-notify-event", self._move_cb) + self.window.connect("key_press_event", self._keypress_cb) + + def _setup_misc(self): + """ Misc. sprites for status, overlays, etc. """ + # media blocks get positioned into other blocks + for _name in MEDIA_SHAPES: + if _name[0:7] == 'journal' and not self.running_sugar: + file_name = 'file'+_name[7:] + else: + file_name = _name + self.media_shapes[_name] = svg_str_to_pixbuf(svg_from_file( + "%s/images/%s.svg" % (self.path, file_name))) + + for i, _name in enumerate(STATUS_SHAPES): + self.status_shapes[_name] = svg_str_to_pixbuf(svg_from_file( + "%s/images/%s.svg" % (self.path, _name))) + self.status_spr = Sprite(self.sprite_list, 0, self.height-200, + self.status_shapes['status']) + self.status_spr.hide() + self.status_spr.type = 'status' + + for _name in OVERLAY_SHAPES: + self.overlay_shapes[_name] = Sprite(self.sprite_list, + int(self.width/2-600), int(self.height/2-450), + svg_str_to_pixbuf(svg_from_file( + "%s/images/%s.svg" % (self.path, _name)))) + self.overlay_shapes[_name].hide() + self.overlay_shapes[_name].type = 'overlay' + + if not self.running_sugar: + offset = self.width-55*len(TOOLBAR_SHAPES) + for i, _name in enumerate(TOOLBAR_SHAPES): + self.toolbar_shapes[_name] = Sprite(self.sprite_list, + i*55+offset, 0, + svg_str_to_pixbuf( + svg_from_file("%s/icons/%s.svg" % (self.path, _name)))) + self.toolbar_shapes[_name].set_layer(TAB_LAYER) + self.toolbar_shapes[_name].name = _name + self.toolbar_shapes[_name].type = 'toolbar' + self.toolbar_shapes['stopiton'].hide() + + def sharing(self): + """ Is a chattube available for sharing? """ + if self.running_sugar and hasattr(self.activity, 'chattube') and\ + self.activity.chattube is not None: + return True + return False -# dead key dictionaries -dead_grave = {'A':192,'E':200,'I':204,'O':210,'U':217,'a':224,'e':232,'i':236,\ - 'o':242,'u':249} -dead_acute = {'A':193,'E':201,'I':205,'O':211,'U':218,'a':225,'e':233,'i':237,\ - 'o':243,'u':250} -dead_circumflex = {'A':194,'E':202,'I':206,'O':212,'U':219,'a':226,'e':234,\ - 'i':238,'o':244,'u':251} -dead_tilde = {'A':195,'O':211,'N':209,'U':360,'a':227,'o':245,'n':241,'u':361} -dead_diaeresis = {'A':196,'E':203,'I':207,'O':211,'U':218,'a':228,'e':235,\ - 'i':239,'o':245,'u':252} -dead_abovering = {'A':197,'a':229} - -# Time out for triggering help -timeout_tag = [0] - - -# -# Setup -# - -def twNew(win, path, lang, parent=None): - tw = taWindow() - tw.window = win - tw.path = os.path.join(path,'images') - tw.path_lang = os.path.join(path,'images',lang) - tw.path_en = os.path.join(path,'images/en') # en as fallback - tw.load_save_folder = os.path.join(path,'samples') - tw.save_folder = None - tw.save_file_name = None - win.set_flags(gtk.CAN_FOCUS) - tw.width = gtk.gdk.screen_width() - tw.height = gtk.gdk.screen_height() - # starting from command line - if parent is None: - win.show_all() - # starting from Sugar - else: - parent.show_all() - win.add_events(gtk.gdk.BUTTON_PRESS_MASK) - win.add_events(gtk.gdk.BUTTON_RELEASE_MASK) - win.add_events(gtk.gdk.POINTER_MOTION_MASK) - win.add_events(gtk.gdk.KEY_PRESS_MASK) - win.connect("expose-event", expose_cb, tw) - win.connect("button-press-event", buttonpress_cb, tw) - win.connect("button-release-event", buttonrelease_cb, tw) - win.connect("motion-notify-event", move_cb, tw) - win.connect("key_press_event", keypress_cb, tw) - tw.keypress = "" - tw.keyvalue = 0 - tw.dead_key = "" - tw.area = win.window - tw.gc = tw.area.new_gc() - # on an OLPC-XO-1, there is a scaling factor - if os.path.exists('/etc/olpc-release') or \ - os.path.exists('/sys/power/olpc-pm'): - tw.lead = 1.6 - tw.scale = 1.0 - else: - tw.lead = 1.0 - tw.scale = 1.6 - tw.cm = tw.gc.get_colormap() - tw.rgb = [255,0,0] - tw.bgcolor = tw.cm.alloc_color('#fff8de') - tw.msgcolor = tw.cm.alloc_color('black') - tw.fgcolor = tw.cm.alloc_color('red') - tw.textcolor = tw.cm.alloc_color('blue') - tw.textsize = 32 - tw.sprites = [] - tw.selected_block = None - tw.draggroup = None - prep_selectors(tw) - tw.myblock = None - tw.nop = 'nop' - tw.loaded = 0 - for s in selectors: - setup_selectors(tw,s) - setup_misc(tw) - tw.step_time = 0 - tw.hide = False - tw.palette = True - select_category(tw, tw.selbuttons[0]) - tw.coord_scale = 1 - tw.turtle = tNew(tw,tw.width,tw.height) - tw.lc = lcNew(tw) - tw.buddies = [] - tw.dx = 0 - tw.dy = 0 - tw.cartesian = False - tw.polar = False - tw.spr = None # "currently selected spr" - return tw - -# -# Button Press -# - -def buttonpress_cb(win, event, tw): - win.grab_focus() - x, y = xy(event) - button_press(tw, event.get_state()>k.gdk.CONTROL_MASK, x, y) - # if sharing, send button press - if hasattr(tw, 'activity') and \ - hasattr(tw.activity, 'chattube') and tw.activity.chattube is not None: - # print "sending button pressed" - if event.get_state()>k.gdk.CONTROL_MASK is True: - tw.activity._send_event("p:"+str(x)+":"+str(y)+":"+'T') - else: - tw.activity._send_event("p:"+str(x)+":"+str(y)+":"+'F') - return True - -def button_press(tw, mask, x, y, verbose=False): - if verbose: - print "processing remote button press: " + str(x) + " " + str(y) - tw.block_operation = 'click' - if tw.selected_block!=None: - unselect(tw) - else: - setlayer(tw.status_spr,400) - spr = findsprite(tw,(x,y)) - tw.x, tw.y = x,y - tw.dx = 0 - tw.dy = 0 - if spr is None: - return True - if spr.type == "canvas": + def _expose_cb(self, win, event): + """ Repaint """ + self.sprite_list.redraw_sprites() + # self.canvas.cr_expose(event) return True - elif spr.type == 'selbutton': - select_category(tw,spr) - elif spr.type == 'category': - block_selector_pressed(tw,x,y) - elif spr.type == 'block': - block_pressed(tw,mask,x,y,spr) - elif spr.type == 'turtle': - turtle_pressed(tw,x,y) - tw.spr = spr - -def block_selector_pressed(tw,x,y): - proto = get_proto_from_category(tw,x,y) - if proto==None: + + def eraser_button(self): + """ Eraser_button (hide status block when clearing the screen.) """ + if self.status_spr is not None: + self.status_spr.hide() + self.lc.prim_clear() + self.display_coordinates() + + def run_button(self, time): + """ Run turtle! """ + if self.running_sugar: + self.activity.recenter() + # Look for a 'start' block + for blk in self.just_blocks(): + if find_start_stack(blk): + self.step_time = time + print "running stack starting from %s" % (blk.name) + self._run_stack(blk) + return + # If there is no 'start' block, run stacks that aren't 'def action' + for blk in self.just_blocks(): + if find_block_to_run(blk): + self.step_time = time + print "running stack starting from %s" % (blk.name) + self._run_stack(blk) return - if proto is not 'hide': - new_block_from_category(tw,proto,x,y) - else: - hideshow_palette(tw,False) - -def hideshow_palette(tw,state): - if state is False: - tw.palette == False - if hasattr(tw,'activity'): - # Use new toolbar design - tw.activity.do_hidepalette() - hide_palette(tw) - else: - tw.palette == True - if hasattr(tw,'activity'): - # Use new toolbar design - tw.activity.do_showpalette() - show_palette(tw) - -def show_palette(tw): - for i in tw.selbuttons: setlayer(i,800) - select_category(tw,tw.selbuttons[0]) - tw.palette = True - -def hide_palette(tw): - for i in tw.selbuttons: hide(i) - setshape(tw.category_spr, tw.hidden_palette_icon) - tw.palette = False - -def get_proto_from_category(tw,x,y): - dx,dy = x-tw.category_spr.x, y-tw.category_spr.y, - pixel = getpixel(tw.current_category.mask,dx,dy) - index = ((pixel%256)>>3)-1 - if index==0: - return 'hide' - index-=1 - if index>len(tw.current_category.blockprotos): - return None - return tw.current_category.blockprotos[index] - -def select_category(tw, spr): - if hasattr(tw, 'current_category'): - setshape(tw.current_category, tw.current_category.offshape) - setshape(spr, spr.onshape) - tw.current_category = spr - setshape(tw.category_spr,spr.group) - -def new_block_from_category(tw,proto,x,y): - if proto is None: + + def stop_button(self): + """ Stop button """ + stop_logo(self) + + def set_userdefined(self): + """ Change icon for user-defined blocks after Python code is loaded. """ + for blk in self.just_blocks(): + if blk.name in PYTHON_SKIN: + x, y = self._calc_image_offset('pythonon', blk.spr) + blk.set_image(self.media_shapes['pythonon'], x, y) + self._resize_skin(blk) + self.nop = 'pythonloaded' + + def set_fullscreen(self): + """ Enter fullscreen mode """ + if self.running_sugar: + self.activity.fullscreen() + self.activity.recenter() + + def set_cartesian(self, flag): + """ Turn on/off Cartesian coordinates """ + if flag: + if self.coord_scale == 1: + self.overlay_shapes['Cartesian_labeled'].set_layer( + OVERLAY_LAYER) + else: + self.overlay_shapes['Cartesian'].set_layer(OVERLAY_LAYER) + self.cartesian = True + else: + if self.coord_scale == 1: + self.overlay_shapes['Cartesian_labeled'].hide() + else: + self.overlay_shapes['Cartesian'].hide() + self.cartesian = False + + def set_polar(self, flag): + """ Turn on/off polar coordinates """ + if flag: + self.overlay_shapes['polar'].set_layer(OVERLAY_LAYER) + self.polar = True + else: + self.overlay_shapes['polar'].hide() + self.polar = False + + def hideshow_button(self): + """ Hide/show button """ + if not self.hide: + for blk in self.just_blocks(): + blk.spr.hide() + self.hide_palette() + self.hide = True + else: + for blk in self.just_blocks(): + if blk.status != 'collapsed': + blk.spr.set_layer(BLOCK_LAYER) + self.show_palette() + if self.activity is not None and self.activity.new_sugar_system: + self.activity.palette_buttons[0].set_icon( + PALETTE_NAMES[0] + 'on') + self.hide = False + self.canvas.canvas.inval() + + def hideshow_palette(self, state): + """ Hide or show palette """ + if not state: + self.palette = False + if self.running_sugar: + self.activity.do_hidepalette() + self.hide_palette() + else: + self.palette = True + if self.running_sugar: + self.activity.do_showpalette() + self.show_palette() + + def show_palette(self, n=0): + """ Show palette """ + self._show_toolbar_palette(n) + self.palette_button[self.orientation].set_layer(TAB_LAYER) + self.palette_button[2].set_layer(TAB_LAYER) + if self.activity is None or not self.activity.new_sugar_system: + self.toolbar_spr.set_layer(CATEGORY_LAYER) + self.palette = True + + def hide_palette(self): + """ Hide the palette. """ + self._hide_toolbar_palette() + self.palette_button[self.orientation].hide() + self.palette_button[2].hide() + if self.activity is None or not self.activity.new_sugar_system: + self.toolbar_spr.hide() + self.palette = False + + def hideblocks(self): + """ Callback from 'hide blocks' block """ + self.hide = False + self.hideshow_button() + if self.running_sugar: + self.activity.do_hide() + + def showblocks(self): + """ Callback from 'show blocks' block """ + self.hide = True + self.hideshow_button() + if self.running_sugar: + self.activity.do_show() + + def resize_blocks(self): + """ Resize all of the blocks """ + # We need to restore collapsed stacks before resizing. + for blk in self.just_blocks(): + if blk.status == 'collapsed': + bot = find_sandwich_bottom(blk) + if collapsed(bot): + dy = bot.values[0] + restore_stack(find_sandwich_top(blk)) + bot.values[0] = dy + + # Do the resizing. + for blk in self.just_blocks(): + blk.rescale(self.block_scale) + for blk in self.just_blocks(): + self._adjust_dock_positions(blk) + + # Re-collapsed stacks after resizing. + for blk in self.just_blocks(): + if collapsed(blk): + collapse_stack(find_sandwich_top(blk)) + for blk in self.just_blocks(): + if blk.name == 'sandwichtop': + grow_stack_arm(blk) + + # Resize the skins on some blocks: media content and Python + for blk in self.just_blocks(): + if blk.name in BLOCKS_WITH_SKIN: + self._resize_skin(blk) + + def _show_toolbar_palette(self, n, init_only=False): + """ Show the toolbar palettes, creating them on init_only """ + if (self.activity is None or not self.activity.new_sugar_system) and\ + self.selectors == []: + # Create the selectors + svg = SVG() + x, y = 50, 0 + for i, name in enumerate(PALETTE_NAMES): + a = svg_str_to_pixbuf(svg_from_file("%s/icons/%soff.svg" % ( + self.path, name))) + b = svg_str_to_pixbuf(svg_from_file("%s/icons/%son.svg" % ( + self.path, name))) + self.selector_shapes.append([a, b]) + self.selectors.append(Sprite(self.sprite_list, x, y, a)) + self.selectors[i].type = 'selector' + self.selectors[i].name = name + self.selectors[i].set_layer(TAB_LAYER) + w = self.selectors[i].get_dimensions()[0] + x += int(w) + + # Create the toolbar background + self.toolbar_offset = ICON_SIZE + self.toolbar_spr = Sprite(self.sprite_list, 0, 0, + svg_str_to_pixbuf(svg.toolbar(self.width, ICON_SIZE))) + self.toolbar_spr.type = 'toolbar' + self.toolbar_spr.set_layer(CATEGORY_LAYER) + + + if self.palette_sprs == []: + # Create the empty palettes + if len(self.palettes) == 0: + for i in range(len(PALETTES)): + self.palettes.append([]) + + # Create empty palette backgrounds + for i in PALETTE_NAMES: + self.palette_sprs.append([None, None]) + + # Create the palette orientation button + self.palette_button.append(Sprite(self.sprite_list, 0, + self.toolbar_offset, svg_str_to_pixbuf(svg_from_file( + "%s/images/palettehorizontal.svg" %(self.path))))) + self.palette_button.append(Sprite(self.sprite_list, 0, + self.toolbar_offset, svg_str_to_pixbuf(svg_from_file( + "%s/images/palettevertical.svg" % (self.path))))) + self.palette_button[0].name = _('orientation') + self.palette_button[1].name = _('orientation') + self.palette_button[0].type = 'palette' + self.palette_button[1].type = 'palette' + self.palette_button[self.orientation].set_layer(TAB_LAYER) + self.palette_button[1-self.orientation].hide() + + # Create the palette next button + self.palette_button.append(Sprite(self.sprite_list, 16, + self.toolbar_offset, svg_str_to_pixbuf(svg_from_file( + "%s/images/palettenext.svg" %(self.path))))) + self.palette_button[2].name = _('next') + self.palette_button[2].type = 'palette' + self.palette_button[2].set_layer(TAB_LAYER) + + if init_only: + return + + # Hide the previously displayed palette + self._hide_previous_palette() + + self.selected_palette = n + self.previous_palette = self.selected_palette + + if self.activity is None or not self.activity.new_sugar_system: + self.selected_selector = self.selectors[n] + # Make sure all of the selectors are visible. + self.selectors[n].set_shape(self.selector_shapes[n][1]) + for i in range(len(PALETTES)): + self.selectors[i].set_layer(TAB_LAYER) + + # Show the palette with the current orientation. + if self.palette_sprs[n][self.orientation] is not None: + self.palette_sprs[n][self.orientation].set_layer(CATEGORY_LAYER) + + if self.palettes[n] == []: + # Create 'proto' blocks for each palette entry + for i, name in enumerate(PALETTES[n]): + self.palettes[n].append(Block(self.block_list, + self.sprite_list, name, + 0, 0, 'proto', [], PALETTE_SCALE)) + self.palettes[n][i].spr.set_layer(TAB_LAYER) + self.palettes[n][i].unhighlight() + + # Some proto blocks get a skin. + if name in BOX_STYLE_MEDIA: + self._proto_skin(name+'small', n, i) + elif name[:8] == 'template': + self._proto_skin(name[8:], n, i) + elif name[:7] == 'picture': + self._proto_skin(name[7:], n, i) + elif name in PYTHON_SKIN: + self._proto_skin('pythonsmall', n, i) + + self._layout_palette(n) + for blk in self.palettes[n]: + blk.spr.set_layer(TAB_LAYER) + if n == self.trash_index: + for blk in self.trash_stack: + for gblk in find_group(blk): + if gblk.status != 'collapsed': + gblk.spr.set_layer(TAB_LAYER) + + def _hide_toolbar_palette(self): + """ Hide the toolbar palettes """ + self._hide_previous_palette() + if self.activity is None or not self.activity.new_sugar_system: + # Hide the selectors + for i in range(len(PALETTES)): + self.selectors[i].hide() + elif self.selected_palette is not None: + self.activity.palette_buttons[self.selected_palette].set_icon( + PALETTE_NAMES[self.selected_palette] + 'off') + self.selected_palette = None + self.previous_palette = None + + def _hide_previous_palette(self): + """ Hide just the previously viewed toolbar palette """ + # Hide previous palette + if self.previous_palette is not None: + for i in range(len(PALETTES[self.previous_palette])): + self.palettes[self.previous_palette][i].spr.hide() + self.palette_sprs[self.previous_palette][ + self.orientation].hide() + if self.activity is None or not self.activity.new_sugar_system: + self.selectors[self.previous_palette].set_shape( + self.selector_shapes[self.previous_palette][0]) + elif self.previous_palette is not None and \ + self.previous_palette != self.selected_palette: + self.activity.palette_buttons[self.previous_palette].set_icon( + PALETTE_NAMES[self.previous_palette] + 'off') + if self.previous_palette == self.trash_index: + for blk in self.trash_stack: + for gblk in find_group(blk): + gblk.spr.hide() + + def _horizontal_layout(self, x, y, blocks): + """ Position prototypes in a horizontal palette. """ + _max_w = 0 + for blk in blocks: + _w, _h = self._width_and_height(blk) + if y + _h > PALETTE_HEIGHT + self.toolbar_offset: + x += int(_max_w+3) + y = self.toolbar_offset + 3 + _max_w = 0 + (_bx, _by) = blk.spr.get_xy() + _dx = x-_bx + _dy = y-_by + for g in find_group(blk): + g.spr.move_relative((int(_dx), int(_dy))) + y += int(_h+3) + if _w > _max_w: + _max_w = _w + return x, y, _max_w + + def _vertical_layout(self, x, y, blocks): + """ Position prototypes in a vertical palette. """ + _row = [] + _row_w = 0 + _max_h = 0 + for _b in blocks: + _w, _h = self._width_and_height(_b) + if x + _w > PALETTE_WIDTH: + # Recenter row. + _dx = int((PALETTE_WIDTH-_row_w)/2) + for _r in _row: + for _g in find_group(_r): + _g.spr.move_relative((_dx, 0)) + _row = [] + _row_w = 0 + x = 4 + y += int(_max_h+3) + _max_h = 0 + _row.append(_b) + _row_w += (4 + _w) + (_bx, _by) = _b.spr.get_xy() + _dx = int(x - _bx) + _dy = int(y - _by) + for _g in find_group(_b): + _g.spr.move_relative((_dx, _dy)) + x += int(_w + 4) + if _h > _max_h: + _max_h = _h + # Recenter last row. + _dx = int((PALETTE_WIDTH - _row_w)/2) + for _r in _row: + for _g in find_group(_r): + _g.spr.move_relative((_dx, 0)) + return x, y, _max_h + + def _layout_palette(self, n): + """ Layout prototypes in a palette. """ + if n is not None: + if self.orientation == HORIZONTAL_PALETTE: + _x, _y = 20, self.toolbar_offset + 5 + _x, _y, _max = self._horizontal_layout(_x, _y, self.palettes[n]) + if n == self.trash_index: + _x, _y, _max = self._horizontal_layout(_x+_max, _y, + self.trash_stack) + _w = _x + _max + 25 + if self.palette_sprs[n][self.orientation] is None: + svg = SVG() + self.palette_sprs[n][self.orientation] = Sprite( + self.sprite_list, 0, self.toolbar_offset, + svg_str_to_pixbuf(svg.palette(_w, PALETTE_HEIGHT))) + self.palette_sprs[n][self.orientation].type = 'category' + if n == PALETTE_NAMES.index('trash'): + svg = SVG() + self.palette_sprs[n][self.orientation].set_shape( + svg_str_to_pixbuf(svg.palette(_w, PALETTE_HEIGHT))) + self.palette_button[2].move((_w-20, self.toolbar_offset)) + else: + _x, _y = 5, self.toolbar_offset + 15 + _x, _y, _max = self._vertical_layout(_x, _y, self.palettes[n]) + if n == PALETTE_NAMES.index('trash'): + _x, _y, _max = self._vertical_layout(_x, _y + _max, + self.trash_stack) + _h = _y + _max + 25 - self.toolbar_offset + if self.palette_sprs[n][self.orientation] is None: + svg = SVG() + self.palette_sprs[n][self.orientation] = \ + Sprite(self.sprite_list, 0, self.toolbar_offset, + svg_str_to_pixbuf(svg.palette(PALETTE_WIDTH, _h))) + self.palette_sprs[n][self.orientation].type = 'category' + if n == PALETTE_NAMES.index('trash'): + svg = SVG() + self.palette_sprs[n][self.orientation].set_shape( + svg_str_to_pixbuf(svg.palette(PALETTE_WIDTH, _h))) + self.palette_button[2].move((PALETTE_WIDTH-20, + self.toolbar_offset)) + self.palette_sprs[n][self.orientation].set_layer(CATEGORY_LAYER) + + def _buttonpress_cb(self, win, event): + """ Button press """ + self.window.grab_focus() + x, y = xy(event) + self.button_press(event.get_state()>k.gdk.CONTROL_MASK, x, y) return True - # load alternative image of nop block if python code is loaded - if proto.name == 'nop' and tw.nop == 'pythonloaded': - newspr = sprNew(tw,x-20,y-20,tw.media_shapes['pythonloaded']) - else: - newspr = sprNew(tw,x-20,y-20,proto.image) - setlayer(newspr,2000) - tw.dragpos = 20,20 - newspr.type = 'block' - newspr.proto = proto - if tw.defdict.has_key(newspr.proto.name): - newspr.label=tw.defdict[newspr.proto.name] - newspr.connections = [None]*len(proto.docks) - for i in range(len(proto.defaults)): - dock = proto.docks[i+1] - argproto = tw.protodict[tw.valdict[dock[0]]] - argdock = argproto.docks[0] - nx,ny = newspr.x+dock[2]-argdock[2],newspr.y+dock[3]-argdock[3] - argspr = sprNew(tw,nx,ny,argproto.image) - argspr.type = 'block' - argspr.proto = argproto - argspr.label = str(proto.defaults[i]) - setlayer(argspr,2000) - argspr.connections = [newspr,None] - newspr.connections[i+1] = argspr - tw.draggroup = findgroup(newspr) - tw.block_operation = 'new' - -def block_pressed(tw,mask,x,y,spr): - if spr is not None: - tw.draggroup = findgroup(spr) - for b in tw.draggroup: setlayer(b,2000) - if spr.connections[0] != None and spr.proto.name == 'lock': - b = find_top_block(spr) - tw.dragpos = x-b.x,y-b.y - else: - tw.dragpos = x-spr.x,y-spr.y - disconnect(spr) - -def turtle_pressed(tw,x,y): - dx,dy = x-tw.turtle.spr.x-30,y-tw.turtle.spr.y-30 - if dx*dx+dy*dy > 200: - tw.dragpos = ('turn', \ - tw.turtle.heading-atan2(dy,dx)/DEGTOR,0) - else: - tw.dragpos = ('move', x-tw.turtle.spr.x,y-tw.turtle.spr.y) - tw.draggroup = [tw.turtle.spr] - -# -# Mouse move -# - -def move_cb(win, event, tw): - x,y = xy(event) - mouse_move(tw, x, y) - return True - -def mouse_move(tw, x, y, verbose=False, mdx=0, mdy=0): - if verbose: - print "processing remote mouse move: " + str(x) + " " + str(y) - if tw.draggroup is None: - # popup help from RGS - spr = findsprite(tw,(x,y)) - if spr and spr.type == 'category': - proto = get_proto_from_category(tw,x,y) - if proto and proto!='hide': - if timeout_tag[0] == 0: - timeout_tag[0] = showPopup(proto.name,tw) - tw.spr = spr - return - else: - if timeout_tag[0] > 0: - try: - gobject.source_remove(timeout_tag[0]) - timeout_tag[0] = 0 - except: - timeout_tag[0] = 0 - elif spr and spr.type == 'selbutton': - if timeout_tag[0] == 0: - timeout_tag[0] = showPopup(spr.name,tw) - tw.spr = spr + + def button_press(self, mask, x, y, verbose=False): + if verbose: + print "processing remote button press: %d, %d" % (x, y) + self.block_operation = 'click' + + # Unselect things that may have been selected earlier + if self.selected_blk is not None: + self._unselect_block() + self.selected_turtle = None + # Always hide the status layer on a click + if self.status_spr is not None: + self.status_spr.hide() + + # Find out what was clicked + spr = self.sprite_list.find_sprite((x, y)) + self.dx = 0 + self.dy = 0 + if spr is None: + return True + self.selected_spr = spr + + # From the sprite at x, y, look for a corresponding block + blk = self.block_list.spr_to_block(spr) + if blk is not None: + if blk.type == 'block': + self.selected_blk = blk + self._block_pressed(x, y, blk) + elif blk.type == 'trash': + self._restore_from_trash(find_top_block(blk)) + elif blk.type == 'proto': + if blk.name == 'restoreall': + self._restore_all_from_trash() + elif blk.name == 'restore': + self._restore_latest_from_trash() + elif blk.name == 'empty': + self._empty_trash() + elif MACROS.has_key(blk.name): + self._new_macro(blk.name, x + 20, y + 20) + else: + blk.highlight() + self._new_block(blk.name, x, y) + blk.unhighlight() + return True + + # Next, look for a turtle + t = self.turtles.spr_to_turtle(spr) + if t is not None: + self.selected_turtle = t + self.canvas.set_turtle(self.turtles.get_turtle_key(t)) + self._turtle_pressed(x, y) + return True + + # Finally, check for anything else + if hasattr(spr, 'type'): + if spr.type == "canvas": + pass + # spr.set_layer(CANVAS_LAYER) + elif spr.type == 'selector': + self._select_category(spr) + elif spr.type == 'category': + if hide_button_hit(spr, x, y): + self.hideshow_palette(False) + elif spr.type == 'palette': + if spr.name == _('next'): + i = self.selected_palette + 1 + if i == len(PALETTE_NAMES): + i = 0 + if self.activity is None or \ + not self.activity.new_sugar_system: + self._select_category(self.selectors[i]) + else: + if self.selected_palette is not None: + self.activity.palette_buttons[ + self.selected_palette].set_icon( + PALETTE_NAMES[self.selected_palette] + 'off') + self.activity.palette_buttons[i].set_icon( + PALETTE_NAMES[i] + 'on') + self.show_palette(i) + else: + self.orientation = 1 - self.orientation + self.palette_button[self.orientation].set_layer(TAB_LAYER) + self.palette_button[1 - self.orientation].hide() + self.palette_sprs[self.selected_palette][ + 1 - self.orientation].hide() + self._layout_palette(self.selected_palette) + self.show_palette(self.selected_palette) + elif spr.type == 'toolbar': + self._select_toolbar_button(spr) + return True + + def _select_category(self, spr): + """ Select a category from the toolbar (old Sugar systems only). """ + i = self.selectors.index(spr) + spr.set_shape(self.selector_shapes[i][1]) + if self.selected_selector is not None: + j = self.selectors.index(self.selected_selector) + if i == j: + return + self.selected_selector.set_shape(self.selector_shapes[j][0]) + self.previous_selector = self.selected_selector + self.selected_selector = spr + self.show_palette(i) + + def _select_toolbar_button(self, spr): + """ Select a toolbar button (Used when not running Sugar). """ + if not hasattr(spr, 'name'): + return + if spr.name == 'run-fastoff': + self.lc.trace = 0 + self.run_button(0) + elif spr.name == 'run-slowoff': + self.lc.trace = 0 + self.run_button(3) + elif spr.name == 'debugoff': + self.lc.trace = 1 + self.run_button(6) + elif spr.name == 'stopiton': + self.stop_button() + self.toolbar_shapes['stopiton'].hide() + elif spr.name == 'eraseron': + self.eraser_button() + elif spr.name == 'hideshowoff': + self.hideshow_button() + + def _put_in_trash(self, blk, x=0, y=0): + """ Put a group of blocks into the trash. """ + self.trash_stack.append(blk) + group = find_group(blk) + for gblk in group: + if gblk.status == 'collapsed': + # Collapsed stacks are restored for rescaling + # and then recollapsed after they are moved to the trash. + bot = find_sandwich_bottom(gblk) + if collapsed(bot): + dy = bot.values[0] + restore_stack(find_sandwich_top(gblk)) + bot.values[0] = dy + gblk.type = 'trash' + gblk.rescale(self.trash_scale) + blk.spr.move((x, y)) + for gblk in group: + self._adjust_dock_positions(gblk) + + # Re-collapsing any stacks we had restored for scaling + for gblk in group: + if collapsed(gblk): + collapse_stack(find_sandwich_top(gblk)) + + # And resize any skins. + for gblk in group: + if gblk.name in BLOCKS_WITH_SKIN: + self._resize_skin(gblk) + + # self.show_palette(self.trash_index) + if self.selected_palette != self.trash_index: + for gblk in group: + gblk.spr.hide() + + def _restore_all_from_trash(self): + """ Restore all the blocks in the trash can. """ + for blk in self.block_list.list: + if blk.type == 'trash': + self._restore_from_trash(blk) + + def _restore_latest_from_trash(self): + """ Restore most recent blocks from the trash can. """ + if len(self.trash_stack) == 0: + return + self._restore_from_trash(self.trash_stack[len(self.trash_stack) - 1]) + + def _restore_from_trash(self, blk): + group = find_group(blk) + for gblk in group: + gblk.rescale(self.block_scale) + gblk.spr.set_layer(BLOCK_LAYER) + x, y = gblk.spr.get_xy() + if self.orientation == 0: + gblk.spr.move((x, y + PALETTE_HEIGHT + self.toolbar_offset)) + else: + gblk.spr.move((x + PALETTE_WIDTH, y)) + gblk.type = 'block' + for gblk in group: + self._adjust_dock_positions(gblk) + # If the stack had been collapsed before going into the trash, + # collapse it again now. + for gblk in group: + if collapsed(gblk): + collapse_stack(find_sandwich_top(gblk)) + # And resize any skins. + for gblk in group: + if gblk.name in BLOCKS_WITH_SKIN: + self._resize_skin(gblk) + + self.trash_stack.remove(blk) + + def _empty_trash(self): + """ Permanently remove all blocks presently in the trash can. """ + for blk in self.block_list.list: + if blk.type == 'trash': + blk.type = 'deleted' + blk.spr.hide() + self.trash_stack = [] + + def _in_the_trash(self, x, y): + """ Is x, y over the trash can? """ + """ + if self.selected_palette == self.trash_index and \ + self.palette_sprs[self.trash_index][self.orientation].hit((x, y)): + return True + """ + if self.selected_palette is not None and\ + self.palette_sprs[self.selected_palette][self.orientation].hit( + (x, y)): + return True + return False + + def _block_pressed(self, x, y, blk): + """ Block pressed """ + if blk is not None: + blk.highlight() + self._disconnect(blk) + self.drag_group = find_group(blk) + (sx, sy) = blk.spr.get_xy() + self.drag_pos = x-sx, y-sy + for blk in self.drag_group: + if blk.status != 'collapsed': + blk.spr.set_layer(TOP_LAYER) + self.saved_string = blk.spr.labels[0] + + def _unselect_block(self): + """ Unselect block """ + # After unselecting a 'number' block, we need to check its value + if self.selected_blk.name == 'number': + self._number_check() + elif self.selected_blk.name == 'string': + self._string_check() + self.selected_blk.unhighlight() + self.selected_blk = None + + def _new_block(self, name, x, y): + """ Make a new block. """ + if name in CONTENT_BLOCKS: + newblk = Block(self.block_list, self.sprite_list, name, x - 20, + y - 20, 'block', DEFAULTS[name], self.block_scale) + else: + newblk = Block(self.block_list, self.sprite_list, name, x - 20, + y - 20, 'block', [], self.block_scale) + + # Add a 'skin' to some blocks + if name in PYTHON_SKIN: + if self.nop == 'pythonloaded': + self._block_skin('pythonon', newblk) else: - if timeout_tag[0] > 0: + self._block_skin('pythonoff', newblk) + elif name in BOX_STYLE_MEDIA: + self._block_skin(name+'off', newblk) + + newspr = newblk.spr + newspr.set_layer(TOP_LAYER) + self.drag_pos = 20, 20 + newblk.connections = [None]*len(newblk.docks) + if DEFAULTS.has_key(newblk.name): + for i, argvalue in enumerate(DEFAULTS[newblk.name]): + # skip the first dock position since it is always a connector + dock = newblk.docks[i + 1] + argname = dock[0] + if argname == 'unavailable': + continue + if argname == 'media': + argname = 'journal' + elif argname == 'number' and \ + (type(argvalue) is str or type(argvalue) is unicode): + argname = 'string' + elif argname == 'bool': + argname = argvalue + elif argname == 'flow': + argname = argvalue + (sx, sy) = newspr.get_xy() + if argname is not None: + if argname in CONTENT_BLOCKS: + argblk = Block(self.block_list, self.sprite_list, + argname, 0, 0, 'block', [argvalue], + self.block_scale) + else: + argblk = Block(self.block_list, self.sprite_list, + argname, 0, 0, 'block', [], + self.block_scale) + argdock = argblk.docks[0] + nx = sx + dock[2] - argdock[2] + ny = sy + dock[3] - argdock[3] + if argname == 'journal': + self._block_skin('journaloff', argblk) + argblk.spr.move((nx, ny)) + argblk.spr.set_layer(TOP_LAYER) + argblk.connections = [newblk, None] + newblk.connections[i + 1] = argblk + self.drag_group = find_group(newblk) + self.block_operation = 'new' + + def _new_macro(self, name, x, y): + """ Create a "macro" (predefined stack of blocks). """ + macro = MACROS[name] + macro[0][2] = x + macro[0][3] = y + top = self.process_data(macro) + self.block_operation = 'new' + self._check_collapsibles(top) + self.drag_group = find_group(top) + + def process_data(self, data): + """ Process data (from a macro, a file, or the clipboard). """ + # Create the blocks (or turtle). + blocks = [] + for blk in data: + if not self._found_a_turtle(blk): + blocks.append(self.load_block(blk)) + + # Make the connections. + for i in range(len(blocks)): + cons = [] + # Normally, it is simply a matter of copying the connections. + if blocks[i].connections == None: + for c in data[i][4]: + if c is None: + cons.append(None) + else: + cons.append(blocks[c]) + elif blocks[i].connections == 'check': + # Corner case to convert old-style boolean and arithmetic blocks + cons.append(None) # Add an extra connection. + for c in data[i][4]: + if c is None: + cons.append(None) + else: + cons.append(blocks[c]) + # If the boolean op was connected, readjust the plumbing. + if blocks[i].name in BOOLEAN_STYLE: + if data[i][4][0] is not None: + c = data[i][4][0] + cons[0] = blocks[data[c][4][0]] + c0 = data[c][4][0] + for j, cj in enumerate(data[c0][4]): + if cj == c: + blocks[c0].connections[j] = blocks[i] + if c < i: + blocks[c].connections[0] = blocks[i] + blocks[c].connections[3] = None + else: + # Connection was to a block we haven't seen yet. + print "WARNING: dock check couldn't see the future" + else: + if data[i][4][0] is not None: + c = data[i][4][0] + cons[0] = blocks[data[c][4][0]] + c0 = data[c][4][0] + for j, cj in enumerate(data[c0][4]): + if cj == c: + blocks[c0].connections[j] = blocks[i] + if c < i: + blocks[c].connections[0] = blocks[i] + blocks[c].connections[1] = None + else: + # Connection was to a block we haven't seen yet. + print "WARNING: dock check couldn't see the future" + else: + print "WARNING: unknown connection state %s" % \ + (str(blocks[i].connections)) + blocks[i].connections = cons[:] + + # Block sizes and shapes may have changed. + for blk in blocks: + self._adjust_dock_positions(blk) + + # Look for any stacks that need to be collapsed or sandwiched + for blk in blocks: + if collapsed(blk): + collapse_stack(find_sandwich_top(blk)) + elif blk.name == 'sandwichbottom' and collapsible(blk): + blk.svg.set_hide(True) + blk.svg.set_show(False) + blk.refresh() + grow_stack_arm(find_sandwich_top(blk)) + + if len(blocks) > 0: + return blocks[0] + else: + return None + + def _adjust_dock_positions(self, blk): + """ Adjust the dock x, y positions """ + (sx, sy) = blk.spr.get_xy() + for i, c in enumerate(blk.connections): + if i > 0 and c is not None: + bdock = blk.docks[i] + for j in range(len(c.docks)): + if c.connections[j] == blk: + cdock = c.docks[j] + nx = sx + bdock[2] - cdock[2] + ny = sy + bdock[3] - cdock[3] + c.spr.move((nx, ny)) + self._adjust_dock_positions(c) + + def _turtle_pressed(self, x, y): + """ Turtle pressed """ + (tx, ty) = self.selected_turtle.get_xy() + dx = x - tx - 30 + dy = y - ty - 30 + if (dx * dx) + (dy * dy) > 200: + self.drag_turtle = ('turn', + self.canvas.heading - atan2(dy, dx)/DEGTOR, 0) + else: + self.drag_turtle = ('move', x - tx, y - ty) + + def _move_cb(self, win, event): + """ Mouse move """ + x, y = xy(event) + self._mouse_move(x, y) + return True + + def _mouse_move(self, x, y, verbose=False, mdx=0, mdy=0): + if verbose: + print "processing remote mouse move: %d, %d" % (x, y) + + self.block_operation = 'move' + # First, check to see if we are dragging or rotating a turtle. + if self.selected_turtle is not None: + dtype, dragx, dragy = self.drag_turtle + (sx, sy) = self.selected_turtle.get_xy() + if dtype == 'move': + if mdx != 0 or mdy != 0: + dx, dy = mdx, mdy + else: + dx = x - dragx - sx + dy = y - dragy - sy + self.selected_turtle.move((sx + dx, sy + dy)) + else: + if mdx != 0 or mdy != 0: + dx = mdx + dy = mdy + else: + dx = x - sx - 30 + dy = y - sy - 30 + self.canvas.seth(int(dragx + atan2(dy, dx)/DEGTOR + 5)/10 * 10) + # If we are hoving, show popup help. + elif self.drag_group is None: + self._show_popup(x, y) + return + # If we have a stack of blocks selected, move them. + elif self.drag_group[0] is not None: + blk = self.drag_group[0] + # Don't move a bottom blk is the stack is collapsed + if collapsed(blk): + return + + self.selected_spr = blk.spr + dragx, dragy = self.drag_pos + if mdx != 0 or mdy != 0: + dx = mdx + dy = mdy + else: + (sx, sy) = blk.spr.get_xy() + dx = x - dragx - sx + dy = y - dragy - sy + + # Take no action if there was a move of 0,0. + if dx == 0 and dy == 0: + return + self.drag_group = find_group(blk) + + # Prevent blocks from ending up with a negative x... + for gblk in self.drag_group: + (bx, by) = gblk.spr.get_xy() + if bx + dx < 0: + dx += -(bx + dx) + """ + # ...or under the palette. + if self.selected_palette is not None and\ + self.selected_palette != self.trash_index: + w, h = self.palette_sprs[self.selected_palette][ + self.orientation].get_dimensions() + if self.orientation == HORIZONTAL_PALETTE: + if bx < w and\ + by+dy < self.toolbar_offset+PALETTE_HEIGHT: + dy += -(by+dy)+self.toolbar_offset+PALETTE_HEIGHT + else: + if by < h+self.toolbar_offset and bx+dx < PALETTE_WIDTH: + dx += -(bx+dx)+PALETTE_WIDTH + """ + + # Move the stack. + for gblk in self.drag_group: + (bx, by) = gblk.spr.get_xy() + gblk.spr.move((bx + dx, by + dy)) + if mdx != 0 or mdy != 0: + dx = 0 + dy = 0 + else: + self.dx += dx + self.dy += dy + + def _show_popup(self, x, y): + """ Let's help our users by displaying a little help. """ + spr = self.sprite_list.find_sprite((x, y)) + blk = self.block_list.spr_to_block(spr) + if spr and blk is not None: + if self.timeout_tag[0] == 0: + self.timeout_tag[0] = self._do_show_popup(blk.name) + self.selected_spr = spr + else: + if self.timeout_tag[0] > 0: try: - gobject.source_remove(timeout_tag[0]) - timeout_tag[0] = 0 + gobject.source_remove(self.timeout_tag[0]) + self.timeout_tag[0] = 0 except: - timeout_tag[0] = 0 - elif spr and spr.type == 'block': - if timeout_tag[0] == 0: - timeout_tag[0] = showPopup(spr.proto.name,tw) - tw.spr = spr + self.timeout_tag[0] = 0 + elif spr and hasattr(spr,'type') and (spr.type == 'selector' or\ + spr.type == 'palette' or\ + spr.type == 'toolbar'): + if self.timeout_tag[0] == 0 and hasattr(spr, 'name'): + self.timeout_tag[0] = self._do_show_popup(spr.name) + self.selected_spr = spr else: - if timeout_tag[0] > 0: + if self.timeout_tag[0] > 0: try: - gobject.source_remove(timeout_tag[0]) - timeout_tag[0] = 0 + gobject.source_remove(self.timeout_tag[0]) + self.timeout_tag[0] = 0 except: - timeout_tag[0] = 0 + self.timeout_tag[0] = 0 else: - if timeout_tag[0] > 0: + if self.timeout_tag[0] > 0: try: - gobject.source_remove(timeout_tag[0]) - timeout_tag[0] = 0 + gobject.source_remove(self.timeout_tag[0]) + self.timeout_tag[0] = 0 except: - timeout_tag[0] = 0 - return - tw.block_operation = 'move' - spr = tw.draggroup[0] - if spr.type == 'block': - tw.spr = spr - dragx, dragy = tw.dragpos - if mdx != 0 or mdy != 0: - dx,dy = mdx,mdy + self.timeout_tag[0] = 0 + + def _do_show_popup(self, block_name): + """ Fetch the help text and display it. """ + if SPECIAL_NAMES.has_key(block_name): + block_name_s = SPECIAL_NAMES[block_name] + elif BLOCK_NAMES.has_key(block_name): + block_name_s = BLOCK_NAMES[block_name][0] + elif block_name in TOOLBAR_SHAPES: + block_name_s = '' else: - dx,dy = x-dragx-spr.x,y-dragy-spr.y - # skip if there was a move of 0,0 - if dx == 0 and dy == 0: - return - # drag entire stack if moving lock block - if spr.proto.name == 'lock': - tw.draggroup = findgroup(find_top_block(spr)) + block_name_s = _(block_name) + if HELP_STRINGS.has_key(block_name): + if block_name_s == '': + label = HELP_STRINGS[block_name] + else: + label = block_name_s + ": " + HELP_STRINGS[block_name] else: - tw.draggroup = findgroup(spr) - # check to see if any block ends up with a negative x - for b in tw.draggroup: - if b.x+dx < 0: - dx += -(b.x+dx) - # move the stack - for b in tw.draggroup: - move(b,(b.x+dx, b.y+dy)) - elif spr.type=='turtle': - type,dragx,dragy = tw.dragpos - if type == 'move': - if mdx != 0 or mdy != 0: - dx,dy = mdx,mdy + label = block_name_s + if self.running_sugar: + self.activity.hover_help_label.set_text(label) + self.activity.hover_help_label.show() + else: + self.win.set_title(_("Turtle Art") + " — " + label) + return 0 + + def _buttonrelease_cb(self, win, event): + """ Button release """ + x, y = xy(event) + self.button_release(x, y) + return True + + def button_release(self, x, y, verbose=False): + # We may have been moving the turtle + if self.selected_turtle is not None: + (tx, ty) = self.selected_turtle.get_xy() + (cx, cy) = self.canvas.canvas.get_xy() + # self.canvas.xcor = tx - self.canvas.canvas._width/2 + 30 - cx + # self.canvas.ycor = self.canvas.canvas._height/2 - ty - 30 + cy + self.canvas.xcor = tx - self.canvas.width/2 + 30 - cx + self.canvas.ycor = self.canvas.height/2 - ty - 30 + cy + self.canvas.move_turtle() + if self.running_sugar: + self.display_coordinates() + self.selected_turtle = None + return + + # If we don't have a group of blocks, then there is nothing to do. + if self.drag_group == None: + return + + blk = self.drag_group[0] + # Remove blocks by dragging them onto the trash palette. + if self.block_operation == 'move' and self._in_the_trash(x, y): + self._put_in_trash(blk, x, y) + self.drag_group = None + return + + # Pull a stack of new blocks off of the category palette. + if self.block_operation == 'new': + for gblk in self.drag_group: + (bx, by) = gblk.spr.get_xy() + if self.orientation == 0: + gblk.spr.move((bx+20, + by+PALETTE_HEIGHT+self.toolbar_offset)) + else: + gblk.spr.move((bx+PALETTE_WIDTH, by+20)) + + # Look to see if we can dock the current stack. + self._snap_to_dock() + self._check_collapsibles(blk) + for gblk in self.drag_group: + if gblk.status != 'collapsed': + gblk.spr.set_layer(BLOCK_LAYER) + self.drag_group = None + + # Find the block we clicked on and process it. + if self.block_operation == 'click': + self._click_block(x, y) + + def _click_block(self, x, y): + """ Click block """ + blk = self.block_list.spr_to_block(self.selected_spr) + if blk is None: + return + self.selected_blk = blk + if blk.name == 'number' or blk.name == 'string': + self.saved_string = blk.spr.labels[0] + blk.spr.labels[0] += CURSOR + elif blk.name in BOX_STYLE_MEDIA: + self._import_from_journal(self.selected_blk) + if blk.name == 'journal' and self.running_sugar: + self._load_description_block(blk) + elif blk.name == 'identity2' or blk.name == 'hspace': + group = find_group(blk) + if hide_button_hit(blk.spr, x, y): + dx = blk.reset_x() + elif show_button_hit(blk.spr, x, y): + dx = 20 + blk.expand_in_x(dx) + else: + dx = 0 + for gblk in group: + if gblk != blk: + gblk.spr.move_relative((dx * blk.scale, 0)) + elif blk.name == 'vspace': + group = find_group(blk) + if hide_button_hit(blk.spr, x, y): + dy = blk.reset_y() + elif show_button_hit(blk.spr, x, y): + dy = 20 + blk.expand_in_y(dy) + else: + dy = 0 + for gblk in group: + if gblk != blk: + gblk.spr.move_relative((0, dy * blk.scale)) + grow_stack_arm(find_sandwich_top(blk)) + elif blk.name in EXPANDABLE or blk.name == 'nop': + if show_button_hit(blk.spr, x, y): + n = len(blk.connections) + group = find_group(blk.connections[n-1]) + if blk.name == 'myfunc1arg': + blk.spr.labels[1] = 'f(x, y)' + blk.spr.labels[2] = ' ' + dy = blk.add_arg() + blk.primitive = 'myfunction2' + blk.name = 'myfunc2arg' + elif blk.name == 'myfunc2arg': + blk.spr.labels[1] = 'f(x, y, z)' + dy = blk.add_arg(False) + blk.primitive = 'myfunction3' + blk.name = 'myfunc3arg' + elif blk.name == 'userdefined': + dy = blk.add_arg() + blk.primitive = 'userdefined2' + blk.name = 'userdefined2args' + elif blk.name == 'userdefined2args': + dy = blk.add_arg(False) + blk.primitive = 'userdefined3' + blk.name = 'userdefined3args' + else: + dy = blk.add_arg() + for gblk in group: + gblk.spr.move_relative((0, dy)) + blk.connections.append(blk.connections[n-1]) + argname = blk.docks[n-1][0] + argvalue = DEFAULTS[blk.name][len(DEFAULTS[blk.name])-1] + argblk = Block(self.block_list, self.sprite_list, argname, + 0, 0, 'block', [argvalue], self.block_scale) + argdock = argblk.docks[0] + (bx, by) = blk.spr.get_xy() + nx = bx + blk.docks[n - 1][2] - argdock[2] + ny = by + blk.docks[n - 1][3] - argdock[3] + argblk.spr.move((nx, ny)) + argblk.spr.set_layer(TOP_LAYER) + argblk.connections = [blk, None] + blk.connections[n - 1] = argblk + grow_stack_arm(find_sandwich_top(blk)) + elif blk.name in PYTHON_SKIN and self.myblock == None: + self._import_py() else: - dx,dy = x-dragx-spr.x,y-dragy-spr.y - move(spr, (spr.x+dx, spr.y+dy)) + self._run_stack(blk) + elif blk.name in COLLAPSIBLE: + top = find_sandwich_top(blk) + if collapsed(blk): + restore_stack(top) + elif top is not None: + collapse_stack(top) else: - if mdx != 0 or mdy != 0: - dx,dy = mdx,mdy - else: - dx,dy = x-spr.x-30,y-spr.y-30 - seth(tw.turtle, int(dragx+atan2(dy,dx)/DEGTOR+5)/10*10) - if mdx != 0 or mdy != 0: - dx,dy = 0,0 - else: - tw.dx += dx - tw.dy += dy - -# -# Button release -# - -def buttonrelease_cb(win, event, tw): - x,y = xy(event) - button_release(tw, x, y) - if hasattr(tw, 'activity') and \ - hasattr(tw.activity, 'chattube') and tw.activity.chattube is not None: - # print "sending release button" - tw.activity._send_event("r:"+str(x)+":"+str(y)) - return True - -def button_release(tw, x, y, verbose=False): - if tw.dx != 0 or tw.dy != 0: - if hasattr(tw, 'activity') and \ - hasattr(tw.activity, 'chattube') and \ - tw.activity.chattube is not None: - if verbose: - print "processing move: " + str(tw.dx) + " " + str(tw.dy) - tw.activity._send_event("m:"+str(tw.dx)+":"+str(tw.dy)) - tw.dx = 0 - tw.dy = 0 - if verbose: - print "processing remote button release: " + str(x) + " " + str(y) - if tw.draggroup == None: - return - spr = tw.draggroup[0] - if spr.type == 'turtle': - tw.turtle.xcor = tw.turtle.spr.x-tw.turtle.canvas.x- \ - tw.turtle.canvas.width/2+30 - tw.turtle.ycor = tw.turtle.canvas.height/2-tw.turtle.spr.y+ \ - tw.turtle.canvas.y-30 - move_turtle(tw.turtle) - display_coordinates(tw) - tw.draggroup = None - return - if tw.block_operation=='move' and hit(tw.category_spr, (x,y)): - for b in tw.draggroup: hide(b) - tw.draggroup = None - return - if tw.block_operation=='new': - for b in tw.draggroup: - move(b, (b.x+200, b.y)) - snap_to_dock(tw) - for b in tw.draggroup: setlayer(b,650) - tw.draggroup = None - if tw.block_operation=='click': - if tw.spr.proto.name=='number': - tw.selected_block = spr - move(tw.select_mask, (spr.x-5,spr.y-5)) - setlayer(tw.select_mask, 660) - tw.firstkey = True - elif tw.defdict.has_key(spr.proto.name): - tw.selected_block = spr - if tw.spr.proto.name=='string': - move(tw.select_mask_string, (spr.x-5,spr.y-5)) - setlayer(tw.select_mask_string, 660) - tw.firstkey = True - elif tw.spr.proto.name in importblocks: - import_from_journal(tw, spr) - elif tw.spr.proto.name=='nop' and tw.myblock==None: - tw.activity.import_py() - else: run_stack(tw, spr) - -def import_from_journal(tw, spr): - if hasattr(tw,"activity"): - chooser = ObjectChooser('Choose image', None,\ - gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT) - try: - result = chooser.run() - if result == gtk.RESPONSE_ACCEPT: - dsobject = chooser.get_selected_object() - # change block graphic to indicate that object is "loaded" - if spr.proto.name == 'journal': - load_image(tw, dsobject, spr) - elif spr.proto.name == 'audiooff': - setimage(spr,tw.media_shapes['audioon']) + self._run_stack(blk) + + def _check_collapsibles(self, blk): + """ Check the state of collapsible blocks upon change in dock state. """ + group = find_group(blk) + for gblk in group: + if gblk.name in COLLAPSIBLE: + if collapsed(gblk): + gblk.svg.set_show(True) + gblk.svg.set_hide(False) + reset_stack_arm(find_sandwich_top(gblk)) + elif collapsible(gblk): + gblk.svg.set_hide(True) + gblk.svg.set_show(False) + grow_stack_arm(find_sandwich_top(gblk)) else: - setimage(spr, tw.media_shapes['decson']) - spr.ds_id = dsobject.object_id - dsobject.destroy() - finally: - chooser.destroy() - del chooser - else: - print "Journal Object Chooser unavailable from outside of Sugar" - -# Replace Journal block graphic with preview image -def load_image(tw, picture, spr): - from talogo import get_pixbuf_from_journal - pixbuf = get_pixbuf_from_journal(picture,spr.width,spr.height) - if pixbuf is not None: - setimage(spr, pixbuf) - else: - setimage(spr, tw.media_shapes['texton']) - -# change the icon for user-defined blocks after Python code is loaded -def set_userdefined(tw): - list = tw.sprites[:] - for spr in list: - if hasattr(spr,'proto') and spr.proto.name == 'nop': - setimage(spr,tw.media_shapes['pythonloaded']) - tw.nop = 'pythonloaded' - -def snap_to_dock(tw): - d=200 - me = tw.draggroup[0] - for mydockn in range(len(me.proto.docks)): - for you in blocks(tw): - if you in tw.draggroup: - continue - for yourdockn in range(len(you.proto.docks)): - thisxy = dock_dx_dy(you,yourdockn,me,mydockn) - if magnitude(thisxy)>d: + gblk.svg.set_hide(False) + gblk.svg.set_show(False) + # Ouch: When you tear off the sandwich bottom, you + # no longer have access to the group with the sandwich top + # so check them all. + for b in self.just_blocks(): + if b.name == 'sandwichtop': + if find_sandwich_bottom(b) is None: + reset_stack_arm(b) + gblk.refresh() + + def _run_stack(self, blk): + """ Run a stack of blocks. """ + if blk is None: + return + self.lc.ag = None + top = find_top_block(blk) + self.lc.run_blocks(top, self.just_blocks(), True) + gobject.idle_add(self.lc.doevalstep) + + def _snap_to_dock(self): + """ Snap a block to the dock of another block. """ + my_block = self.drag_group[0] + d = 200 + for my_dockn in range(len(my_block.docks)): + for your_block in self.just_blocks(): + # don't link to a block to which you're already connected + if your_block in self.drag_group: continue - d=magnitude(thisxy) - bestxy=thisxy - bestyou=you - bestyourdockn=yourdockn - bestmydockn=mydockn - if d<200: - for b in tw.draggroup: - move(b,(b.x+bestxy[0],b.y+bestxy[1])) - blockindock=bestyou.connections[bestyourdockn] - if blockindock!=None: - for b in findgroup(blockindock): - hide(b) - bestyou.connections[bestyourdockn]=me - me.connections[bestmydockn]=bestyou - -def dock_dx_dy(block1,dock1n,block2,dock2n): - dock1 = block1.proto.docks[dock1n] - dock2 = block2.proto.docks[dock2n] - d1type,d1dir,d1x,d1y=dock1[0:4] - d2type,d2dir,d2x,d2y=dock2[0:4] - if (d2type!='num') or (dock2n!=0): - if block1.connections[dock1n] != None: - return (100,100) - if block2.connections[dock2n] != None: - return (100,100) - if block1==block2: return (100,100) - if d1type!=d2type: - # some blocks can take strings or nums - if block1.proto.name in ('write', 'plus2', 'equal', 'less', 'greater', \ - 'template1', 'template2', 'template3', \ - 'template4', 'template6', 'template7', 'nop', \ - 'print', 'stack'): - if block1.proto.name == 'write' and d1type == 'string': - if d2type == 'num' or d2type == 'string': - pass - else: - if d2type == 'num' or d2type == 'string': - pass - # some blocks can take strings, nums, or Journal - elif block1.proto.name in ('show', 'push', 'storein', 'storeinbox1', \ - 'storeinbox2'): - if d2type == 'num' or d2type == 'string' or d2type == 'journal': - pass - # some blocks can take media, audio, movies, of descriptions - elif block1.proto.name in ('containter'): - if d1type == 'audiooff' or d1type == 'journal': - pass + # check each dock of your_block for a possible connection + for your_dockn in range(len(your_block.docks)): + this_xy = dock_dx_dy(your_block, your_dockn, + my_block, my_dockn) + if magnitude(this_xy) > d: + continue + d = magnitude(this_xy) + best_xy = this_xy + best_you = your_block + best_your_dockn = your_dockn + best_my_dockn = my_dockn + if d < 200: + if not arithmetic_check(my_block, best_you, best_my_dockn, + best_your_dockn): + return + for blk in self.drag_group: + (sx, sy) = blk.spr.get_xy() + blk.spr.move((sx + best_xy[0], sy + best_xy[1])) + + # If there was already a block docked there, move it to the trash. + blk_in_dock = best_you.connections[best_your_dockn] + if blk_in_dock is not None: + blk_in_dock.connections[0] = None + self._put_in_trash(blk_in_dock) + + best_you.connections[best_your_dockn] = my_block + if my_block.connections is not None: + my_block.connections[best_my_dockn] = best_you + + def _import_from_journal(self, blk): + """ Import a file from the Sugar Journal """ + if self.running_sugar: + chooser = ObjectChooser('Choose image', None, + gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT) + try: + result = chooser.run() + if result == gtk.RESPONSE_ACCEPT: + dsobject = chooser.get_selected_object() + self._update_media_icon(blk, dsobject, dsobject.object_id) + dsobject.destroy() + finally: + chooser.destroy() + del chooser + else: + fname, self.load_save_folder = \ + get_load_name('.*', self.load_save_folder) + if fname is None: + return + self._update_media_icon(blk, fname) + + def _load_description_block(self, blk): + """ Look for a corresponding description block """ + if blk == None or blk.name != 'journal' or len(blk.values) == 0 or\ + blk.connections[0] is None: + return + _blk = blk.connections[0] + dblk = find_blk_below(_blk, 'description') + # Autoupdate the block if it is empty + if dblk != None and (len(dblk.values) == 0 or dblk.values[0] == None): + self._update_media_icon(dblk, None, blk.values[0]) + + def _update_media_icon(self, blk, name, value=''): + """ Update the icon on a 'loaded' media block. """ + if blk.name == 'journal': + self._load_image_thumb(name, blk) + elif blk.name == 'audio': + self._block_skin('audioon', blk) + else: + self._block_skin('descriptionon', blk) + if value == '': + value = name + if len(blk.values) > 0: + blk.values[0] = value + else: + blk.values.append(value) + blk.spr.set_label(' ') + + def _load_image_thumb(self, picture, blk): + """ Replace icon with a preview image. """ + pixbuf = None + self._block_skin('descriptionon', blk) + + if self.running_sugar: + w, h = calc_image_size(blk.spr) + pixbuf = get_pixbuf_from_journal(picture, w, h) + else: + if movie_media_type(picture): + self._block_skin('journalon', blk) + elif audio_media_type(picture): + self._block_skin('audioon', blk) + blk.name = 'audio' + elif image_media_type(picture): + w, h = calc_image_size(blk.spr) + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(picture, w, h) + else: + blk.name = 'description' + if pixbuf is not None: + x, y = self._calc_image_offset('', blk.spr) + blk.set_image(pixbuf, x, y) + self._resize_skin(blk) + + def _disconnect(self, blk): + """ Disconnect block from stack above it. """ + if blk.connections[0] == None: + return + if collapsed(blk): + return + blk2 = blk.connections[0] + blk2.connections[blk2.connections.index(blk)] = None + blk.connections[0] = None + + def _keypress_cb(self, area, event): + """ Keyboard """ + keyname = gtk.gdk.keyval_name(event.keyval) + keyunicode = gtk.gdk.keyval_to_unicode(event.keyval) + + if event.get_state()>k.gdk.MOD1_MASK: + alt_mask = True + alt_flag = 'T' else: - return (100,100) - if d1dir==d2dir: - return (100,100) - return (block1.x+d1x)-(block2.x+d2x),(block1.y+d1y)-(block2.y+d2y) - -def magnitude(pos): - x,y = pos - return x*x+y*y - -# -# Repaint -# - -def expose_cb(win, event, tw): - redrawsprites(tw) - return True - -# -# Keyboard -# - -def keypress_cb(area, event, tw): - keyname = gtk.gdk.keyval_name(event.keyval) -# keyunicode = unichr(gtk.gdk.keyval_to_unicode(event.keyval)).replace("\x00","") - keyunicode = gtk.gdk.keyval_to_unicode(event.keyval) -# print keyname -# if keyunicode > 0: -# print unichr(keyunicode) - - if event.get_state()>k.gdk.MOD1_MASK: - alt_mask = True - else: - alt_mask = False - results = key_press(tw, alt_mask, keyname, keyunicode) - if keyname is not None and hasattr(tw,"activity") and \ - hasattr(tw.activity, 'chattube') and tw.activity.chattube is not None: - # print "key press" - if alt_mask: - tw.activity._send_event("k:"+'T'+":"+keyname+":"+str(keyunicode)) - else: - tw.activity._send_event("k:"+'F'+":"+keyname+":"+str(keyunicode)) - return keyname -''' - if len(keyname)>1: - # print "(" + keyunicode.encode("utf-8") + ")" + alt_mask = False + alt_flag = 'F' + self._key_press(alt_mask, keyname, keyunicode) return keyname - else: - # print "[" + keyunicode.encode("utf-8") + "]" - return keyunicode.encode("utf-8") -''' -def key_press(tw, alt_mask, keyname, keyunicode, verbose=False): - if keyname is None: - return False - if verbose: - print "processing remote key press: " + keyname - tw.keypress = keyname - if alt_mask is True and tw.selected_block==None: - if keyname=="i" and hasattr(tw, 'activity'): - tw.activity.waiting_for_blocks = True - tw.activity._send_event("i") # request sync for sharing - elif keyname=="p": - hideshow_button(tw) - elif keyname=='q': - exit() - return True - if tw.selected_block is not None and \ - tw.selected_block.proto.name == 'number': - if keyname in ['minus', 'period']: - keyname = {'minus': '-', 'period': '.'}[keyname] - oldnum = tw.selected_block.label - selblock=tw.selected_block.proto - if keyname == 'BackSpace': - if len(oldnum) > 1: + + def _key_press(self, alt_mask, keyname, keyunicode, verbose=False): + if keyname is None: + return False + if verbose: + print "processing remote key press: %s" % (keyname) + + self.keypress = keyname + + # First, process Alt keys. + if alt_mask and self.selected_blk is not None: + if keyname == "p": + self.hideshow_button() + elif keyname == 'q': + exit() + return True + # Process keyboard input for 'number' blocks + if self.selected_blk is not None and \ + self.selected_blk.name == 'number': + self._process_numeric_input(keyname) + return True + # Process keyboard input for 'string' blocks + elif self.selected_blk is not None and \ + self.selected_blk.name == 'string': + self.process_alphanumeric_input(keyname, keyunicode) + if self.selected_blk is not None: + self.selected_blk.resize() + return True + # Otherwise, use keyboard input to move blocks or turtles + else: + self._process_keyboard_commands(keyname) + if self.selected_blk is None: + return False + + def _process_numeric_input(self, keyname): + ''' Make sure numeric input is valid. ''' + oldnum = self.selected_blk.spr.labels[0].replace(CURSOR, '') + if len(oldnum) == 0: + oldnum = '0' + if keyname == 'minus': + if oldnum == '0': + newnum = '-' + elif oldnum[0] != '-': + newnum = '-' + oldnum + else: + newnum = oldnum + elif keyname == 'period' and '.' not in oldnum: + newnum = oldnum + '.' + elif keyname == 'BackSpace': + if len(oldnum) > 0: newnum = oldnum[:len(oldnum)-1] else: newnum = '' - setlabel(tw.selected_block, selblock.check(newnum,oldnum)) - if len(newnum) > 0: - tw.firstkey = False + elif keyname in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']: + if oldnum == '0': + newnum = keyname + else: + newnum = oldnum + keyname + elif keyname == 'Return': + self._unselect_block() + return + else: + newnum = oldnum + if newnum == '.': + newnum = '0.' + if len(newnum) > 0 and newnum != '-': + try: + float(newnum) + except ValueError, e: + newnum = oldnum + self.selected_blk.spr.set_label(newnum + CURSOR) + + def process_alphanumeric_input(self, keyname, keyunicode): + """ Make sure alphanumeric input is properly parsed. """ + if len(self.selected_blk.spr.labels[0]) > 0: + c = self.selected_blk.spr.labels[0].count(CURSOR) + if c == 0: + oldleft = self.selected_blk.spr.labels[0] + oldright = '' + elif len(self.selected_blk.spr.labels[0]) == 1: + oldleft = '' + oldright = '' else: - tw.firstkey = True - if len(keyname)>1: + try: # Why are getting a ValueError on occasion? + oldleft, oldright = \ + self.selected_blk.spr.labels[0].split(CURSOR) + except ValueError: + print "[%s]" % self.selected_blk.spr.labels[0] + oldleft = self.selected_blk.spr.labels[0] + oldright = '' + else: + oldleft = '' + oldright = '' + newleft = oldleft + if keyname in ['Shift_L', 'Shift_R', 'Control_L', 'Caps_Lock', \ + 'Alt_L', 'Alt_R', 'KP_Enter', 'ISO_Level3_Shift']: + keyname = '' + keyunicode = 0 + # Hack until I sort out input and unicode and dead keys, + if keyname[0:5] == 'dead_': + self.dead_key = keyname + keyname = '' + keyunicode = 0 + if keyname == 'space': + keyunicode = 32 + elif keyname == 'Tab': + keyunicode = 9 + if keyname == 'BackSpace': + if len(oldleft) > 1: + newleft = oldleft[:len(oldleft)-1] + else: + newleft = '' + elif keyname == 'Home': + oldright = oldleft+oldright + newleft = '' + elif keyname == 'Left': + if len(oldleft) > 0: + oldright = oldleft[len(oldleft)-1:]+oldright + newleft = oldleft[:len(oldleft)-1] + elif keyname == 'Right': + if len(oldright) > 0: + newleft = oldleft + oldright[0] + oldright = oldright[1:] + elif keyname == 'End': + newleft = oldleft+oldright + oldright = '' + elif keyname == 'Return': + newleft = oldleft+RETURN + elif keyname == 'Down': + self._unselect_block() + return + elif keyname == 'Up' or keyname == 'Escape': # Restore previous state + self.selected_blk.spr.set_label(self.saved_string) + self._unselect_block() + return + else: + if self.dead_key is not '': + keyunicode = \ + DEAD_DICTS[DEAD_KEYS.index(self.dead_key[5:])][keyname] + self.dead_key = '' + if keyunicode > 0: + if unichr(keyunicode) != '\x00': + newleft = oldleft+unichr(keyunicode) + else: + newleft = oldleft + elif keyunicode == -1: # clipboard text + if keyname == '\n': + newleft = oldleft+RETURN + else: + newleft = oldleft+keyname + self.selected_blk.spr.set_label("%s%s%s" % (newleft, CURSOR, oldright)) + + def _process_keyboard_commands(self, keyname): + """ Use the keyboard to move blocks and turtle """ + mov_dict = {'KP_Up':[0, 10], 'j':[0, 10], 'Up':[0, 10], + 'KP_Down':[0, -10], 'k':[0, -10], 'Down':[0, -10], + 'KP_Left':[-10, 0], 'h':[-10, 0], 'Left':[-10, 0], + 'KP_Right':[10, 0], 'l':[10, 0], 'Right':[10, 0], + 'KP_Page_Down':[0, 0], 'KP_Page_Up':[0, 0], 'KP_End':[0, 0], + 'KP_Home':[-1, -1], 'Return':[-1, -1], 'Esc':[0, 0]} + if not mov_dict.has_key(keyname): + return + if keyname == 'KP_End': + self.run_button(0) + elif self.selected_spr is not None: + blk = self.block_list.spr_to_block(self.selected_spr) + tur = self.turtles.spr_to_turtle(self.selected_spr) + if not self.lc.running and blk is not None: + if keyname == 'Return' or keyname == 'KP_Page_Up': + (x, y) = blk.spr.get_xy() + self._click_block(x, y) + elif keyname == 'KP_Page_Down': + if self.drag_group == None: + self.drag_group = find_group(blk) + for gblk in self.drag_group: + gblk.spr.hide() + self.drag_group = None + else: + self._jog_block(blk, mov_dict[keyname][0], + mov_dict[keyname][1]) + elif tur is not None: + self._jog_turtle(mov_dict[keyname][0], mov_dict[keyname][1]) + return True + + def _jog_turtle(self, dx, dy): + """ Jog turtle """ + if dx == -1 and dy == -1: + self.canvas.xcor = 0 + self.canvas.ycor = 0 + else: + self.canvas.xcor += dx + self.canvas.ycor += dy + self.canvas.move_turtle() + self.display_coordinates() + self.selected_turtle = None + + def _jog_block(self, blk, dx, dy): + """ Jog block """ + if collapsed(blk): + return + self.drag_group = find_group(blk) + # check to see if any block ends up with a negative x + for blk in self.drag_group: + (sx, sy) = blk.spr.get_xy() + if sx+dx < 0: + dx += -(sx + dx) + # move the stack + for blk in self.drag_group: + (sx, sy) = blk.spr.get_xy() + blk.spr.move((sx + dx, sy - dy)) + self._snap_to_dock() + self.drag_group = None + + def _number_check(self): + """ Make sure a 'number' block contains a number. """ + n = self.selected_blk.spr.labels[0].replace(CURSOR, '') + if n in ['-', '.', '-.']: + n = 0 + if n is not None: + try: + f = float(n) + if f > 1000000: + n = 1 + self.showlabel("#overflowerror") + elif f < -1000000: + n = -1 + self.showlabel("#overflowerror") + except ValueError: + n = 0 + self.showlabel("#notanumber") + else: + n = 0 + self.selected_blk.spr.set_label(n) + self.selected_blk.values[0] = n + + def _string_check(self): + s = self.selected_blk.spr.labels[0].replace(CURSOR, '') + self.selected_blk.spr.set_label(s) + self.selected_blk.values[0] = s.replace(RETURN, "\12") + + def load_python_code(self): + """ Load Python code from a file """ + fname, self.load_save_folder = get_load_name('.py', + self.load_save_folder) + if fname == None: + return + f = open(fname, 'r') + self.myblock = f.read() + f.close() + + def _import_py(self): + """ Import Python code into a block """ + if self.running_sugar: + self.activity.import_py() + else: + self.load_python_code() + self.set_userdefined() + + def new_project(self): + """ Start a new project """ + stop_logo(self) + # Put current project in the trash. + while len(self.just_blocks()) > 0: + blk = self.just_blocks()[0] + top = find_top_block(blk) + self._put_in_trash(top) + self.canvas.clearscreen() + self.save_file_name = None + + def load_files(self, ta_file, create_new_project=True): + """ Load a project from a file """ + if create_new_project: + self.new_project() + self._check_collapsibles(self.process_data(data_from_file(ta_file))) + + def load_file(self, create_new_project=True): + _file_name, self.load_save_folder = get_load_name('.ta', + self.load_save_folder) + if _file_name == None: + return + if _file_name[-3:] == '.ta': + _file_name = _file_name[0:-3] + self.load_files(_file_name+'.ta', create_new_project) + if create_new_project: + self.save_file_name = os.path.basename(_file_name) + if self.running_sugar: + self.activity.metadata['title'] = os.path.split(_file_name)[1] + + def _found_a_turtle(self, blk): + """ Either [-1, 'turtle', ...] or [-1, ['turtle', key], ...] """ + if blk[1] == 'turtle': + self.load_turtle(blk) return True - else: # gtk.keysyms.Left ... - if keyname in ['Escape', 'Return', 'KP_Page_Up', - 'Up', 'Down', 'Left', 'Right', 'KP_Home', 'KP_End', - 'KP_Up', 'KP_Down', 'KP_Left', 'KP_Right', - 'KP_Page_Down']: - # move blocks (except number and text blocks only with arrows) - # or click with Return - if keyname == 'KP_End': - run_button(tw, 0) - elif tw.spr is not None: - if tw.spr.type == 'turtle': # jog turtle with arrow keys - if keyname == 'KP_Up' or keyname == 'Up': - jog_turtle(tw,0,10) - elif keyname == 'KP_Down' or keyname == 'Down': - jog_turtle(tw,0,-10) - elif keyname == 'KP_Left' or keyname == 'Left': - jog_turtle(tw,-10,0) - elif keyname == 'KP_Right' or keyname == 'Right': - jog_turtle(tw,10,0) - elif keyname == 'KP_Home': - jog_turtle(tw,-1,-1) - elif tw.spr.type == 'block': - if keyname == 'Return' or keyname == 'KP_Page_Up': - click_block(tw) - elif keyname == 'KP_Up' or keyname == 'Up': - jog_block(tw,0,10) - elif keyname == 'KP_Down' or keyname == 'Down': - jog_block(tw,0,-10) - elif keyname == 'KP_Left' or keyname == 'Left': - jog_block(tw,-10,0) - elif keyname == 'KP_Right' or keyname == 'Right': - jog_block(tw,10,0) - elif keyname == 'KP_Page_Down': - if tw.draggroup == None: - tw.draggroup = findgroup(tw.spr) - for b in tw.draggroup: hide(b) - tw.draggroup = None - elif tw.spr.type == 'selbutton': - if keyname == 'Return' or keyname == 'KP_Page_Up': - select_category(tw,tw.spr) - elif tw.spr.type == 'category': - if keyname == 'Return' or keyname == 'KP_Page_Up': - (x,y) = tw.window.get_pointer() - block_selector_pressed(tw,x,y) - for b in tw.draggroup: - move(b, (b.x+200, b.y)) - tw.draggroup = None + elif type(blk[1]) == list and blk[1][0] == 'turtle': + self.load_turtle(blk, blk[1][1]) return True - if tw.selected_block is None: + elif type(blk[1]) == tuple: + _btype, _key = blk[1] + if _btype == 'turtle': + self.load_turtle(blk, _key) + return True return False - if keyname in ['Shift_L', 'Shift_R', 'Control_L', 'Caps_Lock', \ - 'Alt_L', 'Alt_R', 'KP_Enter', 'ISO_Level3_Shift']: - keyname = '' - keyunicode = 0 - # Hack until I sort out input and unicode + dead keys - if keyname[0:5] == 'dead_': - tw.dead_key = keyname - keyname = '' - keyunicode = 0 - if keyname == 'Tab': - keyunicode = 32 # substitute a space for a tab - oldnum = tw.selected_block.label - selblock=tw.selected_block.proto - if keyname == 'BackSpace': - if len(oldnum) > 1: - newnum = oldnum[:len(oldnum)-1] - else: - newnum = '' - setlabel(tw.selected_block, selblock.check(newnum,oldnum)) - if len(newnum) > 0: - tw.firstkey = False - else: - tw.firstkey = True - elif keyname is not '': - # Hack until I sort out input and unicode + dead keys - if tw.dead_key == 'dead_grave': - keyunicode = dead_grave[keyname] - elif tw.dead_key == 'dead_acute': - keyunicode = dead_acute[keyname] - elif tw.dead_key == 'dead_circumflex': - keyunicode = dead_circumflex[keyname] - elif tw.dead_key == 'dead_tilde': - keyunicode = dead_tilde[keyname] - elif tw.dead_key == 'dead_diaeresis': - keyunicode = dead_diaeresis[keyname] - elif tw.dead_key == 'dead_abovering': - keyunicode = dead_abovering[keyname] - tw.dead_key = "" - if tw.firstkey: - newnum = selblock.check(unichr(keyunicode), \ - tw.defdict[selblock.name]) - elif keyunicode > 0: - if unichr(keyunicode) is not '\x00': - newnum = oldnum+unichr(keyunicode) + + def load_turtle(self, blk, key=1): + """ Restore a turtle from its saved state """ + tid, name, xcor, ycor, heading, color, shade, pensize = blk + self.canvas.set_turtle(key) + self.canvas.setxy(xcor, ycor) + self.canvas.seth(heading) + self.canvas.setcolor(color) + self.canvas.setshade(shade) + self.canvas.setpensize(pensize) + + def load_block(self, b): + """ Restore individual blocks from saved state """ + # A block is saved as: (i, (btype, value), x, y, (c0,... cn)) + # The x, y position is saved/loaded for backward compatibility + btype, value = b[1], None + if type(btype) == tuple: + btype, value = btype + elif type(btype) == list: + btype, value = btype[0], btype[1] + if btype in CONTENT_BLOCKS or btype in COLLAPSIBLE: + if btype == 'number': + try: + values = [int(value)] + except ValueError: + values = [float(value)] + elif btype in COLLAPSIBLE: + if value is not None: + values = [int(value)] + else: + values = [] else: - newnum = oldnum + values = [value] else: - newnum = "" - setlabel(tw.selected_block, selblock.check(newnum,oldnum)) - tw.firstkey = False - return True - -def unselect(tw): - if tw.selected_block.label in ['-', '.', '-.']: - setlabel(tw.selected_block,'0') - - # put an upper and lower bound on numbers to prevent OverflowError - if tw.selected_block.proto.name == 'number' and \ - tw.selected_block.label is not None: - try: - i = float(tw.selected_block.label) - if i > 1000000: - setlabel(tw.selected_block,'1') - showlabel(tw.lc,"#overflowerror") - elif i < -1000000: - setlabel(tw.selected_block,'-1') - showlabel(tw.lc,"#overflowerror") - except ValueError: - pass - - hide(tw.select_mask) - hide(tw.select_mask_string) - tw.selected_block = None - -def jog_turtle(tw,dx,dy): - if dx == -1 and dy == -1: - tw.turtle.xcor = 0 - tw.turtle.ycor = 0 - else: - tw.turtle.xcor += dx - tw.turtle.ycor += dy - move_turtle(tw.turtle) - display_coordinates(tw) - tw.draggroup = None - -def jog_block(tw,dx,dy): - # drag entire stack if moving lock block - if tw.spr.proto.name == 'lock': - tw.draggroup = findgroup(find_top_block(tw.spr)) - else: - tw.draggroup = findgroup(tw.spr) - # check to see if any block ends up with a negative x - for b in tw.draggroup: - if b.x+dx < 0: - dx += -(b.x+dx) - # move the stack - for b in tw.draggroup: - move(b,(b.x+dx, b.y-dy)) - snap_to_dock(tw) - tw.draggroup = None - -def click_block(tw): - if tw.spr.proto.name=='number': - tw.selected_block = tw.spr - move(tw.select_mask, (tw.spr.x-5,tw.spr.y-5)) - setlayer(tw.select_mask, 660) - tw.firstkey = True - elif tw.defdict.has_key(tw.spr.proto.name): - tw.selected_block = tw.spr - if tw.spr.proto.name=='string': - move(tw.select_mask_string, (tw.spr.x-5,tw.spr.y-5)) - setlayer(tw.select_mask_string, 660) - tw.firstkey = True - elif tw.spr.proto.name in importblocks: - import_from_journal(tw, tw.spr) - elif tw.spr.proto.name=='nop' and tw.myblock==None: - tw.activity.import_py() - else: run_stack(tw, tw.spr) - -# -# Block utilities -# - -def disconnect(b): - if b.connections[0]==None: - return - b2=b.connections[0] - b2.connections[b2.connections.index(b)] = None - b.connections[0] = None - -def run_stack(tw,spr): - tw.lc.ag = None - top = find_top_block(spr) - run_blocks(tw.lc, top, blocks(tw), True) - gobject.idle_add(doevalstep, tw.lc) - -def findgroup(b): - group=[b] - for b2 in b.connections[1:]: - if b2!=None: group.extend(findgroup(b2)) - return group - -def find_top_block(spr): - b = spr - while b.connections[0]!=None: - b=b.connections[0] - return b - -def runtool(tw, spr, cmd, *args): - cmd(*(args)) - -def eraser_button(tw): - # hide status block - setlayer(tw.status_spr,400) - clear(tw.lc) - display_coordinates(tw) - -def stop_button(tw): - stop_logo(tw) - -def run_button(tw, time): - print "you better run, turtle, run!!" - # look for the start block - for b in blocks(tw): - if find_start_stack(tw, b): - tw.step_time = time - if hasattr(tw,'activity'): - tw.activity.recenter() - run_stack(tw, b) + values = [] + + if btype in OLD_DOCK: + check_dock = True + else: + check_dock = False + if OLD_NAMES.has_key(btype): + btype = OLD_NAMES[btype] + blk = Block(self.block_list, self.sprite_list, + btype, b[2] + self.canvas.cx, b[3] + self.canvas.cy, + 'block', values, self.block_scale) + # Some blocks get transformed. + if btype == 'string': + blk.spr.set_label(blk.values[0].replace('\n', RETURN)) + elif btype in EXPANDABLE or btype == 'nop': + if btype == 'vspace': + if value is not None: + blk.expand_in_y(value) + elif btype == 'hspace' or btype == 'identity2': + if value is not None: + blk.expand_in_x(value) + elif btype == 'templatelist' or btype == 'list': + for i in range(len(b[4])-4): + blk.add_arg() + elif btype == 'myfunc2arg' or btype == 'myfunc3arg' or\ + btype == 'userdefined2args' or btype == 'userdefined3args': + blk.add_arg() + if btype == 'myfunc3arg' or btype == 'userdefined3args': + blk.add_arg(False) + if btype in PYTHON_SKIN: + if self.nop == 'pythonloaded': + self._block_skin('pythonon', blk) + else: + self._block_skin('pythonoff', blk) + elif btype in BOX_STYLE_MEDIA: + if len(blk.values) == 0 or blk.values[0] == 'None' or\ + blk.values[0] == None: + self._block_skin(btype+'off', blk) + elif btype == 'audio' or btype == 'description': + self._block_skin(btype+'on', blk) + elif self.running_sugar: + try: + dsobject = datastore.get(blk.values[0]) + if not movie_media_type(dsobject.file_path[-4:]): + w, h, = calc_image_size(blk.spr) + pixbuf = get_pixbuf_from_journal(dsobject, w, h) + if pixbuf is not None: + x, y = self._calc_image_offset('', blk.spr) + blk.set_image(pixbuf, x, y) + else: + self._block_skin('journalon', blk) + dsobject.destroy() + except: + try: + w, h, = calc_image_size(blk.spr) + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size( + blk.values[0], w, h) + x, y = self._calc_image_offset('', blk.spr) + blk.set_image(pixbuf, x, y) + except: + print "Warning: Couldn't open dsobject (%s)" % \ + (blk.values[0]) + self._block_skin('journaloff', blk) + else: + if not movie_media_type(blk.values[0][-4:]): + try: + w, h, = calc_image_size(blk.spr) + pixbuf = gtk.gdk.pixbuf_new_from_file_at_size( + blk.values[0], w, h) + x, y = self._calc_image_offset('', blk.spr) + blk.set_image(pixbuf, x, y) + except: + self._block_skin('journaloff', blk) + else: + self._block_skin('journalon', blk) + blk.spr.set_label(' ') + blk.resize() + + blk.spr.set_layer(BLOCK_LAYER) + if check_dock: + blk.connections = 'check' + return blk + + def load_start(self): + """ Start a new project with a 'start' brick """ + self.process_data([[0, "start", PALETTE_WIDTH + 20, + self.toolbar_offset+PALETTE_HEIGHT + 20, + [None, None]]]) + + def save_file(self): + """ Start a project to a file """ + if self.save_folder is not None: + self.load_save_folder = self.save_folder + _file_name, self.load_save_folder = get_save_name('.ta', + self.load_save_folder, + self.save_file_name) + if _file_name is None: + return + if _file_name[-3:] == '.ta': + _file_name = _file_name[0:-3] + data_to_file(self.assemble_data_to_save(), _file_name + '.ta') + self.save_file_name = os.path.basename(_file_name) + if not self.running_sugar: + self.save_folder = self.load_save_folder + + def assemble_data_to_save(self, save_turtle=True, save_project=True): + """ Pack the project (or stack) into a data stream to be serialized """ + _data = [] + _blks = [] + + if save_project: + _blks = self.just_blocks() + else: + _blks = find_group(find_top_block(self.selected_blk)) + + for _i, _blk in enumerate(_blks): + _blk.id = _i + for _blk in _blks: + if _blk.name in CONTENT_BLOCKS or _blk.name in COLLAPSIBLE: + if len(_blk.values) > 0: + _name = (_blk.name, _blk.values[0]) + else: + _name = (_blk.name) + elif _blk.name in EXPANDABLE: + _ex, _ey = _blk.get_expand_x_y() + if _ex > 0: + _name = (_blk.name, _ex) + elif _ey > 0: + _name = (_blk.name, _ey) + else: + _name = (_blk.name, 0) + else: + _name = (_blk.name) + if hasattr(_blk, 'connections'): + connections = [get_id(_cblk) for _cblk in _blk.connections] + else: + connections = None + (_sx, _sy) = _blk.spr.get_xy() + # Add a slight offset for copy/paste + if not save_project: + _sx += 20 + _sy += 20 + _data.append((_blk.id, _name, _sx-self.canvas.cx, + _sy-self.canvas.cy, connections)) + if save_turtle: + for _turtle in iter(self.turtles.dict): + self.canvas.set_turtle(_turtle) + _data.append((-1, ['turtle', _turtle], + self.canvas.xcor, self.canvas.ycor, + self.canvas.heading, + self.canvas.color, self.canvas.shade, + self.canvas.pensize)) + return _data + + def display_coordinates(self): + """ Display the coordinates of the current turtle on the toolbar """ + x = round_int(self.canvas.xcor/self.coord_scale) + y = round_int(self.canvas.ycor/self.coord_scale) + h = round_int(self.canvas.heading) + if self.running_sugar: + self.activity.coordinates_label.set_text("%s: %d %s: %d %s: %d" % ( + _("xcor"), x, _("ycor"), y, _("heading"), h)) + self.activity.coordinates_label.show() + else: + self.win.set_title("%s — %s: %d %s: %d %s: %d" % (_("Turtle Art"), + _("xcor"), x, _("ycor"), y, _("heading"), h)) + + def showlabel(self, shp, label = ''): + """ Display a message on a status block """ + if shp == 'syntaxerror' and str(label) != '': + if self.status_shapes.has_key(str(label)[1:]): + shp = str(label)[1:] + label = '' + else: + shp = 'status' + elif shp[0] == '#': + shp = shp[1:] + label = '' + if shp == 'notanumber': + shp = 'overflowerror' + self.status_spr.set_shape(self.status_shapes[shp]) + self.status_spr.set_label(str(label)) + self.status_spr.set_layer(STATUS_LAYER) + if shp == 'info': + self.status_spr.move((PALETTE_WIDTH, self.height-400)) + else: + self.status_spr.move((PALETTE_WIDTH, self.height-200)) + + def calc_position(self, template): + """ Relative placement of portfolio objects (depreciated) """ + w, h, x, y, dx, dy = TEMPLATES[template] + x *= self.canvas.width + y *= self.canvas.height + w *= (self.canvas.width-x) + h *= (self.canvas.height-y) + dx *= w + dy *= h + return(w, h, x, y, dx, dy) + + def save_as_image(self, name="", svg=False): + """ Grab the current canvas and save it. """ + + if self.running_sugar: + if svg: + if len(name) == 0: + filename = "ta.svg" + else: + filename = name+".svg" + else: + if len(name) == 0: + filename = "ta.png" + else: + filename = name+".png" + datapath = get_path(self.activity, 'instance') + elif len(name) == 0: + name = "ta" + if self.save_folder is not None: + self.load_save_folder = self.save_folder + if svg: + filename, self.load_save_folder = get_save_name('.svg', + self.load_save_folder, + name) + else: + filename, self.load_save_folder = get_save_name('.png', + self.load_save_folder, + name) + datapath = self.load_save_folder + else: + datapath = os.getcwd() + if svg: + filename = name+".svg" + else: + filename = name+".png" + if filename is None: return - # no start block, so run a stack that isn't a hat - for b in blocks(tw): - if find_block_to_run(tw, b): - print "running " + b.proto.name - tw.step_time = time - run_stack(tw, b) - return - -def hideshow_button(tw): - if tw.hide is False: - for b in blocks(tw): setlayer(b,100) - hide_palette(tw) - hide(tw.select_mask) - hide(tw.select_mask_string) - tw.hide = True - else: - for b in blocks(tw): setlayer(b,650) - show_palette(tw) - tw.hide = False - inval(tw.turtle.canvas) - -# find start stack -def find_start_stack(tw, spr): - top = find_top_block(spr) - if spr.proto.name == 'start': - return True - else: - return False -# find a stack to run (any stack without a hat) -def find_block_to_run(tw, spr): - top = find_top_block(spr) - if spr == top and spr.proto.name[0:3] != 'hat': - return True - else: - return False + file_path = os.path.join(datapath, filename) + if svg: + if self.svg_string == '': + return + save_svg(self.svg_string, file_path) + self.svg_string = '' + else: + save_picture(self.canvas, file_path) -def blocks(tw): - return [spr for spr in tw.sprites if spr.type == 'block'] - -def xy(event): - return map(int, event.get_coords()) - -def showPopup(block_name,tw): - if blocks_dict.has_key(block_name): - block_name_s = _(blocks_dict[block_name]) - else: - block_name_s = _(block_name) - if hover_dict.has_key(block_name): - label = block_name_s + ": " + hover_dict[block_name] - else: - label = block_name_s - if hasattr(tw, "activity"): - tw.activity.hover_help_label.set_text(label) - tw.activity.hover_help_label.show() - elif hasattr(tw, "win"): - tw.win.set_title(_("Turtle Art") + " — " + label) - return 0 + # keep a log of the saved pictures for export to HTML + self.saved_pictures.append(file_path) + + if self.running_sugar: + dsobject = datastore.create() + if len(name) == 0: + dsobject.metadata['title'] = "%s %s" % ( + self.activity.metadata['title'], _("image")) + else: + dsobject.metadata['title'] = name + dsobject.metadata['icon-color'] = profile.get_color().to_string() + if svg: + dsobject.metadata['mime_type'] = 'image/svg+xml' + else: + dsobject.metadata['mime_type'] = 'image/png' + dsobject.set_file_path(file_path) + datastore.write(dsobject) + dsobject.destroy() + + def just_blocks(self): + """ Filter out 'proto', 'trash', and 'deleted' blocks """ + just_blocks_list = [] + for _blk in self.block_list.list: + if _blk.type == 'block': + just_blocks_list.append(_blk) + return just_blocks_list + + def _width_and_height(self, blk): + """ What are the width and height of a stack? """ + minx = 10000 + miny = 10000 + maxx = -10000 + maxy = -10000 + for gblk in find_group(blk): + (x, y) = gblk.spr.get_xy() + w, h = gblk.spr.get_dimensions() + if x < minx: + minx = x + if y < miny: + miny = y + if x + w > maxx: + maxx = x + w + if y + h > maxy: + maxy = y + h + return(maxx - minx, maxy - miny) + + # Utilities related to putting a image 'skin' on a block + + def _calc_image_offset(self, name, spr, iw=0, ih=0): + """ Calculate the postion for placing an image onto a sprite. """ + _l, _t = spr.label_left_top() + if name == '': + return _l, _t + _w = spr.label_safe_width() + _h = spr.label_safe_height() + if iw == 0: + iw = self.media_shapes[name].get_width() + ih = self.media_shapes[name].get_height() + return int(_l + (_w - iw)/2), int(_t + (_h - ih)/2) + + def _calc_w_h(self, name, spr): + """ Calculate new image size """ + target_w = spr.label_safe_width() + target_h = spr.label_safe_height() + if name == '': + return target_w, target_h + image_w = self.media_shapes[name].get_width() + image_h = self.media_shapes[name].get_height() + scale_factor = float(target_w)/image_w + new_w = target_w + new_h = image_h*scale_factor + if new_h > target_h: + scale_factor = float(target_h)/new_h + new_h = target_h + new_w = target_w*scale_factor + return int(new_w), int(new_h) + + def _proto_skin(self, name, n, i): + """ Utility for calculating proto skin images """ + x, y = self._calc_image_offset(name, self.palettes[n][i].spr) + self.palettes[n][i].spr.set_image(self.media_shapes[name], 1, x, y) + + def _block_skin(self, name, blk): + """ Some blocks get a skin """ + x, y = self._calc_image_offset(name, blk.spr) + blk.set_image(self.media_shapes[name], x, y) + self._resize_skin(blk) + + def _resize_skin(self, blk): + """ Resize the 'skin' when block scale changes. """ + if blk.name in PYTHON_SKIN: + w, h = self._calc_w_h('pythonoff', blk.spr) + x, y = self._calc_image_offset('pythonoff', blk.spr, w, h) + elif blk.name == 'journal': + if len(blk.values) == 1 and blk.values[0] is not None: + w, h = self._calc_w_h('', blk.spr) + x, y = self._calc_image_offset('journaloff', blk.spr, w, h) + else: + w, h = self._calc_w_h('journaloff', blk.spr) + x, y = self._calc_image_offset('journaloff', blk.spr, w, h) + else: + w, h = self._calc_w_h('descriptionoff', blk.spr) + x, y = self._calc_image_offset('descriptionoff', blk.spr, w, h) + blk.scale_image(x, y, w, h) diff --git a/turtleart.py b/turtleart.py index f9b9ce1..57209a9 100755 --- a/turtleart.py +++ b/turtleart.py @@ -1,6 +1,6 @@ #!/usr/bin/env python #Copyright (c) 2007-8, Playful Invention Company -#Copyright (c) 2008-9, Walter Bender +#Copyright (c) 2008-10, Walter Bender #Permission is hereby granted, free of charge, to any person obtaining a copy #of this software and associated documentation files (the "Software"), to deal @@ -23,55 +23,56 @@ import pygtk pygtk.require('2.0') import gtk -import gobject import os import os.path -import locale from gettext import gettext as _ +from taconstants import OVERLAY_LAYER +from tautils import data_to_string, data_from_string, get_save_name -from tawindow import * +from tawindow import TurtleArtWindow +from taexporthtml import save_html +from taexportlogo import save_logo -""" -Make a path if it doesn't previously exist -""" def makepath(path): - + """ Make a path if it doesn't previously exist """ from os import makedirs from os.path import normpath, dirname, exists dpath = normpath(dirname(path)) - if not exists(dpath): makedirs(dpath) - -""" -Launch Turtle Art from outside of Sugar -$ python turtleart.py + if not exists(dpath): + makedirs(dpath) -Caveats: - * no Sugar toolbars - * no Sugar Journal access - * no Sugar sharing -""" class TurtleMain(): def __init__(self): - tw = None + """ Launch Turtle Art from outside of Sugar """ + self.i = 0 + self.scale = 2.0 + self.tw = None # make sure Sugar paths are present - tapath = os.path.join(os.environ['HOME'],'.sugar','default', \ + tapath = os.path.join(os.environ['HOME'], '.sugar', 'default', \ 'org.laptop.TurtleArtActivity') - map (makepath, (os.path.join(tapath,'data/'), \ - os.path.join(tapath,'instance/'))) - - """ - Find closest match for the user's $LANG - """ - lang = locale.getdefaultlocale()[0] - if not lang: - lang = 'en' - lang = lang[0:2] - + map (makepath, (os.path.join(tapath, 'data/'), \ + os.path.join(tapath, 'instance/'))) + win = gtk.Window(gtk.WINDOW_TOPLEVEL) + try: + data_file = open('.turtleartrc', 'r') + except IOError: + data_file = open('.turtleartrc', 'a+') + data_file.write(str(50)+'\n') + data_file.write(str(50)+'\n') + data_file.write(str(800)+'\n') + data_file.write(str(550)+'\n') + data_file.seek(0) + self.x = int(data_file.readline()) + self.y = int(data_file.readline()) + self.width = int(data_file.readline()) + self.height = int(data_file.readline()) + win.set_default_size(self.width, self.height) + win.move(self.x, self.y) win.maximize() win.set_title(_("Turtle Art")) - win.connect("delete_event", lambda w,e: gtk.main_quit()) + win.connect("delete_event", lambda w, e: gtk.main_quit()) menu = gtk.Menu() @@ -83,21 +84,98 @@ class TurtleMain(): menu.append(menu_items) menu_items.connect("activate", self._do_save_cb) menu_items.show() - - activity_menu = gtk.MenuItem("File") + menu_items = gtk.MenuItem(_("Save As")) + menu.append(menu_items) + menu_items.connect("activate", self._do_save_as_cb) + menu_items.show() + menu_items = gtk.MenuItem(_("Save as image")) + menu.append(menu_items) + menu_items.connect("activate", self._do_save_picture_cb) + menu_items.show() + menu_items = gtk.MenuItem(_("Save as HTML")) + menu.append(menu_items) + menu_items.connect("activate", self._do_save_html_cb) + menu_items.show() + menu_items = gtk.MenuItem(_("Save as Logo")) + menu.append(menu_items) + menu_items.connect("activate", self._do_save_logo_cb) + menu_items.show() + menu_items = gtk.MenuItem(_("Quit")) + menu.append(menu_items) + menu_items.connect("activate", self.destroy) + menu_items.show() + + activity_menu = gtk.MenuItem(_("File")) activity_menu.show() activity_menu.set_submenu(menu) menu = gtk.Menu() - menu_items = gtk.MenuItem(_("Palette")) + menu_items = gtk.MenuItem(_("Cartesian coordinates")) + menu.append(menu_items) + menu_items.connect("activate", self._do_cartesian_cb) + menu_items.show() + menu_items = gtk.MenuItem(_("Polar coordinates")) + menu.append(menu_items) + menu_items.connect("activate", self._do_polar_cb) + menu_items.show() + menu_items = gtk.MenuItem(_('Rescale coordinates')) + menu.append(menu_items) + menu_items.connect("activate", self._do_rescale_cb) + menu_items.show() + menu_items = gtk.MenuItem(_("Grow blocks")) + menu.append(menu_items) + menu_items.connect("activate", self._do_resize_cb, 1.5) + menu_items.show() + menu_items = gtk.MenuItem(_("Shrink blocks")) + menu.append(menu_items) + menu_items.connect("activate", self._do_resize_cb, 0.667) + menu_items.show() + menu_items = gtk.MenuItem(_("Reset block size")) + menu.append(menu_items) + menu_items.connect("activate", self._do_resize_cb, -1) + menu_items.show() + + view_menu = gtk.MenuItem(_("View")) + view_menu.show() + view_menu.set_submenu(menu) + + menu = gtk.Menu() + + menu_items = gtk.MenuItem(_("Copy")) + menu.append(menu_items) + menu_items.connect("activate", self._do_copy_cb) + menu_items.show() + menu_items = gtk.MenuItem(_("Paste")) + menu.append(menu_items) + menu_items.connect("activate", self._do_paste_cb) + menu_items.show() + + edit_menu = gtk.MenuItem(_("Edit")) + edit_menu.show() + edit_menu.set_submenu(menu) + + menu = gtk.Menu() + + menu_items = gtk.MenuItem(_("Show palette")) menu.append(menu_items) menu_items.connect("activate", self._do_palette_cb) menu_items.show() - menu_items = gtk.MenuItem(_("Blocks")) + menu_items = gtk.MenuItem(_("Hide palette")) + menu.append(menu_items) + menu_items.connect("activate", self._do_hide_palette_cb) + menu_items.show() + menu_items = gtk.MenuItem(_("Show/hide blocks")) menu.append(menu_items) menu_items.connect("activate", self._do_hideshow_cb) menu_items.show() + + tool_menu = gtk.MenuItem(_("Tools")) + tool_menu.show() + tool_menu.set_submenu(menu) + + menu = gtk.Menu() + menu_items = gtk.MenuItem(_("Clean")) menu.append(menu_items) menu_items.connect("activate", self._do_eraser_cb) @@ -110,14 +188,18 @@ class TurtleMain(): menu.append(menu_items) menu_items.connect("activate", self._do_step_cb) menu_items.show() + menu_items = gtk.MenuItem(_("Debug")) + menu.append(menu_items) + menu_items.connect("activate", self._do_trace_cb) + menu_items.show() menu_items = gtk.MenuItem(_("Stop")) menu.append(menu_items) menu_items.connect("activate", self._do_stop_cb) menu_items.show() - project_menu = gtk.MenuItem("Tools") - project_menu.show() - project_menu.set_submenu(menu) + turtle_menu = gtk.MenuItem(_("Turtle")) + turtle_menu.show() + turtle_menu.set_submenu(menu) vbox = gtk.VBox(False, 0) win.add(vbox) @@ -127,53 +209,202 @@ class TurtleMain(): vbox.pack_start(menu_bar, False, False, 2) menu_bar.show() + sw = gtk.ScrolledWindow() + sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) + sw.show() canvas = gtk.DrawingArea() - vbox.pack_end(canvas, True, True) + width = gtk.gdk.screen_width() * 2 + height = gtk.gdk.screen_height() * 2 + canvas.set_size_request(width, height) + sw.add_with_viewport(canvas) canvas.show() + vbox.pack_end(sw, True, True) menu_bar.append(activity_menu) - menu_bar.append(project_menu) + menu_bar.append(edit_menu) + menu_bar.append(view_menu) + menu_bar.append(tool_menu) + menu_bar.append(turtle_menu) win.show_all() - self.tw = twNew(canvas, os.path.abspath('.'), lang) + + if os.path.exists('/usr/share/turtleart'): + self.tw = TurtleArtWindow(canvas, '/usr/share/turtleart') + elif os.path.exists('/usr/local/share/turtleart'): + self.tw = TurtleArtWindow(canvas, '/usr/local/share/turtleart') + else: + self.tw = TurtleArtWindow(canvas, os.path.abspath('.')) self.tw.win = win + self.tw.load_start() + self.tw.save_folder = os.path.expanduser("~") def _do_open_cb(self, widget): - load_file(self.tw, True) + """ Callback for open project. """ + self.tw.load_file(True) def _do_save_cb(self, widget): - save_file(self.tw) + """ Callback for save project. """ + self.tw.save_file() + + def _do_save_as_cb(self, widget): + """ Callback for save-as project. """ + self.tw.save_file_name = None + self.tw.save_file() + + def _do_save_picture_cb(self, widget): + """ Callback for save canvas. """ + self.tw.save_as_image() + + def _do_save_html_cb(self, widget): + """ Callback for save project to HTML. """ + html = save_html(self, self.tw, False) + if len(html) == 0: + return + save_type = '.html' + if len(self.tw.saved_pictures) > 0: + if self.tw.saved_pictures[0].endswith(('.svg')): + save_type = '.xml' + filename, self.tw.load_save_folder = get_save_name(save_type, + self.tw.load_save_folder, 'portfolio') + f = file(filename, "w") + f.write(html) + f.close() + self.tw.saved_pictures = [] + + def _do_save_logo_cb(self, widget): + """ Callback for save project to Logo. """ + logocode = save_logo(self.tw) + if len(logocode) == 0: + return + save_type = '.lg' + filename, self.tw.load_save_folder = get_save_name(save_type, + self.tw.load_save_folder, 'logosession') + f = file(filename, "w") + f.write(logocode) + f.close() + + def _do_resize_cb(self, widget, factor): + """ Callback to resize blocks. """ + if factor == -1: + self.tw.block_scale = 2.0 + else: + self.tw.block_scale *= factor + self.tw.resize_blocks() + + def _do_cartesian_cb(self, button): + """ Callback to display/hide Cartesian coordinate overlay. """ + if self.tw.cartesian is True: + if self.tw.coord_scale == 1: + self.tw.overlay_shapes['Cartesian_labeled'].hide() + else: + self.tw.overlay_shapes['Cartesian'].hide() + self.tw.cartesian = False + else: + if self.tw.coord_scale == 1: + self.tw.overlay_shapes['Cartesian_labeled'].set_layer( + OVERLAY_LAYER) + else: + self.tw.overlay_shapes['Cartesian'].set_layer(OVERLAY_LAYER) + self.tw.cartesian = True + + def _do_polar_cb(self, button): + """ Callback to display/hide Polar coordinate overlay. """ + if self.tw.polar is True: + self.tw.overlay_shapes['polar'].hide() + self.tw.polar = False + else: + self.tw.overlay_shapes['polar'].set_layer(OVERLAY_LAYER) + self.tw.polar = True + + def _do_rescale_cb(self, button): + """ Callback to rescale coordinate space. """ + if self.tw.coord_scale == 1: + self.tw.coord_scale = self.tw.height/200 + self.tw.eraser_button() + if self.tw.cartesian is True: + self.tw.overlay_shapes['Cartesian_labeled'].hide() + self.tw.overlay_shapes['Cartesian'].set_layer(OVERLAY_LAYER) + else: + self.tw.coord_scale = 1 + self.tw.eraser_button() + if self.tw.cartesian is True: + self.tw.overlay_shapes['Cartesian'].hide() + self.tw.overlay_shapes['Cartesian_labeled'].set_layer( + OVERLAY_LAYER) def _do_palette_cb(self, widget): - if self.tw.palette == True: - hideshow_palette(self.tw,False) - else: - hideshow_palette(self.tw,True) + """ Callback to show/hide palette of blocks. """ + self.tw.show_palette(self.i) + self.i += 1 + if self.i == len(self.tw.palettes): + self.i = 0 + + def _do_hide_palette_cb(self, widget): + """ Hide the palette of blocks. """ + self.tw.hide_palette() def _do_hideshow_cb(self, widget): - hideshow_button(self.tw) + """ Hide/show the blocks. """ + self.tw.hideshow_button() def _do_eraser_cb(self, widget): - eraser_button(self.tw) + """ Callback for eraser button. """ + self.tw.eraser_button() return def _do_run_cb(self, widget): + """ Callback for run button (rabbit). """ self.tw.lc.trace = 0 - runbutton(self.tw, 0) + self.tw.run_button(0) return def _do_step_cb(self, widget): + """ Callback for step button (turtle). """ self.tw.lc.trace = 0 - runbutton(self.tw, 3) + self.tw.run_button(3) + return + + def _do_trace_cb(self, widget): + """ Callback for debug button (bug). """ + self.tw.lc.trace = 1 + self.tw.run_button(6) return def _do_stop_cb(self, widget): + """ Callback for stop button. """ self.tw.lc.trace = 0 - stop_button(self.tw) + self.tw.stop_button() return + def _do_copy_cb(self, button): + """ Callback for copy button. """ + clipBoard = gtk.Clipboard() + data = self.tw.assemble_data_to_save(False, False) + if data is not []: + text = data_to_string(data) + clipBoard.set_text(text) + + def _do_paste_cb(self, button): + """ Callback for paste button. """ + clipBoard = gtk.Clipboard() + text = clipBoard.wait_for_text() + if text is not None: + self.tw.process_data(data_from_string(text)) + + def _window_event(self, event, data): + """ Callback for resize event. """ + data_file = open('.turtleartrc', 'w') + data_file.write(str(data.x)+'\n') + data_file.write(str(data.y)+'\n') + data_file.write(str(data.width)+'\n') + data_file.write(str(data.height)+'\n') + + def destroy(self, event, data=None): + """ Callback for destroy event. """ + gtk.main_quit() def main(): + """ python turtleart.py """ gtk.main() return 0 -- cgit v0.9.1