Example #1
0
    def __init__(self, screen, xml):
        super(ViewForm, self).__init__(screen, xml)
        self.view_type = 'form'
        self.widgets = defaultdict(list)
        self.state_widgets = []
        self.notebooks = []
        self.expandables = []

        container = self.parse(xml)

        vbox = gtk.VBox()
        vp = gtk.Viewport()
        vp.set_shadow_type(gtk.SHADOW_NONE)
        vp.add(container.table)
        self.scroll = scroll = gtk.ScrolledWindow()
        scroll.add(vp)
        scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        scroll.set_placement(gtk.CORNER_TOP_LEFT)
        viewport = gtk.Viewport()
        viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        viewport.add(scroll)
        vbox.pack_start(viewport, expand=True, fill=True)

        self.widget = vbox
        self._viewport = vp
Example #2
0
  def __init__(self):
    self._entries_div = hippo.CanvasBox() 

    # props not set properly in constructor
    self._entries_div.props.background_color=theme.COLOR_PAGE.get_int() 
    self._entries_div.props.spacing=style.DEFAULT_SPACING    
    self._entries_div.props.padding=10
    self._entries_div.props.orientation=hippo.ORIENTATION_VERTICAL    

    # Munge it all up into something we can stick into a gtk.ScrolledWindow
    canvas = hippo.Canvas() 
    canvas.set_root(self._entries_div)
    canvas.show()
    
    hbox = gtk.HBox()
    hbox.set_flags(gtk.HAS_FOCUS | gtk.CAN_FOCUS)
    hbox.pack_start(canvas)
    hbox.show()

    scroller = gtk.ScrolledWindow()
    scroller.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
    viewport = gtk.Viewport()
    viewport.set_shadow_type(gtk.SHADOW_NONE) 
    viewport.add(hbox)
    viewport.show()
    scroller.add(viewport)
    scroller.show()

    hippo.CanvasWidget.__init__(self, 
                                widget=scroller, 
                                padding=0, 
                                spacing=0,
                                border=1,
                                border_color=theme.COLOR_DARK_GREEN.get_int())
Example #3
0
    def __init__(self, parent_window):
        super(HistoryView, self).__init__()
        self.parent_window = parent_window
        self.calendar = gtk.Calendar()
        self.tomato_view = self._create_tomato_view()
        self.tomato_model = self.tomato_view.get_model()
        self.stat_model = WeeklyStatisticsModel()
        self.stat_graph = WeeklyBarChart(self.stat_model)

        tomato_wnd = gtk.ScrolledWindow()
        tomato_wnd.add(self.tomato_view)
        tomato_wnd.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)

        tomato_view = gtk.Viewport()
        tomato_view.add(tomato_wnd)

        top_hbox = gtk.HBox(False, 0)
        top_hbox.pack_start(self.calendar, False, False, padding=5)
        top_hbox.pack_start(tomato_view, True, True, padding=5)

        top_vbox = gtk.VBox(False, 0)
        top_vbox.pack_start(top_hbox, True, True, padding=5)

        self.pack1(top_vbox, shrink=False)
        self.pack2(self.stat_graph, shrink=False)

        self._on_day_changed(self.calendar)
        self.calendar.connect('day-selected', self._on_day_changed)
Example #4
0
    def __init__(self, game):
        super(DibujoClasificacion, self).__init__()

        self.set_title("Resultados")

        self.set_size_request(680, 480)
        self.set_resizable(False)
        self.set_position(gtk.WIN_POS_CENTER)

        barritas = gtk.ScrolledWindow()
        barritas.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)

        viewport = gtk.Viewport()

        darea = gtk.DrawingArea()
        darea.connect("expose-event", self.expose)

        barritas.add(viewport)
        viewport.add(darea)

        self.add(barritas)

        self.numeroRondas = game.get_number_of_rounds()
        self.resultados = []

        for q in range(self.numeroRondas):
            ss = game.get_round(q).get_round_results()
            self.resultados.append(ss)

        self.anchoBloque = 140
        self.altoBloque = 24
        self.separacionHorizontal = 20
        self.separacionVertical = 48

        self.show_all()
Example #5
0
    def create_tabcontent(self):
        self.buttons = {}
        self.tooltips = common.Tooltips()
        self.accel_group = Main.get_main().accel_group

        self.widget = gtk.VBox(spacing=3)
        self.widget.show()

        title_box = self.make_title_bar()
        self.widget.pack_start(title_box, expand=False, fill=True, padding=3)

        self.create_info_bar()
        self.widget.pack_start(self.info_bar, False, True)

        self.toolbar = self.create_toolbar(self.get_toolbars())
        self.toolbar.show_all()
        self.widget.pack_start(self.toolbar, False, True)

        viewport = gtk.Viewport()
        viewport.set_shadow_type(gtk.SHADOW_NONE)
        viewport.add(self.widget_get())
        viewport.show()
        self.scrolledwindow = gtk.ScrolledWindow()
        self.scrolledwindow.set_shadow_type(gtk.SHADOW_NONE)
        self.scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC,
                                       gtk.POLICY_AUTOMATIC)
        self.scrolledwindow.add(viewport)
        self.scrolledwindow.show()

        self.widget.pack_start(self.scrolledwindow)
