|
2 | 2 |
|
3 | 3 |
|
4 | 4 | class ScreenBlockerMenu(Frame): |
5 | | - def __init__(self, master, time_options_manager, **kwargs): |
| 5 | + def __init__(self, master, time_options_manager, mobber_manager, **kwargs): |
6 | 6 | super().__init__(master, **kwargs) |
7 | 7 | self.master = master |
| 8 | + |
8 | 9 | pad = 0 |
9 | 10 | self._geom = '200x200+0+0' |
10 | 11 |
|
11 | 12 | self.time_options_manager = time_options_manager |
| 13 | + self.mobber_manager = mobber_manager |
12 | 14 | self.set_window_properties(master, pad) |
13 | 15 | self.build_window_content(master) |
14 | 16 | self.time_options_manager.subscribe_to_timechange(self.time_change_callback) |
| 17 | + self.mobber_manager.subscribe_to_mobber_list_change(self.mobber_list_change_callback) |
| 18 | + |
| 19 | + def mobber_list_change_callback(self, mobber_list): |
| 20 | + self.names_list.delete(0, END) |
| 21 | + for name in mobber_list: |
| 22 | + self.names_list.insert(END, name) |
15 | 23 |
|
16 | 24 | def time_change_callback(self, time, minutes, seconds): |
17 | 25 | self.label_minutes['text'] = "{0:0>2}".format(minutes) |
@@ -77,30 +85,35 @@ def build_window_content(self, master): |
77 | 85 | label_up_next.grid(row=row_index, columnspan=3, padx=30, pady=0, sticky=N) |
78 | 86 | row_index += 1 |
79 | 87 |
|
80 | | - add_mobber_label = Entry(center_frame, text="Add Mobber") |
81 | | - add_mobber_label.grid(row=row_index, columnspan=2, sticky=N + E + W, padx=10, pady=10) |
| 88 | + add_mobber_entry = Entry(center_frame, text="Add Mobber") |
| 89 | + add_mobber_entry.grid(row=row_index, columnspan=2, sticky=N + E + W, padx=10, pady=10) |
82 | 90 |
|
83 | 91 | add_mobber_button = Button(center_frame, text="Add Mobber") |
84 | 92 | add_mobber_button.grid(row=row_index, column=2, sticky=N + E + W, padx=10, pady=10) |
| 93 | + add_mobber_button.bind("<Button-1>", lambda event: self.mobber_manager.add_mobber(add_mobber_entry.get())) |
85 | 94 | row_index += 1 |
86 | 95 |
|
87 | | - names_list = Listbox(center_frame) |
88 | | - names_list.grid(row=row_index, rowspan=4, columnspan=2, column=0, padx=10, pady=10, sticky=N + E + W) |
| 96 | + self.names_list = Listbox(center_frame) |
| 97 | + self.names_list.grid(row=row_index, rowspan=4, columnspan=2, column=0, padx=10, pady=10, sticky=N + E + W) |
89 | 98 |
|
90 | 99 | remove_mobber_button = Button(center_frame, text="Remove Mobber") |
91 | 100 | remove_mobber_button.grid(row=row_index, column=2, sticky=N + E + W, padx=10, pady=10) |
| 101 | + remove_mobber_button.bind("<Button-1>", lambda event: self.mobber_manager.remove_mobber(int(self.names_list.curselection()[0]))) |
92 | 102 | row_index += 1 |
93 | 103 |
|
94 | 104 | move_mobber_up_button = Button(center_frame, text="Move Mobber Up") |
95 | 105 | move_mobber_up_button.grid(row=row_index, column=2, sticky=N + E + W, padx=10, pady=10) |
| 106 | + move_mobber_up_button.bind("<Button-1>", lambda event: self.mobber_manager.move_mobber_up(int(self.names_list.curselection()[0]))) |
96 | 107 | row_index += 1 |
97 | 108 |
|
98 | 109 | move_mobber_down_button = Button(center_frame, text="Move Mobber Down") |
99 | 110 | move_mobber_down_button.grid(row=row_index, column=2, sticky=N + E + W, padx=10, pady=10) |
| 111 | + move_mobber_down_button.bind("<Button-1>", lambda event: self.mobber_manager.move_mobber_down(int(self.names_list.curselection()[0]))) |
100 | 112 | row_index += 1 |
101 | 113 |
|
102 | 114 | clear_mobbers_button = Button(center_frame, text="Clear Mobbers") |
103 | 115 | clear_mobbers_button.grid(row=row_index, column=2, sticky=N + E + W, padx=10, pady=10) |
| 116 | + clear_mobbers_button.bind("<Button-1>", lambda event: self.mobber_manager.clear()) |
104 | 117 | row_index += 1 |
105 | 118 |
|
106 | 119 | start_button = Button(center_frame, text="Start Mobbing!", font="Helvetica 30 bold") |
|
0 commit comments