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()
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__)
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:
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__)
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
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:
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__)
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"),