def mkCity(callingWidget, fileid, tabs): global cities if idExists(fileid, "c"): say("Existing fileid! Loading instead...") else: cities[fileid] = {} cities[fileid]["info"] = loadCity(fileid) cities[fileid]["changed"] = False cities[fileid]["cat"] = "c" saveThisC(callingWidget, fileid) displayCity(callingWidget, fileid, tabs)
def displayCity(callingWidget, fileid, tabrow): global cities ctalts = [] ar = gtk.Label() warnme = False if cities.get(fileid, None): tab = cities[fileid].get("tab") if tab is not None: warnme = True if not config["duplicatetabs"]: status.push(0, "'%s' is Already open. Switching to existing tab instead of loading..." % fileid) tabrow.set_current_page(tab) for i in range(len(tabrow)): if fileid == tabrow.get_tab_label_text(tabrow.get_nth_page(i)): tabrow.set_current_page(i) return # No need to load again. If revert needed, use a different function else: cities[fileid] = {} cities[fileid]["info"] = loadCity(fileid) cities[fileid]["changed"] = False cities[fileid]["cat"] = "c" displayStage1( tabrow, fileid, "c", saveThisC, showCity, preClose, displayCity, ar, ctalts ) # creates tabrow.vbox and tabrow.vbox.ftabs, et al tabrow.vbox.connect("destroy", tabdestroyed, fileid) tabrow.labeli = gtk.Label("Information") tabrow.vbox.ftabs.infpage = displayStage2(tabrow.vbox.ftabs, tabrow.labeli) tabrow.labelm = gtk.Label("Milestones") tabrow.vbox.ftabs.milepage = displayStage2(tabrow.vbox.ftabs, tabrow.labelm) if config["debug"] > 2: print "Loading " + tabrow.get_tab_label_text(tabrow.vbox) ar.show() ar.set_alignment(0.5, 0.5) setRuletext(ar, len(ctalts)) tabrow.vbox.pack_end(ar, 0, 0, 2) initCinfo(tabrow.vbox.ftabs.infpage, fileid, tabrow, ar, ctalts) initCmile(tabrow.vbox.ftabs.milepage, fileid, tabrow, ar, ctalts) tabrow.set_current_page(tabrow.page_num(tabrow.vbox)) cities[fileid]["tab"] = tabrow.page_num(tabrow.vbox)