Example #6
0
	def __init__(self, window, connection):
		#SETTINGS:
		self.showTabs = False
		self.panelRight = True
		self.connectionString = connection

		self.resultSet = None
		self.action_group = gtk.ActionGroup("SQLActions")
		self.runQuery = gtk.Action("SQLquery", _("Run SQL"), _("Run SQL"), gtk.STOCK_EXECUTE)
		self.runQuery.connect("activate", self.run)
		#self.action_group.add_action_with_accel(self.runQuery, "<Ctrl>Enter")
		self.action_group.add_action(self.runQuery)

		self.window = window
		self.cell = gtk.CellRendererText()
		#self.cell.editable = True

		self.manager = self.window.get_ui_manager()
		self.manager.insert_action_group(self.action_group, -1)
		self.manager.add_ui_from_string('<ui><toolbar name="ToolBar"><toolitem name="SQLquery" action="SQLquery" /></toolbar></ui>')

		self.textarea = gtk.TextView()
		self.textarea.set_wrap_mode(gtk.WRAP_WORD)
		self.textarea.show()
		self.buffer = self.textarea.get_buffer()

		self.scrollable = gtk.ScrolledWindow()
		self.scrollable.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
		self.scrollable.show()

		self.box = gtk.VBox()
		self.box.show()

		self.container = gtk.VBox()
		self.container.show()

		self.timearea = gtk.TextView()
		self.timearea.set_wrap_mode(gtk.WRAP_WORD)
		self.timearea.show()
		self.timer = self.timearea.get_buffer()

		self.box.pack_start(self.container)
		self.box.pack_end(self.timearea)
		self.box.pack_end(self.textarea)

		self.viewport = gtk.Viewport()
		self.viewport.add(self.box)
		self.viewport.show()

		self.scrollable.add(self.viewport)

		self.textarea.hide()
		self.container.hide()
		self.connect()

		panel = self.window.get_bottom_panel()
		image = gtk.Image()
		image.set_from_stock(gtk.STOCK_EXECUTE, gtk.ICON_SIZE_MENU)

		ui_id = panel.add_item(self.scrollable, "SQL", image)
Example #7
0
    def add_wnck_window_to_tab(self, wnck_window):
        '''将窗口添加到标签
        '''
        notebook = self.notebook
        drawingarea = gtk.Socket()
        drawingarea.show()
        drawingarea.connect('realize', self._on_add_wnck_window_to_drawingarea, wnck_window, drawingarea)
        drawingarea.connect('plug-removed', self._tab_remove)
        tabimage = gtk.Image()
        tabimage.set_from_pixbuf(wnck_window.get_icon())
        tabimage.set_padding(0, 0)
        tabimage.show()
        tabmenu = gtk.Label(wnck_window.get_name())

        box = gtk.Viewport()
        box.add(drawingarea)
        box.show()

        box.set_flags(gtk.CAN_FOCUS)

        drawingarea.box = box
        drawingarea.tabimage = tabimage
        drawingarea.tabmenu = tabmenu
        drawingarea.wnck_window = wnck_window

        notebook.append_page_menu(box, tabimage, tabmenu)
        notebook.set_current_page( notebook.page_num(box) )

        notebook.set_tab_reorderable(drawingarea, 1)

        self.tabs[wnck_window] = drawingarea

        pass
Example #8
0
    def __init__(self, image_file):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_title("... APLIKA ...")
        self.window.connect("delete_event", self.close_application)
        self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
        self.window.set_default_size(800, 600)

        self.pixbuf = gtk.gdk.pixbuf_new_from_file(image_file)
        self.ancho_pixbuf = float(self.pixbuf.get_width())
        self.alto_pixbuf = float(self.pixbuf.get_height())
        self.image = gtk.Image()
        self.image.set_from_pixbuf(self.pixbuf)

        self.viewport = gtk.Viewport()
        # No están por defecto, los agrego
        self.viewport.add_events(gtk.gdk.BUTTON_RELEASE_MASK
                                 | gtk.gdk.BUTTON1_MOTION_MASK)
        self.viewport.connect('button-press-event', self.on_button_pressed)
        self.viewport.connect('button-release-event', self.on_button_released)
        self.viewport.connect('motion-notify-event', self.on_mouse_moved)
        # Lo conecto a la ventana, ya que siempre tiene el foco
        self.window.connect('key-press-event', self.on_key_press)

        self.viewport.add(self.image)
        self.scrolled_wnd = gtk.ScrolledWindow()
        self.scrolled_wnd.add(self.viewport)
        self.window.add(self.scrolled_wnd)
        self.window.show_all()
