r514 - in trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing: . config content content/db content/protocol util util/action
Author: tchemit Date: 2013-03-02 07:25:02 +0100 (Sat, 02 Mar 2013) New Revision: 514 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/514 Log: move MainUI to content pckage Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractMainUITuttiAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ManageDbAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/SelectCruiseAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java Removed: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ImportTemporaryReferentialAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -1,54 +0,0 @@ - -package fr.ifremer.tutti.ui.swing; - -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -/** - * Abstract action defining actions which sets the screen of the application. - * - * @author kmorin <kmorin@codelutin.com> - * @since 1.0 - */ -public abstract class AbstractChangeScreenAction extends AbstractMainUITuttiAction { - - protected AbstractChangeScreenAction(MainUIHandler handler, - String icon, - String text, - String tip, - boolean hideBody) { - super(handler, icon, text, tip, hideBody); - } - - @Override - protected boolean prepareAction() { - boolean result = super.prepareAction(); - result &= getHandler().getCurrentHandler().canCloseUI(getNextScreen()); - return result; - } - - /** @return the next screen to display. */ - protected abstract TuttiScreen getNextScreen(); - -} Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -1,42 +0,0 @@ -package fr.ifremer.tutti.ui.swing; - -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; - -/** - * @author tchemit <chemit@codelutin.com> - * @since 1.0 - */ -public abstract class AbstractMainUITuttiAction extends AbstractTuttiAction<TuttiUIContext, MainUI, MainUIHandler> { - - protected AbstractMainUITuttiAction(MainUIHandler handler, - String icon, - String text, - String tip, - boolean hideBody) { - super(handler, icon, text, tip, hideBody); - } -} Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -1,66 +0,0 @@ -package fr.ifremer.tutti.ui.swing; - -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Preconditions; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import static org.nuiton.i18n.I18n._; - -/** - * Opens the cruise edition screen to edit the selected cruise. - * - * @author tchemit <chemit@codelutin.com> - * @since 1.0 - */ -public class EditSelectedCruiseAction extends AbstractChangeScreenAction { - - /** Logger. */ - private static final Log log = LogFactory.getLog(EditSelectedCruiseAction.class); - - public EditSelectedCruiseAction(MainUIHandler handler) { - super(handler, - "cruise", - _("tutti.action.editSelectedCruise"), - _("tutti.action.editSelectedCruise.tip"), - true - ); - } - - @Override - protected void doAction() { - Preconditions.checkState(getContext().isCruiseFilled()); - if (log.isInfoEnabled()) { - log.info("Edit cruise: " + getContext().getCruiseId()); - } - getContext().setScreen(getNextScreen()); - } - - @Override - protected TuttiScreen getNextScreen() { - return TuttiScreen.EDIT_CRUISE; - } -} Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -1,62 +0,0 @@ -package fr.ifremer.tutti.ui.swing; - -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Preconditions; - -import static org.nuiton.i18n.I18n._; - -/** - * Opens the catches edition screen to edit the selected catches. - * - * @author tchemit <chemit@codelutin.com> - * @since 1.0 - */ -public class EditSelectedCruiseCatchesAction extends AbstractChangeScreenAction { - - public EditSelectedCruiseCatchesAction(MainUIHandler handler) { - super(handler, - "edit", - _("tutti.action.editCatches"), - _("tutti.action.editCatches.tip"), - true - ); -// setMnemonic('C'); - } - - @Override - protected void doAction() { - Preconditions.checkState(getContext().isCruiseFilled()); - getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT); - getContext().setScreen(null); - getContext().setScreen(getNextScreen()); - } - - @Override - protected TuttiScreen getNextScreen() { - return TuttiScreen.EDIT_FISHING_OPERATION; - } - -} Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -1,67 +0,0 @@ -package fr.ifremer.tutti.ui.swing; - -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Preconditions; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import static org.nuiton.i18n.I18n._; - -/** - * Opens the program edition screen to edit the selected program. - * - * @author tchemit <chemit@codelutin.com> - * @since 1.0 - */ -public class EditSelectedProgramAction extends AbstractChangeScreenAction { - - /** Logger. */ - private static final Log log = LogFactory.getLog(EditSelectedProgramAction.class); - - public EditSelectedProgramAction(MainUIHandler handler) { - super(handler, - "program", - _("tutti.action.editSelectedProgram"), - _("tutti.action.editSelectedProgram.tip"), - true - ); - } - - @Override - protected void doAction() { - Preconditions.checkState(getContext().getProgramId() != null); - if (log.isInfoEnabled()) { - log.info("Edit program: " + getContext().getProgramId()); - } - getContext().setScreen(getNextScreen()); - } - - @Override - protected TuttiScreen getNextScreen() { - return TuttiScreen.EDIT_PROGRAM; - } - -} Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -1,68 +0,0 @@ -package fr.ifremer.tutti.ui.swing; - -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Preconditions; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import static org.nuiton.i18n.I18n._; - -/** - * Opens the protocol edition screen to edit the selected protocol. - * - * @author tchemit <chemit@codelutin.com> - * @since 1.0 - */ -public class EditSelectedProtocolAction extends AbstractChangeScreenAction { - - /** Logger. */ - private static final Log log = LogFactory.getLog(EditSelectedProtocolAction.class); - - public EditSelectedProtocolAction(MainUIHandler handler) { - super(handler, - "protocol", - _("tutti.action.editSelectedProtocol"), - _("tutti.action.editSelectedProtocol.tip"), - true - ); -// setMnemonic('P'); - } - - @Override - protected void doAction() { - Preconditions.checkState(getContext().isProtocolFilled()); - if (log.isInfoEnabled()) { - log.info("Edit protocol: " + getContext().getProtocolId()); - } - getContext().setScreen(getNextScreen()); - } - - @Override - protected TuttiScreen getNextScreen() { - return TuttiScreen.EDIT_PROTOCOL; - } - -} Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ImportTemporaryReferentialAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ImportTemporaryReferentialAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ImportTemporaryReferentialAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -1,71 +0,0 @@ -package fr.ifremer.tutti.ui.swing; - -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import javax.swing.SwingUtilities; - -import static org.nuiton.i18n.I18n._; - -/** - * Open screen to import referential - * - * @author tchemit <chemit@codelutin.com> - * @since 1.0 - */ -public class ImportTemporaryReferentialAction extends AbstractChangeScreenAction { - - /** Logger. */ - private static final Log log = - LogFactory.getLog(ImportTemporaryReferentialAction.class); - - public ImportTemporaryReferentialAction(MainUIHandler handler) { - super(handler, - "temporary-referential-import", - _("tutti.action.importTemporaryReferential"), - _("tutti.action.importTemporaryReferential.tip"), - true - ); - } - - @Override - protected void doAction() { - getContext().setScreen(getNextScreen()); - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - getContext().getMainUI().getBody().revalidate(); - } - }); - - } - - @Override - protected TuttiScreen getNextScreen() { - return TuttiScreen.IMPORT_TEMPORARY_REFERENTIAL; - } -} Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css 2013-03-02 06:25:02 UTC (rev 514) @@ -1,180 +0,0 @@ -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -#actionBlockerLayer { - canClick: false; - blockingColor: {model.getConfig().getColorBlockingLayer()}; -} -#mainFrame { - title: "tutti.application.name"; - defaultCloseOperation: {JFrame.DO_NOTHING_ON_CLOSE}; -} - -#menuFile { - text: "tutti.menu.file"; - toolTipText: "tutti.menu.file.tip"; - mnemonic: F; -} - -#menuFileConfiguration { - text: "tutti.action.configuration"; - toolTipText: "tutti.action.configuration.tip"; - actionIcon: config; - mnemonic: C; -} - -#menuFileExit { - text: "tutti.action.exit"; - toolTipText: "tutti.action.exit.tip"; - actionIcon: exit; -} - -#menuActionUpdate { - _tuttiAction: {UpdateApplicationAction.class}; -} - -#menuActionManageDb { - enabled: {model.getScreen() != TuttiScreen.MANAGE_DB}; - _tuttiAction: {ManageDbAction.class}; -} - -#menuActions { - enabled: {model.isDbLoaded()}; - text: "tutti.menu.actions"; - toolTipText: "tutti.menu.actions.tip"; - mnemonic: A; -} - -#menuActionSelectCruise { - enabled: {model.getScreen() != TuttiScreen.SELECT_CRUISE}; - _tuttiAction: {SelectCruiseAction.class}; -} - -#menuActionEditProgram { - enabled: {model.getScreen() != TuttiScreen.EDIT_PROGRAM && model.isProgramFilled()}; - _tuttiAction: {EditSelectedProgramAction.class}; -} - -#menuActionEditCruise { - enabled: {model.getScreen() != TuttiScreen.EDIT_CRUISE && model.isCruiseFilled()}; - _tuttiAction: {EditSelectedCruiseAction.class}; -} - -#menuActionEditProtocol { - enabled: {model.getScreen() != TuttiScreen.EDIT_PROTOCOL && model.isProtocolFilled()}; - _tuttiAction: {EditSelectedProtocolAction.class}; -} - -#menuActionEditCatches { - enabled: {( - !TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(model.getValidationContext()) - || model.getScreen() != TuttiScreen.EDIT_FISHING_OPERATION - ) && model.isCruiseFilled()}; - _tuttiAction: {EditSelectedCruiseCatchesAction.class}; -} - -#menuActionValidateCatches { - enabled: {( - !TuttiUIContext.VALIDATION_CONTEXT_VALIDATE.equals(model.getValidationContext()) - || model.getScreen() != TuttiScreen.EDIT_FISHING_OPERATION - ) && model.isCruiseFilled()}; - _tuttiAction: {ValidateSelectedCruiseCatchesAction.class}; -} - -#menuAdministration{ - enabled: {model.isDbLoaded()}; - text: "tutti.menu.administration"; - toolTipText: "tutti.menu.administration.tip"; - mnemonic: A; -} - -#menuImportTemporaryReferential { - enabled: {model.getScreen() != TuttiScreen.IMPORT_TEMPORARY_REFERENTIAL}; - _tuttiAction: {ImportTemporaryReferentialAction.class}; -} - -#menuSynchronisations { - enabled: {model.isDbLoaded()}; - text: "tutti.menu.synchronisations"; - toolTipText: "tutti.menu.synchronisations.tip"; - mnemonic: S; -} - -#menuSynchronisationImport { - text: "tutti.menu.synchronisationImport"; - toolTipText: "tutti.menu.synchronisationImport.tip"; - mnemonic: I; - enabled: false; - actionIcon: import; -} - -#menuSynchronisationExport { - text: "tutti.menu.synchronisationExport"; - toolTipText: "tutti.menu.synchronisationExport.tip"; - mnemonic: E; - enabled: false; - actionIcon: export; -} - -#menuSynchronisationAllegro { - text: "tutti.menu.synchronisationAllegro"; - toolTipText: "tutti.menu.synchronisationAllegro.tip"; - mnemonic: A; - enabled: false; - actionIcon: allegro; -} - -#menuHelp { - text: "tutti.menu.help"; - toolTipText: "tutti.menu.help.tip"; - mnemonic: E; -} - -#menuHelpSite { - text: "tutti.action.site"; - toolTipText: "tutti.action.site.tip"; - actionIcon: site; - mnemonic: S; -} - -#menuHelpAbout { - text: "tutti.action.about"; - toolTipText: "tutti.action.about.tip"; - actionIcon: about; - mnemonic: A; -} - -#menuUpdateApplication { - _tuttiAction: {UpdateApplicationAction.class}; -} - -#bottomBar { - floatable: false; - margin: {new java.awt.Insets(0, 0, 0, 5)}; - borderPainted: false; -} - -#validatorMessageWidget { - focusPainted: false; -} Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx 2013-03-02 06:25:02 UTC (rev 514) @@ -1,109 +0,0 @@ -<!-- - #%L - Tutti :: UI - $Id$ - $HeadURL$ - %% - Copyright (C) 2012 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<JFrame id='mainFrame' onWindowClosing='getHandler().closeTutti()' - implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<TuttiUIContext, MainUIHandler>' - width='800' height='600'> - - <import> - java.awt.BorderLayout - javax.swing.JFrame - org.jdesktop.swingx.JXTitledPanel - jaxx.runtime.validator.swing.SwingValidator - jaxx.runtime.validator.swing.SwingValidatorMessageWidget - fr.ifremer.tutti.ui.swing.TuttiUIContext - </import> - - <TuttiUIContext id='model' - initializer='getContextValue(TuttiUIContext.class)'/> - <MainUIHandler id='handler' - initializer='getContextValue(MainUIHandler.class)'/> - - <script><![CDATA[ - - public MainUI(TuttiUIContext context) { - setContextValue(context); - MainUIHandler handler = new MainUIHandler(context, this); - setContextValue(handler); - handler.beforeInitUI(); - } - - protected void $afterCompleteSetup() { - getHandler().afterInitUI(); - } - ]]></script> - - <!-- menu --> - <JMenuBar id='menu'> - <JMenu id='menuFile'> - <JMenuItem id='menuFileConfiguration' - onActionPerformed="getHandler().showConfig()"/> - <JMenuItem id='menuActionUpdate'/> - <JSeparator/> - <JMenuItem id='menuActionManageDb'/> - <JSeparator/> - <JMenuItem id='menuFileExit' - onActionPerformed='getHandler().closeTutti()'/> - </JMenu> - - <JMenu id='menuActions'> - <JMenuItem id='menuActionSelectCruise'/> - <JMenuItem id='menuActionEditProgram'/> - <JMenuItem id='menuActionEditCruise'/> - <JMenuItem id='menuActionEditProtocol'/> - <JMenuItem id='menuActionEditCatches'/> - <JMenuItem id='menuActionValidateCatches'/> - </JMenu> - - <JMenu id='menuAdministration'> - <JMenuItem id='menuImportTemporaryReferential'/> - </JMenu> - - <!--JMenu id='menuSynchronisations'> - - <JMenuItem id='menuSynchronisationImport' - onActionPerformed="getHandler().showImportScreen()"/> - <JMenuItem id='menuSynchronisationExport' - onActionPerformed="getHandler().showExportScreen()"/> - <JMenuItem id='menuSynchronisationAllegro' - onActionPerformed="getHandler().showAllegroScreen()"/> - </JMenu--> - - <JMenu id='menuHelp'> - <JMenuItem id='menuHelpSite' - onActionPerformed='getHandler().gotoSite()'/> - <JMenuItem id='menuHelpAbout' - onActionPerformed='getHandler().showAbout()'/> - </JMenu> - </JMenuBar> - - <JToolBar id='bottomBar'> - <SwingValidatorMessageWidget id='validatorMessageWidget'/> - </JToolBar> - - <JXTitledPanel id='body' constraints='BorderLayout.CENTER'/> - - <!-- status message bar --> - <StatusMessagePanel id='status' constraints="BorderLayout.SOUTH"/> - -</JFrame> Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-03-02 06:25:02 UTC (rev 514) @@ -1,507 +0,0 @@ -package fr.ifremer.tutti.ui.swing; - -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import fr.ifremer.tutti.persistence.entities.data.Cruise; -import fr.ifremer.tutti.persistence.entities.data.Program; -import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; -import fr.ifremer.tutti.service.PersistenceService; -import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; -import fr.ifremer.tutti.ui.swing.config.TuttiConfigUI; -import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUI; -import fr.ifremer.tutti.ui.swing.content.db.DbManagerUI; -import fr.ifremer.tutti.ui.swing.content.db.OpenDbAction; -import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUI; -import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI; -import fr.ifremer.tutti.ui.swing.content.program.EditProgramUI; -import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI; -import fr.ifremer.tutti.ui.swing.content.referential.ManageTemporaryReferentialUI; -import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; -import fr.ifremer.tutti.ui.swing.util.TuttiUI; -import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI; -import fr.ifremer.tutti.ui.swing.util.action.TuttiUIAction; -import jaxx.runtime.swing.AboutPanel; -import jaxx.runtime.validator.swing.SwingValidator; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.nuiton.util.ApplicationConfig; -import org.nuiton.widget.SwingSession; - -import javax.swing.Icon; -import javax.swing.JComponent; -import javax.swing.JLabel; -import javax.swing.JToolBar; -import java.awt.Desktop; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; -import java.net.URL; -import java.util.Calendar; - -import static org.nuiton.i18n.I18n._; - -/** - * @author tchemit <chemit@codelutin.com> - * @since 0.1 - */ -public class MainUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, MainUI> { - - /** Logger. */ - private static final Log log = LogFactory.getLog(MainUIHandler.class); - - public static final String CLONE_PROTOCOL = "cloneProtocol"; - - protected JComponent currentBody; - - protected PersistenceService persistenceService; - - protected MainUIHandler(TuttiUIContext context, MainUI ui) { - super(context, ui); - this.persistenceService = context.getPersistenceService(); - context.setMainUI(ui); - context.setActionUI(new TuttiActionUI(ui, context)); - } - - protected MainUIHandler(TuttiUIContext context) { - super(context, null); - this.persistenceService = null; - } - - //------------------------------------------------------------------------// - //-- AbstractTuttiUIHandler methods --// - //------------------------------------------------------------------------// - - @Override - public void beforeInitUI() { - context.addPropertyChangeListener(new PropertyChangeListener() { - @Override - public void propertyChange(PropertyChangeEvent evt) { - String propertyName = evt.getPropertyName(); - if (TuttiUIContext.ID_TO_SAVE_PROPERTIES.contains(propertyName)) { - - // change the ui title - changeTitle(); - - } else if (propertyName.equals(TuttiUIContext.PROPERTY_SCREEN)) { - setScreen((TuttiScreen) evt.getNewValue()); - } - } - }); - ui.setContextValue(ui, MainUI.class.getName()); - } - - @Override - public void afterInitUI() { - - initUI(ui); - - // Init SwingSession - SwingSession swingSession = context.getSwingSession(); - swingSession.add(ui); - swingSession.save(); - - //SwingUtil.getLayer(ui.getBody()).setUI(new BetaLayerUI()); - - changeTitle(); - - JToolBar bar = ui.getBottomBar(); - ui.getStatus().addWidget(bar, 0); - - if (!context.isDbExist()) { - - // clean db context - context.clearDbContext(); - - // go to manage db screen (to install db) - context.setScreen(TuttiScreen.MANAGE_DB); - } else { - - // open tutti db - TuttiUIAction<OpenDbAction> openDbAction = createAction(OpenDbAction.class); - openDbAction.actionPerformed(null); - } - } - - @Override - public void onCloseUI() { - - context.close(); - } - - @Override - public SwingValidator<TuttiUIContext> getValidator() { - return null; - } - - //------------------------------------------------------------------------// - //-- Public methods --// - //------------------------------------------------------------------------// - - public void closeTutti() { - RunTutti.closeTutti(ui, true); - } - - public void reloadTutti() { - - // Close the application - RunTutti.closeTutti(ui, false); - - RunTutti.startTutti(context); - } - - public void reloadApplication() { - //TODO - } - - public void reloadShortcuts() { - //TODO - } - - public void showConfig() { - - TuttiConfigUI configUI = new TuttiConfigUI(ui); - configUI.createUI(); - } - - public void showManageProtocol() { - context.setScreen(TuttiScreen.EDIT_PROTOCOL); - } - - public void showSelectCampaign() { - context.setScreen(TuttiScreen.SELECT_CRUISE); - } - - public void showFillCatches() { - context.setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT); - context.setScreen(TuttiScreen.EDIT_FISHING_OPERATION); - } - - public void showValidateCatches() { - context.setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE); - context.setScreen(TuttiScreen.EDIT_FISHING_OPERATION); - } - - public void showAbout() { - - ApplicationConfig applicationConfig = - context.getConfig().getApplicationConfig(); - - String iconPath = applicationConfig.getOption("application.icon.path"); - String name = "tutti-ui-swing"; - String licensePath = "META-INF/" + name + "-LICENSE.txt"; - String thirdPartyPath = "META-INF/" + name + "-THIRD-PARTY.txt"; - - AboutPanel about = new AboutPanel(); - about.setTitle(_("tutti.title.about")); - about.setAboutText(_("tutti.about.message")); - - TuttiApplicationConfig config = context.getConfig(); - int currentYear = Calendar.getInstance().get(Calendar.YEAR); - int inceptionYear = config.getInceptionYear(); - String years; - if (currentYear != inceptionYear) { - years = inceptionYear + "-" + currentYear; - } else { - years = inceptionYear + ""; - } - - about.setBottomText(_("tutti.about.bottomText", - config.getOrganizationName(), - years, - config.getVersion())); - about.setIconPath(iconPath); - about.setLicenseFile(licensePath); - about.setThirdpartyFile(thirdPartyPath); - about.buildTopPanel(); - about.init(); - about.showInDialog(ui, true); - - // register on swing session - context.getSwingSession().add(about); - } - - public void gotoSite() { - TuttiApplicationConfig config = context.getConfig(); - - URL siteURL = config.getSiteUrl(); - - if (log.isDebugEnabled()) { - log.debug("goto " + siteURL); - } - if (Desktop.isDesktopSupported() && - Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) { - try { - Desktop.getDesktop().browse(siteURL.toURI()); - } catch (Exception e) { - TuttiUIContext.getErrorHelper().showErrorDialog( - "Failed to open '" + siteURL + "' in browser", e); - } - } - } - - @Override - public final void showInformationMessage(String message) { - ui.getStatus().setStatus(message); - } - - public void registerValidator(SwingValidator validator) { - ui.getValidatorMessageWidget().registerValidator(validator); - } - - @Override - public void clearValidators() { - ui.getValidatorMessageWidget().clearValidators(); - } - - public AbstractTuttiUIHandler getCurrentHandler() { - TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody; - return body.getHandler(); - } - - /** - * Reload the persistence service and set the new ne into the handler. - * - * @since 1.0 - */ - public void reloadPersistenceService() { - this.persistenceService = context.reloadPersistenceService(); - } - - /** - * Get the persistence service instance used by the handler. - * - * @return the persistence service instance used by the handler - * @since 1.0 - */ - public PersistenceService getPersistenceService() { - return persistenceService; - } - - //------------------------------------------------------------------------// - //-- Internal methods --// - //------------------------------------------------------------------------// - - protected void setScreen(TuttiScreen screen) { - - try { - - // close current body (if any) - if (currentBody != null) { - TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody; - body.getHandler().onCloseUI(); - - context.getSwingSession().save(); - - ui.getBody().remove(currentBody); - - currentBody = null; - } - - if (screen != null) { - - String programId = context.getProgramId(); - String cruiseId = context.getCruiseId(); - String protocolId = context.getProtocolId(); - - JComponent screenUI; - String screenTitle; - - Icon icon; - switch (screen) { - default: - case MANAGE_DB: - - screenUI = new DbManagerUI(ui); - screenTitle = _("tutti.title.manageDb"); - icon = ui.getMenuActionManageDb().getIcon(); - break; - - case SELECT_CRUISE: - - screenUI = new SelectCruiseUI(ui); - screenTitle = _("tutti.title.home"); - icon = ui.getMenuActionSelectCruise().getIcon(); - break; - - case EDIT_PROGRAM: - - if (programId == null) { - screenTitle = _("tutti.title.create.program"); - } else { - screenTitle = _("tutti.title.edit.program"); - } - - screenUI = new EditProgramUI(ui); - icon = ui.getMenuActionEditProgram().getIcon(); - break; - - case EDIT_CRUISE: - - if (cruiseId == null) { - screenTitle = _("tutti.title.create.cruise"); - } else { - screenTitle = _("tutti.title.edit.cruise"); - } - - screenUI = new EditCruiseUI(ui); - icon = ui.getMenuActionEditCruise().getIcon(); - break; - - case EDIT_PROTOCOL: - - if (protocolId == null) { - screenTitle = _("tutti.title.create.protocol"); - } else { - screenTitle = _("tutti.title.edit.protocol"); - } - - screenUI = new EditProtocolUI(ui); - icon = ui.getMenuActionEditProtocol().getIcon(); - break; - - case CLONE_PROTOCOL: - screenTitle = _("tutti.title.create.protocol"); - ui.setContextValue(true, CLONE_PROTOCOL); - screenUI = new EditProtocolUI(ui); - icon = ui.getMenuActionEditProtocol().getIcon(); - break; - - case EDIT_FISHING_OPERATION: - - String validationContext = context.getValidationContext(); - - if (TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(validationContext)) { - - // edit catches - screenTitle = _("tutti.title.edit.operations", getSelectedCruiseTitle()); - icon = ui.getMenuActionEditCatches().getIcon(); - } else { - - // validate catches - screenTitle = _("tutti.title.validate.operations", getSelectedCruiseTitle()); - icon = ui.getMenuActionValidateCatches().getIcon(); - } - screenUI = new FishingOperationsUI(ui); - - break; - - case IMPORT_TEMPORARY_REFERENTIAL: - screenTitle = _("tutti.title.import.temporary.referential"); - screenUI = new ManageTemporaryReferentialUI(ui); - icon = ui.getMenuImportTemporaryReferential().getIcon(); - break; - } - - this.currentBody = screenUI; - context.getSwingSession().add(currentBody); - ui.getBody().setTitle(screenTitle); - ui.getBody().add(currentBody); - ui.getBody().setLeftDecoration(new JLabel(icon)); - - } - } catch (Exception e) { - -// AbstractTuttiAction mainAction = AbstractTuttiAction.getMainAction(); -// if (mainAction != null) { -// mainAction.setFailed(true); -// } - - TuttiUIContext.getErrorHelper().showErrorDialog( - "Could not change to screen " + screen, e); - - // go back to home - context.setScreen(TuttiScreen.SELECT_CRUISE); - } - } - - protected void changeTitle() { - - String title = getSelectedCruiseTitle(); - - ui.setTitle("Tutti - v " + getConfig().getVersion() + " [ " + title + " ]"); - } - - protected String getSelectedCruiseTitle() { - - - String title; - - if (context.isDbLoaded()) { - - if (context.isProgramFilled()) { - - // selected program - - Program program = getDataContext().getProgram(); - - title = _("tutti.title.selectedProgram", program.getName()) + " / "; - - if (context.isCruiseFilled()) { - - // selected cruise - Cruise cruise; - cruise = getDataContext().getCruise(); - - if (cruise != null) { - title += _("tutti.title.selectedCruise", cruise.getName()); - } - } else { - - // no selected cruise - - title += _("tutti.title.noSelectedCruise"); - } - - title += " / "; - - if (context.isProtocolFilled()) { - - // selected protocol - TuttiProtocol protocol = getDataContext().getProtocol(); - - title += _("tutti.title.selectedProtocol", protocol.getName()); - } else { - - // no selected protocol - - title += _("tutti.title.noSelectedProtocol"); - } - - } else { - - // no program selected (so neither cruise) - - title = _("tutti.title.noSelectedProgram"); - - } - } else { - - // no db loaded - - title = _("tutti.title.nodb"); - } - - return title; - } -} Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -1,66 +0,0 @@ -package fr.ifremer.tutti.ui.swing; - -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import static org.nuiton.i18n.I18n._; - -/** - * To manage db in Tutti. - * - * @author tchemit <chemit@codelutin.com> - * @since 1.0 - */ -public class ManageDbAction extends AbstractChangeScreenAction { - - /** Logger. */ - private static final Log log = LogFactory.getLog(ManageDbAction.class); - - public ManageDbAction(MainUIHandler handler) { - super(handler, - "manage-db", - _("tutti.action.manageDb"), - _("tutti.action.manageDb.tip"), - true - ); -// setMnemonic('P'); - } - - @Override - protected void doAction() { - if (log.isDebugEnabled()) { - log.debug("open manage db screen"); - } - getContext().setScreen(getNextScreen()); - } - - @Override - protected TuttiScreen getNextScreen() { - return TuttiScreen.MANAGE_DB; - } - -} \ No newline at end of file Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-03-02 06:25:02 UTC (rev 514) @@ -25,6 +25,9 @@ */ import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; +import fr.ifremer.tutti.ui.swing.content.MainUI; +import fr.ifremer.tutti.ui.swing.content.MainUIHandler; +import fr.ifremer.tutti.ui.swing.content.UpdateApplicationAction; import fr.ifremer.tutti.ui.swing.util.TuttiExceptionHandler; import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -1,57 +0,0 @@ -package fr.ifremer.tutti.ui.swing; - -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import static org.nuiton.i18n.I18n._; - -/** - * Opens the cruise selection screen (home). - * - * @author tchemit <chemit@codelutin.com> - * @since 1.0 - */ -public class SelectCruiseAction extends AbstractChangeScreenAction { - - public SelectCruiseAction(MainUIHandler handler) { - super(handler, - "home", - _("tutti.action.selectCruise"), - _("tutti.action.selectCruise.tip"), - true - ); -// setMnemonic('S'); - } - - @Override - protected void doAction() { -// Preconditions.checkNotNull(getContext().isCruiseFilled()); - getContext().setScreen(getNextScreen()); - } - - @Override - protected TuttiScreen getNextScreen() { - return TuttiScreen.SELECT_CRUISE; - } -} Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-03-02 06:25:02 UTC (rev 514) @@ -39,6 +39,7 @@ import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService; import fr.ifremer.tutti.service.referential.TuttiReferentialSynchronizeService; import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; +import fr.ifremer.tutti.ui.swing.content.MainUI; import fr.ifremer.tutti.ui.swing.util.TuttiErrorHelper; import fr.ifremer.tutti.ui.swing.util.UIMessageNotifier; import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI; Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -1,98 +0,0 @@ -package fr.ifremer.tutti.ui.swing; - -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import fr.ifremer.tutti.persistence.ProgressionModel; -import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; -import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.nuiton.util.ApplicationUpdater; - -import java.io.File; - -import static org.nuiton.i18n.I18n._; - -/** - * To update jre / i18n or tutti using the {@link ApplicationUpdater} mecanism. - * - * @author tchemit <chemit@codelutin.com> - * @since 1.0 - */ -public class UpdateApplicationAction extends AbstractTuttiAction<TuttiUIContext, MainUI, MainUIHandler> { - - /** Logger. */ - private static final Log log = - LogFactory.getLog(UpdateApplicationAction.class); - - public UpdateApplicationAction(MainUIHandler handler) { - super(handler, - "update-application", - _("tutti.action.updateApplication"), - _("tutti.action.updateApplication.tip"), - true); - } - - @Override - protected void doAction() { - - TuttiApplicationConfig config = getContext().getConfig(); - - File current = config.getTuttiBasedir(); - if (current == null || !current.exists()) { - - // can not update application - if (log.isWarnEnabled()) { - log.warn("No application base directory defined, skip updates."); - } - } else { - - String url = config.getUpdateUrl(); - File dest = new File(config.getTuttiBasedir(), "NEW"); - - if (log.isInfoEnabled()) { - log.info(String.format("Try to update jre, i18N or tutti (current application location: %s), using update url: %s", current, url)); - } - ApplicationUpdater up = new ApplicationUpdater(); - - ProgressionModel progressionModel = new ProgressionModel(); - getContext().getActionUI().getModel().setProgressionModel(progressionModel); - progressionModel.setMessage("Recherche de mises à jour de JRE / Tutti / I18N"); - - TuttiApplicationUpdaterCallBack callback = - new TuttiApplicationUpdaterCallBack(getContext(), progressionModel); - - callback.setTypes(TuttiApplicationUpdaterCallBack.UpdateType.JRE, - TuttiApplicationUpdaterCallBack.UpdateType.I18N, - TuttiApplicationUpdaterCallBack.UpdateType.TUTTI); - up.update(url, - current, - dest, - false, - callback); -// getContext().getActionUI().getModel().clear(); - } - } -} \ No newline at end of file Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -1,93 +0,0 @@ -package fr.ifremer.tutti.ui.swing; - -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import fr.ifremer.tutti.persistence.ProgressionModel; -import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.nuiton.util.ApplicationUpdater; - -import java.io.File; - -import static org.nuiton.i18n.I18n._; - -/** - * To update referential using the {@link ApplicationUpdater} mecanism. - * - * @author tchemit <chemit@codelutin.com> - * @since 1.0 - */ -public class UpdateReferentialAction extends AbstractMainUITuttiAction { - - /** Logger. */ - private static final Log log = - LogFactory.getLog(UpdateReferentialAction.class); - - public UpdateReferentialAction(MainUIHandler handler) { - super(handler, - "update-referential", - _("tutti.action.updateReferential"), - _("tutti.action.updateReferential.tip"), - true); - } - - @Override - protected void doAction() { - TuttiApplicationConfig config = getContext().getConfig(); - - File current = config.getDataDirectory(); - String url = config.getUpdateUrl(); - - if (log.isInfoEnabled()) { - log.info(String.format("Try to update db (current data location: %s), using update url: %s", current, url)); - } - ApplicationUpdater up = new ApplicationUpdater(); - - File dest = new File(config.getTuttiBasedir(), "NEW"); - ProgressionModel progressionModel = new ProgressionModel(); - getContext().getActionUI().getModel().setProgressionModel(progressionModel); - progressionModel.setMessage("Recherche de mises à jour de base"); - TuttiApplicationUpdaterCallBack callback = new TuttiApplicationUpdaterCallBack(getContext(), progressionModel); - callback.setTypes(TuttiApplicationUpdaterCallBack.UpdateType.DB); - up.update(url, - current, - dest, - false, - callback); - - if (callback.isDbUpdated()) { - - progressionModel.setMessage("Rechargement de la base de données"); - - getContext().setDbLoaded(true); - getContext().reloadPersistenceService(); - - - } else { - sendMessage("Aucune mise à jour de base détectée."); - } - } -} \ No newline at end of file Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -1,60 +0,0 @@ -package fr.ifremer.tutti.ui.swing; - -/* - * #%L - * Tutti :: UI - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Preconditions; - -import static org.nuiton.i18n.I18n._; - -/** - * Opens the catches validation screen to edit the selected catches. - * - * @author tchemit <chemit@codelutin.com> - * @since 1.0 - */ -public class ValidateSelectedCruiseCatchesAction extends AbstractChangeScreenAction { - - public ValidateSelectedCruiseCatchesAction(MainUIHandler handler) { - super(handler, - "validate", - _("tutti.action.validateCatches"), - _("tutti.action.validateCatches.tip"), - true - ); - } - - @Override - protected void doAction() { - Preconditions.checkState(getContext().isCruiseFilled()); - getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE); - getContext().setScreen(null); - getContext().setScreen(getNextScreen()); - } - - @Override - protected TuttiScreen getNextScreen() { - return TuttiScreen.EDIT_FISHING_OPERATION; - } -} Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-03-02 06:25:02 UTC (rev 514) @@ -25,7 +25,7 @@ */ import fr.ifremer.tutti.service.config.TuttiServiceConfigOption; -import fr.ifremer.tutti.ui.swing.MainUI; +import fr.ifremer.tutti.ui.swing.content.MainUI; import jaxx.runtime.SwingUtil; import jaxx.runtime.swing.editor.config.ConfigUI; import jaxx.runtime.swing.editor.config.ConfigUIHelper; Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,56 @@ + +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ifremer.tutti.ui.swing.TuttiScreen; + +/** + * Abstract action defining actions which sets the screen of the application. + * + * @author kmorin <kmorin@codelutin.com> + * @since 1.0 + */ +public abstract class AbstractChangeScreenAction extends AbstractMainUITuttiAction { + + protected AbstractChangeScreenAction(MainUIHandler handler, + String icon, + String text, + String tip, + boolean hideBody) { + super(handler, icon, text, tip, hideBody); + } + + @Override + protected boolean prepareAction() { + boolean result = super.prepareAction(); + result &= getHandler().getCurrentHandler().canCloseUI(getNextScreen()); + return result; + } + + /** @return the next screen to display. */ + protected abstract TuttiScreen getNextScreen(); + +} Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractMainUITuttiAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractMainUITuttiAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractMainUITuttiAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,43 @@ +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ifremer.tutti.ui.swing.TuttiUIContext; +import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; + +/** + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public abstract class AbstractMainUITuttiAction extends AbstractTuttiAction<TuttiUIContext, MainUI, MainUIHandler> { + + protected AbstractMainUITuttiAction(MainUIHandler handler, + String icon, + String text, + String tip, + boolean hideBody) { + super(handler, icon, text, tip, hideBody); + } +} Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,67 @@ +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.base.Preconditions; +import fr.ifremer.tutti.ui.swing.TuttiScreen; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import static org.nuiton.i18n.I18n._; + +/** + * Opens the cruise edition screen to edit the selected cruise. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class EditSelectedCruiseAction extends AbstractChangeScreenAction { + + /** Logger. */ + private static final Log log = LogFactory.getLog(EditSelectedCruiseAction.class); + + public EditSelectedCruiseAction(MainUIHandler handler) { + super(handler, + "cruise", + _("tutti.action.editSelectedCruise"), + _("tutti.action.editSelectedCruise.tip"), + true + ); + } + + @Override + protected void doAction() { + Preconditions.checkState(getContext().isCruiseFilled()); + if (log.isInfoEnabled()) { + log.info("Edit cruise: " + getContext().getCruiseId()); + } + getContext().setScreen(getNextScreen()); + } + + @Override + protected TuttiScreen getNextScreen() { + return TuttiScreen.EDIT_CRUISE; + } +} Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,64 @@ +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.base.Preconditions; +import fr.ifremer.tutti.ui.swing.TuttiScreen; +import fr.ifremer.tutti.ui.swing.TuttiUIContext; + +import static org.nuiton.i18n.I18n._; + +/** + * Opens the catches edition screen to edit the selected catches. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class EditSelectedCruiseCatchesAction extends AbstractChangeScreenAction { + + public EditSelectedCruiseCatchesAction(MainUIHandler handler) { + super(handler, + "edit", + _("tutti.action.editCatches"), + _("tutti.action.editCatches.tip"), + true + ); +// setMnemonic('C'); + } + + @Override + protected void doAction() { + Preconditions.checkState(getContext().isCruiseFilled()); + getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT); + getContext().setScreen(null); + getContext().setScreen(getNextScreen()); + } + + @Override + protected TuttiScreen getNextScreen() { + return TuttiScreen.EDIT_FISHING_OPERATION; + } + +} Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,68 @@ +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.base.Preconditions; +import fr.ifremer.tutti.ui.swing.TuttiScreen; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import static org.nuiton.i18n.I18n._; + +/** + * Opens the program edition screen to edit the selected program. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class EditSelectedProgramAction extends AbstractChangeScreenAction { + + /** Logger. */ + private static final Log log = LogFactory.getLog(EditSelectedProgramAction.class); + + public EditSelectedProgramAction(MainUIHandler handler) { + super(handler, + "program", + _("tutti.action.editSelectedProgram"), + _("tutti.action.editSelectedProgram.tip"), + true + ); + } + + @Override + protected void doAction() { + Preconditions.checkState(getContext().getProgramId() != null); + if (log.isInfoEnabled()) { + log.info("Edit program: " + getContext().getProgramId()); + } + getContext().setScreen(getNextScreen()); + } + + @Override + protected TuttiScreen getNextScreen() { + return TuttiScreen.EDIT_PROGRAM; + } + +} Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,69 @@ +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.base.Preconditions; +import fr.ifremer.tutti.ui.swing.TuttiScreen; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import static org.nuiton.i18n.I18n._; + +/** + * Opens the protocol edition screen to edit the selected protocol. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class EditSelectedProtocolAction extends AbstractChangeScreenAction { + + /** Logger. */ + private static final Log log = LogFactory.getLog(EditSelectedProtocolAction.class); + + public EditSelectedProtocolAction(MainUIHandler handler) { + super(handler, + "protocol", + _("tutti.action.editSelectedProtocol"), + _("tutti.action.editSelectedProtocol.tip"), + true + ); +// setMnemonic('P'); + } + + @Override + protected void doAction() { + Preconditions.checkState(getContext().isProtocolFilled()); + if (log.isInfoEnabled()) { + log.info("Edit protocol: " + getContext().getProtocolId()); + } + getContext().setScreen(getNextScreen()); + } + + @Override + protected TuttiScreen getNextScreen() { + return TuttiScreen.EDIT_PROTOCOL; + } + +} Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ImportTemporaryReferentialAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,72 @@ +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ifremer.tutti.ui.swing.TuttiScreen; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import javax.swing.SwingUtilities; + +import static org.nuiton.i18n.I18n._; + +/** + * Open screen to import referential + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class ImportTemporaryReferentialAction extends AbstractChangeScreenAction { + + /** Logger. */ + private static final Log log = + LogFactory.getLog(ImportTemporaryReferentialAction.class); + + public ImportTemporaryReferentialAction(MainUIHandler handler) { + super(handler, + "temporary-referential-import", + _("tutti.action.importTemporaryReferential"), + _("tutti.action.importTemporaryReferential.tip"), + true + ); + } + + @Override + protected void doAction() { + getContext().setScreen(getNextScreen()); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + getContext().getMainUI().getBody().revalidate(); + } + }); + + } + + @Override + protected TuttiScreen getNextScreen() { + return TuttiScreen.IMPORT_TEMPORARY_REFERENTIAL; + } +} Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,180 @@ +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +#actionBlockerLayer { + canClick: false; + blockingColor: {model.getConfig().getColorBlockingLayer()}; +} +#mainFrame { + title: "tutti.application.name"; + defaultCloseOperation: {JFrame.DO_NOTHING_ON_CLOSE}; +} + +#menuFile { + text: "tutti.menu.file"; + toolTipText: "tutti.menu.file.tip"; + mnemonic: F; +} + +#menuFileConfiguration { + text: "tutti.action.configuration"; + toolTipText: "tutti.action.configuration.tip"; + actionIcon: config; + mnemonic: C; +} + +#menuFileExit { + text: "tutti.action.exit"; + toolTipText: "tutti.action.exit.tip"; + actionIcon: exit; +} + +#menuActionUpdate { + _tuttiAction: {UpdateApplicationAction.class}; +} + +#menuActionManageDb { + enabled: {model.getScreen() != TuttiScreen.MANAGE_DB}; + _tuttiAction: {ManageDbAction.class}; +} + +#menuActions { + enabled: {model.isDbLoaded()}; + text: "tutti.menu.actions"; + toolTipText: "tutti.menu.actions.tip"; + mnemonic: A; +} + +#menuActionSelectCruise { + enabled: {model.getScreen() != TuttiScreen.SELECT_CRUISE}; + _tuttiAction: {SelectCruiseAction.class}; +} + +#menuActionEditProgram { + enabled: {model.getScreen() != TuttiScreen.EDIT_PROGRAM && model.isProgramFilled()}; + _tuttiAction: {EditSelectedProgramAction.class}; +} + +#menuActionEditCruise { + enabled: {model.getScreen() != TuttiScreen.EDIT_CRUISE && model.isCruiseFilled()}; + _tuttiAction: {EditSelectedCruiseAction.class}; +} + +#menuActionEditProtocol { + enabled: {model.getScreen() != TuttiScreen.EDIT_PROTOCOL && model.isProtocolFilled()}; + _tuttiAction: {EditSelectedProtocolAction.class}; +} + +#menuActionEditCatches { + enabled: {( + !TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(model.getValidationContext()) + || model.getScreen() != TuttiScreen.EDIT_FISHING_OPERATION + ) && model.isCruiseFilled()}; + _tuttiAction: {EditSelectedCruiseCatchesAction.class}; +} + +#menuActionValidateCatches { + enabled: {( + !TuttiUIContext.VALIDATION_CONTEXT_VALIDATE.equals(model.getValidationContext()) + || model.getScreen() != TuttiScreen.EDIT_FISHING_OPERATION + ) && model.isCruiseFilled()}; + _tuttiAction: {ValidateSelectedCruiseCatchesAction.class}; +} + +#menuAdministration{ + enabled: {model.isDbLoaded()}; + text: "tutti.menu.administration"; + toolTipText: "tutti.menu.administration.tip"; + mnemonic: A; +} + +#menuImportTemporaryReferential { + enabled: {model.getScreen() != TuttiScreen.IMPORT_TEMPORARY_REFERENTIAL}; + _tuttiAction: {ImportTemporaryReferentialAction.class}; +} + +#menuSynchronisations { + enabled: {model.isDbLoaded()}; + text: "tutti.menu.synchronisations"; + toolTipText: "tutti.menu.synchronisations.tip"; + mnemonic: S; +} + +#menuSynchronisationImport { + text: "tutti.menu.synchronisationImport"; + toolTipText: "tutti.menu.synchronisationImport.tip"; + mnemonic: I; + enabled: false; + actionIcon: import; +} + +#menuSynchronisationExport { + text: "tutti.menu.synchronisationExport"; + toolTipText: "tutti.menu.synchronisationExport.tip"; + mnemonic: E; + enabled: false; + actionIcon: export; +} + +#menuSynchronisationAllegro { + text: "tutti.menu.synchronisationAllegro"; + toolTipText: "tutti.menu.synchronisationAllegro.tip"; + mnemonic: A; + enabled: false; + actionIcon: allegro; +} + +#menuHelp { + text: "tutti.menu.help"; + toolTipText: "tutti.menu.help.tip"; + mnemonic: E; +} + +#menuHelpSite { + text: "tutti.action.site"; + toolTipText: "tutti.action.site.tip"; + actionIcon: site; + mnemonic: S; +} + +#menuHelpAbout { + text: "tutti.action.about"; + toolTipText: "tutti.action.about.tip"; + actionIcon: about; + mnemonic: A; +} + +#menuUpdateApplication { + _tuttiAction: {UpdateApplicationAction.class}; +} + +#bottomBar { + floatable: false; + margin: {new java.awt.Insets(0, 0, 0, 5)}; + borderPainted: false; +} + +#validatorMessageWidget { + focusPainted: false; +} Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,109 @@ +<!-- + #%L + Tutti :: UI + $Id$ + $HeadURL$ + %% + Copyright (C) 2012 Ifremer + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> +<JFrame id='mainFrame' onWindowClosing='getHandler().closeTutti()' + implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<TuttiUIContext, MainUIHandler>' + width='800' height='600'> + + <import> + java.awt.BorderLayout + javax.swing.JFrame + org.jdesktop.swingx.JXTitledPanel + jaxx.runtime.validator.swing.SwingValidator + jaxx.runtime.validator.swing.SwingValidatorMessageWidget + fr.ifremer.tutti.ui.swing.TuttiUIContext + </import> + + <TuttiUIContext id='model' + initializer='getContextValue(TuttiUIContext.class)'/> + <MainUIHandler id='handler' + initializer='getContextValue(MainUIHandler.class)'/> + + <script><![CDATA[ + + public MainUI(TuttiUIContext context) { + setContextValue(context); + MainUIHandler handler = new MainUIHandler(context, this); + setContextValue(handler); + handler.beforeInitUI(); + } + + protected void $afterCompleteSetup() { + getHandler().afterInitUI(); + } + ]]></script> + + <!-- menu --> + <JMenuBar id='menu'> + <JMenu id='menuFile'> + <JMenuItem id='menuFileConfiguration' + onActionPerformed="getHandler().showConfig()"/> + <JMenuItem id='menuActionUpdate'/> + <JSeparator/> + <JMenuItem id='menuActionManageDb'/> + <JSeparator/> + <JMenuItem id='menuFileExit' + onActionPerformed='getHandler().closeTutti()'/> + </JMenu> + + <JMenu id='menuActions'> + <JMenuItem id='menuActionSelectCruise'/> + <JMenuItem id='menuActionEditProgram'/> + <JMenuItem id='menuActionEditCruise'/> + <JMenuItem id='menuActionEditProtocol'/> + <JMenuItem id='menuActionEditCatches'/> + <JMenuItem id='menuActionValidateCatches'/> + </JMenu> + + <JMenu id='menuAdministration'> + <JMenuItem id='menuImportTemporaryReferential'/> + </JMenu> + + <!--JMenu id='menuSynchronisations'> + + <JMenuItem id='menuSynchronisationImport' + onActionPerformed="getHandler().showImportScreen()"/> + <JMenuItem id='menuSynchronisationExport' + onActionPerformed="getHandler().showExportScreen()"/> + <JMenuItem id='menuSynchronisationAllegro' + onActionPerformed="getHandler().showAllegroScreen()"/> + </JMenu--> + + <JMenu id='menuHelp'> + <JMenuItem id='menuHelpSite' + onActionPerformed='getHandler().gotoSite()'/> + <JMenuItem id='menuHelpAbout' + onActionPerformed='getHandler().showAbout()'/> + </JMenu> + </JMenuBar> + + <JToolBar id='bottomBar'> + <SwingValidatorMessageWidget id='validatorMessageWidget'/> + </JToolBar> + + <JXTitledPanel id='body' constraints='BorderLayout.CENTER'/> + + <!-- status message bar --> + <StatusMessagePanel id='status' constraints="BorderLayout.SOUTH"/> + +</JFrame> Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,510 @@ +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ifremer.tutti.persistence.entities.data.Cruise; +import fr.ifremer.tutti.persistence.entities.data.Program; +import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; +import fr.ifremer.tutti.service.PersistenceService; +import fr.ifremer.tutti.ui.swing.RunTutti; +import fr.ifremer.tutti.ui.swing.TuttiScreen; +import fr.ifremer.tutti.ui.swing.TuttiUIContext; +import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; +import fr.ifremer.tutti.ui.swing.config.TuttiConfigUI; +import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUI; +import fr.ifremer.tutti.ui.swing.content.db.DbManagerUI; +import fr.ifremer.tutti.ui.swing.content.db.OpenDbAction; +import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUI; +import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI; +import fr.ifremer.tutti.ui.swing.content.program.EditProgramUI; +import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI; +import fr.ifremer.tutti.ui.swing.content.referential.ManageTemporaryReferentialUI; +import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; +import fr.ifremer.tutti.ui.swing.util.TuttiUI; +import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI; +import fr.ifremer.tutti.ui.swing.util.action.TuttiUIAction; +import jaxx.runtime.swing.AboutPanel; +import jaxx.runtime.validator.swing.SwingValidator; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.util.ApplicationConfig; +import org.nuiton.widget.SwingSession; + +import javax.swing.Icon; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JToolBar; +import java.awt.Desktop; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import java.net.URL; +import java.util.Calendar; + +import static org.nuiton.i18n.I18n._; + +/** + * @author tchemit <chemit@codelutin.com> + * @since 0.1 + */ +public class MainUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, MainUI> { + + /** Logger. */ + private static final Log log = LogFactory.getLog(MainUIHandler.class); + + public static final String CLONE_PROTOCOL = "cloneProtocol"; + + protected JComponent currentBody; + + protected PersistenceService persistenceService; + + protected MainUIHandler(TuttiUIContext context, MainUI ui) { + super(context, ui); + this.persistenceService = context.getPersistenceService(); + context.setMainUI(ui); + context.setActionUI(new TuttiActionUI(ui, context)); + } + + protected MainUIHandler(TuttiUIContext context) { + super(context, null); + this.persistenceService = null; + } + + //------------------------------------------------------------------------// + //-- AbstractTuttiUIHandler methods --// + //------------------------------------------------------------------------// + + @Override + public void beforeInitUI() { + context.addPropertyChangeListener(new PropertyChangeListener() { + @Override + public void propertyChange(PropertyChangeEvent evt) { + String propertyName = evt.getPropertyName(); + if (TuttiUIContext.ID_TO_SAVE_PROPERTIES.contains(propertyName)) { + + // change the ui title + changeTitle(); + + } else if (propertyName.equals(TuttiUIContext.PROPERTY_SCREEN)) { + setScreen((TuttiScreen) evt.getNewValue()); + } + } + }); + ui.setContextValue(ui, MainUI.class.getName()); + } + + @Override + public void afterInitUI() { + + initUI(ui); + + // Init SwingSession + SwingSession swingSession = context.getSwingSession(); + swingSession.add(ui); + swingSession.save(); + + //SwingUtil.getLayer(ui.getBody()).setUI(new BetaLayerUI()); + + changeTitle(); + + JToolBar bar = ui.getBottomBar(); + ui.getStatus().addWidget(bar, 0); + + if (!context.isDbExist()) { + + // clean db context + context.clearDbContext(); + + // go to manage db screen (to install db) + context.setScreen(TuttiScreen.MANAGE_DB); + } else { + + // open tutti db + TuttiUIAction<OpenDbAction> openDbAction = createAction(OpenDbAction.class); + openDbAction.actionPerformed(null); + } + } + + @Override + public void onCloseUI() { + + context.close(); + } + + @Override + public SwingValidator<TuttiUIContext> getValidator() { + return null; + } + + //------------------------------------------------------------------------// + //-- Public methods --// + //------------------------------------------------------------------------// + + public void closeTutti() { + RunTutti.closeTutti(ui, true); + } + + public void reloadTutti() { + + // Close the application + RunTutti.closeTutti(ui, false); + + RunTutti.startTutti(context); + } + + public void reloadApplication() { + //TODO + } + + public void reloadShortcuts() { + //TODO + } + + public void showConfig() { + + TuttiConfigUI configUI = new TuttiConfigUI(ui); + configUI.createUI(); + } + + public void showManageProtocol() { + context.setScreen(TuttiScreen.EDIT_PROTOCOL); + } + + public void showSelectCampaign() { + context.setScreen(TuttiScreen.SELECT_CRUISE); + } + + public void showFillCatches() { + context.setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT); + context.setScreen(TuttiScreen.EDIT_FISHING_OPERATION); + } + + public void showValidateCatches() { + context.setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE); + context.setScreen(TuttiScreen.EDIT_FISHING_OPERATION); + } + + public void showAbout() { + + ApplicationConfig applicationConfig = + context.getConfig().getApplicationConfig(); + + String iconPath = applicationConfig.getOption("application.icon.path"); + String name = "tutti-ui-swing"; + String licensePath = "META-INF/" + name + "-LICENSE.txt"; + String thirdPartyPath = "META-INF/" + name + "-THIRD-PARTY.txt"; + + AboutPanel about = new AboutPanel(); + about.setTitle(_("tutti.title.about")); + about.setAboutText(_("tutti.about.message")); + + TuttiApplicationConfig config = context.getConfig(); + int currentYear = Calendar.getInstance().get(Calendar.YEAR); + int inceptionYear = config.getInceptionYear(); + String years; + if (currentYear != inceptionYear) { + years = inceptionYear + "-" + currentYear; + } else { + years = inceptionYear + ""; + } + + about.setBottomText(_("tutti.about.bottomText", + config.getOrganizationName(), + years, + config.getVersion())); + about.setIconPath(iconPath); + about.setLicenseFile(licensePath); + about.setThirdpartyFile(thirdPartyPath); + about.buildTopPanel(); + about.init(); + about.showInDialog(ui, true); + + // register on swing session + context.getSwingSession().add(about); + } + + public void gotoSite() { + TuttiApplicationConfig config = context.getConfig(); + + URL siteURL = config.getSiteUrl(); + + if (log.isDebugEnabled()) { + log.debug("goto " + siteURL); + } + if (Desktop.isDesktopSupported() && + Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) { + try { + Desktop.getDesktop().browse(siteURL.toURI()); + } catch (Exception e) { + TuttiUIContext.getErrorHelper().showErrorDialog( + "Failed to open '" + siteURL + "' in browser", e); + } + } + } + + @Override + public final void showInformationMessage(String message) { + ui.getStatus().setStatus(message); + } + + public void registerValidator(SwingValidator validator) { + ui.getValidatorMessageWidget().registerValidator(validator); + } + + @Override + public void clearValidators() { + ui.getValidatorMessageWidget().clearValidators(); + } + + public AbstractTuttiUIHandler getCurrentHandler() { + TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody; + return body.getHandler(); + } + + /** + * Reload the persistence service and set the new ne into the handler. + * + * @since 1.0 + */ + public void reloadPersistenceService() { + this.persistenceService = context.reloadPersistenceService(); + } + + /** + * Get the persistence service instance used by the handler. + * + * @return the persistence service instance used by the handler + * @since 1.0 + */ + public PersistenceService getPersistenceService() { + return persistenceService; + } + + //------------------------------------------------------------------------// + //-- Internal methods --// + //------------------------------------------------------------------------// + + protected void setScreen(TuttiScreen screen) { + + try { + + // close current body (if any) + if (currentBody != null) { + TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody; + body.getHandler().onCloseUI(); + + context.getSwingSession().save(); + + ui.getBody().remove(currentBody); + + currentBody = null; + } + + if (screen != null) { + + String programId = context.getProgramId(); + String cruiseId = context.getCruiseId(); + String protocolId = context.getProtocolId(); + + JComponent screenUI; + String screenTitle; + + Icon icon; + switch (screen) { + default: + case MANAGE_DB: + + screenUI = new DbManagerUI(ui); + screenTitle = _("tutti.title.manageDb"); + icon = ui.getMenuActionManageDb().getIcon(); + break; + + case SELECT_CRUISE: + + screenUI = new SelectCruiseUI(ui); + screenTitle = _("tutti.title.home"); + icon = ui.getMenuActionSelectCruise().getIcon(); + break; + + case EDIT_PROGRAM: + + if (programId == null) { + screenTitle = _("tutti.title.create.program"); + } else { + screenTitle = _("tutti.title.edit.program"); + } + + screenUI = new EditProgramUI(ui); + icon = ui.getMenuActionEditProgram().getIcon(); + break; + + case EDIT_CRUISE: + + if (cruiseId == null) { + screenTitle = _("tutti.title.create.cruise"); + } else { + screenTitle = _("tutti.title.edit.cruise"); + } + + screenUI = new EditCruiseUI(ui); + icon = ui.getMenuActionEditCruise().getIcon(); + break; + + case EDIT_PROTOCOL: + + if (protocolId == null) { + screenTitle = _("tutti.title.create.protocol"); + } else { + screenTitle = _("tutti.title.edit.protocol"); + } + + screenUI = new EditProtocolUI(ui); + icon = ui.getMenuActionEditProtocol().getIcon(); + break; + + case CLONE_PROTOCOL: + screenTitle = _("tutti.title.create.protocol"); + ui.setContextValue(true, CLONE_PROTOCOL); + screenUI = new EditProtocolUI(ui); + icon = ui.getMenuActionEditProtocol().getIcon(); + break; + + case EDIT_FISHING_OPERATION: + + String validationContext = context.getValidationContext(); + + if (TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(validationContext)) { + + // edit catches + screenTitle = _("tutti.title.edit.operations", getSelectedCruiseTitle()); + icon = ui.getMenuActionEditCatches().getIcon(); + } else { + + // validate catches + screenTitle = _("tutti.title.validate.operations", getSelectedCruiseTitle()); + icon = ui.getMenuActionValidateCatches().getIcon(); + } + screenUI = new FishingOperationsUI(ui); + + break; + + case IMPORT_TEMPORARY_REFERENTIAL: + screenTitle = _("tutti.title.import.temporary.referential"); + screenUI = new ManageTemporaryReferentialUI(ui); + icon = ui.getMenuImportTemporaryReferential().getIcon(); + break; + } + + this.currentBody = screenUI; + context.getSwingSession().add(currentBody); + ui.getBody().setTitle(screenTitle); + ui.getBody().add(currentBody); + ui.getBody().setLeftDecoration(new JLabel(icon)); + + } + } catch (Exception e) { + +// AbstractTuttiAction mainAction = AbstractTuttiAction.getMainAction(); +// if (mainAction != null) { +// mainAction.setFailed(true); +// } + + TuttiUIContext.getErrorHelper().showErrorDialog( + "Could not change to screen " + screen, e); + + // go back to home + context.setScreen(TuttiScreen.SELECT_CRUISE); + } + } + + protected void changeTitle() { + + String title = getSelectedCruiseTitle(); + + ui.setTitle("Tutti - v " + getConfig().getVersion() + " [ " + title + " ]"); + } + + protected String getSelectedCruiseTitle() { + + + String title; + + if (context.isDbLoaded()) { + + if (context.isProgramFilled()) { + + // selected program + + Program program = getDataContext().getProgram(); + + title = _("tutti.title.selectedProgram", program.getName()) + " / "; + + if (context.isCruiseFilled()) { + + // selected cruise + Cruise cruise; + cruise = getDataContext().getCruise(); + + if (cruise != null) { + title += _("tutti.title.selectedCruise", cruise.getName()); + } + } else { + + // no selected cruise + + title += _("tutti.title.noSelectedCruise"); + } + + title += " / "; + + if (context.isProtocolFilled()) { + + // selected protocol + TuttiProtocol protocol = getDataContext().getProtocol(); + + title += _("tutti.title.selectedProtocol", protocol.getName()); + } else { + + // no selected protocol + + title += _("tutti.title.noSelectedProtocol"); + } + + } else { + + // no program selected (so neither cruise) + + title = _("tutti.title.noSelectedProgram"); + + } + } else { + + // no db loaded + + title = _("tutti.title.nodb"); + } + + return title; + } +} Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ManageDbAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ManageDbAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ManageDbAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,67 @@ +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ifremer.tutti.ui.swing.TuttiScreen; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import static org.nuiton.i18n.I18n._; + +/** + * To manage db in Tutti. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class ManageDbAction extends AbstractChangeScreenAction { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ManageDbAction.class); + + public ManageDbAction(MainUIHandler handler) { + super(handler, + "manage-db", + _("tutti.action.manageDb"), + _("tutti.action.manageDb.tip"), + true + ); +// setMnemonic('P'); + } + + @Override + protected void doAction() { + if (log.isDebugEnabled()) { + log.debug("open manage db screen"); + } + getContext().setScreen(getNextScreen()); + } + + @Override + protected TuttiScreen getNextScreen() { + return TuttiScreen.MANAGE_DB; + } + +} \ No newline at end of file Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/SelectCruiseAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/SelectCruiseAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/SelectCruiseAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,59 @@ +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ifremer.tutti.ui.swing.TuttiScreen; + +import static org.nuiton.i18n.I18n._; + +/** + * Opens the cruise selection screen (home). + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class SelectCruiseAction extends AbstractChangeScreenAction { + + public SelectCruiseAction(MainUIHandler handler) { + super(handler, + "home", + _("tutti.action.selectCruise"), + _("tutti.action.selectCruise.tip"), + true + ); +// setMnemonic('S'); + } + + @Override + protected void doAction() { +// Preconditions.checkNotNull(getContext().isCruiseFilled()); + getContext().setScreen(getNextScreen()); + } + + @Override + protected TuttiScreen getNextScreen() { + return TuttiScreen.SELECT_CRUISE; + } +} Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,100 @@ +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ifremer.tutti.persistence.ProgressionModel; +import fr.ifremer.tutti.ui.swing.TuttiApplicationUpdaterCallBack; +import fr.ifremer.tutti.ui.swing.TuttiUIContext; +import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; +import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.util.ApplicationUpdater; + +import java.io.File; + +import static org.nuiton.i18n.I18n._; + +/** + * To update jre / i18n or tutti using the {@link ApplicationUpdater} mecanism. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class UpdateApplicationAction extends AbstractTuttiAction<TuttiUIContext, MainUI, MainUIHandler> { + + /** Logger. */ + private static final Log log = + LogFactory.getLog(UpdateApplicationAction.class); + + public UpdateApplicationAction(MainUIHandler handler) { + super(handler, + "update-application", + _("tutti.action.updateApplication"), + _("tutti.action.updateApplication.tip"), + true); + } + + @Override + protected void doAction() { + + TuttiApplicationConfig config = getContext().getConfig(); + + File current = config.getTuttiBasedir(); + if (current == null || !current.exists()) { + + // can not update application + if (log.isWarnEnabled()) { + log.warn("No application base directory defined, skip updates."); + } + } else { + + String url = config.getUpdateUrl(); + File dest = new File(config.getTuttiBasedir(), "NEW"); + + if (log.isInfoEnabled()) { + log.info(String.format("Try to update jre, i18N or tutti (current application location: %s), using update url: %s", current, url)); + } + ApplicationUpdater up = new ApplicationUpdater(); + + ProgressionModel progressionModel = new ProgressionModel(); + getContext().getActionUI().getModel().setProgressionModel(progressionModel); + progressionModel.setMessage("Recherche de mises à jour de JRE / Tutti / I18N"); + + TuttiApplicationUpdaterCallBack callback = + new TuttiApplicationUpdaterCallBack(getContext(), progressionModel); + + callback.setTypes(TuttiApplicationUpdaterCallBack.UpdateType.JRE, + TuttiApplicationUpdaterCallBack.UpdateType.I18N, + TuttiApplicationUpdaterCallBack.UpdateType.TUTTI); + up.update(url, + current, + dest, + false, + callback); +// getContext().getActionUI().getModel().clear(); + } + } +} \ No newline at end of file Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,94 @@ +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ifremer.tutti.persistence.ProgressionModel; +import fr.ifremer.tutti.ui.swing.TuttiApplicationUpdaterCallBack; +import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.util.ApplicationUpdater; + +import java.io.File; + +import static org.nuiton.i18n.I18n._; + +/** + * To update referential using the {@link ApplicationUpdater} mecanism. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class UpdateReferentialAction extends AbstractMainUITuttiAction { + + /** Logger. */ + private static final Log log = + LogFactory.getLog(UpdateReferentialAction.class); + + public UpdateReferentialAction(MainUIHandler handler) { + super(handler, + "update-referential", + _("tutti.action.updateReferential"), + _("tutti.action.updateReferential.tip"), + true); + } + + @Override + protected void doAction() { + TuttiApplicationConfig config = getContext().getConfig(); + + File current = config.getDataDirectory(); + String url = config.getUpdateUrl(); + + if (log.isInfoEnabled()) { + log.info(String.format("Try to update db (current data location: %s), using update url: %s", current, url)); + } + ApplicationUpdater up = new ApplicationUpdater(); + + File dest = new File(config.getTuttiBasedir(), "NEW"); + ProgressionModel progressionModel = new ProgressionModel(); + getContext().getActionUI().getModel().setProgressionModel(progressionModel); + progressionModel.setMessage("Recherche de mises à jour de base"); + TuttiApplicationUpdaterCallBack callback = new TuttiApplicationUpdaterCallBack(getContext(), progressionModel); + callback.setTypes(TuttiApplicationUpdaterCallBack.UpdateType.DB); + up.update(url, + current, + dest, + false, + callback); + + if (callback.isDbUpdated()) { + + progressionModel.setMessage("Rechargement de la base de données"); + + getContext().setDbLoaded(true); + getContext().reloadPersistenceService(); + + + } else { + sendMessage("Aucune mise à jour de base détectée."); + } + } +} \ No newline at end of file Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -0,0 +1,62 @@ +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.base.Preconditions; +import fr.ifremer.tutti.ui.swing.TuttiScreen; +import fr.ifremer.tutti.ui.swing.TuttiUIContext; + +import static org.nuiton.i18n.I18n._; + +/** + * Opens the catches validation screen to edit the selected catches. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class ValidateSelectedCruiseCatchesAction extends AbstractChangeScreenAction { + + public ValidateSelectedCruiseCatchesAction(MainUIHandler handler) { + super(handler, + "validate", + _("tutti.action.validateCatches"), + _("tutti.action.validateCatches.tip"), + true + ); + } + + @Override + protected void doAction() { + Preconditions.checkState(getContext().isCruiseFilled()); + getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE); + getContext().setScreen(null); + getContext().setScreen(getNextScreen()); + } + + @Override + protected TuttiScreen getNextScreen() { + return TuttiScreen.EDIT_FISHING_OPERATION; + } +} Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -25,9 +25,9 @@ */ import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig; -import fr.ifremer.tutti.ui.swing.AbstractMainUITuttiAction; -import fr.ifremer.tutti.ui.swing.MainUIHandler; import fr.ifremer.tutti.ui.swing.TuttiScreen; +import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction; +import fr.ifremer.tutti.ui.swing.content.MainUIHandler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.jaxx 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.jaxx 2013-03-02 06:25:02 UTC (rev 514) @@ -28,7 +28,7 @@ fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.TuttiUIContext - fr.ifremer.tutti.ui.swing.UpdateReferentialAction + fr.ifremer.tutti.ui.swing.content.UpdateReferentialAction static org.nuiton.i18n.I18n._ </import> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -24,8 +24,8 @@ * #L% */ -import fr.ifremer.tutti.ui.swing.AbstractMainUITuttiAction; -import fr.ifremer.tutti.ui.swing.MainUIHandler; +import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction; +import fr.ifremer.tutti.ui.swing.content.MainUIHandler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -26,10 +26,10 @@ import fr.ifremer.tutti.persistence.ProgressionModel; import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig; -import fr.ifremer.tutti.ui.swing.AbstractMainUITuttiAction; -import fr.ifremer.tutti.ui.swing.MainUIHandler; import fr.ifremer.tutti.ui.swing.TuttiApplicationUpdaterCallBack; import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; +import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction; +import fr.ifremer.tutti.ui.swing.content.MainUIHandler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.util.ApplicationUpdater; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -25,9 +25,9 @@ */ import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig; -import fr.ifremer.tutti.ui.swing.AbstractMainUITuttiAction; -import fr.ifremer.tutti.ui.swing.MainUIHandler; import fr.ifremer.tutti.ui.swing.TuttiScreen; +import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction; +import fr.ifremer.tutti.ui.swing.content.MainUIHandler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-03-02 06:25:02 UTC (rev 514) @@ -32,8 +32,8 @@ import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.Species; -import fr.ifremer.tutti.ui.swing.MainUIHandler; import fr.ifremer.tutti.ui.swing.TuttiScreen; +import fr.ifremer.tutti.ui.swing.content.MainUIHandler; import fr.ifremer.tutti.ui.swing.content.home.ImportProtocolAction; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SelectSpeciesUI; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SelectSpeciesUIModel; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-03-02 06:25:02 UTC (rev 514) @@ -29,9 +29,9 @@ import com.google.common.collect.Sets; import fr.ifremer.tutti.persistence.entities.IdAware; import fr.ifremer.tutti.service.DecoratorService; -import fr.ifremer.tutti.ui.swing.AbstractMainUITuttiAction; -import fr.ifremer.tutti.ui.swing.MainUI; -import fr.ifremer.tutti.ui.swing.MainUIHandler; +import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction; +import fr.ifremer.tutti.ui.swing.content.MainUI; +import fr.ifremer.tutti.ui.swing.content.MainUIHandler; import fr.ifremer.tutti.ui.swing.TuttiDataContext; import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.TuttiUIContext; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-03-02 06:25:02 UTC (rev 514) @@ -25,7 +25,7 @@ */ import fr.ifremer.tutti.service.TuttiTechnicalException; -import fr.ifremer.tutti.ui.swing.AbstractChangeScreenAction; +import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction; import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java 2013-03-02 06:25:02 UTC (rev 514) @@ -25,7 +25,7 @@ */ import fr.ifremer.tutti.persistence.ProgressionModel; -import fr.ifremer.tutti.ui.swing.MainUI; +import fr.ifremer.tutti.ui.swing.content.MainUI; import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; import jaxx.runtime.validator.swing.SwingValidator; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-01 20:59:12 UTC (rev 513) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-02 06:25:02 UTC (rev 514) @@ -24,7 +24,7 @@ * #L% */ -import fr.ifremer.tutti.ui.swing.MainUI; +import fr.ifremer.tutti.ui.swing.content.MainUI; import fr.ifremer.tutti.ui.swing.util.TuttiExceptionHandler; import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; @@ -237,15 +237,6 @@ body.setVisible(!busy); } -// SwingUtilities.invokeLater( -// new Runnable() { -// @Override -// public void run() { -// mainUI.repaint(); -// } -// } -// ); - } } }
participants (1)
-
tchemit@users.forge.codelutin.com