Exemple #1
0
 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"])
Exemple #2
0
    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
Exemple #3
0
 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
Exemple #4
0
    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
Exemple #5
0
    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()
Exemple #6
0
    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()