Example #1
0
 def update_clients_info(self, clients: ClientsTable):
     # Aktualizacja listy klientów
     for ch in self.clients_table.get_children():
         self.clients_table.delete(ch)
     for client in clients.clients:
         self.clients_table.insert('',
                                   'end',
                                   text=client.id,
                                   values=(client.requested, client.granted,
                                           client.received_from_id))
     # Aktualizacja info o właścicielu tokena i blokadzie
     self.locked_label.update_text(clients.locked)
     self.token_owner_label.update_text(clients.token_owner)
     # Aktualizacja blokady
     has_token = clients.token_owner == own_id
     self.__set_lock_state(clients.locked, has_token)
     # Aktualizacja przycisków
     # jeśli zablokowaliśmy, to nie możemy tego zrobić drugi raz
     is_locker = (has_token and clients.locked)
     # tak samo jeśli już zażądaliśmy
     has_requested = clients.find_self().has_requested()
     self.__set_button_enabled(self.req_btn,
                               not (is_locker or has_requested))
     # jeśli nie zablokowaliśmy, to nie możemy rezygnować
     self.__set_button_enabled(self.resign_btn, is_locker)
     # Możemy się podłączyć, tylko, jeśli nie jesteśmy do nikogo podłączeni
     self.__set_button_enabled(self.connect_btn, len(clients.clients) <= 1)
     # Przycisk czyść aktywny jeśli możemy rysować
     self.__set_button_enabled(self.clean_btn, has_token
                               or not clients.locked)
Example #2
0
 def update_clients_info(self, clients: ClientsTable):
     # Aktualizacja listy klientów
     for ch in self.clients_table.get_children():
         self.clients_table.delete(ch)
     for client in clients.clients:
         self.clients_table.insert('', 'end', text=client.id,
                                   values=(client.requested, client.granted, client.received_from_id))
     # Aktualizacja info o właścicielu tokena i blokadzie
     self.locked_label.update_text(clients.locked)
     self.token_owner_label.update_text(clients.token_owner)
     # Aktualizacja blokady
     has_token = clients.token_owner == own_id
     self.__set_lock_state(clients.locked, has_token)
     # Aktualizacja przycisków
     # jeśli zablokowaliśmy, to nie możemy tego zrobić drugi raz
     is_locker = (has_token and clients.locked)
     # tak samo jeśli już zażądaliśmy
     has_requested = clients.find_self().has_requested()
     self.__set_button_enabled(self.req_btn, not (is_locker or has_requested))
     # jeśli nie zablokowaliśmy, to nie możemy rezygnować
     self.__set_button_enabled(self.resign_btn, is_locker)
     # Możemy się podłączyć, tylko, jeśli nie jesteśmy do nikogo podłączeni
     self.__set_button_enabled(self.connect_btn, len(clients.clients) <= 1)
     # Przycisk czyść aktywny jeśli możemy rysować
     self.__set_button_enabled(self.clean_btn, has_token or not clients.locked)