예제 #1
0
파일: headers.py 프로젝트: Adastra-thw/w3af
    def __init__(self, w3af, parentView, editable=False):
        '''Make object.'''
        RememberingVPaned.__init__(self, w3af, 'headers_view')
        self.id = 'HttpHeadersView'
        self.label = 'Headers'
        self.startLine = ''
        self.parentView = parentView
        self.is_request = True
        box = gtk.HBox()
        self._headersStore = gtk.ListStore(
            gobject.TYPE_STRING, gobject.TYPE_STRING)
        self._headersTreeview = gtk.TreeView(self._headersStore)
        # Column for Name
        renderer = gtk.CellRendererText()
        renderer.set_property('editable', editable)
        renderer.connect('edited', self._headerNameEdited, self._headersStore)
        column = gtk.TreeViewColumn(_('Name'), renderer, text=0)
        column.set_sort_column_id(0)
        column.set_resizable(True)
        self._headersTreeview.append_column(column)
        # Column for Value
        renderer = gtk.CellRendererText()
        renderer.set_property('editable', editable)
        renderer.set_property('ellipsize', pango.ELLIPSIZE_END)
        renderer.connect('edited', self._headerValueEdited, self._headersStore)
        column = gtk.TreeViewColumn(_('Value'), renderer, text=1)
        column.set_resizable(True)
        column.set_expand(True)
        column.set_sort_column_id(1)
        self._headersTreeview.append_column(column)
        self._scrolled = gtk.ScrolledWindow()
        self._scrolled.add(self._headersTreeview)
        self._scrolled.show_all()
        box.pack_start(self._scrolled)
        # Buttons area
        buttons = [
            (gtk.STOCK_GO_UP, self._moveHeaderUp),
            (gtk.STOCK_GO_DOWN, self._moveHeaderDown),
            (gtk.STOCK_ADD, self._addHeader),
            (gtk.STOCK_DELETE, self._deleteHeader)
        ]

        buttonBox = gtk.VBox()
        for button in buttons:
            b = gtk.Button(stock=button[0])
            b.connect("clicked", button[1])
            b.show()
            buttonBox.pack_start(b, False, False)
        buttonBox.show()

        if editable:
            box.pack_start(buttonBox, False, False)
        box.show()
        self.add(box)

        self._raw = HttpEditor(w3af)
        self._raw.show()
        self._raw.set_editable(editable)
        self._raw.set_wrap(True)
        self._raw.set_highlight_syntax(False)
        self._raw.set_highlight_current_line(False)
        self.initial = False
        if editable:
            buf = self._raw.get_buffer()
            buf.connect("changed", self._changed)
        self.add(self._raw)
예제 #2
0
    def __init__(self, w3af, parentView, editable=False):
        '''Make object.'''
        RememberingVPaned.__init__(self, w3af, 'headers_view')
        self.id = 'HttpHeadersView'
        self.label = 'Headers'
        self.startLine = ''
        self.parentView = parentView
        self.is_request = True
        box = gtk.HBox()
        self._headersStore = gtk.ListStore(gobject.TYPE_STRING,
                                           gobject.TYPE_STRING)
        self._headersTreeview = gtk.TreeView(self._headersStore)
        # Column for Name
        renderer = gtk.CellRendererText()
        renderer.set_property('editable', editable)
        renderer.connect('edited', self._headerNameEdited, self._headersStore)
        column = gtk.TreeViewColumn(_('Name'), renderer, text=0)
        column.set_sort_column_id(0)
        column.set_resizable(True)
        self._headersTreeview.append_column(column)
        # Column for Value
        renderer = gtk.CellRendererText()
        renderer.set_property('editable', editable)
        renderer.set_property('ellipsize', pango.ELLIPSIZE_END)
        renderer.connect('edited', self._headerValueEdited, self._headersStore)
        column = gtk.TreeViewColumn(_('Value'), renderer, text=1)
        column.set_resizable(True)
        column.set_expand(True)
        column.set_sort_column_id(1)
        self._headersTreeview.append_column(column)
        self._scrolled = gtk.ScrolledWindow()
        self._scrolled.add(self._headersTreeview)
        self._scrolled.show_all()
        box.pack_start(self._scrolled)
        # Buttons area
        buttons = [(gtk.STOCK_GO_UP, self._moveHeaderUp),
                   (gtk.STOCK_GO_DOWN, self._moveHeaderDown),
                   (gtk.STOCK_ADD, self._addHeader),
                   (gtk.STOCK_DELETE, self._deleteHeader)]

        buttonBox = gtk.VBox()
        for button in buttons:
            b = gtk.Button(stock=button[0])
            b.connect("clicked", button[1])
            b.show()
            buttonBox.pack_start(b, False, False)
        buttonBox.show()

        if editable:
            box.pack_start(buttonBox, False, False)
        box.show()
        self.add(box)

        self._raw = HttpEditor(w3af)
        self._raw.show()
        self._raw.set_editable(editable)
        self._raw.set_wrap(True)
        self._raw.set_highlight_syntax(False)
        self._raw.set_highlight_current_line(False)
        self.initial = False
        if editable:
            buf = self._raw.get_buffer()
            buf.connect("changed", self._changed)
        self.add(self._raw)