This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit c280e51deb36a15c08d95ee9c71cd7586c54b476 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 7 14:30:39 2016 +0100 [stack] suppression du cycle de vie d'un content de la méthode init (c'est géré directement via le UIHandler) --- .../referential/ng/ReferentialReplaceUI.jaxx | 10 ---- .../ng/ReferentialReplaceUIHandler.java | 23 +++++--- .../application/swing/ui/content/Common.jcss | 1 + .../application/swing/ui/content/ContentUI.jaxx | 6 +- .../swing/ui/content/ContentUIManager.java | 2 +- .../swing/ui/content/ObserveContentUI.java | 2 +- .../content/impl/longline/BranchlineUIHandler.java | 6 -- .../LonglineDetailCompositionUIInitializer.java | 2 +- .../LonglineGlobalCompositionUIHandler.java | 8 +-- .../swing/ui/content/list/ContentListUI.jaxx | 8 ++- .../swing/ui/content/list/ContentListUI.jcss | 14 +++++ .../ui/content/list/ContentListUIHandler.java | 3 + .../swing/ui/content/list/ContentListUIModel.java | 13 +++++ .../content/table/impl/seine/TargetSampleUI.jaxx | 2 +- .../table/impl/seine/TargetSampleUIHandler.java | 6 +- .../nodes/ReferenceNavigationTreeNodeSupport.java | 2 +- .../application/swing/ui/usage/UsagesUI.jaxx | 14 +---- .../swing/ui/usage/UsagesUIHandler.java | 36 +++++++----- .../swing/ui/util/tripMap/TripMapUI.jaxx | 19 +------ .../swing/ui/util/tripMap/TripMapUIHandler.java | 65 +++++++++++----------- 20 files changed, 123 insertions(+), 119 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/ReferentialReplaceUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/ReferentialReplaceUI.jaxx index b0891fe..36e3df2 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/ReferentialReplaceUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/ReferentialReplaceUI.jaxx @@ -33,16 +33,6 @@ initializer="getContextValue(ReferentialReference.class, ReferentialReplaceUIHandler.CONTEXT_NAME)"/> <ReferentialReference id='replaceReference' genericType="E" javaBean="null"/> - <ReferentialReplaceUIHandler id='handler' genericType="E" constructorParams="this"/> - - <script><![CDATA[ - -void $afterCompleteSetup() { - handler.init(); -} -]]> - </script> - <JLabel id='message' constraints='BorderLayout.NORTH'/> <BeanComboBox id='list' constraints='BorderLayout.CENTER' constructorParams='this' genericType='ReferentialReference<E>'/> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/ReferentialReplaceUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/ReferentialReplaceUIHandler.java index f51cb49..25fd7b9 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/ReferentialReplaceUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/ReferentialReplaceUIHandler.java @@ -25,6 +25,7 @@ package fr.ird.observe.application.swing.ui.admin.synchronize.referential.ng; import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferenceDecorator; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; +import jaxx.runtime.spi.UIHandler; import jaxx.runtime.swing.editor.bean.BeanComboBox; import java.awt.Dimension; @@ -36,27 +37,31 @@ import java.util.List; * * @author Tony Chemit - chemit@codelutin.com */ -public class ReferentialReplaceUIHandler<R extends ReferentialDto> { +public class ReferentialReplaceUIHandler<R extends ReferentialDto> implements UIHandler<ReferentialReplaceUI<R>> { public static final String CONTEXT_NAME = "replaceUI"; - private final ReferentialReplaceUI<R> ui; - protected PropertyChangeListener listenData; + private ReferentialReplaceUI<R> ui; + protected final PropertyChangeListener listenData; - public ReferentialReplaceUIHandler(ReferentialReplaceUI<R> ui) { - this.ui = ui; + public ReferentialReplaceUIHandler() { this.listenData = evt -> ui.setReplaceReference((ReferentialReference) evt.getNewValue()); } - public void init() { + @Override + public void beforeInit(ReferentialReplaceUI<R> ui) { + this.ui = ui; + } + + @Override + public void afterInit(ReferentialReplaceUI<R> ui) { BeanComboBox<ReferentialReference<R>> beanComboBox = ui.getList(); beanComboBox.setI18nPrefix("observe.common."); beanComboBox.setMinimumSize(new Dimension(0, 24)); beanComboBox.setBeanType((Class) ReferentialReference.class); - List<ReferentialReference<R>> references = ui.getContextValue(List.class,CONTEXT_NAME); - ReferentialReferenceDecorator<R> decorator = ui.getContextValue(ReferentialReferenceDecorator.class,CONTEXT_NAME); + List<ReferentialReference<R>> references = ui.getContextValue(List.class, CONTEXT_NAME); + ReferentialReferenceDecorator<R> decorator = ui.getContextValue(ReferentialReferenceDecorator.class, CONTEXT_NAME); beanComboBox.init(decorator, references); } - } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/Common.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/Common.jcss index 047d88a..2b7e894 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/Common.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/Common.jcss @@ -57,6 +57,7 @@ BeanComboBox { #reset { _observeAction:{ResetEditUIAction.ACTION_NAME}; + visible:{!model.isReadingMode()}; enabled:{model.isCreatingMode() || model.isModified()}; } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUI.jaxx index d2d1982..7513538 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUI.jaxx @@ -87,9 +87,9 @@ public Object getSelectedBean(JList list) { return list.getSelectedValue(); } -public void init() { - getHandler().initUI(); -} +//public void init() { +// getHandler().initUI(); +//} public void open() { getHandler().openUI(); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIManager.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIManager.java index cf2d349..3eaa004 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIManager.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIManager.java @@ -102,7 +102,7 @@ public class ContentUIManager { } // initialisation du content - result.init(); +// result.init(); result.addMouseListener(new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveContentUI.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveContentUI.java index cdc2fca..76363cd 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveContentUI.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveContentUI.java @@ -56,7 +56,7 @@ public interface ObserveContentUI<E extends IdDto, U extends ContentUI<E, U>> ex void setContentIcon(Icon icon); - void init(); +// void init(); void open(); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/BranchlineUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/BranchlineUIHandler.java index 8c56e66..f5bdb62 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/BranchlineUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/BranchlineUIHandler.java @@ -172,12 +172,6 @@ public class BranchlineUIHandler extends ContentUIHandler<BranchlineDto, Branchl } @Override - public void initUI() { - - - } - - @Override public void openUI() { if (log.isInfoEnabled()) { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java index cb795ab..48f4594 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java @@ -197,7 +197,7 @@ public class LonglineDetailCompositionUIInitializer extends ContentUIInitializer // init branchlineDetail tab BranchlineUI compositionUI = ui.getBranchlineDetailUI(); - compositionUI.init(); +// compositionUI.init(); Container parent = ui.getBranchlineDetailPanel(); parent .removeAll(); parent.add(compositionUI.getBody()); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java index f1587ab..2a52ec3 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java @@ -99,7 +99,7 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong { // init floatlinesComposition tab FloatlinesCompositionUI compositionUI = ui.getFloatlinesCompositionUI(); - compositionUI.init(); +// compositionUI.init(); ui.getFloatlinesCompositionPanel().remove(compositionUI); ui.getFloatlinesCompositionPanel().add(compositionUI.getBody()); } @@ -107,7 +107,7 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong { // init branchlinesComposition tab BranchlinesCompositionUI compositionUI = ui.getBranchlinesCompositionUI(); - compositionUI.init(); +// compositionUI.init(); ui.getBranchlinesCompositionPanel().remove(compositionUI); ui.getBranchlinesCompositionPanel().add(compositionUI.getBody()); } @@ -115,7 +115,7 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong { // init hooksComposition tab HooksCompositionUI compositionUI = ui.getHooksCompositionUI(); - compositionUI.init(); +// compositionUI.init(); ui.getHooksCompositionPanel().remove(compositionUI); ui.getHooksCompositionPanel().add(compositionUI.getBody()); } @@ -123,7 +123,7 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong { // init baitsComposition tab BaitsCompositionUI compositionUI = ui.getBaitsCompositionUI(); - compositionUI.init(); +// compositionUI.init(); ui.getBaitsCompositionPanel().remove(compositionUI); ui.getBaitsCompositionPanel().add(compositionUI.getBody()); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUI.jaxx index 3290473..c4b7788 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUI.jaxx @@ -53,7 +53,7 @@ <ListSelectionModel id='listSelectionModel' initializer='new DefaultListSelectionModel()' onValueChanged='if (!event.getValueIsAdjusting()) getModel().setSelectedDatas(getSelectedDatas());'/> - <!--<ContentListUIHandler id='handler' genericType='E, C, U' initializer='(ContentListUIHandler) ContentUIHandler.newHandler((U) this)'/>--> + <CardLayout2Ext id='listPanelLayout' constructorParams='this, "listPanel"'/> <script><![CDATA[ @@ -86,8 +86,12 @@ public NavigationTreeNodeSupport<?> getOpenNode() { <JScrollPane id='listPane' constraints='BorderLayout.CENTER' onFocusGained='list.requestFocus()' columnHeaderView='{listHeader}'> - <JList id='list' genericType='DataReference<C>' onMouseClicked='getHandler().onDataSelected(event)'/> + <JPanel id='listPanel'> + <JLabel id="emptyLabel" constraints='"empty"'/> + <JList id='list' genericType='DataReference<C>' constraints='"list"' + onMouseClicked='getHandler().onDataSelected(event)'/> + </JPanel> <BeanListHeader id='listHeader' genericType='DataReference< C >'/> </JScrollPane> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUI.jcss index 4e746b9..adf68eb 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUI.jcss @@ -28,6 +28,20 @@ minimumSize:{new Dimension(10,150)}; } +#listPanelLayout { + selected: {model.getLayoutName()}; +} + +#listPanel { + layout: {listPanelLayout}; +} + +#emptyLabel { + text: {getEmptyListMessage()}; + horizontalAlignment: center; + //enabled:false; +} + #listHeader { _listNoLoad: true; beanType:{(Class)DataReference.class}; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUIHandler.java index a730722..3e7ebde 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUIHandler.java @@ -49,6 +49,7 @@ import java.awt.Color; import java.awt.Component; import java.awt.event.MouseEvent; import java.util.ArrayList; +import java.util.Collections; import java.util.Enumeration; import java.util.List; @@ -106,6 +107,8 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends DataDto, U Decorator<DataReference<C>> decorator = list.getHandler().getDecorator(); DecoratorUtil.sort((JXPathDecorator<DataReference<C>>) decorator, data, 0); list.setData(data); + } else { + list.setData(Collections.emptyList()); } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUIModel.java index 822f9d5..d9d2a5a 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUIModel.java @@ -57,6 +57,7 @@ public abstract class ContentListUIModel<E extends IdDto, C extends DataDto> ext public static final String PROPERTY_CAN_CREATE = "canCreate"; public static final String PROPERTY_CAN_MOVE = "canMove"; + public static final String PROPERTY_LAYOUT_NAME = "layoutName"; /** type des entites */ protected final Class<C> childType; @@ -74,6 +75,8 @@ public abstract class ContentListUIModel<E extends IdDto, C extends DataDto> ext private boolean canCreate; private boolean canMove; + private String layoutName; + public ContentListUIModel(Class<E> beanType, Class<C> childType) { super(beanType); this.childType = childType; @@ -94,6 +97,7 @@ public abstract class ContentListUIModel<E extends IdDto, C extends DataDto> ext firePropertyChange(PROPERTY_DATA, null, data); firePropertyChange(PROPERTY_EMPTY, wasEmpty, isEmpty()); setSelectedDatas(null); + setLayoutName(isEmpty() ? "empty" : "list"); } public List<DataReference<C>> getSelectedDatas() { @@ -177,4 +181,13 @@ public abstract class ContentListUIModel<E extends IdDto, C extends DataDto> ext this.canMove = canMove; firePropertyChange(PROPERTY_CAN_MOVE, canMove); } + + public String getLayoutName() { + return layoutName; + } + + public void setLayoutName(String layoutName) { + this.layoutName = layoutName; + firePropertyChange(PROPERTY_LAYOUT_NAME, layoutName); + } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/TargetSampleUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/TargetSampleUI.jaxx index 3bf9e72..56943d3 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/TargetSampleUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/TargetSampleUI.jaxx @@ -69,7 +69,7 @@ errorTableModel='{getErrorTableModel()}' context='ui-update' parentValidator='{validator}'/> <ButtonGroup id='acquisitionModeGroup' - onStateChanged='getHandler().updateModeSaisie((ModeSaisieEchantillonEnum) acquisitionModeGroup.getSelectedValue())'/> + onStateChanged='TargetSampleUIHandler.updateModeSaisie(this, (ModeSaisieEchantillonEnum) acquisitionModeGroup.getSelectedValue())'/> <script><![CDATA[ diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/TargetSampleUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/TargetSampleUIHandler.java index 69804de..3a65dff 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -80,6 +80,7 @@ public class TargetSampleUIHandler<U extends ContentTableUI<TargetSampleDto, Tar @Override public void afterInit(U ui) { super.afterInit(ui); + } @Override @@ -276,7 +277,7 @@ public class TargetSampleUIHandler<U extends ContentTableUI<TargetSampleDto, Tar * @param newMode le nouveau de mode de saisie à utiliser * @since 1.8 */ - public void updateModeSaisie(ModeSaisieEchantillonEnum newMode) { + public static void updateModeSaisie(TargetSampleUI ui, ModeSaisieEchantillonEnum newMode) { if (log.isDebugEnabled()) { log.debug("Change mode saisie to " + newMode); @@ -286,9 +287,6 @@ public class TargetSampleUIHandler<U extends ContentTableUI<TargetSampleDto, Tar // mode null (cela peut arriver avec les bindings) return; } - - TargetSampleUI ui = (TargetSampleUI) getUi(); - boolean createMode = ui.getTableModel().isCreate(); TargetLengthDto editBean = ui.getTableEditBean(); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/ReferenceNavigationTreeNodeSupport.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/ReferenceNavigationTreeNodeSupport.java index d98befb..7b06102 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/ReferenceNavigationTreeNodeSupport.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/ReferenceNavigationTreeNodeSupport.java @@ -57,7 +57,7 @@ public abstract class ReferenceNavigationTreeNodeSupport<D extends IdDto, O exte } public boolean isOpen() { - return isPersisted() || ObserveSwingApplicationContext.get().getOpenDataManager().isOpen(getId()); + return !isPersisted() || ObserveSwingApplicationContext.get().getOpenDataManager().isOpen(getId()); } @Override diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUI.jaxx index cfe7db1..a37abe4 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUI.jaxx @@ -39,30 +39,20 @@ Interface graphique pour afficher la liste des usages d'une entitee donnee. <script><![CDATA[ -private UsagesUIHandler handler = new UsagesUIHandler(); - public void init(String message, String message2, String message3, ReferenceMap usages, List<AbstractReference> referenceList) { - getHandler().initUI(this, message,message2, message3, usages, referenceList); + handler.initUI( message,message2, message3, usages, referenceList); } public void clean() { - getHandler().cleanUI(this); + handler.cleanUI(); } public <T> T getSelectedReplace() { return (T) replace.getSelectedItem(); } -protected UsagesUIHandler getHandler() { - return handler; -} - -void $afterCompleteSetup() { - -} - public void destroy() { log.info("destroy ui " + getName()); UIHelper.destroy(this); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUIHandler.java index b4065e4..69136e5 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUIHandler.java @@ -31,6 +31,7 @@ import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ReferenceMap; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; +import jaxx.runtime.spi.UIHandler; import jaxx.runtime.swing.editor.bean.BeanComboBox; import org.apache.commons.collections4.CollectionUtils; import org.nuiton.decorator.Decorator; @@ -55,26 +56,36 @@ import static org.nuiton.i18n.I18n.t; * @author Tony Chemit - chemit@codelutin.com * @since 1.2 */ -public class UsagesUIHandler { +public class UsagesUIHandler implements UIHandler<UsagesUI> { + + private UsagesUI ui; + + @Override + public void beforeInit(UsagesUI ui) { + this.ui = ui; + } + + @Override + public void afterInit(UsagesUI ui) { + + } /** * Afficher les usages d'une entite donnee. * - * @param ui l'ui * @param message le message a afficher en haut * @param message2 message supplementaire a afficher en haut * @param message3 message supplementaire a afficher en haut * @param usages les utilisations de l'entite donnee * @param referenceList la liste optionnel des références possibles de remplacement */ - public void initUI(UsagesUI ui, - String message, + public void initUI(String message, String message2, String message3, ReferenceMap usages, List<AbstractReference> referenceList) { // toujours nettoyer l'ui avant tout - cleanUI(ui); + cleanUI(); ui.getMessage().setText(t(message)); if (message2 != null) { @@ -94,9 +105,9 @@ public class UsagesUIHandler { Set references = entry.getValue(); String typeTitle = t(ObserveI18nDecoratorHelper.getTypeI18nKey(dtoType)); if (DataDto.class.isAssignableFrom(dtoType)) { - addDataReferenceUsages(ui, dtoType, references, typeTitle); + addDataReferenceUsages(dtoType, references, typeTitle); } else { - addReferentialReferenceUsages(ui, dtoType, references, typeTitle); + addReferentialReferenceUsages(dtoType, references, typeTitle); } } @@ -122,7 +133,7 @@ public class UsagesUIHandler { } } - public void cleanUI(UsagesUI ui) { + public void cleanUI() { ui.getUsages().removeAll(); ui.getMessage().setText(null); ui.getMessage2().setText(null); @@ -131,8 +142,8 @@ public class UsagesUIHandler { ui.getMessage3().setVisible(false); } - protected <D extends DataDto> void addDataReferenceUsages(UsagesUI ui, - Class<D> dtoType, + + protected <D extends DataDto> void addDataReferenceUsages(Class<D> dtoType, Set<DataReference<D>> references, String typeTitle) { @@ -158,9 +169,7 @@ public class UsagesUIHandler { ui.getUsages().add(pane); } - - protected <D extends ReferentialDto> void addReferentialReferenceUsages(UsagesUI ui, - Class<D> dtoType, + protected <D extends ReferentialDto> void addReferentialReferenceUsages(Class<D> dtoType, Set<ReferentialReference<D>> references, String typeTitle) { @@ -185,5 +194,4 @@ public class UsagesUIHandler { pane.setViewportView(l); ui.getUsages().add(pane); } - } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/util/tripMap/TripMapUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/util/tripMap/TripMapUI.jaxx index 797a633..4e3709f 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/util/tripMap/TripMapUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/util/tripMap/TripMapUI.jaxx @@ -19,26 +19,13 @@ <http://www.gnu.org/licenses/gpl-3.0.html>. #L% --> -<JPanel id="tripMap" - layout="{new CardLayout()}"> +<JPanel id="tripMap" layout="{new CardLayout()}"> <import> java.awt.CardLayout - fr.ird.observe.application.swing.ui.util.tripMap.ObserveMapPane static org.nuiton.i18n.I18n.n </import> - <TripMapUIHandler id='handler' initializer='TripMapUIHandler.newHandler(this)'/> - - <script><![CDATA[ - -void $afterCompleteSetup() { - getHandler().initUI(); -} - -]]> - </script> - <JPopupMenu id='mapPopupMenu'> <JMenuItem id='zoomIt' onActionPerformed='getHandler().zoomIt()'/> <JMenuItem id='exportPng' onActionPerformed='getHandler().exportPng()'/> @@ -46,8 +33,6 @@ void $afterCompleteSetup() { <JLabel id="waitLoadingLabel"/> - <ObserveMapPane id='observeMapPane' - constraints="BorderLayout.CENTER"/> - + <ObserveMapPane id='observeMapPane' constraints="BorderLayout.CENTER"/> </JPanel> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/util/tripMap/TripMapUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/util/tripMap/TripMapUIHandler.java index c19cd1b..0629ef2 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/util/tripMap/TripMapUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/util/tripMap/TripMapUIHandler.java @@ -26,10 +26,11 @@ import com.google.common.collect.Lists; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.ObserveSwingTechnicalException; import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig; +import fr.ird.observe.application.swing.ui.UIHelper; import fr.ird.observe.services.dto.IdHelper; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.TripMapPointDto; -import fr.ird.observe.application.swing.ui.UIHelper; +import jaxx.runtime.spi.UIHandler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.geotools.geometry.DirectPosition2D; @@ -58,43 +59,19 @@ import static org.nuiton.i18n.I18n.t; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -public class TripMapUIHandler { +public class TripMapUIHandler implements UIHandler<TripMapUI> { public static final double ZOOM_STEP_RATIO = 0.1; - public static TripMapUIHandler newHandler(TripMapUI view) { - return new TripMapUIHandler(view); - } - private static final Log log = LogFactory.getLog(TripMapUIHandler.class); - protected final TripMapUI view; + protected TripMapUI view; private ObserveSwingApplicationConfig config; protected ReferencedEnvelope tripArea; protected boolean rendererRunning; - public TripMapUIHandler(TripMapUI view) { - this.view = view; - } - - public void initUI() { - - ObserveMapPane mapPane = getObserveMapPane(); - - MouseMapListener mouseMapListener = new MouseMapListener(); - mapPane.addMouseWheelListener(mouseMapListener); - mapPane.addMouseMotionListener(mouseMapListener); - mapPane.addMouseListener(mouseMapListener); - mapPane.addMapPaneListener(new TripMapListener()); - - mapPane.setComponentPopupMenu(view.getMapPopupMenu()); - - rendererRunning = false; - - } - public void setConfig(ObserveSwingApplicationConfig config) { this.config = config; @@ -165,7 +142,7 @@ public class TripMapUIHandler { } public void zoomIt() { - if (! tripArea.isEmpty()) { + if (!tripArea.isEmpty()) { JMapPane mapPane = getObserveMapPane(); mapPane.setDisplayArea(tripArea); } @@ -199,19 +176,19 @@ public class TripMapUIHandler { protected Point zoomCenter; protected void zoomApply() { - if (zoomRatio != 1 && ! rendererRunning) { + if (zoomRatio != 1 && !rendererRunning) { JMapPane mapPane = getObserveMapPane(); ReferencedEnvelope displayArea = mapPane.getDisplayArea(); - double deltaWidth = displayArea.getWidth() * (zoomRatio -1); + double deltaWidth = displayArea.getWidth() * (zoomRatio - 1); double deltaHeight = displayArea.getHeight() * (zoomRatio - 1); - double ratioLeft = zoomCenter.getX() * 1d / mapPane.getWidth(); + double ratioLeft = zoomCenter.getX() * 1d / mapPane.getWidth(); // l'axe de Y est inversé entre le référentiel du composant swing et le référentiel géographique - double ratioTop = 1 - (zoomCenter.getY() * 1d / mapPane.getHeight()); + double ratioTop = 1 - (zoomCenter.getY() * 1d / mapPane.getHeight()); double deltaLeft = deltaWidth * ratioLeft; double deltaRight = deltaLeft - deltaWidth; @@ -221,7 +198,7 @@ public class TripMapUIHandler { if (log.isDebugEnabled()) { log.debug(String.format("Map mouse zoom (zoom ratio : %s, deltaLeft : %s, deltaRight : %s, deltaTop : %s, deltaBottom : %s)", - zoomRatio, deltaLeft, deltaRight, deltaRight, deltaBottom)); + zoomRatio, deltaLeft, deltaRight, deltaRight, deltaBottom)); } ReferencedEnvelope newDisplayArea = new ReferencedEnvelope( @@ -240,6 +217,28 @@ public class TripMapUIHandler { } + @Override + public void beforeInit(TripMapUI ui) { + this.view = ui; + } + + @Override + public void afterInit(TripMapUI ui) { + + ObserveMapPane mapPane = getObserveMapPane(); + + MouseMapListener mouseMapListener = new MouseMapListener(); + mapPane.addMouseWheelListener(mouseMapListener); + mapPane.addMouseMotionListener(mouseMapListener); + mapPane.addMouseListener(mouseMapListener); + mapPane.addMapPaneListener(new TripMapListener()); + + mapPane.setComponentPopupMenu(view.getMapPopupMenu()); + + rendererRunning = false; + + } + private class MouseMapListener implements MouseWheelListener, MouseListener, MouseMotionListener { @Override -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.