def select_current_colonist(self, colonist): self.colonists[colonist.entity].itemconfigure( self.colonists[colonist.entity].find_withtag("colonist"), font=colony.get_fonts()["colonist"]["bar_selected"]) self.colonists[colonist.entity].itemconfigure( self.colonists[colonist.entity].find_withtag("name"), font=colony.get_fonts()["text"]["bar_selected"])
def add_colonist(self, colonist): canvas = tk.Canvas(self, width=50, height=50) canvas.create_text(25, 20, text=colony.get_references()["icons"]["colonist"], font=colony.get_fonts()["colonist"]["bar_normal"], tag="colonist") canvas.create_text(25, 40, text=colonist.get_forename_or_nickname(), anchor="center", font=colony.get_fonts()["text"]["bar_normal"], tag="name") canvas.pack(side="left") canvas.bind("<ButtonRelease-1>", lambda *args: self.select_colonist(colonist), "+") canvas.bind("<Button-1>", self.unselect_colonist, "+") self.parent.taskbar.menu_colonists.add_command( label=colonist.get_name(), command=lambda the_colonist=colonist: [self.parent.unselect_all(), the_colonist.select()]) # self.parent.taskbar.menu_relationships.add_relation(colonist) self.colonists[colonist.entity] = canvas self.canvas_list.append(canvas) return canvas
def unselect_all_colonists(self): for canvas in self.canvas_list: try: canvas.itemconfigure( canvas.find_withtag("colonist"), font=colony.get_fonts()["colonist"]["bar_normal"]) canvas.itemconfigure( canvas.find_withtag("name"), font=colony.get_fonts()["text"]["bar_normal"]) except TclError: pass
def __init__(self, parent): self.parent = parent self.parent.canvas.create_text(5, 5, text="Colony", anchor="nw", font=colony.get_fonts()["menu"]["title"]) self.parent.canvas.create_text(5, 45, text="A simple colony simulator created by Dibbo, inspired by RimWorld and Dwarf Fortress.", anchor="nw", font=colony.get_fonts()["menu"]["subtitle"]) self.parent.canvas.create_window(5, 70, window=ttk.Button(self.parent.canvas, text="Start", command=self.start_game), anchor="nw") self.parent.canvas.create_window(5, 100, window=ttk.Button(self.parent.canvas, text="Options", command=self.start_options), anchor="nw") self.parent.canvas.create_window(5, 130, window=ttk.Button(self.parent.canvas, text="Exit", command=lambda: sys.exit()), anchor="nw") self.scenarios = None self.options = None
def __init__(self, parent): self.parent = parent self.canvas = self.parent.canvas self.canvas.bind("<Configure>", self.draw_widgets, "+") self.canvas.create_text(5, 5, text="Options", anchor="nw", font=colony.get_fonts()["menu"]["title"]) self.canvas.create_window(5, 50, window=colony.OptionFrame( self.canvas, self.parent), anchor="nw") self.draw_widgets()
def __init__(self, parent): self.parent = parent self.canvas = self.parent.canvas # TODO: Add an easy way for others to make new scenarios without editing code. self.scenario_list = [] self.current_scenarios = 0 self.selected_scenario = 0 self.parent.canvas.bind("<Configure>", self.draw_widgets, "+") self.canvas.create_text(5, 5, text="Scenarios", anchor="nw", font=colony.get_fonts()["menu"]["title"]) self.frame_listbox = ttk.Frame(self.parent.canvas) self.treeview = ttk.Treeview(self.frame_listbox, show="tree") self.treeview.pack(side="left", fill="both", expand=True) self.treeview.bind("<<TreeviewSelect>>", self.select_scenario) self.treeview.bind("<Double-Button-1>", self.start_game) scrollbar_treeview = ttk.Scrollbar(self.frame_listbox, command=self.treeview.yview) scrollbar_treeview.pack(side="right", fill="y", expand=True) self.treeview.configure(yscrollcommand=scrollbar_treeview.set) self.frame_text = ttk.Frame(self.parent.canvas) self.text = tk.Text(self.frame_text, wrap="word", width=0, height=12) self.text.pack(side="left", fill="both", expand=True) scrollbar_text = ttk.Scrollbar(self.frame_text, command=self.text.yview) scrollbar_text.pack(side="right", fill="y", expand=False) self.text.configure(yscrollcommand=scrollbar_text.set) self.game = None self.draw_widgets() self.default_scenarios()