def change_feature(): def finish(arg): try: features._parse_arg(arg) except Exception as e: traceback.print_exc() ui.message(str(e)) uidialog.inputbox('name=key', finish=finish)
def _callback(self): def finish(val): try: features.set_perm(self.feature_key, val) except ValueError as e: ui.message(str(e), type='error') self.make_button() uidialog.inputbox('Value for %s' % self.feature_key, finish=finish)
def test_inputbox(): import uidialog def finish(text): print 'got', text def cancel(): print 'cancel' uidialog.inputbox('Query?', 'defaultval', finish=finish, cancel=cancel)
def pernament_feature(): def finish(): try: k, v = arg.split('=', 1) features.set_perm(k, v) except Exception as e: traceback.print_exc() ui.message(str(e)) uidialog.inputbox('name=key', finish=finish)
def popup_newcity_dialog(unit, default_name): text = uidialog.inputbox('What should we call our new city?', default_name) while text: try: text.encode('ascii') except UnicodeError: text = uidialog.inputbox('Please use only latin characters!', default_name) else: break if text: freeciv.func.finish_city_at_unit(unit, text)
def setup_ui(self): self.has_ui = True self.items = [] client.client.chat('/set nettimeout 0') client.client.chat('/set pingtimeout 1800') self.pick_nation_button = ui.Button('...', self.pick_nation) self.set_leader_name_button = ui.Button('...', lambda: uidialog.inputbox('What will be your name?', finish=self.set_leader_name)) self.difficulty_button = ui.Button('...', self.set_difficulty) self.add(ui.Button('Start game!', start_client)) self.add(self.pick_nation_button) self.add(self.set_leader_name_button) self.add(self.difficulty_button) self.add(ui.Button('Server command', server_command_dialog)) self.aicount_button = ui.Button('...', lambda: uidialog.inputbox('How many computer enemies will you fight?', finish=self.set_aicount)) self.set_aicount(4) self.add(self.aicount_button) self.mapsize_button = ui.Button('...', lambda: uidialog.inputbox('How large your map will be? (1-20)', finish=self.set_mapsize)) self.set_mapsize(5) self.add(self.mapsize_button) self.barbarians_button = ui.Button('...', self.set_barbarians) self.barbarians = False self.set_barbarians() self.add(self.barbarians_button) self.nation_id = 1 #random.choice(client.get_nations())[2] self.leader_name = 'Player' self.city_style = 1 self.leader_sex = 2 self.difficulty = 'easy' self.set_nation_settings() self.set_difficulty_settings() self.server_console = ui.Label('loading...', font=ui.consolefont) self.add(self.server_console) self.update_server_console()
def popup_newcity_dialog(unit, default_name): text = uidialog.inputbox('What should we call our new city?', default_name) while text: try: text.encode('ascii') except UnicodeError: text = uidialog.inputbox('Please use only latin characters!', default_name) else: break if text: freeciv.func.finish_city_at_unit(unit, text) else: freeciv.func.cancel_city_at_unit(unit)
def set_aicount(self, val=None): cmd = val or uidialog.inputbox('How many computer enemies will you fight?') try: count = int(cmd) client.client.chat('/set aifill %d' % (count + 1)) self.aicount_button.set_text('AI player count: %d' % count) except (ValueError, TypeError): pass
def _callback(self): val = uidialog.inputbox('Value for %s' % self.feature_key) if val is None: return try: features.set_perm(self.feature_key, val) except ValueError as e: ui.message(str(e), type='error') self.make_button()
def set_mapsize(self, val=None): cmd = val or uidialog.inputbox('How large your map will be? (1-20)') try: count = int(cmd) if count < 1 or count > 20: return client.client.chat('/set size %d' % count) self.mapsize_button.set_text('Map size: %dk' % count) except (ValueError, TypeError): pass
def callback(self): data = uidialog.inputbox('') if data != None: self.set_value(data)
def handle_authentication_req(self, prompt): password = uidialog.inputbox(prompt) if password: self.authenticate(password)
def callback(self): data = uidialog.inputbox('') if data != None: self.set_text(data) self.was_changed = True
def server_command_dialog(): cmd = uidialog.inputbox('Command') if cmd: print cmd client.client.chat(cmd)
def connect_dialog(): host = uidialog.inputbox('Server host') port = int(uidialog.inputbox('Server port')) username = uidialog.inputbox('User name') connect(host, port, username)
def set_leader_name(self): name = uidialog.inputbox('What will be your name?') if name: self.leader_name = name self.set_nation_settings()
def callback(self): import uidialog data = uidialog.inputbox('') if data != None: self.set_value(data)
def setup_ui(self): self.has_ui = True self.items = [] client.client.chat('/set nettimeout 0') client.client.chat('/set pingtimeout 1800') client.client.chat('/set endspaceship disabled') client.client.chat('/set victories ALLIED') self.pick_nation_button = ui.Button('...', self.pick_nation) self.set_leader_name_button = ui.Button('...', lambda: uidialog.inputbox('What will be your name?', finish=self.set_leader_name)) self.difficulty_button = ui.Button('...', self.set_difficulty) self.add(ui.Button('Start game!', start_client)) self.add(self.pick_nation_button) self.add(self.set_leader_name_button) self.add(self.difficulty_button) self.add(ui.Button('Server command', server_command_dialog)) self.aicount_button = ui.Button('...', lambda: uidialog.inputbox('How many computer enemies will you fight?', finish=self.set_aicount)) self.set_aicount(3) self.add(self.aicount_button) hex_tiles = '' if features.get('app.hex_tiles'): hex_tiles = '|HEX' if features.get('app.ruleset') == 'civ2civ3': self.mapsize_button = ui.Button('...', lambda: uidialog.inputbox('How large your map will be? (in tiles per player) (1-1000)', finish=self.set_tilesperplayer)) client.client.chat('/set topology WRAPX|WRAPY|ISO' + hex_tiles) self.set_tilesperplayer(100) else: self.mapsize_button = ui.Button('...', lambda: uidialog.inputbox('How large your map will be? (in thousands of tiles) (1-20)', finish=self.set_mapsize)) client.client.chat('/set topology WRAPX|ISO' + hex_tiles) self.set_mapsize(4) self.add(self.mapsize_button) self.barbarians_button = ui.Button('...', self.set_barbarians) self.barbarians = False self.set_barbarians() self.add(self.barbarians_button) nation = random.choice(client.get_nations()) self.nation_id = nation[2] self.leader_name = 'Player' self.city_style = nation[1] self.leader_sex = 2 self.difficulty = features.get('app.difficulty') self.set_nation_settings() self.set_difficulty_settings() self.server_console = ui.Label('loading...', font=ui.consolefont) self.add(self.server_console) self.update_server_console()
def server_command_dialog(): uidialog.inputbox('Command', finish=client.client.chat)
def connect_dialog(): host = uidialog.inputbox('Server host') port = int(uidialog.inputbox('Server port')) connect(host, port)