From 6fc4da37d973031122278d5481fe7d632eed1c5a Mon Sep 17 00:00:00 2001 From: Ana Belén Trinidad Candia Date: Fri, 25 Jan 2013 19:13:44 +0000 Subject: Merge --- diff --git a/activity.py b/activity.py index 16e7b46..7e15a1a 100644 --- a/activity.py +++ b/activity.py @@ -26,6 +26,8 @@ from sugar.activity.widgets import ActivityToolbox from sugar.activity.widgets import TitleEntry from sugar.activity.widgets import StopButton from sugar.activity.widgets import ShareButton +from ConfigParser import SafeConfigParser +from subprocess import Popen class AudioPatternActivity(activity.Activity): @@ -69,6 +71,7 @@ class AudioPatternActivity(activity.Activity): jugarButton = gtk.Button() principalVbox.pack_start(cabeceraHbox, fill=False) jugarButton.set_label('JUGAR') + jugarButton.connect('focus-in-event', self.__say_text) cabeceraHbox.pack_start(jugarButton, fill=False) jugarButton.set_size_request(150, 50) @@ -83,11 +86,17 @@ class AudioPatternActivity(activity.Activity): cancelarButton = gtk.Button() cancelarButton.set_label('CANCELAR') + cancelarButton.connect('focus-in-event', self.__say_text) cabeceraHbox.pack_start(cancelarButton, fill=False) cancelarButton.connect('clicked', self.__button_clicked_cb, 'CANCELAR') cuerpoHbox = gtk.HBox(False, 20) cancelarButton.set_size_request(150, 50) + self.connect('key-press-event', self.__on_key_press_event) + + parser = SafeConfigParser() + parser.read('config.ini') + seleccionadosTable = gtk.Table(4, 1, True) seleccionadoUnoButton = gtk.Button() @@ -99,6 +108,10 @@ class AudioPatternActivity(activity.Activity): seleccionadosTable.set_size_request(200, 400) #resultadoButton = gtk.Button() + seleccionadoUnoButton.connect('focus-in-event', self.__say_text) + seleccionadoDosButton.connect('focus-in-event', self.__say_text) + seleccionadoTresButton.connect('focus-in-event', self.__say_text) + opcionesTable = gtk.Table(3,3, True) opcionUno = gtk.Button() @@ -110,7 +123,36 @@ class AudioPatternActivity(activity.Activity): opcionSiete = gtk.Button() opcionOcho = gtk.Button() opcionNueve = gtk.Button() - + + opcionUno.connect('focus-in-event', self.__say_text) + opcionDos.connect('focus-in-event', self.__say_text) + opcionTres.connect('focus-in-event', self.__say_text) + opcionCuatro.connect('focus-in-event', self.__say_text) + opcionCinco.connect('focus-in-event', self.__say_text) + opcionSeis.connect('focus-in-event', self.__say_text) + opcionSiete.connect('focus-in-event', self.__say_text) + opcionOcho.connect('focus-in-event', self.__say_text) + opcionNueve.connect('focus-in-event', self.__say_text) + + uno = parser.get('cantidad', 'tres') + ' ' + parser.get('elemento', 'leones') + ' de ' + parser.get('material', 'metal') + opcionUno.set_label(uno) + dos = parser.get('cantidad', 'cuatro') + ' ' + parser.get('elemento', 'jirafas') + ' de ' + parser.get('material', 'madera') + opcionDos.set_label(dos) + tres = parser.get('cantidad', 'cinco') + ' ' + parser.get('elemento', 'monos') + ' de ' + parser.get('material', 'vidrio') + opcionTres.set_label(tres) + cuatro = parser.get('cantidad', 'cuatro') + ' ' + parser.get('elemento', 'leones') + ' de ' + parser.get('material', 'madera') + opcionCuatro.set_label(cuatro) + cinco = parser.get('cantidad', 'cinco') + ' ' + parser.get('elemento', 'jirafas') + ' de ' + parser.get('material', 'metal') + opcionCinco.set_label(cinco) + seis = parser.get('cantidad', 'tres') + ' ' + parser.get('elemento', 'monos') + ' de ' + parser.get('material', 'vidrio') + opcionSeis.set_label(seis) + siete = parser.get('cantidad', 'tres') + ' ' + parser.get('elemento', 'leones') + ' de ' + parser.get('material', 'madera') + opcionSiete.set_label(siete) + ocho = parser.get('cantidad', 'cuatro') + ' ' + parser.get('elemento', 'monos') + ' de ' + parser.get('material', 'metal') + opcionOcho.set_label(ocho) + nueve = parser.get('cantidad', 'cinco') + ' ' + parser.get('elemento', 'leones') + ' de ' + parser.get('material', 'vidrio') + opcionNueve.set_label(nueve) + self.set_canvas(principalVbox) @@ -178,9 +220,19 @@ class AudioPatternActivity(activity.Activity): def __on_key_press_event(self, widget, event): keyname = gtk.gdk.keyval_name(event.keyval) - print "Key %s (%d) was pressed" % (keyname, event.keyval) - if keyname == 'space': - print "Dentro del IF" - widget_focus = widget.get_focus - #print widget_focus.get_tab_label + #print "Key %s (%d) was pressed" % (keyname, event.keyval) + # if keyname == 'Left' or keyname == 'Right' or keyname == 'Up' or keyname == 'Down': + # widget_focus = widget.get_focus() + # logging.debug(widget_focus.get_label()) + + def __on_enter_event(self, widget, event): + widget_focus = widget.get_focus() + logging.debug(widget_focus.get_label()) + def __say_text(self, widget, event): + label = widget.get_label() + logging.debug(label) + self.say(label) + + def say(self, text): + Popen(['espeak', '-v', 'es', text]) diff --git a/activity.py~ b/activity.py~ deleted file mode 100644 index fac5a73..0000000 --- a/activity.py~ +++ /dev/null @@ -1,186 +0,0 @@ -# Copyright 2013 Ma. Beatriz Vierci, Ana Belen Trinidad Candia -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -import gtk -import logging - -from gettext import gettext as _ - -from sugar.activity import activity -from sugar.graphics.toolbarbox import ToolbarBox -from sugar.activity.widgets import ActivityButton -from sugar.activity.widgets import ActivityToolbox -from sugar.activity.widgets import TitleEntry -from sugar.activity.widgets import StopButton -from sugar.activity.widgets import ShareButton - -class AudioPatternActivity(activity.Activity): - - def __init__(self, handle): - activity.Activity.__init__(self, handle) - - # we do not have collaboration features - # make the share option insensitive - self.max_participants = 1 - - # toolbar with the new toolbar redesign - toolbar_box = ToolbarBox() - - activity_button = ActivityButton(self) - toolbar_box.toolbar.insert(activity_button, 0) - activity_button.show() - - title_entry = TitleEntry(self) - toolbar_box.toolbar.insert(title_entry, -1) - title_entry.show() - - share_button = ShareButton(self) - toolbar_box.toolbar.insert(share_button, -1) - share_button.show() - - separator = gtk.SeparatorToolItem() - separator.props.draw = False - separator.set_expand(True) - toolbar_box.toolbar.insert(separator, -1) - separator.show() - - stop_button = StopButton(self) - toolbar_box.toolbar.insert(stop_button, -1) - stop_button.show() - - self.set_toolbar_box(toolbar_box) - toolbar_box.show() - - principalVbox = gtk.VBox(False, 50) - cabeceraHbox = gtk.HBox() - jugarButton = gtk.Button() - principalVbox.pack_start(cabeceraHbox, fill=False) - jugarButton.set_label('JUGAR') - cabeceraHbox.pack_start(jugarButton, fill=False) - jugarButton.set_size_request(150, 50) - - #jugarButton.connect('clicked', self.__button_clicked_cb, 'CLICKED') - #jugarButton.connect('enter', self.__button_clicked_cb, 'ENTER') - #jugarButton.connect('activate', self.__button_clicked_cb, 'ACTIVATE') - #jugarButton.connect('leave', self.__button_clicked_cb, 'LEAVE') - #jugarButton.connect('pressed', self.__button_clicked_cb, 'PRESSED') - #jugarButton.connect('released', self.__button_clicked_cb, 'RELEASED') - #jugarButton.connect('BUTTON_PRESS', self.__button_clicked_cb, 'BUTTON_PRESS') - #key_press_event - - cancelarButton = gtk.Button() - cancelarButton.set_label('CANCELAR') - cabeceraHbox.pack_start(cancelarButton, fill=False) - cancelarButton.connect('clicked', self.__button_clicked_cb, 'CANCELAR') - cuerpoHbox = gtk.HBox(False, 20) - cancelarButton.set_size_request(150, 50) - - seleccionadosTable = gtk.Table(4, 1, True) - - seleccionadoUnoButton = gtk.Button() - #seleccionadosTable.pack_start(seleccionadoUnoButton, fill=False) - - - seleccionadoDosButton = gtk.Button() - seleccionadoTresButton = gtk.Button() - seleccionadosTable.set_size_request(200, 400) - #resultadoButton = gtk.Button() - - opcionesTable = gtk.Table(3,3, True) - opcionUno = gtk.Button() - - opcionDos = gtk.Button() - opcionTres = gtk.Button() - opcionCuatro = gtk.Button() - opcionCinco = gtk.Button() - opcionSeis = gtk.Button() - opcionSiete = gtk.Button() - opcionOcho = gtk.Button() - opcionNueve = gtk.Button() - - self.set_canvas(principalVbox) - - - cabeceraHbox.add(jugarButton) - cabeceraHbox.add(cancelarButton) - - - principalVbox.add(cabeceraHbox) - principalVbox.add(cuerpoHbox) - - cuerpoHbox.add(seleccionadosTable) - cuerpoHbox.add(opcionesTable) - - seleccionadosTable.attach(seleccionadoUnoButton, 0, 1, 0, 1, 10, 20, 10, 5) - seleccionadoUnoButton.set_size_request(180, 80) - - seleccionadosTable.attach(seleccionadoDosButton, 0, 1, 1, 2, 10, 30, 10, 5) - seleccionadoDosButton.set_size_request(180, 80) - - seleccionadosTable.attach(seleccionadoTresButton, 0, 1, 2, 3, 10, 20, 10, 5) - seleccionadoTresButton.set_size_request(180, 80) - #seleccionadosTable.attach(selecionadoUnoButton, 0, 1 - - seleccionadosTable.set_row_spacings(10) - seleccionadosTable.set_col_spacings(10) - - opcionesTable.attach( opcionUno, 0, 1, 0, 1, 10, 10) - opcionUno.set_size_request(180, 80) - - opcionesTable.attach( opcionDos, 1, 2, 0, 1, 10, 10) - opcionDos.set_size_request(180, 80) - - opcionesTable.attach( opcionTres, 2, 3, 0, 1, 10, 10) - opcionTres.set_size_request(180, 80) - - opcionesTable.attach( opcionCuatro, 0, 1, 1, 2, 10, 10) - opcionCuatro.set_size_request(180, 80) - - opcionesTable.attach( opcionCinco, 1, 2, 1, 2, 10, 10) - opcionCinco.set_size_request(180, 80) - - opcionesTable.attach( opcionSeis, 2, 3, 1, 2, 10, 10) - opcionSeis.set_size_request(180, 80) - - opcionesTable.attach( opcionSiete, 0, 1, 2, 3, 10, 10) - opcionSiete.set_size_request(180, 80) - - opcionesTable.attach( opcionOcho, 1, 2, 2, 3, 10, 10) - opcionOcho.set_size_request(180, 80) - - opcionesTable.attach( opcionNueve, 2, 3, 2, 3, 10, 10) - opcionNueve.set_size_request(180, 80) - - opcionesTable.set_row_spacings(50) - opcionesTable.set_col_spacings(10) - - principalVbox.show_all() - #window.show_all() - - #def destroy(self, window, data=None): - #gtk.main_quit() - - def __button_clicked_cb(self, window, data=None): - print(data) - - def __on_key_press_event(self, widget, event): - keyname = gtk.gdk.keyval_name(event.keyval) - print "Key %s (%d) was pressed" % (keyname, event.keyval) - if keyname == 'space': - print "Dentro del IF" - widget_focus = widget.get_focus - #print widget_focus.get_tab_label - diff --git a/config.ini b/config.ini index 820e711..8792440 100644 --- a/config.ini +++ b/config.ini @@ -1,9 +1,15 @@ [elemento] leones = leones +jirafas = jirafas +monos = monos [cantidad] tres = 3 +cuatro = 4 +cinco = 5 [material] metal = metal +madera = madera +vidrio = vidrio diff --git a/config.ini~ b/config.ini~ new file mode 100644 index 0000000..820e711 --- /dev/null +++ b/config.ini~ @@ -0,0 +1,9 @@ +[elemento] +leones = leones + +[cantidad] +tres = 3 + +[material] +metal = metal + -- cgit v0.9.1