Example #9
0
    def __init__(self):
        Tab.__init__(self)
        glade_tab = gtk.glade.XML(get_resource("pieces_tab.glade"))

        self._name = "Pieces"
        self._child_widget = glade_tab.get_widget("pieces_tab")
        self._tab_label = glade_tab.get_widget("pieces_tab_label")

        self._ms = MultiSquare(0,['#000000','#FF0000','#0000FF'],
                               display=self._child_widget.get_display(),
                               menu=glade_tab.get_widget("priority_menu"))

        vb = gtk.VBox()
        vb.add(self._ms)
        self.cb = gtk.CheckButton(label="Set priority of first few un-downloaded pieces to High")
        self.cb.connect("toggled",self.onPrioTogg)
        vb.pack_end(self.cb,expand=False,fill=False,padding=5)

        vp = gtk.Viewport()
        vp.set_shadow_type(gtk.SHADOW_NONE)
        vp.add(vb)


        self._child_widget.add(vp)
        self._child_widget.get_parent().show_all()

        #keep track of the current selected torrent
        self._current = -1

        self._showed_prio_warn = False
Example #10
0
        def callback_label(self, widget, event, model, name, src, window=None):
            lang_ids = rpc.session.rpc_exec_auth('/object', 'execute',
                                                 'res.lang', 'search',
                                                 [('translatable', '=', '1')])
            if not lang_ids:
                common.message(_('No other language available!'),
                               parent=window)
                return False
            langs = rpc.session.rpc_exec_auth('/object', 'execute', 'res.lang',
                                              'read', lang_ids,
                                              ['code', 'name'])

            win = gtk.Dialog(_('Add Translation'), window,
                             gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
            win.vbox.set_spacing(5)
            win.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
            win.set_icon(common.OPENERP_ICON)
            vbox = gtk.VBox(spacing=5)

            entries_list = []
            for lang in langs:
                code = lang['code']
                val = rpc.session.rpc_exec_auth('/object', 'execute', model,
                                                'read_string', False, [code],
                                                [name])
                if val and code in val:
                    val = val[code]
                else:
                    val = {'code': code, 'name': src}
                label = gtk.Label(lang['name'])
                entry = gtk.Entry()
                entry.set_text(val[name])
                entries_list.append((code, entry))
                hbox = gtk.HBox(homogeneous=True)
                hbox.pack_start(label, expand=False, fill=False)
                hbox.pack_start(entry, expand=True, fill=True)
                vbox.pack_start(hbox, expand=False, fill=True)
            vp = gtk.Viewport()
            vp.set_shadow_type(gtk.SHADOW_NONE)
            vp.add(vbox)
            sv = gtk.ScrolledWindow()
            sv.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
            sv.set_shadow_type(gtk.SHADOW_NONE)
            sv.add(vp)
            win.vbox.add(sv)
            win.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
            win.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
            win.resize(400, 200)
            win.show_all()
            res = win.run()
            if res == gtk.RESPONSE_OK:
                to_save = map(lambda x: (x[0], x[1].get_text()), entries_list)
                while to_save:
                    code, val = to_save.pop()
                    rpc.session.rpc_exec_auth('/object', 'execute', model,
                                              'write_string', False, [code],
                                              {name: val})
            window.present()
            win.destroy()
            return res
Example #11
0
    def CreateSiteConfigurationTab(self, notebook):
        sites_config = gtk.Frame()
        sites_config.set_shadow_type(gtk.SHADOW_NONE)
        notebook.append_page(sites_config, gtk.Label('Website Configuration'))

        self.entry_vbox.pack_start(gtk.Label(''), False)
        if self.configuration['pages']:
            sorted_pages = sorted(self.configuration['pages'].iteritems(),
                                  key=operator.itemgetter(1))
            for page in sorted_pages:
                pageName = page[0]
                order = self.configuration['pages'][pageName][0]
                url = self.configuration['pages'][pageName][1]
                img = self.configuration['pages'][pageName][2]
                self.CreatePageEntry(order, pageName, url, img)
        else:
            self.CreatePageEntry('1', '', '', '.')

        scrolled_window = gtk.ScrolledWindow()
        scrolled_window.set_shadow_type(gtk.SHADOW_NONE)
        scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        viewport = gtk.Viewport()
        viewport.set_shadow_type(gtk.SHADOW_NONE)
        viewport.add(self.entry_vbox)
        scrolled_window.add(viewport)
        sites_config.add(scrolled_window)
Example #12
0
    def __init__(self):
        #gtk.VBox.__init__(self, False)
        #self.set_border_width(10)
        gtk.ScrolledWindow.__init__(self)

        self.settings_list = []

        #scroll = gtk.ScrolledWindow()
        self.set_shadow_type(gtk.SHADOW_NONE)
        self.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)

        general = General()
        proxy = Proxy()

        self.settings_list.append(general)
        self.settings_list.append(proxy)

        vbox1 = gtk.VBox(False, 10)
        vbox1.set_border_width(10)
        vbox1.pack_start(general, False, False)
        vbox1.pack_start(proxy, False, False)

        view_port = gtk.Viewport()
        view_port.set_shadow_type(gtk.SHADOW_NONE)
        view_port.add(vbox1)

        self.add(view_port)
