def buildStateRow(scroll, data, fileid): row = gtk.HBox() row.show() label = gtk.Label("State:") label.show() row.pack_start(label, False, False, 2) label.set_width_chars(20) label.set_alignment(1, 0.5) choices = getStateList() path = ["info", "state"] g = getInf(data, path) # loc = gtk.ComboBoxText() loc = gtk.combo_box_new_text() loc.show() selected = -1 keys = [] i = 0 for key in sorted(choices.keys()): loc.append_text("%s" % choices[key]) keys.append(key) if g == key or g == choices[key]: selected = i i += 1 loc.set_active(selected) loc.connect("changed", setStateCombo, fileid) loc.connect("focus", scrollOnTab, scroll) loc.connect("focus-in-event", scrollOnTab, scroll) row.pack_start(loc, True, True, 2) if len(g) and selected == -1: value = gtk.Label(" %s " % g) value.show() row.pack_start(value, True, True, 2) return row
def setState(caller, fileid, key): global cities statekeys = {} if len(key) > 1: statekeys = getStateList(1) key = statekeys.get(key, "N") statekeys = getStateList(0) if config["debug"] > 3: print "new key: %s" % key print "%s (%s)" % (statekeys[key], key) if preRead(False, "c", [fileid, "info"], 2): cities[fileid]["info"]["statefile"] = [key, True] cities[fileid]["info"]["state"] = [statekeys[key], True] cities[fileid]["changed"] = True # if config['debug'] > 0: print "New State: %s" % key cityname = cities[fileid]["info"].get("name", None) if cityname: updateLocs(cityname[0], fileid, key) else: bsay(None, "setState: Could not set state for %s." % fileid)