Ejemplo n.º 1
0
                def __init__(self, winMain):

                    self.winMain = winMain

                    gtk.Table.__init__(self, 3, 3, False)

                    # Ruler horizontal/vertical
                    self.hruler = gtk.HRuler()
                    self.hruler.set_metric(gtk.PIXELS)
                    self.hruler.set_range(0, 11111, 0, 11111)

                    self.vruler = gtk.VRuler()
                    self.vruler.set_metric(gtk.PIXELS)
                    self.vruler.set_range(0, 11111, 0, 11111)

                    # Scrolled Window containing drawing Area
                    self.area = gtk.DrawingArea()
                    self.area.set_events(gtk.gdk.POINTER_MOTION_MASK
                                         | gtk.gdk.POINTER_MOTION_HINT_MASK)
                    self.area.set_size_request(11111, 11111)
                    self.area.connect("expose-event", self.area_expose_cb)

                    self.sw = gtk.ScrolledWindow()
                    self.sw.add_with_viewport(self.area)

                    self.attach(self.hruler, 1, 2, 0, 1,
                                gtk.EXPAND | gtk.SHRINK | gtk.FILL, gtk.FILL,
                                0, 0)
                    self.attach(self.vruler, 0, 1, 1, 2, gtk.FILL,
                                gtk.EXPAND | gtk.SHRINK | gtk.FILL, 0, 0)
                    self.attach(self.sw, 1, 2, 1, 2, gtk.FILL, gtk.FILL, 0, 0)

                    # Tell mouse motion to rulers for updating the mouse position marker.
                    def motion_notify(ruler, event):
                        return ruler.emit("motion_notify_event", event)

                    self.sw.connect_object("motion_notify_event",
                                           motion_notify, self.hruler)
                    self.sw.connect_object("motion_notify_event",
                                           motion_notify, self.vruler)

                    # Set ruler scaling regarding to the visible area
                    def size_allocate_cb(wid, allocation):
                        x, y, w, h = allocation
                        #print("x: %d   y: %d   w:%d   h:%d" % (x,y,w,h))
                        lower, upper, pos, maxSize = self.hruler.get_range()
                        maxSize = max(maxSize, w)
                        self.hruler.set_range(lower, lower + w, pos, maxSize)
                        lower, upper, pos, maxSize = self.vruler.get_range()
                        maxSize = max(maxSize, h)
                        self.vruler.set_range(lower, lower + h, pos, maxSize)

                    self.sw.connect('size-allocate', size_allocate_cb)

                    # Recalculate ruler ranges with respect to scroll window and mouse position
                    def val_cb(adj, ruler, horiz):
                        #print("lower: %d   value: %d   upper-page_size:%d      upper:%d, page_size:%d" % (adj.lower, adj.value, adj.upper-adj.page_size,adj.upper,adj.page_size))
                        #position of the scrollbar between 'lower' and 'upper -page_size'.
                        #lower is 0, upper is the maximum value of the scroll region (self.are.set_size_request()), page_size is the scroll knob length.
                        v = adj.value
                        if horiz:
                            span = self.sw.get_allocation().width
                        else:
                            span = self.sw.get_allocation().height
                        lower, upper, pos, maxSize = ruler.get_range()
                        ruler.set_range(v, v + span, pos - v, maxSize)
                        while gtk.events_pending():
                            gtk.main_iteration()

                    self.hadj = self.sw.get_hadjustment()
                    self.hadj.connect('value-changed', val_cb, self.hruler,
                                      True)
                    self.vadj = self.sw.get_vadjustment()
                    self.vadj.connect('value-changed', val_cb, self.vruler,
                                      False)

                    self.hruler.show()
                    self.vruler.show()
                    self.sw.show()
                    self.area.show()

                    self.show()
    def getScreen(self, anaconda):
        self.neededSwap = 0
        self.storage = anaconda.id.storage
        self.intf = anaconda.intf
        self.dispatch = anaconda.dispatch

        rc = anaconda.id.upgradeSwapInfo

        self.neededSwap = 1
        self.row = 0
        box = gtk.VBox(False, 5)
        box.set_border_width(5)

        label = gtk.Label(
            _("Recent kernels (2.4 or newer) need significantly more "
              "swap than older kernels, up to twice "
              "the amount of RAM on the system.  "
              "You currently have %dMB of swap configured, but "
              "you may create additional swap space on one of "
              "your file systems now.") % (iutil.swapAmount() / 1024) +
            _("\n\nThe installer has detected %s MB of RAM.\n") %
            (iutil.memInstalled() / 1024))

        label.set_alignment(0.5, 0.0)
        #        label.set_size_request(400, 200)
        label.set_line_wrap(True)
        box.pack_start(label, False)

        hs = gtk.HSeparator()
        box.pack_start(hs, False)

        self.option1 = gtk.RadioButton(None,
                                       (_("I _want to create a swap file")))
        box.pack_start(self.option1, False)

        (fsList, suggSize, suggMntPoint) = rc

        self.swapbox = gtk.VBox(False, 5)
        box.pack_start(self.swapbox, False)

        label = gui.MnemonicLabel(
            _("Select the _partition to put the swap file on:"))
        a = gtk.Alignment(0.2, 0.5)
        a.add(label)
        self.swapbox.pack_start(a, False)

        self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING,
                                   gobject.TYPE_STRING)

        for (dev, size) in fsList:
            iter = self.store.append()
            self.store.set_value(iter, 0, dev)
            self.store.set_value(iter, 1, str(size))

        self.view = gtk.TreeView(self.store)
        label.set_mnemonic_widget(self.view)

        i = 0
        for title in [(_("Mount Point")), (_("Partition")),
                      (_("Free Space (MB)"))]:
            col = gtk.TreeViewColumn(title, gtk.CellRendererText(), text=i)
            self.view.append_column(col)
            i = i + 1

        sw = gtk.ScrolledWindow()
        sw.add(self.view)
        sw.set_shadow_type(gtk.SHADOW_IN)
        sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        sw.set_size_request(300, 90)
        a = gtk.Alignment(0.5, 0.5)
        a.add(sw)
        self.swapbox.pack_start(a, False, True, 10)

        rootiter = self.store.get_iter_first()
        sel = self.view.get_selection()
        sel.select_iter(rootiter)

        label = gtk.Label(
            _("A minimum swap file size of "
              "%d MB is recommended.  Please enter a size for the swap "
              "file:") % suggSize)
        label.set_size_request(400, 40)
        label.set_line_wrap(True)
        a = gtk.Alignment(0.5, 0.5)
        a.add(label)
        self.swapbox.pack_start(a, False, True, 10)

        hbox = gtk.HBox(False, 5)
        a = gtk.Alignment(0.4, 0.5)
        a.add(hbox)
        self.swapbox.pack_start(a, False)

        label = gui.MnemonicLabel(_("Swap file _size (MB):"))
        hbox.pack_start(label, False)

        self.entry = gtk.Entry(4)
        label.set_mnemonic_widget(self.entry)
        self.entry.set_size_request(40, 25)
        self.entry.set_text(str(suggSize))
        hbox.pack_start(self.entry, False, True, 10)

        self.option2 = gtk.RadioButton(self.option1,
                                       (_("I _don't want to create a swap "
                                          "file")))
        box.pack_start(self.option2, False, True, 20)

        self.option1.connect("toggled", self.toggle)
        return box
Ejemplo n.º 3
0
    def __init__(self, maitansetup, *args, **kwargs):
        gtk.Window.__init__(self, *args, **kwargs)

        if (maitansetup):
            self.setup = maitansetup
        else:
            self.setup = MaitanSetup()

        accelgroup = gtk.AccelGroup()
        self.add_accel_group(accelgroup)
        item_quit = gtk.ImageMenuItem(gtk.STOCK_QUIT, accelgroup)
        menu_file = gtk.Menu()
        menu_file.add(item_quit)
        self.item_file = gtk.MenuItem('_File')
        self.item_file.props.submenu = menu_file
        menubar = gtk.MenuBar()
        menubar.append(self.item_file)

        self.textbuf = gtk.TextBuffer()
        self.textbuf.set_text(self.setup.get_default_document())
        self.textview = gtk.TextView(self.textbuf)
        self.textview.set_wrap_mode(gtk.WRAP_CHAR)
        sw = gtk.ScrolledWindow()
        sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        sw.add(self.textview)

        self.button_cut = gtk.Button(stock=gtk.STOCK_EXECUTE)
        self.button_paste = gtk.Button(stock=gtk.STOCK_PREFERENCES)
        self.button_clear = gtk.Button(stock=gtk.STOCK_CLEAR)

        notebook = gtk.Notebook()
        notebook.set_tab_pos(gtk.POS_BOTTOM)

        vbox_img = gtk.VBox()
        notebook.append_page(vbox_img, gtk.Label("Image"))

        hbox_imgctl = gtk.HBox()
        self.zoom_ratio = gtk.Adjustment(value=30,
                                         lower=5,
                                         upper=200,
                                         step_incr=5)
        self.zoom_ratio.connect('value-changed', self.draw_image)
        sb = gtk.SpinButton(self.zoom_ratio)
        hbox_imgctl.pack_end(sb, expand=False, fill=False)
        hbox_imgctl.pack_end(gtk.Label("Zoom for preview (%): "),
                             expand=False,
                             fill=False)

        self.image = gtk.Image()
        self.image_exists = False
        self.image.set_from_stock(gtk.STOCK_DIALOG_ERROR, gtk.ICON_SIZE_DIALOG)

        self.imagebuf = None

        sw_img = gtk.ScrolledWindow()
        sw_img.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        sw_img.add_with_viewport(self.image)

        vbox_img.pack_start(sw_img, expand=True, fill=True)
        vbox_img.pack_start(hbox_imgctl, expand=False, fill=False)

        self.textbuf_log = gtk.TextBuffer()
        self.textview_log = gtk.TextView(self.textbuf_log)
        self.textview_log.set_wrap_mode = gtk.WRAP_CHAR
        self.textview_log.set_editable(False)

        sw_log = gtk.ScrolledWindow()
        sw_log.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        sw_log.add(self.textview_log)
        notebook.append_page(sw_log, gtk.Label("Log"))

        hbox_btn = gtk.HButtonBox()
        hbox_btn.pack_start(self.button_cut, expand=False, fill=False)
        hbox_btn.pack_start(self.button_clear, expand=False, fill=False)
        hbox_btn.pack_start(self.button_paste, expand=False, fill=False)

        box = gtk.VBox(spacing=3)

        box.pack_start(sw)
        box.pack_start(hbox_btn, expand=False, fill=False)

        paned = gtk.VPaned()
        paned.add1(box)
        paned.add2(notebook)

        vbox = gtk.VBox()
        vbox.pack_start(menubar, expand=False, fill=False)
        vbox.pack_start(paned)

        self.clipboard = gtk.Clipboard()
        self.clipboard_primary = gtk.Clipboard(selection='PRIMARY')
        self.connect('delete_event', gtk.main_quit)
        item_quit.connect('activate', gtk.main_quit)
        self.button_cut.connect('clicked', self.on_button_cut_clicked)
        self.button_paste.connect('clicked', self.on_button_paste_clicked)
        self.button_clear.connect('clicked', self.on_button_clear_clicked)
        #    self.clipboard.connect('owner-change', self.on_clipboard_owner_change)
        self.add(vbox)
        self.set_size_request(350, 300)
Ejemplo n.º 4
0
        def create_mainwin_widgets(self):

            self.datascrollwin = gtk.ScrolledWindow(None, None)

            FuelpadAbstractWindow.create_mainwin_widgets(self)
Ejemplo n.º 5
0
hbox = gtk.HBox()

text = gtk.Entry()

hbox.pack_start(text)

hbox.pack_start(go)

window.add(hbox)

browser = webkit.WebView()
window.add(browser)
browser.show()
browser.open("http://www.example.com")

scroller = gtk.ScrolledWindow()
scroller.add(browser)
window.add(scroller)
scroller.show()

window.show_all()


