[tuxdroid-svn] r638 - in software/gadgets: . tux_controller tux_controller/trunk tux_controller/tru
Status: Beta
Brought to you by:
ks156
Author: Paul_R Date: 2007-10-19 16:54:45 +0200 (Fri, 19 Oct 2007) New Revision: 638 Added: software/gadgets/tux_controller/ software/gadgets/tux_controller/branches/ software/gadgets/tux_controller/tags/ software/gadgets/tux_controller/trunk/ software/gadgets/tux_controller/trunk/TuxDroidController.tgf software/gadgets/tux_controller/trunk/TuxDroidController/ software/gadgets/tux_controller/trunk/TuxDroidController/Pictures/ software/gadgets/tux_controller/trunk/TuxDroidController/Pictures/Icons/ software/gadgets/tux_controller/trunk/TuxDroidController/Pictures/Icons/gadget.png software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/ software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/ software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/ software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/cmd/ software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/cmd/other.glade software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/cmd/other.pyp software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/conf/ software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/conf/other.glade software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/conf/other.pyp software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/control/ software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/control/other.glade software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/control/other.pyp software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/widget/ software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/widget/other.glade software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/widget/other.pyp software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/init.pyp software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/main.pyp software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/notify.pyp software/gadgets/tux_controller/trunk/TuxDroidController/Strings/ software/gadgets/tux_controller/trunk/TuxDroidController/Strings/fr_ALL.xml software/gadgets/tux_controller/trunk/TuxDroidController/about.xml software/gadgets/tux_controller/trunk/TuxDroidController/parts.xml software/gadgets/tux_controller/trunk/TuxDroidController/settings.xml software/gadgets/tux_controller/trunk/TuxDroidController/strings.xml Log: * Added the tux controller gadget (R?\195?\169mi version) Added: software/gadgets/tux_controller/trunk/TuxDroidController/Pictures/Icons/gadget.png =================================================================== (Binary files differ) Property changes on: software/gadgets/tux_controller/trunk/TuxDroidController/Pictures/Icons/gadget.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/cmd/other.glade =================================================================== (Binary files differ) Property changes on: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/cmd/other.glade ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/cmd/other.pyp =================================================================== --- software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/cmd/other.pyp (rev 0) +++ software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/cmd/other.pyp 2007-10-19 14:54:45 UTC (rev 638) @@ -0,0 +1,34 @@ +bindtextdomain("params", "") + +class Window(SimpleGladeApp): + + def __init__(self, + path=_me.get_path('root') + '/Scripts/Python/GUI/cmd/other.glade', + root="window1", + domain="params", **kwargs): + SimpleGladeApp.__init__(self, path, root, domain, **kwargs) + + def new(self): + self.get_widget("window1").set_title(_me.string('name_to_read')) + thread.start_new_thread(self.update, ()) + + def update(self): + _me.update_informations() + + #-------------------------------------------------------------------------- + # On "Send command" button clicked + #-------------------------------------------------------------------------- + def on_button1_clicked(self, widget, *args): + commandst=self.get_widget("entry1").get_text() + commands=commandst.split(" ") + if len(commands)<4: + return + else: + commandp=[0,0,0,0] + for i in range(len(commands)): + if commands[i].find("0x")!=-1: + commandp[i]=int(commands[i][2:],16) + else: + commandp[i]=int(commands[i]) + tux.cmd.raw(int(commandp[0]),int(commandp[1]),int(commandp[2]), + int(commandp[3])) Added: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/conf/other.glade =================================================================== (Binary files differ) Property changes on: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/conf/other.glade ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Name: svn:mime_type + application/octet-stream Added: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/conf/other.pyp =================================================================== --- software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/conf/other.pyp (rev 0) +++ software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/conf/other.pyp 2007-10-19 14:54:45 UTC (rev 638) @@ -0,0 +1,91 @@ +bindtextdomain("params", "") + +class Window(SimpleGladeApp): + + def __init__(self, + path=_me.get_path('root') + '/Scripts/Python/GUI/conf/other.glade', + root="window1", + domain="params", **kwargs): + """ + Constructor + """ + SimpleGladeApp.__init__(self, path, root, domain, **kwargs) + + def new(self): + """ + On new window + """ + self.updates_commons() + self.updates_specifics() + + def updates_commons(self): + """ + Updates common widgets + """ + # Window title + txt = "%s : %s" % (_me.string('name_to_read'), + _me.string('gui_conf_window_title')) + self.get_widget("window1").set_title(txt) + + # About labels + txt = _me.string('gui_conf_about_title') + self.get_widget("label7").set_text(txt) + + txt = "%s : %s" % (_me.string('gui_conf_description_lb'), + _me.get_description()) + self.get_widget("label_description").set_text(txt) + + txt = "%s : %s" % (_me.string('gui_conf_author_lb'), + _me.get_author()) + self.get_widget("label_author").set_text(txt) + + txt = "%s : %s" % (_me.string('gui_conf_version_lb'), + _me.get_version()) + self.get_widget("label_version").set_text(txt) + + # Remote Frame + txt = _me.string('gui_conf_remote_title') + self.get_widget("label11").set_text(txt) + + txt = "%s : None" % _me.string('gui_conf_current_bind_lb') + self.get_widget("label_remote").set_text(txt) + + txt = _me.string('gui_conf_remote_set_bt') + self.get_widget("button_remote").set_label(txt) + + # Bottom buttons + txt = _me.string('gui_conf_cancel_bt') + self.get_widget("label6").set_text(txt) + + txt = _me.string('gui_conf_accept_bt') + self.get_widget("label5").set_text(txt) + + def updates_specifics(self): + """ + Updates specific widgets + """ + pass + + def on_button_remote_clicked(self, widget, *args): + """ + On button 'set' remote clicked + """ + def remote_set_caption(): + tux.sys.wait(0.1) + gadgets['Manager'].gui('remote').window.set_captions(gadgets[_me.get_name()]) + if gadgets.has_key('Manager'): + if not gadgets['Manager'].gui('remote').showed(): + gadgets['Manager'].gui('remote').show() + thread.start_new_thread(remote_set_caption, ()) + + def on_accept_clicked(self, widget, *args): + """ + On button 'accept' clicked + """ + self.get_widget("window1").destroy() + + def on_cancel_clicked(self, widget, *args): + """ + On button 'cancel' clicked + """ + self.get_widget("window1").destroy() Added: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/control/other.glade =================================================================== (Binary files differ) Property changes on: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/control/other.glade ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/control/other.pyp =================================================================== --- software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/control/other.pyp (rev 0) +++ software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/control/other.pyp 2007-10-19 14:54:45 UTC (rev 638) @@ -0,0 +1,262 @@ +bindtextdomain("params", "") + +class Window(SimpleGladeApp): + + def __init__(self, + path=_me.get_path('root') + '/Scripts/Python/GUI/control/other.glade', + root="window1", + domain="params", **kwargs): + SimpleGladeApp.__init__(self, path, root, domain, **kwargs) + + def new(self): + import gobject + + self.get_widget("window1").set_title(_me.string('name_to_read')) + self.toggled_by_event = False + self.onpause = False + self.onplay = False + self.status_list_st = [] + self.status_list_changed = False + self.bind_events() + self.xterm_cmd = self.get_terminal() + tux.status.lled() + tux.status.rled() + tux.cmd.leds_blink(2, 20) + self.on_mouth_stop() + self.on_eyes_stop() + thread.start_new_thread(self.status_viewer_thread, ()) + + def on_window1_destroy(self, widget, *args): + _me.exit_main_loop() + + def bind_events(self): + tux.event.on_left_blue_led_on = self.on_left_blue_led_on + tux.event.on_left_blue_led_off = self.on_left_blue_led_off + tux.event.on_right_blue_led_on = self.on_right_blue_led_on + tux.event.on_right_blue_led_off = self.on_right_blue_led_off + tux.event.on_mouth_stop = self.on_mouth_stop + tux.event.on_eyes_stop = self.on_eyes_stop + tux.event.on_status = self.on_status + + def unbind_events(self): + tux.event.on_left_blue_led_on = None + tux.event.on_left_blue_led_off = None + tux.event.on_right_blue_led_on = None + tux.event.on_right_blue_led_off = None + tux.event.on_mouth_stop = None + tux.event.on_eyes_stop = None + tux.event.on_status = None + + def get_terminal(self): + terminal_shells = [ + ('gnome-terminal', '-x'), # gnome + ('konsole', '-e'), # kde + ('Terminal', '-x'), # xfce + ('xfce4-terminal', '-x'), # xfce + ('xterm', '-e'), # X + ] + if not os.popen('type ipython').close(): + py_cmd = 'ipython' + else: + py_cmd = 'python' + for term in terminal_shells: + if not os.popen('type %s'%term[0]).close(): + xterm_cmd = '%s %s %s -i /opt/tuxdroid/api/python/tux.py' \ + % (term[0], term[1], py_cmd) + return xterm_cmd + + #========================================================================== + # Leds functions + #========================================================================== + + #--------- + # Left led + #--------- + def on_ledl_toggled(self, widget, *args): + if self.toggled_by_event: return + if widget.get_active(): + tux.cmd.ledr_on() + else: + tux.cmd.ledr_off() + + def on_left_blue_led_on(self): + self.toggled_by_event = True + self.get_widget("checkbutton1").set_active(True) + self.toggled_by_event = False + + def on_left_blue_led_off(self): + self.toggled_by_event = True + self.get_widget("checkbutton1").set_active(False) + self.toggled_by_event = False + + def on_ledr_toggled(self, widget, *args): + if self.toggled_by_event: return + if widget.get_active(): + tux.cmd.ledl_on() + else: + tux.cmd.ledl_off() + + def on_right_blue_led_on(self): + self.toggled_by_event = True + self.get_widget("checkbutton2").set_active(True) + self.toggled_by_event = False + + def on_right_blue_led_off(self): + self.toggled_by_event = True + self.get_widget("checkbutton2").set_active(False) + self.toggled_by_event = False + + def on_flash_bt_clicked(self, widget, *args): + def _funct(): + num_sb = self.get_widget("spinbutton1") + tux.cmd.leds_blink(int(num_sb.get_value()), 15) + + thread.start_new_thread(_funct, ()) + + #========================================================================== + # Mouth functions + #========================================================================== + + def on_mouth_stop(self): + self.toggled_by_event=True + if tux.status.get_mouth_open_position() == 0: + self.get_widget("radiobutton3").set_active(True) + else: + self.get_widget("radiobutton4").set_active(True) + self.toggled_by_event = False + + def on_beak_open_toggled(self, widget, *args): + if self.toggled_by_event: return + if widget.get_active(): + tux.cmd.mouth_open() + + def on_rbeak_close_toggled(self, widget, *args): + if self.toggled_by_event: return + if widget.get_active(): + tux.cmd.mouth_close() + + def on_beak_talk_bt_clicked(self, widget, *args): + num_sb = self.get_widget("spinbutton3") + tux.cmd.mouth_on_free(int(num_sb.get_value())) + + #========================================================================== + # Eyes functions + #========================================================================== + + def on_eyes_stop(self): + self.toggled_by_event=True + if tux.status.get_eyes_closed_position_switch() == 1: + self.get_widget("radiobutton1").set_active(True) + else: + self.get_widget("radiobutton2").set_active(True) + self.toggled_by_event=False + + def on_eyes_open_toggled(self, widget, *args): + if self.toggled_by_event: return + if widget.get_active(): + tux.cmd.eyes_open() + + def on_eyes_close_toggled(self, widget, *args): + if self.toggled_by_event: return + if widget.get_active(): + tux.cmd.eyes_close() + + def on_eyes_blink_bt_clicked(self, widget, *args): + num_sb = self.get_widget("spinbutton2") + tux.cmd.eyes_on_free(int(num_sb.get_value())) + + #-------------------------------------------------------------------------- + # Event on status + #-------------------------------------------------------------------------- + def on_status(self,frame): + explicite_status = tux.explicit_status(frame) + if explicite_status.find("RF connected->") != -1: + return + if explicite_status.find("Light level->") != -1: + return + if explicite_status.find("RF connected->") != 0: + self.status_list_changed = True + self.status_list_st.append(explicite_status) + if len(self.status_list_st) == 50: + for i in range(1): + self.status_list_st.pop(0) + + #-------------------------------------------------------------------------- + # Status viewer refreshing thread + #-------------------------------------------------------------------------- + def status_viewer_thread(self): + while _me.gui('control').showed(): + if self.status_list_changed: + self.status_list_changed = False + statusview_b=self.get_widget("textview1").get_buffer() + statusview_b.set_text("") + startiter = statusview_b.get_start_iter() + string="" + if self.get_widget("checkbutton3").get_active(): + for i in range(len(self.status_list_st)): + string = self.status_list_st[i] + "\n" + string + else: + string = self.status_list_st[len(self.status_list_st)-1] + "\n" + statusview_b.insert(startiter, string) + + tux.sys.wait(0.5) + + #-------------------------------------------------------------------------- + # On flippers up radiobutton toggled + #-------------------------------------------------------------------------- + def on_flippers_up_toggled(self, widget, *args): + def _funct(): + if self.toggled_by_event: return + if widget.get_active(): + tux.cmd.raw(0x31,0,0,0) + tux.event.wait_status(DATAS_STATUS_WINGS_POSITION_COUNTER,0,5) + tux.cmd.wings_on(1) + + thread.start_new_thread(_funct,()) + + #-------------------------------------------------------------------------- + # On flippers down radiobutton toggled + #-------------------------------------------------------------------------- + def on_flippers_down_toggled(self, widget, *args): + def _funct(): + if self.toggled_by_event: return + if widget.get_active(): + tux.cmd.raw(0x31,0,0,0) + tux.event.wait_status(DATAS_STATUS_WINGS_POSITION_COUNTER,0,5) + + thread.start_new_thread(_funct,()) + + #-------------------------------------------------------------------------- + # On flippers flap button clicked + #-------------------------------------------------------------------------- + def on_flippers_flap_bt_clicked(self, widget, *args): + num_sb = self.get_widget("spinbutton4") + tux.cmd.wings_on_free(int(num_sb.get_value())) + + #-------------------------------------------------------------------------- + # On rotation button clicked + #-------------------------------------------------------------------------- + def on_rotation_spin_bt_clicked(self, widget, *args): + num_sb = self.get_widget("spinbutton5") + if self.get_widget("radiobutton7").get_active(): + tux.cmd.spinl_on_free(int(num_sb.get_value())) + else: + tux.cmd.spinr_on_free(int(num_sb.get_value())) + + #-------------------------------------------------------------------------- + # On "Tux Droid shell" button clicked + #-------------------------------------------------------------------------- + def on_tdshell_bt_clicked(self, widget, *args): + tux.sys.shell_free(self.xterm_cmd) + + #-------------------------------------------------------------------------- + # On "Tux Droid shell" button clicked + #-------------------------------------------------------------------------- + def on_scommand_bt_clicked(self, widget, *args): + _me.gui('cmd').show_from_main() + + #-------------------------------------------------------------------------- + # On "Ping" button clicked + #-------------------------------------------------------------------------- + def on_ping_bt_clicked(self, widget, *args): + thread.start_new_thread(tux.cmd.ping, (200,)) Added: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/widget/other.glade =================================================================== (Binary files differ) Property changes on: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/widget/other.glade ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Name: svn:mime_type + application/octet-stream Added: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/widget/other.pyp =================================================================== --- software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/widget/other.pyp (rev 0) +++ software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/GUI/widget/other.pyp 2007-10-19 14:54:45 UTC (rev 638) @@ -0,0 +1,16 @@ +bindtextdomain("params", "") + +class Window(SimpleGladeApp): + + def __init__(self, + path=_me.get_path('root') + '/Scripts/Python/GUI/widget/other.glade', + root="window1", + domain="params", **kwargs): + SimpleGladeApp.__init__(self, path, root, domain, **kwargs) + + def new(self): + self.get_widget("window1").set_title(_me.string('name_to_read')) + thread.start_new_thread(self.update, ()) + + def update(self): + _me.update_informations() Added: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/init.pyp =================================================================== Added: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/main.pyp =================================================================== --- software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/main.pyp (rev 0) +++ software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/main.pyp 2007-10-19 14:54:45 UTC (rev 638) @@ -0,0 +1,14 @@ +def update_informations(): + pass + +def on_standby(): + if _me.gui('control').showed(): + _me.gui('control').window.unbind_events() + tux.event.on_remote_bt[K_STANDBY] = None + _me.gui('control').hide_from_main() + _me.exit_main_loop() + + +tux.event.on_remote_bt[K_STANDBY] = on_standby +_me.gui('control').show_from_main() +_me.run_main_loop() Added: software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/notify.pyp =================================================================== --- software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/notify.pyp (rev 0) +++ software/gadgets/tux_controller/trunk/TuxDroidController/Scripts/Python/notify.pyp 2007-10-19 14:54:45 UTC (rev 638) @@ -0,0 +1,5 @@ +def notify_checker(): + return False + +def notify_actuator(): + pass Added: software/gadgets/tux_controller/trunk/TuxDroidController/Strings/fr_ALL.xml =================================================================== --- software/gadgets/tux_controller/trunk/TuxDroidController/Strings/fr_ALL.xml (rev 0) +++ software/gadgets/tux_controller/trunk/TuxDroidController/Strings/fr_ALL.xml 2007-10-19 14:54:45 UTC (rev 638) @@ -0,0 +1,19 @@ +<?xml version='1.0' encoding='UTF-8'?> +<strings> + <gui_conf_remote_set_bt type='str'>Set</gui_conf_remote_set_bt> + <gui_conf_about_title type='str'>A propos</gui_conf_about_title> + <gui_conf_version_lb type='str'>Version</gui_conf_version_lb> + <gui_conf_update_title type='str'>Mise à jour</gui_conf_update_title> + <gui_conf_remote_title type='str'>Télécommande</gui_conf_remote_title> + <gui_conf_cancel_bt type='str'>Annuler</gui_conf_cancel_bt> + <gui_conf_window_title type='str'>Paramètres</gui_conf_window_title> + <gui_conf_description_lb type='str'>Description</gui_conf_description_lb> + <gui_conf_delay_lb type='str'>Délai (sec)</gui_conf_delay_lb> + <gui_conf_current_bind_lb type='str'>Assignation</gui_conf_current_bind_lb> + <gui_conf_author_lb type='str'>Auteur</gui_conf_author_lb> + <gui_conf_accept_bt type='str'>Valider</gui_conf_accept_bt> + <name_to_read type='str'>Commander le robot</name_to_read> + <help_text type='str'> + </help_text> + <speaker_name type='str'>Bruno8k</speaker_name> +</strings> Added: software/gadgets/tux_controller/trunk/TuxDroidController/about.xml =================================================================== (Binary files differ) Property changes on: software/gadgets/tux_controller/trunk/TuxDroidController/about.xml ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Name: svn:mime_type + application/octet-stream Added: software/gadgets/tux_controller/trunk/TuxDroidController/parts.xml =================================================================== --- software/gadgets/tux_controller/trunk/TuxDroidController/parts.xml (rev 0) +++ software/gadgets/tux_controller/trunk/TuxDroidController/parts.xml 2007-10-19 14:54:45 UTC (rev 638) @@ -0,0 +1,6 @@ +<?xml version='1.0' encoding='UTF-8'?> +<parts> + <notifications type='bool'>True</notifications> + <parameters_GUI type='bool'>True</parameters_GUI> + <widget_GUI type='bool'>True</widget_GUI> +</parts> Added: software/gadgets/tux_controller/trunk/TuxDroidController/settings.xml =================================================================== --- software/gadgets/tux_controller/trunk/TuxDroidController/settings.xml (rev 0) +++ software/gadgets/tux_controller/trunk/TuxDroidController/settings.xml 2007-10-19 14:54:45 UTC (rev 638) @@ -0,0 +1,26 @@ +<?xml version='1.0' encoding='UTF-8'?> +<settings> + <parameters/> + <general> + <gui_state> + <control> + <visible type='bool'>False</visible> + </control> + <widget> + <visible type='bool'>False</visible> + </widget> + <cmd> + <visible type='bool'>False</visible> + </cmd> + <conf> + <visible type='bool'>False</visible> + </conf> + </gui_state> + <language type='str'>en_US</language> + <notified type='bool'>True</notified> + <notify_delay type='int'>60</notify_delay> + <menu_active type='bool'>True</menu_active> + <speaker type='int'>4</speaker> + <pitch type='int'>100</pitch> + </general> +</settings> Added: software/gadgets/tux_controller/trunk/TuxDroidController/strings.xml =================================================================== --- software/gadgets/tux_controller/trunk/TuxDroidController/strings.xml (rev 0) +++ software/gadgets/tux_controller/trunk/TuxDroidController/strings.xml 2007-10-19 14:54:45 UTC (rev 638) @@ -0,0 +1,19 @@ +<?xml version='1.0' encoding='UTF-8'?> +<strings> + <gui_conf_remote_set_bt type='str'>Set</gui_conf_remote_set_bt> + <gui_conf_version_lb type='str'>Version</gui_conf_version_lb> + <gui_conf_update_title type='str'>Update</gui_conf_update_title> + <gui_conf_remote_title type='str'>Remote</gui_conf_remote_title> + <gui_conf_cancel_bt type='str'>Cancel</gui_conf_cancel_bt> + <gui_conf_window_title type='str'>Parameters</gui_conf_window_title> + <gui_conf_author_lb type='str'>Author</gui_conf_author_lb> + <gui_conf_description_lb type='str'>Description</gui_conf_description_lb> + <gui_conf_delay_lb type='str'>Delay (sec)</gui_conf_delay_lb> + <gui_conf_current_bind_lb type='str'>Current</gui_conf_current_bind_lb> + <gui_conf_about_title type='str'>About</gui_conf_about_title> + <gui_conf_accept_bt type='str'>Accept</gui_conf_accept_bt> + <name_to_read type='str'>Control the droid</name_to_read> + <help_text type='str'> + </help_text> + <speaker_name type='str'>Ryan8k</speaker_name> +</strings> Added: software/gadgets/tux_controller/trunk/TuxDroidController.tgf =================================================================== (Binary files differ) Property changes on: software/gadgets/tux_controller/trunk/TuxDroidController.tgf ___________________________________________________________________ Name: svn:executable + * Name: svn:mime-type + application/octet-stream |