Example #13
0
    def __init__(self):
        gtk.Entry.__init__(self)
        self.tags = None
        self.filter = None  # currently applied filter string
        self.filter_tags = []  #filtered tags

        self.popup = gtk.Window(type=gtk.WINDOW_POPUP)
        self.scroll_box = gtk.ScrolledWindow()
        self.scroll_box.set_shadow_type(gtk.SHADOW_IN)
        self.scroll_box.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        viewport = gtk.Viewport()
        viewport.set_shadow_type(gtk.SHADOW_NONE)

        self.tag_box = TagBox()
        self.tag_box.connect("tag-selected", self.on_tag_selected)
        self.tag_box.connect("tag-unselected", self.on_tag_unselected)

        viewport.add(self.tag_box)
        self.scroll_box.add(viewport)
        self.popup.add(self.scroll_box)

        self.connect("button-press-event", self._on_button_press_event)
        self.connect("key-press-event", self._on_key_press_event)
        self.connect("key-release-event", self._on_key_release_event)
        self.connect("focus-out-event", self._on_focus_out_event)

        self._parent_click_watcher = None  # bit lame but works

        #runtime.storage.connect('tags-changed', self.refresh_tags)
        self.show()
        self.populate_suggestions()
Example #14
0
    def set_message(self, markup):
        """Adds a message on top of the treeview rows
        :param markup: PangoMarkup with the text to add
        """
        if self._message_label is None:
            self._viewport = gtk.Viewport()
            self._viewport.set_shadow_type(gtk.SHADOW_NONE)
            self.remove(self.hbox)
            self.add(self._viewport)

            self._message_box = gtk.EventBox()
            self._message_box.modify_bg(gtk.STATE_NORMAL,
                                        gtk.gdk.color_parse('white'))
            self._viewport.add(self._message_box)
            self._message_box.show()

            self._message_label = gtk.Label()
            self._message_label.connect('activate-link',
                                        self._on_message_label__activate_link)
            self._message_label.set_use_markup(True)
            self._message_label.set_alignment(0, 0)
            self._message_label.set_padding(12, 12)
            self._message_box.add(self._message_label)
            self._message_label.show()

        self._message_label.set_label(markup)
        self._viewport.show()
Example #15
0
    def _parse_page(self, node, notebook, attributes):
        tab_box = gtk.HBox(spacing=3)
        if 'name' in attributes:
            field = self.screen.group.fields[attributes['name']]
            if attributes['name'] == self.screen.exclude_field:
                return
            for attr in ('states', 'string'):
                if attr not in attributes and attr in field.attrs:
                    attributes[attr] = field.attrs[attr]
        label = gtk.Label('_' + attributes['string'].replace('_', '__'))
        label.set_use_underline(True)
        tab_box.pack_start(label)

        if 'icon' in attributes:
            ICONFACTORY.register_icon(attributes['icon'])
            pixbuf = tab_box.render_icon(attributes['icon'],
                                         gtk.ICON_SIZE_SMALL_TOOLBAR)
            icon = gtk.Image()
            icon.set_from_pixbuf(pixbuf)
            tab_box.pack_start(icon)
        tab_box.show_all()

        viewport = gtk.Viewport()
        viewport.set_shadow_type(gtk.SHADOW_NONE)
        scrolledwindow = ScrolledWindow(attrs=attributes)
        scrolledwindow.set_shadow_type(gtk.SHADOW_NONE)
        scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        scrolledwindow.add(viewport)
        scrolledwindow.show_all()
        self.state_widgets.append(scrolledwindow)
        notebook.append_page(scrolledwindow, tab_box)
        container = self.parse(node)
        viewport.add(container.table)
Example #16
0
    def __init__(self):
        self.main_path = os.path.join(os.getcwd(),
                                      os.path.dirname(sys.argv[0]))
        self.parser_dir = None
        self.parsers = None
        self.set_parser_dir("parsers")
        self.comparator_dir = None
        self.comparators = None
        self.set_comparator_dir("comparators")

        self.main_window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.main_window.connect("destroy", self.on_destroy)

        self.vbox1 = gtk.VBox(2)
        self.main_window.add(self.vbox1)
        self.vbox1.set_homogeneous(False)

        self.mode_hbox = gtk.HBox(2)
        self.vbox1.pack_start(self.mode_hbox)
        self.mode_hbox.pack_start(gtk.Label("Mode : "))
        self.mode_combobox = gtk.combo_box_new_text()
        self.mode_hbox.pack_start(self.mode_combobox)
        self.mode_combobox.append_text("DET")
        self.mode_combobox.append_text("ROC")
        self.mode_combobox.append_text("Display")
        self.mode_combobox.append_text("Single file")
        self.mode_combobox.set_active(0)
        self.mode_combobox.connect("changed", self.on_mode_changed)

        self.main_viewport = gtk.Viewport()
        self.vbox1.pack_start(self.main_viewport)

        self.main_window.show_all()
    def __create_tab(self, tab_name, section_name, tab):
        log.debug(">>> Tab name: %s" % tab_name)
        log.debug(">>>Creating profile editor section: %s" % section_name)

        vbox = HIGVBox()
        table = HIGTable()
        section = HIGSectionLabel(section_name)

        vbox._pack_noexpand_nofill(section)
        vbox._pack_noexpand_nofill(HIGSpacer(table))
        vbox.set_border_width(6)

        tab.fill_table(table, True)
        self.scrollwindow = HIGScrolledWindow()
        self.scrollwindow.set_size_request(600, 300)
        vp = gtk.Viewport()
        vp.add(vbox)
        vp.set_shadow_type(gtk.SHADOW_NONE)
        self.scrollwindow.add(vp)

        vbox_tmp = HIGVBox()
        vbox_tmp.set_border_width(6)
        vbox_tmp.set_spacing(12)
        vbox_tmp.pack_start(self.scrollwindow)

        self.notebook.append_page(vbox_tmp, gtk.Label(tab_name))
 def load (self, gmwidg):
     self.plot = ScorePlot()
     __widget__ = gtk.ScrolledWindow()
     __widget__.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
     port = gtk.Viewport()
     port.add(self.plot)
     port.set_shadow_type(gtk.SHADOW_NONE)
     __widget__.add(port)
     __widget__.show_all()
     
     self.boardview = gmwidg.board.view
     
     self.plot.connect("selected", self.plot_selected)
     self.boardview.connect('shown_changed', self.shown_changed)
     glock_connect(self.boardview.model, "game_changed", self.game_changed)
     glock_connect(self.boardview.model, "moves_undoing", self.moves_undoing)
     
     # Add the initial board
     glock_connect(self.boardview.model, "game_started", self.game_changed)
     
     def changed (vadjust):
         if not hasattr(vadjust, "need_scroll") or vadjust.need_scroll:
             vadjust.set_value(vadjust.upper-vadjust.page_size)
             vadjust.need_scroll = True
     __widget__.get_vadjustment().connect("changed", changed)
     
     def value_changed (vadjust):
         vadjust.need_scroll = abs(vadjust.value + vadjust.page_size - \
                 vadjust.upper) < vadjust.step_increment
     __widget__.get_vadjustment().connect("value-changed", value_changed)
     
     return __widget__
Example #19
0
    def __init__(self, editable=False, can_empty=False, has_search=False):
        gtk.HBox.__init__(self)

        self._entryband = gtk.Entry()
        self._entryband.set_width_chars(15)
        self._entryband.set_alignment(.5)
        self._entryyear = gtk.Entry(4)
        self._entryyear.set_width_chars(4)
        label = gtk.Label("/")

        hbox = gtk.HBox()
        hbox.pack_start(self._entryband, False, True, 0)
        hbox.pack_start(label, False, True, 4)
        hbox.pack_start(self._entryyear, False, True, 0)

        self._viewport = gtk.Viewport()
        self._viewport.add(hbox)

        image = gtk.image_new_from_stock(gtk.STOCK_FIND, gtk.ICON_SIZE_BUTTON)
        self._button = gtk.Button()
        self._button.add(image)
        self._button.set_relief(gtk.RELIEF_NONE)
        self._button.set_focus_on_click(False)
        self._button.set_no_show_all(True)
        self._button.connect("clicked", self.on_button_clicked)

        self.pack_start(self._viewport, False, False, 0)
        self.pack_start(self._button, False, False, 0)
        self.show_all()

        self.editable = editable
        self.can_empty = can_empty
        self.has_search = has_search
