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__)
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