def start(self, reader): self.id = Core().connect('NmapScanNotebookPage-created', self.__on_created) for page in Core().get_main_scan_notebook(): if isinstance(page, NmapScanNotebookPage): self.__on_created(Core(), page) page.emit('scan-finished')
def start(self, reader): self.reader = reader self.id = Core().connect('ScanHostsView-created', self.__on_created_hosts) for page in Core().get_main_scan_notebook(): if isinstance(page, NmapScanNotebookPage): self.__on_created_hosts( \ Core(), page.scan_result.scan_host_view)
def stop(self): Core().disconnect(self.id) for page in Core().get_main_scan_notebook(): if not isinstance(page, NmapScanNotebookPage): continue for child in page.scan_result.scan_host_view: if isinstance(child, MyWidget): page.scan_result.scan_host_view.remove(child) child.hide() child.destroy()
def __on_close_page(self, widget, page): nb = Core().get_main_scan_notebook() idx = gtk.Notebook.page_num(nb, page) if idx > 0: page.hide() gtk.Notebook.remove_page(nb, idx)
def start(self, reader): self.reader = reader self.tray = Core().get_need(self.reader, 'tray') if not self.tray: d = HIGAlertDialog( Core().mainwindow, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, message_format='Error - Notifier', secondary_text= 'Unable to get the instance of tray module. The plugin cannot operate correctly.' ) d.run() d.destroy() else: self.__connect_signals()
def __connect_signals(self): # Here we're going to connect various signals. Core().connect('NmapScanNotebookPage-created', lambda core, page, obj: \ page.connect('scan-finished', obj.__on_scan_finished), self )
def stop(self): Core().disconnect(self.id) for page in Core().get_main_scan_notebook(): if not isinstance(page, NmapScanNotebookPage): continue for child in page.scan_result.scan_result_notebook: if not isinstance(child, FlowContainer): continue idx = page.scan_result.scan_result_notebook.page_num(child) page.scan_result.scan_result_notebook.remove_page(idx) child.hide() child.destroy()
def show_about(self, pkg): """ Show an about dialog for plugin. We use a field __about__ """ about_func = None try: module = self.__cache_import(pkg) about_func = module.__about__ except Exception: pass # Instead using types def t(): pass if isinstance(about_func, type(t)): about_func() else: d = Core().about_dialog(pkg) d.run() d.hide() d.destroy()
def __on_activate(self, widget): mainwnd = Core().mainwindow if mainwnd.flags() & gtk.VISIBLE: self.wndpos = mainwnd.get_position() mainwnd.hide() else: mainwnd.move(*self.wndpos) mainwnd.show()
def __on_create_page(self, widget): nb = Core().get_main_scan_notebook() widget = TerminalPage() widget.show_all() label = HIGAnimatedTabLabel("Terminal") label.connect('close-clicked', self.__on_close_page, widget) gtk.Notebook.append_page(nb, widget, label)
def start(self, reader): self.reader = reader self._paned = paned.UmitPaned() main = Core().mainwindow main.vbox.remove(main.scan_notebook) main.vbox.pack_start(self._paned) self._paned.add_view(paned.PANE_CENTER, main.scan_notebook) self._paned.show_all()
def start(self, reader): self.reader = reader # Create a ToolItem self.item = gtk.ToolButton(None, "Terminal") image = gtk.image_new_from_stock(gtk.STOCK_ABOUT, \ gtk.ICON_SIZE_LARGE_TOOLBAR) image.show() self.item.set_icon_widget(image) # Append our item Core().get_main_toolbar().insert(self.item, -1) self.item.connect('clicked', self.__on_create_page) self.item.show_all()
def start(self, reader): global global_animation log.info('We\'re going to hook a class man. Pay attention.') Core().connect('NmapScanNotebookPage-created', self.__on_new_nb_page) path = reader.extract_file('data/throbber-16.gif') global_animation = gtk.gdk.PixbufAnimation(path) ScanNotebook.HIGAnimatedTabLabel = MyHIGClosableTabLabel sys.modules['higwidgets.hignotebooks'].HIGClosableTabLabel = \ MyHIGClosableTabLabel sys.modules['higwidgets.hignotebooks'].HIGAnimatedTabLabel = \ MyHIGClosableTabLabel self.update_existing_tab_labels(MyHIGClosableTabLabel)
def start(self, reader): self.reader = reader self.sysinfo = Core().get_need(self.reader, 'SystemInfo') if not self.sysinfo: msg = "Cannot use SystemInfo" else: msg = "Info for %s\n\nRoutes:\n%s\nIfaces:\n%s\n" % ( self.sysinfo.get_name(), self.sysinfo.get_routes(), self.sysinfo.get_ifaces()) dialog = HIGAlertDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_INFO, message_format="SystemInfo-Consumer", secondary_text=msg) dialog.run() dialog.destroy()
def __init__(self): """ Initialize the engine with the paths were plugins are located @type paths tuple @param paths a tuple containing various directory where the plugins are located """ log.debug(">>> Initializing Plugin Engine") # Initialize our objects self.plugins = Plugins() self.tree = PluginsTree() self.core = Core() self.available_plugins = None self.paths = None self.apply_updates() self.recache()
def start(self, reader): testcase = TestAutoGen() passed, msg = testcase.run(reader) if passed: type = gtk.MESSAGE_INFO else: type = gtk.MESSAGE_ERROR if passed: title = "Test passed" else: title = "Test not passed" dialog = HIGAlertDialog( Core().mainwindow, gtk.DIALOG_DESTROY_WITH_PARENT | gtk.DIALOG_MODAL, type, message_format=title, secondary_text=msg ) dialog.run() dialog.destroy()
def update_existing_tab_labels(self, klass): # We're going to do a foreach on every notebook page and change the tab # label of every child. log.debug('Applying %s to every page in notebook.' % str(klass)) notebook = Core().get_main_scan_notebook() for page in notebook: # Just create a new tab label widget. old_label = notebook.get_tab_label(page) tab_label = klass(old_label.get_text()) tab_label.get_animated_label().connect('title-edited', \ notebook.title_edited_cb, \ page) tab_label.connect('close-clicked', notebook.close_scan_cb) # Setting up notebook.set_tab_label(page, tab_label) log.debug('New tab-label class applied to page %s' % str(page))
def __init__(self): gtk.Dialog.__init__(self, "UMIT - Tray Icon Preferences", Core().mainwindow, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, (gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_OK, gtk.RESPONSE_ACCEPT)) self.typenot = gtk.RadioButton(None, 'Use LibNotify for notifications') self.typehig = gtk.RadioButton(self.typenot, \ 'Use HIGTooltip for notifications') vbox = gtk.VBox(False, 2) vbox.pack_start(self.typenot, False, False, 0) vbox.pack_start(self.typehig, False, False, 0) frame = gtk.Frame('Type of notifications') frame.set_shadow_type(gtk.SHADOW_ETCHED_IN) frame.add(vbox) self.vbox.pack_start(frame) self.set_size_request(300, 150) self.connect('response', self.__on_response) self.show_all()
def stop(self): main = Core().mainwindow self._paned.hide() self._paned.remove_child() main.vbox.remove(self._paned) main.vbox.pack_start(main.scan_notebook)
def __on_row_homepage(self, widget, row): "Homepage menu callback" Core().open_url(row.reader.url)
def stop(self): Core().get_main_toolbar().remove(self.item)
def __on_quit(self, action): # Ask to the main window to exit Core().mainwindow.emit('delete-event', None)
def __stop_scan(self, page): lbl = Core().get_main_scan_notebook().get_tab_label(page) if isinstance(lbl, MyHIGClosableTabLabel): lbl.stop_animation()
def __start_scan(self, widget, page): if page.status.get_scanning(): lbl = Core().get_main_scan_notebook().get_tab_label(page) if isinstance(lbl, MyHIGClosableTabLabel): lbl.start_animation()
def __on_restart(self, widget): "Called when the user click on the restart button" Core().mainwindow.emit('delete-event', None)
def stop(self): tabber = Core().get_need(self.reader, 'Tabber') tabber.paned.remove_view(self.view)
def start(self, reader): self.reader = reader self.view = ConsoleView() tabber = Core().get_need(self.reader, 'Tabber') tabber.paned.add_view(paned.PANE_BOTTOM, self.view)