def _create_target(self): self.target_label = HIGEntryLabel(_("Target:")) self.target_entry = TargetCombo() self.update_target_list()
def _create_widgets(self): # Main widgets self.hpaned = gtk.HPaned() self.main_vbox = HIGVBox() # Results section self.result_section = HIGSectionLabel(_("Results")) self.result_vbox = HIGVBox() self.result_hbox = HIGHBox() self.result_list = gtk.ListStore(str, str, int) # title, date, id self.result_view = gtk.TreeView(self.result_list) self.result_scrolled = gtk.ScrolledWindow() self.result_title_column = gtk.TreeViewColumn(_("Scan")) self.result_date_column = gtk.TreeViewColumn(_("Date")) # Search notebook self.search_vbox = HIGVBox() self.search_notebook = gtk.Notebook() self.search_button = HIGButton(stock=gtk.STOCK_FIND) # General page self.general_vbox = HIGVBox() self.general_hbox = HIGHBox() #self.general_start_hbox = HIGHBox() #self.general_finish_hbox = HIGHBox() self.general_section = HIGSectionLabel(_("General search parameters")) self.general_table = HIGTable() self.general_option_label = HIGEntryLabel(_("Option")) self.general_profile_label = HIGEntryLabel(_("Profile")) #self.general_finished_label = HIGEntryLabel(_("Finished")) #self.general_started_label = HIGEntryLabel(_("Started")) self.general_keyword_label = HIGEntryLabel(_("Keyword")) self.general_keyword_entry = gtk.Entry() self.general_option_combo = OptionCombo() self.general_profile_combo = ProfileCombo() #self.general_started_range = DateRange() #self.general_finished_range = DateRange() # Host page self.host_vbox = HIGVBox() self.host_hbox = HIGHBox() #self.host_uptime_hbox = HIGHBox() #self.host_lastboot_hbox = HIGHBox() self.host_section = HIGSectionLabel(_("Host search parameters")) self.host_table = HIGTable() self.host_target_label = HIGEntryLabel(_("Target")) self.host_mac_label = HIGEntryLabel(_("MAC")) self.host_ipv4_label = HIGEntryLabel(_("IPv4")) self.host_ipv6_label = HIGEntryLabel(_("IPv6")) #self.host_uptime_label = HIGEntryLabel(_("Uptime")) #self.host_lastboot_label = HIGEntryLabel(_("Last boot")) self.host_target_combo = TargetCombo() self.host_mac_entry = gtk.Entry() self.host_ipv4_entry = gtk.Entry() self.host_ipv6_entry = gtk.Entry() #self.host_uptime_range = DateRange() #self.host_lastboot_range = DateRange() # Service self.serv_vbox = HIGVBox() self.serv_hbox = HIGHBox() self.serv_section = HIGSectionLabel(_("Service search parameters")) self.serv_table = HIGTable() self.serv_port_label = HIGEntryLabel(_("Port number")) self.serv_service_label = HIGEntryLabel(_("Service")) self.serv_product_label = HIGEntryLabel(_("Product")) self.serv_portstate_label = HIGEntryLabel(_("Port state")) self.serv_port_entry = gtk.Entry() self.serv_service_combo = ServiceCombo() self.serv_product_entry = gtk.Entry() self.serv_portstate_check = PortState() # OS self.os_vbox = HIGVBox() self.os_hbox = HIGHBox() self.os_section = HIGSectionLabel(_("Operating System search \ parameters")) self.os_table = HIGTable() self.os_osclass_label = HIGEntryLabel(_("OS class")) self.os_osmatch_label = HIGEntryLabel(_("OS match")) self.os_osclass_combo = OSClassCombo() self.os_osmatch_combo = OSMatchCombo() # Search options page self.opt_vbox = HIGVBox() self.opt_local_hbox = HIGHBox() self.opt_base_hbox = HIGHBox() self.opt_local_section = HIGSectionLabel(_("Local files")) self.opt_local_table = HIGTable() self.opt_base_section = HIGSectionLabel(_("Database")) self.opt_base_table = HIGTable() self.opt_path_label = HIGEntryLabel(_("Directory")) self.opt_extension_label = HIGEntryLabel(_("File extension")) self.opt_savetime_label = HIGEntryLabel(_("Save results for")) self.opt_path_entry = PathEntry() self.opt_extension_entry = gtk.Entry() self.opt_savetime_entry = SaveTime() self.opt_save_check = gtk.CheckButton(_("Save scan results in data \ base for latter search")) self.opt_search_check = gtk.CheckButton(_("Search saved scan results \ in data base"))
class ScanToolbar(HIGHBox): def __init__(self): HIGHBox.__init__(self) self._create_target() self._create_profile() self.scan_button = gtk.Button(_("Scan")) self._pack_noexpand_nofill(self.target_label) self._pack_expand_fill(self.target_entry) self._pack_noexpand_nofill(self.profile_label) self._pack_expand_fill(self.profile_entry) self._pack_noexpand_nofill(self.scan_button) self.target_entry.set_focus_child(self.target_entry.child) self.profile_entry.set_focus_child(self.profile_entry.child) self.target_entry.child.grab_focus() # Events self.target_entry.child.connect('key-press-event',\ self.next, self.profile_entry.child) self.target_entry.child.connect('activate', lambda x: self.profile_entry.child.grab_focus()) self.profile_entry.child.connect('activate', lambda x: self.scan_button.clicked()) def _create_target(self): self.target_label = HIGEntryLabel(_("Target:")) self.target_entry = TargetCombo() self.update_target_list() def _create_profile(self): self.profile_label = HIGEntryLabel(_('Profile:')) self.profile_entry = ProfileCombo() self.update() def next(self, widget, event, next_widget): if event.hardware_keycode == 23: next_widget.grab_focus() def get_target(self): return self.target_entry.get_child().get_text() def get_profile_name(self): return self.profile_entry.get_child().get_text() def update_target_list(self): self.target_entry.update() def add_new_target(self, target): self.target_entry.add_new_target(target) def get_selected_target(self): return self.target_entry.selected_target def set_selected_target(self, target): self.target_entry.selected_target = target def update(self): self.profile_entry.update() def set_profiles(self, profiles): self.profile_entry.set_profiles(profiles) def get_selected_profile(self): return self.profile_entry.selected_profile def set_selected_profile(self, profile): self.profile_entry.selected_profile = profile selected_profile = property(get_selected_profile, set_selected_profile) selected_target = property(get_selected_target, set_selected_target)