window.remove(scroller)
vbox = gtk.VBox()
window.add(vbox)
vbox.pack_start(hbox)
vbox.show()
vbox.pack_start(scroller)
print text.get_text()
def goclicked(btn):
Ejemplo n.º 6
0
class EdMainWindow():
    def __init__(self, fname, parent, names):

        self.full = False
        self.statuscount = 0
        self.alt = False
        register_stock_icons()

        global mained
        mained = self

        # Create the toplevel window
        window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window = window

        www = gtk.gdk.screen_width()
        hhh = gtk.gdk.screen_height()

        if pedconfig.conf.full_screen:
            window.set_default_size(www, hhh)
        else:
            xx = gconf.client_get_default().get_int(pedconfig.conf.config_reg +
                                                    "/xx")
            yy = gconf.client_get_default().get_int(pedconfig.conf.config_reg +
                                                    "/yy")

            ww = gconf.client_get_default().get_int(pedconfig.conf.config_reg +
                                                    "/ww")
            hh = gconf.client_get_default().get_int(pedconfig.conf.config_reg +
                                                    "/hh")

            if ww == 0 or hh == 0:
                window.set_position(gtk.WIN_POS_CENTER)
                window.set_default_size(7 * www / 8, 5 * hhh / 8)
                window.move(www / 32, hhh / 10)
            else:
                window.set_default_size(ww, hh)
                window.move(xx, yy)

        window.set_icon_from_file(get_img_path("pyedit.png"))

        merge = gtk.UIManager()
        window.set_data("ui-manager", merge)

        aa = create_action_group(self)
        merge.insert_action_group(aa, 0)
        window.add_accel_group(merge.get_accel_group())

        try:
            mergeid = merge.add_ui_from_string(ui_info)
        except gobject.GError, msg:
            print "Building menus failed: %s" % msg

        # Add MRU
        for cnt in range(6):
            ss = "/sess_%d" % cnt
            fname = gconf.client_get_default().get_string\
                        (pedconfig.conf.config_reg + ss)
            if fname != "":
                self.add_mru(merge, aa, fname, ss)

        merge_id = merge.new_merge_id()
        merge.add_ui(merge_id, "ui/MenuBar/FileMenu/SaveAs", "", None,
                     gtk.UI_MANAGER_SEPARATOR, False)

        mbar = merge.get_widget("/MenuBar")
        mbar.show()

        window.set_events(gtk.gdk.POINTER_MOTION_MASK
                          | gtk.gdk.POINTER_MOTION_HINT_MASK
                          | gtk.gdk.BUTTON_PRESS_MASK
                          | gtk.gdk.BUTTON_RELEASE_MASK
                          | gtk.gdk.KEY_PRESS_MASK | gtk.gdk.KEY_RELEASE_MASK
                          | gtk.gdk.FOCUS_CHANGE_MASK)

        #window.set_events(  gtk.gdk.ALL_EVENTS_MASK)

        global notebook

        # Create note for the main window, give access to it for all
        notebook = gtk.Notebook()
        notebook.popup_enable()
        notebook.set_scrollable(True)

        #notebook.add_events(gtk.gdk.FOCUS_CHANGE_MASK)
        notebook.add_events(gtk.gdk.ALL_EVENTS_MASK)

        notebook.connect("switch-page", self.note_swpage_cb)
        notebook.connect("focus-in-event", self.note_focus_in)

        # Futile attempts
        #notebook.connect("change-current-page", self.note_page_cb)
        #notebook.connect("grab-focus", self.note_grab_focus_cb)
        #notebook.connect("focus", self.note_focus_cb)
        #notebook.connect("create-window", self.note_create_cb)
        #notebook.connect("enter-notify-event", self.note_enter_notify)

        window.connect("window_state_event", self.update_resize_grip)
        window.connect("destroy", OnExit)

        window.connect("key-press-event", self.area_key)
        window.connect("key-release-event", self.area_key)

        #window.connect("set-focus", self.area_focus)
        window.connect("focus-in-event", self.area_focus_in)
        window.connect("focus-out-event", self.area_focus_out)
        window.connect("window-state-event", self.area_winstate)

        #window.connect("area-focus-event", self.area_focus_in)
        #window.connect("event", self.area_event)
        #window.connect("enter-notify-event", self.area_enter)
        #window.connect("leave-notify-event", self.area_leave)
        #window.connect("event", self.unmap)

        table = gtk.Table(2, 4, False)
        window.add(table)

        table.attach(
            mbar,
            # X direction #          # Y direction
            0,
            1,
            0,
            1,
            gtk.EXPAND | gtk.FILL,
            0,
            0,
            0)

        tbar = merge.get_widget("/ToolBar")
        tbar.set_tooltips(True)
        tbar.show()
        table.attach(
            tbar,
            # X direction #       # Y direction
            0,
            1,
            1,
            2,
            gtk.EXPAND | gtk.FILL,
            0,
            0,
            0)

        hpaned = gtk.HPaned()
        hpaned.set_border_width(5)

        scroll = gtk.ScrolledWindow()
        treeview = self.create_tree()
        treeview.connect("row-activated", self.tree_sel)
        treeview.connect("cursor-changed", self.tree_sel_row)
        self.treeview = treeview

        scroll.add(treeview)
        frame2 = gtk.Frame()
        frame2.add(scroll)
        hpaned.add(frame2)

        self.hpanepos = gconf.client_get_default(). \
                            get_int(pedconfig.conf.config_reg + "/hpaned")
        if self.hpanepos == 0: self.hpanepos = 200
        hpaned.set_position(self.hpanepos)
        hpaned.pack2(notebook)
        self.hpaned = hpaned

        # Create statusbars
        self.statusbar = gtk.Statusbar()
        self.statusbar2 = gtk.Statusbar()
        slab = gtk.Label("   ")
        hpane2 = gtk.HPaned()

        hpane2.set_position(self.get_width() - 200)
        hpane2.pack2(self.statusbar2)
        shbox = gtk.HBox()
        shbox.pack_start(slab, False)
        shbox.pack_start(self.statusbar)
        hpane2.pack1(shbox)

        # Main Pane
        table.attach(
            hpaned,
            # X direction           Y direction
            0,
            1,
            2,
            3,
            gtk.EXPAND | gtk.FILL,
            gtk.EXPAND | gtk.FILL,
            0,
            0)
        table.attach(
            hpane2,
            #table.attach(self.statusbar,
            # X direction           Y direction
            0,
            1,
            3,
            4,
            gtk.EXPAND | gtk.FILL,
            0,
            0,
            0)
        window.show_all()

        # ----------------------------------------------------------------
        cnt = 0
        # Read in buffers
        for aa in names:
            aaa = os.path.realpath(aa)
            #print "loading file: ", aaa
            vpaned = edPane()
            ret = vpaned.area.loadfile(aaa)
            if not ret:
                self.update_statusbar("Cannot read file '{0:s}'".format(aaa))
                continue
            ret = vpaned.area2.loadfile(aaa)

            cnt += 1
            notebook.append_page(vpaned)
            vpaned.area.set_tablabel()

        if cnt == 0:
            #print "No file on command line, creating new", os.getcwd()

            fcnt = gconf.client_get_default().get_int\
                        (pedconfig.conf.config_reg + "/cnt")

            # Load old session
            for nnn in range(fcnt):
                ss = "/sess_%d" % nnn
                fff = gconf.client_get_default().get_string\
                            (pedconfig.conf.config_reg + ss)

                #print "loading ", fff

                vpaned = edPane()
                ret = vpaned.area.loadfile(fff)
                if not ret:
                    self.update_statusbar(
                        "Cannot read file '{0:s}'".format(fff))
                    continue
                    vpaned.area2.loadfile(fff)

                notebook.append_page(vpaned)
                vpaned.area.set_tablabel()

        # Show newly created buffers:
        window.show_all()

        # Set last file
        fff = gconf.client_get_default().get_string\
                        (pedconfig.conf.config_reg + "/curr")

        #print "curr file", fff
        cc = notebook.get_n_pages()
        for mm in range(cc):
            vcurr = notebook.get_nth_page(mm)
            if vcurr.area.fname == fff:
                #print "found buff", fff
                notebook.set_current_page(mm)
                self.window.set_focus(vcurr.vbox.area)
                break

        # Set the signal handler for 1s tick
        signal.signal(signal.SIGALRM, handler)
        signal.alarm(1)
        self.update_statusbar("Initial")
Ejemplo n.º 7
0
    def __init__(self):
        super(PyApp, self).__init__()

        self.sr = None
        self.configWindow("VariationDetector", 1000, 700)

        self.configureSerial()

        self.loopTime = 5
        self.timeoutHandler = gtk.timeout_add(self.loopTime, self.process)
        """
		#f = open("/Users/clemi/Work/canonair/mbed/Captures/Autre.txt",'r')
		f = open("/Users/clemi/Work/canonair/mbed/Captures/Peugeot407-capture8.txt",'r')
		self.data = f.read().split("\n")
		f.close()

		#print(self.data)
		self.q = Queue.Queue()
		for d in self.data:
			p = d.split(":")[1].strip().replace("[","").replace("]","").replace("|"," ").split(" ")
			#print(p)
			t = "caca %s %s %s" %(p[2],p[3],p[4])
			for i in p[5:]:
				t += ' %s' %i
			#print(t)
			self.q.put(t)
		"""

        self.g = SimpleGraph(700, 250, 500, 8)

        #for i in range(50):
        #	self.g.appendPoint(i*3)

        self.indexStart = 0
        self.iterStart = None
        self.rolling = False
        self.size = 0
        self.framesDisp = {}
        self.frames = {}
        self.framesOld = {}

        # Build The HBOX
        self.hbox = gtk.HBox(False, 3)
        self.add(self.hbox)

        # Build The VBox
        self.vbox1 = gtk.VBox(False, 3)
        self.vbox1.set_size_request(200, 700)
        self.hbox.pack_start(self.vbox1, False, False, 0)

        # Add the scrolled view
        self.sw = gtk.ScrolledWindow()
        self.sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        self.sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        self.sw.set_size_request(200, 550)
        #self.hbox.pack_start(self.sw,False,False,0);
        #self.hbox.add(self.sw)
        self.vbox1.pack_start(self.sw, False, False, 0)
        #self.vbox.add(self.sw)

        self.rollingButton = gtk.CheckButton("Rolling")
        self.rollingButton.set_size_request(200, 50)
        self.rollingButton.set_active(False)
        self.rollingButton.unset_flags(gtk.CAN_FOCUS)
        self.rollingButton.connect("clicked", self.onRolling)
        self.vbox1.add(self.rollingButton)

        self.graphButton = gtk.ToggleButton("Add Graph")
        self.graphButton.set_size_request(200, 50)
        self.graphButton.connect("clicked", self.onGraph)
        self.vbox1.add(self.graphButton)

        self.stopButton = gtk.ToggleButton("Stop")
        self.stopButton.set_size_request(200, 50)
        self.stopButton.connect("clicked", self.onStop)
        self.vbox1.add(self.stopButton)

        # Create the store
        self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_BOOLEAN)
        self.store.append(["all", False])
        #self.store.append(["240",False])

        self.treeView = gtk.TreeView(self.store)
        #self.treeView.connect("row-activated", self.on_activated)
        self.treeView.set_rules_hint(True)
        self.sw.add(self.treeView)

        # Create the column renderers
        rendererText = gtk.CellRendererText()
        column = gtk.TreeViewColumn("ID", rendererText, text=0)
        column.set_sort_column_id(0)
        self.treeView.append_column(column)

        rendererToggle = gtk.CellRendererToggle()
        rendererToggle.set_property('activatable', True)
        rendererToggle.connect('toggled', self.col1_toggled_cb, self.store)
        column = gtk.TreeViewColumn("Visible", rendererToggle, text=0)
        column.add_attribute(rendererToggle, "active", 1)
        column.set_sort_column_id(1)
        self.treeView.append_column(column)

        # Add the Second VBox
        self.vbox2 = gtk.VBox(False, 3)
        self.hbox.add(self.vbox2)

        # Add the Text View
        self.entry = gtk.TextView()
        self.entry.set_size_request(200, 400)
        self.entry.add_events(gtk.gdk.KEY_RELEASE_MASK)
        self.entry.connect("copy-clipboard", self.cpyClipBoard)
        self.vbox2.pack_start(self.entry, False, False, 0)

        # Add the drawing area
        self.sw2 = gtk.ScrolledWindow()
        self.drawingArea = gtk.DrawingArea()
        self.drawingArea.set_size_request(250, 500)
        self.sw2.add_with_viewport(self.drawingArea)
        self.drawingArea.connect("expose-event", self.area_expose_cb)
        self.vbox2.add(self.sw2)

        # Get the buffer
        self.buffer = self.entry.get_buffer()
        self.c_tag = []
        for i in range(255):
            self.c_tag.append(
                self.buffer.create_tag("colored%s" % i,
                                       foreground="#%02x0000" % i,
                                       weight=pango.WEIGHT_BOLD))

        fontdesc = pango.FontDescription("monospace")
        self.entry.modify_font(fontdesc)

        self.show_all()

        self.count = 0
Ejemplo n.º 8
0
Yiddish (ײַדישע)‎	דאָס הײַזעלע 

Japanese (日本語)	こんにちは, コンニチハ
Chinese (中文,普通话,汉语)	你好
Cantonese (粵語,廣東話)	早晨, 你好
Korean (한글)	안녕하세요, 안녕하십니까

Difference among chinese characters in GB, JIS, KSC, BIG5:
 GB	--	元气	开发
 JIS	--	元気	開発
 KSC	--	元氣	開發
 BIG5	--	元氣	開發
