Esempio n. 1
0
 def __initializeExplorer__(self):
     """
     @summary: Initialize TreeView explorer. Add drives of OS.
     """
     # Make a model for TreeView explorer
     self.__model__ = gtk.TreeStore(gtk.gdk.Pixbuf,
                                    gobject.TYPE_STRING,
                                    gobject.TYPE_STRING)
     
     __log__.debug("Created model for TreeExplorer.")
     # Gets home icon
     iconHome = FactoryControls.getPixbufFromStock(gtk.STOCK_HOME)
     
     # Gets drive icon
     icon = FactoryControls.getPixbufFromStock(gtk.STOCK_HARDDISK)
 
     self.__explorer__.set_model(None)
 
     # Apply look to TreeView
     self.__explorer__.set_headers_visible(False)
     self.__explorer__.set_show_expanders(True)
     self.__explorer__.get_selection().set_mode(gtk.SELECTION_SINGLE)
 
     column = FactoryControls.getTreeColumnTextAndPixbuf(_("Explorer"),
                                                         self.__NAME_COLUMN__,
                                                         self.__IMG_COLUMN__)
     self.__explorer__.append_column(column)
 
     __log__.debug("Added columns to TreeExplorer")
     
     # Add home node
     self.addDirectory(self.__HOME_NODE__, os.path.expanduser("~"), iconHome, glock=False)
     
     # Gets drives from the OS
     for sDrive in self.__ioUtils__.getDrives():
         if (sDrive != None) and (sDrive != ""):
             self.addDirectory (sDrive, sDrive, icon, glock=False)
     
     __log__.debug("Drives added.")
     
     # Set model to explorer TreeView
     self.__explorer__.set_model(self.__model__)
Esempio n. 2
0
    def __initializeUI__(self, numberColumns):
        """
        @summary: Initialize TreeView Target.
        """
        iconview = gtk.IconView()
        treeview = gtk.TreeView()

        model = gtk.ListStore(gtk.gdk.Pixbuf,
                              gobject.TYPE_STRING,
                              gobject.TYPE_STRING,
                              gobject.TYPE_STRING,
                              gobject.TYPE_STRING,
                              gtk.gdk.Pixbuf,
                              gobject.TYPE_BOOLEAN,
                              gobject.TYPE_BOOLEAN)

        model.set_default_sort_func(lambda *args:-1)
        
        __log__.debug("Created model for new project")
    
        treeview.set_model(model)
        treeview.set_headers_visible(True)
        treeview.set_headers_clickable(True)
        treeview.set_rules_hint(True)
        treeview.set_enable_search(False)
        treeview.set_fixed_height_mode(False)
        treeview.set_tooltip_column(self.COLUMN_SOURCE)
        treeview.set_show_expanders(False)
        treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
        treeview.set_reorderable(True)
    
        iconview.set_model(model)
        iconview.set_text_column(self.COLUMN_TARGET)
        iconview.set_pixbuf_column(self.COLUMN_PREVIEW)
        iconview.set_tooltip_column(self.COLUMN_SOURCE)
        iconview.set_columns(numberColumns)
        iconview.set_selection_mode(gtk.SELECTION_MULTIPLE)
        iconview.set_reorderable(True)
    
        __log__.debug("Applied settings")
    
        # Creates columns of the TreeView of target files
        column = FactoryControls.getTreeColumnTextAndPixbuf(_("Name"), self.COLUMN_SOURCE, self.COLUMN_IMAGE)
        treeview.append_column(column)
        columnDate = FactoryControls.getTreeColumnText(_("Photo Date"), self.COLUMN_DATE)
        treeview.append_column(columnDate)
        columnTarget = FactoryControls.getTreeColumnText(_("Target Name"), self.COLUMN_TARGET)
        treeview.append_column(columnTarget)
        columnOps = FactoryControls.getTreeColumnText(_("Operations"), self.COLUMN_OPERATIONS)
        treeview.append_column(columnOps)
    
        __log__.debug("Columns added")
    
        # Enabled as drag source
        treeview.enable_model_drag_source(gtk.gdk.BUTTON1_MASK,
                                          self.FROM_ITSELF,
                                          gtk.gdk.ACTION_MOVE)
    
        iconview.enable_model_drag_source(gtk.gdk.BUTTON1_MASK,
                                          self.FROM_ITSELF,
                                          gtk.gdk.ACTION_MOVE)
            
        # Enabled as drop target
        treeview.enable_model_drag_dest(self.TO_TEXT,
                                        gtk.gdk.ACTION_DEFAULT
                                        | gtk.gdk.ACTION_COPY
                                        | gtk.gdk.ACTION_MOVE)
        
        iconview.enable_model_drag_dest(self.TO_TEXT,
                                        gtk.gdk.ACTION_DEFAULT
                                        | gtk.gdk.ACTION_COPY
                                        | gtk.gdk.ACTION_MOVE)
        
        treeview.connect("drag-data-get", self.__dragTarget__)
        treeview.connect("drag-data-received", self.__dropTarget__)
        treeview.connect("key-press-event", self.__keyPressEvent__)
        
        iconview.connect("drag-data-get", self.__dragTarget__)
        iconview.connect("drag-data-received", self.__dropTarget__)
        iconview.connect("key-press-event", self.__keyPressEvent__)
        
        __log__.debug("Drag & Drop enabled")
        
        scroll = gtk.ScrolledWindow()
        scroll.add(treeview)
        
        size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
        if ((self.__iconName__ != None) and (self.__iconName__ != "")):
            pbProject = gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(self.__iconsPath__, self.__iconName__),
                                                             size[0], size[1])
        else:
            pbProject = FactoryControls.getPixbufFromStock(gtk.STOCK_MISSING_IMAGE, gtk.ICON_SIZE_MENU)
            
        imageProject = gtk.Image()
        imageProject.set_from_pixbuf(pbProject)
        
        bClose = gtk.Button(label=None, stock=None, use_underline=False)
        image = gtk.Image()
        image.set_from_stock(gtk.STOCK_CLOSE, gtk.ICON_SIZE_MENU)
        bClose.set_relief(gtk.RELIEF_NONE)
        bClose.set_border_width(0)
        bClose.set_image(image)
        bClose.connect("clicked", self.__buttonActivateSignal__)
        
        lTitle = gtk.Label(str=self.__name__)
        hbTab = gtk.HBox()
        
        hbTab.pack_start(imageProject, expand=False, fill=False, padding=1)
        hbTab.pack_start(lTitle, expand=False, fill=False, padding=2)
        hbTab.pack_start(bClose, expand=False, fill=False)
        
        __log__.debug("Scroll created")
        
        self.__label__ = lTitle
        self.__button__ = bClose
        self.__tabWidget__ = hbTab
        
        self.__treeview__ = treeview
        self.__iconview__ = iconview
        self.__model__ = model
        self.__scroll__ = scroll