Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Odiard <gonzalo@nautilus.localdomain>2009-11-03 05:06:41 (GMT)
committer Gonzalo Odiard <gonzalo@nautilus.localdomain>2009-11-03 05:06:41 (GMT)
commite4f285a4f196182b131ce9d74b9ef6ad20908de5 (patch)
treee15f6960ff9fb24e28430369326e9ac75d5fdb9f
parent29f122c98491893482a32f6d1f19e9f64a022f61 (diff)
agrego controles para las caracteristicas de los animales y el clima, aun no son tenidos en cuenta en la simulacion
-rw-r--r--ecomundoactivity.py161
-rw-r--r--icons/experiment.svg109
-rw-r--r--icons/fox.svg88
-rw-r--r--icons/rabbit.svg73
-rw-r--r--icons/rain.svg185
-rw-r--r--locale/es/LC_MESSAGES/org.laptop.sample.Ecomundo.mobin609 -> 616 bytes
-rw-r--r--po/Ecomundo.pot2
-rw-r--r--po/es.po4
8 files changed, 580 insertions, 42 deletions
diff --git a/ecomundoactivity.py b/ecomundoactivity.py
index 5d4ef82..4cdae79 100644
--- a/ecomundoactivity.py
+++ b/ecomundoactivity.py
@@ -17,6 +17,8 @@ import sugar
from sugar.activity import activity
from sugar.graphics import style
from sugar.graphics.toolbutton import ToolButton
+from sugar.graphics.icon import Icon
+
world = World.World()
@@ -124,34 +126,8 @@ class EcomundoActivity(activity.Activity):
print "Init activity Ecomundo"
#print os.path.abspath(__file__)
- toolbox = activity.ActivityToolbox(self)
- self.toolbar = gtk.Toolbar()
-
- toolbox.add_toolbar(_('Ecomundo'), self.toolbar)
- self.toolbar.show()
- self.set_toolbox(toolbox)
- toolbox.show()
-
- self.btnNew = ToolButton('reload')
- self.btnNew.connect('clicked', self.onBtNewClicked)
- self.toolbar.insert(self.btnNew, -1)
- self.btnNew.show()
-
- self.btPlay = ToolButton('next')
- self.btPlay.connect('clicked', self.onBtPlayClicked)
- self.toolbar.insert(self.btPlay, -1)
- self.btPlay.show()
-
- self.btStop = ToolButton('process-stop')
- self.btStop.connect('clicked', self.onBtStopClicked)
- self.toolbar.insert(self.btStop, -1)
- self.btStop.show()
-
- self.btStop.props.sensitive = False;
- self.btPlay.props.sensitive = True;
-
- toolbox.set_current_toolbar(1)
-
+ self.createToolbox()
+
hBox = gtk.HBox(False, 0)
self.set_canvas(hBox)
@@ -161,48 +137,60 @@ class EcomundoActivity(activity.Activity):
hBox.pack_start(self.drawingarea1, False, True, 5)
+ notebook = gtk.Notebook()
+ hBox.pack_start(notebook, False, False, 5)
+
+ # En la primera pagina del notebook pongo los datos del experimento
table = gtk.Table(rows=4, columns=2, homogeneous=False)
- hBox.pack_start(table, False, False, 5)
+ icon_experiment = Icon(icon_name="experiment", icon_size=gtk.ICON_SIZE_LARGE_TOOLBAR)
+ notebook.append_page(table,icon_experiment)
label_attributes = pango.AttrList()
label_attributes.insert(pango.AttrSize(14000, 0, -1))
label_attributes.insert(pango.AttrForeground(65535, 65535, 65535, 0, -1))
- lbTitle = gtk.Label()
+ lbTitle = gtk.Label(_('Initial quantities'))
lbTitle.set_attributes(label_attributes)
- lbTitle.set_text(_('Initial Values'))
- #table.attach(lbTitle, 0, 1, 0, 1,yoptions=gtk.SHRINK,xpadding=5)
table.attach(lbTitle, 0, 2, 0, 1,yoptions=gtk.SHRINK,xpadding=10)
- lbGreen = gtk.Label()
+ lbGreen = gtk.Label(_('Green'))
lbGreen.set_attributes(label_attributes)
- lbGreen.set_text(_('Green'))
table.attach(lbGreen, 0, 1, 1, 2,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,xpadding=10)
adjGreen = gtk.Adjustment(10, 1, 400, 1, 1, 0)
self.spbGreen = gtk.SpinButton(adjustment=adjGreen, climb_rate=1.0, digits=2)
table.attach(self.spbGreen, 1, 2, 1, 2,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,ypadding=10)
- lbRabbit = gtk.Label()
+ lbRabbit = gtk.Label(_('Rabbits'))
lbRabbit.set_attributes(label_attributes)
- lbRabbit.set_text(_('Rabbits'))
table.attach(lbRabbit, 0, 1, 2, 3,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,xpadding=10)
adjRabbit = gtk.Adjustment(10, 1, 400, 1, 1, 0)
self.spbRabbit = gtk.SpinButton(adjustment=adjRabbit, climb_rate=1.0, digits=2)
table.attach(self.spbRabbit, 1, 2, 2, 3,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,ypadding=10)
- lbFox = gtk.Label()
+ lbFox = gtk.Label(_('Foxs'))
lbFox.set_attributes(label_attributes)
- lbFox.set_text(_('Foxs'))
table.attach(lbFox, 0, 1, 3, 4,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,xpadding=10)
adjFox = gtk.Adjustment(10, 1, 400, 1, 1, 0)
self.spbFox = gtk.SpinButton(adjustment=adjFox, climb_rate=1.0, digits=2)
table.attach(self.spbFox, 1, 2, 3, 4,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,ypadding=10)
+ # En la segunda pagina del notebook pongo los datos de los conejos
+ icon_rabbit = Icon(icon_name="rabbit", icon_size=gtk.ICON_SIZE_LARGE_TOOLBAR)
+ self.createAnimalControls(notebook,_('Rabbit features'), icon_rabbit,world.rabbit_data,label_attributes)
+
+ # En la tercera pagina del notebook pongo los datos de los zorros
+ icon_fox = Icon(icon_name="fox", icon_size=gtk.ICON_SIZE_LARGE_TOOLBAR)
+ self.createAnimalControls(notebook,_('Fox features'), icon_fox,world.fox_data,label_attributes)
+
+ # En la cuarta ponemos los parametros de clima
+ icon_rain = Icon(icon_name="rain", icon_size=gtk.ICON_SIZE_LARGE_TOOLBAR)
+ table_clima = gtk.Table(rows=4, columns=2, homogeneous=False)
+ notebook.append_page(table_clima,icon_rain)
+
- print "test resize"
print "antes de initWorld"
initWorld()
print "antes de init Green"
@@ -215,6 +203,101 @@ class EcomundoActivity(activity.Activity):
self.drawingarea1.connect('expose-event', self.onDrawingAreaExposed)
+ def createToolbox(self):
+ toolbox = activity.ActivityToolbox(self)
+ self.toolbar = gtk.Toolbar()
+
+ toolbox.add_toolbar(_('Ecomundo'), self.toolbar)
+ self.toolbar.show()
+ self.set_toolbox(toolbox)
+ toolbox.show()
+
+ self.btnNew = ToolButton('reload')
+ self.btnNew.connect('clicked', self.onBtNewClicked)
+ self.toolbar.insert(self.btnNew, -1)
+ self.btnNew.show()
+
+ self.btPlay = ToolButton('next')
+ self.btPlay.connect('clicked', self.onBtPlayClicked)
+ self.toolbar.insert(self.btPlay, -1)
+ self.btPlay.show()
+
+ self.btStop = ToolButton('process-stop')
+ self.btStop.connect('clicked', self.onBtStopClicked)
+ self.toolbar.insert(self.btStop, -1)
+ self.btStop.show()
+
+ self.btStop.props.sensitive = False;
+ self.btPlay.props.sensitive = True;
+
+ toolbox.set_current_toolbar(1)
+
+
+ def createAnimalControls(self,notebook,title, icon,animalData,label_attributes):
+ table = gtk.Table(rows=4, columns=2, homogeneous=False)
+ notebook.append_page(table,icon)
+
+ lbTitle = gtk.Label(title)
+ lbTitle.set_attributes(label_attributes)
+ table.attach(lbTitle, 0, 2, 0, 1,yoptions=gtk.SHRINK,xpadding=10)
+
+ #edadMaxima = 100
+ maxAge = gtk.Label(_('Max Age'))
+ maxAge.set_attributes(label_attributes)
+ table.attach(maxAge, 0, 1, 1, 2,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,xpadding=10)
+
+ adjMaxAge = gtk.Adjustment(animalData.edadMaxima, 1, 400, 1, 1, 0)
+ animalData.spbMaxAge = gtk.SpinButton(adjustment=adjMaxAge, climb_rate=1.0, digits=2)
+ table.attach(animalData.spbMaxAge, 1, 2, 1, 2,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,ypadding=10)
+
+ #madurezSexual = 20
+ sexMadurity = gtk.Label(_('Sexual Maturity'))
+ sexMadurity.set_attributes(label_attributes)
+ table.attach(sexMadurity, 0, 1, 2, 3,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,xpadding=10)
+
+ adjSexMadurity = gtk.Adjustment(animalData.madurezSexual, 1, 400, 1, 1, 0)
+ animalData.spbSexMadurity = gtk.SpinButton(adjustment=adjSexMadurity, climb_rate=1.0, digits=2)
+ table.attach(animalData.spbSexMadurity, 1, 2, 2, 3,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,ypadding=10)
+
+ #frecuenciaSexual = 10
+ sexFrequency = gtk.Label(_('Sexual Frequency'))
+ sexFrequency.set_attributes(label_attributes)
+ table.attach(sexFrequency, 0, 1, 3, 4,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,xpadding=10)
+
+ adjSexFrequency = gtk.Adjustment(animalData.frecuenciaSexual, 1, 400, 1, 1, 0)
+ animalData.spbSexFrequency = gtk.SpinButton(adjustment=adjSexFrequency, climb_rate=1.0, digits=2)
+ table.attach(animalData.spbSexFrequency, 1, 2, 3, 4,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,ypadding=10)
+
+ #nivelCadenaAlimenticia = 1
+
+ #minFrecuenciaAlimentacion = 10
+ minFeedFrequency = gtk.Label(_('Min Feeding Frequency'))
+ minFeedFrequency.set_attributes(label_attributes)
+ table.attach(minFeedFrequency, 0, 1, 4, 5,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,xpadding=10)
+
+ adjMinFeedFrequency = gtk.Adjustment(animalData.minFrecuenciaAlimentacion, 1, 400, 1, 1, 0)
+ animalData.spbMinFeedFrequency = gtk.SpinButton(adjustment=adjMinFeedFrequency, climb_rate=1.0, digits=2)
+ table.attach(animalData.spbMinFeedFrequency, 1, 2, 4, 5,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,ypadding=10)
+
+ #maxFrecuenciaAlimentacion = 1
+ maxFeedFrequency = gtk.Label(_('Max Feeding Frequency'))
+ maxFeedFrequency.set_attributes(label_attributes)
+ table.attach(maxFeedFrequency, 0, 1, 5, 6,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,xpadding=10)
+
+ adjMaxFeedFrequency = gtk.Adjustment(animalData.maxFrecuenciaAlimentacion, 1, 400, 1, 1, 0)
+ animalData.spbMaxFeedFrequency = gtk.SpinButton(adjustment=adjMaxFeedFrequency, climb_rate=1.0, digits=2)
+ table.attach(animalData.spbMaxFeedFrequency, 1, 2, 5, 6,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,ypadding=10)
+
+ #maxNumeroCrias = 5
+
+ maxChidren = gtk.Label(_('Max Children'))
+ maxChidren.set_attributes(label_attributes)
+ table.attach(maxChidren, 0, 1, 6, 7,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,xpadding=10)
+
+ adjMaxChidren = gtk.Adjustment(animalData.maxNumeroCrias, 1, 400, 1, 1, 0)
+ animalData.spbMaxChidren = gtk.SpinButton(adjustment=adjMaxChidren, climb_rate=1.0, digits=2)
+ table.attach(animalData.spbMaxChidren, 1, 2, 6, 7,yoptions=gtk.SHRINK,xoptions=gtk.SHRINK,ypadding=10)
+
def onDrawingAreaExposed(self,da, event):
#print "drawingarea exposed"
diff --git a/icons/experiment.svg b/icons/experiment.svg
new file mode 100644
index 0000000..311661e
--- /dev/null
+++ b/icons/experiment.svg
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="55"
+ height="55"
+ viewBox="0 0 55 55"
+ id="svg120"
+ xml:space="preserve"
+ sodipodi:version="0.32"
+ inkscape:version="0.46+devel"
+ sodipodi:docname="experiment.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+ id="metadata25"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1280"
+ inkscape:window-height="950"
+ id="namedview23"
+ showgrid="false"
+ inkscape:zoom="12.709091"
+ inkscape:cx="27.5"
+ inkscape:cy="27.5"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:current-layer="svg120" /><defs
+ id="defs133"><inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 27.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="55 : 27.5 : 1"
+ inkscape:persp3d-origin="27.5 : 18.333333 : 1"
+ id="perspective27" />
+
+ <inkscape:perspective
+ id="perspective103"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective867"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective896"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective896-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /></defs><path
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.5145123;stroke-miterlimit:3.4000001;stroke-opacity:1;stroke-dasharray:none"
+ d="M 20.364535,7.9362609 C 19.85929,8.0678112 19.415184,8.2070125 18.996734,8.3349112 18.859164,8.3671424 18.745183,8.4302044 18.610257,8.4644769 17.02087,8.8681695 15.643855,9.3707273 16.274712,9.9464474 18.904299,12.346209 21.245791,22.173565 20.49179,25.228213 20.215658,29.097106 10.056539,46.221551 14.328318,47.265271 18.11448,49.339944 26.246259,46.95328 31.032363,45.764813 36.012064,44.797267 43.306481,42.989049 45.279893,39.92827 48.491317,37.129495 30.700708,26.599095 28.452663,23.322205 26.206916,20.971094 23.169628,11.306926 24.235585,8.0404389 24.54769,7.0840382 22.314568,7.4285304 20.364535,7.9362609 z"
+ id="path857"
+ sodipodi:nodetypes="cssscccccsc" /><path
+ style="stroke:#000000;stroke-width:2.5145123;stroke-miterlimit:3.4000001;stroke-opacity:1;stroke-dasharray:none"
+ d="m 19.213453,29.061001 16.072839,0.47492 0,-0.09498"
+ id="path882" /><path
+ sodipodi:type="arc"
+ style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3.4000001;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path884"
+ sodipodi:cx="25.926323"
+ sodipodi:cy="34.778255"
+ sodipodi:rx="0.98354793"
+ sodipodi:ry="1.0228899"
+ d="m 26.909871,34.778255 a 0.98354793,1.0228899 0 1 1 -1.967096,0 0.98354793,1.0228899 0 1 1 1.967096,0 z"
+ transform="matrix(1.3094306,0,0,1.2071605,-10.768575,-8.267717)" /><path
+ transform="matrix(1.3094306,0,0,1.2071605,-1.3412361,-5.6081657)"
+ sodipodi:type="arc"
+ style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3.4000001;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path884-3"
+ sodipodi:cx="25.926323"
+ sodipodi:cy="34.778255"
+ sodipodi:rx="0.98354793"
+ sodipodi:ry="1.0228899"
+ d="m 26.909871,34.778255 a 0.98354793,1.0228899 0 1 1 -1.967096,0 0.98354793,1.0228899 0 1 1 1.967096,0 z" /><path
+ transform="matrix(1.3094306,0,0,1.2071605,-9.068563,0.37582722)"
+ sodipodi:type="arc"
+ style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3.4000001;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path884-8"
+ sodipodi:cx="25.926323"
+ sodipodi:cy="34.778255"
+ sodipodi:rx="0.98354793"
+ sodipodi:ry="1.0228899"
+ d="m 26.909871,34.778255 a 0.98354793,1.0228899 0 1 1 -1.967096,0 0.98354793,1.0228899 0 1 1 1.967096,0 z" /></svg> \ No newline at end of file
diff --git a/icons/fox.svg b/icons/fox.svg
new file mode 100644
index 0000000..731024d
--- /dev/null
+++ b/icons/fox.svg
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="55"
+ height="55"
+ viewBox="0 0 55 55"
+ id="svg2491"
+ xml:space="preserve"
+ sodipodi:version="0.32"
+ inkscape:version="0.46+devel"
+ sodipodi:docname="fox.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+ id="metadata1051"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1280"
+ inkscape:window-height="950"
+ id="namedview1049"
+ showgrid="false"
+ inkscape:zoom="12.136524"
+ inkscape:cx="25.168604"
+ inkscape:cy="27.29188"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:current-layer="svg2491"
+ showguides="true"
+ inkscape:guide-bbox="true" />
+<defs
+ id="defs2511"><inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 27.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="55 : 27.5 : 1"
+ inkscape:persp3d-origin="27.5 : 18.333333 : 1"
+ id="perspective1053" /> <inkscape:perspective
+ id="perspective1084"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /></defs>
+
+
+
+
+
+
+
+
+<g
+ id="g1610"
+ transform="matrix(1,0,0,0.9758646,0,1.2849021)"><path
+ style="fill:#ffffff;stroke:#010101;stroke-width:3.03687189999999996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;fill-opacity:1"
+ d="m 19.380327,9.2626586 c -0.920604,2.5574124 -0.933591,4.4630874 -3.439597,8.7535994 -2.56545,2.730744 -5.593555,14.020317 5.70973,24.863515 0.71628,0.311558 3.755396,2.852257 4.471476,3.164448 l 0.218873,0.08769 0.400254,-0.128785 c 0.71608,-0.31219 3.789591,-2.852889 4.505872,-3.164447 11.303284,-10.8432 8.27518,-22.091676 5.709729,-24.82242 C 34.450659,13.725746 34.437672,11.820071 33.517068,9.2626586 29.185766,14.988995 28.367034,14.7642 26.431499,15.057295 24.521812,14.772472 23.684938,14.953711 19.380327,9.2626586 z"
+ id="path2401"
+ sodipodi:nodetypes="ccccccccccc" /></g><path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3.4000001;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path1098"
+ sodipodi:cx="27.891018"
+ sodipodi:cy="42.475822"
+ sodipodi:rx="1.3595326"
+ sodipodi:ry="1.7303143"
+ d="m 29.250551,42.475822 a 1.3595326,1.7303143 0 1 1 -2.719066,0 1.3595326,1.7303143 0 1 1 2.719066,0 z"
+ transform="matrix(1.1006708,0,0,1.2523804,-4.2501318,-6.3439597)" /><g
+ id="g2258"
+ transform="translate(0.5366614,0)"><path
+ style="fill:#010101;stroke-width:3.20000005;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path3185"
+ d="m 23.4774,29.476396 a 1.7108255,2.4707289 0 0 1 -3.42165,0 1.7108255,2.4707289 0 1 1 3.42165,0 z" /><path
+ style="fill:#010101;stroke-width:3.20000005;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path3187"
+ d="m 31.768322,29.701007 a 1.7108257,2.4707293 0 0 1 -3.421651,0 1.7108257,2.4707293 0 1 1 3.421651,0 z" /></g></svg> \ No newline at end of file
diff --git a/icons/rabbit.svg b/icons/rabbit.svg
new file mode 100644
index 0000000..670098a
--- /dev/null
+++ b/icons/rabbit.svg
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="55"
+ height="55"
+ viewBox="0 0 55 55"
+ id="svg2491"
+ xml:space="preserve"
+ sodipodi:version="0.32"
+ inkscape:version="0.46+devel"
+ sodipodi:docname="rabbit.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+ id="metadata1051"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1280"
+ inkscape:window-height="950"
+ id="namedview1049"
+ showgrid="false"
+ inkscape:zoom="12.709091"
+ inkscape:cx="27.5"
+ inkscape:cy="27.5"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:current-layer="svg2491" />
+<defs
+ id="defs2511"><inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 27.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="55 : 27.5 : 1"
+ inkscape:persp3d-origin="27.5 : 18.333333 : 1"
+ id="perspective1053" /> </defs>
+
+
+
+<path
+ style="fill:#ffffff;stroke:#010101;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;fill-opacity:1"
+ d="m 15.532716,7.7954984 c -1.558417,0.1013123 -3.257785,0.9674439 -4.997942,3.0263756 2.198245,-0.09424 8.427941,4.136096 9.528785,6.00889 -12.6667332,0.805494 -16.1129323,21.341247 3.45652,29.781288 0.402526,0.141002 1.015668,0.439692 1.634841,0.745629 l 1.646536,0.412754 0.735661,-0.149591 c 0.602209,-0.166706 1.195572,-0.344955 1.58813,-0.482465 19.569452,-8.440041 16.870609,-29.282819 4.203876,-30.088313 1.100844,-1.872793 7.33054,-6.103127 9.528786,-6.00889 C 35.788142,2.6763169 29.801125,13.632251 26.462792,16.479879 23.989008,14.148804 20.207961,7.4915711 15.532716,7.7954984 z"
+ id="path2401"
+ sodipodi:nodetypes="cccccccccccc" />
+
+<path
+ d="m 23.35558,25.753517 a 2.3233019,2.7689337 0 0 1 -4.646604,0 2.3233019,2.7689337 0 1 1 4.646604,0 z"
+ id="path3185"
+ style="fill:#010101;stroke-width:3.20000005;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none" />
+<path
+ d="m 34.614656,26.005239 a 2.3233018,2.7689335 0 0 1 -4.646603,0 2.3233018,2.7689335 0 1 1 4.646603,0 z"
+ id="path3187"
+ style="fill:#010101;stroke-width:3.20000005;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none" />
+<path
+ d="M 20.853565,38.591297 C 25.48208,36.468587 28.50298,35.433213 32.827501,33.38906"
+ id="path3189"
+ style="fill:none;stroke:#010101;stroke-width:3.18649483;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+<path
+ d="m 20.942921,33.640784 c 4.628515,2.12271 7.649415,3.158082 11.973936,5.202235"
+ id="path3195"
+ style="fill:none;stroke:#010101;stroke-width:3.18649483;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /></svg> \ No newline at end of file
diff --git a/icons/rain.svg b/icons/rain.svg
new file mode 100644
index 0000000..6e9a123
--- /dev/null
+++ b/icons/rain.svg
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="55"
+ height="55"
+ viewBox="0 0 55 55"
+ id="svg2491"
+ xml:space="preserve"
+ sodipodi:version="0.32"
+ inkscape:version="0.46+devel"
+ sodipodi:docname="rain.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+ id="metadata1051"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1280"
+ inkscape:window-height="950"
+ id="namedview1049"
+ showgrid="false"
+ inkscape:zoom="12.136524"
+ inkscape:cx="29.992444"
+ inkscape:cy="27.29188"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:current-layer="svg2491"
+ showguides="true"
+ inkscape:guide-bbox="true" />
+<defs
+ id="defs2511"><inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 27.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="55 : 27.5 : 1"
+ inkscape:persp3d-origin="27.5 : 18.333333 : 1"
+ id="perspective1053" /> <inkscape:perspective
+ id="perspective1084"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective808"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective808-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective808-8"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective808-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective808-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective808-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective808-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective808-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective808-99"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective808-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective808-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /></defs>
+
+
+
+
+
+
+
+
+<g
+ id="g1610"
+ transform="matrix(1,0,0,0.9758646,0,1.2849021)" /><path
+ style="stroke-width:2;fill:#ffffff;stroke:#000000;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1"
+ d="M 10.711469,9.7646431 C 12.908473,1.6223845 18.121705,-0.35112408 25.954713,7.2927654 26.091367,5.3527869 37.302279,-3.0881252 42.681084,10.42381 50.055348,3.6140835 53.918381,30.664282 41.774729,24.183927 31.600193,34.115097 24.925984,26.03796 23.977212,23.112781 22.447146,25.401391 7.8026254,35.373719 10.958657,19.322568 -5.6646639,17.134363 8.1232586,7.739307 10.711469,9.7646431 z"
+ id="path24"
+ sodipodi:nodetypes="ccccccc" /><path
+ style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 8.0747996,30.610809 c -0.587988,1.705779 -1.035633,2.637342 -1.400731,3.955004"
+ id="path798"
+ sodipodi:nodetypes="cc" /><path
+ style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 17.591528,31.269976 c -0.587988,1.705779 -1.035633,2.637342 -1.400731,3.955004"
+ id="path798-9"
+ sodipodi:nodetypes="cc" /><path
+ style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 27.973414,31.764352 c -0.587988,1.705779 -1.035633,2.637342 -1.400731,3.955004"
+ id="path798-2"
+ sodipodi:nodetypes="cc" /><path
+ style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="M 37.696131,32.093936 C 37.108143,33.799715 36.660498,34.731278 36.2954,36.04894"
+ id="path798-96"
+ sodipodi:nodetypes="cc" /><path
+ style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 11.411834,36.708107 c -0.587988,1.705779 -1.035633,2.637342 -1.400731,3.955004"
+ id="path798-6"
+ sodipodi:nodetypes="cc" /><path
+ style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 21.052157,37.284878 c -0.587988,1.705779 -1.035633,2.637342 -1.400731,3.955004"
+ id="path798-0"
+ sodipodi:nodetypes="cc" /><path
+ style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 31.516438,37.202482 c -0.587988,1.705779 -1.035633,2.637342 -1.400731,3.955004"
+ id="path798-4"
+ sodipodi:nodetypes="cc" /><path
+ style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 14.707671,42.8878 c -0.587988,1.705779 -1.035633,2.637342 -1.400731,3.955004"
+ id="path798-46"
+ sodipodi:nodetypes="cc" /><path
+ style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 40.662384,38.108837 c -0.587988,1.705779 -1.035633,2.637342 -1.400731,3.955004"
+ id="path798-3"
+ sodipodi:nodetypes="cc" /><path
+ style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 46.430098,32.588311 c -0.587988,1.705779 -1.035633,2.637342 -1.400731,3.955004"
+ id="path798-5"
+ sodipodi:nodetypes="cc" /><path
+ style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 24.759973,42.805405 c -0.587988,1.705779 -1.035633,2.637342 -1.400731,3.955004"
+ id="path798-1"
+ sodipodi:nodetypes="cc" /><path
+ style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 34.48269,42.970196 c -0.587988,1.705779 -1.035633,2.637342 -1.400731,3.955004"
+ id="path798-09"
+ sodipodi:nodetypes="cc" /></svg> \ No newline at end of file
diff --git a/locale/es/LC_MESSAGES/org.laptop.sample.Ecomundo.mo b/locale/es/LC_MESSAGES/org.laptop.sample.Ecomundo.mo
index 1857442..0887eb9 100644
--- a/locale/es/LC_MESSAGES/org.laptop.sample.Ecomundo.mo
+++ b/locale/es/LC_MESSAGES/org.laptop.sample.Ecomundo.mo
Binary files differ
diff --git a/po/Ecomundo.pot b/po/Ecomundo.pot
index b7edddd..c763d99 100644
--- a/po/Ecomundo.pot
+++ b/po/Ecomundo.pot
@@ -22,7 +22,7 @@ msgid "Ecomundo"
msgstr ""
#: /home/gonzalo/Activities/Ecomundo.activity/ecomundoactivity.py:173
-msgid "Initial Values"
+msgid "Initial quantities"
msgstr ""
#: /home/gonzalo/Activities/Ecomundo.activity/ecomundoactivity.py:178
diff --git a/po/es.po b/po/es.po
index 182d530..c46de96 100644
--- a/po/es.po
+++ b/po/es.po
@@ -22,8 +22,8 @@ msgid "Ecomundo"
msgstr "Ecomundo"
#: /home/gonzalo/Activities/Ecomundo.activity/ecomundoactivity.py:173
-msgid "Initial Values"
-msgstr "Valores Iniciales"
+msgid "Initial quantities"
+msgstr "Cantidades iniciales"
#: /home/gonzalo/Activities/Ecomundo.activity/ecomundoactivity.py:178
msgid "Green"