Пример #1
0
    def run(self):
        """
        @summary: Show option  dialog. 
        it will run this callback before show execute dialog.  
        """
        if (len(self.__core__.getItems()) <= 0):
            FactoryControls.getMessage(
                _("There aren't items"),
                title=_("Execute"),
                parent=self.get_transient_for())
            __log__.info("Trying to execute a core without items. Exiting from execute dialog.")
            return

        super(ExecuteWindow, self).show_all()
Пример #2
0
 def __runEvent__ (self, b):
     """
     @summary: Do current project.
     @param b: Button that threw event.
     """
     if (self.__currentTab__ != None):
         self.__currentTab__.setOrderToCore()
         exWindow = ExecuteWindow(self.__currentTab__.getCore(),
                                  parent=self.__mainWindow__)
         __log__.debug("Execute window created. %s" % exWindow)            
         exWindow.run()
     else:
         FactoryControls.getMessage(
             _("There isn't current project"),
             title=_("Execute"),
             parent=self.__mainWindow__)
Пример #3
0
 def __saveAsProjectEvent__ (self, b, raiseError=False):
     """
     @summary: Handle save project action.
     @param b: Button that threw event.
     @param raiseError: True to throw an error when occurrs. 
     """
     if (self.__currentTab__ == None):
         __log__.debug("There is not current project")
         return
     
     fileSel = gtk.FileChooserDialog(title=_("Save project"),
                                     parent=self.__mainWindow__,
                                     action=gtk.FILE_CHOOSER_ACTION_SAVE,
                                     buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
                                              gtk.STOCK_SAVE, gtk.RESPONSE_ACCEPT))
     fileSel.set_default_response(gtk.RESPONSE_CANCEL)
     
     filterCam = gtk.FileFilter()
     filterCam.set_name(_("PyCamimg file"))
     filterCam.add_pattern("*%s" % self.PYCAMIMG_FILE_EXTENSION)
     fileSel.add_filter(filterCam)
     
     fileSel.set_modal(True)
     fileSel.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
     if (fileSel.run() == gtk.RESPONSE_ACCEPT):
         filename = fileSel.get_filename()
         __log__.debug("Save project to %s" % filename)
         if (not filename.endswith(self.PYCAMIMG_FILE_EXTENSION)):
             filename = "%s%s" % (filename, self.PYCAMIMG_FILE_EXTENSION)
         
         try:
             if (not self.__currentTab__.getCore().save(path=filename)):
                 raise Exception()
         except Exception, e:
             if (raiseError):
                 raise e
             else:
                 __log__.error("It could not save current project to %s. %s" % (filename, e))
                 FactoryControls.getMessage(_("An error was occurred when it was saving current project to %s" % filename),
                                            type=gtk.MESSAGE_ERROR,
                                            title=_("Save project"),
                                            parent=self.__mainWindow__)
                 return
         finally:
Пример #4
0
 def __deleteOperationsEvent__ (self, b):
     """
     @summary: Delete operations of an item.
     @param b: Button that threw event.
     """
     if (self.__currentTab__ == None):
         __log__.debug("There is not current project")
         return
     
     paths = self.__currentTab__.getSelection()
     model = self.__currentTab__.getModel()
     if ((paths == None) or (model == None)):
         __log__.error("It can not recover tree selection. Set selection at 0.")
         iNRows = 0
     else:
         iNRows = len(paths)
     
     if iNRows > 0:
         path = paths[0]
         iter = model.get_iter(path)
         if (iter != None):
             file = model.get_value(iter, self.__currentTab__.COLUMN_SOURCE)
             item = self.__currentTab__.getCore().getItem(file)
             operationsDialog = OperationsDialog(
                                 item,
                                 iter,
                                 callback=self.__applyDeleteOperationsItemCallback__,
                                 parent=self.__mainWindow__)
     
             __log__.debug("Operations dialog created. %s" % operationsDialog)
             operationsDialog.run()
             del operationsDialog
         else:
             __log__.error("It can not recover iter from path %s. Abort open delete operations dialog." % path)
             FactoryControls.getMessage(_("It can not get item"),
                                        title=_("Delete operations"),
                                        type=gtk.MESSAGE_ERROR,
                                        parent=self.__mainWindow__)
         
     else:
         FactoryControls.getMessage(_("Select one item"),
                                    title=_("Delete operations"),
                                    parent=self.__mainWindow__)