'''

win = hildon.Window()
win.connect('destroy', gtk.main_quit)
#win.set_default_size(600, 400)

swin = gtk.ScrolledWindow()
swin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
win.add(swin)
swin.show()

l = gtk.Label(hellos)
swin.add_with_viewport(l)
l.show()

win.show()

gtk.main()
Ejemplo n.º 9
0
    def __init__(self):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_resizable(True)
        self.window.set_size_request(450,540)
        self.window.connect("destroy", self.close_application)
        self.window.connect("key_press_event", self.key_pressed)
        self.handler = self.window.connect("key_release_event", self.key_released)
        self.window.set_title("Devanagari Editor")
        self.window.set_border_width(0)
        self.window.set_icon_from_file("DElogo.ico")

        menubar = gtk.MenuBar()
        
        menu_file = gtk.Menu()
        menu_edit = gtk.Menu()
        menu_help = gtk.Menu()
        
        item_open = gtk.MenuItem("Open")
        item_open.connect("activate", self.open_devanagari_file)
        item_save = gtk.MenuItem("Save")
        item_save.connect("activate", self.save_devanagari_file)
        item_quit = gtk.MenuItem("Quit")
        item_quit.connect("activate", self.close_application)
        menu_file.append(item_open)
        menu_file.append(item_save)
        menu_file.append(item_quit)

        item_cut = gtk.MenuItem("Cut")
        item_copy = gtk.MenuItem("Copy")
        item_paste = gtk.MenuItem("Paste")
        menu_edit.append(item_cut)
        menu_edit.append(item_copy)
        menu_edit.append(item_paste)
        
        item_about = gtk.MenuItem("About")
        menu_help.append(item_about)
        
        item_file = gtk.MenuItem("File")
        item_edit = gtk.MenuItem("Edit")
        item_help = gtk.MenuItem("Help")
        
        item_file.set_submenu(menu_file)
        item_edit.set_submenu(menu_edit)
        item_help.set_submenu(menu_help)
        
        menubar.append(item_file)
        menubar.append(item_edit)
        menubar.append(item_help)
        

        self.box1 = gtk.VBox(False, 0)
        self.window.add(self.box1)
        self.box1.show()

        self.box1.pack_start(menubar, False, False, 0)
        
        box2 = gtk.VBox(False, 0)
        box2.set_border_width(0)
        self.box1.pack_start(box2, True, True, 0)
        box2.show()

        # the source text buffer
        sw = gtk.ScrolledWindow()
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        self.textview = gtk.TextView()
        self.textbuffer = self.textview.get_buffer()
        self.textview.set_wrap_mode(gtk.WRAP_WORD)
        self.textview.modify_font(pango.FontDescription("Sans 12"))
        sw.add(self.textview)
        sw.show()
        self.textview.show()

        box2.pack_start(sw)

        self.Mode = 'Devanagari'

        # clipboard
        self.clipboard = gtk.Clipboard(gtk.gdk.display_get_default(), "CLIPBOARD")
        
        # show the window 
        self.window.show_all()
Ejemplo n.º 10
0
    def __init__(self,
                 model,
                 callback,
                 sel_multi=True,
                 context=None,
                 domain=None,
                 view_ids=None,
                 views_preload=None,
                 new=True):
        NoModal.__init__(self)
        if views_preload is None:
            views_preload = {}
        self.domain = domain or []
        self.context = context or {}
        self.sel_multi = sel_multi
        self.callback = callback

        self.win = gtk.Dialog(_('Search'), self.parent,
                              gtk.DIALOG_DESTROY_WITH_PARENT)
        self.win.set_icon(TRYTON_ICON)
        self.win.set_has_separator(True)
        self.win.set_default_response(gtk.RESPONSE_APPLY)
        self.win.connect('response', self.response)

        self.accel_group = gtk.AccelGroup()
        self.win.add_accel_group(self.accel_group)

        self.but_cancel = self.win.add_button(gtk.STOCK_CANCEL,
                                              gtk.RESPONSE_CANCEL)
        self.but_find = self.win.add_button(gtk.STOCK_FIND, gtk.RESPONSE_APPLY)
        if new and common.MODELACCESS[model]['create']:
            self.but_new = self.win.add_button(gtk.STOCK_NEW,
                                               gtk.RESPONSE_ACCEPT)
            self.but_new.set_accel_path('<tryton>/Form/New', self.accel_group)

        self.but_ok = self.win.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
        self.but_ok.add_accelerator('clicked', self.accel_group,
                                    gtk.keysyms.Return, gtk.gdk.CONTROL_MASK,
                                    gtk.ACCEL_VISIBLE)

        hbox = gtk.HBox()
        hbox.show()
        self.win.vbox.pack_start(hbox, expand=False, fill=True)
        self.win.vbox.pack_start(gtk.HSeparator(), expand=False, fill=True)
        scrollwindow = gtk.ScrolledWindow()
        scrollwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        self.win.vbox.pack_start(scrollwindow, expand=True, fill=True)

        self.screen = Screen(model,
                             domain=domain,
                             mode=['tree'],
                             context=context,
                             view_ids=view_ids,
                             views_preload=views_preload,
                             row_activate=self.sig_activate)
        self.view = self.screen.current_view
        self.view.unset_editable()
        # Prevent to set tree_state
        self.screen.tree_states_done.add(id(self.view))
        sel = self.view.treeview.get_selection()

        if not sel_multi:
            sel.set_mode(gtk.SELECTION_SINGLE)
        else:
            sel.set_mode(gtk.SELECTION_MULTIPLE)
        viewport = gtk.Viewport()
        viewport.set_shadow_type(gtk.SHADOW_NONE)
        viewport.add(self.screen.widget)
        self.screen.widget.show()
        viewport.show()
        scrollwindow.add(viewport)
        scrollwindow.show()

        self.model_name = model

        self.win.set_size_request(700, 500)

        self.register()
        sensible_allocation = self.sensible_widget.get_allocation()
        self.win.set_default_size(int(sensible_allocation.width * 0.9),
                                  int(sensible_allocation.height * 0.9))
Ejemplo n.º 11
0
    def __init__(self):
        # Create a new dialog window for the scrolled window to be
        # packed into. 
        window = gtk.Dialog()
        window.connect("destroy", self.destroy)
        window.set_title("ScrolledWindow example")
        window.set_border_width(0)
        window.set_size_request(300, 300)

        # create a new scrolled window.
        scrolled_window = gtk.ScrolledWindow()
        scrolled_window.set_border_width(10)

        # the policy is one of POLICY AUTOMATIC, or POLICY_ALWAYS.
        # POLICY_AUTOMATIC will automatically decide whether you need
        # scrollbars, whereas POLICY_ALWAYS will always leave the scrollbars
        # there. The first one is the horizontal scrollbar, the second, the
        # vertical.
        scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_ALWAYS)

        # The dialog window is created with a vbox packed into it.
        window.vbox.pack_start(scrolled_window, gtk.TRUE, gtk.TRUE, 0)
        scrolled_window.show()
    
         # create the layout widget and pack into the table
        self.layout = gtk.Layout(None, None)
        self.layout.set_size(600, 600)

        # pack the table into the scrolled window
        scrolled_window.add_with_viewport(self.layout)
        self.layout.show()

        # create 3 buttons and put them into the layout widget
        button = gtk.Button("Press Me")
        button.connect("clicked", self.ButtonClicked)
        self.layout.put(button, 0, 0)
        button.show()

        button = gtk.Button("Press Me")
        button.connect("clicked", self.ButtonClicked)
        self.layout.put(button, 100, 0)
        button.show()

        button = gtk.Button("Press Me")
        button.connect("clicked", self.ButtonClicked)
        self.layout.put(button, 200, 0)
        button.show()

        # Add a "close" button to the bottom of the dialog
        button = gtk.Button("close")
        button.connect_object("clicked", self.destroy, window)

        # this makes it so the button is the default.
        button.set_flags(gtk.CAN_DEFAULT)
        window.action_area.pack_start( button, gtk.TRUE, gtk.TRUE, 0)

        # This grabs this button to be the default button. Simply hitting
        # the "Enter" key will cause this button to activate.
        button.grab_default()

        # show all the widgets
        button.show()
        window.show()
Ejemplo n.º 12
0
    def __init__(self, hosts=None, owner=None, poll_interval=None):
        gobject.threads_init()
        set_exception_hook_dialog("cylc gscan")
        setup_icons()
        if not hosts:
            hosts = GLOBAL_CFG.get(["suite host scanning", "hosts"])
        self.hosts = hosts
        if owner is None:
            owner = USER
        self.owner = owner
        self.window = gtk.Window()
        self.window.set_title("cylc gscan")
        self.window.set_icon(get_icon())
        self.vbox = gtk.VBox()
        self.vbox.show()

        self.theme_name = gcfg.get(['use theme'])
        self.theme = gcfg.get(['themes', self.theme_name])

        self.dots = DotMaker(self.theme)
        suite_treemodel = gtk.TreeStore(str, str, bool, str, int, str, str)
        self._prev_tooltip_location_id = None
        self.suite_treeview = gtk.TreeView(suite_treemodel)

        # Construct the host column.
        host_name_column = gtk.TreeViewColumn("Host")
        cell_text_host = gtk.CellRendererText()
        host_name_column.pack_start(cell_text_host, expand=False)
        host_name_column.set_cell_data_func(
            cell_text_host, self._set_cell_text_host)
        host_name_column.set_sort_column_id(0)
        host_name_column.set_visible("host" in gsfg.get(["columns"]))
        host_name_column.set_resizable(True)

        # Construct the suite name column.
        suite_name_column = gtk.TreeViewColumn("Suite")
        cell_text_name = gtk.CellRendererText()
        suite_name_column.pack_start(cell_text_name, expand=False)
        suite_name_column.set_cell_data_func(
            cell_text_name, self._set_cell_text_name)
        suite_name_column.set_sort_column_id(1)
        suite_name_column.set_visible("suite" in gsfg.get(["columns"]))
        suite_name_column.set_resizable(True)

        # Construct the suite title column.
        suite_title_column = gtk.TreeViewColumn("Title")
        cell_text_title = gtk.CellRendererText()
        suite_title_column.pack_start(cell_text_title, expand=False)
        suite_title_column.set_cell_data_func(
            cell_text_title, self._set_cell_text_title)
        suite_title_column.set_sort_column_id(3)
        suite_title_column.set_visible("title" in gsfg.get(
            ["columns"]))
        suite_title_column.set_resizable(True)

        # Construct the update time column.
        time_column = gtk.TreeViewColumn("Updated")
        cell_text_time = gtk.CellRendererText()
        time_column.pack_start(cell_text_time, expand=False)
        time_column.set_cell_data_func(
            cell_text_time, self._set_cell_text_time)
        time_column.set_sort_column_id(4)
        time_column.set_visible("updated" in gsfg.get(["columns"]))
        time_column.set_resizable(True)

        self.suite_treeview.append_column(host_name_column)
        self.suite_treeview.append_column(suite_name_column)
        self.suite_treeview.append_column(suite_title_column)
        self.suite_treeview.append_column(time_column)

        # Construct the status column.
        status_column = gtk.TreeViewColumn("Status")
        status_column.set_sort_column_id(5)
        status_column.set_visible("status" in gsfg.get(["columns"]))
        status_column.set_resizable(True)
        status_column_info = 6
        cycle_column_info = 5
        cell_text_cycle = gtk.CellRendererText()
        status_column.pack_start(cell_text_cycle, expand=False)
        status_column.set_cell_data_func(
            cell_text_cycle, self._set_cell_text_cycle, cycle_column_info)
        self.suite_treeview.append_column(status_column)
        for i in range(len(TASK_STATUSES_ORDERED)):
            cell_pixbuf_state = gtk.CellRendererPixbuf()
            status_column.pack_start(cell_pixbuf_state, expand=False)
            status_column.set_cell_data_func(
                cell_pixbuf_state, self._set_cell_pixbuf_state,
                (status_column_info, i)
            )

        self.suite_treeview.show()
        if hasattr(self.suite_treeview, "set_has_tooltip"):
            self.suite_treeview.set_has_tooltip(True)
            try:
                self.suite_treeview.connect('query-tooltip',
                                            self._on_query_tooltip)
            except TypeError:
                # Lower PyGTK version.
                pass
        self.suite_treeview.connect("button-press-event",
                                    self._on_button_press_event)
        scrolled_window = gtk.ScrolledWindow()
        scrolled_window.set_policy(gtk.POLICY_AUTOMATIC,
                                   gtk.POLICY_AUTOMATIC)
        scrolled_window.add(self.suite_treeview)
        scrolled_window.show()
        self.vbox.pack_start(scrolled_window, expand=True, fill=True)
        self.updater = ScanAppUpdater(
            self.hosts, suite_treemodel, self.suite_treeview,
            owner=self.owner, poll_interval=poll_interval
        )
        self.updater.start()
        self.window.add(self.vbox)
        self.window.connect("destroy", self._on_destroy_event)
        self.window.set_default_size(300, 150)
        self.suite_treeview.grab_focus()
        self.window.show()
Ejemplo n.º 13
0
    def __init__(self, config, parent=None):
        Window.__init__(self)
        if parent is None:
            self.mainwindow = self  # temp hack to make modal win32 file choosers work
        else:
            self.mainwindow = parent  # temp hack to make modal win32 file choosers work
        self.connect('destroy', self.quit)
        self.set_title('%s metafile creator %s' % (app_name, version))
        self.set_border_width(SPACING)

        self.set_position(gtk.WIN_POS_CENTER)

        self.config = config

        right_column_width = 276
        self.box = gtk.VBox(spacing=SPACING)

        self.table = gtk.Table(rows=3, columns=2, homogeneous=False)
        self.table.set_col_spacings(SPACING)
        self.table.set_row_spacings(SPACING)
        y = 0

        # file list
        self.table.attach(
            lalign(gtk.Label('Make .atorrent metafiles for these files:')),
            0,
            2,
            y,
            y + 1,
            xoptions=gtk.FILL,
            yoptions=gtk.FILL,
        )
        y += 1

        self.file_store = gtk.ListStore(gobject.TYPE_STRING)

        for i in range(8):
            self.file_store.append(('foo', ))

        self.file_scroll = gtk.ScrolledWindow()
        self.file_scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_ALWAYS)
        self.file_scroll.set_shadow_type(gtk.SHADOW_OUT)

        self.file_list = gtk.TreeView(self.file_store)
        r = gtk.CellRendererText()
        column = gtk.TreeViewColumn('_Files', r, text=0)
        self.file_list.append_column(column)
        self.file_list.get_selection().set_mode(gtk.SELECTION_MULTIPLE)

        file_list_height = self.file_list.size_request()[1] + SCROLLBAR_WIDTH
        self.file_store.clear()

        self.file_scroll.set_size_request(-1, file_list_height)
        self.file_scroll.add(self.file_list)
        self.table.attach(self.file_scroll,
                          0,
                          2,
                          y,
                          y + 1,
                          yoptions=gtk.EXPAND | gtk.FILL)
        y += 1

        self.file_list_button_box = gtk.HBox(homogeneous=True, spacing=SPACING)
        self.add_button = gtk.Button("Add Files")
        self.add_button.connect('clicked', self.choose_files)
        self.file_list_button_box.pack_start(self.add_button)
        self.add_folder_button = gtk.Button("Add Folders")
        self.add_folder_button.connect('clicked', self.choose_folders)
        self.file_list_button_box.pack_start(self.add_folder_button)
        self.remove_button = gtk.Button(stock=gtk.STOCK_REMOVE)
        self.remove_button.connect('clicked', self.remove_selection)
        self.remove_button.set_sensitive(False)
        self.file_list_button_box.pack_start(self.remove_button)
        self.clear_button = gtk.Button(stock=gtk.STOCK_CLEAR)
        self.clear_button.connect('clicked', self.clear_file_list)
        self.clear_button.set_sensitive(False)
        self.file_list_button_box.pack_start(self.clear_button)
        self.table.attach(self.file_list_button_box,
                          0,
                          2,
                          y,
                          y + 1,
                          xoptions=gtk.FILL,
                          yoptions=0)
        y += 1

        # Announce
        self.table.attach(ralign(gtk.Label('Announce URL:')),
                          0,
                          1,
                          y,
                          y + 1,
                          xoptions=gtk.FILL,
                          yoptions=0)
        self.announce_entry = gtk.Entry()
        self.announce_entry.set_text(self.config['tracker_name'])
        self.announce_entry.set_size_request(right_column_width, -1)
        self.table.attach(self.announce_entry,
                          1,
                          2,
                          y,
                          y + 1,
                          xoptions=gtk.FILL | gtk.EXPAND,
                          yoptions=0)
        y += 1

        # Piece size
        self.table.attach(ralign(gtk.Label('Piece size:')),
                          0,
                          1,
                          y,
                          y + 1,
                          xoptions=gtk.FILL,
                          yoptions=0)
        self.piece_size = gtk.combo_box_new_text()
        self.piece_size.offset = 15
        for i in range(7):
            self.piece_size.append_text(
                str(Size(2**(i + self.piece_size.offset))))
        self.piece_size.set_active(self.config['piece_size_pow2'] -
                                   self.piece_size.offset)
        self.piece_size_box = gtk.HBox(spacing=SPACING)
        self.piece_size_box.pack_start(self.piece_size,
                                       expand=False,
                                       fill=False)
        self.table.attach(self.piece_size_box,
                          1,
                          2,
                          y,
                          y + 1,
                          xoptions=gtk.FILL | gtk.EXPAND,
                          yoptions=0)
        y += 1

        self.box.pack_start(self.table, expand=True, fill=True)

        self.buttonbox = gtk.HBox(homogeneous=True, spacing=SPACING)

        self.quitbutton = gtk.Button(stock=gtk.STOCK_QUIT)
        self.quitbutton.connect('clicked', self.quit)
        self.buttonbox.pack_start(self.quitbutton, expand=True, fill=True)

        self.buttonbox.pack_start(gtk.Label(''), expand=True, fill=True)

        self.makebutton = IconButton('Make', stock=gtk.STOCK_EXECUTE)
        self.makebutton.connect('clicked', self.make)
        self.makebutton.set_sensitive(False)
        self.buttonbox.pack_end(self.makebutton, expand=True, fill=True)

        self.box.pack_end(self.buttonbox, expand=False, fill=False)

        self.announce_entry.connect('changed', self.check_buttons)
        self.file_store.connect('row-changed', self.check_buttons)
        sel = self.file_list.get_selection()
        sel.connect('changed', self.check_buttons)

        self.add(self.box)

        #        HelpWindow(None, makeHelp('btmaketorrentgui', defaults))

        self.show_all()
Ejemplo n.º 14
0
from gettext import gettext as _

import gtk

from sugar.graphics.toolbutton import ToolButton
from sugar.graphics.icon import Icon
from sugar.graphics import style

import logging
''' Set up a help palette for the main toolbars '''
help_palettes = {}
help_windows = {}
help_box = gtk.VBox()
help_box.set_homogeneous(False)
help_palettes['main-toolbar'] = help_box
help_windows['main-toolbar'] = gtk.ScrolledWindow()
help_windows['main-toolbar'].set_size_request(
    int(gtk.gdk.screen_width() / 3),
    gtk.gdk.screen_height() - style.GRID_CELL_SIZE * 3)
help_windows['main-toolbar'].set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
help_windows['main-toolbar'].add_with_viewport(help_palettes['main-toolbar'])
help_palettes['main-toolbar'].show()


class HelpButton(gtk.ToolItem):
    def __init__(self, activity):
        self._activity = activity

        gtk.ToolItem.__init__(self)

        help_button = ToolButton('toolbar-help')
Ejemplo n.º 15
0
    def __init__(self, columns):
        gtk.VBox.__init__(self, False, 6)
        self.table_tree = gtk.TreeView()
        self.table_tree.set_headers_visible(True)
        self.table_tree.set_headers_clickable(True)
        self.table_tree.set_enable_search(True)
        self.table_tree.set_rules_hint(True)
        self.table_tree.set_enable_tree_lines(True)
        self.table_tree.get_selection().set_mode(gtk.SELECTION_SINGLE)
        self.toggle_columns = []
        self.table_tree.connect("row-activated", self.row_activated_cb)

        for i, column in enumerate(columns):
            col = gtk.TreeViewColumn(column['col_name'])
            col.set_clickable(True)
            col.set_resizable(True)
            col.set_sort_column_id(column['col_id'])
            if 'col_min' in column.keys():
                col.set_min_width(column['col_min'])
            if 'col_max' in column.keys():
                col.set_max_width(column['col_max'])
            if 'expand' in column.keys():
                col.set_expand(True)
            self.table_tree.append_column(col)

            if (not 'col_style'
                    in column.keys()) or column['col_style'] == 'text':
                cell = gtk.CellRendererText()
                col.pack_start(cell, True)
                col.set_attributes(cell, text=column['col_id'])
                if 'col_t_id' in column.keys():
                    col.add_attribute(cell, 'font', column['col_t_id'])
            elif column['col_style'] == 'check toggle':
                cell = HobCellRendererToggle()
                cell.set_property('activatable', True)
                cell.connect("toggled", self.toggled_cb, i, self.table_tree)
                cell.connect_render_state_changed(self.stop_cell_fadeinout_cb,
                                                  self.table_tree)
                self.toggle_id = i
                col.pack_end(cell, True)
                col.set_attributes(cell, active=column['col_id'])
                self.toggle_columns.append(column['col_name'])
                if 'col_group' in column.keys():
                    col.set_cell_data_func(cell, self.set_group_number_cb)
            elif column['col_style'] == 'radio toggle':
                cell = gtk.CellRendererToggle()
                cell.set_property('activatable', True)
                cell.set_radio(True)
                cell.connect("toggled", self.toggled_cb, i, self.table_tree)
                self.toggle_id = i
                col.pack_end(cell, True)
                col.set_attributes(cell, active=column['col_id'])
                self.toggle_columns.append(column['col_name'])
            elif column['col_style'] == 'binb':
                cell = gtk.CellRendererText()
                col.pack_start(cell, True)
                col.set_cell_data_func(cell, self.display_binb_cb,
                                       column['col_id'])
                if 'col_t_id' in column.keys():
                    col.add_attribute(cell, 'font', column['col_t_id'])

        scroll = gtk.ScrolledWindow()
        scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
        scroll.add(self.table_tree)
        self.pack_start(scroll, True, True, 0)
    def gen_shared_sstate_widget(self, sstatemirrors_list, window):
        hbox = gtk.HBox(False)

        sstatemirrors_store = gtk.ListStore(str, str, str)
        for sstatemirror in sstatemirrors_list:
            sstatemirrors_store.append(sstatemirror)

        self.sstatemirrors_tv = gtk.TreeView()
        self.sstatemirrors_tv.set_rules_hint(True)
        self.sstatemirrors_tv.set_headers_visible(True)
        tree_selection = self.sstatemirrors_tv.get_selection()
        tree_selection.set_mode(gtk.SELECTION_SINGLE)

        # Allow enable drag and drop of rows including row move
        self.sstatemirrors_tv.enable_model_drag_source(
            gtk.gdk.BUTTON1_MASK, self.TARGETS,
            gtk.gdk.ACTION_DEFAULT | gtk.gdk.ACTION_MOVE)
        self.sstatemirrors_tv.enable_model_drag_dest(self.TARGETS,
                                                     gtk.gdk.ACTION_DEFAULT)
        self.sstatemirrors_tv.connect("drag_data_get", self.drag_data_get_cb)
        self.sstatemirrors_tv.connect("drag_data_received",
                                      self.drag_data_received_cb)

        self.scroll = gtk.ScrolledWindow()
        self.scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        self.scroll.set_shadow_type(gtk.SHADOW_IN)
        self.scroll.connect('size-allocate', self.scroll_changed)
        self.scroll.add(self.sstatemirrors_tv)

        #list store for cell renderer
        m = gtk.ListStore(gobject.TYPE_STRING)
        m.append(["Standard"])
        m.append(["Custom"])

        cell0 = gtk.CellRendererCombo()
        cell0.set_property("model", m)
        cell0.set_property("text-column", 0)
        cell0.set_property("editable", True)
        cell0.set_property("has-entry", False)
        col0 = gtk.TreeViewColumn("Configuration")
        col0.pack_start(cell0, False)
        col0.add_attribute(cell0, "text", 0)
        col0.set_cell_data_func(cell0, self.configuration_field)
        self.sstatemirrors_tv.append_column(col0)

        cell0.connect("edited", self.combo_changed, sstatemirrors_store)

        self.cell1 = gtk.CellRendererText()
        self.cell1.set_padding(5, 2)
        col1 = gtk.TreeViewColumn('Regex', self.cell1)
        col1.set_cell_data_func(self.cell1, self.regex_field)
        self.sstatemirrors_tv.append_column(col1)

        self.cell1.connect("edited", self.regex_changed, sstatemirrors_store)

        cell2 = gtk.CellRendererText()
        cell2.set_padding(5, 2)
        cell2.set_property("editable", True)
        col2 = gtk.TreeViewColumn('URL', cell2)
        col2.set_cell_data_func(cell2, self.url_field)
        self.sstatemirrors_tv.append_column(col2)

        cell2.connect("edited", self.url_changed, sstatemirrors_store)

        self.sstatemirrors_tv.set_model(sstatemirrors_store)
        self.sstatemirrors_tv.set_cursor(self.selected_mirror_row)
        hbox.pack_start(self.scroll, expand=True, fill=True)
        hbox.show_all()

        return hbox, sstatemirrors_store
Ejemplo n.º 17
0
    def create_ui(self):
        self.set_border_width(5)
        app_vbox = gtk.VBox(spacing=5)

        self.module_hbox = gtk.HBox(spacing=5)
        app_vbox.pack_start(self.module_hbox, fill=False, expand=False)

        label = gtk.Label()
        label.set_markup('<b>%s</b>' % _('Choose Module:'))
        self.module_hbox.pack_start(label, fill=False, expand=False)

        self.module_combo = gtk.ComboBox(self.modules_list_model)
        cell = gtk.CellRendererText()
        self.module_combo.pack_start(cell, True)
        self.module_combo.add_attribute(cell, 'text', 0)
        self.module_combo.changed_signal_id = self.module_combo.connect(
            'changed', self.on_module_selection_changed_cb)

        self.module_combo.set_row_separator_func(lambda x, y: x.get(y, 1)[0])
        self.module_hbox.pack_start(self.module_combo, fill=True)

        separator = gtk.VSeparator()
        self.module_hbox.pack_start(separator, fill=False, expand=False)
        preferences = gtk.Button(stock=gtk.STOCK_PREFERENCES)
        preferences.connect('clicked', self.on_preferences_cb)
        self.module_hbox.pack_start(preferences, fill=False, expand=False)

        self.progressbar = gtk.ProgressBar()
        self.progressbar.set_text(_('Build Progress'))
        app_vbox.pack_start(self.progressbar, fill=False, expand=False)

        expander = gtk.Expander(_('Terminal'))
        expander.set_expanded(False)
        app_vbox.pack_start(expander, fill=False, expand=False)
        sclwin = gtk.ScrolledWindow()
        sclwin.set_size_request(-1, 300)
        sclwin.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
        expander.add(sclwin)
        if vte:
            self.terminal = vte.Terminal()
            self.terminal.connect('child-exited', self.on_vte_child_exit_cb)
        else:
            os.environ['TERM'] = 'dumb'  # avoid commands printing vt sequences
            self.terminal = gtk.TextView()
            self.terminal.set_size_request(800, -1)
            textbuffer = self.terminal.get_buffer()
            terminal_bold_tag = textbuffer.create_tag('bold')
            terminal_bold_tag.set_property('weight', pango.WEIGHT_BOLD)
            terminal_mono_tag = textbuffer.create_tag('mono')
            terminal_mono_tag.set_property('family', 'Monospace')
            terminal_stdout_tag = textbuffer.create_tag('stdout')
            terminal_stdout_tag.set_property('family', 'Monospace')
            terminal_stderr_tag = textbuffer.create_tag('stderr')
            terminal_stderr_tag.set_property('family', 'Monospace')
            terminal_stderr_tag.set_property('foreground', 'red')
            terminal_stdin_tag = textbuffer.create_tag('stdin')
            terminal_stdin_tag.set_property('family', 'Monospace')
            terminal_stdin_tag.set_property('style', pango.STYLE_ITALIC)
            self.terminal.set_editable(False)
            self.terminal.set_wrap_mode(gtk.WRAP_CHAR)
        sclwin.add(self.terminal)
        self.terminal_sclwin = sclwin

        self.error_hbox = self.create_error_hbox()
        app_vbox.pack_start(self.error_hbox, fill=False, expand=False)

        buttonbox = gtk.HButtonBox()
        buttonbox.set_layout(gtk.BUTTONBOX_END)
        app_vbox.pack_start(buttonbox, fill=False, expand=False)

        # Translators: This is a button label (to start build)
        self.build_button = gtk.Button(_('Start'))
        self.build_button.connect('clicked', self.on_build_cb)
        buttonbox.add(self.build_button)

        button = gtk.Button(stock=gtk.STOCK_HELP)
        button.connect('clicked', self.on_help_cb)
        buttonbox.add(button)
        buttonbox.set_child_secondary(button, True)

        app_vbox.show_all()
        self.error_hbox.hide()
        self.add(app_vbox)
    def gen_editable_settings(self, setting, tooltip=""):
        setting_hbox = gtk.HBox(False, 12)

        vbox = gtk.VBox(False, 12)
        setting_hbox.pack_start(vbox, expand=True, fill=True)

        setting_store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
        for key in setting.keys():
            setting_store.set(setting_store.append(), 0, key, 1, setting[key])

        setting_tree = gtk.TreeView(setting_store)
        setting_tree.set_headers_visible(True)
        setting_tree.set_size_request(300, 100)

        col = gtk.TreeViewColumn('Key')
        col.set_min_width(100)
        col.set_max_width(150)
        col.set_resizable(True)
        col1 = gtk.TreeViewColumn('Value')
        col1.set_min_width(100)
        col1.set_max_width(150)
        col1.set_resizable(True)
        setting_tree.append_column(col)
        setting_tree.append_column(col1)
        cell = gtk.CellRendererText()
        cell.set_property('width-chars', 10)
        cell.set_property('editable', True)
        cell.set_data("column", 0)
        cell.connect("edited", self.editable_settings_cell_edited,
                     setting_store)
        cell1 = gtk.CellRendererText()
        cell1.set_property('width-chars', 10)
        cell1.set_property('editable', True)
        cell1.set_data("column", 1)
        cell1.connect("edited", self.editable_settings_cell_edited,
                      setting_store)
        col.pack_start(cell, True)
        col1.pack_end(cell1, True)
        col.set_attributes(cell, text=0)
        col1.set_attributes(cell1, text=1)

        scroll = gtk.ScrolledWindow()
        scroll.set_shadow_type(gtk.SHADOW_IN)
        scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        scroll.add(setting_tree)
        vbox.pack_start(scroll, expand=True, fill=True)

        # some buttons
        hbox = gtk.HBox(True, 6)
        vbox.pack_start(hbox, False, False)

        button = gtk.Button(stock=gtk.STOCK_ADD)
        button.connect("clicked", self.editable_settings_add_item_clicked,
                       setting_store)
        hbox.pack_start(button)

        button = gtk.Button(stock=gtk.STOCK_REMOVE)
        button.connect("clicked", self.editable_settings_remove_item_clicked,
                       setting_tree)
        hbox.pack_start(button)

        info = HobInfoButton(tooltip, self)
        setting_hbox.pack_start(info, expand=False, fill=False)

        return setting_hbox, setting_store
Ejemplo n.º 19
0
    def __init__(self, box, conf, ind):

        self.conf = conf
        self.ind = ind

        for key in settings:
            if not key in conf.launcher[ind]:
                conf.launcher[ind][key] = settings[key]

        self.settings = conf.launcher[ind]

        mixerbox = gtk.HBox(False, 0)
        box.pack_start(mixerbox, False, False)

        label = gtk.Label("Mixer :")
        label.set_alignment(0, 0.5)

        self.mixer = gtk.combo_box_entry_new_text()

        mixer_list = ("aumix", "xfce4-mixer", "xterm -e alsamixer",
                      "alsamixergui", "gamix", "gmixer", "gnome-alsamixer",
                      "gnome-volume-control", "pavucontrol")

        if not conf.launcher[ind]['mixer'] in mixer_list:
            mixer_list = (conf.launcher[ind]['mixer'], ) + mixer_list

        ind_mixer = 0  # FIXME !!
        for mixer in mixer_list:
            self.mixer.append_text(mixer)
            if mixer == conf.launcher[ind]['mixer']:
                self.mixer.set_active(ind_mixer)
            ind_mixer += 1

        self.mixer.child.connect('changed', self.changed_mixer)

        mixerbox.pack_start(label)
        mixerbox.pack_start(self.mixer)

        self.alsactrl = AlsaControl(int(self.settings["card_index"]),
                                    self.settings["control"])
        """ Initialize treeview with mixers """
        self.liststore = gtk.ListStore(bool, str, int)
        for mixer in self.alsactrl.get_mixers():
            active = (mixer == self.settings["control"])
            if active:
                self.liststore.append([active, mixer, pango.WEIGHT_BOLD])
            else:
                self.liststore.append([active, mixer, pango.WEIGHT_NORMAL])

        self.treeview = gtk.TreeView(self.liststore)
        self.treeview.set_headers_visible(False)

        cell1 = gtk.CellRendererToggle()
        cell1.set_radio(True)
        cell1.set_property("activatable", True)
        cell1.connect('toggled', self.on_treeview_toggled, self.liststore)
        column1 = gtk.TreeViewColumn()
        column1.pack_start(cell1, True)
        column1.add_attribute(cell1, 'active', 0)
        self.treeview.append_column(column1)

        cell2 = gtk.CellRendererText()
        column2 = gtk.TreeViewColumn()
        column2.pack_start(cell2, True)
        column2.add_attribute(cell2, 'text', 1)
        column2.add_attribute(cell2, 'weight', 2)
        self.treeview.append_column(column2)

        scrolledwindow = gtk.ScrolledWindow()
        scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        scrolledwindow.add(self.treeview)
        """ Initialize combobox with list of audio cards """
        icon = Core.pixbuf_from_file('images/conf/audio-card.png', 22, 22)

        self.combo_model = gtk.ListStore(int, gtk.gdk.Pixbuf, str)
        cards = self.alsactrl.get_cards()
        for index, card in enumerate(cards):
            if card is not None:
                self.combo_model.append([index, icon, card])

        card_combobox = gtk.ComboBox()
        card_combobox.set_model(self.combo_model)
        card_combobox.set_active(int(self.settings["card_index"]))

        cell1 = gtk.CellRendererPixbuf()
        cell1.set_property("xalign", 0)
        cell1.set_property("xpad", 3)
        card_combobox.pack_start(cell1, False)
        card_combobox.add_attribute(cell1, "pixbuf", 1)

        cell2 = gtk.CellRendererText()
        cell2.set_property("xpad", 10)
        card_combobox.pack_start(cell2, True)
        card_combobox.set_attributes(cell2, text=2)

        card_combobox.connect("changed", self.on_card_combobox_changed)

        box.pack_start(card_combobox, False, False)
        box.pack_end(scrolledwindow, True)
Ejemplo n.º 20
0
    def __init__(self, parent, application):
        SettingsPage.__init__(self, parent, application, 'accelerators',
                              _('Key bindings'))

        # create list box
        container = gtk.ScrolledWindow()
        container.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_ALWAYS)
        container.set_shadow_type(gtk.SHADOW_IN)

        self._accels = gtk.TreeStore(str, str, int, int, int, int)
        self._accels.set_sort_column_id(Column.TITLE, gtk.SORT_ASCENDING)

        self._list = gtk.TreeView()
        self._list.set_model(self._accels)
        self._list.set_rules_hint(True)
        self._list.set_enable_search(True)
        self._list.set_search_column(Column.TITLE)

        # create and configure cell renderers
        cell_name = gtk.CellRendererText()
        cell_primary = gtk.CellRendererAccel()
        cell_secondary = gtk.CellRendererAccel()

        cell_primary.set_property('accel-mode',
                                  gtk.CELL_RENDERER_ACCEL_MODE_OTHER)
        cell_primary.set_property('editable', True)

        cell_primary.connect('accel-edited', self.__accel_edited, True)
        cell_primary.connect('accel-cleared', self.__accel_cleared, True)

        cell_secondary.set_property('accel-mode',
                                    gtk.CELL_RENDERER_ACCEL_MODE_OTHER)
        cell_secondary.set_property('editable', True)

        cell_secondary.connect('accel-edited', self.__accel_edited, False)
        cell_secondary.connect('accel-cleared', self.__accel_cleared, False)

        # create and pack columns
        col_name = gtk.TreeViewColumn(_('Description'),
                                      cell_name,
                                      markup=Column.TITLE)
        col_name.set_min_width(200)
        col_name.set_resizable(True)
        col_name.set_sort_column_id(Column.TITLE)
        col_name.set_sort_order(gtk.SORT_ASCENDING)

        col_primary = gtk.TreeViewColumn(_('Primary'),
                                         cell_primary,
                                         accel_key=Column.PRIMARY_KEY,
                                         accel_mods=Column.PRIMARY_MODS)
        col_primary.set_min_width(100)

        col_secondary = gtk.TreeViewColumn(_('Secondary'),
                                           cell_secondary,
                                           accel_key=Column.SECONDARY_KEY,
                                           accel_mods=Column.SECONDARY_MODS)
        col_secondary.set_min_width(100)

        self._list.append_column(col_name)
        self._list.append_column(col_primary)
        self._list.append_column(col_secondary)

        # warning label
        label_warning = gtk.Label(
            _('<b>Note:</b> You can only edit accelerators from '
              'objects created at least once in current session. '
              'To disable accelerator press <i>Backspace</i> '
              'in assign mode.'))
        label_warning.set_alignment(0, 0)
        label_warning.set_use_markup(True)
        label_warning.set_line_wrap(True)
        label_warning.connect('size-allocate', self._adjust_label)

        # pack interface
        container.add(self._list)

        self.pack_start(label_warning, False, False, 0)
        self.pack_start(container, True, True, 0)
Ejemplo n.º 21
0
    def __init__(self, dbstate, uistate, track=[]):
        self.dbstate = dbstate
        self.__uistate = uistate
        self.title = _("Plugin Manager")
        ManagedWindow.ManagedWindow.__init__(self, uistate, track,
                                             self.__class__)

        self.__pmgr = GuiPluginManager.get_instance()
        self.__preg = PluginRegister.get_instance()
        self.set_window(
            gtk.Dialog("", uistate.window, gtk.DIALOG_DESTROY_WITH_PARENT,
                       (gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE)), None,
            self.title)
        self.window.set_size_request(750, 400)
        self.window.connect('response', self.close)

        notebook = gtk.Notebook()

        #first page with all registered plugins
        vbox_reg = gtk.VBox()
        scrolled_window_reg = gtk.ScrolledWindow()
        self.list_reg = gtk.TreeView()
        #  model: plugintype, hidden, pluginname, plugindescr, pluginid
        self.model_reg = gtk.ListStore(gobject.TYPE_STRING,
                                       gobject.TYPE_STRING,
                                       gobject.TYPE_STRING,
                                       gobject.TYPE_STRING,
                                       gobject.TYPE_STRING)
        self.selection_reg = self.list_reg.get_selection()
        self.list_reg.set_model(self.model_reg)
        self.list_reg.set_rules_hint(True)
        self.list_reg.connect('button-press-event', self.button_press_reg)
        col0_reg = gtk.TreeViewColumn(_('Type'),
                                      gtk.CellRendererText(),
                                      text=0)
        col0_reg.set_sort_column_id(0)
        col0_reg.set_resizable(True)
        self.list_reg.append_column(col0_reg)
        col = gtk.TreeViewColumn(_('Status'), gtk.CellRendererText(), markup=1)
        col.set_sort_column_id(1)
        self.list_reg.append_column(col)
        col2_reg = gtk.TreeViewColumn(_('Name'),
                                      gtk.CellRendererText(),
                                      text=2)
        col2_reg.set_sort_column_id(2)
        col2_reg.set_resizable(True)
        self.list_reg.append_column(col2_reg)
        col = gtk.TreeViewColumn(_('Description'),
                                 gtk.CellRendererText(),
                                 text=3)
        col.set_sort_column_id(3)
        col.set_resizable(True)
        self.list_reg.append_column(col)
        self.list_reg.set_search_column(2)

        scrolled_window_reg.add(self.list_reg)
        vbox_reg.pack_start(scrolled_window_reg)
        hbutbox = gtk.HButtonBox()
        hbutbox.set_layout(gtk.BUTTONBOX_SPREAD)
        self.__info_btn = gtk.Button(_("Info"))
        hbutbox.add(self.__info_btn)
        self.__info_btn.connect('clicked', self.__info, self.list_reg,
                                4)  # id_col
        self.__hide_btn = gtk.Button(_("Hide/Unhide"))
        hbutbox.add(self.__hide_btn)
        self.__hide_btn.connect('clicked', self.__hide, self.list_reg, 4,
                                1)  # list, id_col, hide_col
        if __debug__:
            self.__edit_btn = gtk.Button(_("Edit"))
            hbutbox.add(self.__edit_btn)
            self.__edit_btn.connect('clicked', self.__edit, self.list_reg,
                                    4)  # id_col
            self.__load_btn = gtk.Button(_("Load"))
            hbutbox.add(self.__load_btn)
            self.__load_btn.connect('clicked', self.__load, self.list_reg,
                                    4)  # id_col
        vbox_reg.pack_start(hbutbox, expand=False, padding=5)

        notebook.append_page(vbox_reg,
                             tab_label=gtk.Label(_('Registered Plugins')))

        #second page with loaded plugins
        vbox_loaded = gtk.VBox()
        scrolled_window = gtk.ScrolledWindow()
        self.list = gtk.TreeView()
        self.model = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING,
                                   gobject.TYPE_STRING, object,
                                   gobject.TYPE_STRING, gobject.TYPE_STRING)
        self.selection = self.list.get_selection()
        self.list.set_model(self.model)
        self.list.set_rules_hint(True)
        self.list.connect('button-press-event', self.button_press)
        self.list.connect('cursor-changed', self.cursor_changed)
        col = gtk.TreeViewColumn(_('Loaded'), gtk.CellRendererText(), markup=0)
        col.set_sort_column_id(0)
        col.set_resizable(True)
        self.list.append_column(col)
        col1 = gtk.TreeViewColumn(_('File'), gtk.CellRendererText(), text=1)
        col1.set_sort_column_id(1)
        col1.set_resizable(True)
        self.list.append_column(col1)
        col = gtk.TreeViewColumn(_('Status'), gtk.CellRendererText(), markup=5)
        col.set_sort_column_id(5)
        self.list.append_column(col)
        col2 = gtk.TreeViewColumn(_('Message'), gtk.CellRendererText(), text=2)
        col2.set_sort_column_id(2)
        col2.set_resizable(True)
        self.list.append_column(col2)
        self.list.set_search_column(1)

        scrolled_window.add(self.list)
        vbox_loaded.pack_start(scrolled_window)
        hbutbox = gtk.HButtonBox()
        hbutbox.set_layout(gtk.BUTTONBOX_SPREAD)
        self.__info_btn = gtk.Button(_("Info"))
        hbutbox.add(self.__info_btn)
        self.__info_btn.connect('clicked', self.__info, self.list, 4)  # id_col
        self.__hide_btn = gtk.Button(_("Hide/Unhide"))
        hbutbox.add(self.__hide_btn)
        self.__hide_btn.connect('clicked', self.__hide, self.list, 4,
                                5)  # list, id_col, hide_col

        if __debug__:
            self.__edit_btn = gtk.Button(_("Edit"))
            hbutbox.add(self.__edit_btn)
            self.__edit_btn.connect('clicked', self.__edit, self.list,
                                    4)  # id_col
            self.__load_btn = gtk.Button(_("Load"))
            self.__load_btn.set_sensitive(False)
            hbutbox.add(self.__load_btn)
            self.__load_btn.connect('clicked', self.__load, self.list,
                                    4)  # id_col
        vbox_loaded.pack_start(hbutbox, expand=False, padding=5)
        notebook.append_page(vbox_loaded,
                             tab_label=gtk.Label(_('Loaded Plugins')))

        #third page with method to install plugin
        install_page = gtk.VBox()
        scrolled_window = gtk.ScrolledWindow()
        self.addon_list = gtk.TreeView()
        # model: help_name, name, ptype, image, desc, use, rating, contact, download, url
        self.addon_model = gtk.ListStore(
            gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING,
            gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING,
            gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING,
            gobject.TYPE_STRING)
        self.addon_list.set_model(self.addon_model)
        self.addon_list.set_rules_hint(True)
        #self.addon_list.connect('button-press-event', self.button_press)
        col = gtk.TreeViewColumn(_('Addon Name'),
                                 gtk.CellRendererText(),
                                 text=1)
        col.set_sort_column_id(1)
        self.addon_list.append_column(col)
        col = gtk.TreeViewColumn(_('Type'), gtk.CellRendererText(), text=2)
        col.set_sort_column_id(2)
        self.addon_list.append_column(col)
        col = gtk.TreeViewColumn(_('Description'),
                                 gtk.CellRendererText(),
                                 text=4)
        col.set_sort_column_id(4)
        self.addon_list.append_column(col)
        self.addon_list.connect('cursor-changed', self.button_press_addon)

        install_row = gtk.HBox()
        install_row.pack_start(gtk.Label(_("Path to Addon:")), expand=False)
        self.install_addon_path = gtk.Entry()

        button = gtk.Button()
        img = gtk.Image()
        img.set_from_stock(gtk.STOCK_OPEN, gtk.ICON_SIZE_BUTTON)
        button.add(img)
        button.connect('clicked', self.__select_file)
        install_row.pack_start(self.install_addon_path, expand=True)
        install_row.pack_start(button, expand=False, fill=False)

        scrolled_window.add(self.addon_list)
        install_page.pack_start(scrolled_window)
        #add some spce under the scrollbar
        install_page.pack_start(gtk.Label(''), expand=False, fill=False)
        #path to addon path line
        install_page.pack_start(install_row, expand=False, fill=False)

        hbutbox = gtk.HButtonBox()
        hbutbox.set_layout(gtk.BUTTONBOX_SPREAD)
        self.__add_btn = gtk.Button(_("Install Addon"))
        hbutbox.add(self.__add_btn)
        self.__add_btn.connect('clicked', self.__get_addon_top)
        self.__add_all_btn = gtk.Button(_("Install All Addons"))
        hbutbox.add(self.__add_all_btn)
        self.__add_all_btn.connect('clicked', self.__get_all_addons)
        self.__refresh_btn = gtk.Button(_("Refresh Addon List"))
        hbutbox.add(self.__refresh_btn)
        self.__refresh_btn.connect('clicked', self.__refresh_addon_list)
        install_page.pack_start(hbutbox, expand=False, padding=5)
        # notebook.append_page(install_page,
        #                      tab_label=gtk.Label(_('Install Addons')))

        #add the notebook to the window
        self.window.vbox.add(notebook)

        if __debug__:
            # Only show the "Reload" button when in debug mode
            # (without -O on the command line)
            self.__reload_btn = gtk.Button(_("Reload"))
            self.window.action_area.add(self.__reload_btn)
            self.__reload_btn.connect('clicked', self.__reload)

        #obtain hidden plugins from the pluginmanager
        self.hidden = self.__pmgr.get_hidden_plugin_ids()

        self.window.show_all()
        self.__populate_lists()
        self.list_reg.columns_autosize()
Ejemplo n.º 22
0
    def __init__(self, session, on_new_conversation):
        '''class constructor'''
        gtk.VBox.__init__(self)
        gui.MainWindowBase.__init__(self, session, on_new_conversation)

        UserPanel = extension.get_default('user panel')
        ContactList = extension.get_default('contact list')

        self.below_menu = extension.get_and_instantiate('below menu', self)
        self.below_panel = extension.get_and_instantiate('below panel', self)
        self.below_userlist = extension.get_and_instantiate(
            'below userlist', self)

        self.contact_list = ContactList(session)
        scroll = gtk.ScrolledWindow()
        scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        scroll.set_shadow_type(gtk.SHADOW_IN)
        scroll.set_border_width(1)

        self.session.signals.contact_attr_changed.subscribe(
            self._on_contact_attr_changed)
        self.session.signals.close.subscribe(self.on_disconnect)

        self.menu = None
        self.contact_menu = None
        self.group_menu = None

        self._build_menus()

        self.panel = UserPanel(session)
        self.panel.nick.connect('text-changed', self._on_nick_changed)
        self.panel.message.connect('text-changed', self._on_message_changed)
        self.panel.mail.connect('button_release_event', self._on_mail_click)
        self.panel.search.connect('toggled', self._on_search_toggled)
        self.panel.enabled = False

        self.entry = gtk.Entry()
        self.entry.connect('changed', self._on_entry_changed)
        self.entry.connect('key-press-event', self._on_entry_key_press)

        self.pack_start(self.menu, False)
        self.pack_start(self.below_menu, False)
        self.pack_start(self.panel, False)
        self.pack_start(self.below_panel, False)
        self.pack_start(self.entry, False)
        self.pack_start(scroll, True, True)
        self.pack_start(self.below_userlist, False)

        self.contact_list.contact_selected.subscribe(self._on_contact_selected)
        self.contact_list.group_selected.subscribe(self._on_group_selected)
        self.contact_list.contact_menu_selected.subscribe(
            self._on_contact_menu_selected)
        self.contact_list.group_menu_selected.subscribe(
            self._on_group_menu_selected)

        scroll.add(self.contact_list)
        scroll.show_all()

        if self.session.config.b_show_userpanel:
            self.panel.hide()

        self.session.config.subscribe(self._on_show_userpanel_changed,
                                      'b_show_userpanel')
Ejemplo n.º 23
0
    def __init__(self):
        gtk.VBox.__init__(self, False, 2)

        self.set_border_width(4)

        self.store = gtk.ListStore(str, int, str)
        self.view = gtk.TreeView(self.store)
        self.view.set_rules_hint(True)
        self.view.set_reorderable(True)

        idx = 0
        lbls = (_('Column title'), _('Column size'), _('Function/cfield'))

        for lbl in lbls[:-1]:
            rend = gtk.CellRendererText()
            rend.set_property('editable', True)
            rend.connect('edited', self.__on_rend_edited, idx)

            col = gtk.TreeViewColumn(lbl, rend, text=idx)
            self.view.append_column(col)
            idx += 1

        # Last column
        model = gtk.ListStore(str)
        cfields = AuditManager().get_configuration('global.cfields').keys()
        cfields.sort()

        for field in cfields:
            model.append(['%' + field + '%'])

        rend = gtk.CellRendererCombo()
        rend.set_property('model', model)
        rend.set_property('text-column', 0)
        rend.set_property('editable', True)
        rend.connect('edited', self.__on_rend_edited, idx)

        self.view.props.has_tooltip = True
        self.view.connect('query-tooltip', self.__on_query_tooltip)

        col = gtk.TreeViewColumn(lbls[-1], rend, text=idx)
        self.view.append_column(col)

        sw = gtk.ScrolledWindow()
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)

        sw.add(self.view)

        bb = gtk.HButtonBox()
        bb.set_layout(gtk.BUTTONBOX_END)

        btn = gtk.Button(stock=gtk.STOCK_ADD)
        btn.connect('clicked', self.__on_add_row)
        bb.pack_start(btn)

        btn = gtk.Button(stock=gtk.STOCK_REMOVE)
        btn.connect('clicked', self.__on_remove_row)
        bb.pack_start(btn)

        self.pack_start(sw)
        self.pack_end(bb, False, False)

        # Let's populate
        columns_str = Prefs()['gui.maintab.sniffview.columns'].value

        for column_str in columns_str.split(','):
            try:
                label, pixel_size, eval_str = column_str.split('|', 2)
                pixel_size = int(pixel_size)

                self.store.append([label, pixel_size, eval_str])
            except:
                pass

        self.widgets = []
Ejemplo n.º 24
0
    def _createUI(self):
        self.leftSizeGroup = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL)
        self.hadj = gtk.Adjustment()
        self.vadj = gtk.Adjustment()

        # controls for tracks and layers
        self._controls = TimelineControls()
        controlwindow = gtk.ScrolledWindow(None, self.vadj)
        controlwindow.set_policy(gtk.POLICY_NEVER, gtk.POLICY_NEVER)
        controlwindow.add_with_viewport(self._controls)
        controlwindow.set_size_request(-1, 1)
        self.attach(controlwindow, 0, 1, 1, 2, xoptions=0)

        # timeline ruler
        self.ruler = ruler.ScaleRuler(self.hadj)
        self.ruler.set_size_request(0, 25)
        self.ruler.set_border_width(2)
        self.ruler.connect("key-press-event", self._keyPressEventCb)
        self.attach(self.ruler, 1, 2, 0, 1, yoptions=0)

        # proportional timeline
        self._canvas = TimelineCanvas(self.app)
        timelinewindow = gtk.ScrolledWindow(self.hadj, self.vadj)
        timelinewindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        timelinewindow.add(self._canvas)
        #FIXME: remove padding between scrollbar and scrolled window
        self.attach(timelinewindow, 1, 2, 1, 2)

        # drag and drop
        self.drag_dest_set(gtk.DEST_DEFAULT_MOTION, [dnd.FILESOURCE_TUPLE],
                           gtk.gdk.ACTION_COPY)

        self.connect("drag-data-received", self._dragDataReceivedCb)
        self.connect("drag-leave", self._dragLeaveCb)
        self.connect("drag-drop", self._dragDropCb)
        self.connect("drag-motion", self._dragMotionCb)

        # toolbar actions
        actions = (
            ("ZoomIn", gtk.STOCK_ZOOM_IN, None, None, ZOOM_IN, self._zoomInCb),
            ("ZoomOut", gtk.STOCK_ZOOM_OUT, None, None, ZOOM_OUT,
             self._zoomOutCb),
        )

        selection_actions = (
            ("DeleteObj", gtk.STOCK_DELETE, None, "Delete", DELETE,
             self.deleteSelected),
            ("UnlinkObj", "pitivi-unlink", None, "<Shift><Control>L", UNLINK,
             self.unlinkSelected),
            ("LinkObj", "pitivi-link", None, "<Control>L", LINK,
             self.linkSelected),
            ("UngroupObj", "pitivi-ungroup", None, "<Shift><Control>G",
             UNGROUP, self.ungroupSelected),
            ("GroupObj", "pitivi-group", None, "<Control>G", GROUP,
             self.groupSelected),
        )

        toggle_actions = (("Razor", "pitivi-split", _("Razor"), "<Ctrl>R",
                           RAZOR, self.toggleRazor), )

        actiongroup = gtk.ActionGroup("timelinepermanent")
        actiongroup.add_actions(actions)
        actiongroup.add_toggle_actions(toggle_actions)
        self.ui_manager.insert_action_group(actiongroup, 0)

        actiongroup = gtk.ActionGroup("timelineselection")
        actiongroup.add_actions(selection_actions)
        self.link_action = actiongroup.get_action("LinkObj")
        self.unlink_action = actiongroup.get_action("UnlinkObj")
        self.group_action = actiongroup.get_action("GroupObj")
        self.ungroup_action = actiongroup.get_action("UngroupObj")
        self.delete_action = actiongroup.get_action("DeleteObj")

        self.ui_manager.insert_action_group(actiongroup, -1)

        self.ui_manager.add_ui_from_string(ui)

        # drag and drop
        self.drag_dest_set(gtk.DEST_DEFAULT_MOTION, [dnd.FILESOURCE_TUPLE],
                           gtk.gdk.ACTION_COPY)

        self.connect("drag-data-received", self._dragDataReceivedCb)
        self.connect("drag-leave", self._dragLeaveCb)
        self.connect("drag-drop", self._dragDropCb)
        self.connect("drag-motion", self._dragMotionCb)
        self._canvas.connect("button-press-event", self._buttonPress)
        self._canvas.connect("button-release-event", self._buttonRelease)
        self._canvas.connect("key-press-event", self._keyPressEventCb)
Ejemplo n.º 25
0
    def __init__(self,
                 partitions,
                 diskset,
                 intf,
                 parent,
                 origvgrequest,
                 isNew=0):
        self.partitions = partitions
        self.diskset = diskset
        self.origvgrequest = origvgrequest
        self.isNew = isNew
        self.intf = intf
        self.parent = parent

        self.availlvmparts = self.partitions.getAvailLVMPartitions(
            self.origvgrequest, self.diskset)
        self.logvolreqs = self.partitions.getLVMLVForVG(self.origvgrequest)
        self.origvolreqs = copy.copy(self.logvolreqs)

        # if no PV exist, raise an error message and return
        if len(self.availlvmparts) < 1:
            self.intf.messageWindow(
                _("Not enough physical volumes"),
                _("At least one unused physical "
                  "volume partition is "
                  "needed to create an LVM Volume Group.\n\n"
                  "Create a partition or RAID array "
                  "of type \"physical volume (LVM)\" and then "
                  "select the \"LVM\" option again."),
                custom_icon="error")
            self.dialog = None
            return

        if isNew:
            tstr = _("Make LVM Volume Group")
        else:
            try:
                tstr = _("Edit LVM Volume Group: %s") % (
                    origvgrequest.volumeGroupName, )
            except:
                tstr = _("Edit LVM Volume Group")

        dialog = gtk.Dialog(tstr, self.parent)
        gui.addFrame(dialog)
        dialog.add_button('gtk-cancel', 2)
        dialog.add_button('gtk-ok', 1)

        dialog.set_position(gtk.WIN_POS_CENTER)

        maintable = gtk.Table()
        maintable.set_row_spacings(5)
        maintable.set_col_spacings(5)
        row = 0

        # volume group name
        if not origvgrequest.getPreExisting():
            lbl = createAlignedLabel(_("_Volume Group Name:"))
            self.volnameEntry = gtk.Entry(16)
            lbl.set_mnemonic_widget(self.volnameEntry)
            if not self.isNew:
                self.volnameEntry.set_text(self.origvgrequest.volumeGroupName)
            else:
                self.volnameEntry.set_text(
                    lvm.createSuggestedVGName(self.partitions))
        else:
            lbl = createAlignedLabel(_("Volume Group Name:"))
            self.volnameEntry = gtk.Label(self.origvgrequest.volumeGroupName)

        maintable.attach(lbl, 0, 1, row, row + 1, gtk.EXPAND | gtk.FILL,
                         gtk.SHRINK)
        maintable.attach(self.volnameEntry, 1, 2, row, row + 1,
                         gtk.EXPAND | gtk.FILL, gtk.SHRINK)
        row = row + 1

        if not origvgrequest.getPreExisting():
            lbl = createAlignedLabel(_("_Physical Extent:"))
            (self.peOption, self.peOptionMenu) = self.createPEOptionMenu(
                self.origvgrequest.pesize)
            lbl.set_mnemonic_widget(self.peOption)
        else:
            # FIXME: this is a nice hack -- if we create the option menu, but
            # don't display it, getting the value always returns what we init'd
            # it to
            lbl = createAlignedLabel(_("Physical Extent:"))
            (self.peOption, self.peOptionMenu) = self.createPEOptionMenu(
                self.origvgrequest.pesize)
            self.peOption = gtk.Label(
                self.prettyFormatPESize(origvgrequest.pesize))

        maintable.attach(lbl, 0, 1, row, row + 1, gtk.EXPAND | gtk.FILL,
                         gtk.SHRINK)
        maintable.attach(self.peOption, 1, 2, row, row + 1,
                         gtk.EXPAND | gtk.FILL, gtk.SHRINK)
        row = row + 1

        (self.lvmlist, sw) = self.createAllowedLvmPartitionsList(
            self.availlvmparts, self.origvgrequest.physicalVolumes,
            self.partitions, origvgrequest.getPreExisting())
        if origvgrequest.getPreExisting():
            self.lvmlist.set_sensitive(gtk.FALSE)
        self.lvmlist.set_size_request(275, 80)
        lbl = createAlignedLabel(_("Physical Volumes to _Use:"))
        lbl.set_mnemonic_widget(self.lvmlist)
        maintable.attach(lbl, 0, 1, row, row + 1)
        maintable.attach(sw, 1, 2, row, row + 1)
        row = row + 1

        maintable.attach(createAlignedLabel(_("Used Space:")), 0, 1, row,
                         row + 1, gtk.EXPAND | gtk.FILL, gtk.SHRINK)
        lbox = gtk.HBox()
        self.usedSpaceLabel = gtk.Label("")
        labelalign = gtk.Alignment()
        labelalign.set(1.0, 0.5, 0.0, 0.0)
        labelalign.add(self.usedSpaceLabel)
        lbox.pack_start(labelalign, gtk.FALSE, gtk.FALSE)
        self.usedPercentLabel = gtk.Label("")
        labelalign = gtk.Alignment()
        labelalign.set(1.0, 0.5, 0.0, 0.0)
        labelalign.add(self.usedPercentLabel)
        lbox.pack_start(labelalign, gtk.FALSE, gtk.FALSE, padding=10)
        maintable.attach(lbox, 1, 2, row, row + 1, gtk.EXPAND | gtk.FILL,
                         gtk.SHRINK)
        maintable.set_row_spacing(row, 0)
        row = row + 1

        maintable.attach(createAlignedLabel(_("Free Space:")), 0, 1, row,
                         row + 1, gtk.EXPAND | gtk.FILL, gtk.SHRINK)
        lbox = gtk.HBox()
        self.freeSpaceLabel = gtk.Label("")
        labelalign = gtk.Alignment()
        labelalign.set(1.0, 0.5, 0.0, 0.0)
        labelalign.add(self.freeSpaceLabel)
        lbox.pack_start(labelalign, gtk.FALSE, gtk.FALSE)
        self.freePercentLabel = gtk.Label("")
        labelalign = gtk.Alignment()
        labelalign.set(1.0, 0.5, 0.0, 0.0)
        labelalign.add(self.freePercentLabel)
        lbox.pack_start(labelalign, gtk.FALSE, gtk.FALSE, padding=10)

        maintable.attach(lbox, 1, 2, row, row + 1, gtk.EXPAND | gtk.FILL,
                         gtk.SHRINK)
        maintable.set_row_spacing(row, 0)
        row = row + 1

        maintable.attach(createAlignedLabel(_("Total Space:")), 0, 1, row,
                         row + 1, gtk.EXPAND | gtk.FILL, gtk.SHRINK)
        self.totalSpaceLabel = gtk.Label("")
        labelalign = gtk.Alignment()
        labelalign.set(0.0, 0.5, 0.0, 0.0)
        labelalign.add(self.totalSpaceLabel)
        maintable.attach(labelalign, 1, 2, row, row + 1, gtk.EXPAND | gtk.FILL,
                         gtk.SHRINK)
        maintable.set_row_spacing(row, 5)
        row = row + 1

        # populate list of logical volumes
        lvtable = gtk.Table()
        lvtable.set_row_spacings(5)
        lvtable.set_col_spacings(5)
        self.logvolstore = gtk.ListStore(gobject.TYPE_STRING,
                                         gobject.TYPE_STRING,
                                         gobject.TYPE_STRING)

        if self.logvolreqs:
            for lvrequest in self.logvolreqs:
                iter = self.logvolstore.append()
                self.logvolstore.set_value(iter, 0,
                                           lvrequest.logicalVolumeName)
                if lvrequest.mountpoint is not None:
                    self.logvolstore.set_value(iter, 1, lvrequest.mountpoint)
                else:
                    self.logvolstore.set_value(iter, 1, "")
                self.logvolstore.set_value(
                    iter, 2, "%g" %
                    (lvrequest.getActualSize(self.partitions, self.diskset)))

        self.logvollist = gtk.TreeView(self.logvolstore)
        col = gtk.TreeViewColumn(_("Logical Volume Name"),
                                 gtk.CellRendererText(),
                                 text=0)
        self.logvollist.append_column(col)
        col = gtk.TreeViewColumn(_("Mount Point"),
                                 gtk.CellRendererText(),
                                 text=1)
        self.logvollist.append_column(col)
        col = gtk.TreeViewColumn(_("Size (MB)"),
                                 gtk.CellRendererText(),
                                 text=2)
        self.logvollist.append_column(col)
        self.logvollist.connect('row-activated', self.logvolActivateCb)

        sw = gtk.ScrolledWindow()
        sw.add(self.logvollist)
        sw.set_size_request(100, 100)
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        sw.set_shadow_type(gtk.SHADOW_IN)
        lvtable.attach(sw, 0, 1, 0, 1)

        # button box of options
        lvbbox = gtk.VBox()
        add = gtk.Button(_("_Add"))
        add.connect("clicked", self.addLogicalVolumeCB)
        lvbbox.pack_start(add)
        edit = gtk.Button(_("_Edit"))
        edit.connect("clicked", self.editLogicalVolumeCB)
        lvbbox.pack_start(edit)
        delete = gtk.Button(_("_Delete"))
        delete.connect("clicked", self.delLogicalVolumeCB)
        lvbbox.pack_start(delete)

        lvalign = gtk.Alignment()
        lvalign.set(0.5, 0.0, 0.0, 0.0)
        lvalign.add(lvbbox)
        lvtable.attach(lvalign, 1, 2, 0, 1, gtk.SHRINK, gtk.SHRINK)

        # pack all logical volumne stuff in a frame
        lvtable.set_border_width(12)
        l = gtk.Label()
        l.set_markup("<b>%s</b>" % (_("Logical Volumes"), ))
        frame = gtk.Frame()
        frame.set_label_widget(l)
        frame.add(lvtable)
        frame.set_shadow_type(gtk.SHADOW_NONE)

        #	dialog.vbox.pack_start(frame)
        maintable.attach(frame, 0, 2, row, row + 1)
        row = row + 1

        dialog.vbox.pack_start(maintable)
        dialog.set_size_request(500, 450)
        dialog.show_all()

        # set space labels to correct values
        self.updateVGSpaceLabels()

        self.dialog = dialog
Ejemplo n.º 26
0
    def __init__(self, mainWindow):
        self.runcmd = mainWindow.runcmd
        # Create a new window

        self.window = gtk.Window()  #hadjustment=None, vadjustment=None)
        self.swindow = gtk.ScrolledWindow(hadjustment=None, vadjustment=None)
        self.swindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_ALWAYS)
        self.window.set_title("AGOOEY Process Selector")

        self.window.set_size_request(600, 240)

        self.window.connect("delete_event", self.delete_event)
        self.vbox = gtk.VBox(homogeneous=False, spacing=0)
        self.hbox = gtk.HBox(homogeneous=False, spacing=0)
        rows = 6
        cols = 6
        self.table = gtk.Table(rows, cols, False)

        button_strings = [
            'm__readfiles', 's__readfiles', 'coarseorb', 'demassist',
            'subtrrefpha', 'dinsar', 'm__porbits', 's__porbits', 'coarsecorr',
            'coregpm', 'comprefdem', 'slant2h', 'm__crop', 's__crop',
            'm__filtazi', 'resample', 'subtrrefdem', 'geocode', 'm__simamp',
            '', 's__filtazi', 'filtrange', 'coherence', '', 'm__timing', '',
            'fine', 'interfero', 'filtphase', '', 'm__ovs', 's__ovs',
            'reltiming', 'comprefpha', 'unwrap'
        ]
        button = map(lambda i: gtk.Button(button_strings[i]),
                     range(len(button_strings)))

        ##### SET THE HBOX #####
        self.processEntry = gtk.Entry()
        self.processEntry.set_editable(False)
        self.processEntry.show()

        self.applyButton = gtk.Button(label='Apply',
                                      stock=None,
                                      use_underline=True)
        self.applyButton.connect("clicked", self.applyButtonClicked)
        self.applyButton.set_flags(gtk.CAN_DEFAULT)
        self.applyButton.show()

        self.refreshButton = gtk.Button(label='Clear',
                                        stock=None,
                                        use_underline=True)
        self.refreshButton.connect("clicked", self.refreshButtonClicked)
        self.refreshButton.set_flags(gtk.CAN_DEFAULT)
        self.refreshButton.show()

        self.advancedChkBtn = gtk.CheckButton("Advanced")
        self.advancedChkBtn.connect("toggled", self.advancedChkBtnToggled)
        self.advancedChkBtn.show()

        self.hbox.pack_start(self.refreshButton,
                             expand=False,
                             fill=False,
                             padding=10)
        self.hbox.pack_start(self.applyButton,
                             expand=False,
                             fill=False,
                             padding=10)
        self.hbox.pack_end(self.advancedChkBtn,
                           expand=False,
                           fill=False,
                           padding=20)

        #### SET THE TABLE ####
        for i in range(len(button_strings)):
            y, x = divmod(i, cols)
            if not button_strings[i]:
                continue
            button[i].connect("clicked", self.processButtonClicked)
            self.table.attach(button[i], x, x + 1, y, y + 1)
            button[i].show()

        ### SET THE VBOX ####
        self.vbox.pack_start(
            self.processEntry,
            expand=False,
            fill=False,
        )
        self.vbox.pack_start(
            self.hbox,
            expand=False,
            fill=False,
        )
        self.vbox.pack_start(
            self.table,
            expand=False,
            fill=False,
        )
        self.window.set_default(self.applyButton)

        self.swindow.add_with_viewport(self.vbox)
        self.window.add(self.swindow)
        #self.vbox.show()
        self.window.show_all()
Ejemplo n.º 27
0
        page.index("://")
    except:
        page = "http://" + page

    width = int(sys.argv[2])
    height = int(sys.argv[3])

except:
    warnings.warn("No argument given. Switch to Default settings", Warning)

#crea finestra grafica
win = gtk.Window()
#crea visualizzazione web
webview = webkit.WebView()
#crea finestra con scroll
sw = gtk.ScrolledWindow()


def on_load_finished(self, browser):
    html = browser.get_title()
    if html != None:
        win.set_title(html + " - Fuku WebView")
    else:
        win.set_title("Fuku WebView")


#alcune impostazioni per la kiosk
win.set_size_request(width, height)
win.set_decorated(True)
win.connect("destroy", lambda q: gtk.main_quit())
Ejemplo n.º 28
0
    def __init__(self):
        self.stemmer = Stemmer(sys.argv)
        self.word_count = 0

        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.connect('delete_event', self.delete_event)
        self.window.connect('destroy', self.destroy)
        self.window.set_title('Tamil Stemmer GUI')
        self.window.set_size_request(350, 400)

        self.list = gtk.ListStore(int, str, str, str)

        self.entry = gtk.Entry()
        self.entry.connect('activate', self.add_new_row, self.list)

        self.tvcolumn1 = gtk.TreeViewColumn('No.')
        self.cell1 = gtk.CellRendererText()
        self.tvcolumn1.pack_start(self.cell1, True)
        self.tvcolumn1.add_attribute(self.cell1, 'text', 0)
        self.tvcolumn1.set_resizable(True)

        self.tvcolumn2 = gtk.TreeViewColumn('Word')
        self.cell2 = gtk.CellRendererText()
        self.tvcolumn2.pack_start(self.cell2, True)
        self.tvcolumn2.add_attribute(self.cell2, 'text', 1)
        self.tvcolumn2.set_min_width(175)

        self.tvcolumn3 = gtk.TreeViewColumn('Stemmed word')
        self.cell3 = gtk.CellRendererText()
        self.tvcolumn3.pack_start(self.cell3, True)
        self.tvcolumn3.add_attribute(self.cell3, 'text', 2)

        self.tview = gtk.TreeView(self.list)
        self.tview.append_column(self.tvcolumn1)
        self.tview.append_column(self.tvcolumn2)
        self.tview.append_column(self.tvcolumn3)
        self.tview.set_grid_lines(gtk.TREE_VIEW_GRID_LINES_BOTH)

        self.scrollwindow = gtk.ScrolledWindow()
        self.scrollwindow.set_policy(gtk.POLICY_AUTOMATIC,
                                     gtk.POLICY_AUTOMATIC)
        self.scrollwindow.add(self.tview)

        self.textview = gtk.TextView()
        self.textbuffer = self.textview.get_buffer()
        self.textview.set_editable(False)
        self.textview.set_justification(gtk.JUSTIFY_CENTER)

        self.scrolledwindow2 = gtk.ScrolledWindow()
        self.scrolledwindow2.set_policy(gtk.POLICY_AUTOMATIC,
                                        gtk.POLICY_AUTOMATIC)
        self.scrolledwindow2.add(self.textview)

        self.vbox = gtk.VBox(False, 5)
        self.vbox.pack_start(self.entry, expand=False, fill=False, padding=0)
        self.vbox.pack_start(self.scrollwindow,
                             expand=True,
                             fill=True,
                             padding=0)
        self.vbox.pack_start(self.scrolledwindow2,
                             expand=True,
                             fill=True,
                             padding=0)

        self.window.add(self.vbox)
        self.window.show_all()
Ejemplo n.º 29
0
    def __init__(self,
                 setup,
                 title=None,
                 parent=None,
                 flags=gtk.DIALOG_MODAL,
                 buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_OK,
                          gtk.RESPONSE_ACCEPT)):
        gtk.Dialog.__init__(self, title, parent, flags, buttons)
        page = []
        tabs = ("Document", "Compile Option")
        note = gtk.Notebook()
        for i in range(len(tabs)):
            page.append(gtk.VBox())
            note.append_page(page[i], gtk.Label(tabs[i]))

        textbuf = gtk.TextBuffer()
        textbuf.set_text(setup.preamble)
        self.textbuf_preamble = textbuf
        textview = gtk.TextView(textbuf)
        textview.set_wrap_mode(gtk.WRAP_CHAR)
        sw = gtk.ScrolledWindow()
        sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        sw.add(textview)
        page[0].pack_start(sw)
        page[0].pack_start(gtk.HSeparator())

        textbuf = gtk.TextBuffer()
        textbuf.set_text(setup.begin_document)
        self.textbuf_begin_document = textbuf
        textview = gtk.TextView(textbuf)
        textview.set_wrap_mode(gtk.WRAP_CHAR)
        sw = gtk.ScrolledWindow()
        sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        sw.add(textview)
        page[0].pack_start(sw)
        page[0].pack_start(gtk.HSeparator())

        textbuf = gtk.TextBuffer()
        textbuf.set_text(setup.default_document)
        self.textbuf_default_document = textbuf
        textview = gtk.TextView(textbuf)
        textview.set_wrap_mode(gtk.WRAP_CHAR)
        sw = gtk.ScrolledWindow()
        sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        sw.add(textview)
        page[0].pack_start(sw)
        page[0].pack_start(gtk.HSeparator())

        textbuf = gtk.TextBuffer()
        textbuf.set_text(setup.end_document)
        self.textbuf_end_document = textbuf
        textview = gtk.TextView(textbuf)
        textview.set_wrap_mode(gtk.WRAP_CHAR)
        sw = gtk.ScrolledWindow()
        sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        sw.add(textview)
        page[0].pack_start(sw)

        frame = gtk.Frame("LaTeX")
        page[1].pack_start(frame)
        vbox = gtk.VBox()
        frame.add(vbox)
        hbox = gtk.HBox()
        vbox.pack_start(hbox)
        hbox.pack_start(gtk.Label("Command: "), expand=False, fill=False)
        self.entry_latex_command = gtk.Entry()
        hbox.pack_start(self.entry_latex_command)
        self.entry_latex_command.set_text(setup.latex_command)

        hbox = gtk.HBox()
        vbox.pack_start(hbox)
        hbox.pack_start(gtk.Label("Default Options: "),
                        expand=False,
                        fill=False)
        self.entry_latex_options = gtk.Entry()
        hbox.pack_start(self.entry_latex_options)
        self.entry_latex_options.set_text(setup.latex_options)

        frame = gtk.Frame("Dvi2png")
        page[1].pack_start(frame)
        vbox = gtk.VBox()
        frame.add(vbox)
        hbox = gtk.HBox()
        vbox.pack_start(hbox)
        hbox.pack_start(gtk.Label("Command: "), expand=False, fill=False)
        self.entry_dvipng_command = gtk.Entry()
        hbox.pack_start(self.entry_dvipng_command)
        self.entry_dvipng_command.set_text(setup.dvipng_command)

        (op, res) = ("-D", 340)
        if "resolution" in setup.dvipng_options:
            (op, res) = setup.dvipng_options["resolution"]
        hbox = gtk.HBox()
        vbox.pack_start(hbox)
        hbox.pack_start(gtk.Label("Resolution: "), expand=False, fill=False)
        self.entry_dvipng_resolution_option = gtk.Entry()
        hbox.pack_start(self.entry_dvipng_resolution_option)
        self.entry_dvipng_resolution_option.set_text(op)
        self.resolution = gtk.Adjustment(value=res,
                                         lower=8,
                                         upper=20000,
                                         step_incr=50)
        sb = gtk.SpinButton(self.resolution)
        hbox.pack_start(sb)

        hbox = gtk.HBox()
        vbox.pack_start(hbox)
        hbox.pack_start(gtk.Label("Options: "), expand=False, fill=False)
        self.entry_dvipng_options = gtk.Entry()
        hbox.pack_start(self.entry_dvipng_options)
        if "userdefinedoptions" in setup.dvipng_options:
            self.entry_dvipng_options.set_text(
                setup.dvipng_options["userdefinedoptions"])

        self.vbox.pack_start(note)
        self.show_all()
Ejemplo n.º 30
0
    def __init__(self, instance, effect_properties_handling, clip_properties):
        gtk.HBox.__init__(self)
        #self.set_expanded(True)

        self.selected_effects = []
        self.timeline_objects = []
        self._factory = None
        self.app = instance
        self.effectsHandler = self.app.effects
        self._effect_config_ui = None
        self.pipeline = None
        self.effect_props_handling = effect_properties_handling
        self.clip_properties = clip_properties
        self._info_bar =  None
        self._config_ui_h_pos = None
        self._timeline = None

        self._vcontent = gtk.VPaned()
        self.add(self._vcontent)

        self._table = gtk.Table(3, 1, False)

        self._toolbar = gtk.Toolbar()
        self._removeEffectBt = gtk.ToolButton("gtk-delete")
        self._removeEffectBt.set_label(_("Remove effect"))
        self._removeEffectBt.set_use_underline(True)
        self._removeEffectBt.set_is_important(True)
        self._removeEffectBt.set_sensitive(False)
        self._toolbar.insert(self._removeEffectBt, 0)
        self._table.attach(self._toolbar, 0, 1, 0, 1, yoptions=gtk.FILL)

        self.storemodel = gtk.ListStore(bool, str, str, str, object)

        #Treeview
        self.treeview_scrollwin = gtk.ScrolledWindow()
        self.treeview_scrollwin.set_policy(gtk.POLICY_NEVER,
                                           gtk.POLICY_AUTOMATIC)
        self.treeview_scrollwin.set_shadow_type(gtk.SHADOW_ETCHED_IN)

        # TreeView
        # Displays name, description
        self.treeview = gtk.TreeView(self.storemodel)
        self.treeview_scrollwin.add(self.treeview)
        self.treeview.set_property("rules_hint", True)
        self.treeview.set_property("has_tooltip", True)
        tsel = self.treeview.get_selection()
        tsel.set_mode(gtk.SELECTION_SINGLE)

        activatedcell = gtk.CellRendererToggle()
        activatedcell.props.xpad = PADDING
        activatedcol = self.treeview.insert_column_with_attributes(-1,
                                                        _("Activated"),
                                                        activatedcell,
                                                        active = COL_ACTIVATED)
        activatedcell.connect("toggled",  self._effectActiveToggleCb)

        typecol = gtk.TreeViewColumn(_("Type"))
        typecol.set_sort_column_id(COL_TYPE)
        self.treeview.append_column(typecol)
        typecol.set_spacing(SPACING)
        typecol.set_sizing(gtk.TREE_VIEW_COLUMN_AUTOSIZE)
        typecol.set_min_width(50)
        typecell = gtk.CellRendererText()
        typecell.props.xpad = PADDING
        typecell.set_property("ellipsize", pango.ELLIPSIZE_END)
        typecol.pack_start(typecell)
        typecol.add_attribute(typecell, "text", COL_TYPE)

        namecol = gtk.TreeViewColumn(_("Effect name"))
        namecol.set_sort_column_id(COL_NAME_TEXT)
        self.treeview.append_column(namecol)
        namecol.set_spacing(SPACING)
        namecell = gtk.CellRendererText()
        namecell.props.xpad = PADDING
        namecell.set_property("ellipsize", pango.ELLIPSIZE_END)
        namecol.pack_start(namecell)
        namecol.add_attribute(namecell, "text", COL_NAME_TEXT)

        self.treeview.drag_dest_set(gtk.DEST_DEFAULT_MOTION,
            [dnd.EFFECT_TUPLE],
            gtk.gdk.ACTION_COPY)

        self.selection = self.treeview.get_selection()

        self.selection.connect("changed", self._treeviewSelectionChangedCb)
        self._removeEffectBt.connect("clicked", self._removeEffectClicked)

        self.connect("drag-data-received", self._dragDataReceivedCb)
        self.treeview.connect("drag-leave", self._dragLeaveCb)
        self.treeview.connect("drag-drop", self._dragDropCb)
        self.treeview.connect("drag-motion", self._dragMotionCb)
        self.treeview.connect("query-tooltip", self._treeViewQueryTooltipCb)
        self._vcontent.connect("notify", self._vcontentNotifyCb)

        #self.connect('notify::expanded', self._expandedCb)

        self._table.attach(self.treeview_scrollwin, 0, 1, 2, 3)

        self._vcontent.pack1(self._table, resize=True, shrink=False)
        self._showInfoBar()
        self._vcontent.show()