def on_select_filter(self, event): # wxGlade: FilterFrame.<event_handler> filter_names = get_selected_labels(self.filter_list) if filter_names: selected_filter = get_filter_facade().get_filter(filter_names[0]) if isinstance(selected_filter, PeerFilter): # update edit panel self.set_profile_view() self.edit_profile_panel.update(selected_filter) self.view_profile_panel.update(filter_names[0]) elif isinstance(selected_filter, FileFilter): # update edit panel self.set_file_view() self.edit_file_panel.update(selected_filter) self.view_file_panel.update(filter_names[0]) else: print "unrecognised filter", selected_filter.__class__.__name__ # get ids to display in notebook peer_ids = [] for filter_name in filter_names: try: for result_id, mathes in get_filter_facade().get_results(filter_name).items(): if result_id not in peer_ids and len(mathes) > 0: peer_ids.append(result_id) except KeyError: pass # update notebook for peer_id in peer_ids: self.set_tab(peer_id) for peer_id in self.tabs: if not peer_id in peer_ids: self.hide_tab(peer_id) event.Skip()
def on_delete(self, event): # wxGlade: FilterFrame.<event_handler> filter_names = get_selected_labels(self.filter_list) get_filter_facade().delete_filters(filter_names) self.do_modified(True)
def on_refresh_filter(self, event): filter_names = get_selected_labels(self.filter_list) for peer in get_facade().get_peers().values(): get_filter_facade().match(peer, filter_names) self.on_select_filter(event) event.Skip()