Example #20
0
    def _parse_page(self, node, notebook, attributes):
        tab_box = gtk.HBox(spacing=3)
        if '_' not in attributes['string']:
            attributes['string'] = '_' + attributes['string']
        label = gtk.Label(attributes['string'])
        label.set_use_underline(True)
        tab_box.pack_start(label)

        if 'icon' in attributes:
            ICONFACTORY.register_icon(attributes['icon'])
            pixbuf = tab_box.render_icon(attributes['icon'],
                                         gtk.ICON_SIZE_SMALL_TOOLBAR)
            icon = gtk.Image()
            icon.set_from_pixbuf(pixbuf)
            tab_box.pack_start(icon)
        tab_box.show_all()

        viewport = gtk.Viewport()
        viewport.set_shadow_type(gtk.SHADOW_NONE)
        scrolledwindow = gtk.ScrolledWindow()
        scrolledwindow.set_shadow_type(gtk.SHADOW_NONE)
        scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        scrolledwindow.add(viewport)
        scrolledwindow.show_all()
        notebook.append_page(scrolledwindow, tab_box)
        container = self.parse(node)
        viewport.add(container.table)
Example #21
0
 def add_page(self, name, widget):
     """Add a another page to the notebook"""
     # Create a header and scrolled window for the preferences tab
     parent = widget.get_parent()
     if parent:
         parent.remove(widget)
     vbox = gtk.VBox()
     label = gtk.Label()
     label.set_use_markup(True)
     label.set_markup("<b><i><big>" + name + "</big></i></b>")
     label.set_alignment(0.00, 0.50)
     label.set_padding(10, 10)
     vbox.pack_start(label, False, True, 0)
     sep = gtk.HSeparator()
     vbox.pack_start(sep, False, True, 0)
     align = gtk.Alignment()
     align.set_padding(5, 0, 0, 0)
     align.set(0, 0, 1, 1)
     align.add(widget)
     vbox.pack_start(align, True, True, 0)
     scrolled = gtk.ScrolledWindow()
     viewport = gtk.Viewport()
     viewport.set_shadow_type(gtk.SHADOW_NONE)
     viewport.add(vbox)
     scrolled.add(viewport)
     scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
     scrolled.show_all()
     # Add this page to the notebook
     index = self.notebook.append_page(scrolled)
     self.liststore.append([index, name])
     return name
Example #22
0
    def add_header(self, box):
        frame_predef_exports = gtk.Frame()
        frame_predef_exports.set_border_width(2)
        frame_predef_exports.set_shadow_type(gtk.SHADOW_NONE)
        box.pack_start(frame_predef_exports, True, True, 0)
        viewport_exports = gtk.Viewport()
        scrolledwindow_exports = gtk.ScrolledWindow()
        scrolledwindow_exports.set_policy(gtk.POLICY_AUTOMATIC,
                                          gtk.POLICY_AUTOMATIC)
        label_predef_exports = gtk.Label(_("<b>Predefined exports</b>"))
        label_predef_exports.set_use_markup(True)
        frame_predef_exports.set_label_widget(label_predef_exports)
        viewport_exports.add(scrolledwindow_exports)
        frame_predef_exports.add(viewport_exports)

        self.pref_export = gtk.TreeView()
        self.pref_export.append_column(
            gtk.TreeViewColumn(_('Name'), gtk.CellRendererText(), text=2))
        scrolledwindow_exports.add(self.pref_export)
        self.pref_export.connect("button-press-event", self.export_click)
        self.pref_export.connect("key-press-event", self.export_keypress)

        self.predef_model = gtk.ListStore(gobject.TYPE_INT,
                                          gobject.TYPE_PYOBJECT,
                                          gobject.TYPE_STRING)
        self.fill_predefwin()
Example #23
0
    def __init__(self, screen, xml, children_field, children_definitions=None):
        super(ViewTree, self).__init__(screen, xml)
        self.view_type = 'tree'
        self.widgets = defaultdict(list)
        self.state_widgets = []
        self.children_field = children_field
        self.children_definitions = children_definitions or []
        self.sum_widgets = []
        self.sum_box = gtk.HBox()
        self.reload = False

        # ABD: Pass self.attributes.get('editable_open') to constructor
        if self.attributes.get('editable'):
            self.treeview = EditableTreeView(
                self.attributes['editable'], self,
                self.attributes.get('editable_open'))
            grid_lines = gtk.TREE_VIEW_GRID_LINES_BOTH
        else:
            self.treeview = TreeView(self)
            grid_lines = gtk.TREE_VIEW_GRID_LINES_VERTICAL
        self.mnemonic_widget = self.treeview
        # ABD set alway expand through attributes
        self.always_expand = self.attributes.get('always_expand', False)

        self.parse(xml)

        self.treeview.set_property('rules-hint', True)
        self.treeview.set_property('enable-grid-lines', grid_lines)
        self.treeview.set_fixed_height_mode(
            all(c.get_sizing() == gtk.TREE_VIEW_COLUMN_FIXED
                for c in self.treeview.get_columns()))
        self.treeview.connect('button-press-event', self.__button_press)
        self.treeview.connect('key-press-event', self.on_keypress)
        self.treeview.connect_after('row-activated', self.__sig_switch)
        if self.children_field:
            self.treeview.connect('test-expand-row', self.test_expand_row)
            self.treeview.set_expander_column(self.treeview.get_column(0))
        self.treeview.set_rubber_banding(True)

        selection = self.treeview.get_selection()
        selection.set_mode(gtk.SELECTION_MULTIPLE)
        selection.connect('changed', self.__select_changed)

        self.set_drag_and_drop()

        self.widget = gtk.VBox()
        self.scroll = scroll = gtk.ScrolledWindow()
        scroll.add(self.treeview)
        scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        scroll.set_placement(gtk.CORNER_TOP_LEFT)
        viewport = gtk.Viewport()
        viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        viewport.add(scroll)
        self.widget.pack_start(viewport, expand=True, fill=True)

        self.sum_box.show()
        self.widget.pack_start(self.sum_box, expand=False, fill=False)

        self.display()
