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()