From 28c7e3e4d2f43f158156c3f17d8b64e7053ab019 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Tue, 06 Jan 2009 00:27:35 +0000 Subject: * add named boxes and stacks --- diff --git a/NEWS b/NEWS index 7662ac7..7dd9d5b 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +27 + +* add named boxes and stacks + 26 * allow new blocks to be created by clicking in addition to drag and drop diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py index 88dfa8b..afb1d7f 100644 --- a/TurtleArtActivity.py +++ b/TurtleArtActivity.py @@ -1,4 +1,4 @@ -#Copyright (c) 2007-8, Playful Invention Company. +#Copyright (c) 2007-9, Playful Invention Company. #Permission is hereby granted, free of charge, to any person obtaining a copy #of this software and associated documentation files (the "Software"), to deal @@ -25,26 +25,6 @@ import pygtk pygtk.require('2.0') import gtk -from socket import * -import sys -import gobject - -serverHost = '192.168.1.102' -serverPort = 5647 - -def debug_init(): - s = socket(AF_INET, SOCK_STREAM) # create a TCP socket - s.connect((serverHost, serverPort)) # connect to server on the port - sys.stdout = s.makefile() - sys.stderr = sys.stdout - gobject.timeout_add(100, debug_tick) - -def debug_tick(): - sys.stdout.flush() - return True - -#debug_init() - import sugar from sugar.activity import activity from sugar.graphics.toolbutton import ToolButton @@ -185,6 +165,8 @@ class TurtleArtActivity(activity.Activity): class ProjectToolbar(gtk.Toolbar): + from taexport import * + def __init__(self, pc): gtk.Toolbar.__init__(self) self.activity = pc @@ -239,170 +221,3 @@ class ProjectToolbar(gtk.Toolbar): datastore.write(file_dsobject) return - - def save_logo(self, tw): - color_processing = "\ -to tasetpalette :i :r :g :b :myshade \r\ -make \"s ((:myshade - 50) / 50) \r\ -ifelse lessp :s 0 [ \r\ -make \"s (1 + (:s *0.8)) \r\ -make \"r (:r * :s) \r\ -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\ -] \ -setpalette :i (list :r :g :b) \r\ -end \r\ -\ -to rgb :myi :mycolors :myshade \r\ -make \"myr first :mycolors \r\ -make \"mycolors butfirst :mycolors \r\ -make \"myg first :mycolors \r\ -make \"mycolors butfirst :mycolors \r\ -make \"myb first :mycolors \r\ -make \"mycolors butfirst :mycolors \r\ -tasetpalette :myi :myr :myg :myb :myshade \r\ -output :mycolors \r\ -end \r\ -\ -to processcolor :mycolors :myshade \r\ -if emptyp :mycolors [stop] \r\ -make \"i :i + 1 \r\ -processcolor (rgb :i :mycolors :myshade) :myshade \r\ -end \r\ -\ -to tasetshade :shade \r\ -make \"myshade modulo :shade 200 \r\ -if greaterp :myshade 99 [make \"myshade (199-:myshade)] \r\ -make \"i 7 \r\ -make \"mycolors :colors \r\ -processcolor :mycolors :myshade \r\ -end \r\ -\ -to tasetpencolor :c \r\ -make \"color (modulo (round :c) 100) \r\ -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\ -tasetshade :shade \r" - - bs = tawindow.blocks(tw) - code = "" - random = 0 - fillscreen = 0 - setcolor = 0 - setxy = 0 - pensize = 0 - tastack = 0 - arc = 0 - for b in bs: - this_stack = "" - data = self.walk_stack(tw, b) - # need to catch several special cases: - # stacks, random, setshade, et al. - stack = 0 - for d in data: - if type(d) is float: - this_stack += str(d) - else: - # transalate some TA terms into UCB Logo - if 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 == "nop1": - this_stack += "to stack1\r" - stack = 1 - elif d == "nop2": - this_stack += "to stack2\r" - stack = 1 - elif d == "clean": - this_stack += "clearscreen" - elif d == "setxy": - setxy = 1 - this_stack += "tasetxy" - elif d == "color": - this_stack += ":color" - 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" - 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 random: # to avoid negative numbers - code = "to tarandom :min :max\routput (random (:max - :min)) + :min\rend\r" + code - if fillscreen: # set shade than background color - code = "to tasetbackground :color :shade\rtasetshade :shade\rsetbackground :color\rend\r" + 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 :y :x\rpenup\rsetxy :x :y\rpendown\rend\r" + code - if arc: - c = (2 * math.pi)/360 - code = "to taarc :a :r\rrepeat round :a [right 1 forward (" + str(c) + " * :r)]\rend\r" + code - code = "window\rsetscrunch 2 2\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 - return talogo.walk_blocks(tw.lc, top, tawindow.blocks(tw)) - else: - # not top of stack, then return empty list - return [] - diff --git a/activity/activity.info b/activity/activity.info index a9b8a4a..0118c06 100644 --- a/activity/activity.info +++ b/activity/activity.info @@ -1,6 +1,6 @@ [Activity] name = Turtle Art -activity_version = 26 +activity_version = 27 license = MIT service_name = org.laptop.TurtleArtActivity class = TurtleArtActivity.TurtleArtActivity diff --git a/images/en/maskstring.svg b/images/en/maskstring.svg new file mode 100644 index 0000000..f3906a5 --- /dev/null +++ b/images/en/maskstring.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/en/myblocks/box.svg b/images/en/myblocks/box.svg new file mode 100644 index 0000000..a76f2a1 --- /dev/null +++ b/images/en/myblocks/box.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + box + + + diff --git a/images/en/myblocks/hat.svg b/images/en/myblocks/hat.svg new file mode 100644 index 0000000..81dbd2c --- /dev/null +++ b/images/en/myblocks/hat.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + stack + + diff --git a/images/en/myblocks/myblocksgroup.svg b/images/en/myblocks/myblocksgroup.svg index 3810eff..3854efe 100644 --- a/images/en/myblocks/myblocksgroup.svg +++ b/images/en/myblocks/myblocksgroup.svg @@ -1,247 +1,239 @@ + - + height="500" + id="svg2"> + + style="stop-color:#ffffff;stop-opacity:1" + offset="0" /> + style="stop-color:#ffff00;stop-opacity:1" + offset="1" /> - - - - - + id="linearGradient3886"> + + + + x1="210" + y1="10.5" + x2="0" + y2="10.5" + id="linearGradient4150" + xlink:href="#linearGradient3886" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.67,0,0,0.67,37.343845,352.88201)" /> + d="M 0.5594301,0.5 L 0.49711997,486.41023 L 3.6209793,493.14297 L 8.494839,497.1072 L 15.156388,499.50288 L 128.9813,499.50288 L 135.82978,496.93866 L 141.77903,492.04729 L 144.50288,483.79171 L 144.54057,0.5 L 0.5594301,0.5 z" /> + y="169.35913" + id="rect20" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + y="170.49942" + id="rect22" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + y="171.49832" + id="rect24" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#ffffc4;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect26" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect28" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect30" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect4001" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> - + transform="translate(1.375,47.250977)" /> + X + y="490" + style="font-size:12px">X + + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> MyBlocks - + d="M 69.731407,56.40254 L 69.731407,56.40254 L 43.730107,71.73664 L 43.730107,71.73664 L 43.730107,74.40344 L 30.396107,74.40344 L 30.396107,71.73664 C 30.396107,71.73664 4.3948068,56.40254 4.3948068,56.40254 C 4.3948068,56.40254 37.063107,38.40164 37.063107,38.40164 C 37.063107,38.40164 69.731407,56.40254 69.731407,56.40254 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> stack1 + style="font-size:11px">stack1 + d="M 113.81428,42.40184 C 124.48148,42.40184 124.48148,42.40184 124.48148,42.40184 C 124.48148,42.40184 127.23615,44.059625 128.14833,45.06864 C 129.08003,46.099241 130.48178,49.06884 130.48178,49.06884 L 130.48178,61.73614 C 130.48178,61.73614 129.00368,64.198699 128.14833,65.06964 C 127.19525,66.040108 124.48148,67.73644 124.48148,67.73644 L 113.14758,67.73644 L 113.14758,67.73644 L 113.14758,70.40324 L 99.813583,70.40324 L 99.813583,67.73644 L 88.479683,67.73644 C 88.479683,67.73644 85.765921,66.040108 84.812833,65.06964 C 83.95749,64.198699 82.479383,61.73614 82.479383,61.73614 L 82.479383,49.06884 C 82.479383,49.06884 83.881139,46.099241 84.812833,45.06864 C 85.725013,44.059625 88.479683,42.40184 88.479683,42.40184 L 99.146883,42.40184 L 99.146883,45.73534 L 113.81428,45.73534 L 113.81428,42.40184 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + + stack1 + + d="M 69.731407,99.66337 L 69.731407,99.66337 L 43.730107,114.99747 L 43.730107,114.99747 L 43.730107,117.66427 L 30.396107,117.66427 L 30.396107,114.99747 C 30.396107,114.99747 4.3948068,99.66337 4.3948068,99.66337 C 4.3948068,99.66337 37.063107,81.662473 37.063107,81.662473 C 37.063107,81.662473 69.731407,99.66337 69.731407,99.66337 z" + id="path51" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> stack2 + y="104" + style="font-size:11px">stack2 + d="M 113.81428,85.662673 C 124.48148,85.662673 124.48148,85.662673 124.48148,85.662673 C 124.48148,85.662673 127.23615,87.320458 128.14833,88.329473 C 129.08003,89.360074 130.48178,92.32967 130.48178,92.32967 L 130.48178,104.99697 C 130.48178,104.99697 129.00368,107.45953 128.14833,108.33047 C 127.19525,109.30094 124.48148,110.99727 124.48148,110.99727 L 113.14758,110.99727 L 113.14758,110.99727 L 113.14758,113.66407 L 99.813583,113.66407 L 99.813583,110.99727 L 88.479683,110.99727 C 88.479683,110.99727 85.765921,109.30094 84.812833,108.33047 C 83.95749,107.45953 82.479383,104.99697 82.479383,104.99697 L 82.479383,92.32967 C 82.479383,92.32967 83.881139,89.360074 84.812833,88.329473 C 85.725013,87.320458 88.479683,85.662673 88.479683,85.662673 L 99.146883,85.662673 L 99.146883,88.996173 L 113.81428,88.996173 L 113.81428,85.662673 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> stack1 + y="104" + style="font-size:11px">stack2 + d="M 36.388307,126.04559 L 4.2283068,143.46559 L 29.688307,158.20559 L 29.688307,160.88559 L 43.088307,160.88559 L 43.088307,158.20559 L 52.489244,154.18559 L 63.523307,154.18559 L 63.523307,150.63573 L 57.158307,150.68712 L 57.158307,145.81059 L 54.813307,145.81059 L 54.813307,141.12059 L 57.158307,141.12059 L 57.158307,136.09559 L 63.523307,136.09559 L 63.523307,133.08059 L 50.616924,133.08059 L 36.388307,126.04559 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:0.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> stack2 + x="34" + y="147" + style="font-size:11px">stack + + + + stack + transform="matrix(0.6667,0,0,0.6667,7.4928819,186.05911)"> + d="M 39.494482,180.89218 C 50.161682,180.89218 50.161682,180.89218 50.161682,180.89218 L 53.828532,183.55898 L 56.161982,187.55918 L 56.161982,210.22698 L 53.828532,214.22718 L 50.161682,216.89398 L 38.827782,216.89398 L 38.827782,216.89398 L 38.827782,219.56078 L 25.493782,219.56078 L 25.493782,216.89398 L 14.159882,216.89398 L 10.493032,214.22718 L 8.1595819,210.22698 L 8.1595819,187.55918 L 10.493032,183.55898 L 14.159882,180.89218 L 24.827082,180.89218 L 24.827082,184.22568 L 39.494482,184.22568 L 39.494482,180.89218 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> store in + y="198" + style="font-size:11px">store in + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> box1 + y="210" + style="font-size:11px">box1 + + + + box1 + transform="matrix(0.6667,0,0,0.6667,7.4928819,232.48628)"> @@ -250,40 +242,77 @@ style="fill:#f0e000;fill-opacity:1;stroke:#a08000;stroke-width:1.5;stroke-opacity:1" /> + d="M 39.494482,227.31936 C 50.161682,227.31936 50.161682,227.31936 50.161682,227.31936 L 53.828532,229.98616 L 56.161982,233.98636 L 56.161982,256.65416 L 53.828532,260.65436 L 50.161682,263.32116 L 38.827782,263.32116 L 38.827782,263.32116 L 38.827782,265.98796 L 25.493782,265.98796 L 25.493782,263.32116 L 14.159882,263.32116 L 10.493032,260.65436 L 8.1595819,256.65416 L 8.1595819,233.98636 L 10.493032,229.98616 L 14.159882,227.31936 L 24.827082,227.31936 L 24.827082,230.65286 L 39.494482,230.65286 L 39.494482,227.31936 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> store in + y="245" + style="font-size:11px">store in + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> box2 + y="257" + style="font-size:11px">box2 + d="M 70.522547,239.98666 L 73.856047,239.98666 L 73.856047,242.65346 L 78.522947,242.65346 L 78.522947,239.98666 L 139.526,239.98666 L 139.526,253.32066 L 78.522947,253.32066 L 78.522947,250.65386 L 73.856047,250.65386 L 73.856047,253.32066 L 70.522547,253.32066 L 70.522547,239.98666 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> box1 + y="250" + style="font-size:11px">box2 + d="M 14.77211,274.07291 C 13.543777,274.96624 12.315443,275.85958 11.08711,276.75291 C 10.305443,278.09291 9.5237767,279.43291 8.74211,280.77291 L 8.74211,333.03291 C 9.5237767,334.37291 10.305443,335.71291 11.08711,337.05291 C 12.315443,337.94624 13.543777,338.83958 14.77211,339.73291 L 26.16211,339.73291 L 26.16211,342.41291 L 39.56211,342.41291 L 39.56211,339.73291 L 50.95211,339.73291 C 52.180443,338.83958 53.408777,337.94624 54.63711,337.05291 C 55.418777,335.71291 56.200443,334.37291 56.98211,333.03291 L 56.98211,330.68791 L 61.316173,330.68791 L 65.880548,330.68791 L 65.880548,328.17541 L 59.66211,328.17541 L 59.66211,323.31791 L 56.98211,323.31791 L 56.98211,318.29291 L 59.66211,318.29291 L 59.66211,313.26791 L 65.880548,313.26791 L 65.880548,310.92291 L 56.98211,310.92291 L 56.98211,301.71041 L 66.02711,301.71041 L 66.02711,297.69041 L 63.34711,297.69041 L 63.34711,299.70041 L 56.98211,299.70041 L 56.98211,285.29541 L 63.34711,285.29541 L 63.34711,287.30541 L 66.02711,287.30541 L 66.02711,283.28541 L 56.98211,283.28541 L 56.98211,280.77291 C 56.200443,279.43291 55.418777,278.09291 54.63711,276.75291 C 53.408777,275.85958 52.180443,274.96624 50.95211,274.07291 C 50.95211,274.07291 50.95211,274.07291 40.23211,274.07291 L 40.23211,277.42291 L 25.49211,277.42291 L 25.49211,274.07291 L 14.77211,274.07291 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> box2 + x="33" + y="294" + style="font-size:12px">store + + in + + + box + + + + box + + + + + name + + diff --git a/images/en/myblocks/myblocksmask.svg b/images/en/myblocks/myblocksmask.svg index 2a2c6a3..77b82ba 100644 --- a/images/en/myblocks/myblocksmask.svg +++ b/images/en/myblocks/myblocksmask.svg @@ -1,15 +1,16 @@ + y="30" /> - - - - - - - - - - - - - - - - + d="M 0,470 L 0,486 L 3,493 L 8,497 L 15,499 L 129,499 L 136,497 L 142,492 L 145,484 L 145,470 L 0,470 z" /> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/en/myblocks/stack.svg b/images/en/myblocks/stack.svg new file mode 100644 index 0000000..949d83c --- /dev/null +++ b/images/en/myblocks/stack.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + stack + + diff --git a/images/en/myblocks/storeinbox.svg b/images/en/myblocks/storeinbox.svg new file mode 100644 index 0000000..33f01be --- /dev/null +++ b/images/en/myblocks/storeinbox.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + store + + + in + + + box + + diff --git a/images/en/myblocks/storeinbox1.svg b/images/en/myblocks/storeinbox1.svg index 1345d23..2e7101c 100644 --- a/images/en/myblocks/storeinbox1.svg +++ b/images/en/myblocks/storeinbox1.svg @@ -3,7 +3,7 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="87" - height="59" + height="60" version="1.0"> + + + + + + + + + + + + + diff --git a/images/es/maskstring.svg b/images/es/maskstring.svg new file mode 100644 index 0000000..f3906a5 --- /dev/null +++ b/images/es/maskstring.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/es/myblocks/box.svg b/images/es/myblocks/box.svg new file mode 100644 index 0000000..048c558 --- /dev/null +++ b/images/es/myblocks/box.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + caja + + + diff --git a/images/es/myblocks/hat.svg b/images/es/myblocks/hat.svg new file mode 100644 index 0000000..e7fbaa1 --- /dev/null +++ b/images/es/myblocks/hat.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + pila + + diff --git a/images/es/myblocks/myblocksgroup.svg b/images/es/myblocks/myblocksgroup.svg index 4313767..4b68e43 100644 --- a/images/es/myblocks/myblocksgroup.svg +++ b/images/es/myblocks/myblocksgroup.svg @@ -1,254 +1,246 @@ + - + height="500" + id="svg2"> + + style="stop-color:#ffffff;stop-opacity:1" + offset="0" /> + style="stop-color:#ffff00;stop-opacity:1" + offset="1" /> - - - - - + id="linearGradient3886"> + + + + x1="210" + y1="10.5" + x2="0" + y2="10.5" + id="linearGradient4150" + xlink:href="#linearGradient3886" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.67,0,0,0.67,37.343845,352.88201)" /> + d="M 0.5594301,0.5 L 0.49711997,486.41023 L 3.6209793,493.14297 L 8.494839,497.1072 L 15.156388,499.50288 L 128.9813,499.50288 L 135.82978,496.93866 L 141.77903,492.04729 L 144.50288,483.79171 L 144.54057,0.5 L 0.5594301,0.5 z" /> + y="169.35913" + id="rect20" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + y="170.49942" + id="rect22" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + y="171.49832" + id="rect24" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#ffffc4;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect26" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect28" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect30" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect4001" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> - + transform="translate(1.375,47.250977)" /> + X + y="490" + style="font-size:12px">X + + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> Mis bloques + style="font-size:20px">Mis Bloques - + d="M 69.731407,56.40254 L 69.731407,56.40254 L 43.730107,71.73664 L 43.730107,71.73664 L 43.730107,74.40344 L 30.396107,74.40344 L 30.396107,71.73664 C 30.396107,71.73664 4.3948068,56.40254 4.3948068,56.40254 C 4.3948068,56.40254 37.063107,38.40164 37.063107,38.40164 C 37.063107,38.40164 69.731407,56.40254 69.731407,56.40254 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pila1 + style="font-size:11px">pila1 + d="M 113.81428,42.40184 C 124.48148,42.40184 124.48148,42.40184 124.48148,42.40184 C 124.48148,42.40184 127.23615,44.059625 128.14833,45.06864 C 129.08003,46.099241 130.48178,49.06884 130.48178,49.06884 L 130.48178,61.73614 C 130.48178,61.73614 129.00368,64.198699 128.14833,65.06964 C 127.19525,66.040108 124.48148,67.73644 124.48148,67.73644 L 113.14758,67.73644 L 113.14758,67.73644 L 113.14758,70.40324 L 99.813583,70.40324 L 99.813583,67.73644 L 88.479683,67.73644 C 88.479683,67.73644 85.765921,66.040108 84.812833,65.06964 C 83.95749,64.198699 82.479383,61.73614 82.479383,61.73614 L 82.479383,49.06884 C 82.479383,49.06884 83.881139,46.099241 84.812833,45.06864 C 85.725013,44.059625 88.479683,42.40184 88.479683,42.40184 L 99.146883,42.40184 L 99.146883,45.73534 L 113.81428,45.73534 L 113.81428,42.40184 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + + pila1 + + d="M 69.731407,99.66337 L 69.731407,99.66337 L 43.730107,114.99747 L 43.730107,114.99747 L 43.730107,117.66427 L 30.396107,117.66427 L 30.396107,114.99747 C 30.396107,114.99747 4.3948068,99.66337 4.3948068,99.66337 C 4.3948068,99.66337 37.063107,81.662473 37.063107,81.662473 C 37.063107,81.662473 69.731407,99.66337 69.731407,99.66337 z" + id="path51" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pila2 + y="104" + style="font-size:11px">pila2 + d="M 113.81428,85.662673 C 124.48148,85.662673 124.48148,85.662673 124.48148,85.662673 C 124.48148,85.662673 127.23615,87.320458 128.14833,88.329473 C 129.08003,89.360074 130.48178,92.32967 130.48178,92.32967 L 130.48178,104.99697 C 130.48178,104.99697 129.00368,107.45953 128.14833,108.33047 C 127.19525,109.30094 124.48148,110.99727 124.48148,110.99727 L 113.14758,110.99727 L 113.14758,110.99727 L 113.14758,113.66407 L 99.813583,113.66407 L 99.813583,110.99727 L 88.479683,110.99727 C 88.479683,110.99727 85.765921,109.30094 84.812833,108.33047 C 83.95749,107.45953 82.479383,104.99697 82.479383,104.99697 L 82.479383,92.32967 C 82.479383,92.32967 83.881139,89.360074 84.812833,88.329473 C 85.725013,87.320458 88.479683,85.662673 88.479683,85.662673 L 99.146883,85.662673 L 99.146883,88.996173 L 113.81428,88.996173 L 113.81428,85.662673 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pila1 + y="104" + style="font-size:11px">pila2 + d="M 36.388307,126.04559 L 4.2283068,143.46559 L 29.688307,158.20559 L 29.688307,160.88559 L 43.088307,160.88559 L 43.088307,158.20559 L 52.489244,154.18559 L 63.523307,154.18559 L 63.523307,150.63573 L 57.158307,150.68712 L 57.158307,145.81059 L 54.813307,145.81059 L 54.813307,141.12059 L 57.158307,141.12059 L 57.158307,136.09559 L 63.523307,136.09559 L 63.523307,133.08059 L 50.616924,133.08059 L 36.388307,126.04559 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:0.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pila2 + x="34" + y="147" + style="font-size:11px">pila + + + + pila + transform="matrix(0.6667,0,0,0.6667,7.4928819,186.05911)"> + d="M 39.494482,180.89218 C 50.161682,180.89218 50.161682,180.89218 50.161682,180.89218 L 53.828532,183.55898 L 56.161982,187.55918 L 56.161982,210.22698 L 53.828532,214.22718 L 50.161682,216.89398 L 38.827782,216.89398 L 38.827782,216.89398 L 38.827782,219.56078 L 25.493782,219.56078 L 25.493782,216.89398 L 14.159882,216.89398 L 10.493032,214.22718 L 8.1595819,210.22698 L 8.1595819,187.55918 L 10.493032,183.55898 L 14.159882,180.89218 L 24.827082,180.89218 L 24.827082,184.22568 L 39.494482,184.22568 L 39.494482,180.89218 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> poner + y="196" + style="font-size:11px">poner + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> en + y="204" + style="font-size:11px">en + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> caja1 + y="212" + style="font-size:11px">caja1 + + + + caja1 + transform="matrix(0.6667,0,0,0.6667,7.4928819,232.48628)"> @@ -257,47 +249,84 @@ style="fill:#f0e000;fill-opacity:1;stroke:#a08000;stroke-width:1.5;stroke-opacity:1" /> + d="M 39.494482,227.31936 C 50.161682,227.31936 50.161682,227.31936 50.161682,227.31936 L 53.828532,229.98616 L 56.161982,233.98636 L 56.161982,256.65416 L 53.828532,260.65436 L 50.161682,263.32116 L 38.827782,263.32116 L 38.827782,263.32116 L 38.827782,265.98796 L 25.493782,265.98796 L 25.493782,263.32116 L 14.159882,263.32116 L 10.493032,260.65436 L 8.1595819,256.65416 L 8.1595819,233.98636 L 10.493032,229.98616 L 14.159882,227.31936 L 24.827082,227.31936 L 24.827082,230.65286 L 39.494482,230.65286 L 39.494482,227.31936 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> poner + y="243" + style="font-size:11px">poner + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> en + y="251" + style="font-size:11px">en + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> caja2 + y="259" + style="font-size:11px">caja2 + d="M 70.522547,239.98666 L 73.856047,239.98666 L 73.856047,242.65346 L 78.522947,242.65346 L 78.522947,239.98666 L 139.526,239.98666 L 139.526,253.32066 L 78.522947,253.32066 L 78.522947,250.65386 L 73.856047,250.65386 L 73.856047,253.32066 L 70.522547,253.32066 L 70.522547,239.98666 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> caja1 + y="250" + style="font-size:11px">caja2 + d="M 14.77211,274.07291 C 13.543777,274.96624 12.315443,275.85958 11.08711,276.75291 C 10.305443,278.09291 9.5237767,279.43291 8.74211,280.77291 L 8.74211,333.03291 C 9.5237767,334.37291 10.305443,335.71291 11.08711,337.05291 C 12.315443,337.94624 13.543777,338.83958 14.77211,339.73291 L 26.16211,339.73291 L 26.16211,342.41291 L 39.56211,342.41291 L 39.56211,339.73291 L 50.95211,339.73291 C 52.180443,338.83958 53.408777,337.94624 54.63711,337.05291 C 55.418777,335.71291 56.200443,334.37291 56.98211,333.03291 L 56.98211,330.68791 L 61.316173,330.68791 L 65.880548,330.68791 L 65.880548,328.17541 L 59.66211,328.17541 L 59.66211,323.31791 L 56.98211,323.31791 L 56.98211,318.29291 L 59.66211,318.29291 L 59.66211,313.26791 L 65.880548,313.26791 L 65.880548,310.92291 L 56.98211,310.92291 L 56.98211,301.71041 L 66.02711,301.71041 L 66.02711,297.69041 L 63.34711,297.69041 L 63.34711,299.70041 L 56.98211,299.70041 L 56.98211,285.29541 L 63.34711,285.29541 L 63.34711,287.30541 L 66.02711,287.30541 L 66.02711,283.28541 L 56.98211,283.28541 L 56.98211,280.77291 C 56.200443,279.43291 55.418777,278.09291 54.63711,276.75291 C 53.408777,275.85958 52.180443,274.96624 50.95211,274.07291 C 50.95211,274.07291 50.95211,274.07291 40.23211,274.07291 L 40.23211,277.42291 L 25.49211,277.42291 L 25.49211,274.07291 L 14.77211,274.07291 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> caja2 + x="33" + y="299" + style="font-size:12px">poner + + + en + + + caja + + + caja + + + + + nombre + + diff --git a/images/es/myblocks/myblocksmask.svg b/images/es/myblocks/myblocksmask.svg index 2a2c6a3..77b82ba 100644 --- a/images/es/myblocks/myblocksmask.svg +++ b/images/es/myblocks/myblocksmask.svg @@ -1,15 +1,16 @@ + y="30" /> - - - - - - - - - - - - - - - - + d="M 0,470 L 0,486 L 3,493 L 8,497 L 15,499 L 129,499 L 136,497 L 142,492 L 145,484 L 145,470 L 0,470 z" /> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/es/myblocks/stack.svg b/images/es/myblocks/stack.svg new file mode 100644 index 0000000..b237c23 --- /dev/null +++ b/images/es/myblocks/stack.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + pila + + diff --git a/images/es/myblocks/storeinbox.svg b/images/es/myblocks/storeinbox.svg new file mode 100644 index 0000000..2e4c4f3 --- /dev/null +++ b/images/es/myblocks/storeinbox.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + poner + + + en + + + caja + + diff --git a/images/es/myblocks/storeinbox1.svg b/images/es/myblocks/storeinbox1.svg index 2dac37e..05527e4 100644 --- a/images/es/myblocks/storeinbox1.svg +++ b/images/es/myblocks/storeinbox1.svg @@ -3,7 +3,7 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="87" - height="59" + height="60" version="1.0"> + + + + + + + + + + + + + diff --git a/images/fi/maskstring.svg b/images/fi/maskstring.svg new file mode 100644 index 0000000..f3906a5 --- /dev/null +++ b/images/fi/maskstring.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/fi/myblocks/box.svg b/images/fi/myblocks/box.svg new file mode 100644 index 0000000..6f3d320 --- /dev/null +++ b/images/fi/myblocks/box.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + laatik- + + + ko + + + diff --git a/images/fi/myblocks/hat.svg b/images/fi/myblocks/hat.svg new file mode 100644 index 0000000..156f2f3 --- /dev/null +++ b/images/fi/myblocks/hat.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + pino + + diff --git a/images/fi/myblocks/myblocksgroup.svg b/images/fi/myblocks/myblocksgroup.svg index 7d3d1d5..12a3c8b 100644 --- a/images/fi/myblocks/myblocksgroup.svg +++ b/images/fi/myblocks/myblocksgroup.svg @@ -1,254 +1,246 @@ + - + height="500" + id="svg2"> + + style="stop-color:#ffffff;stop-opacity:1" + offset="0" /> + style="stop-color:#ffff00;stop-opacity:1" + offset="1" /> - - - - - + id="linearGradient3886"> + + + + x1="210" + y1="10.5" + x2="0" + y2="10.5" + id="linearGradient4150" + xlink:href="#linearGradient3886" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.67,0,0,0.67,37.343845,352.88201)" /> + d="M 0.5594301,0.5 L 0.49711997,486.41023 L 3.6209793,493.14297 L 8.494839,497.1072 L 15.156388,499.50288 L 128.9813,499.50288 L 135.82978,496.93866 L 141.77903,492.04729 L 144.50288,483.79171 L 144.54057,0.5 L 0.5594301,0.5 z" /> + y="169.35913" + id="rect20" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + y="170.49942" + id="rect22" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + y="171.49832" + id="rect24" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#ffffc4;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect26" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect28" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect30" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect4001" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> - + transform="translate(1.375,47.250977)" /> + X + y="490" + style="font-size:12px">X + + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> Minun lohkoni - + d="M 69.731407,56.40254 L 69.731407,56.40254 L 43.730107,71.73664 L 43.730107,71.73664 L 43.730107,74.40344 L 30.396107,74.40344 L 30.396107,71.73664 C 30.396107,71.73664 4.3948068,56.40254 4.3948068,56.40254 C 4.3948068,56.40254 37.063107,38.40164 37.063107,38.40164 C 37.063107,38.40164 69.731407,56.40254 69.731407,56.40254 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pino1 + style="font-size:11px">pino1 + d="M 113.81428,42.40184 C 124.48148,42.40184 124.48148,42.40184 124.48148,42.40184 C 124.48148,42.40184 127.23615,44.059625 128.14833,45.06864 C 129.08003,46.099241 130.48178,49.06884 130.48178,49.06884 L 130.48178,61.73614 C 130.48178,61.73614 129.00368,64.198699 128.14833,65.06964 C 127.19525,66.040108 124.48148,67.73644 124.48148,67.73644 L 113.14758,67.73644 L 113.14758,67.73644 L 113.14758,70.40324 L 99.813583,70.40324 L 99.813583,67.73644 L 88.479683,67.73644 C 88.479683,67.73644 85.765921,66.040108 84.812833,65.06964 C 83.95749,64.198699 82.479383,61.73614 82.479383,61.73614 L 82.479383,49.06884 C 82.479383,49.06884 83.881139,46.099241 84.812833,45.06864 C 85.725013,44.059625 88.479683,42.40184 88.479683,42.40184 L 99.146883,42.40184 L 99.146883,45.73534 L 113.81428,45.73534 L 113.81428,42.40184 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + + pino1 + + d="M 69.731407,99.66337 L 69.731407,99.66337 L 43.730107,114.99747 L 43.730107,114.99747 L 43.730107,117.66427 L 30.396107,117.66427 L 30.396107,114.99747 C 30.396107,114.99747 4.3948068,99.66337 4.3948068,99.66337 C 4.3948068,99.66337 37.063107,81.662473 37.063107,81.662473 C 37.063107,81.662473 69.731407,99.66337 69.731407,99.66337 z" + id="path51" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pino2 + y="104" + style="font-size:11px">pino2 + d="M 113.81428,85.662673 C 124.48148,85.662673 124.48148,85.662673 124.48148,85.662673 C 124.48148,85.662673 127.23615,87.320458 128.14833,88.329473 C 129.08003,89.360074 130.48178,92.32967 130.48178,92.32967 L 130.48178,104.99697 C 130.48178,104.99697 129.00368,107.45953 128.14833,108.33047 C 127.19525,109.30094 124.48148,110.99727 124.48148,110.99727 L 113.14758,110.99727 L 113.14758,110.99727 L 113.14758,113.66407 L 99.813583,113.66407 L 99.813583,110.99727 L 88.479683,110.99727 C 88.479683,110.99727 85.765921,109.30094 84.812833,108.33047 C 83.95749,107.45953 82.479383,104.99697 82.479383,104.99697 L 82.479383,92.32967 C 82.479383,92.32967 83.881139,89.360074 84.812833,88.329473 C 85.725013,87.320458 88.479683,85.662673 88.479683,85.662673 L 99.146883,85.662673 L 99.146883,88.996173 L 113.81428,88.996173 L 113.81428,85.662673 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pino1 + y="104" + style="font-size:11px">pino2 + d="M 36.388307,126.04559 L 4.2283068,143.46559 L 29.688307,158.20559 L 29.688307,160.88559 L 43.088307,160.88559 L 43.088307,158.20559 L 52.489244,154.18559 L 63.523307,154.18559 L 63.523307,150.63573 L 57.158307,150.68712 L 57.158307,145.81059 L 54.813307,145.81059 L 54.813307,141.12059 L 57.158307,141.12059 L 57.158307,136.09559 L 63.523307,136.09559 L 63.523307,133.08059 L 50.616924,133.08059 L 36.388307,126.04559 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:0.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pino2 + x="34" + y="147" + style="font-size:11px">pino + + + + pino + transform="matrix(0.6667,0,0,0.6667,7.4928819,186.05911)"> + d="M 39.494482,180.89218 C 50.161682,180.89218 50.161682,180.89218 50.161682,180.89218 L 53.828532,183.55898 L 56.161982,187.55918 L 56.161982,210.22698 L 53.828532,214.22718 L 50.161682,216.89398 L 38.827782,216.89398 L 38.827782,216.89398 L 38.827782,219.56078 L 25.493782,219.56078 L 25.493782,216.89398 L 14.159882,216.89398 L 10.493032,214.22718 L 8.1595819,210.22698 L 8.1595819,187.55918 L 10.493032,183.55898 L 14.159882,180.89218 L 24.827082,180.89218 L 24.827082,184.22568 L 39.494482,184.22568 L 39.494482,180.89218 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> säilytä + y="196" + style="font-size:11px">säilytä + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> laati- + y="204" + style="font-size:11px">laati- + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> kossa1 + y="212" + style="font-size:11px">kossa1 + + + + laatikko1 + transform="matrix(0.6667,0,0,0.6667,7.4928819,232.48628)"> @@ -257,47 +249,91 @@ style="fill:#f0e000;fill-opacity:1;stroke:#a08000;stroke-width:1.5;stroke-opacity:1" /> + d="M 39.494482,227.31936 C 50.161682,227.31936 50.161682,227.31936 50.161682,227.31936 L 53.828532,229.98616 L 56.161982,233.98636 L 56.161982,256.65416 L 53.828532,260.65436 L 50.161682,263.32116 L 38.827782,263.32116 L 38.827782,263.32116 L 38.827782,265.98796 L 25.493782,265.98796 L 25.493782,263.32116 L 14.159882,263.32116 L 10.493032,260.65436 L 8.1595819,256.65416 L 8.1595819,233.98636 L 10.493032,229.98616 L 14.159882,227.31936 L 24.827082,227.31936 L 24.827082,230.65286 L 39.494482,230.65286 L 39.494482,227.31936 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> säilytä + y="243" + style="font-size:11px">säilytä + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> laati- + y="251" + style="font-size:11px">laati- + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> kossa2 + y="259" + style="font-size:11px">kossa2 + d="M 70.522547,239.98666 L 73.856047,239.98666 L 73.856047,242.65346 L 78.522947,242.65346 L 78.522947,239.98666 L 139.526,239.98666 L 139.526,253.32066 L 78.522947,253.32066 L 78.522947,250.65386 L 73.856047,250.65386 L 73.856047,253.32066 L 70.522547,253.32066 L 70.522547,239.98666 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> laatikko1 + y="250" + style="font-size:11px">laatikko2 + d="M 14.77211,274.07291 C 13.543777,274.96624 12.315443,275.85958 11.08711,276.75291 C 10.305443,278.09291 9.5237767,279.43291 8.74211,280.77291 L 8.74211,333.03291 C 9.5237767,334.37291 10.305443,335.71291 11.08711,337.05291 C 12.315443,337.94624 13.543777,338.83958 14.77211,339.73291 L 26.16211,339.73291 L 26.16211,342.41291 L 39.56211,342.41291 L 39.56211,339.73291 L 50.95211,339.73291 C 52.180443,338.83958 53.408777,337.94624 54.63711,337.05291 C 55.418777,335.71291 56.200443,334.37291 56.98211,333.03291 L 56.98211,330.68791 L 61.316173,330.68791 L 65.880548,330.68791 L 65.880548,328.17541 L 59.66211,328.17541 L 59.66211,323.31791 L 56.98211,323.31791 L 56.98211,318.29291 L 59.66211,318.29291 L 59.66211,313.26791 L 65.880548,313.26791 L 65.880548,310.92291 L 56.98211,310.92291 L 56.98211,301.71041 L 66.02711,301.71041 L 66.02711,297.69041 L 63.34711,297.69041 L 63.34711,299.70041 L 56.98211,299.70041 L 56.98211,285.29541 L 63.34711,285.29541 L 63.34711,287.30541 L 66.02711,287.30541 L 66.02711,283.28541 L 56.98211,283.28541 L 56.98211,280.77291 C 56.200443,279.43291 55.418777,278.09291 54.63711,276.75291 C 53.408777,275.85958 52.180443,274.96624 50.95211,274.07291 C 50.95211,274.07291 50.95211,274.07291 40.23211,274.07291 L 40.23211,277.42291 L 25.49211,277.42291 L 25.49211,274.07291 L 14.77211,274.07291 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> laatikko2 + x="33" + y="299" + style="font-size:12px">säilytä + + + latti- + + + kossa + + + laatik- + + + ko + + + + + nimi + + diff --git a/images/fi/myblocks/myblocksmask.svg b/images/fi/myblocks/myblocksmask.svg index 2a2c6a3..77b82ba 100644 --- a/images/fi/myblocks/myblocksmask.svg +++ b/images/fi/myblocks/myblocksmask.svg @@ -1,15 +1,16 @@ + y="30" /> - - - - - - - - - - - - - - - - + d="M 0,470 L 0,486 L 3,493 L 8,497 L 15,499 L 129,499 L 136,497 L 142,492 L 145,484 L 145,470 L 0,470 z" /> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/fi/myblocks/stack.svg b/images/fi/myblocks/stack.svg new file mode 100644 index 0000000..2ba4e11 --- /dev/null +++ b/images/fi/myblocks/stack.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + pino + + diff --git a/images/fi/myblocks/storeinbox.svg b/images/fi/myblocks/storeinbox.svg new file mode 100644 index 0000000..2b31c88 --- /dev/null +++ b/images/fi/myblocks/storeinbox.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + säilytä + + + laati- + + + kossa + + diff --git a/images/fi/myblocks/storeinbox1.svg b/images/fi/myblocks/storeinbox1.svg index 389be10..997ca15 100644 --- a/images/fi/myblocks/storeinbox1.svg +++ b/images/fi/myblocks/storeinbox1.svg @@ -3,7 +3,7 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="87" - height="59" + height="60" version="1.0"> + + + + + + + + + + + + + diff --git a/images/fr/maskstring.svg b/images/fr/maskstring.svg new file mode 100644 index 0000000..f3906a5 --- /dev/null +++ b/images/fr/maskstring.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/fr/myblocks/box.svg b/images/fr/myblocks/box.svg new file mode 100644 index 0000000..f1ef2d8 --- /dev/null +++ b/images/fr/myblocks/box.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + boîte + + + diff --git a/images/fr/myblocks/hat.svg b/images/fr/myblocks/hat.svg new file mode 100644 index 0000000..7d22f8f --- /dev/null +++ b/images/fr/myblocks/hat.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + pile + + diff --git a/images/fr/myblocks/myblocksgroup.svg b/images/fr/myblocks/myblocksgroup.svg index e9ffc3e..05eff41 100644 --- a/images/fr/myblocks/myblocksgroup.svg +++ b/images/fr/myblocks/myblocksgroup.svg @@ -1,254 +1,246 @@ + - + height="500" + id="svg2"> + + style="stop-color:#ffffff;stop-opacity:1" + offset="0" /> + style="stop-color:#ffff00;stop-opacity:1" + offset="1" /> - - - - - + id="linearGradient3886"> + + + + x1="210" + y1="10.5" + x2="0" + y2="10.5" + id="linearGradient4150" + xlink:href="#linearGradient3886" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.67,0,0,0.67,37.343845,352.88201)" /> + d="M 0.5594301,0.5 L 0.49711997,486.41023 L 3.6209793,493.14297 L 8.494839,497.1072 L 15.156388,499.50288 L 128.9813,499.50288 L 135.82978,496.93866 L 141.77903,492.04729 L 144.50288,483.79171 L 144.54057,0.5 L 0.5594301,0.5 z" /> + y="169.35913" + id="rect20" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + y="170.49942" + id="rect22" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + y="171.49832" + id="rect24" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#ffffc4;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect26" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect28" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect30" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect4001" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> - + transform="translate(1.375,47.250977)" /> + X + y="490" + style="font-size:12px">X + + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> Mes blocs + style="font-size:20px">Mes Blocs - + d="M 69.731407,56.40254 L 69.731407,56.40254 L 43.730107,71.73664 L 43.730107,71.73664 L 43.730107,74.40344 L 30.396107,74.40344 L 30.396107,71.73664 C 30.396107,71.73664 4.3948068,56.40254 4.3948068,56.40254 C 4.3948068,56.40254 37.063107,38.40164 37.063107,38.40164 C 37.063107,38.40164 69.731407,56.40254 69.731407,56.40254 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pile1 + style="font-size:11px">pile1 + d="M 113.81428,42.40184 C 124.48148,42.40184 124.48148,42.40184 124.48148,42.40184 C 124.48148,42.40184 127.23615,44.059625 128.14833,45.06864 C 129.08003,46.099241 130.48178,49.06884 130.48178,49.06884 L 130.48178,61.73614 C 130.48178,61.73614 129.00368,64.198699 128.14833,65.06964 C 127.19525,66.040108 124.48148,67.73644 124.48148,67.73644 L 113.14758,67.73644 L 113.14758,67.73644 L 113.14758,70.40324 L 99.813583,70.40324 L 99.813583,67.73644 L 88.479683,67.73644 C 88.479683,67.73644 85.765921,66.040108 84.812833,65.06964 C 83.95749,64.198699 82.479383,61.73614 82.479383,61.73614 L 82.479383,49.06884 C 82.479383,49.06884 83.881139,46.099241 84.812833,45.06864 C 85.725013,44.059625 88.479683,42.40184 88.479683,42.40184 L 99.146883,42.40184 L 99.146883,45.73534 L 113.81428,45.73534 L 113.81428,42.40184 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + + pile1 + + d="M 69.731407,99.66337 L 69.731407,99.66337 L 43.730107,114.99747 L 43.730107,114.99747 L 43.730107,117.66427 L 30.396107,117.66427 L 30.396107,114.99747 C 30.396107,114.99747 4.3948068,99.66337 4.3948068,99.66337 C 4.3948068,99.66337 37.063107,81.662473 37.063107,81.662473 C 37.063107,81.662473 69.731407,99.66337 69.731407,99.66337 z" + id="path51" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pile2 + y="104" + style="font-size:11px">pile2 + d="M 113.81428,85.662673 C 124.48148,85.662673 124.48148,85.662673 124.48148,85.662673 C 124.48148,85.662673 127.23615,87.320458 128.14833,88.329473 C 129.08003,89.360074 130.48178,92.32967 130.48178,92.32967 L 130.48178,104.99697 C 130.48178,104.99697 129.00368,107.45953 128.14833,108.33047 C 127.19525,109.30094 124.48148,110.99727 124.48148,110.99727 L 113.14758,110.99727 L 113.14758,110.99727 L 113.14758,113.66407 L 99.813583,113.66407 L 99.813583,110.99727 L 88.479683,110.99727 C 88.479683,110.99727 85.765921,109.30094 84.812833,108.33047 C 83.95749,107.45953 82.479383,104.99697 82.479383,104.99697 L 82.479383,92.32967 C 82.479383,92.32967 83.881139,89.360074 84.812833,88.329473 C 85.725013,87.320458 88.479683,85.662673 88.479683,85.662673 L 99.146883,85.662673 L 99.146883,88.996173 L 113.81428,88.996173 L 113.81428,85.662673 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pile1 + y="104" + style="font-size:11px">pile2 + d="M 36.388307,126.04559 L 4.2283068,143.46559 L 29.688307,158.20559 L 29.688307,160.88559 L 43.088307,160.88559 L 43.088307,158.20559 L 52.489244,154.18559 L 63.523307,154.18559 L 63.523307,150.63573 L 57.158307,150.68712 L 57.158307,145.81059 L 54.813307,145.81059 L 54.813307,141.12059 L 57.158307,141.12059 L 57.158307,136.09559 L 63.523307,136.09559 L 63.523307,133.08059 L 50.616924,133.08059 L 36.388307,126.04559 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:0.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pile2 + x="34" + y="147" + style="font-size:11px">pile + + + + pile + transform="matrix(0.6667,0,0,0.6667,7.4928819,186.05911)"> + d="M 39.494482,180.89218 C 50.161682,180.89218 50.161682,180.89218 50.161682,180.89218 L 53.828532,183.55898 L 56.161982,187.55918 L 56.161982,210.22698 L 53.828532,214.22718 L 50.161682,216.89398 L 38.827782,216.89398 L 38.827782,216.89398 L 38.827782,219.56078 L 25.493782,219.56078 L 25.493782,216.89398 L 14.159882,216.89398 L 10.493032,214.22718 L 8.1595819,210.22698 L 8.1595819,187.55918 L 10.493032,183.55898 L 14.159882,180.89218 L 24.827082,180.89218 L 24.827082,184.22568 L 39.494482,184.22568 L 39.494482,180.89218 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> range + y="196" + style="font-size:11px">range + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> dans la + y="204" + style="font-size:11px">dans la + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> boîte1 + y="212" + style="font-size:11px">boîte1 + + + + boîte1 + transform="matrix(0.6667,0,0,0.6667,7.4928819,232.48628)"> @@ -257,47 +249,84 @@ style="fill:#f0e000;fill-opacity:1;stroke:#a08000;stroke-width:1.5;stroke-opacity:1" /> + d="M 39.494482,227.31936 C 50.161682,227.31936 50.161682,227.31936 50.161682,227.31936 L 53.828532,229.98616 L 56.161982,233.98636 L 56.161982,256.65416 L 53.828532,260.65436 L 50.161682,263.32116 L 38.827782,263.32116 L 38.827782,263.32116 L 38.827782,265.98796 L 25.493782,265.98796 L 25.493782,263.32116 L 14.159882,263.32116 L 10.493032,260.65436 L 8.1595819,256.65416 L 8.1595819,233.98636 L 10.493032,229.98616 L 14.159882,227.31936 L 24.827082,227.31936 L 24.827082,230.65286 L 39.494482,230.65286 L 39.494482,227.31936 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> range + y="243" + style="font-size:11px">range + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> dans la + y="251" + style="font-size:11px">dans la + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> boîte2 + y="259" + style="font-size:11px">boîte2 + d="M 70.522547,239.98666 L 73.856047,239.98666 L 73.856047,242.65346 L 78.522947,242.65346 L 78.522947,239.98666 L 139.526,239.98666 L 139.526,253.32066 L 78.522947,253.32066 L 78.522947,250.65386 L 73.856047,250.65386 L 73.856047,253.32066 L 70.522547,253.32066 L 70.522547,239.98666 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> boîte1 + y="250" + style="font-size:11px">boîte2 + d="M 14.77211,274.07291 C 13.543777,274.96624 12.315443,275.85958 11.08711,276.75291 C 10.305443,278.09291 9.5237767,279.43291 8.74211,280.77291 L 8.74211,333.03291 C 9.5237767,334.37291 10.305443,335.71291 11.08711,337.05291 C 12.315443,337.94624 13.543777,338.83958 14.77211,339.73291 L 26.16211,339.73291 L 26.16211,342.41291 L 39.56211,342.41291 L 39.56211,339.73291 L 50.95211,339.73291 C 52.180443,338.83958 53.408777,337.94624 54.63711,337.05291 C 55.418777,335.71291 56.200443,334.37291 56.98211,333.03291 L 56.98211,330.68791 L 61.316173,330.68791 L 65.880548,330.68791 L 65.880548,328.17541 L 59.66211,328.17541 L 59.66211,323.31791 L 56.98211,323.31791 L 56.98211,318.29291 L 59.66211,318.29291 L 59.66211,313.26791 L 65.880548,313.26791 L 65.880548,310.92291 L 56.98211,310.92291 L 56.98211,301.71041 L 66.02711,301.71041 L 66.02711,297.69041 L 63.34711,297.69041 L 63.34711,299.70041 L 56.98211,299.70041 L 56.98211,285.29541 L 63.34711,285.29541 L 63.34711,287.30541 L 66.02711,287.30541 L 66.02711,283.28541 L 56.98211,283.28541 L 56.98211,280.77291 C 56.200443,279.43291 55.418777,278.09291 54.63711,276.75291 C 53.408777,275.85958 52.180443,274.96624 50.95211,274.07291 C 50.95211,274.07291 50.95211,274.07291 40.23211,274.07291 L 40.23211,277.42291 L 25.49211,277.42291 L 25.49211,274.07291 L 14.77211,274.07291 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> boîte2 + x="33" + y="299" + style="font-size:12px">range + + + dans la + + + boîte + + + boîte + + + + + nom + + diff --git a/images/fr/myblocks/myblocksmask.svg b/images/fr/myblocks/myblocksmask.svg index 2a2c6a3..77b82ba 100644 --- a/images/fr/myblocks/myblocksmask.svg +++ b/images/fr/myblocks/myblocksmask.svg @@ -1,15 +1,16 @@ + y="30" /> - - - - - - - - - - - - - - - - + d="M 0,470 L 0,486 L 3,493 L 8,497 L 15,499 L 129,499 L 136,497 L 142,492 L 145,484 L 145,470 L 0,470 z" /> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/fr/myblocks/stack.svg b/images/fr/myblocks/stack.svg new file mode 100644 index 0000000..d7bd8c9 --- /dev/null +++ b/images/fr/myblocks/stack.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + pile + + diff --git a/images/fr/myblocks/storeinbox.svg b/images/fr/myblocks/storeinbox.svg new file mode 100644 index 0000000..21edf70 --- /dev/null +++ b/images/fr/myblocks/storeinbox.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + range + + + dans la + + + boîte + + diff --git a/images/fr/myblocks/storeinbox1.svg b/images/fr/myblocks/storeinbox1.svg index d1d6878..7dd75d5 100644 --- a/images/fr/myblocks/storeinbox1.svg +++ b/images/fr/myblocks/storeinbox1.svg @@ -3,7 +3,7 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="87" - height="59" + height="60" version="1.0"> + + + + + + + + + + + + + diff --git a/images/mn/maskstring.svg b/images/mn/maskstring.svg new file mode 100644 index 0000000..f3906a5 --- /dev/null +++ b/images/mn/maskstring.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/mn/myblocks/box.svg b/images/mn/myblocks/box.svg new file mode 100644 index 0000000..4134603 --- /dev/null +++ b/images/mn/myblocks/box.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + богц + + + diff --git a/images/mn/myblocks/hat.svg b/images/mn/myblocks/hat.svg new file mode 100644 index 0000000..b6cf6a5 --- /dev/null +++ b/images/mn/myblocks/hat.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + залгас + + diff --git a/images/mn/myblocks/myblocksgroup.svg b/images/mn/myblocks/myblocksgroup.svg index 74d0e37..725ecd4 100644 --- a/images/mn/myblocks/myblocksgroup.svg +++ b/images/mn/myblocks/myblocksgroup.svg @@ -1,254 +1,246 @@ + - + height="500" + id="svg2"> + + style="stop-color:#ffffff;stop-opacity:1" + offset="0" /> + style="stop-color:#ffff00;stop-opacity:1" + offset="1" /> - - - - - + id="linearGradient3886"> + + + + x1="210" + y1="10.5" + x2="0" + y2="10.5" + id="linearGradient4150" + xlink:href="#linearGradient3886" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.67,0,0,0.67,37.343845,352.88201)" /> + d="M 0.5594301,0.5 L 0.49711997,486.41023 L 3.6209793,493.14297 L 8.494839,497.1072 L 15.156388,499.50288 L 128.9813,499.50288 L 135.82978,496.93866 L 141.77903,492.04729 L 144.50288,483.79171 L 144.54057,0.5 L 0.5594301,0.5 z" /> + y="169.35913" + id="rect20" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + y="170.49942" + id="rect22" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + y="171.49832" + id="rect24" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#ffffc4;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect26" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect28" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect30" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect4001" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> - + transform="translate(1.375,47.250977)" /> + X + y="490" + style="font-size:12px">X + + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> Миний Блокуд + style="font-size:18px">Миний Блокуд - + d="M 69.731407,56.40254 L 69.731407,56.40254 L 43.730107,71.73664 L 43.730107,71.73664 L 43.730107,74.40344 L 30.396107,74.40344 L 30.396107,71.73664 C 30.396107,71.73664 4.3948068,56.40254 4.3948068,56.40254 C 4.3948068,56.40254 37.063107,38.40164 37.063107,38.40164 C 37.063107,38.40164 69.731407,56.40254 69.731407,56.40254 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> залгас1 + style="font-size:11px">залгас1 + d="M 113.81428,42.40184 C 124.48148,42.40184 124.48148,42.40184 124.48148,42.40184 C 124.48148,42.40184 127.23615,44.059625 128.14833,45.06864 C 129.08003,46.099241 130.48178,49.06884 130.48178,49.06884 L 130.48178,61.73614 C 130.48178,61.73614 129.00368,64.198699 128.14833,65.06964 C 127.19525,66.040108 124.48148,67.73644 124.48148,67.73644 L 113.14758,67.73644 L 113.14758,67.73644 L 113.14758,70.40324 L 99.813583,70.40324 L 99.813583,67.73644 L 88.479683,67.73644 C 88.479683,67.73644 85.765921,66.040108 84.812833,65.06964 C 83.95749,64.198699 82.479383,61.73614 82.479383,61.73614 L 82.479383,49.06884 C 82.479383,49.06884 83.881139,46.099241 84.812833,45.06864 C 85.725013,44.059625 88.479683,42.40184 88.479683,42.40184 L 99.146883,42.40184 L 99.146883,45.73534 L 113.81428,45.73534 L 113.81428,42.40184 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + + залгас1 + + d="M 69.731407,99.66337 L 69.731407,99.66337 L 43.730107,114.99747 L 43.730107,114.99747 L 43.730107,117.66427 L 30.396107,117.66427 L 30.396107,114.99747 C 30.396107,114.99747 4.3948068,99.66337 4.3948068,99.66337 C 4.3948068,99.66337 37.063107,81.662473 37.063107,81.662473 C 37.063107,81.662473 69.731407,99.66337 69.731407,99.66337 z" + id="path51" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> залгас2 + y="104" + style="font-size:11px">залгас2 + d="M 113.81428,85.662673 C 124.48148,85.662673 124.48148,85.662673 124.48148,85.662673 C 124.48148,85.662673 127.23615,87.320458 128.14833,88.329473 C 129.08003,89.360074 130.48178,92.32967 130.48178,92.32967 L 130.48178,104.99697 C 130.48178,104.99697 129.00368,107.45953 128.14833,108.33047 C 127.19525,109.30094 124.48148,110.99727 124.48148,110.99727 L 113.14758,110.99727 L 113.14758,110.99727 L 113.14758,113.66407 L 99.813583,113.66407 L 99.813583,110.99727 L 88.479683,110.99727 C 88.479683,110.99727 85.765921,109.30094 84.812833,108.33047 C 83.95749,107.45953 82.479383,104.99697 82.479383,104.99697 L 82.479383,92.32967 C 82.479383,92.32967 83.881139,89.360074 84.812833,88.329473 C 85.725013,87.320458 88.479683,85.662673 88.479683,85.662673 L 99.146883,85.662673 L 99.146883,88.996173 L 113.81428,88.996173 L 113.81428,85.662673 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> залгас1 + y="104" + style="font-size:11px">залгас2 + d="M 36.388307,126.04559 L 4.2283068,143.46559 L 29.688307,158.20559 L 29.688307,160.88559 L 43.088307,160.88559 L 43.088307,158.20559 L 52.489244,154.18559 L 63.523307,154.18559 L 63.523307,150.63573 L 57.158307,150.68712 L 57.158307,145.81059 L 54.813307,145.81059 L 54.813307,141.12059 L 57.158307,141.12059 L 57.158307,136.09559 L 63.523307,136.09559 L 63.523307,133.08059 L 50.616924,133.08059 L 36.388307,126.04559 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:0.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> залгас2 + x="34" + y="147" + style="font-size:11px">залгас + + + + залгас + transform="matrix(0.6667,0,0,0.6667,7.4928819,186.05911)"> + d="M 39.494482,180.89218 C 50.161682,180.89218 50.161682,180.89218 50.161682,180.89218 L 53.828532,183.55898 L 56.161982,187.55918 L 56.161982,210.22698 L 53.828532,214.22718 L 50.161682,216.89398 L 38.827782,216.89398 L 38.827782,216.89398 L 38.827782,219.56078 L 25.493782,219.56078 L 25.493782,216.89398 L 14.159882,216.89398 L 10.493032,214.22718 L 8.1595819,210.22698 L 8.1595819,187.55918 L 10.493032,183.55898 L 14.159882,180.89218 L 24.827082,180.89218 L 24.827082,184.22568 L 39.494482,184.22568 L 39.494482,180.89218 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> богц + y="196" + style="font-size:11px">богц + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> 1-д + y="204" + style="font-size:11px">1-д + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> хадгал + y="212" + style="font-size:11px">хадгал + + + + богц1 + transform="matrix(0.6667,0,0,0.6667,7.4928819,232.48628)"> @@ -257,47 +249,84 @@ style="fill:#f0e000;fill-opacity:1;stroke:#a08000;stroke-width:1.5;stroke-opacity:1" /> + d="M 39.494482,227.31936 C 50.161682,227.31936 50.161682,227.31936 50.161682,227.31936 L 53.828532,229.98616 L 56.161982,233.98636 L 56.161982,256.65416 L 53.828532,260.65436 L 50.161682,263.32116 L 38.827782,263.32116 L 38.827782,263.32116 L 38.827782,265.98796 L 25.493782,265.98796 L 25.493782,263.32116 L 14.159882,263.32116 L 10.493032,260.65436 L 8.1595819,256.65416 L 8.1595819,233.98636 L 10.493032,229.98616 L 14.159882,227.31936 L 24.827082,227.31936 L 24.827082,230.65286 L 39.494482,230.65286 L 39.494482,227.31936 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> богц + y="243" + style="font-size:11px">богц + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> 2-д + y="251" + style="font-size:11px">2-д + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> хадгал + y="259" + style="font-size:11px">хадгал + d="M 70.522547,239.98666 L 73.856047,239.98666 L 73.856047,242.65346 L 78.522947,242.65346 L 78.522947,239.98666 L 139.526,239.98666 L 139.526,253.32066 L 78.522947,253.32066 L 78.522947,250.65386 L 73.856047,250.65386 L 73.856047,253.32066 L 70.522547,253.32066 L 70.522547,239.98666 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> богц1 + y="250" + style="font-size:11px">богц2 + d="M 14.77211,274.07291 C 13.543777,274.96624 12.315443,275.85958 11.08711,276.75291 C 10.305443,278.09291 9.5237767,279.43291 8.74211,280.77291 L 8.74211,333.03291 C 9.5237767,334.37291 10.305443,335.71291 11.08711,337.05291 C 12.315443,337.94624 13.543777,338.83958 14.77211,339.73291 L 26.16211,339.73291 L 26.16211,342.41291 L 39.56211,342.41291 L 39.56211,339.73291 L 50.95211,339.73291 C 52.180443,338.83958 53.408777,337.94624 54.63711,337.05291 C 55.418777,335.71291 56.200443,334.37291 56.98211,333.03291 L 56.98211,330.68791 L 61.316173,330.68791 L 65.880548,330.68791 L 65.880548,328.17541 L 59.66211,328.17541 L 59.66211,323.31791 L 56.98211,323.31791 L 56.98211,318.29291 L 59.66211,318.29291 L 59.66211,313.26791 L 65.880548,313.26791 L 65.880548,310.92291 L 56.98211,310.92291 L 56.98211,301.71041 L 66.02711,301.71041 L 66.02711,297.69041 L 63.34711,297.69041 L 63.34711,299.70041 L 56.98211,299.70041 L 56.98211,285.29541 L 63.34711,285.29541 L 63.34711,287.30541 L 66.02711,287.30541 L 66.02711,283.28541 L 56.98211,283.28541 L 56.98211,280.77291 C 56.200443,279.43291 55.418777,278.09291 54.63711,276.75291 C 53.408777,275.85958 52.180443,274.96624 50.95211,274.07291 C 50.95211,274.07291 50.95211,274.07291 40.23211,274.07291 L 40.23211,277.42291 L 25.49211,277.42291 L 25.49211,274.07291 L 14.77211,274.07291 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> богц2 + x="33" + y="299" + style="font-size:12px">богц + + + д + + + хадгал + + + богц + + + + + name + + diff --git a/images/mn/myblocks/myblocksmask.svg b/images/mn/myblocks/myblocksmask.svg index 2a2c6a3..77b82ba 100644 --- a/images/mn/myblocks/myblocksmask.svg +++ b/images/mn/myblocks/myblocksmask.svg @@ -1,15 +1,16 @@ + y="30" /> - - - - - - - - - - - - - - - - + d="M 0,470 L 0,486 L 3,493 L 8,497 L 15,499 L 129,499 L 136,497 L 142,492 L 145,484 L 145,470 L 0,470 z" /> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/mn/myblocks/stack.svg b/images/mn/myblocks/stack.svg new file mode 100644 index 0000000..4da6029 --- /dev/null +++ b/images/mn/myblocks/stack.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + залгас + + diff --git a/images/mn/myblocks/storeinbox.svg b/images/mn/myblocks/storeinbox.svg new file mode 100644 index 0000000..ef3421a --- /dev/null +++ b/images/mn/myblocks/storeinbox.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + богц + + + д + + + хадгал + + diff --git a/images/mn/myblocks/storeinbox1.svg b/images/mn/myblocks/storeinbox1.svg index d6bd2ba..c6c3f67 100644 --- a/images/mn/myblocks/storeinbox1.svg +++ b/images/mn/myblocks/storeinbox1.svg @@ -3,7 +3,7 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="87" - height="59" + height="60" version="1.0"> + + + + + + + + + + + + + diff --git a/images/pt/maskstring.svg b/images/pt/maskstring.svg new file mode 100644 index 0000000..f3906a5 --- /dev/null +++ b/images/pt/maskstring.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/pt/myblocks/box.svg b/images/pt/myblocks/box.svg new file mode 100644 index 0000000..154cc8e --- /dev/null +++ b/images/pt/myblocks/box.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + caixa + + + diff --git a/images/pt/myblocks/hat.svg b/images/pt/myblocks/hat.svg new file mode 100644 index 0000000..9a5cd87 --- /dev/null +++ b/images/pt/myblocks/hat.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + pilha + + diff --git a/images/pt/myblocks/myblocksgroup.svg b/images/pt/myblocks/myblocksgroup.svg index 8589173..981e9cd 100644 --- a/images/pt/myblocks/myblocksgroup.svg +++ b/images/pt/myblocks/myblocksgroup.svg @@ -1,247 +1,246 @@ + - + height="500" + id="svg2"> + + style="stop-color:#ffffff;stop-opacity:1" + offset="0" /> + style="stop-color:#ffff00;stop-opacity:1" + offset="1" /> - - - - - + id="linearGradient3886"> + + + + x1="210" + y1="10.5" + x2="0" + y2="10.5" + id="linearGradient4150" + xlink:href="#linearGradient3886" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.67,0,0,0.67,37.343845,352.88201)" /> + d="M 0.5594301,0.5 L 0.49711997,486.41023 L 3.6209793,493.14297 L 8.494839,497.1072 L 15.156388,499.50288 L 128.9813,499.50288 L 135.82978,496.93866 L 141.77903,492.04729 L 144.50288,483.79171 L 144.54057,0.5 L 0.5594301,0.5 z" /> + y="169.35913" + id="rect20" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + y="170.49942" + id="rect22" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + y="171.49832" + id="rect24" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#ffffc4;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect26" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect28" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect30" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect4001" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> - + transform="translate(1.375,47.250977)" /> + X + y="490" + style="font-size:12px">X + + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> Os meus blocos - + d="M 69.731407,56.40254 L 69.731407,56.40254 L 43.730107,71.73664 L 43.730107,71.73664 L 43.730107,74.40344 L 30.396107,74.40344 L 30.396107,71.73664 C 30.396107,71.73664 4.3948068,56.40254 4.3948068,56.40254 C 4.3948068,56.40254 37.063107,38.40164 37.063107,38.40164 C 37.063107,38.40164 69.731407,56.40254 69.731407,56.40254 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pilha1 + style="font-size:11px">pilha1 + d="M 113.81428,42.40184 C 124.48148,42.40184 124.48148,42.40184 124.48148,42.40184 C 124.48148,42.40184 127.23615,44.059625 128.14833,45.06864 C 129.08003,46.099241 130.48178,49.06884 130.48178,49.06884 L 130.48178,61.73614 C 130.48178,61.73614 129.00368,64.198699 128.14833,65.06964 C 127.19525,66.040108 124.48148,67.73644 124.48148,67.73644 L 113.14758,67.73644 L 113.14758,67.73644 L 113.14758,70.40324 L 99.813583,70.40324 L 99.813583,67.73644 L 88.479683,67.73644 C 88.479683,67.73644 85.765921,66.040108 84.812833,65.06964 C 83.95749,64.198699 82.479383,61.73614 82.479383,61.73614 L 82.479383,49.06884 C 82.479383,49.06884 83.881139,46.099241 84.812833,45.06864 C 85.725013,44.059625 88.479683,42.40184 88.479683,42.40184 L 99.146883,42.40184 L 99.146883,45.73534 L 113.81428,45.73534 L 113.81428,42.40184 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + + pilha1 + + d="M 69.731407,99.66337 L 69.731407,99.66337 L 43.730107,114.99747 L 43.730107,114.99747 L 43.730107,117.66427 L 30.396107,117.66427 L 30.396107,114.99747 C 30.396107,114.99747 4.3948068,99.66337 4.3948068,99.66337 C 4.3948068,99.66337 37.063107,81.662473 37.063107,81.662473 C 37.063107,81.662473 69.731407,99.66337 69.731407,99.66337 z" + id="path51" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pilha2 + y="104" + style="font-size:11px">pilha2 + d="M 113.81428,85.662673 C 124.48148,85.662673 124.48148,85.662673 124.48148,85.662673 C 124.48148,85.662673 127.23615,87.320458 128.14833,88.329473 C 129.08003,89.360074 130.48178,92.32967 130.48178,92.32967 L 130.48178,104.99697 C 130.48178,104.99697 129.00368,107.45953 128.14833,108.33047 C 127.19525,109.30094 124.48148,110.99727 124.48148,110.99727 L 113.14758,110.99727 L 113.14758,110.99727 L 113.14758,113.66407 L 99.813583,113.66407 L 99.813583,110.99727 L 88.479683,110.99727 C 88.479683,110.99727 85.765921,109.30094 84.812833,108.33047 C 83.95749,107.45953 82.479383,104.99697 82.479383,104.99697 L 82.479383,92.32967 C 82.479383,92.32967 83.881139,89.360074 84.812833,88.329473 C 85.725013,87.320458 88.479683,85.662673 88.479683,85.662673 L 99.146883,85.662673 L 99.146883,88.996173 L 113.81428,88.996173 L 113.81428,85.662673 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pilha1 + y="104" + style="font-size:11px">pilha2 + d="M 36.388307,126.04559 L 4.2283068,143.46559 L 29.688307,158.20559 L 29.688307,160.88559 L 43.088307,160.88559 L 43.088307,158.20559 L 52.489244,154.18559 L 63.523307,154.18559 L 63.523307,150.63573 L 57.158307,150.68712 L 57.158307,145.81059 L 54.813307,145.81059 L 54.813307,141.12059 L 57.158307,141.12059 L 57.158307,136.09559 L 63.523307,136.09559 L 63.523307,133.08059 L 50.616924,133.08059 L 36.388307,126.04559 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:0.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pilha2 + x="34" + y="147" + style="font-size:11px">pilha + + + + pilha + transform="matrix(0.6667,0,0,0.6667,7.4928819,186.05911)"> + d="M 39.494482,180.89218 C 50.161682,180.89218 50.161682,180.89218 50.161682,180.89218 L 53.828532,183.55898 L 56.161982,187.55918 L 56.161982,210.22698 L 53.828532,214.22718 L 50.161682,216.89398 L 38.827782,216.89398 L 38.827782,216.89398 L 38.827782,219.56078 L 25.493782,219.56078 L 25.493782,216.89398 L 14.159882,216.89398 L 10.493032,214.22718 L 8.1595819,210.22698 L 8.1595819,187.55918 L 10.493032,183.55898 L 14.159882,180.89218 L 24.827082,180.89218 L 24.827082,184.22568 L 39.494482,184.22568 L 39.494482,180.89218 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + + pôr + + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pôr na + y="204" + style="font-size:11px">na + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> caixa1 + y="212" + style="font-size:11px">caixa1 + + + + caixa1 + transform="matrix(0.6667,0,0,0.6667,7.4928819,232.48628)"> @@ -250,40 +249,84 @@ style="fill:#f0e000;fill-opacity:1;stroke:#a08000;stroke-width:1.5;stroke-opacity:1" /> + d="M 39.494482,227.31936 C 50.161682,227.31936 50.161682,227.31936 50.161682,227.31936 L 53.828532,229.98616 L 56.161982,233.98636 L 56.161982,256.65416 L 53.828532,260.65436 L 50.161682,263.32116 L 38.827782,263.32116 L 38.827782,263.32116 L 38.827782,265.98796 L 25.493782,265.98796 L 25.493782,263.32116 L 14.159882,263.32116 L 10.493032,260.65436 L 8.1595819,256.65416 L 8.1595819,233.98636 L 10.493032,229.98616 L 14.159882,227.31936 L 24.827082,227.31936 L 24.827082,230.65286 L 39.494482,230.65286 L 39.494482,227.31936 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + + pôr + + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> pôr na + y="251" + style="font-size:11px">na + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> caixa2 + y="259" + style="font-size:11px">caixa2 + d="M 70.522547,239.98666 L 73.856047,239.98666 L 73.856047,242.65346 L 78.522947,242.65346 L 78.522947,239.98666 L 139.526,239.98666 L 139.526,253.32066 L 78.522947,253.32066 L 78.522947,250.65386 L 73.856047,250.65386 L 73.856047,253.32066 L 70.522547,253.32066 L 70.522547,239.98666 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> caixa1 + y="250" + style="font-size:11px">caixa2 + d="M 14.77211,274.07291 C 13.543777,274.96624 12.315443,275.85958 11.08711,276.75291 C 10.305443,278.09291 9.5237767,279.43291 8.74211,280.77291 L 8.74211,333.03291 C 9.5237767,334.37291 10.305443,335.71291 11.08711,337.05291 C 12.315443,337.94624 13.543777,338.83958 14.77211,339.73291 L 26.16211,339.73291 L 26.16211,342.41291 L 39.56211,342.41291 L 39.56211,339.73291 L 50.95211,339.73291 C 52.180443,338.83958 53.408777,337.94624 54.63711,337.05291 C 55.418777,335.71291 56.200443,334.37291 56.98211,333.03291 L 56.98211,330.68791 L 61.316173,330.68791 L 65.880548,330.68791 L 65.880548,328.17541 L 59.66211,328.17541 L 59.66211,323.31791 L 56.98211,323.31791 L 56.98211,318.29291 L 59.66211,318.29291 L 59.66211,313.26791 L 65.880548,313.26791 L 65.880548,310.92291 L 56.98211,310.92291 L 56.98211,301.71041 L 66.02711,301.71041 L 66.02711,297.69041 L 63.34711,297.69041 L 63.34711,299.70041 L 56.98211,299.70041 L 56.98211,285.29541 L 63.34711,285.29541 L 63.34711,287.30541 L 66.02711,287.30541 L 66.02711,283.28541 L 56.98211,283.28541 L 56.98211,280.77291 C 56.200443,279.43291 55.418777,278.09291 54.63711,276.75291 C 53.408777,275.85958 52.180443,274.96624 50.95211,274.07291 C 50.95211,274.07291 50.95211,274.07291 40.23211,274.07291 L 40.23211,277.42291 L 25.49211,277.42291 L 25.49211,274.07291 L 14.77211,274.07291 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> caixa2 + x="33" + y="299" + style="font-size:12px">pôr + + + na + + + caixa + + + + caixa + + + + nome + + diff --git a/images/pt/myblocks/myblocksmask.svg b/images/pt/myblocks/myblocksmask.svg index 2a2c6a3..77b82ba 100644 --- a/images/pt/myblocks/myblocksmask.svg +++ b/images/pt/myblocks/myblocksmask.svg @@ -1,15 +1,16 @@ + y="30" /> - - - - - - - - - - - - - - - - + d="M 0,470 L 0,486 L 3,493 L 8,497 L 15,499 L 129,499 L 136,497 L 142,492 L 145,484 L 145,470 L 0,470 z" /> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/pt/myblocks/stack.svg b/images/pt/myblocks/stack.svg new file mode 100644 index 0000000..de0ae04 --- /dev/null +++ b/images/pt/myblocks/stack.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + pilha + + diff --git a/images/pt/myblocks/storeinbox.svg b/images/pt/myblocks/storeinbox.svg new file mode 100644 index 0000000..55545d9 --- /dev/null +++ b/images/pt/myblocks/storeinbox.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + pôr + + + na + + + caixa + + diff --git a/images/pt/myblocks/storeinbox1.svg b/images/pt/myblocks/storeinbox1.svg index 1f7d9fa..68df866 100644 --- a/images/pt/myblocks/storeinbox1.svg +++ b/images/pt/myblocks/storeinbox1.svg @@ -3,7 +3,7 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="87" - height="59" + height="60" version="1.0"> + + + + + + + + + + + + + diff --git a/images/ru/maskstring.svg b/images/ru/maskstring.svg new file mode 100644 index 0000000..f3906a5 --- /dev/null +++ b/images/ru/maskstring.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/ru/myblocks/box.svg b/images/ru/myblocks/box.svg new file mode 100644 index 0000000..6a159bf --- /dev/null +++ b/images/ru/myblocks/box.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + блок + + + diff --git a/images/ru/myblocks/hat.svg b/images/ru/myblocks/hat.svg new file mode 100644 index 0000000..1a6cfeb --- /dev/null +++ b/images/ru/myblocks/hat.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + цепь + + diff --git a/images/ru/myblocks/myblocksgroup.svg b/images/ru/myblocks/myblocksgroup.svg index eee09bb..3815454 100644 --- a/images/ru/myblocks/myblocksgroup.svg +++ b/images/ru/myblocks/myblocksgroup.svg @@ -1,395 +1,332 @@ - + - - - - image/svg+xml - - - - - - - - + + - - + - - - + + - - - - - - - - - + + + + + + - + - + - + - + - + - + - + - + - - + + X - - - X + + + Мои блоки - - Мои блоки + + - - - + + цепь1 - - - - - цепь2 - - цепь1 + + - - + + цепь1 - - - - цепь1 + + + + цепь2 + + + + цепь2 - - - цепь2 + + + + цепь + + + + цепь + + + - - - - - + + + в - - - + + + склад1 - - - в + + + склад1 + + + + блок1 + + + - + - - - - + + + + в - - - + + + склад2 - - - - склад1 - - - - в + + + склад2 + + + + склад2 - - + y="250" + style="font-size:11px">блок2 + + + + + + + в + + + склад + + + + блок + + + + + имя + + + diff --git a/images/ru/myblocks/myblocksmask.svg b/images/ru/myblocks/myblocksmask.svg index 2a2c6a3..77b82ba 100644 --- a/images/ru/myblocks/myblocksmask.svg +++ b/images/ru/myblocks/myblocksmask.svg @@ -1,15 +1,16 @@ + y="30" /> - - - - - - - - - - - - - - - - + d="M 0,470 L 0,486 L 3,493 L 8,497 L 15,499 L 129,499 L 136,497 L 142,492 L 145,484 L 145,470 L 0,470 z" /> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/ru/myblocks/stack.svg b/images/ru/myblocks/stack.svg new file mode 100644 index 0000000..3efa295 --- /dev/null +++ b/images/ru/myblocks/stack.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + цепь + + diff --git a/images/ru/myblocks/storeinbox.svg b/images/ru/myblocks/storeinbox.svg new file mode 100644 index 0000000..d0d2de7 --- /dev/null +++ b/images/ru/myblocks/storeinbox.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + в + + + склад + + diff --git a/images/ru/myblocks/storeinbox1.svg b/images/ru/myblocks/storeinbox1.svg index acf5e98..ba55b80 100644 --- a/images/ru/myblocks/storeinbox1.svg +++ b/images/ru/myblocks/storeinbox1.svg @@ -9,7 +9,7 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="87" - height="59" + height="60" version="1.0" id="svg5921" sodipodi:version="0.32" diff --git a/images/ru/myblocks/storeinbox2.svg b/images/ru/myblocks/storeinbox2.svg index 8ea0ad6..8b25c7c 100644 --- a/images/ru/myblocks/storeinbox2.svg +++ b/images/ru/myblocks/storeinbox2.svg @@ -9,7 +9,7 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="87" - height="59" + height="60" version="1.0" id="svg6076" sodipodi:version="0.32" diff --git a/images/ru/myblocks/string.svg b/images/ru/myblocks/string.svg new file mode 100644 index 0000000..c589e87 --- /dev/null +++ b/images/ru/myblocks/string.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + diff --git a/images/tr/maskstring.svg b/images/tr/maskstring.svg new file mode 100644 index 0000000..f3906a5 --- /dev/null +++ b/images/tr/maskstring.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + diff --git a/images/tr/myblocks/box.svg b/images/tr/myblocks/box.svg new file mode 100644 index 0000000..d01e243 --- /dev/null +++ b/images/tr/myblocks/box.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + kutu + + + diff --git a/images/tr/myblocks/hat.svg b/images/tr/myblocks/hat.svg new file mode 100644 index 0000000..40e74b8 --- /dev/null +++ b/images/tr/myblocks/hat.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + yığın + + diff --git a/images/tr/myblocks/myblocksgroup.svg b/images/tr/myblocks/myblocksgroup.svg index 11d2db6..977efc9 100644 --- a/images/tr/myblocks/myblocksgroup.svg +++ b/images/tr/myblocks/myblocksgroup.svg @@ -1,254 +1,246 @@ + - + height="500" + id="svg2"> + + style="stop-color:#ffffff;stop-opacity:1" + offset="0" /> + style="stop-color:#ffff00;stop-opacity:1" + offset="1" /> - - - - - + id="linearGradient3886"> + + + + x1="210" + y1="10.5" + x2="0" + y2="10.5" + id="linearGradient4150" + xlink:href="#linearGradient3886" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.67,0,0,0.67,37.343845,352.88201)" /> + d="M 0.5594301,0.5 L 0.49711997,486.41023 L 3.6209793,493.14297 L 8.494839,497.1072 L 15.156388,499.50288 L 128.9813,499.50288 L 135.82978,496.93866 L 141.77903,492.04729 L 144.50288,483.79171 L 144.54057,0.5 L 0.5594301,0.5 z" /> + y="169.35913" + id="rect20" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + y="170.49942" + id="rect22" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + y="171.49832" + id="rect24" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#ffffc4;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect26" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect28" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect30" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#e0a000;stroke-width:1;stroke-opacity:1" /> + transform="scale(1,-1)" + id="rect4001" + style="opacity:1;fill:#ffd000;fill-opacity:1;stroke:#fff080;stroke-width:1;stroke-opacity:1" /> - + transform="translate(1.375,47.250977)" /> + X + y="490" + style="font-size:12px">X + + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> Parçalar - + d="M 69.731407,56.40254 L 69.731407,56.40254 L 43.730107,71.73664 L 43.730107,71.73664 L 43.730107,74.40344 L 30.396107,74.40344 L 30.396107,71.73664 C 30.396107,71.73664 4.3948068,56.40254 4.3948068,56.40254 C 4.3948068,56.40254 37.063107,38.40164 37.063107,38.40164 C 37.063107,38.40164 69.731407,56.40254 69.731407,56.40254 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> yığın1 + style="font-size:11px">yığın1 + d="M 113.81428,42.40184 C 124.48148,42.40184 124.48148,42.40184 124.48148,42.40184 C 124.48148,42.40184 127.23615,44.059625 128.14833,45.06864 C 129.08003,46.099241 130.48178,49.06884 130.48178,49.06884 L 130.48178,61.73614 C 130.48178,61.73614 129.00368,64.198699 128.14833,65.06964 C 127.19525,66.040108 124.48148,67.73644 124.48148,67.73644 L 113.14758,67.73644 L 113.14758,67.73644 L 113.14758,70.40324 L 99.813583,70.40324 L 99.813583,67.73644 L 88.479683,67.73644 C 88.479683,67.73644 85.765921,66.040108 84.812833,65.06964 C 83.95749,64.198699 82.479383,61.73614 82.479383,61.73614 L 82.479383,49.06884 C 82.479383,49.06884 83.881139,46.099241 84.812833,45.06864 C 85.725013,44.059625 88.479683,42.40184 88.479683,42.40184 L 99.146883,42.40184 L 99.146883,45.73534 L 113.81428,45.73534 L 113.81428,42.40184 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + + yığın1 + + d="M 69.731407,99.66337 L 69.731407,99.66337 L 43.730107,114.99747 L 43.730107,114.99747 L 43.730107,117.66427 L 30.396107,117.66427 L 30.396107,114.99747 C 30.396107,114.99747 4.3948068,99.66337 4.3948068,99.66337 C 4.3948068,99.66337 37.063107,81.662473 37.063107,81.662473 C 37.063107,81.662473 69.731407,99.66337 69.731407,99.66337 z" + id="path51" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> yığın2 + y="104" + style="font-size:11px">yığın2 + d="M 113.81428,85.662673 C 124.48148,85.662673 124.48148,85.662673 124.48148,85.662673 C 124.48148,85.662673 127.23615,87.320458 128.14833,88.329473 C 129.08003,89.360074 130.48178,92.32967 130.48178,92.32967 L 130.48178,104.99697 C 130.48178,104.99697 129.00368,107.45953 128.14833,108.33047 C 127.19525,109.30094 124.48148,110.99727 124.48148,110.99727 L 113.14758,110.99727 L 113.14758,110.99727 L 113.14758,113.66407 L 99.813583,113.66407 L 99.813583,110.99727 L 88.479683,110.99727 C 88.479683,110.99727 85.765921,109.30094 84.812833,108.33047 C 83.95749,107.45953 82.479383,104.99697 82.479383,104.99697 L 82.479383,92.32967 C 82.479383,92.32967 83.881139,89.360074 84.812833,88.329473 C 85.725013,87.320458 88.479683,85.662673 88.479683,85.662673 L 99.146883,85.662673 L 99.146883,88.996173 L 113.81428,88.996173 L 113.81428,85.662673 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> yığın1 + y="104" + style="font-size:11px">yığın2 + d="M 36.388307,126.04559 L 4.2283068,143.46559 L 29.688307,158.20559 L 29.688307,160.88559 L 43.088307,160.88559 L 43.088307,158.20559 L 52.489244,154.18559 L 63.523307,154.18559 L 63.523307,150.63573 L 57.158307,150.68712 L 57.158307,145.81059 L 54.813307,145.81059 L 54.813307,141.12059 L 57.158307,141.12059 L 57.158307,136.09559 L 63.523307,136.09559 L 63.523307,133.08059 L 50.616924,133.08059 L 36.388307,126.04559 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:0.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> yığın2 + x="34" + y="147" + style="font-size:11px">yığın + + + + yığın + transform="matrix(0.6667,0,0,0.6667,7.4928819,186.05911)"> + d="M 39.494482,180.89218 C 50.161682,180.89218 50.161682,180.89218 50.161682,180.89218 L 53.828532,183.55898 L 56.161982,187.55918 L 56.161982,210.22698 L 53.828532,214.22718 L 50.161682,216.89398 L 38.827782,216.89398 L 38.827782,216.89398 L 38.827782,219.56078 L 25.493782,219.56078 L 25.493782,216.89398 L 14.159882,216.89398 L 10.493032,214.22718 L 8.1595819,210.22698 L 8.1595819,187.55918 L 10.493032,183.55898 L 14.159882,180.89218 L 24.827082,180.89218 L 24.827082,184.22568 L 39.494482,184.22568 L 39.494482,180.89218 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> kutu1 + y="196" + style="font-size:11px">kutu1 + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> de + y="204" + style="font-size:11px">de + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> sakla + y="212" + style="font-size:11px">sakla + + + + kutu1 + transform="matrix(0.6667,0,0,0.6667,7.4928819,232.48628)"> @@ -257,47 +249,84 @@ style="fill:#f0e000;fill-opacity:1;stroke:#a08000;stroke-width:1.5;stroke-opacity:1" /> + d="M 39.494482,227.31936 C 50.161682,227.31936 50.161682,227.31936 50.161682,227.31936 L 53.828532,229.98616 L 56.161982,233.98636 L 56.161982,256.65416 L 53.828532,260.65436 L 50.161682,263.32116 L 38.827782,263.32116 L 38.827782,263.32116 L 38.827782,265.98796 L 25.493782,265.98796 L 25.493782,263.32116 L 14.159882,263.32116 L 10.493032,260.65436 L 8.1595819,256.65416 L 8.1595819,233.98636 L 10.493032,229.98616 L 14.159882,227.31936 L 24.827082,227.31936 L 24.827082,230.65286 L 39.494482,230.65286 L 39.494482,227.31936 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> kutu2 + y="243" + style="font-size:11px">kutu2 + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> de + y="251" + style="font-size:11px">de + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> sakla + y="259" + style="font-size:11px">sakla + d="M 70.522547,239.98666 L 73.856047,239.98666 L 73.856047,242.65346 L 78.522947,242.65346 L 78.522947,239.98666 L 139.526,239.98666 L 139.526,253.32066 L 78.522947,253.32066 L 78.522947,250.65386 L 73.856047,250.65386 L 73.856047,253.32066 L 70.522547,253.32066 L 70.522547,239.98666 z" + style="fill:url(#linearGradient4521);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> kutu1 + y="250" + style="font-size:11px">kutu2 + d="M 14.77211,274.07291 C 13.543777,274.96624 12.315443,275.85958 11.08711,276.75291 C 10.305443,278.09291 9.5237767,279.43291 8.74211,280.77291 L 8.74211,333.03291 C 9.5237767,334.37291 10.305443,335.71291 11.08711,337.05291 C 12.315443,337.94624 13.543777,338.83958 14.77211,339.73291 L 26.16211,339.73291 L 26.16211,342.41291 L 39.56211,342.41291 L 39.56211,339.73291 L 50.95211,339.73291 C 52.180443,338.83958 53.408777,337.94624 54.63711,337.05291 C 55.418777,335.71291 56.200443,334.37291 56.98211,333.03291 L 56.98211,330.68791 L 61.316173,330.68791 L 65.880548,330.68791 L 65.880548,328.17541 L 59.66211,328.17541 L 59.66211,323.31791 L 56.98211,323.31791 L 56.98211,318.29291 L 59.66211,318.29291 L 59.66211,313.26791 L 65.880548,313.26791 L 65.880548,310.92291 L 56.98211,310.92291 L 56.98211,301.71041 L 66.02711,301.71041 L 66.02711,297.69041 L 63.34711,297.69041 L 63.34711,299.70041 L 56.98211,299.70041 L 56.98211,285.29541 L 63.34711,285.29541 L 63.34711,287.30541 L 66.02711,287.30541 L 66.02711,283.28541 L 56.98211,283.28541 L 56.98211,280.77291 C 56.200443,279.43291 55.418777,278.09291 54.63711,276.75291 C 53.408777,275.85958 52.180443,274.96624 50.95211,274.07291 C 50.95211,274.07291 50.95211,274.07291 40.23211,274.07291 L 40.23211,277.42291 L 25.49211,277.42291 L 25.49211,274.07291 L 14.77211,274.07291 z" + style="fill:url(#linearGradient4520);fill-opacity:1;stroke:#c0a000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="font-size:12px;text-align:center;text-anchor:middle;font-family:Bitstream Vera Sans"> kutu2 + x="33" + y="299" + style="font-size:12px">kutu + + + de + + + sakla + + + kutu + + + + + nam + + diff --git a/images/tr/myblocks/myblocksmask.svg b/images/tr/myblocks/myblocksmask.svg index 2a2c6a3..77b82ba 100644 --- a/images/tr/myblocks/myblocksmask.svg +++ b/images/tr/myblocks/myblocksmask.svg @@ -1,15 +1,16 @@ + y="30" /> - - - - - - - - - - - - - - - - + d="M 0,470 L 0,486 L 3,493 L 8,497 L 15,499 L 129,499 L 136,497 L 142,492 L 145,484 L 145,470 L 0,470 z" /> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/tr/myblocks/stack.svg b/images/tr/myblocks/stack.svg new file mode 100644 index 0000000..0f5ace4 --- /dev/null +++ b/images/tr/myblocks/stack.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + yığın + + diff --git a/images/tr/myblocks/storeinbox.svg b/images/tr/myblocks/storeinbox.svg new file mode 100644 index 0000000..8d97980 --- /dev/null +++ b/images/tr/myblocks/storeinbox.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + kutu + + + de + + + sakla + + diff --git a/images/tr/myblocks/storeinbox1.svg b/images/tr/myblocks/storeinbox1.svg index caa894b..9bf92ca 100644 --- a/images/tr/myblocks/storeinbox1.svg +++ b/images/tr/myblocks/storeinbox1.svg @@ -3,7 +3,7 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="87" - height="59" + height="60" version="1.0"> + + + + + + + + + + + + + diff --git a/po/TurtleArt.pot b/po/TurtleArt.pot index 7c967b9..0ff3212 100644 --- a/po/TurtleArt.pot +++ b/po/TurtleArt.pot @@ -82,6 +82,18 @@ msgid "store in box 2" msgstr "" #: +msgid "name" +msgstr "" + +#: +msgid "push" +msgstr "" + +#: +msgid "pop" +msgstr "" + +#: msgid "Numbers" msgstr "" diff --git a/po/es.po b/po/es.po index 2da77e1..1e04cad 100644 --- a/po/es.po +++ b/po/es.po @@ -77,6 +77,10 @@ msgid "store in box 2" msgstr "pner en caja2" #: +msgid "name" +msgstr "nombre" + +#: msgid "Numbers" msgstr "Números" diff --git a/po/fi.po b/po/fi.po index 1b1b4f6..bdce75c 100644 --- a/po/fi.po +++ b/po/fi.po @@ -77,6 +77,10 @@ msgid "store in box 2" msgstr "Säilytä laatikossa 2" #: +msgid "name" +msgstr "" + +#: msgid "Numbers" msgstr "Numerot" diff --git a/po/fr.po b/po/fr.po index 6715e61..f4ebe38 100644 --- a/po/fr.po +++ b/po/fr.po @@ -77,6 +77,10 @@ msgid "store in box 2" msgstr "range dans la boîte 2" #: +msgid "name" +msgstr "nom" + +#: msgid "Numbers" msgstr "Nombres" diff --git a/po/mn.po b/po/mn.po index 86c192c..ccab15a 100644 --- a/po/mn.po +++ b/po/mn.po @@ -59,6 +59,9 @@ msgstr "богц 1-д хадгал" msgid "store in box 2" msgstr "богц 2-д хадгал" +msgid "name" +msgstr "" + msgid "Numbers" msgstr "Тооны Уйлдзл" diff --git a/po/pt.po b/po/pt.po index eb12213..7cd4e24 100644 --- a/po/pt.po +++ b/po/pt.po @@ -77,6 +77,10 @@ msgid "store in box 2" msgstr "por na caixa 2" #: +msgid "name" +msgstr "" + +#: msgid "Numbers" msgstr "Números" diff --git a/po/ru.po b/po/ru.po index 180261a..78ea334 100644 --- a/po/ru.po +++ b/po/ru.po @@ -77,6 +77,10 @@ msgid "store in box 2" msgstr "сохранить в кармане 2" #: +msgid "name" +msgstr "" + +#: msgid "Numbers" msgstr "Числа" diff --git a/po/tr.po b/po/tr.po index b213b15..43ae944 100644 --- a/po/tr.po +++ b/po/tr.po @@ -77,6 +77,10 @@ msgid "store in box 2" msgstr "kutu 1 de sakla" #: +msgid "name" +msgstr "" + +#: msgid "Numbers" msgstr "Sayılar" diff --git a/taexport.py b/taexport.py new file mode 100644 index 0000000..16dbc1a --- /dev/null +++ b/taexport.py @@ -0,0 +1,237 @@ +#Copyright (c) 2007-9, Playful Invention Company. + +#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 tawindow +import talogo + +def save_logo(self, tw): + color_processing = "\ +to tasetpalette :i :r :g :b :myshade \r\ +make \"s ((:myshade - 50) / 50) \r\ +ifelse lessp :s 0 [ \r\ +make \"s (1 + (:s *0.8)) \r\ +make \"r (:r * :s) \r\ +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\ +] \ +setpalette :i (list :r :g :b) \r\ +end \r\ +\ +to rgb :myi :mycolors :myshade \r\ +make \"myr first :mycolors \r\ +make \"mycolors butfirst :mycolors \r\ +make \"myg first :mycolors \r\ +make \"mycolors butfirst :mycolors \r\ +make \"myb first :mycolors \r\ +make \"mycolors butfirst :mycolors \r\ +tasetpalette :myi :myr :myg :myb :myshade \r\ +output :mycolors \r\ +end \r\ +\ +to processcolor :mycolors :myshade \r\ +if emptyp :mycolors [stop] \r\ +make \"i :i + 1 \r\ +processcolor (rgb :i :mycolors :myshade) :myshade \r\ +end \r\ +\ +to tasetshade :shade \r\ +make \"myshade modulo :shade 200 \r\ +if greaterp :myshade 99 [make \"myshade (199-:myshade)] \r\ +make \"i 7 \r\ +make \"mycolors :colors \r\ +processcolor :mycolors :myshade \r\ +end \r\ +\ +to tasetpencolor :c \r\ +make \"color (modulo (round :c) 100) \r\ +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\ +tasetshade :shade \r" + + bs = tawindow.blocks(tw) + code = "" + random = 0 + fillscreen = 0 + setcolor = 0 + setxy = 0 + pensize = 0 + tastack = 0 + arc = 0 + for b in bs: + this_stack = "" + data = self.walk_stack(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 += " " + else: + this_stack += str(d) + else: + # transalate some TA terms into UCB Logo + if namedstack == 1: + this_stack += "to " + this_stack += d[2:] + this_stack += "\r" + stack = 1 + namedstack = 0 + elif namedbox == 1: + if d[0:2] == "#s": + this_stack += "make \"" + this_stack += d[2:] + this_stack += " " + this_stack += myvar + # this_stack += " " + namedbox = 0 + myvar = "" + else: + myvar += d + # myvar += " " + elif refstack == 1: + this_stack += d[2:] + this_stack += " " + refstack = 0 + elif refbox == 1: + this_stack += ":" + this_stack += d[2:] + # this_stack += " " + refbox = 0 + # elif d[0:1] == "#s": + # this_stack += d[2:] + # this_stack += " " + 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 == "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 == "clean": + this_stack += "clearscreen" + elif d == "setxy": + setxy = 1 + this_stack += "tasetxy" + elif d == "color": + this_stack += ":color" + 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" + 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 random: # to avoid negative numbers + code = "to tarandom :min :max\routput (random (:max - :min)) + :min\rend\r" + code + if fillscreen: # set shade than background color + code = "to tasetbackground :color :shade\rtasetshade :shade\rsetbackground :color\rend\r" + 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 :y :x\rpenup\rsetxy :x :y\rpendown\rend\r" + code + if arc: + c = (2 * math.pi)/360 + code = "to taarc :a :r\rrepeat round :a [right 1 forward (" + str(c) + " * :r)]\rend\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 + return talogo.walk_blocks(tw.lc, top, tawindow.blocks(tw)) + else: + # not top of stack, then return empty list + return [] + + diff --git a/talogo.py b/talogo.py index a05321e..38aaf3a 100644 --- a/talogo.py +++ b/talogo.py @@ -1,4 +1,4 @@ -#Copyright (c) 2007-8, Playful Invention Company. +#Copyright (c) 2007-9, Playful Invention Company. #Permission is hereby granted, free of charge, to any person obtaining a copy #of this software and associated documentation files (the "Software"), to deal @@ -26,8 +26,12 @@ import audioop from math import sqrt from numpy.oldnumeric import * from numpy.fft import * -class taLogo: pass from audiograb import AudioGrab +from UserDict import UserDict + +class noKeyError(UserDict): + __missing__=lambda x,y: 0 +class taLogo: pass from taturtle import * @@ -50,23 +54,37 @@ class logoerror(Exception): return repr(self.value) def run_blocks(lc, spr, blocks): + # 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(i)) if i.proto.name=='hat2': lc.stacks['stack2']= readline(lc,blocks_to_code(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(i)) code = blocks_to_code(spr) print code setup_cmd(lc, code) # walk through the blocks, but don't execute them -# used by save Logo code +# used by save to USB Logo code def walk_blocks(lc, spr, blocks): + for x in lc.stacks.keys(): + lc.stacks[x]= None 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(i)) if i.proto.name=='hat2': lc.stacks['stack2']= readline(lc,blocks_to_code(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(i)) return blocks_to_code(spr) def blocks_to_code(spr): @@ -75,14 +93,21 @@ def blocks_to_code(spr): dock = spr.proto.docks[0] if len(dock)>4: code.append(dock[4]) if spr.proto.primname != '': code.append(spr.proto.primname) - else: code.append(float(spr.label)) +# else: code.append(float(spr.label)) + else: + if spr.proto.name=='number': + code.append(float(spr.label)) + elif spr.proto.name=='string': + code.append('#s'+spr.label) + 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(b)) - elif spr.proto.docks[i][0] not in ['flow','numend','unavailable','logi-']: + elif spr.proto.docks[i][0] not in ['flow','numend','stringend','unavailable','logi-']: code.append('%nothing%') return code @@ -92,7 +117,6 @@ def intern(lc, 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 != ""] @@ -105,12 +129,12 @@ def readline(lc, line): 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): stopsignon(lc); lc.procstop=False list = readline(lc, str) @@ -185,7 +209,6 @@ def undefined_check(lc, token): if token.fcn != None: return False raise logoerror("I don't know how to %s" % token.name) - def no_args_check(lc): if lc.iline and lc.iline[0]!=lc.symnothing : return raise logoerror("#noinput") @@ -228,6 +251,12 @@ def prim_define(name, body): name.nargs, name.fcn = 0, body name.rprim = True +def prim_stack(lc,stri): + if (not lc.stacks.has_key('stack3'+stri)) or lc.stacks['stack3'+stri]==None: raise logoerror("#nostack") + icall(lc, evline, lc.stacks['stack3'+stri][:]); yield True + lc.procstop = False + ireturn(lc); yield True + def prim_stack1(lc): if lc.stacks['stack1']==None: raise logoerror("#nostack") icall(lc, evline, lc.stacks['stack1'][:]); yield True @@ -322,15 +351,19 @@ def lcNew(tw): defprim(lc,'stack1', 0, prim_stack1, True) defprim(lc,'stack2', 0, prim_stack2, True) + defprim(lc,'stack', 1, prim_stack, True) defprim(lc,'box1', 0, lambda lc: lc.boxes['box1']) defprim(lc,'box2', 0, lambda lc: lc.boxes['box2']) + defprim(lc,'box', 1, lambda lc,x: lc.boxes['box3'+str(x)]) defprim(lc,'storeinbox1', 1, lambda lc,x: setbox(lc, 'box1',x)) defprim(lc,'storeinbox2', 1, lambda lc,x: setbox(lc, 'box2',x)) + defprim(lc,'storeinbox', 2, lambda lc,x,y: setbox(lc, 'box3'+str(y),x)) defprim(lc,'define', 2, prim_define) defprim(lc,'nop', 0, lambda lc: None) defprim(lc,'nop1', 0, lambda lc: None) defprim(lc,'nop2', 0, lambda lc: None) + defprim(lc,'nop3', 1, lambda lc,x: None) defprim(lc,'start', 0, lambda: None) lc.symtype = type(intern(lc, 'print')) @@ -341,7 +374,8 @@ def lcNew(tw): lc.istack = [] lc.stacks = {} - lc.boxes = {'box1': 0, 'box2': 0} +# lc.boxes = {'box1': 0, 'box2': 0} + lc.boxes = noKeyError({'box1': 0, 'box2': 0}) lc.iline, lc.cfun, lc.arglist, lc.ufun = None, None, None,None diff --git a/taproject.py b/taproject.py index 2078e6b..41ae539 100644 --- a/taproject.py +++ b/taproject.py @@ -122,7 +122,8 @@ def save_data(tw,fname): for i in range(len(bs)): bs[i].id=i for b in bs: name = b.proto.name - if name=='number': name=(name,b.label) +# if name=='number': name=(name,b.label) + if tw.defdict.has_key(name): name=(name,b.label) connections = [get_id(x) for x in b.connections] data.append((b.id,name,b.x-tw.turtle.canvas.x,b.y-tw.turtle.canvas.y,connections)) data.append((-1,'turtle', diff --git a/tasetup.py b/tasetup.py index b6442d6..b82dd53 100644 --- a/tasetup.py +++ b/tasetup.py @@ -1,4 +1,4 @@ -#Copyright (c) 2007-8, Playful Invention Company. +#Copyright (c) 2007-9, Playful Invention Company. #Permission is hereby granted, free of charge, to any person obtaining a copy #of this software and associated documentation files (the "Software"), to deal @@ -27,6 +27,16 @@ class taProto: pass from tasprites import * +def numcheck(new, old): + 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 + selectors = ( ('turtle', 55, (('clean','clean','noarg'), @@ -51,7 +61,7 @@ selectors = ( ('color','color','num'), ('shade','shade','num'))), ('numbers', 55, - (('number','','num'), + (('number','','num',100,float,numcheck), ('plus','+','ari'), ('minus','-','ari'), ('product','*','ari'), @@ -85,10 +95,15 @@ selectors = ( ('stack1','stack1','noarg'), ('hat2','nop2','start'), ('stack2','stack2','noarg'), + ('hat','nop3','starts','bar'), + ('stack','stack','sarg','bar'), ('storeinbox1','storeinbox1','1arg'), ('box1','box1','num'), ('storeinbox2','storeinbox2','1arg'), - ('box2','box2','num')))) + ('box2','box2','num'), + ('storeinbox','storeinbox','1sarg',100,'foo'), + ('box','box','nfuncs','foo'), + ('string','','string','',str,strcheck)))) toolbaritems = ( ('stopit',75), @@ -115,12 +130,19 @@ dockdetails = { 'vspace': (('flow',True,37,5),('flow',False,37,74)), 'hspace': (('flow',True,37,14),('flow',False,128,13)), 'not': (('logi+',True,0,24),('unavailable',False,0,0),('logi+',False,55,24)), - 'start': (('start',True,50,0),('flow',False,49,55)) + '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,51,16)), #named box + 'starts': (('start',True,50,0),('string',False,78,29),('flow',False,49,55)), # named hat + 'sarg': (('flow',True,37,5),('string',False,71,20),('flow',False,37,44)), # named stack and show string + '1sarg': (('flow',True,37,5),('num',False,74,29),('string',False,74,71),('flow',False,37,104)), # storeinbox } def setup_selectors(tw): tw.protodict = {} + tw.valdict = {} + tw.defdict = {} y = 30 tw.selbuttons = [] for s in selectors: @@ -133,6 +155,8 @@ def setup_selectors(tw): setlayer(tw.category_spr,660) tw.select_mask = sprNew(tw,100,100,load_image(tw.path, '', 'masknumber')) tw.select_mask.type = 'selectmask' + tw.select_mask_string = sprNew(tw,100,100,load_image(tw.path, '', 'maskstring')) + tw.select_mask_string.type = 'selectmask' tw.hidden_palette_icon = load_image(tw.path, 'toolbar','blocks-') tw.status_shapes = {} tw.status_shapes['status'] = load_image(tw.path, '', 'status') @@ -162,7 +186,14 @@ def setup_selector(tw,name,y,blockdescriptions): proto.name = bname proto.image = image proto.primname=primname - proto.defaults=b[3:] + if primname=='': + 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 diff --git a/tawindow.py b/tawindow.py index b897ace..08fe410 100644 --- a/tawindow.py +++ b/tawindow.py @@ -1,4 +1,4 @@ -#Copyright (c) 2007-8, Playful Invention Company. +#Copyright (c) 2007-9, Playful Invention Company. #Permission is hereby granted, free of charge, to any person obtaining a copy #of this software and associated documentation files (the "Software"), to deal @@ -105,7 +105,6 @@ def buttonpress_cb(win, event, tw): turtle_pressed(tw,x,y) return True - def block_selector_pressed(tw,x,y): if tw.category_spr.image==tw.hidden_palette_icon: for i in tw.selbuttons: setlayer(i,800) @@ -141,16 +140,23 @@ def new_block_from_category(tw,proto,x,y): tw.dragpos = 20,20 newspr.type = 'block' newspr.proto = proto - if newspr.proto.name == 'number': newspr.label=100 +# if newspr.proto.name == 'number': newspr.label=100 + 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] - numproto = tw.protodict['number'] - numdock = numproto.docks[0] - nx,ny = newspr.x+dock[2]-numdock[2],newspr.y+dock[3]-numdock[3] - argspr = sprNew(tw,nx,ny,numproto.image) +# numproto = tw.protodict['number'] +# numdock = numproto.docks[0] +# nx,ny = newspr.x+dock[2]-numdock[2],newspr.y+dock[3]-numdock[3] +# argspr = sprNew(tw,nx,ny,numproto.image) + 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 = numproto +# argspr.proto = numproto + argspr.proto = argproto argspr.label = str(proto.defaults[i]) setlayer(argspr,2000) argspr.connections = [newspr,None] @@ -232,12 +238,11 @@ def buttonrelease_cb(win, event, tw): move_turtle(tw.turtle) tw.draggroup = None return True - # hide blocks that are dropped onto the dock if tw.block_operation=='move' and hit(tw.category_spr, (x,y)): for b in tw.draggroup: hide(b) tw.draggroup = None return True - # allow new blocks to be created by clicking as well as by drag and drop + # allow new blocks to be created by clicking as well as dragging if tw.block_operation=='new': print "making a new block" for b in tw.draggroup: @@ -251,6 +256,11 @@ def buttonrelease_cb(win, event, tw): 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 + move(tw.select_mask_string, (spr.x-5,spr.y-5)) + setlayer(tw.select_mask_string, 660) + tw.firstkey = True else: run_stack(tw, spr) return True @@ -311,7 +321,7 @@ def expose_cb(win, event, tw): def keypress_cb(area, event,tw): keyname = gtk.gdk.keyval_name(event.keyval) - print keyname,event.get_state() + # print keyname,event.get_state() if (event.get_state()>k.gdk.MOD4_MASK): if keyname=="n": new_project(tw) if keyname=="o": load_file(tw) @@ -323,21 +333,25 @@ def keypress_cb(area, event,tw): if keyname in ['minus', 'period']: keyname = {'minus': '-', 'period': '.'}[keyname] if len(keyname)>1: return True oldnum = tw.selected_block.label - if tw.firstkey: newnum = numcheck(keyname,'0') + selblock=tw.selected_block.proto +# if tw.firstkey: newnum = numcheck(keyname,'0') + if tw.firstkey: newnum = selblock.check(keyname,tw.defdict[selblock.name]) else: newnum = oldnum+keyname - setlabel(tw.selected_block, numcheck(newnum,oldnum)) +# setlabel(tw.selected_block, numcheck(newnum,oldnum)) + setlabel(tw.selected_block, selblock.check(newnum,oldnum)) tw.firstkey = False return True -def numcheck(new, old): - if new in ['-', '.', '-.']: return new - if new=='.': return '0.' - try: float(new); return new - except ValueError,e : return old +#def numcheck(new, old): +# if new in ['-', '.', '-.']: return new +# if new=='.': return '0.' +# try: float(new); return new +# except ValueError,e : return old def unselect(tw): if tw.selected_block.label in ['-', '.', '-.']: select_block.setlabel('0') hide(tw.select_mask) + hide(tw.select_mask_string) tw.selected_block = None @@ -366,7 +380,6 @@ def find_top_block(spr): while spr.connections[0]!=None: spr=spr.connections[0] return spr - def tooldispatch(tw, spr): if spr.blocktype == 'hideshow': hideshow_blocks(tw,spr) elif spr.blocktype == 'eraser': runtool(tw, spr, clearscreen, tw.turtle) -- cgit v0.9.1