From: <sta...@us...> - 2010-01-19 11:44:05
|
Revision: 106 http://gvr.svn.sourceforge.net/gvr/?rev=106&view=rev Author: stas_zytkiewicz Date: 2010-01-19 11:43:58 +0000 (Tue, 19 Jan 2010) Log Message: ----------- Fixed all kinds of little issues. Modified Paths: -------------- gvr-xo/Changelog gvr-xo/GvrModel.py gvr-xo/gui-gtk/Widgets.py gvr-xo/guiWorld.py gvr-xo/po/WBSummary-en.txt gvr-xo/worldMap.py Modified: gvr-xo/Changelog =================================================================== --- gvr-xo/Changelog 2010-01-18 13:45:23 UTC (rev 105) +++ gvr-xo/Changelog 2010-01-19 11:43:58 UTC (rev 106) @@ -16,6 +16,8 @@ * Added better syntax error reporting. * Greatly improved the error reporting to the user. * Added check for wall length argument. + * Added a warning dialog when the user gives a value less than zero in + the beeper dialog. gvr_xo (4.1) * Fixed: 2456178 Gvr don't return to "main map" from "open worldbuilder" Modified: gvr-xo/GvrModel.py =================================================================== --- gvr-xo/GvrModel.py 2010-01-18 13:45:23 UTC (rev 105) +++ gvr-xo/GvrModel.py 2010-01-19 11:43:58 UTC (rev 106) @@ -183,12 +183,19 @@ self.controller.give_info(message) return 1 def updateWorldBitmapAfterMove(self,oldcoords=None): - """Wrapper needed because stepper calls it after a move of guido. - oldcoords are the old robot coords""" + """Wrapper needed because stepper calls it after a move from guido. + oldcoords are the old robot coords. + Called from guiWorld.GuiWorld""" if not self.logicworld: print "no logicworld in GvrModel updateWorldBitmapAfterMove" print "This should not happening" self.controller.world_robot_state_changed(self.logicworld,oldcoords) + #self.controller.world_beepers_state_changed(self.logicworld) + + def updateWorldBitmapAfterBeeper(self): + """Wrapper needed because stepper calls it after a beeper action from guido. + oldcoords are the old robot coords. + Called from guiWorld.GuiWorld""" self.controller.world_beepers_state_changed(self.logicworld) def on_world_reload(self,worldcode): Modified: gvr-xo/gui-gtk/Widgets.py =================================================================== --- gvr-xo/gui-gtk/Widgets.py 2010-01-18 13:45:23 UTC (rev 105) +++ gvr-xo/gui-gtk/Widgets.py 2010-01-19 11:43:58 UTC (rev 106) @@ -56,6 +56,7 @@ message_format=message_format) self.connect("response", self.response) self.set_markup('%s%s%s' % ('<b>',txt,'</b>')) + self.set_title(_('Warning')) self.show() def response(self,*args): """destroys itself on a respons, we don't care about the response value""" @@ -69,6 +70,7 @@ buttons=gtk.BUTTONS_CLOSE, message_format='', txt=txt) + self.set_title(_('Error')) class InfoDialog(WarningDialog): def __init__(self,txt): WarningDialog.__init__(self,parent=None, @@ -77,6 +79,7 @@ buttons=gtk.BUTTONS_CLOSE, message_format='', txt=txt) + self.set_title(_('Information')) class YesNoDialog(gtk.MessageDialog): def __init__(self,parent=None,flags=gtk.DIALOG_MODAL,type=gtk.MESSAGE_INFO, buttons=gtk.BUTTONS_YES_NO,message_format='',txt=''): @@ -87,6 +90,7 @@ message_format=message_format) #self.connect("response", self.response) self.set_markup('%s%s%s' % ('<b>',txt,'</b>')) + self.set_title(_('Question ?')) self.show() class BeeperDialog(YesNoDialog): @@ -607,6 +611,7 @@ self.gvrparent.world_editor.editor.set_text(self.wcode) self.gvrparent.on_button_reload() dlg.destroy() + WarningDialog(txt=_('Beeper values must be zero or more.\nUse zero as the value to remove beeper(s)')) return True bline = "%s %d %d %d\n" % (_('beepers'),x,y,num_beepers) dlg.destroy() Modified: gvr-xo/guiWorld.py =================================================================== --- gvr-xo/guiWorld.py 2010-01-18 13:45:23 UTC (rev 105) +++ gvr-xo/guiWorld.py 2010-01-19 11:43:58 UTC (rev 106) @@ -41,6 +41,7 @@ def PUTBEEPER(self): if not self.world.PUTBEEPER(): self.abort(_("No beepers to put down.")) + self.gui.updateWorldBitmapAfterBeeper() def PICKBEEPER(self): if not self.world.PICKBEEPER(): Modified: gvr-xo/po/WBSummary-en.txt =================================================================== --- gvr-xo/po/WBSummary-en.txt 2010-01-18 13:45:23 UTC (rev 105) +++ gvr-xo/po/WBSummary-en.txt 2010-01-19 11:43:58 UTC (rev 106) @@ -3,7 +3,11 @@ Left mouse button : Add or remove walls Middle mouse button: Set arguments for the robot statement Right mouse button: Set arguments for the beeper statement - + It's possible to alter the number of beepers by clicking + the right mouse button when the mouse pointer is at a + beepers location. + Give another number of beepers in the beeper dialog. + When you give 0 (zero) the beeper is removed from the world. Buttons: Reload : Reload the world from the editor window into the worldbuilder. Modified: gvr-xo/worldMap.py =================================================================== --- gvr-xo/worldMap.py 2010-01-18 13:45:23 UTC (rev 105) +++ gvr-xo/worldMap.py 2010-01-19 11:43:58 UTC (rev 106) @@ -87,14 +87,16 @@ keyword = lookup_dict[keyword] print 'tokens', tokens print 'keyword', keyword - if (keyword == _('ROBOT') or keyword == 'ROBOT') and len(tokens) < 4: + if keyword == _('ROBOT') or keyword == 'ROBOT': + if len(tokens) < 4: raise WorldMapException(linenumber,_('Robot direction argument missing')) - dir = tokens[3] - if lookup_dir_dict.has_key(dir): - dir = lookup_dir_dict[dir] - tokens[3] = dir - else: - raise WorldMapException(linenumber, _('No valid direction given for the robot')) + dir = tokens[3] + if lookup_dir_dict.has_key(dir): + dir = lookup_dir_dict[dir] + tokens[3] = dir + else: + print lookup_dir_dict.has_key(dir), lookup_dir_dict, dir + raise WorldMapException(linenumber, _('No valid direction given for the robot')) if keyword ==_('WALL') or keyword == 'WALL': tokens[0] = keyword #print "wall",tokens @@ -109,7 +111,7 @@ except ValueError: raise WorldMapException(linenumber, _('%s length argument must be an integer' % _('WALL'))) else: - if int(tokens[4]) < 0: + if int(tokens[4]) < 1: raise WorldMapException(linenumber,_('%s length argument must be greater than zero' % _('WALL'))) world.setWall(*tokens[1:]) elif keyword == _('ROBOT') or keyword == 'ROBOT': This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |