本文整理汇总了Python中zenmapGUI.higwidgets.higboxes.HIGHBox类的典型用法代码示例。如果您正苦于以下问题:Python HIGHBox类的具体用法?Python HIGHBox怎么用?Python HIGHBox使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了HIGHBox类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self):
"""Initialize Scan Toolbar, including Events, and packing all
of the GUI elements in layout"""
HIGHBox.__init__(self)
self._create_target()
self._create_profile()
self.scan_button = gtk.Button(_("Scan"))
#self.scan_button = HIGButton(_("Scan "), gtk.STOCK_MEDIA_PLAY)
self.cancel_button = gtk.Button(_("Cancel"))
#self.cancel_button = HIGButton(_("Cancel "), gtk.STOCK_CANCEL)
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._pack_noexpand_nofill(self.cancel_button)
# Skip over the dropdown arrow so you can tab to the profile entry.
self.target_entry.set_focus_chain((self.target_entry.child,))
self.target_entry.child.connect('activate',
lambda x: self.profile_entry.grab_focus())
self.profile_entry.child.connect('activate',
lambda x: self.scan_button.clicked())
开发者ID:Abhikos,项目名称:nmap,代码行数:29,代码来源:ScanToolbar.py
示例2: make_scaninfo_display
def make_scaninfo_display(self, scaninfo):
"""Return a widget displaying a scan's "scaninfo" information: type,
protocol, number of scanned ports, and list of services."""
hbox = HIGHBox()
table = HIGTable()
table.set_border_width(5)
table.set_row_spacings(6)
table.set_col_spacings(6)
table.attach(HIGEntryLabel(_('Scan type:')), 0, 1, 0, 1)
table.attach(HIGEntryLabel(scaninfo['type']), 1, 2, 0, 1)
table.attach(HIGEntryLabel(_('Protocol:')), 0, 1, 1, 2)
table.attach(HIGEntryLabel(scaninfo['protocol']), 1, 2, 1, 2)
table.attach(HIGEntryLabel(_('# scanned ports:')), 0, 1, 2, 3)
table.attach(HIGEntryLabel(scaninfo['numservices']), 1, 2, 2, 3)
table.attach(HIGEntryLabel(_('Services:')), 0, 1, 3, 4)
table.attach(
self.make_services_display(scaninfo['services']), 1, 2, 3, 4)
hbox._pack_noexpand_nofill(hig_box_space_holder())
hbox._pack_noexpand_nofill(table)
return hbox
开发者ID:TomSellers,项目名称:nmap,代码行数:26,代码来源:ScanRunDetailsPage.py
示例3: __init__
def __init__(self, scans):
gtk.Window.__init__(self)
self.set_title(_("Compare Results"))
self.ndiff_process = None
# We allow the user to start a new diff before the old one has
# finished. We have to keep references to old processes until they
# finish to avoid problems when tearing down the Python interpreter at
# program exit.
self.old_processes = []
self.timer_id = None
self.main_vbox = HIGVBox()
self.diff_view = DiffView()
self.diff_view.set_size_request(-1, 100)
self.hbox_buttons = HIGHBox()
self.progress = gtk.ProgressBar()
self.btn_close = HIGButton(stock=gtk.STOCK_CLOSE)
self.hbox_selection = HIGHBox()
self.scan_chooser_a = ScanChooser(scans, _(u"A Scan"))
self.scan_chooser_b = ScanChooser(scans, _(u"B Scan"))
self._pack_widgets()
self._connect_widgets()
self.set_default_size(-1, 500)
# Initial Size Request
self.initial_size = self.get_size()
开发者ID:0x00evil,项目名称:nmap,代码行数:28,代码来源:DiffCompare.py
示例4: create_table_hbox
def create_table_hbox(self):
table = HIGTable()
hbox = HIGHBox()
hbox._pack_noexpand_nofill(hig_box_space_holder())
hbox._pack_noexpand_nofill(table)
return table, hbox
开发者ID:royharoush,项目名称:tools,代码行数:8,代码来源:ScanHostDetailsPage.py
示例5: __create_widgets
def __create_widgets(self):
###
# Vertical box to keep 3 boxes
self.main_whole_box = HIGVBox()
self.upper_box = HIGHBox()
self.middle_box = HIGHBox()
self.lower_box = HIGHBox()
#self.main_vbox = HIGVBox()
self.command_entry = gtk.Entry()
self.command_entry_changed_cb_id = self.command_entry.connect(
"changed", self.command_entry_changed_cb)
self.scan_button = HIGButton(_("Scan"))
self.scan_button.connect("clicked", self.run_scan)
self.notebook = gtk.Notebook()
# Profile info page
self.profile_info_vbox = HIGVBox()
self.profile_info_label = HIGSectionLabel(_('Profile Information'))
self.profile_name_label = HIGEntryLabel(_('Profile name'))
self.profile_name_entry = gtk.Entry()
self.profile_name_entry.connect(
'enter-notify-event', self.update_help_name)
self.profile_description_label = HIGEntryLabel(_('Description'))
self.profile_description_scroll = HIGScrolledWindow()
self.profile_description_scroll.set_border_width(0)
self.profile_description_text = HIGTextView()
self.profile_description_text.connect(
'motion-notify-event', self.update_help_desc)
# Buttons
self.buttons_hbox = HIGHBox()
self.cancel_button = HIGButton(stock=gtk.STOCK_CANCEL)
self.cancel_button.connect('clicked', self.exit)
self.delete_button = HIGButton(stock=gtk.STOCK_DELETE)
self.delete_button.connect('clicked', self.delete_profile)
self.save_button = HIGButton(_("Save Changes"), stock=gtk.STOCK_SAVE)
self.save_button.connect('clicked', self.save_profile)
###
self.help_vbox = HIGVBox()
self.help_label = HIGSectionLabel(_('Help'))
self.help_scroll = HIGScrolledWindow()
self.help_scroll.set_border_width(0)
self.help_field = HIGTextView()
self.help_field.set_cursor_visible(False)
self.help_field.set_left_margin(5)
self.help_field.set_editable(False)
self.help_vbox.set_size_request(200, -1)
开发者ID:mogigoma,项目名称:nmap,代码行数:56,代码来源:ProfileEditor.py
示例6: _create_widgets
def _create_widgets(self):
self.main_vbox = HIGVBox()
self.diff_view = DiffView()
self.diff_view.set_size_request(-1, 100)
self.hbox_buttons = HIGHBox()
self.progress = gtk.ProgressBar()
self.btn_close = HIGButton(stock=gtk.STOCK_CLOSE)
self.hbox_selection = HIGHBox()
self.scan_chooser_a = ScanChooser(self.scans, _(u"A Scan"))
self.scan_chooser_b = ScanChooser(self.scans, _(u"B Scan"))
开发者ID:mogi57,项目名称:nmap-5.61TEST4-android,代码行数:10,代码来源:DiffCompare.py
示例7: delete_profile
def delete_profile(self, widget=None, extra=None):
if self.deletable:
dialog = HIGDialog(buttons=(gtk.STOCK_OK, gtk.RESPONSE_OK,
gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
alert = HIGEntryLabel('<b>'+_("Deleting Profile")+'</b>')
text = HIGEntryLabel(_('Your profile is going to be deleted! Click\
Ok to continue, or Cancel to go back to Profile Editor.'))
hbox = HIGHBox()
hbox.set_border_width(5)
hbox.set_spacing(12)
vbox = HIGVBox()
vbox.set_border_width(5)
vbox.set_spacing(12)
image = gtk.Image()
image.set_from_stock(gtk.STOCK_DIALOG_WARNING, gtk.ICON_SIZE_DIALOG)
vbox.pack_start(alert)
vbox.pack_start(text)
hbox.pack_start(image)
hbox.pack_start(vbox)
dialog.vbox.pack_start(hbox)
dialog.vbox.show_all()
response = dialog.run()
dialog.destroy()
if response == gtk.RESPONSE_CANCEL:
return True
self.profile.remove_profile(self.profile_name)
self.update_profile_entry()
self.destroy()
开发者ID:mogi57,项目名称:nmap-5.61TEST4-android,代码行数:34,代码来源:ProfileEditor.py
示例8: __init__
def __init__(self, scans_store):
HIGVBox.__init__(self)
self.set_spacing(4)
scans_store.connect("row-changed", self._row_changed)
self.scans_list = gtk.TreeView(scans_store)
self.scans_list.get_selection().connect(
"changed", self._selection_changed)
status_col = gtk.TreeViewColumn(_("Status"))
cell = gtk.CellRendererText()
status_col.pack_start(cell)
status_col.set_cell_data_func(cell, status_data_func)
self.scans_list.append_column(status_col)
command_col = gtk.TreeViewColumn(_("Command"))
cell = gtk.CellRendererText()
command_col.pack_start(cell)
command_col.set_cell_data_func(cell, command_data_func)
self.scans_list.append_column(command_col)
scrolled_window = HIGScrolledWindow()
scrolled_window.set_border_width(0)
scrolled_window.add(self.scans_list)
self.pack_start(scrolled_window, True, True)
hbox = HIGHBox()
buttonbox = gtk.HButtonBox()
buttonbox.set_layout(gtk.BUTTONBOX_START)
buttonbox.set_spacing(4)
self.append_button = HIGButton(_("Append Scan"), gtk.STOCK_ADD)
buttonbox.pack_start(self.append_button, False)
self.remove_button = HIGButton(_("Remove Scan"), gtk.STOCK_REMOVE)
buttonbox.pack_start(self.remove_button, False)
self.cancel_button = HIGButton(_("Cancel Scan"), gtk.STOCK_CANCEL)
buttonbox.pack_start(self.cancel_button, False)
hbox.pack_start(buttonbox, padding=4)
self.pack_start(hbox, False, padding=4)
self._update()
开发者ID:Abhikos,项目名称:nmap,代码行数:48,代码来源:ScanScanListPage.py
示例9: _create_widgets
def _create_widgets(self):
self.button_box = gtk.HButtonBox()
self.button_box_ok = gtk.HButtonBox()
self.description_scrolled = gtk.ScrolledWindow()
self.description_text = gtk.TextView()
self.description_text.set_editable(False)
self.bug_text = gtk.Label()
self.bug_text.set_markup(
_(
"An unexpected error has crashed "
"%(app_name)s. Please copy the stack trace below and send it to "
'the <a href="mailto:[email protected]">[email protected]</a> mailing list. '
'(<a href="http://seclists.org/nmap-dev/">More about the list.</a>'
") The developers will see your report and try to fix the problem."
)
% {"app_name": escape(APP_DISPLAY_NAME)}
)
self.email_frame = gtk.Frame()
self.email_label = gtk.Label()
self.email_label.set_markup(_("<b>Copy and email to " '<a href="mailto:[email protected]">[email protected]</a>:</b>'))
self.btn_copy = gtk.Button(stock=gtk.STOCK_COPY)
self.btn_ok = gtk.Button(stock=gtk.STOCK_OK)
self.hbox = HIGHBox()
开发者ID:kenjiro7,项目名称:nmap,代码行数:26,代码来源:CrashReport.py
示例10: __init__
def __init__(self, scans_store):
HIGVBox.__init__(self)
# This is a cache of details windows we have open.
self._details_windows = {}
self.set_spacing(0)
hbox = HIGHBox()
self.scans_list = gtk.ComboBox(scans_store)
cell = gtk.CellRendererText()
self.scans_list.pack_start(cell, True)
self.scans_list.set_cell_data_func(cell, scan_entry_data_func)
hbox._pack_expand_fill(self.scans_list)
self.scans_list.connect("changed", self._selection_changed)
scans_store.connect("row-changed", self._row_changed)
scans_store.connect("row-deleted", self._row_deleted)
self.throbber = Throbber()
hbox._pack_noexpand_nofill(self.throbber)
self.details_button = gtk.Button(_("Details"))
self.details_button.connect("clicked", self._show_details)
hbox._pack_noexpand_nofill(self.details_button)
self._pack_noexpand_nofill(hbox)
self.nmap_output = NmapOutputViewer()
self._pack_expand_fill(self.nmap_output)
self._update()
开发者ID:EricGershman,项目名称:nmap,代码行数:33,代码来源:ScanNmapOutputPage.py
示例11: __init__
def __init__(self):
"""
"""
super(SaveDialog, self).__init__(title=_("Save Topology"),
action=gtk.FILE_CHOOSER_ACTION_SAVE,
buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_SAVE, gtk.RESPONSE_OK))
types_store = gtk.ListStore(str, object, str)
for type in TYPES:
types_store.append(type)
self.__combo = gtk.ComboBox(types_store)
cell = gtk.CellRendererText()
self.__combo.pack_start(cell, True)
self.__combo.add_attribute(cell, "text", 0)
self.__combo.connect("changed", self.__combo_changed_cb)
self.__combo.set_active(0)
self.connect("response", self.__response_cb)
hbox = HIGHBox()
label = gtk.Label(_("Select File Type:"))
hbox.pack_end(self.__combo, False)
hbox.pack_end(label, False)
self.set_extra_widget(hbox)
self.set_do_overwrite_confirmation(True)
hbox.show_all()
开发者ID:TomSellers,项目名称:nmap,代码行数:31,代码来源:SaveDialog.py
示例12: set_comment
def set_comment(self, comment=""):
self.comment_expander.set_use_markup(True)
if comment:
self.comment_expander.set_expanded(True)
hbox = HIGHBox()
self.comment_scrolled = gtk.ScrolledWindow()
self.comment_scrolled.set_border_width(5)
self.comment_scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.comment_txt_vw = gtk.TextView()
self.comment_txt_vw.set_wrap_mode(gtk.WRAP_WORD)
self.comment_txt_vw.get_buffer().set_text(comment)
self.comment_scrolled.add(self.comment_txt_vw)
hbox._pack_expand_fill(self.comment_scrolled)
self.comment_expander.add(hbox)
self._pack_noexpand_nofill(self.comment_expander)
开发者ID:royharoush,项目名称:tools,代码行数:20,代码来源:ScanHostDetailsPage.py
示例13: _create_widgets
def _create_widgets(self):
self.lbl_scan = HIGSectionLabel(self.title)
self.hbox = HIGHBox()
self.table = HIGTable()
self.list_scan = gtk.ListStore(str)
self.combo_scan = gtk.ComboBoxEntry(self.list_scan, 0)
self.btn_open_scan = gtk.Button(stock=gtk.STOCK_OPEN)
self.exp_scan = gtk.Expander(_("Scan Output"))
self.scrolled = gtk.ScrolledWindow()
self.txt_scan_result = gtk.TextView()
self.txg_tag = gtk.TextTag("scan_style")
开发者ID:0x00evil,项目名称:nmap,代码行数:11,代码来源:DiffCompare.py
示例14: __init__
def __init__(self):
HIGHBox.__init__(self)
self.information_label = gtk.Label()
self.entry = gtk.Entry()
self.pack_start(self.information_label, False)
self.information_label.show()
label = gtk.Label(_("Host Filter:"))
self.pack_start(label, False)
label.show()
self.pack_start(self.entry, True, True)
self.entry.show()
help_button = gtk.Button()
icon = gtk.Image()
icon.set_from_stock(gtk.STOCK_INFO, gtk.ICON_SIZE_BUTTON)
help_button.add(icon)
help_button.connect("clicked", self._help_button_clicked)
self.pack_start(help_button, False)
help_button.show_all()
self.entry.connect("changed", lambda x: self.emit("changed"))
开发者ID:0x00evil,项目名称:nmap,代码行数:24,代码来源:FilterBar.py
示例15: __create_widgets
def __create_widgets(self):
self.vbox = HIGVBox()
self.hbox = HIGHBox()
self.notebook = HIGNotebook()
self.btn_close = HIGButton(stock=gtk.STOCK_CLOSE)
self.written_by_scroll = HIGScrolledWindow()
self.written_by_text = HIGTextView()
self.design_scroll = HIGScrolledWindow()
self.design_text = HIGTextView()
self.soc2007_scroll = HIGScrolledWindow()
self.soc2007_text = HIGTextView()
self.contributors_scroll = HIGScrolledWindow()
self.contributors_text = HIGTextView()
self.translation_scroll = HIGScrolledWindow()
self.translation_text = HIGTextView()
self.nokia_scroll = HIGScrolledWindow()
self.nokia_text = HIGTextView()
开发者ID:EliseuTorres,项目名称:nmap,代码行数:23,代码来源:About.py
示例16: ScanRunDetailsPage
class ScanRunDetailsPage(HIGVBox):
def __init__(self, scan):
HIGVBox.__init__(self)
na = _('Not available')
# Command info
self.command_label = HIGEntryLabel(_('Command:'))
self.info_command_label = HIGEntryLabel(na)
self.nmap_version_label = HIGEntryLabel(_('Nmap Version:'))
self.info_nmap_version_label = HIGEntryLabel(na)
self.verbose_label = HIGEntryLabel(_('Verbosity level:'))
self.info_verbose_label = HIGEntryLabel(na)
self.debug_label = HIGEntryLabel(_('Debug level:'))
self.info_debug_label = HIGEntryLabel(na)
self.command_expander = gtk.Expander(
"<b>" + _("Command Info") + "</b>")
self.command_expander.set_use_markup(True)
self.command_table = HIGTable()
self.command_table.set_border_width(5)
self.command_table.set_row_spacings(6)
self.command_table.set_col_spacings(6)
self.command_hbox = HIGHBox()
self.command_hbox._pack_noexpand_nofill(hig_box_space_holder())
self.command_hbox._pack_noexpand_nofill(self.command_table)
self.command_table.attach(self.command_label, 0, 1, 0, 1)
self.command_table.attach(self.info_command_label, 1, 2, 0, 1)
self.command_table.attach(self.nmap_version_label, 0, 1, 1, 2)
self.command_table.attach(self.info_nmap_version_label, 1, 2, 1, 2)
self.command_table.attach(self.verbose_label, 0, 1, 2, 3)
self.command_table.attach(self.info_verbose_label, 1, 2, 2, 3)
self.command_table.attach(self.debug_label, 0, 1, 3, 4)
self.command_table.attach(self.info_debug_label, 1, 2, 3, 4)
self.command_expander.add(self.command_hbox)
self._pack_noexpand_nofill(self.command_expander)
self.command_expander.set_expanded(True)
# General info:
self.start_label = HIGEntryLabel(_('Started on:'))
self.info_start_label = HIGEntryLabel(na)
self.finished_label = HIGEntryLabel(_('Finished on:'))
self.info_finished_label = HIGEntryLabel(na)
self.host_up_label = HIGEntryLabel(_('Hosts up:'))
self.info_hosts_up_label = HIGEntryLabel(na)
self.host_down_label = HIGEntryLabel(_('Hosts down:'))
self.info_hosts_down_label = HIGEntryLabel(na)
self.host_scanned_label = HIGEntryLabel(_('Hosts scanned:'))
self.info_hosts_scanned_label = HIGEntryLabel(na)
self.open_label = HIGEntryLabel(_('Open ports:'))
self.info_open_label = HIGEntryLabel(na)
self.filtered_label = HIGEntryLabel(_('Filtered ports:'))
self.info_filtered_label = HIGEntryLabel(na)
self.closed_label = HIGEntryLabel(_('Closed ports:'))
self.info_closed_label = HIGEntryLabel(na)
self.general_expander = gtk.Expander(
"<b>" + _("General Info") + "</b>")
self.general_expander.set_use_markup(True)
self.general_table = HIGTable()
self.general_table.set_border_width(5)
self.general_table.set_row_spacings(6)
self.general_table.set_col_spacings(6)
self.general_hbox = HIGHBox()
self.general_hbox._pack_noexpand_nofill(hig_box_space_holder())
self.general_hbox._pack_noexpand_nofill(self.general_table)
self.general_table.attach(self.start_label, 0, 1, 0, 1)
self.general_table.attach(self.info_start_label, 1, 2, 0, 1)
self.general_table.attach(self.finished_label, 0, 1, 1, 2)
self.general_table.attach(self.info_finished_label, 1, 2, 1, 2)
self.general_table.attach(self.host_up_label, 0, 1, 2, 3)
self.general_table.attach(self.info_hosts_up_label, 1, 2, 2, 3)
self.general_table.attach(self.host_down_label, 0, 1, 3, 4)
self.general_table.attach(self.info_hosts_down_label, 1, 2, 3, 4)
self.general_table.attach(self.host_scanned_label, 0, 1, 4, 5)
self.general_table.attach(self.info_hosts_scanned_label, 1, 2, 4, 5)
#.........这里部分代码省略.........
开发者ID:TomSellers,项目名称:nmap,代码行数:101,代码来源:ScanRunDetailsPage.py
示例17: ProfileEditor
class ProfileEditor(HIGWindow):
def __init__(self, command=None, profile_name=None,
deletable=True, overwrite=False):
HIGWindow.__init__(self)
self.connect("delete_event", self.exit)
self.set_title(_('Profile Editor'))
self.set_position(gtk.WIN_POS_CENTER)
self.deletable = deletable
self.profile_name = profile_name
self.overwrite = overwrite
# Used to block recursive updating of the command entry when the
# command entry causes the OptionBuilder widgets to change.
self.inhibit_command_update = False
self.__create_widgets()
self.__pack_widgets()
self.profile = CommandProfile()
self.ops = NmapOptions()
if profile_name:
log.debug("Showing profile %s" % profile_name)
prof = self.profile.get_profile(profile_name)
# Interface settings
self.profile_name_entry.set_text(profile_name)
self.profile_description_text.get_buffer().set_text(
prof['description'])
command_string = prof['command']
self.ops.parse_string(command_string)
if command:
self.ops.parse_string(command)
self.option_builder = OptionBuilder(
Path.profile_editor, self.ops,
self.update_command, self.help_field.get_buffer())
log.debug("Option groups: %s" % str(self.option_builder.groups))
log.debug("Option section names: %s" % str(
self.option_builder.section_names))
#log.debug("Option tabs: %s" % str(self.option_builder.tabs))
for tab in self.option_builder.groups:
self.__create_tab(
_(tab),
_(self.option_builder.section_names[tab]),
self.option_builder.tabs[tab])
self.update_command()
def command_entry_changed_cb(self, widget):
command_string = self.command_entry.get_text().decode("UTF-8")
self.ops.parse_string(command_string)
self.inhibit_command_update = True
self.option_builder.update()
self.inhibit_command_update = False
def update_command(self):
"""Regenerate and display the command."""
if not self.inhibit_command_update:
# Block recursive updating of the OptionBuilder widgets when they
# cause a change in the command entry.
self.command_entry.handler_block(self.command_entry_changed_cb_id)
self.command_entry.set_text(self.ops.render_string())
self.command_entry.handler_unblock(
self.command_entry_changed_cb_id)
def update_help_name(self, widget, extra):
self.help_field.get_buffer().set_text(
"Profile name\n\nThis is how the profile will be identified "
"in the drop-down combo box in the scan tab.")
def update_help_desc(self, widget, extra):
self.help_field.get_buffer().set_text(
"Description\n\nThe description is a full description of what "
"the scan does, which may be long.")
def __create_widgets(self):
###
# Vertical box to keep 3 boxes
self.main_whole_box = HIGVBox()
self.upper_box = HIGHBox()
self.middle_box = HIGHBox()
self.lower_box = HIGHBox()
#self.main_vbox = HIGVBox()
self.command_entry = gtk.Entry()
self.command_entry_changed_cb_id = self.command_entry.connect(
"changed", self.command_entry_changed_cb)
self.scan_button = HIGButton(_("Scan"))
self.scan_button.connect("clicked", self.run_scan)
self.notebook = gtk.Notebook()
# Profile info page
#.........这里部分代码省略.........
开发者ID:mogigoma,项目名称:nmap,代码行数:101,代码来源:ProfileEditor.py
示例18: CrashReport
class CrashReport(HIGDialog):
def __init__(self, type, value, tb):
HIGDialog.__init__(self)
gtk.Window.__init__(self)
self.set_title(_('Crash Report'))
self.set_position(gtk.WIN_POS_CENTER_ALWAYS)
self._create_widgets()
self._pack_widgets()
self._connect_widgets()
trace = "".join(traceback.format_exception(type, value, tb))
text = "Version: " + VERSION + "\n" + trace
self.description_text.get_buffer().set_text(text)
def _create_widgets(self):
self.button_box = gtk.HButtonBox()
self.button_box_ok = gtk.HButtonBox()
self.description_scrolled = gtk.ScrolledWindow()
self.description_text = gtk.TextView()
self.description_text.set_editable(False)
self.bug_text = gtk.Label()
self.bug_text.set_markup(_("""\
An unexpected error has crashed %(app_name)s. Please copy the stack trace below and \
send it to the <a href="mailto:[email protected]">[email protected]</a> \
mailing list. (<a href="http://seclists.org/nmap-dev/">More about the list.</a>) \
The developers will see your report and try to fix the problem.""") % \
{ "app_name": escape(APP_DISPLAY_NAME) })
self.email_frame = gtk.Frame()
self.email_label = gtk.Label()
self.email_label.set_markup(_("""\
<b>Copy and email to <a href="mailto:[email protected]">[email protected]</a>:</b>\
"""))
self.btn_copy = gtk.Button(stock=gtk.STOCK_COPY)
self.btn_ok = gtk.Button(stock=gtk.STOCK_OK)
self.hbox = HIGHBox()
def _pack_widgets(self):
self.description_scrolled.add(self.description_text)
self.description_scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.description_scrolled.set_size_request(400, 150)
self.description_text.set_wrap_mode(gtk.WRAP_WORD)
self.bug_text.set_line_wrap(True)
self.email_label.set_line_wrap(True)
self.email_frame.set_label_widget(self.email_label)
self.email_frame.set_shadow_type(gtk.SHADOW_NONE)
self.hbox.set_border_width(6)
self.vbox.set_border_width(6)
self.hbox._pack_expand_fill(self.bug_text)
self.button_box.set_layout(gtk.BUTTONBOX_START)
self.button_box_ok.set_layout(gtk.BUTTONBOX_END)
self.button_box.pack_start(self.btn_copy)
self.button_box_ok.pack_start(self.btn_ok)
self.vbox.pack_start(self.hbox)
self.vbox.pack_start(self.email_frame)
self.vbox.pack_start(self.description_scrolled)
self.vbox.pack_start(self.button_box)
self.action_area.pack_start(self.button_box_ok)
def _connect_widgets(self):
self.btn_ok.connect("clicked", self.close)
self.btn_copy.connect("clicked", self.copy)
self.connect("delete-event", self.close)
def get_description(self):
buff = self.description_text.get_buffer()
return buff.get_text(buff.get_start_iter(), buff.get_end_iter())
def copy(self, widget=None, event=None):
clipboard = gtk.clipboard_get()
clipboard.set_text(self.get_description())
clipboard.store()
def close(self, widget=None, event=None):
self.destroy()
gtk.main_quit()
sys.exit(0)
开发者ID:CoolisTheName007,项目名称:nmap,代码行数:87,代码来源:CrashReport.py
示例19: DiffWindow
class DiffWindow(gtk.Window):
def __init__(self, scans):
gtk.Window.__init__(self)
self.set_title(_("Compare Results"))
self.ndiff_process = None
# We allow the user to start a new diff before the old one has
# finished. We have to keep references to old processes until they
# finish to avoid problems when tearing down the Python interpreter at
# program exit.
self.old_processes = []
self.timer_id = None
self.main_vbox = HIGVBox()
self.diff_view = DiffView()
self.diff_view.set_size_request(-1, 100)
self.hbox_buttons = HIGHBox()
self.progress = gtk.ProgressBar()
self.btn_close = HIGButton(stock=gtk.STOCK_CLOSE)
self.hbox_selection = HIGHBox()
self.scan_chooser_a = ScanChooser(scans, _(u"A Scan"))
self.scan_chooser_b = ScanChooser(scans, _(u"B Scan"))
self._pack_widgets()
self._connect_widgets()
self.set_default_size(-1, 500)
# Initial Size Request
self.initial_size = self.get_size()
def _pack_widgets(self):
self.main_vbox.set_border_width(6)
self.hbox_selection.pack_start(self.scan_chooser_a, True, True)
self.hbox_selection.pack_start(self.scan_chooser_b, True, True)
self.main_vbox.pack_start(self.hbox_selection, False)
scroll = gtk.ScrolledWindow()
scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
scroll.add(self.diff_view)
self.main_vbox.pack_start(scroll, True, True)
self.progress.hide()
self.progress.set_no_show_all(True)
self.hbox_buttons.pack_start(self.progress, False)
self.hbox_buttons.pack_end(self.btn_close, False)
self.main_vbox._pack_noexpand_nofill(self.hbox_buttons)
self.add(self.main_vbox)
def _connect_widgets(self):
self.connect("delete-event", self.close)
self.btn_close.connect("clicked", self.close)
self.scan_chooser_a.connect('changed', self.refresh_diff)
self.scan_chooser_b.connect('changed', self.refresh_diff)
def refresh_diff(self, widget):
"""This method is called whenever the diff output might have changed,
such as when a different scan was selected in one of the choosers."""
log.debug("Refresh diff.")
if (self.ndiff_process is not None and
self.ndiff_process.poll() is None):
# Put this in the list of old processes we keep track of.
self.old_processes.append(self.ndiff_process)
self.ndiff_process = None
scan_a = self.scan_chooser_a.parsed_scan
scan_b = self.scan_chooser_b.parsed_scan
if scan_a is None or scan_b is None:
self.diff_view.clear()
else:
try:
self.ndiff_process = zenmapCore.Diff.ndiff(scan_a, scan_b)
except OSError, e:
alert = HIGAlertDialog(
message_format=_("Error running ndiff"),
secondary_text=_(
"There was an error running the ndiff program.\n\n"
) + str(e).decode(sys.getdefaultencoding(), "replace"))
alert.run()
alert.destroy()
else:
开发者ID:0x00evil,项目名称:nmap,代码行数:86,代码来源:DiffCompare.py
示例20: ScanChooser
class ScanChooser(HIGVBox):
"""This class allows the selection of scan results from the list of open
tabs or from a file. It emits the "changed" signal when the scan selection
has changed."""
__gsignals__ = {
"changed": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ())
}
def __init__(self, scans, title):
self.__gobject_init__()
self.title = title
self.scan_dict = {}
# Setting HIGVBox
self.set_border_width(5)
self.set_spacing(6)
self._create_widgets()
self._pack_hbox()
self._attaching_widgets()
self._set_scrolled()
self._set_text_view()
self._set_open_button()
for scan in scans:
self.add_scan(scan.scan_name or scan.get_nmap_command(), scan)
self.combo_scan.connect('changed', self.show_scan)
self.combo_scan.connect('changed', lambda x: self.emit('changed'))
self._pack_noexpand_nofill(self.lbl_scan)
self._pack_expand_fill(self.hbox)
def _create_widgets(self):
self.lbl_scan = HIGSectionLabel(self.title)
self.hbox = HIGHBox()
self.table = HIGTable()
self.list_scan = gtk.ListStore(str)
self.combo_scan = gtk.ComboBoxEntry(self.list_scan, 0)
self.btn_open_scan = gtk.Button(stock=gtk.STOCK_OPEN)
self.exp_scan = gtk.Expander(_("Scan Output"))
self.scrolled = gtk.ScrolledWindow()
self.txt_scan_result = gtk.TextView()
self.txg_tag = gtk.TextTag("scan_style")
def get_buffer(self):
return self.txt_scan_result.get_buffer()
def show_scan(self, widget):
nmap_output = self.get_nmap_output()
if nmap_output:
self.txt_scan_result.get_buffer().set_text(nmap_output)
def normalize_output(self, output):
return "\n".join(output.split("\\n"))
def _pack_hbox(self):
self.hbox._pack_noexpand_nofill(hig_box_space_holder())
self.hbox._pack_expand_fill(self.table)
def _attaching_widgets(self):
self.table.attach(self.combo_scan, 0, 1, 0, 1, yoptions=0)
self.table.attach(
self.btn_open_scan, 1, 2, 0, 1, yoptions=0, xoptions=0)
self.table.attach(self.exp_scan, 0, 2, 1, 2)
def _set_scrolled(self):
self.scrolled.set_border_width(5)
self.scrolled.set_size_request(-1, 130)
# Packing scrolled window into expander
self.exp_scan.add(self.scrolled)
# Packing text view into scrolled window
self.scrolled.add_with_viewport(self.txt_scan_result)
# Setting scrolled window
self.scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
def _set_text_view(self):
self.txg_table = self.txt_scan_result.get_buffer().get_tag_table()
self.txg_table.add(self.txg_tag)
self.txg_tag.set_property("family", "Monospace")
self.txt_scan_result.set_wrap_mode(gtk.WRAP_WORD)
self.txt_scan_result.set_editable(False)
self.txt_scan_result.get_buffer().connect(
"changed", self._text_changed_cb)
def _set_open_button(self):
self.btn_open_scan.connect('clicked', self.open_file)
def open_file(self, widget):
file_chooser = ResultsFileSingleChooserDialog(_("Select Scan Result"))
response = file_chooser.run()
file_chosen = file_chooser.get_filename()
file_chooser.destroy()
if response == gtk.RESPONSE_OK:
#.........这里部分代码省略.........
开发者ID:0x00evil,项目名称:nmap,代码行数:101,代码来源:DiffCompare.py
注:本文中的zenmapGUI.higwidgets.higboxes.HIGHBox类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论