Example #24
0
    def createWidgets(self):
        self.transactionWidgets = {}
        self.pipes = {}

        self.scroll = ScrollContainer()
        self.scroll.hAdjust[0].set_property("step-increment", 20)
        self.cursor = Types.Observable(-1)

        # The ruler at the top is in charge of our time scale
        self.ruler = Ruler()
        TimeCursor(self.ruler, self.ruler, self.cursor)
        self.ruler.canvas.set_hadjustment(self.scroll.hAdjust[0])

        # The top heading holds the ruler, and a spacer aligned with the left heading
        leftHeadingWidth = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL)
        spacer = gtk.Label()
        leftHeadingWidth.add_widget(spacer)
        topHeading = gtk.HBox(False)
        topHeading.pack_start(spacer, False, padding=self.labelPadding)
        topHeading.pack_start(gtk.VSeparator(), False)
        topHeading.pack_start(self.ruler.canvas, True)

        # Everything except the top heading scrolls vertically using a viewport
        viewport = gtk.Viewport(None, self.scroll.vAdjust[0])
        viewport.set_shadow_type(gtk.SHADOW_NONE)
        viewport.set_size_request(1, 1)
        viewportBox = gtk.VBox(False)
        viewportBox.pack_start(topHeading, False)
        viewportBox.pack_start(gtk.HSeparator(), False)
        viewportBox.pack_start(viewport, True)
        self.scroll.add(viewportBox)

        # Gnome Canvas has really silly event grabbing semantics. To work around
        # all this, we'll just grab all events before gnome-canvas sees them.
        for widget in (viewport, self.ruler.canvas):
            widget.add_events(gtk.gdk.POINTER_MOTION_HINT_MASK
                              | gtk.gdk.POINTER_MOTION_MASK
                              | gtk.gdk.BUTTON_PRESS_MASK)
            for event in ('motion-notify-event', 'button-press-event',
                          'scroll-event'):
                widget.connect_after(event, self.mouseEvent)
            self.scroll.attachEvent(widget, horizontal=True)

        # The left heading holds labels for each canvas in the stack
        self.leftHeading = gtk.VBox(False)
        leftHeadingWidth.add_widget(self.leftHeading)

        # The viewport holds the left heading, then the main canvas stack
        scrolledBox = gtk.HBox(False)
        self.canvasList = []
        self.canvasStack = gtk.VBox(False)
        scrolledBox.pack_start(self.leftHeading,
                               False,
                               padding=self.labelPadding)
        scrolledBox.pack_start(gtk.VSeparator(), False)
        scrolledBox.pack_start(self.canvasStack, True)
        viewport.add(scrolledBox)

        return self.scroll