Пример #5
0
 def __saveProjectEvent__ (self, b):
     """
     @summary: Handle save project action.
     @param b: Button that threw event.
     """
     if (self.__currentTab__ == None):
         __log__.debug("There is not current project")
         return
     core = self.__currentTab__.getCore()
     __log__.debug("Saving current project %s" % core.getName())
     if (core.isSaved()):
         __log__.debug("Current project is already saved on %s. Overwriting file." % core.getFilename())
         try:
             core.save()
         except Exception, e:
             __log__.error("It could not save current project to %s. %s" % (core.getFilename(), e))
             FactoryControls.getMessage(_("An error was occurred when it was saving current project to %s" % core.getFilename()),
                                        type=gtk.MESSAGE_ERROR,
                                        title=_("Save project"),
                                        parent=self.__mainWindow__)
             return
Пример #6
0
 def __openProjectEvent__ (self, b):
     """
     @summary: Handle open project action.
     @param b: Button that threw event.
     """
     
     fileSel = gtk.FileChooserDialog(title=_("Open project"),
                                     parent=self.__mainWindow__,
                                     action=gtk.FILE_CHOOSER_ACTION_OPEN,
                                     buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
                                              gtk.STOCK_OPEN, gtk.RESPONSE_ACCEPT))
     
     fileSel.set_default_response(gtk.RESPONSE_CANCEL)
     
     filterCam = gtk.FileFilter()
     filterCam.set_name(_("PyCamimg file"))
     filterCam.add_pattern("*%s" % self.PYCAMIMG_FILE_EXTENSION)
     fileSel.add_filter(filterCam)
     
     fileSel.set_modal(True)
     fileSel.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
     if (fileSel.run() == gtk.RESPONSE_ACCEPT):
         filename = fileSel.get_filename()
         __log__.debug("Open project from %s" % filename)
         if (not filename.endswith(self.PYCAMIMG_FILE_EXTENSION)):
             filename = "%s%s" % (filename, self.PYCAMIMG_FILE_EXTENSION)
         
         try:
             core = CamCore.load(filename, tempFolder=__TEMP_FOLDER__)
         except Exception, e:
             __log__.error("It could not load project from %s. %s" % (filename, e))
             FactoryControls.getMessage(_("An error was occurred when it was loading project from %s" % filename),
                                        type=gtk.MESSAGE_ERROR,
                                        title=_("Open project"),
                                        parent=self.__mainWindow__)
             return
         finally:
Пример #7
0
 def openPreview (self, b):
     """
     @summary: Open image.
     @param b: Button that threw event. 
     """
     
     if (self.__currentTab__ == None):
         __log__.debug("There is not current project")
         return
     
     paths = self.__currentTab__.getSelection()
     model = self.__currentTab__.getModel()
     if ((paths == None) or (model == None)):
         __log__.error("It can not recover tree selection. Set selection at 0.")
         iNRows = 0
     else:
         iNRows = len(paths)
     
     if iNRows > 0:
         path = paths[0]
         iter = model.get_iter(path)
         if (iter != None):
             file = model.get_value(iter, 1)
             meta = ImgMeta(file)
             meta.show()
         else:
             __log__.error("It can not recover iter from path %s. Abort preview" % path)
             FactoryControls.getMessage(_("It can not show image"),
                                        title=_("Preview"),
                                        type=gtk.MESSAGE_ERROR,
                                        parent=self.__mainWindow__)
         
     else:
         FactoryControls.getMessage(_("Select one item"),
                                    title=_("Preview"),
                                    parent=self.__mainWindow__)
Пример #8
0
             core.save()
         except Exception, e:
             __log__.error("It could not save current project to %s. %s" % (core.getFilename(), e))
             FactoryControls.getMessage(_("An error was occurred when it was saving current project to %s" % core.getFilename()),
                                        type=gtk.MESSAGE_ERROR,
                                        title=_("Save project"),
                                        parent=self.__mainWindow__)
             return
     else:
         __log__.debug("Current project is not saved yet. Opening save dialog")
         try:
             self.__saveAsProjectEvent__(b, raiseError=True)
         except Exception, e:
             __log__.error("It could not save current project to %s. %s" % (core.getFilename(), e))
             FactoryControls.getMessage(_("An error was occurred when it was saving current project to %s" % core.getFilename()),
                                        type=gtk.MESSAGE_ERROR,
                                        title=_("Save project"),
                                        parent=self.__mainWindow__)
             return
     __log__.info("Current project save on %s" % core.getFilename())
 
 def __saveAsProjectEvent__ (self, b, raiseError=False):
     """
     @summary: Handle save project action.
     @param b: Button that threw event.
     @param raiseError: True to throw an error when occurrs. 
     """
     if (self.__currentTab__ == None):
         __log__.debug("There is not current project")
         return
     
     fileSel = gtk.FileChooserDialog(title=_("Save project"),