r330 - in trunk: . tutti-ui-swing tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swi
Author: tchemit Date: 2013-02-05 10:19:16 +0100 (Tue, 05 Feb 2013) New Revision: 330 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/330 Log: improve action api add nuiton-profiling (just to test application) begin of referential import screen Added: 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/operation/ImportCasinoAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/NewFishingOperationAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SelectFishingOperationAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUIHandler.java trunk/tutti-ui-swing/src/main/resources/META-INF/aop.xml Removed: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ChangeScreenAction.java Modified: trunk/pom.xml trunk/tutti-ui-swing/pom.xml trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.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/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/SelectCruiseAction.java 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/cruise/EditCruiseUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 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/TuttiUIUtil.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties trunk/tutti-ui-swing/src/main/resources/log4j.properties Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/pom.xml 2013-02-05 09:19:16 UTC (rev 330) @@ -132,7 +132,7 @@ <h2Version>1.3.168</h2Version> <postgresqlVersion>9.1-901-1.jdbc4</postgresqlVersion> - <jaxxVersion>2.5.9</jaxxVersion> + <jaxxVersion>2.5.10-SNAPSHOT</jaxxVersion> <swingXVersion>1.6.4</swingXVersion> <xworkVersion>2.3.7</xworkVersion> @@ -270,6 +270,12 @@ </dependency> <dependency> + <groupId>org.swinglabs.swingx</groupId> + <artifactId>swingx-action</artifactId> + <version>${swingXVersion}</version> + </dependency> + + <dependency> <groupId>com.ezware.oxbow</groupId> <artifactId>swing-bits</artifactId> <version>0.5.0</version> Modified: trunk/tutti-ui-swing/pom.xml =================================================================== --- trunk/tutti-ui-swing/pom.xml 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/pom.xml 2013-02-05 09:19:16 UTC (rev 330) @@ -230,6 +230,12 @@ <dependency> <groupId>org.nuiton</groupId> + <artifactId>nuiton-profiling</artifactId> + <version>2.7-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.nuiton</groupId> <artifactId>nuiton-utils</artifactId> </dependency> @@ -325,6 +331,11 @@ </dependency> <dependency> + <groupId>org.swinglabs.swingx</groupId> + <artifactId>swingx-action</artifactId> + </dependency> + + <dependency> <groupId>com.ezware.oxbow</groupId> <artifactId>swing-bits</artifactId> </dependency> Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java (from rev 324, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ChangeScreenAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -0,0 +1,59 @@ + +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 java.awt.event.ActionEvent; + +/** + * Abstract action defining actions which sets the screen of the application. + * + * @author kmorin <kmorin@codelutin.com> + * @since 1.0 + */ +public abstract class AbstractChangeScreenAction extends AbstractTuttiAction<TuttiUIContext, MainUIHandler> { + + private static final long serialVersionUID = 1L; + + protected AbstractChangeScreenAction(MainUIHandler handler, + String name, + String icon, + String text, + String tip, + boolean hideBody) { + super(handler, name, icon, text, tip, hideBody); + } + + @Override + protected boolean prepareAction(ActionEvent event) { + boolean result = super.prepareAction(event); + result &= getHandler().getCurrentHandler().canCloseUI(getNextScreen()); + return result; + } + + /** @return the next screen to display. */ + protected abstract TuttiScreen getNextScreen(); + +} Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiAction.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -25,6 +25,7 @@ */ import com.google.common.base.Preconditions; +import com.google.common.collect.Sets; import fr.ifremer.tutti.service.DecoratorService; import jaxx.runtime.SwingUtil; import jaxx.runtime.swing.ErrorDialogUI; @@ -42,6 +43,7 @@ import javax.swing.border.TitledBorder; import java.awt.BorderLayout; import java.awt.event.ActionEvent; +import java.util.Set; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.ExecutorService; @@ -71,6 +73,8 @@ private final boolean hideBody; + private final static Object lock = new Object(); + protected abstract void doAction(ActionEvent event) throws Exception; protected AbstractTuttiAction(H handler, @@ -117,33 +121,75 @@ boolean doAction = prepareAction(event); if (doAction) { - executorService.submit(new Runnable() { - @Override - public void run() { - TimerTask timer = new ActionTimerTask(getActionName(), getActionDescription()); + boolean useTimer; - t.schedule(timer, 500); - try { + synchronized (lock) { + useTimer = actions.isEmpty(); - doAction(event); - } catch (Throwable e) { - if (log.isErrorEnabled()) { - log.error("Error:" + e.getMessage(), e); - } - if (e instanceof Exception) { - ErrorDialogUI.showError((Exception) e); - } - } finally { - if (log.isInfoEnabled()) { - log.info("After action: " + this); - } - timer.cancel(); + actions.add(AbstractTuttiAction.this); + } - releaseAction(event); + if (useTimer) { + + // a new thread action + + executorService.submit(new Runnable() { + @Override + public void run() { + + runAction(true, event); } + }); + + } else { + + runAction(false, event); + } + } + } + + protected void runAction(boolean useTimer, ActionEvent event) { + + TimerTask timer = null; + if (useTimer) { + + // there is already anohter action in pool, no timer + + timer = new ActionTimerTask(this); + + t.schedule(timer, 500); + } + + try { + + this.doAction(event); + } catch (Throwable e) { + if (log.isErrorEnabled()) { + log.error("Error:" + e.getMessage(), e); + } + if (e instanceof Exception) { + ErrorDialogUI.showError((Exception) e); + } + } finally { + if (log.isInfoEnabled()) { + log.info("After action: " + this); + } + if (timer != null) { + + timer.cancel(); + } + + try { + this.releaseAction(event); + } finally { + + + synchronized (lock) { + actions.remove(AbstractTuttiAction.this); } - }); + } + } } @@ -163,8 +209,14 @@ putValue(MNEMONIC_KEY, key); } - protected class ActionTimerTask extends TimerTask { + public boolean isHideBody() { + return hideBody; + } + private final static Set<Object> actions = Sets.newHashSet(); + + protected static class ActionTimerTask<A extends AbstractTuttiAction> extends TimerTask { + private final Object lock = new Object(); protected boolean canceled; @@ -175,9 +227,12 @@ private JDialog d; - public ActionTimerTask(String actionName, String actionDescription) { - this.actionName = actionName; - this.actionDescription = actionDescription; + private final A action; + + public ActionTimerTask(A action) { + this.action = action; + this.actionName = action.getActionName(); + this.actionDescription = action.getActionDescription(); } @Override @@ -186,16 +241,15 @@ if (canceled) { if (log.isInfoEnabled()) { - log.info("Task [" + AbstractTuttiAction.this + "] was already canceled, do nothing"); + log.info("Task [" + action + "] was already canceled, do nothing"); } } else { - MainUI ui = getContext().getMainUI(); + MainUI ui = action.getContext().getMainUI(); - if (log.isDebugEnabled()) { - log.debug("Task [" + AbstractTuttiAction.this + "] is started, show waiting dialog"); + log.debug("Task [" + action + "] is started, show waiting dialog"); } JPanel panel = new JPanel(new BorderLayout()); @@ -236,11 +290,11 @@ synchronized (lock) { canceled = true; if (log.isInfoEnabled()) { - log.info("Task [" + AbstractTuttiAction.this + "] canceled."); + log.info("Task [" + action + "] canceled."); } boolean cancel = super.cancel(); - updateBusyState(getContext().getMainUI(), false); + updateBusyState(action.getContext().getMainUI(), false); if (d != null) { d.setVisible(false); @@ -253,12 +307,12 @@ if (busy) { // ui bloquee - if (hideBody) { + if (action.isHideBody()) { ui.getBody().setVisible(false); } } else { // ui debloquee - if (hideBody) { + if (action.isHideBody()) { ui.getBody().setVisible(true); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -42,6 +42,7 @@ import jaxx.runtime.swing.renderer.DecoratorListCellRenderer; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.reflect.ConstructorUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.swingx.JXDatePicker; @@ -50,6 +51,8 @@ import org.nuiton.validator.bean.simple.SimpleBeanValidator; import javax.swing.AbstractAction; +import javax.swing.AbstractButton; +import javax.swing.Action; import javax.swing.DefaultComboBoxModel; import javax.swing.JComponent; import javax.swing.JDialog; @@ -116,6 +119,15 @@ return new DefaultComboBoxModel(items); } + public DefaultComboBoxModel newComboActionModel(Class<? extends AbstractTuttiAction>... actionNames) { + List<Object> items = Lists.newArrayListWithCapacity(actionNames.length); + for (Class<? extends AbstractTuttiAction> actionName : actionNames) { + Action action = createAction(actionName); + items.add(action); + } + return new DefaultComboBoxModel(items.toArray()); + } + @Override public void showInformationMessage(String message) { context.showInformationMessage(message); @@ -268,6 +280,13 @@ } jLabel.setText("<html>" + text + "</strong>"); } + } else if (component instanceof AbstractButton) { + AbstractButton abstractButton = (AbstractButton) component; + Class<? extends AbstractTuttiAction> actionName = (Class<? extends AbstractTuttiAction>) abstractButton.getClientProperty("tuttiAction"); + if (actionName != null) { + Action action = createAction(actionName); + abstractButton.setAction(action); + } } // else if (component instanceof JMenuItem) { @@ -280,6 +299,44 @@ } } + protected <A extends AbstractTuttiAction> A createAction(Class<A> actionName) { + A action = null; + if (actionName != null) { + try { + action = (A) ConstructorUtils.invokeConstructor( + actionName, this); + } catch (Exception e) { + throw new RuntimeException( + "Could not instanciate action " + actionName, e); + } + } + return action; + } + + protected void doAction(AbstractButton button, ActionEvent event) { + button.getAction().actionPerformed(event); + } + + protected void registerValidators(SwingValidator... validators) { + MainUI main = context.getMainUI(); + Preconditions.checkNotNull( + main, "No mainUI registred in application context"); + MainUIHandler handler = main.getHandler(); + handler.clearValidators(); + for (SwingValidator validator : validators) { + handler.registerValidator(validator); + } + } + + protected void clearValidators() { + MainUI main = context.getMainUI(); + Preconditions.checkNotNull( + main, "No mainUI registred in application context"); + MainUIHandler handler = main.getHandler(); + handler.clearValidators(); + } + + /** * Prépare un component de choix d'entités pour un type d'entité donné et * pour un service de persistance donné. @@ -400,7 +457,7 @@ picker.getEditor().setEditable(false); } - protected <O> Decorator<O> getDecorator(Class<O> type, String name) { + public <O> Decorator<O> getDecorator(Class<O> type, String name) { DecoratorService decoratorService = context.getService(DecoratorService.class); Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ChangeScreenAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ChangeScreenAction.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ChangeScreenAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -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 java.awt.event.ActionEvent; - -/** - * Abstract action defining actions which sets the screen of the application. - * - * @author kmorin <kmorin@codelutin.com> - * @since 1.0 - */ -public abstract class ChangeScreenAction extends AbstractTuttiAction<TuttiUIContext, MainUIHandler> { - - protected ChangeScreenAction(MainUIHandler handler, - String name, - String icon, - String text, - String tip, - boolean hideBody) { - super(handler, name, icon, text, tip, hideBody); - } - - @Override - protected boolean prepareAction(ActionEvent event) { - boolean result = super.prepareAction(event); - result &= getHandler().getCurrentHandler().canCloseUI(getNextScreen()); - return result; - } - - /** @return the next screen to display. */ - protected abstract TuttiScreen getNextScreen(); - -} Modified: 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-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -38,7 +38,7 @@ * @author tchemit <chemit@codelutin.com> * @since 1.0 */ -public class EditSelectedCruiseAction extends ChangeScreenAction { +public class EditSelectedCruiseAction extends AbstractChangeScreenAction { private static final long serialVersionUID = 1L; Modified: 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-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -36,7 +36,7 @@ * @author tchemit <chemit@codelutin.com> * @since 1.0 */ -public class EditSelectedCruiseCatchesAction extends ChangeScreenAction { +public class EditSelectedCruiseCatchesAction extends AbstractChangeScreenAction { private static final long serialVersionUID = 1L; Modified: 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-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -38,7 +38,7 @@ * @author tchemit <chemit@codelutin.com> * @since 1.0 */ -public class EditSelectedProgramAction extends ChangeScreenAction { +public class EditSelectedProgramAction extends AbstractChangeScreenAction { private static final long serialVersionUID = 1L; Modified: 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-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -38,7 +38,7 @@ * @author tchemit <chemit@codelutin.com> * @since 1.0 */ -public class EditSelectedProtocolAction extends ChangeScreenAction { +public class EditSelectedProtocolAction extends AbstractChangeScreenAction { private static final long serialVersionUID = 1L; Modified: 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-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css 2013-02-05 09:19:16 UTC (rev 330) @@ -58,22 +58,22 @@ #menuActionSelectCruise { enabled: {model.getScreen() != TuttiScreen.SELECT_CRUISE}; - action: {selectCruiseAction}; + _tuttiAction: {SelectCruiseAction.class}; } #menuActionEditProgram { enabled: {model.getScreen() != TuttiScreen.EDIT_PROGRAM && model.isProgramFilled()}; - action: {editProgramAction}; + _tuttiAction: {EditSelectedProgramAction.class}; } #menuActionEditCruise { enabled: {model.getScreen() != TuttiScreen.EDIT_CRUISE && model.isCruiseFilled()}; - action: {editCruiseAction}; + _tuttiAction: {EditSelectedCruiseAction.class}; } #menuActionEditProtocol { enabled: {model.getScreen() != TuttiScreen.EDIT_PROTOCOL && model.isProtocolFilled()}; - action: {editProtocolAction}; + _tuttiAction: {EditSelectedProtocolAction.class}; } #menuActionEditCatches { @@ -81,7 +81,7 @@ !TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(model.getValidationContext()) || model.getScreen() != TuttiScreen.EDIT_FISHING_OPERATION ) && model.isCruiseFilled()}; - action: {editCatchesAction}; + _tuttiAction: {EditSelectedCruiseCatchesAction.class}; } #menuActionValidateCatches { @@ -89,7 +89,7 @@ !TuttiUIContext.VALIDATION_CONTEXT_VALIDATE.equals(model.getValidationContext()) || model.getScreen() != TuttiScreen.EDIT_FISHING_OPERATION ) && model.isCruiseFilled()}; - action: {validateCatchesAction}; + _tuttiAction: {ValidateSelectedCruiseCatchesAction.class}; } #menuSynchronisations { Modified: 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-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx 2013-02-05 09:19:16 UTC (rev 330) @@ -39,17 +39,6 @@ <MainUIHandler id='handler' initializer='getContextValue(MainUIHandler.class)'/> - <SelectCruiseAction id='selectCruiseAction' constructorParams='handler'/> - <EditSelectedProtocolAction id='editProtocolAction' - constructorParams='handler'/> - <EditSelectedProgramAction id='editProgramAction' - constructorParams='handler'/> - <EditSelectedCruiseAction id='editCruiseAction' constructorParams='handler'/> - <EditSelectedCruiseCatchesAction id='editCatchesAction' - constructorParams='handler'/> - <ValidateSelectedCruiseCatchesAction id='validateCatchesAction' - constructorParams='handler'/> - <script><![CDATA[ public MainUI(TuttiUIContext context) { @@ -62,15 +51,6 @@ protected void $afterCompleteSetup() { getHandler().afterInitUI(); } - - public void registerValidator(SwingValidator validator) { - handler.registerValidator(validator); - } - - public void clearValidators() { - handler.clearValidators(); - } - ]]></script> <!-- menu --> Modified: 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-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -107,6 +107,8 @@ // Sync to error dialog ErrorDialogUI.init(ui); + initUI(ui); + // Init SwingSession SwingSession swingSession = context.getSwingSession(); swingSession.add(ui); Modified: 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-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -34,7 +34,7 @@ * @author tchemit <chemit@codelutin.com> * @since 1.0 */ -public class SelectCruiseAction extends ChangeScreenAction { +public class SelectCruiseAction extends AbstractChangeScreenAction { private static final long serialVersionUID = 1L; Modified: 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-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -36,7 +36,7 @@ * @author tchemit <chemit@codelutin.com> * @since 1.0 */ -public class ValidateSelectedCruiseCatchesAction extends ChangeScreenAction { +public class ValidateSelectedCruiseCatchesAction extends AbstractChangeScreenAction { private static final long serialVersionUID = 1L; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css 2013-02-05 09:19:16 UTC (rev 330) @@ -125,6 +125,8 @@ #filterVesselLabel { text: "tutti.label.filterVesselType"; + _strongStyle: true; + actionIcon: filter; } #filterVesselAllButton { @@ -180,12 +182,12 @@ } #saveButton { - action: {saveCruiseAction}; + _tuttiAction: {SaveCruiseAction.class}; enabled: {model.isModify() && model.isValid()}; } #cancelButton { - action: {cancelEditCruiseAction}; + _tuttiAction: {CancelEditCruiseAction.class}; } #generateNameButton { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx 2013-02-05 09:19:16 UTC (rev 330) @@ -74,10 +74,6 @@ <EditCruiseUIModel id='model' initializer='getContextValue(EditCruiseUIModel.class)'/> - <SaveCruiseAction id='saveCruiseAction' constructorParams='handler'/> - <CancelEditCruiseAction id='cancelEditCruiseAction' - constructorParams='handler'/> - <SwingValidatorMessageTableModel id='errorTableModel'/> <BeanValidator id='validator' bean='model' errorTableModel='errorTableModel' Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -32,7 +32,6 @@ import fr.ifremer.tutti.persistence.entities.referential.Vessel; import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler; -import fr.ifremer.tutti.ui.swing.MainUI; import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.TuttiUI; import jaxx.runtime.JAXXUtil; @@ -252,9 +251,7 @@ // if new fishingOperation can already cancel his creation model.setModify(model.isCreate()); - MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName()); - main.clearValidators(); - main.registerValidator(validator); + registerValidators(validator); } @@ -263,8 +260,7 @@ if (log.isInfoEnabled()) { log.info("closing: " + ui); } - MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName()); - main.clearValidators(); + clearValidators(); } @Override @@ -275,7 +271,7 @@ result = answer == JOptionPane.NO_OPTION; if (answer == JOptionPane.YES_OPTION) { ActionEvent event = new ActionEvent(nextScreen, nextScreen.ordinal(), null); - ui.getSaveCruiseAction().actionPerformed(event); + doAction(ui.getSaveButton(), event); } } return result; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css 2013-02-05 09:19:16 UTC (rev 330) @@ -42,11 +42,11 @@ #editProgramButton { enabled: {model.isProgramFound()}; - action: {editProgramAction}; + _tuttiAction: {EditProgramAction.class}; } #newProgramButton { - action: {newProgramAction}; + _tuttiAction: {NewProgramAction.class}; } #cruiseLabel { @@ -63,12 +63,12 @@ #editCruiseButton { enabled: {model.isProgramFound() && model.isCruiseFound()}; - action: {editCruiseAction} + _tuttiAction: {EditCruiseAction.class}; } #newCruiseButton { enabled: {model.isProgramFound()}; - action: {newCruiseAction}; + _tuttiAction: {NewCruiseAction.class}; } #protocolLabel { @@ -84,22 +84,22 @@ } #newProtocolComboBox { - model: {handler.newComboModel(newProtocolAction, importProtocolAction)}; + model: {handler.newComboActionModel(NewProtocolAction.class, ImportProtocolAction.class)}; renderer: {new ActionListCellRenderer()}; } #editProtocolComboBox { - model: {handler.newComboModel(editProtocolAction, cloneProtocolAction, exportProtocolAction, deleteProtocolAction)}; + model: {handler.newComboActionModel(EditProtocolAction.class, CloneProtocolAction.class, ExportProtocolAction.class, DeleteProtocolAction.class)}; enabled: {model.isProtocolFound()}; renderer: {new ActionListCellRenderer()}; } #editCatchesButton { - action: {editCatchesAction}; + _tuttiAction: {EditCatchesAction.class}; enabled: {model.isValid() && uiContext.isCruiseFilled()}; } #validateCatchesButton { - action: {validateCatchesAction}; + _tuttiAction: {ValidateCatchesAction.class}; enabled: {model.isValid() && uiContext.isCruiseFilled()}; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx 2013-02-05 09:19:16 UTC (rev 330) @@ -66,24 +66,6 @@ <SwingValidatorMessageTableModel id='errorTableModel'/> - <NewProgramAction id='newProgramAction' constructorParams='handler'/> - <EditProgramAction id='editProgramAction' constructorParams='handler'/> - - <NewCruiseAction id='newCruiseAction' constructorParams='handler'/> - <EditCruiseAction id='editCruiseAction' constructorParams='handler'/> - - <NewProtocolAction id='newProtocolAction' constructorParams='handler'/> - <ImportProtocolAction id='importProtocolAction' constructorParams='handler'/> - - <EditProtocolAction id='editProtocolAction' constructorParams='handler'/> - <CloneProtocolAction id='cloneProtocolAction' constructorParams='handler'/> - <ExportProtocolAction id='exportProtocolAction' constructorParams='handler'/> - <DeleteProtocolAction id='deleteProtocolAction' constructorParams='handler'/> - - <EditCatchesAction id='editCatchesAction' constructorParams='handler'/> - <ValidateCatchesAction id='validateCatchesAction' - constructorParams='handler'/> - <BeanValidator id='validator' bean='model' errorTableModel='errorTableModel' uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'> <field name='program' component='programCombobox'/> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -31,7 +31,6 @@ import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler; -import fr.ifremer.tutti.ui.swing.MainUI; import fr.ifremer.tutti.ui.swing.TuttiUI; import jaxx.runtime.swing.editor.bean.BeanComboBox; import jaxx.runtime.validator.swing.SwingValidator; @@ -153,6 +152,8 @@ @Override public void afterInitUI() { + initUI(ui); + SelectCruiseUIModel model = getModel(); initBeanComboBox(ui.getProgramCombobox(), @@ -226,9 +227,7 @@ } }); - MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName()); - main.clearValidators(); - main.registerValidator(getValidator()); + registerValidators(getValidator()); listenValidatorValid(getValidator(), model); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -46,6 +46,8 @@ /** Logger. */ private static final Log log = LogFactory.getLog(SaveFishingOperationAction.class); + private final SelectFishingOperationAction delegate; + public CancelEditFishingOperationAction(EditFishingOperationUIHandler handler) { super(handler, "cancelFishingOperation", @@ -54,6 +56,7 @@ _("tutti.action.cancel.editFishingOperation.tip"), true ); + delegate = new SelectFishingOperationAction(handler.getParentUi().getHandler()); } /** @@ -66,17 +69,26 @@ */ @Override protected void doAction(ActionEvent event) throws Exception { - FishingOperationsUIHandler parentHandler = getHandler().getParentUi().getHandler(); + FishingOperationsUI parentUi = getHandler().getParentUi(); + FishingOperationsUIHandler parentHandler = parentUi.getHandler(); if (getModel().isCreate()) { if (log.isInfoEnabled()) { log.info("Cancel edition for fishingOperation "); } // cancel to create a new fishingOperation - parentHandler.closeCurrentFishingOperation(); + parentUi.getFishingOperationTabContent().getHandler().selectFishingOperation(null); + parentUi.getCatchesTabContent().getHandler().selectFishingOperation(null, ""); +// parentHandler.closeCurrentFishingOperation(); } else { - parentHandler.reloadFishingOperation(); + + // reload fishing operation + delegate.setFishingOperation(parentHandler.getModel().getSelectedFishingOperation()); + delegate.doAction(event); +// parentHandler.reloadFishingOperation(); } + + //TODO ca sert à quoi ? if (event.getSource() != null && event.getSource().getClass().isAssignableFrom(EditFishingOperationUIHandler.class)) { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css 2013-02-05 09:19:16 UTC (rev 330) @@ -445,20 +445,14 @@ text: {model.getComment()}; } -#noTraitPane { - text: "tutti.label.no.fishingOperation.selected"; - horizontalAlignment: {JLabel.CENTER}; -} - #saveButton { - action: {saveFishingOperationAction}; + _tuttiAction: {SaveFishingOperationAction.class}; } #cancelButton { - action: {cancelFishingOperationAction}; + _tuttiAction: {CancelEditFishingOperationAction.class}; } #importCasinoButton { - actionIcon: casino-import; - text: "tutti.action.casino-import"; + _tuttiAction: {ImportCasinoAction.class}; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-02-05 09:19:16 UTC (rev 330) @@ -78,12 +78,6 @@ <EditFishingOperationUIModel id='model' initializer='getContextValue(EditFishingOperationUIModel.class)'/> - <SaveFishingOperationAction id='saveFishingOperationAction' - constructorParams='handler'/> - - <CancelEditFishingOperationAction id='cancelFishingOperationAction' - constructorParams='handler'/> - <SwingValidatorMessageTableModel id='errorTableModel'/> <BeanValidator id='validator' context='validate' bean='model' @@ -460,8 +454,7 @@ <row> <cell columns='6'> <JPanel layout='{new GridLayout(1,0)}'> - <JButton id='importCasinoButton' - onActionPerformed='handler.importCasino()'/> + <JButton id='importCasinoButton'/> </JPanel> </cell> </row> @@ -540,5 +533,4 @@ </JPanel> - <JLabel id='noTraitPane'/> </JPanel> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -39,7 +39,6 @@ import fr.ifremer.tutti.persistence.entities.referential.Zone; import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel; -import fr.ifremer.tutti.ui.swing.MainUI; import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.content.operation.fishing.CaracteristicTabUIModel; @@ -58,11 +57,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.swing.JLabel; import javax.swing.JOptionPane; -import javax.swing.JPanel; import javax.swing.JTabbedPane; -import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.event.ActionEvent; @@ -131,24 +127,24 @@ model.setCoordinateEditorType(getConfig().getCoordinateEditorType()); model.setValidationContext(getContext().getValidationContext()); - model.addPropertyChangeListener(EditFishingOperationUIModel.PROPERTY_EMPTY, new PropertyChangeListener() { - @Override - public void propertyChange(PropertyChangeEvent evt) { - JPanel form = ui.getFishingOperationPane(); - JLabel noContentPane = ui.getNoTraitPane(); +// model.addPropertyChangeListener(EditFishingOperationUIModel.PROPERTY_EMPTY, new PropertyChangeListener() { +// @Override +// public void propertyChange(PropertyChangeEvent evt) { +// JPanel form = ui.getFishingOperationPane(); +// JLabel noContentPane = ui.getNoTraitPane(); +// +// Boolean empty = (Boolean) evt.getNewValue(); +// ui.remove(form); +// ui.remove(noContentPane); +// if (empty) { +// ui.add(noContentPane, BorderLayout.CENTER); +// } else { +// ui.add(form, BorderLayout.CENTER); +// } +// ui.repaint(); +// } +// }); - Boolean empty = (Boolean) evt.getNewValue(); - ui.remove(form); - ui.remove(noContentPane); - if (empty) { - ui.add(noContentPane, BorderLayout.CENTER); - } else { - ui.add(form, BorderLayout.CENTER); - } - ui.repaint(); - } - }); - model.addPropertyChangeListener(EditFishingOperationUIModel.PROPERTY_STRATA, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { @@ -232,7 +228,7 @@ final EditFishingOperationUIModel model = getModel(); initUI(ui); - + initBeanList(ui.getSaisisseurList(), persistenceService.getAllPerson(), model.getSaisisseur()); @@ -245,12 +241,12 @@ Lists.<Gear>newArrayList(), null); - Cruise cruise = TuttiUIUtil.getCruise(ui); + Cruise cruise = TuttiUIUtil.getCruise(context); Preconditions.checkNotNull(cruise, "Could not find cruise in ui context"); ui.getMultirigAggregationField().setEnabled(cruise.getMultirigNumber() != 1); - Program program = TuttiUIUtil.getProgram(ui); + Program program = TuttiUIUtil.getProgram(context); Preconditions.checkNotNull(program, "Could not find program in ui context"); @@ -332,7 +328,6 @@ } }); } - } @Override @@ -342,8 +337,7 @@ log.info("closing: " + ui); } - MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName()); - main.clearValidators(); + clearValidators(); closeUI(ui.getGearShootingTabContent()); closeUI(ui.getEnvironmentTabContent()); @@ -358,7 +352,7 @@ ActionEvent event = new ActionEvent(nextScreen, nextScreen.ordinal(), null); switch (answer) { case JOptionPane.OK_OPTION: - ui.getSaveFishingOperationAction().actionPerformed(event); + doAction(ui.getSaveButton(), event); break; } result = answer == JOptionPane.NO_OPTION; @@ -374,11 +368,11 @@ ActionEvent event = new ActionEvent(this, newIndex, null); switch (answer) { case JOptionPane.OK_OPTION: - ui.getSaveFishingOperationAction().actionPerformed(event); + doAction(ui.getSaveButton(), event); break; case JOptionPane.NO_OPTION: - ui.getCancelFishingOperationAction().actionPerformed(event); + doAction(ui.getCancelButton(), event); break; } } @@ -387,9 +381,7 @@ @Override public void onShowTab(int currentIndex, int newIndex) { - MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName()); - main.clearValidators(); - main.registerValidator(ui.getValidator()); + registerValidators(ui.getValidator()); } @Override @@ -498,10 +490,6 @@ } } - public void importCasino() { - //TODO - } - public FishingOperationsUI getParentUi() { return parentUi; } @@ -523,7 +511,7 @@ // reset sub strata combo ui.getSubStrataComboBox().setData(null); - Zone zone = TuttiUIUtil.getProgram(ui).getZone(); + Zone zone = TuttiUIUtil.getProgram(context).getZone(); String zoneId = zone.getId(); String strataId = newStrata == null ? null : newStrata.getId(); @@ -566,7 +554,7 @@ // reset localite combo ui.getLocationComboBox().setData(null); - Zone zone = TuttiUIUtil.getProgram(ui).getZone(); + Zone zone = TuttiUIUtil.getProgram(context).getZone(); String zoneId = zone.getId(); FishingOperationLocation strata = model.getStrata(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.css 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.css 2013-02-05 09:19:16 UTC (rev 330) @@ -29,8 +29,7 @@ } #newFishingOperationButton { - text: "tutti.action.new"; - actionIcon: add; + _tuttiAction: {NewFishingOperationAction.class}; } #fishingOperationComboBox { @@ -41,3 +40,8 @@ #catchesTab { enabled: {model.getSelectedFishingOperation() != null}; } + +#noTraitPane { + text: "tutti.label.no.fishingOperation.selected"; + horizontalAlignment: {JLabel.CENTER}; +} Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx 2013-02-05 09:19:16 UTC (rev 330) @@ -55,6 +55,8 @@ <FishingOperationsUIModel id='model' initializer='getContextValue(FishingOperationsUIModel.class)'/> + + <Table fill='both' id='topPanel' constraints='BorderLayout.NORTH'> <!-- FishingOperations fishingOperation --> @@ -64,13 +66,14 @@ genericType='FishingOperation'/> </cell> <cell anchor='east'> - <JButton id='newFishingOperationButton' - onActionPerformed='getHandler().createNewFishingOperation()'/> + <JButton id='newFishingOperationButton'/> </cell> </row> </Table> - <JTabbedPane id='tabPane' constraints='BorderLayout.CENTER'> + <JLabel id='noTraitPane' constraints='BorderLayout.CENTER'/> + + <JTabbedPane id='tabPane'> <tab id='fishingOperationTab' title='tutti.label.tab.fishingOperation'> <EditFishingOperationUI id='fishingOperationTabContent' constructorParams='this'/> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -24,12 +24,9 @@ * #L% */ -import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.data.Cruise; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; -import fr.ifremer.tutti.persistence.entities.referential.Gear; -import fr.ifremer.tutti.persistence.entities.referential.Vessel; import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.TuttiUI; @@ -39,15 +36,12 @@ import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.util.decorator.Decorator; import javax.swing.JTabbedPane; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; -import static org.nuiton.i18n.I18n._; - /** * Handler of UI {@link FishingOperationsUI}. * @@ -64,6 +58,8 @@ private final PersistenceService persistenceService; + protected SelectFishingOperationAction selectFishingOperationAction; + public FishingOperationsUIHandler(TuttiUI parentUI, FishingOperationsUI ui) { super(parentUI.getHandler().getContext()); @@ -71,6 +67,10 @@ persistenceService = context.getService(PersistenceService.class); } + public FishingOperationsUI getUi() { + return ui; + } + @Override public void beforeInitUI() { @@ -87,15 +87,16 @@ Cruise cruise = persistenceService.getCruise(cruiseId); // store it in context - TuttiUIUtil.setCruise(ui, cruise); - TuttiUIUtil.setProgram(ui, cruise.getProgram()); + TuttiUIUtil.setCruise(context, cruise); + TuttiUIUtil.setProgram(context, cruise.getProgram()); TuttiProtocol protocol; if (getContext().isProtocolFilled()) { // load existing protocol - protocol = persistenceService.getProtocol(getContext().getProtocolId()); + protocol = persistenceService.getProtocol( + getContext().getProtocolId()); if (log.isInfoEnabled()) { log.info("Loading existing protocol: " + protocol); @@ -106,7 +107,7 @@ protocol = null; } - TuttiUIUtil.setProtocol(ui, protocol); + TuttiUIUtil.setProtocol(context, protocol); List<FishingOperation> fishingOperations = persistenceService.getAllFishingOperation(cruiseId); @@ -130,9 +131,11 @@ @Override public void afterInitUI() { + initUI(ui); + + selectFishingOperationAction = createAction(SelectFishingOperationAction.class); FishingOperationsUIModel model = getModel(); - initUI(ui); List<FishingOperation> fishingOperations = model.getFishingOperation(); @@ -143,15 +146,26 @@ model.addPropertyChangeListener(FishingOperationsUIModel.PROPERTY_SELECTED_FISHING_OPERATION, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { - log.debug("propertyChange " + FishingOperationsUIModel.PROPERTY_SELECTED_FISHING_OPERATION); - selectFishingOperation((FishingOperation) evt.getNewValue()); + if (log.isDebugEnabled()) { + log.debug("propertyChange " + FishingOperationsUIModel.PROPERTY_SELECTED_FISHING_OPERATION); + } + + if (!getModel().isValueIsAdjusting()) { + + // only rebuild stuff if model is not adjusting + selectFishingOperationAction.setFishingOperation((FishingOperation) evt.getNewValue()); + selectFishingOperationAction.actionPerformed(null); +// selectFishingOperation((FishingOperation) evt.getNewValue()); + } } }); model.addPropertyChangeListener(FishingOperationsUIModel.PROPERTY_FISHING_OPERATION, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { - log.debug("propertyChange " + FishingOperationsUIModel.PROPERTY_FISHING_OPERATION); + if (log.isDebugEnabled()) { + log.debug("propertyChange " + FishingOperationsUIModel.PROPERTY_FISHING_OPERATION); + } ui.getFishingOperationComboBox().setData(null); ui.getFishingOperationComboBox().setData((List<FishingOperation>) evt.getNewValue()); } @@ -194,118 +208,80 @@ } @Override - protected JTabbedPane getTabPanel() { + public JTabbedPane getTabPanel() { return ui.getTabPane(); } - public void createNewFishingOperation() { +// public void selectFishingOperation(FishingOperation fishingOperation) { +// +// if (log.isInfoEnabled()) { +// log.info("New selected fishingOperation: " + fishingOperation); +// } +// +// // back to general tab of fishingOperation tabs +// ui.getFishingOperationTabContent().getFishingOperationTabPane().setSelectedIndex(0); +// +// if (fishingOperation != null) { +// Decorator<FishingOperation> decorator = +// getDecorator(FishingOperation.class, null); +// +// String fishingOperationText = +// _("tutti.label.traitReminder", +// decorator.toString(fishingOperation)); +// +// // propagate fishingOperation to his tabs +// ui.getFishingOperationTabContent().getHandler().selectFishingOperation(fishingOperation); +// if (ui.getFishingOperationTabContent().getModel().isCreate()) { +// // back to fishingOperation tab +// ui.getTabPane().setSelectedIndex(0); +// } +// +// ui.getCatchesTabContent().getHandler().selectFishingOperation(fishingOperation, +// fishingOperationText); +// +// // repaint tabs +// ui.getTabPane().repaint(); +// +// } else { +// ui.getFishingOperationTabContent().getHandler().clearFishingOperation(); +// // back to fishingOperation tab +// ui.getTabPane().setSelectedIndex(0); +// } +// } - FishingOperationsUIModel model = getModel(); +// public void closeCurrentFishingOperation() { +// ui.getFishingOperationTabContent().getHandler().selectFishingOperation(null); +// ui.getCatchesTabContent().getHandler().selectFishingOperation(null, ""); +// } - // deselect selected fishingOperation - model.setSelectedFishingOperation(null); +// public void saveFishingOperation(FishingOperation toSave) { +// +// // persist the fishingOperation +// +// boolean create = toSave.getId() == null; +// FishingOperationsUIModel model = getModel(); +// FishingOperation savedFishingOperation; +// +// if (create) { +// +// savedFishingOperation = persistenceService.createFishingOperation(toSave); +// model.addFishingOperation(savedFishingOperation); +// model.setSelectedFishingOperation(savedFishingOperation); +// +// } else { +// savedFishingOperation = persistenceService.saveFishingOperation(toSave); +// +// // add the saved fishingOperation to fishingOperation list +// List<FishingOperation> data = model.getFishingOperation(); +// +// FishingOperation existingFishingOperation = +// TuttiEntities.findById(data, savedFishingOperation.getId()); +// model.updateFishingOperation(existingFishingOperation, savedFishingOperation); +// } +// } - // use a new empty fishingOperation - FishingOperation newFishingOperation = new FishingOperation(); - Cruise cruise = TuttiUIUtil.getCruise(ui); - newFishingOperation.setCruise(cruise); - - //TODO Should select vessel from possible one ? - List<Vessel> vessels = cruise.getVessel(); - if (vessels.size() == 1) { - newFishingOperation.setVessel(vessels.get(0)); - } - - //TODO Should select gear from possible one ? - List<Gear> gears = cruise.getGear(); - if (gears.size() == 1) { - newFishingOperation.setGear(gears.get(0)); - } - - if (cruise.getMultirigNumber() == 1) { - newFishingOperation.setMultirigAggregation("1"); - } - - // by default use the current day with no time information -// Date currentDate = DateUtils.setMinutes( -// DateUtils.setHours(new Date(), 0), 0); - - newFishingOperation.setGearShootingStartDate(null); - newFishingOperation.setGearShootingEndDate(null); - - selectFishingOperation(newFishingOperation); - } - - public void selectFishingOperation(FishingOperation fishingOperation) { - - if (log.isInfoEnabled()) { - log.info("New selected fishingOperation: " + fishingOperation); - } - - // back to general tab of fishingOperation tabs - ui.getFishingOperationTabContent().getFishingOperationTabPane().setSelectedIndex(0); - - if (fishingOperation != null) { - Decorator<FishingOperation> decorator = - getDecorator(FishingOperation.class, null); - - String fishingOperationText = - _("tutti.label.traitReminder", - decorator.toString(fishingOperation)); - - // propagate fishingOperation to his tabs - ui.getFishingOperationTabContent().getHandler().selectFishingOperation(fishingOperation); - if (ui.getFishingOperationTabContent().getModel().isCreate()) { - // back to fishingOperation tab - ui.getTabPane().setSelectedIndex(0); - } - - ui.getCatchesTabContent().getHandler().selectFishingOperation(fishingOperation, - fishingOperationText); - - // repaint tabs - ui.getTabPane().repaint(); - - } else { - ui.getFishingOperationTabContent().getHandler().clearFishingOperation(); - // back to fishingOperation tab - ui.getTabPane().setSelectedIndex(0); - } - } - - public void closeCurrentFishingOperation() { - ui.getFishingOperationTabContent().getHandler().selectFishingOperation(null); - ui.getCatchesTabContent().getHandler().selectFishingOperation(null, ""); - } - - public void saveFishingOperation(FishingOperation toSave) { - - // persist the fishingOperation - - boolean create = toSave.getId() == null; - FishingOperationsUIModel model = getModel(); - FishingOperation savedFishingOperation; - - if (create) { - - savedFishingOperation = persistenceService.createFishingOperation(toSave); - model.addFishingOperation(savedFishingOperation); - model.setSelectedFishingOperation(savedFishingOperation); - - } else { - savedFishingOperation = persistenceService.saveFishingOperation(toSave); - - // add the saved fishingOperation to fishingOperation list - List<FishingOperation> data = model.getFishingOperation(); - - FishingOperation existingFishingOperation = - TuttiEntities.findById(data, savedFishingOperation.getId()); - model.updateFishingOperation(existingFishingOperation, savedFishingOperation); - } - } - - public void reloadFishingOperation() { - FishingOperation operation = getModel().getSelectedFishingOperation(); - selectFishingOperation(operation); - } +// public void reloadFishingOperation() { +// FishingOperation operation = getModel().getSelectedFishingOperation(); +// selectFishingOperation(operation); +// } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java 2013-02-05 09:19:16 UTC (rev 330) @@ -48,6 +48,8 @@ protected FishingOperation selectedFishingOperation; + private boolean valueIsAdjusting; + public List<FishingOperation> getFishingOperation() { return fishingOperation; } @@ -87,8 +89,16 @@ } public void setSelectedFishingOperation(FishingOperation selectedFishingOperation) { - Object oldValue = Lists.newArrayList(getSelectedFishingOperation()); + Object oldValue = getSelectedFishingOperation(); this.selectedFishingOperation = selectedFishingOperation; firePropertyChange(PROPERTY_SELECTED_FISHING_OPERATION, oldValue, selectedFishingOperation); } + + public void setValueIsAdjusting(boolean valueIsAdjusting) { + this.valueIsAdjusting = valueIsAdjusting; + } + + public boolean isValueIsAdjusting() { + return valueIsAdjusting; + } } Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/ImportCasinoAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/ImportCasinoAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/ImportCasinoAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -0,0 +1,56 @@ +package fr.ifremer.tutti.ui.swing.content.operation; + +/* + * #%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.AbstractTuttiAction; + +import java.awt.event.ActionEvent; + +import static org.nuiton.i18n.I18n._; + +/** + * TODO + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class ImportCasinoAction extends AbstractTuttiAction<EditFishingOperationUIModel, EditFishingOperationUIHandler> { + + private static final long serialVersionUID = 1L; + + public ImportCasinoAction(EditFishingOperationUIHandler handler) { + super(handler, + "importCasino", + "casino-import", + _("tutti.action.importCasino"), + _("tutti.action.importCasino.tip"), + true); + } + + @Override + protected void doAction(ActionEvent event) throws Exception { + //TODO + } +} Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/ImportCasinoAction.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/NewFishingOperationAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/NewFishingOperationAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/NewFishingOperationAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -0,0 +1,108 @@ +package fr.ifremer.tutti.ui.swing.content.operation; + +/* + * #%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.entities.data.Cruise; +import fr.ifremer.tutti.persistence.entities.data.FishingOperation; +import fr.ifremer.tutti.persistence.entities.referential.Gear; +import fr.ifremer.tutti.persistence.entities.referential.Vessel; +import fr.ifremer.tutti.ui.swing.AbstractTuttiAction; +import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; + +import java.awt.event.ActionEvent; +import java.util.List; + +import static org.nuiton.i18n.I18n._; + +/** + * TODO + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class NewFishingOperationAction extends AbstractTuttiAction<FishingOperationsUIModel, FishingOperationsUIHandler> { + + private static final long serialVersionUID = 1L; + + private final SelectFishingOperationAction delegate; + + public NewFishingOperationAction(FishingOperationsUIHandler handler) { + super(handler, + "newFishingOperation", + "add", + null, + _("tutti.action.newFishingOperation.tip"), + true); + + delegate = new SelectFishingOperationAction(getHandler()); + } + + @Override + protected void doAction(ActionEvent event) throws Exception { + + FishingOperationsUIModel model = getModel(); + + model.setValueIsAdjusting(true); + + try { + // deselect selected fishingOperation + model.setSelectedFishingOperation(null); + + // use a new empty fishingOperation + FishingOperation newFishingOperation = new FishingOperation(); + Cruise cruise = TuttiUIUtil.getCruise(getContext()); + newFishingOperation.setCruise(cruise); + + //TODO Should select vessel from possible one ? + List<Vessel> vessels = cruise.getVessel(); + if (vessels.size() == 1) { + newFishingOperation.setVessel(vessels.get(0)); + } + + //TODO Should select gear from possible one ? + List<Gear> gears = cruise.getGear(); + if (gears.size() == 1) { + newFishingOperation.setGear(gears.get(0)); + } + + if (cruise.getMultirigNumber() == 1) { + newFishingOperation.setMultirigAggregation("1"); + } + + // by default use the current day with no time information +// Date currentDate = DateUtils.setMinutes( +// DateUtils.setHours(new Date(), 0), 0); + + newFishingOperation.setGearShootingStartDate(null); + newFishingOperation.setGearShootingEndDate(null); + + delegate.setFishingOperation(newFishingOperation); + delegate.doAction(event); + + } finally { + model.setValueIsAdjusting(false); + } + } +} Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/NewFishingOperationAction.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -26,7 +26,9 @@ */ import fr.ifremer.tutti.persistence.entities.CaracteristicMap; +import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; +import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.ui.swing.AbstractTuttiAction; import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.content.operation.fishing.CaracteristicTabUIModel; @@ -39,6 +41,7 @@ import org.apache.commons.logging.LogFactory; import java.awt.event.ActionEvent; +import java.util.List; import static org.nuiton.i18n.I18n._; @@ -80,7 +83,8 @@ EditFishingOperationUIHandler handler = getHandler(); FishingOperationsUIHandler parentHandler = getHandler().getParentUi().getHandler(); - TuttiBeanMonitor<EditFishingOperationUIModel> monitor = handler.getFishingOperationMonitor(); + TuttiBeanMonitor<EditFishingOperationUIModel> monitor = + handler.getFishingOperationMonitor(); // previous fishingOperation was modified, let's save it EditFishingOperationUIModel beanToSave = monitor.getBean(); @@ -129,7 +133,7 @@ getModel().setModify(false); // persist current fishingOperation - parentHandler.saveFishingOperation(toSave); + saveFishingOperation(toSave); } if (event.getSource() != null) { @@ -145,4 +149,31 @@ } } + protected void saveFishingOperation(FishingOperation toSave) { + + PersistenceService service = + getContext().getService(PersistenceService.class); + + boolean create = toSave.getId() == null; + FishingOperationsUIModel model = getHandler().getParentUi().getModel(); + FishingOperation savedFishingOperation; + + if (create) { + + savedFishingOperation = service.createFishingOperation(toSave); + model.addFishingOperation(savedFishingOperation); + model.setSelectedFishingOperation(savedFishingOperation); + + } else { + savedFishingOperation = service.saveFishingOperation(toSave); + + // add the saved fishingOperation to fishingOperation list + List<FishingOperation> data = model.getFishingOperation(); + + FishingOperation existingFishingOperation = + TuttiEntities.findById(data, savedFishingOperation.getId()); + model.updateFishingOperation(existingFishingOperation, savedFishingOperation); + } + } + } Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SelectFishingOperationAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SelectFishingOperationAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SelectFishingOperationAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -0,0 +1,133 @@ +package fr.ifremer.tutti.ui.swing.content.operation; + +/* + * #%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.entities.data.FishingOperation; +import fr.ifremer.tutti.ui.swing.AbstractTuttiAction; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.util.decorator.Decorator; + +import javax.swing.JLabel; +import javax.swing.JTabbedPane; +import java.awt.BorderLayout; +import java.awt.event.ActionEvent; + +import static org.nuiton.i18n.I18n._; + +/** + * TODO + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class SelectFishingOperationAction extends AbstractTuttiAction<FishingOperationsUIModel, FishingOperationsUIHandler> { + + private static final long serialVersionUID = 1L; + + /** Logger. */ + private static final Log log = + LogFactory.getLog(SelectFishingOperationAction.class); + + protected FishingOperation fishingOperation; + + public SelectFishingOperationAction(FishingOperationsUIHandler handler) { + super(handler, + "selectFishingOperation", + "select", + null, + _("tutti.action.selectFishingOperation.tip"), + true); + } + + public void setFishingOperation(FishingOperation fishingOperation) { + this.fishingOperation = fishingOperation; + } + + @Override + protected void releaseAction(ActionEvent event) { + fishingOperation = null; + super.releaseAction(event); + } + + @Override + protected void doAction(ActionEvent event) throws Exception { + + if (log.isInfoEnabled()) { + log.info("New selected fishingOperation: " + fishingOperation); + } + + FishingOperationsUI ui = getHandler().getUi(); + + JTabbedPane form = ui.getTabPane(); + JLabel noContentPane = ui.getNoTraitPane(); + + if (fishingOperation == null) { + + // nothing to display + + ui.remove(form); + + // just display <no trait!> + ui.add(noContentPane, BorderLayout.CENTER); + + } else { + + // select a fishing operation + + Decorator<FishingOperation> decorator = + getDecorator(FishingOperation.class, null); + + String fishingOperationText = + _("tutti.label.traitReminder", + decorator.toString(fishingOperation)); + + // propagate fishingOperation to his tabs + ui.getFishingOperationTabContent().getHandler().selectFishingOperation(fishingOperation); + if (ui.getFishingOperationTabContent().getModel().isCreate()) { + + // back to fishingOperation tab + ui.getTabPane().setSelectedIndex(0); + } + + ui.getCatchesTabContent().getHandler().selectFishingOperation(fishingOperation, + fishingOperationText); + + // back to general tab of fishingOperation tabs + ui.getFishingOperationTabContent().getFishingOperationTabPane().setSelectedIndex(0); + + ui.remove(noContentPane); + + // wait last minute to display (avoid dirty display effects) + ui.add(form, BorderLayout.CENTER); + + // repaint tabs +// ui.getTabPane().repaint(); + + } + + ui.repaint(); + } +} \ No newline at end of file Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SelectFishingOperationAction.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-02-05 09:19:16 UTC (rev 330) @@ -234,8 +234,7 @@ } #importPupitriButton { - actionIcon: pupitri-import; - text: "tutti.action.pupitri-import"; + _tuttiAction: {ImportPupitriAction.class}; } #benthosTab { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-02-05 09:19:16 UTC (rev 330) @@ -284,8 +284,7 @@ <row> <cell columns='2'> <JPanel layout='{new GridLayout(1,0)}'> - <JButton id='importPupitriButton' - onActionPerformed='handler.importPupitri()'/> + <JButton id='importPupitriButton'/> </JPanel> </cell> </row> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -27,8 +27,6 @@ import fr.ifremer.tutti.persistence.entities.data.CatchBatch; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.service.PersistenceService; -import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel; -import fr.ifremer.tutti.ui.swing.MainUI; import fr.ifremer.tutti.ui.swing.TuttiUI; import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiTabContainerUIHandler; @@ -267,16 +265,9 @@ } protected void registerValidators() { - MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName()); - main.clearValidators(); - main.registerValidator(getValidator()); - main.registerValidator(ui.getSpeciesTabContent().getHandler().getValidator()); + registerValidators(getValidator(), ui.getSpeciesTabContent().getHandler().getValidator()); } - public void importPupitri() { - //TODO - } - public void setSelectedCard(String card) { Component selectedComponent = getTabPanel().getSelectedComponent(); if (selectedComponent.getClass().isAssignableFrom(JPanel.class)) { @@ -303,9 +294,7 @@ } } if (tuttiUi != null) { - MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName()); - main.clearValidators(); - main.registerValidator(tuttiUi.getHandler().getValidator()); + registerValidators(tuttiUi.getHandler().getValidator()); } } } Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java 2013-02-05 09:19:16 UTC (rev 330) @@ -0,0 +1,56 @@ +package fr.ifremer.tutti.ui.swing.content.operation.catches; + +/* + * #%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.AbstractTuttiAction; + +import java.awt.event.ActionEvent; + +import static org.nuiton.i18n.I18n._; + +/** + * TODO + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class ImportPupitriAction extends AbstractTuttiAction<EditCatchesUIModel, EditCatchesUIHandler> { + + private static final long serialVersionUID = 1L; + + public ImportPupitriAction(EditCatchesUIHandler handler) { + super(handler, + "importPupitri", + "pupitri-import", + _("tutti.action.importPupitri"), + _("tutti.action.importPupitri.tip"), + true); + } + + @Override + protected void doAction(ActionEvent event) throws Exception { + //TODO + } +} Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -115,12 +115,12 @@ //------------------------------------------------------------------------// @Override - protected AccidentalBatchTableModel getTableModel() { + public AccidentalBatchTableModel getTableModel() { return (AccidentalBatchTableModel) getTable().getModel(); } @Override - protected JXTable getTable() { + public JXTable getTable() { return ui.getTable(); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -118,12 +118,12 @@ //------------------------------------------------------------------------// @Override - protected BenthosBatchTableModel getTableModel() { + public BenthosBatchTableModel getTableModel() { return (BenthosBatchTableModel) getTable().getModel(); } @Override - protected JXTable getTable() { + public JXTable getTable() { return ui.getTable(); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -115,12 +115,12 @@ //------------------------------------------------------------------------// @Override - protected MacroWasteBatchTableModel getTableModel() { + public MacroWasteBatchTableModel getTableModel() { return (MacroWasteBatchTableModel) getTable().getModel(); } @Override - protected JXTable getTable() { + public JXTable getTable() { return ui.getTable(); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -116,12 +116,12 @@ //------------------------------------------------------------------------// @Override - protected PlanktonBatchTableModel getTableModel() { + public PlanktonBatchTableModel getTableModel() { return (PlanktonBatchTableModel) getTable().getModel(); } @Override - protected JXTable getTable() { + public JXTable getTable() { return ui.getTable(); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2013-02-05 09:19:16 UTC (rev 330) @@ -108,19 +108,19 @@ } #removeSpeciesBatchMenu { - action: {removeSpeciesBatchAction}; + _tuttiAction: {RemoveSpeciesBatchAction.class}; mnemonic: R; enabled: {model.isTableViewModeAll() && model.isRemoveSpeciesBatchEnabled()}; } #removeSpeciesSubBatchMenu { - action: {removeSpeciesSubBatchAction}; + _tuttiAction: {RemoveSpeciesSubBatchAction.class}; mnemonic: R; enabled: {model.isTableViewModeAll() && model.isRemoveSpeciesSubBatchEnabled()}; } #renameSpeciesBatchMenu { - action: {renameSpeciesBatchAction}; + _tuttiAction: {RenameSpeciesBatchAction.class}; enabled: {model.isTableViewModeAll() && model.isRenameSpeciesBatchEnabled()}; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-02-05 09:19:16 UTC (rev 330) @@ -65,13 +65,6 @@ <SwingValidatorMessageTableModel id='errorTableModel'/> - <RenameSpeciesBatchAction id='renameSpeciesBatchAction' - constructorParams='handler'/> - <RemoveSpeciesBatchAction id='removeSpeciesBatchAction' - constructorParams='handler'/> - <RemoveSpeciesSubBatchAction id='removeSpeciesSubBatchAction' - constructorParams='handler'/> - <BeanValidator id='validator' bean='model' errorTableModel='errorTableModel' uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'> <field name='speciesTotalWeight' component='speciesTotalWeightField'/> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -240,12 +240,12 @@ //------------------------------------------------------------------------// @Override - protected SpeciesBatchTableModel getTableModel() { + public SpeciesBatchTableModel getTableModel() { return (SpeciesBatchTableModel) getTable().getModel(); } @Override - protected JXTable getTable() { + public JXTable getTable() { return ui.getTable(); } @@ -406,10 +406,7 @@ // get loaded protocol - protocol = TuttiUIUtil.getProtocol(ui); - Preconditions.checkNotNull( - protocol, - "Could not find protocol in ui context"); + protocol = TuttiUIUtil.getProtocol(context); lengthCaracterics = Lists.newArrayListWithCapacity( protocol.sizeLengthClassesPmfmId()); @@ -461,7 +458,7 @@ // get loaded protocol - TuttiProtocol protocol = TuttiUIUtil.getProtocol(ui); + TuttiProtocol protocol = TuttiUIUtil.getProtocol(context); Preconditions.checkNotNull(protocol, "Could not find protocol in ui context"); @@ -1005,8 +1002,8 @@ getModel().setRenameSpeciesBatchEnabled(enableRename); } - protected void collectChilds(SpeciesBatchRowModel row, - Set<SpeciesBatchRowModel> collectedRows) { + public void collectChilds(SpeciesBatchRowModel row, + Set<SpeciesBatchRowModel> collectedRows) { if (!row.isBatchLeaf()) { @@ -1113,7 +1110,7 @@ columnIdentifier); } - protected void removeFromSpeciesUsed(SpeciesBatchRowModel row) { + public void removeFromSpeciesUsed(SpeciesBatchRowModel row) { Preconditions.checkNotNull(row); Preconditions.checkNotNull(row.getSpecies()); Preconditions.checkNotNull(row.getSortedUnsortedCategoryValue()); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -99,12 +99,12 @@ //------------------------------------------------------------------------// @Override - protected SpeciesFrequencyTableModel getTableModel() { + public SpeciesFrequencyTableModel getTableModel() { return (SpeciesFrequencyTableModel) getTable().getModel(); } @Override - protected JXTable getTable() { + public JXTable getTable() { return ui.getTable(); } @@ -183,7 +183,7 @@ if (context.isProtocolFilled()) { // get loaded protocol - protocol = TuttiUIUtil.getProtocol(ui); + protocol = TuttiUIUtil.getProtocol(context); Preconditions.checkNotNull(protocol, "Could not find protocol in ui context"); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.css 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.css 2013-02-05 09:19:16 UTC (rev 330) @@ -53,7 +53,7 @@ } #addSpeciesButton { - action: {addSpeciesAction}; + _tuttiAction: {AddSpeciesAction.class}; } #sortedUnsortedCategoryLabel { @@ -91,18 +91,3 @@ mnemonic: A; text: "tutti.action.cancel"; } - -#messagePanel { - border: {BorderFactory.createTitledBorder(_("tutti.title.messages"))}; - /*height: 200; - width: 500;*/ -} - -#errorTable { - rowSelectionAllowed: true; - autoCreateRowSorter: true; - autoResizeMode: {JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS}; - cellSelectionEnabled: false; - selectionMode: {ListSelectionModel.SINGLE_SELECTION}; - model: {errorTableModel}; -} Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.jaxx 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.jaxx 2013-02-05 09:19:16 UTC (rev 330) @@ -68,8 +68,6 @@ <CreateSpeciesBatchUIModel id='model' initializer='getContextValue(CreateSpeciesBatchUIModel.class)'/> - <AddSpeciesAction id='addSpeciesAction' constructorParams='handler'/> - <SwingValidatorMessageTableModel id='errorTableModel'/> <BeanValidator id='validator' bean='model' errorTableModel='errorTableModel' Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -95,12 +95,12 @@ //------------------------------------------------------------------------// @Override - protected SplitSpeciesBatchTableModel getTableModel() { + public SplitSpeciesBatchTableModel getTableModel() { return (SplitSpeciesBatchTableModel) getTable().getModel(); } @Override - protected JXTable getTable() { + public JXTable getTable() { return ui.getTable(); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -66,7 +66,7 @@ //------------------------------------------------------------------------// @Override - protected TM getTableModel() { + public TM getTableModel() { return (TM) getTable().getModel(); } @@ -206,7 +206,7 @@ } model.setCaracteristicMap(caracteristicMap); - TuttiProtocol protocol = TuttiUIUtil.getProtocol(getUI()); + TuttiProtocol protocol = TuttiUIUtil.getProtocol(context); List<String> pmfmIds = Lists.newArrayList(); if (protocol != null) { List<String> protocolPmfmId = getProtocolPmfmIds(protocol); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -98,7 +98,7 @@ //------------------------------------------------------------------------// @Override - protected JXTable getTable() { + public JXTable getTable() { return ui.getEnvironmentTable(); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -99,7 +99,7 @@ //------------------------------------------------------------------------// @Override - protected JXTable getTable() { + public JXTable getTable() { return ui.getGearShootingTable(); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -107,7 +107,7 @@ //------------------------------------------------------------------------// @Override - protected JXTable getTable() { + public JXTable getTable() { return ui.getHydrologyTable(); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.css 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.css 2013-02-05 09:19:16 UTC (rev 330) @@ -60,10 +60,10 @@ } #saveButton { - action: {saveProgramAction}; + _tuttiAction: {SaveProgramAction.class}; enabled: {model.isModify() && model.isValid()}; } #cancelButton { - action: {cancelEditProgramAction}; + _tuttiAction: {CancelEditProgramAction.class}; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.jaxx 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.jaxx 2013-02-05 09:19:16 UTC (rev 330) @@ -61,10 +61,6 @@ <EditProgramUIModel id='model' initializer='getContextValue(EditProgramUIModel.class)'/> - <SaveProgramAction id='saveProgramAction' constructorParams='handler'/> - <CancelEditProgramAction id='cancelEditProgramAction' - constructorParams='handler'/> - <SwingValidatorMessageTableModel id='errorTableModel'/> <BeanValidator id='validator' bean='model' errorTableModel='errorTableModel' Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -27,7 +27,6 @@ import fr.ifremer.tutti.persistence.entities.data.Program; import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler; -import fr.ifremer.tutti.ui.swing.MainUI; import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.TuttiUI; import jaxx.runtime.validator.swing.SwingValidator; @@ -99,6 +98,8 @@ @Override public void afterInitUI() { + initUI(ui); + EditProgramUIModel model = getModel(); initBeanComboBox(ui.getZoneComboBox(), persistenceService.getAllProgramZone(), @@ -107,9 +108,7 @@ SwingValidator validator = ui.getValidator(); listenValidatorValid(validator, model); - MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName()); - main.clearValidators(); - main.registerValidator(validator); + registerValidators(validator); // if new program can already cancel his creation model.setModify(model.isCreate()); @@ -120,8 +119,7 @@ if (log.isInfoEnabled()) { log.info("closing: " + ui); } - MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName()); - main.clearValidators(); + clearValidators(); } @Override @@ -132,7 +130,7 @@ result = answer == JOptionPane.NO_OPTION; if (answer == JOptionPane.YES_OPTION) { ActionEvent event = new ActionEvent(nextScreen, nextScreen.ordinal(), null); - ui.getSaveProgramAction().actionPerformed(event); + doAction(ui.getSaveButton(), event); } } return result; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css 2013-02-05 09:19:16 UTC (rev 330) @@ -64,11 +64,11 @@ #saveButton { enabled: {model.isModify() && model.isValid()}; - action: {saveProtocolAction}; + _tuttiAction: {SaveProtocolAction.class}; } #cancelButton { - action: {cancelEditProtocolAction}; + _tuttiAction: {CancelEditProtocolAction.class}; } #speciesComboBox { @@ -104,28 +104,23 @@ } #importSpecies { - actionIcon: import; - action: {importProtocolSpeciesAction}; + _tuttiAction: {ImportProtocolSpeciesAction.class}; } #exportSpecies { - actionIcon: export; - action: {exportProtocolSpeciesAction}; + _tuttiAction: {ExportProtocolSpeciesAction.class}; } #importCaracteristic { - actionIcon: import; - action: {importProtocolCaracteristicAction}; + _tuttiAction: {ImportProtocolCaracteristicAction.class}; } #exportCaracteristic { - actionIcon: export; - action: {exportProtocolCaracteristicAction}; + _tuttiAction: {ExportProtocolCaracteristicAction.class}; } #exportAllCaracteristic { - actionIcon: export; - action: {exportAllCaracteristicAction}; + _tuttiAction: {ExportAllCaracteristicAction.class}; } #gearList { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-02-05 09:19:16 UTC (rev 330) @@ -68,24 +68,6 @@ <EditProtocolUIModel id='model' initializer='getContextValue(EditProtocolUIModel.class)'/> - <CancelEditProtocolAction id='cancelEditProtocolAction' - constructorParams='handler'/> - <SaveProtocolAction id='saveProtocolAction' constructorParams='handler'/> - <ImportProtocolCaracteristicAction id='importProtocolCaracteristicAction' - constructorParams='handler'/> - - <ExportProtocolCaracteristicAction id='exportProtocolCaracteristicAction' - constructorParams='handler'/> - - <ExportAllCaracteristicAction id='exportAllCaracteristicAction' - constructorParams='handler'/> - - <ImportProtocolSpeciesAction id='importProtocolSpeciesAction' - constructorParams='handler'/> - - <ExportProtocolSpeciesAction id='exportProtocolSpeciesAction' - constructorParams='handler'/> - <SwingValidatorMessageTableModel id='errorTableModel'/> <BeanValidator id='validator' bean='model' errorTableModel='errorTableModel' 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-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -31,7 +31,6 @@ 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.MainUI; import fr.ifremer.tutti.ui.swing.MainUIHandler; import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.TuttiUI; @@ -98,12 +97,12 @@ //------------------------------------------------------------------------// @Override - protected EditProtocolSpeciesTableModel getTableModel() { + public EditProtocolSpeciesTableModel getTableModel() { return (EditProtocolSpeciesTableModel) getTable().getModel(); } @Override - protected JXTable getTable() { + public JXTable getTable() { return ui.getSpeciesTable(); } @@ -244,9 +243,7 @@ SwingValidator validator = ui.getValidator(); listenValidatorValid(validator, model); - MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName()); - main.clearValidators(); - main.registerValidator(validator); + registerValidators(validator); // create table model @@ -361,8 +358,7 @@ if (log.isInfoEnabled()) { log.info("closing: " + ui); } - MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName()); - main.clearValidators(); + clearValidators(); } @Override @@ -373,7 +369,7 @@ result = answer == JOptionPane.NO_OPTION; if (answer == JOptionPane.YES_OPTION) { ActionEvent event = new ActionEvent(nextScreen, nextScreen.ordinal(), null); - ui.getSaveProtocolAction().actionPerformed(event); + doAction(ui.getSaveButton(), event); } } return result; Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUI.css (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUI.css 2013-02-05 09:19:16 UTC (rev 330) @@ -0,0 +1,23 @@ +/* + * #%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% + */ Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUI.css ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUI.jaxx (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUI.jaxx 2013-02-05 09:19:16 UTC (rev 330) @@ -0,0 +1,136 @@ +<!-- + #%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% + --> +<JPanel id='homePanel' layout='{new BorderLayout()}'> + <!--implements='fr.ifremer.tutti.ui.swing.TuttiUI<SelectCruiseUIModel, SelectCruiseUIHandler>'>--> + + <import> + + fr.ifremer.tutti.ui.swing.TuttiUI + fr.ifremer.tutti.ui.swing.TuttiUIContext + fr.ifremer.tutti.ui.swing.util.ActionListCellRenderer + + jaxx.runtime.validator.swing.SwingValidatorMessageTableModel + + static org.nuiton.i18n.I18n._ + </import> + + <!--<script><![CDATA[--> + + <!--protected TuttiUIContext uiContext;--> + + <!--public SelectCruiseUI(TuttiUI parentUI) {--> + <!--JAXXUtil.initContext(this, parentUI);--> + <!--uiContext = parentUI.getHandler().getContext();--> + <!--SelectCruiseUIHandler handler =--> + <!--new SelectCruiseUIHandler(parentUI, this);--> + <!--setContextValue(handler);--> + <!--handler.beforeInitUI();--> + <!--}--> + + <!--protected void $afterCompleteSetup() {--> + <!--handler.afterInitUI();--> + <!--}--> + <!--]]></script>--> + + <!--<SelectCruiseUIHandler id='handler'--> + <!--initializer='getContextValue(SelectCruiseUIHandler.class)'/>--> + + <!--<SelectCruiseUIModel id='model'--> + <!--initializer='getContextValue(SelectCruiseUIModel.class)'/>--> + + <SwingValidatorMessageTableModel id='errorTableModel'/> + + <!--<BeanValidator id='validator' bean='model' errorTableModel='errorTableModel'--> + <!--uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'>--> + <!--<field name='program' component='programCombobox'/>--> + <!--<field name='cruise' component='cruiseCombobox'/>--> + <!--<field name='protocol' component='protocolCombobox'/>--> + <!--</BeanValidator>--> + + <!--<Table fill='both' constraints='BorderLayout.CENTER'>--> + <!--<row>--> + <!--<cell anchor='west'>--> + <!--<JLabel id='programLabel'/>--> + <!--</cell>--> + <!--<cell weightx='1.0'>--> + <!--<BeanComboBox id='programCombobox' constructorParams='this'--> + <!--genericType='Program'/>--> + <!--</cell>--> + <!--<cell>--> + <!--<JPanel layout='{new GridLayout(1,0)}'>--> + <!--<JButton id='editProgramButton'/>--> + <!--<!–onActionPerformed='handler.showSelectedProgram()'/>–>--> + <!--<JButton id='newProgramButton'/>--> + <!--<!–onActionPerformed='handler.showNewProgram()'/>–>--> + <!--</JPanel>--> + <!--</cell>--> + <!--</row>--> + <!--<row>--> + <!--<cell>--> + <!--<JLabel id='cruiseLabel'/>--> + <!--</cell>--> + <!--<cell>--> + <!--<BeanComboBox id='cruiseCombobox' constructorParams='this'--> + <!--genericType='Cruise'/>--> + <!--</cell>--> + <!--<cell>--> + <!--<JPanel layout='{new GridLayout(1,0)}'>--> + <!--<JButton id='editCruiseButton'/>--> + <!--<!–onActionPerformed='handler.showSelectedCruise()'/>–>--> + <!--<JButton id='newCruiseButton'/>--> + <!--<!–onActionPerformed='handler.showNewCruise()'/>–>--> + <!--</JPanel>--> + <!--</cell>--> + <!--</row>--> + <!--<row>--> + <!--<cell>--> + <!--<JLabel id='protocolLabel'/>--> + <!--</cell>--> + <!--<cell>--> + <!--<BeanComboBox id='protocolCombobox' constructorParams='this'--> + <!--genericType='TuttiProtocol'/>--> + <!--</cell>--> + <!--<cell>--> + <!--<JPanel layout='{new GridLayout(1,0)}'>--> + <!--<JComboBox id='editProtocolComboBox'--> + <!--onMouseEntered='if (editProtocolComboBox.isEnabled()) { editProtocolComboBox.showPopup(); }'--> + <!--onActionPerformed='handler.startExistingProtocolAction(event)'/>--> + <!--<JComboBox id='newProtocolComboBox'--> + <!--onMouseEntered='newProtocolComboBox.showPopup()'--> + <!--onActionPerformed='handler.startNewProtocolAction(event)'/>--> + <!--</JPanel>--> + <!--</cell>--> + <!--</row>--> + <!--<row>--> + <!--<cell columns='3'>--> + <!--<JPanel layout='{new GridLayout(1,0)}'>--> + <!--<JButton id='editCatchesButton'/>--> + <!--<!–onActionPerformed='handler.showFillCatches()'/>–>--> + <!--<JButton id='validateCatchesButton'/>--> + <!--<!–onActionPerformed='handler.showValidateCatches()'/>–>--> + <!--</JPanel>--> + <!--</cell>--> + <!--</row>--> + <!--</Table>--> +</JPanel> Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUI.jaxx ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUIHandler.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -0,0 +1,32 @@ +package fr.ifremer.tutti.ui.swing.content.referential; + +/* + * #%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% + */ + +/** + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class ManageReferentialUIHandler { +} Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageReferentialUIHandler.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-02-05 09:19:16 UTC (rev 330) @@ -29,7 +29,7 @@ import fr.ifremer.tutti.persistence.entities.data.Program; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.service.TuttiServiceTechnicalException; -import jaxx.runtime.JAXXContext; +import fr.ifremer.tutti.ui.swing.TuttiUIContext; import jaxx.runtime.JAXXUtil; import jaxx.runtime.context.JAXXContextEntryDef; import org.apache.commons.beanutils.PropertyUtils; @@ -74,42 +74,54 @@ private static final JAXXContextEntryDef<TuttiProtocol> PROTOCOL_ENTRY = JAXXUtil.newContextEntryDef("loadedProtocol", TuttiProtocol.class); - public static Program getProgram(JAXXContext context) { - return PROGRAM_ENTRY.getContextValue(context); +// public static Program getProgram(JAXXContext context) { +// return PROGRAM_ENTRY.getContextValue(context); +// } + +// public static Cruise getCruise(JAXXContext context) { +// return CRUISE_ENTRY.getContextValue(context); +// } + +// public static TuttiProtocol getProtocol(JAXXContext context) { +// return PROTOCOL_ENTRY.getContextValue(context); +// } + + public static Program getProgram(TuttiUIContext context) { + return PROGRAM_ENTRY.getContextValue(context.getMainUI()); } - public static Cruise getCruise(JAXXContext context) { - return CRUISE_ENTRY.getContextValue(context); + public static Cruise getCruise(TuttiUIContext context) { + return CRUISE_ENTRY.getContextValue(context.getMainUI()); } - public static TuttiProtocol getProtocol(JAXXContext context) { - return PROTOCOL_ENTRY.getContextValue(context); + public static TuttiProtocol getProtocol(TuttiUIContext context) { + return PROTOCOL_ENTRY.getContextValue(context.getMainUI()); } - public static void setProgram(JAXXContext context, Program value) { + public static void setProgram(TuttiUIContext context, Program value) { if (value == null) { - PROGRAM_ENTRY.removeContextValue(context); + PROGRAM_ENTRY.removeContextValue(context.getMainUI()); } else { - PROGRAM_ENTRY.setContextValue(context, value); + PROGRAM_ENTRY.setContextValue(context.getMainUI(), value); } } - public static void setCruise(JAXXContext context, Cruise value) { + public static void setCruise(TuttiUIContext context, Cruise value) { if (value == null) { - CRUISE_ENTRY.removeContextValue(context); + CRUISE_ENTRY.removeContextValue(context.getMainUI()); } else { - CRUISE_ENTRY.setContextValue(context, value); + CRUISE_ENTRY.setContextValue(context.getMainUI(), value); } } - public static void setProtocol(JAXXContext context, TuttiProtocol value) { + public static void setProtocol(TuttiUIContext context, TuttiProtocol value) { if (value == null) { - PROTOCOL_ENTRY.removeContextValue(context); + PROTOCOL_ENTRY.removeContextValue(context.getMainUI()); } else { - PROTOCOL_ENTRY.setContextValue(context, value); + PROTOCOL_ENTRY.setContextValue(context.getMainUI(), value); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-02-05 09:19:16 UTC (rev 330) @@ -94,13 +94,13 @@ * @return the table model handled byt the main table. * @since 0.2 */ - protected abstract AbstractTuttiTableModel<R> getTableModel(); + public abstract AbstractTuttiTableModel<R> getTableModel(); /** * @return the main table of the ui. * @since 0.2 */ - protected abstract JXTable getTable(); + public abstract JXTable getTable(); /** * Validates the given row. Added: trunk/tutti-ui-swing/src/main/resources/META-INF/aop.xml =================================================================== --- trunk/tutti-ui-swing/src/main/resources/META-INF/aop.xml (rev 0) +++ trunk/tutti-ui-swing/src/main/resources/META-INF/aop.xml 2013-02-05 09:19:16 UTC (rev 330) @@ -0,0 +1,41 @@ +<!-- + #%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% + --> +<!DOCTYPE aspectj PUBLIC + "-//AspectJ//DTD//EN" + "http://www.eclipse.org/aspectj/dtd/aspectj.dtd"> +<aspectj> + <weaver options="-verbose"/> + <aspects> + <concrete-aspect name="org.nuiton.profiling.NuitonTraceTestAspect" + extends="org.nuiton.profiling.NuitonTrace"> + <pointcut name="executeMethod" + expression=" + execution(* fr.ifremer.tutti.ui.swing.util..*(..)) + ||execution(* fr.ifremer.tutti.ui.swing.content..*(..)) + ||execution(* org.nuiton.util.decorator..*(..)) + ||execution(* jaxx.runtime.swing.editor.bean.BeanComboBox.*(..)) + "/> + </concrete-aspect> + </aspects> +</aspectj> \ No newline at end of file Property changes on: trunk/tutti-ui-swing/src/main/resources/META-INF/aop.xml ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-02-05 09:19:16 UTC (rev 330) @@ -50,15 +50,20 @@ tutti.action.exportProtocolSpecies.tip=Exporter les espèces du protocole tutti.action.generate=Générer tutti.action.generateCampaignName=Générer le nom +tutti.action.importCasino=Import Casino +tutti.action.importCasino.tip=Import Casino tutti.action.importProtocol=Importer tutti.action.importProtocol.tip=Importer un protocole tutti.action.importProtocolCaracteristic=Importer les caractéristiques tutti.action.importProtocolCaracteristic.tip=importer les caractéristiques dans le protocole tutti.action.importProtocolSpecies=Importer les espèces tutti.action.importProtocolSpecies.tip=importer les espèces dans le protocole +tutti.action.importPupitri=Import Pupitri +tutti.action.importPupitri.tip=Import Pupitri tutti.action.new=Nouveau tutti.action.newCruise=Nouveau tutti.action.newCruise.tip=Créer une nouvelle campagne +tutti.action.newFishingOperation.tip=Créer une nouvelle opération de pêche tutti.action.newProgram=Nouveau tutti.action.newProgram.tip=Créer une nouvelle série de campagne tutti.action.newProtocol=Nouveau @@ -87,6 +92,7 @@ tutti.action.saveProtocol.tip=Enregistrer le protocol tutti.action.selectCruise=Sélectionner une campagne tutti.action.selectCruise.tip=Sélectionner la campagne à utiliser +tutti.action.selectFishingOperation.tip=Chargement d'une opération de pêche tutti.action.site=Site tutti.action.site.tip=Accéder au site du projet Tutti tutti.action.splitSpeciesBatch=Catégoriser le lot Modified: trunk/tutti-ui-swing/src/main/resources/log4j.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/log4j.properties 2013-02-05 09:15:28 UTC (rev 329) +++ trunk/tutti-ui-swing/src/main/resources/log4j.properties 2013-02-05 09:19:16 UTC (rev 330) @@ -38,5 +38,8 @@ # tutti levels log4j.logger.fr.ifremer=INFO -log4j.logger.org.nuiton.util=INFO +log4j.logger.fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler=WARN +log4j.logger.fr.ifremer.tutti.ui.swing.util.table=WARN +log4j.logger.org.nuiton.util=WARN log4j.logger.org.nuiton.util.ApplicationUpdater=DEBUG +#log4j.logger.jaxx.runtime.swing.editor.bean.BeanComboBox=DEBUG
participants (1)
-
tchemit@users.forge.codelutin.com