Example #25
0
    def update(self, view, defaults, buttons):
        for button in buttons:
            self._get_button(button)

        self.screen = Screen(view['model'], mode=[], context=self.context)
        self.screen.add_view(view)
        self.screen.switch_view()
        self.screen.widget.show()
        self.screen.signal_connect(self, 'group-changed',
            self._record_changed)

        title = gtk.Label()
        title.modify_font(pango.FontDescription("bold 14"))
        title.set_label(self.name)
        title.set_padding(20, 4)
        title.set_alignment(0.0, 0.5)
        title.set_size_request(0, -1)  # Allow overflow
        title.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#000000"))
        title.show()

        hbox = gtk.HBox()
        hbox.pack_start(title, expand=True, fill=True)
        hbox.show()

        frame = gtk.Frame()
        frame.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        frame.add(hbox)
        frame.show()

        eb = gtk.EventBox()
        eb.add(frame)
        eb.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#ffffff"))
        eb.show()

        self.widget.pack_start(eb, expand=False, fill=True, padding=3)

        if self.toolbar_box:
            self.widget.pack_start(self.toolbar_box, False, True)

        viewport = gtk.Viewport()
        viewport.set_shadow_type(gtk.SHADOW_NONE)
        viewport.add(self.screen.widget)
        viewport.show()
        self.scrolledwindow = gtk.ScrolledWindow()
        self.scrolledwindow.set_shadow_type(gtk.SHADOW_NONE)
        self.scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC,
                gtk.POLICY_AUTOMATIC)
        self.scrolledwindow.add(viewport)
        self.scrolledwindow.show()

        self.widget.pack_start(self.scrolledwindow, expand=True, fill=True)

        self.create_info_bar()
        self.widget.pack_start(self.info_bar, False, True)

        self.screen.new(default=False)
        self.screen.current_record.set_default(defaults)
        self.update_buttons(self.screen.current_record)
        self.screen.set_cursor()
    def __init__(self, xml, ksHandler):
        self.ks = ksHandler
        self.firewall_frame = xml.get_widget("firewall_frame")
        self.firewall_vbox = xml.get_widget("firewall_vbox")
        self.firewall_label_box = xml.get_widget("firewall_label_box")
        self.securityOptionMenu = xml.get_widget("securityOptionMenu")
        self.selinuxOptionMenu = xml.get_widget("selinuxOptionMenu")
        self.selinuxOptionMenu.set_active(0)
        self.firewallDefaultRadio = xml.get_widget("firewallDefaultRadio")
        self.trusted_devices_label = xml.get_widget("trusted_devices_label")
        self.allow_incoming_label = xml.get_widget("allow_incoming_label")
        self.fnnirewall_ports_label = xml.get_widget("firewall_ports_label")
        self.firewall_ports_entry = xml.get_widget("firewall_ports_entry")
        self.customTable = xml.get_widget("customTable")
        self.customFrame = xml.get_widget("customFrame")

        self.securityOptionMenu.connect("changed", self.disable_firewall)
        self.securityOptionMenu.set_active(0)

        self.label2 = gtk.Label (_("Trusted services:"))
        self.label2.set_alignment (0.0, 0.0)

        self.incomingStore = gtk.ListStore(gobject.TYPE_BOOLEAN, gobject.TYPE_STRING)
        self.incomingView = gtk.TreeView()
        self.incomingView.set_headers_visible(False)
        self.incomingView.set_model(self.incomingStore)
        checkbox = gtk.CellRendererToggle()
        checkbox.connect("toggled", self.item_toggled, self.incomingStore)
        col = gtk.TreeViewColumn('', checkbox, active = 0)
        col.set_fixed_width(20)
        col.set_clickable(True)
        self.incomingView.append_column(col)

        col = gtk.TreeViewColumn("", gtk.CellRendererText(), text=1)
        self.incomingView.append_column(col)

        self.list = {"SSH":"ssh", "Telnet":"telnet", "WWW (HTTP)":"http",
                     "Mail (SMTP)":"smtp", "FTP":"ftp"}

        for item in self.list.keys():
            iter = self.incomingStore.append()
            self.incomingStore.set_value(iter, 0, False)
            self.incomingStore.set_value(iter, 1, item)

        viewport = gtk.Viewport()
        viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        viewport.add(self.incomingView)

        self.customTable.attach (self.label2, 0, 1, 0, 1, gtk.FILL, gtk.FILL)
        self.customTable.attach (viewport, 1, 2, 0, 1, gtk.EXPAND|gtk.FILL, gtk.FILL)

        self.label3 = gtk.Label (_("Other ports (1029:tcp):"))
        self.label3.set_alignment (0.0, 0.5)
        self.portsEntry = gtk.Entry ()
        self.customTable.attach (self.label3, 0, 1, 2, 3, gtk.FILL, gtk.FILL)
        self.customTable.attach (self.portsEntry, 1, 2, 2, 3, gtk.EXPAND|gtk.FILL, gtk.FILL)

        self.firewall_vbox.show_all()
Example #27
0
def get_scrollable_label():
    label = gtk.Label()
    label.set_use_markup(True)
    label.set_line_wrap(True)
    label.set_line_wrap_mode(pango.WRAP_WORD)
    viewport = gtk.Viewport()
    viewport.add(label)
    viewport.show_all()
    return label, viewport
    def _createUi(self):
        # basic initialization
        self.set_border_width(5)

        # scrolled window
        self.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        self._no_objs = gtk.Viewport()
        self._no_objs.add(gtk.Label(_("No Objects Selected")))
        self._contents = self._no_objs
        self.add(self._no_objs)
Example #29
0
 def __init__(self):
     super(InfoBoxPage, self).__init__()
     self.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
     self.vbox = gtk.VBox()
     self.vbox.set_spacing(10)
     viewport = gtk.Viewport()
     viewport.add(self.vbox)
     self.add(viewport)
     self.expanders = {}
     self.label = None
Example #30
0
 def __init__(self):
     HIGScrolledWindow.__init__(self)
     self._boxeditable = None
     vp = gtk.Viewport()
     self._create_widgets()
     vp.add(self._box)
     vp.set_shadow_type(gtk.SHADOW_NONE)
     self.add(vp)
     self._profilecore = None
     self._selected = None