branch develop updated (d5b6b96 -> 390f79f)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from d5b6b96 Amélioration menu Navigation new 390f79f Amélioration de l'écran générale des référentiels The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 390f79fc87bb2245d2fb60b4d41e55916992b2c0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Dec 22 13:10:48 2016 +0100 Amélioration de l'écran générale des référentiels Summary of changes: .../swing/ui/content/ObserveFocusManager.java | 30 ++++++++++++++- .../ui/content/ref/ContentReferenceUIHandler.java | 4 +- ...zer.java => ContentReferenceUIInitializer.java} | 4 +- .../ui/content/ref/ReferenceHomeCommonUI.java | 17 +++++++++ .../ui/content/ref/ReferenceHomeLonglineUI.java | 18 +++++++++ .../swing/ui/content/ref/ReferenceHomeSeineUI.java | 17 +++++++++ .../swing/ui/content/ref/ReferenceHomeUI.jaxx | 15 +++----- .../swing/ui/content/ref/ReferenceHomeUI.jcss | 6 +-- .../ui/content/ref/ReferenceHomeUIHandler.java | 33 +++++++++++++++- .../swing/ui/content/ref/ReferenceHomeUIModel.java | 44 +++++++++++++++++++++- .../swing/ui/tree/navigation/NavigationTree.java | 1 - .../ui/tree/navigation/NavigationTreeModel.java | 13 +++---- .../nodes/NavigationTreeNodeSupport.java | 24 ++++++++++++ .../ReferentialsCommonNavigationTreeNode.java} | 23 +++++------ .../ReferentialsLonglineNavigationTreeNode.java} | 23 +++++------ ... => ReferentialsNavigationTreeNodeSupport.java} | 21 ++--------- .../ReferentialsSeineNavigationTreeNode.java} | 23 +++++------ 17 files changed, 228 insertions(+), 88 deletions(-) rename application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/{ReferentialContentUIInitializer.java => ContentReferenceUIInitializer.java} (88%) create mode 100644 application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeCommonUI.java create mode 100644 application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeLonglineUI.java create mode 100644 application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeSeineUI.java copy application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/{longline/TdrLonglineNavigationTreeNode.java => referential/ReferentialsCommonNavigationTreeNode.java} (64%) copy application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/{longline/TdrLonglineNavigationTreeNode.java => referential/ReferentialsLonglineNavigationTreeNode.java} (63%) rename application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/{ReferentialsNavigationTreeNode.java => ReferentialsNavigationTreeNodeSupport.java} (73%) copy application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/{longline/TdrLonglineNavigationTreeNode.java => referential/ReferentialsSeineNavigationTreeNode.java} (64%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
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 390f79fc87bb2245d2fb60b4d41e55916992b2c0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Dec 22 13:10:48 2016 +0100 Amélioration de l'écran générale des référentiels --- .../swing/ui/content/ObserveFocusManager.java | 30 ++++++++++++++- .../ui/content/ref/ContentReferenceUIHandler.java | 4 +- ...zer.java => ContentReferenceUIInitializer.java} | 4 +- .../ui/content/ref/ReferenceHomeCommonUI.java | 17 +++++++++ .../ui/content/ref/ReferenceHomeLonglineUI.java | 18 +++++++++ .../swing/ui/content/ref/ReferenceHomeSeineUI.java | 17 +++++++++ .../swing/ui/content/ref/ReferenceHomeUI.jaxx | 15 +++----- .../swing/ui/content/ref/ReferenceHomeUI.jcss | 6 +-- .../ui/content/ref/ReferenceHomeUIHandler.java | 33 +++++++++++++++- .../swing/ui/content/ref/ReferenceHomeUIModel.java | 44 +++++++++++++++++++++- .../swing/ui/tree/navigation/NavigationTree.java | 1 - .../ui/tree/navigation/NavigationTreeModel.java | 13 +++---- .../nodes/NavigationTreeNodeSupport.java | 24 ++++++++++++ .../ReferentialsCommonNavigationTreeNode.java} | 25 +++++++----- .../ReferentialsLonglineNavigationTreeNode.java} | 25 +++++++----- ... => ReferentialsNavigationTreeNodeSupport.java} | 21 ++--------- .../ReferentialsSeineNavigationTreeNode.java} | 25 +++++++----- 17 files changed, 243 insertions(+), 79 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveFocusManager.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveFocusManager.java index 7eebaec..f51f660 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveFocusManager.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveFocusManager.java @@ -41,7 +41,9 @@ import fr.ird.observe.application.swing.ui.content.open.impl.seine.ActivitySeine import fr.ird.observe.application.swing.ui.content.open.impl.seine.RouteUI; import fr.ird.observe.application.swing.ui.content.open.impl.seine.TripSeineUI; import fr.ird.observe.application.swing.ui.content.ref.ContentReferenceUI; -import fr.ird.observe.application.swing.ui.content.ref.ReferenceHomeUI; +import fr.ird.observe.application.swing.ui.content.ref.ReferenceHomeCommonUI; +import fr.ird.observe.application.swing.ui.content.ref.ReferenceHomeLonglineUI; +import fr.ird.observe.application.swing.ui.content.ref.ReferenceHomeSeineUI; import fr.ird.observe.application.swing.ui.content.ref.impl.GearUI; import fr.ird.observe.application.swing.ui.content.ref.impl.LengthLengthParameterUI; import fr.ird.observe.application.swing.ui.content.ref.impl.LengthWeightParameterUI; @@ -705,7 +707,31 @@ public class ObserveFocusManager { }); - builder.put(ReferenceHomeUI.class, new ObserveLayoutFocusTraversalPolicy<ReferenceHomeUI>() { + builder.put(ReferenceHomeCommonUI.class, new ObserveLayoutFocusTraversalPolicy<ReferenceHomeCommonUI>() { + @Override + protected Component getFirstComponentForEdit(Container aContainer) { + return null; + } + + @Override + protected Component getLastComponentForEdit(Container aContainer) { + return null; + } + + }); + builder.put(ReferenceHomeLonglineUI.class, new ObserveLayoutFocusTraversalPolicy<ReferenceHomeLonglineUI>() { + @Override + protected Component getFirstComponentForEdit(Container aContainer) { + return null; + } + + @Override + protected Component getLastComponentForEdit(Container aContainer) { + return null; + } + + }); + builder.put(ReferenceHomeSeineUI.class, new ObserveLayoutFocusTraversalPolicy<ReferenceHomeSeineUI>() { @Override protected Component getFirstComponentForEdit(Container aContainer) { return null; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java index 80ff81b..57bc138 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java @@ -100,7 +100,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto, U extends Conte private final Runnable revalidate; - private ReferentialContentUIInitializer<E, U> uiInitializer; + private ContentReferenceUIInitializer<E, U> uiInitializer; public ContentReferenceUIHandler() { super(null, null); @@ -125,7 +125,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto, U extends Conte @Override public void beforeInit(U ui) { super.beforeInit(ui); - uiInitializer = new ReferentialContentUIInitializer<>(ui); + uiInitializer = new ContentReferenceUIInitializer<>(ui); } @Override diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferentialContentUIInitializer.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIInitializer.java similarity index 88% rename from application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferentialContentUIInitializer.java rename to application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIInitializer.java index 67db91f..4fcea35 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferentialContentUIInitializer.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIInitializer.java @@ -31,9 +31,9 @@ import fr.ird.observe.services.dto.referential.ReferentialDto; * @author Tony Chemit - chemit@codelutin.com * @since 3.9 */ -public class ReferentialContentUIInitializer<E extends ReferentialDto, U extends ContentReferenceUI<E, U>> extends ContentUIInitializer<E, U> { +public class ContentReferenceUIInitializer<E extends ReferentialDto, U extends ContentReferenceUI<E, U>> extends ContentUIInitializer<E, U> { - public ReferentialContentUIInitializer(U ui) { + public ContentReferenceUIInitializer(U ui) { super(ui); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeCommonUI.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeCommonUI.java new file mode 100644 index 0000000..f9a6ea1 --- /dev/null +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeCommonUI.java @@ -0,0 +1,17 @@ +package fr.ird.observe.application.swing.ui.content.ref; + +import jaxx.runtime.JAXXContext; +import jaxx.runtime.context.JAXXInitialContext; + +/** + * Created on 22/12/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 6.0 + */ +public class ReferenceHomeCommonUI extends ReferenceHomeUI { + + public ReferenceHomeCommonUI(JAXXContext param0) { + super(((JAXXInitialContext) param0).add(new ReferenceHomeUIModel.ReferenceHomeCommonUIModel())); + } +} diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeLonglineUI.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeLonglineUI.java new file mode 100644 index 0000000..8b58d43 --- /dev/null +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeLonglineUI.java @@ -0,0 +1,18 @@ +package fr.ird.observe.application.swing.ui.content.ref; + +import jaxx.runtime.JAXXContext; +import jaxx.runtime.context.JAXXInitialContext; + +/** + * Created on 22/12/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 6.0 + */ +public class ReferenceHomeLonglineUI extends ReferenceHomeUI { + + public ReferenceHomeLonglineUI(JAXXContext param0) { + super(((JAXXInitialContext) param0).add(new ReferenceHomeUIModel.ReferenceHomeLonglineUIModel())); + } + +} diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeSeineUI.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeSeineUI.java new file mode 100644 index 0000000..ff86220 --- /dev/null +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeSeineUI.java @@ -0,0 +1,17 @@ +package fr.ird.observe.application.swing.ui.content.ref; + +import jaxx.runtime.JAXXContext; +import jaxx.runtime.context.JAXXInitialContext; + +/** + * Created on 22/12/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 6.0 + */ +public class ReferenceHomeSeineUI extends ReferenceHomeUI { + + public ReferenceHomeSeineUI(JAXXContext param0) { + super(((JAXXInitialContext)param0).add(new ReferenceHomeUIModel.ReferenceHomeSeineUIModel())); + } +} diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUI.jaxx index 6d3a065..4a2afa6 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUI.jaxx @@ -20,20 +20,15 @@ #L% --> -<fr.ird.observe.application.swing.ui.content.ContentUI superGenericType='ProgramDto, ReferenceHomeUI'> +<fr.ird.observe.application.swing.ui.content.ContentUI superGenericType='ProgramDto, ReferenceHomeUI' + contentTitle='{getModel().getNodeName()}'> <import> fr.ird.observe.services.dto.referential.ProgramDto - fr.ird.observe.application.swing.ui.content.ContentMode </import> - <ReferenceHomeUIModel id='model'/> + <ReferenceHomeUIModel id='model' initializer="getContextValue(ReferenceHomeUIModel.class)"/> - <Table id='body' fill='both' weighty="1"> - <row weighty="1" weightx="1"> - <cell> - <JLabel id='homeLabel'/> - </cell> - </row> - </Table> + <JPanel id="body" layout="{new GridLayout(0,1)}"> + </JPanel> </fr.ird.observe.application.swing.ui.content.ContentUI> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUI.jcss index 1f3a61e..29a1f4a 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUI.jcss @@ -19,8 +19,4 @@ * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ - -#homeLabel { - text:"observe.message.referentiel.home"; - horizontalAlignment:{JLabel.CENTER}; -} + diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIHandler.java index 5d4fad8..ab39b6c 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIHandler.java @@ -22,13 +22,23 @@ package fr.ird.observe.application.swing.ui.content.ref; * #L% */ +import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.db.DataContext; import fr.ird.observe.application.swing.db.ObserveSwingDataSource; +import fr.ird.observe.application.swing.decoration.ObserveI18nDecoratorHelper; import fr.ird.observe.application.swing.ui.content.ContentMode; import fr.ird.observe.application.swing.ui.content.ContentUIHandler; +import fr.ird.observe.application.swing.ui.tree.navigation.NavigationTree; +import fr.ird.observe.application.swing.ui.tree.navigation.nodes.NavigationTreeNodeSupport; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; import jaxx.runtime.spi.UIHandler; +import javax.swing.JButton; +import javax.swing.JPanel; + +import static org.nuiton.i18n.I18n.t; + /** * Created on 9/28/14. * @@ -43,7 +53,7 @@ public class ReferenceHomeUIHandler extends ContentUIHandler<ProgramDto, Referen @Override protected ContentMode getContentMode(DataContext dataContext) { - return null; + return ContentMode.READ; } @Override @@ -51,4 +61,25 @@ public class ReferenceHomeUIHandler extends ContentUIHandler<ProgramDto, Referen return source.canWriteReferential(); } + @Override + public void afterInit(ReferenceHomeUI ui) { + super.afterInit(ui); + + JPanel panel = ui.getBody(); + + String nodeName = ui.getModel().getNodeName(); + NavigationTree navigation = ObserveSwingApplicationContext.get().getMainUI().getNavigation(); + NavigationTreeNodeSupport<?> referentialNode = navigation.getReferentialNode(nodeName); + + for (Class<? extends ReferentialDto> type : ui.getModel().getTypes()) { + + String text = t(ObserveI18nDecoratorHelper.getTypePluralI18nKey(type)); + JButton button = new JButton(text); + button.addActionListener(e -> navigation.selectNode(referentialNode.findChildByClass(type))); + panel.add(button); + + } + + getModel().setEnabled(true); + } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIModel.java index 197b62e..48452aa 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIModel.java @@ -22,8 +22,18 @@ package fr.ird.observe.application.swing.ui.content.ref; * #L% */ +import com.google.common.collect.ImmutableList; +import fr.ird.observe.application.swing.decoration.ObserveI18nDecoratorHelper; import fr.ird.observe.application.swing.ui.content.ContentUIModel; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialHelper; + +import java.util.ArrayList; +import java.util.List; + +import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; /** * Created on 9/28/14. @@ -31,12 +41,42 @@ import fr.ird.observe.services.dto.referential.ProgramDto; * @author Tony Chemit - chemit@codelutin.com * @since XXX */ -public class ReferenceHomeUIModel extends ContentUIModel<ProgramDto> { +public abstract class ReferenceHomeUIModel extends ContentUIModel<ProgramDto> { + + public static class ReferenceHomeCommonUIModel extends ReferenceHomeUIModel { + public ReferenceHomeCommonUIModel() { + super(new ArrayList<>(ReferentialHelper.REFERENCE_COMMON_DTOS), t("observe.type.reference.common")); + } + } + + public static class ReferenceHomeSeineUIModel extends ReferenceHomeUIModel { + public ReferenceHomeSeineUIModel() { + super(new ArrayList<>(ReferentialHelper.REFERENCE_SEINE_DTOS), t("observe.type.reference.seine")); + } + } + + public static class ReferenceHomeLonglineUIModel extends ReferenceHomeUIModel { + public ReferenceHomeLonglineUIModel() { + super(new ArrayList<>(ReferentialHelper.REFERENCE_LONGLINE_DTOS), t("observe.type.reference.longline")); + } + } private static final long serialVersionUID = 1L; - public ReferenceHomeUIModel() { + private final String nodeName; + private final ImmutableList<Class<? extends ReferentialDto>> types; + + protected ReferenceHomeUIModel(List<Class<? extends ReferentialDto>> types, String nodeName) { super(ProgramDto.class); + this.types = ImmutableList.copyOf(ObserveI18nDecoratorHelper.sortPluralTypes(types)); + this.nodeName = nodeName; } + public ImmutableList<Class<? extends ReferentialDto>> getTypes() { + return types; + } + + public String getNodeName() { + return nodeName; + } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTree.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTree.java index bb10bab..4825d3b 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTree.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTree.java @@ -33,7 +33,6 @@ import fr.ird.observe.application.swing.ui.tree.navigation.nodes.longline.Activi import fr.ird.observe.application.swing.ui.tree.navigation.nodes.longline.ProgramLonglineNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.longline.SetLonglineNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.longline.TripLonglineNavigationTreeNode; -import fr.ird.observe.application.swing.ui.tree.navigation.nodes.referential.ReferentialsNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.seine.ActivitiesSeineNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.seine.ActivitySeineNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.seine.FloatingObjectSeineNavigationTreeNode; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeModel.java index 70c5ed3..5d9cbf8 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeModel.java @@ -27,14 +27,15 @@ import fr.ird.observe.application.swing.ui.tree.navigation.nodes.NavigationTreeN import fr.ird.observe.application.swing.ui.tree.navigation.nodes.RootNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.WithChildsToReload; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.longline.ProgramLonglineNavigationTreeNode; -import fr.ird.observe.application.swing.ui.tree.navigation.nodes.referential.ReferentialsNavigationTreeNode; +import fr.ird.observe.application.swing.ui.tree.navigation.nodes.referential.ReferentialsCommonNavigationTreeNode; +import fr.ird.observe.application.swing.ui.tree.navigation.nodes.referential.ReferentialsLonglineNavigationTreeNode; +import fr.ird.observe.application.swing.ui.tree.navigation.nodes.referential.ReferentialsSeineNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.seine.ProgramSeineNavigationTreeNode; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineHelper; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ProgramHelper; -import fr.ird.observe.services.dto.referential.ReferentialHelper; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.dto.seine.TripSeineHelper; @@ -49,8 +50,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; -import static org.nuiton.i18n.I18n.n; - /** * Created on 14/11/16. * @@ -127,9 +126,9 @@ public class NavigationTreeModel extends DefaultTreeModel { } if (isLoadReferential()) { - root.add(ReferentialsNavigationTreeNode.of(n("observe.type.reference.common"), ReferentialHelper.REFERENCE_COMMON_DTOS)); - root.add(ReferentialsNavigationTreeNode.of(n("observe.type.reference.longline"), ReferentialHelper.REFERENCE_LONGLINE_DTOS)); - root.add(ReferentialsNavigationTreeNode.of(n("observe.type.reference.seine"), ReferentialHelper.REFERENCE_SEINE_DTOS)); + root.add(new ReferentialsCommonNavigationTreeNode()); + root.add(new ReferentialsLonglineNavigationTreeNode()); + root.add(new ReferentialsSeineNavigationTreeNode()); } setRoot(root); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/NavigationTreeNodeSupport.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/NavigationTreeNodeSupport.java index 54f1533..9310548 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/NavigationTreeNodeSupport.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/NavigationTreeNodeSupport.java @@ -182,6 +182,30 @@ public abstract class NavigationTreeNodeSupport<O> extends ObserveTreeNodeSuppor return null; } + public NavigationTreeNodeSupport findChildByClass(Class<?> childType) { + + if (!isLoaded()) { + + // il faut charger les fils du noeud pour effectuer la recherche + populateChilds(); + } + + if (isLeaf()) { + + // au final le noeud est une feuille, donc ne convient pas + return null; + } + Enumeration<NavigationTreeNodeSupport> children = children(); + while (children.hasMoreElements()) { + NavigationTreeNodeSupport node = children.nextElement(); + if (childType.isAssignableFrom((Class)node.getUserObject())) { + return node; + } + } + + return null; + } + @Override public boolean isLeaf() { return isLoaded() && super.isLeaf(); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsCommonNavigationTreeNode.java similarity index 56% copy from application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIModel.java copy to application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsCommonNavigationTreeNode.java index 197b62e..8a95b4f 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsCommonNavigationTreeNode.java @@ -1,6 +1,6 @@ -package fr.ird.observe.application.swing.ui.content.ref; +package fr.ird.observe.application.swing.ui.tree.navigation.nodes.referential; -/* +/*- * #%L * ObServe :: Application Swing * %% @@ -22,21 +22,26 @@ package fr.ird.observe.application.swing.ui.content.ref; * #L% */ -import fr.ird.observe.application.swing.ui.content.ContentUIModel; -import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.application.swing.ui.content.ref.ReferenceHomeCommonUI; +import fr.ird.observe.services.dto.referential.ReferentialHelper; + +import static org.nuiton.i18n.I18n.t; /** - * Created on 9/28/14. + * Created on 14/11/16. * * @author Tony Chemit - chemit@codelutin.com - * @since XXX + * @since 6.0 */ -public class ReferenceHomeUIModel extends ContentUIModel<ProgramDto> { +public class ReferentialsCommonNavigationTreeNode extends ReferentialsNavigationTreeNodeSupport { - private static final long serialVersionUID = 1L; + public ReferentialsCommonNavigationTreeNode() { + super(t("observe.type.reference.common"), ReferentialHelper.REFERENCE_COMMON_DTOS); + } - public ReferenceHomeUIModel() { - super(ProgramDto.class); + @Override + public Class<ReferenceHomeCommonUI> getContentClass() { + return ReferenceHomeCommonUI.class; } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsLonglineNavigationTreeNode.java similarity index 55% copy from application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIModel.java copy to application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsLonglineNavigationTreeNode.java index 197b62e..83d94e0 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsLonglineNavigationTreeNode.java @@ -1,6 +1,6 @@ -package fr.ird.observe.application.swing.ui.content.ref; +package fr.ird.observe.application.swing.ui.tree.navigation.nodes.referential; -/* +/*- * #%L * ObServe :: Application Swing * %% @@ -22,21 +22,26 @@ package fr.ird.observe.application.swing.ui.content.ref; * #L% */ -import fr.ird.observe.application.swing.ui.content.ContentUIModel; -import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.application.swing.ui.content.ref.ReferenceHomeLonglineUI; +import fr.ird.observe.services.dto.referential.ReferentialHelper; + +import static org.nuiton.i18n.I18n.t; /** - * Created on 9/28/14. + * Created on 14/11/16. * * @author Tony Chemit - chemit@codelutin.com - * @since XXX + * @since 6.0 */ -public class ReferenceHomeUIModel extends ContentUIModel<ProgramDto> { +public class ReferentialsLonglineNavigationTreeNode extends ReferentialsNavigationTreeNodeSupport { - private static final long serialVersionUID = 1L; + public ReferentialsLonglineNavigationTreeNode() { + super(t("observe.type.reference.longline"), ReferentialHelper.REFERENCE_LONGLINE_DTOS); + } - public ReferenceHomeUIModel() { - super(ProgramDto.class); + @Override + public Class<ReferenceHomeLonglineUI> getContentClass() { + return ReferenceHomeLonglineUI.class; } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsNavigationTreeNode.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsNavigationTreeNodeSupport.java similarity index 73% rename from application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsNavigationTreeNode.java rename to application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsNavigationTreeNodeSupport.java index dc7e33a..24c744d 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsNavigationTreeNode.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsNavigationTreeNodeSupport.java @@ -24,31 +24,23 @@ package fr.ird.observe.application.swing.ui.tree.navigation.nodes.referential; import com.google.common.collect.ImmutableSet; import fr.ird.observe.application.swing.decoration.ObserveI18nDecoratorHelper; -import fr.ird.observe.application.swing.ui.content.ref.ReferenceHomeUI; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.StringNavigationTreeNodeSupport; import fr.ird.observe.services.dto.referential.ReferentialDto; -import static org.nuiton.i18n.I18n.t; - /** * Created on 14/11/16. * * @author Tony Chemit - chemit@codelutin.com * @since 6.0 */ -public class ReferentialsNavigationTreeNode extends StringNavigationTreeNodeSupport { +public abstract class ReferentialsNavigationTreeNodeSupport extends StringNavigationTreeNodeSupport { - public static ReferentialsNavigationTreeNode of(String name, ImmutableSet<Class<? extends ReferentialDto>> types) { - ReferentialsNavigationTreeNode result = new ReferentialsNavigationTreeNode(t(name)); + public ReferentialsNavigationTreeNodeSupport(String name, ImmutableSet<Class<? extends ReferentialDto>> types) { + super(name, true); for (Class<? extends ReferentialDto> aClass : ObserveI18nDecoratorHelper.sortPluralTypes(types)) { ReferentialNavigationTreeNode child = new ReferentialNavigationTreeNode<>(aClass); - result.add(child); + add(child); } - return result; - } - - public ReferentialsNavigationTreeNode(String name) { - super(name, true); } @Override @@ -57,11 +49,6 @@ public class ReferentialsNavigationTreeNode extends StringNavigationTreeNodeSupp } @Override - public Class<ReferenceHomeUI> getContentClass() { - return ReferenceHomeUI.class; - } - - @Override public String getText() { return getData(); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsSeineNavigationTreeNode.java similarity index 56% copy from application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIModel.java copy to application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsSeineNavigationTreeNode.java index 197b62e..aae3c41 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ReferenceHomeUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/referential/ReferentialsSeineNavigationTreeNode.java @@ -1,6 +1,6 @@ -package fr.ird.observe.application.swing.ui.content.ref; +package fr.ird.observe.application.swing.ui.tree.navigation.nodes.referential; -/* +/*- * #%L * ObServe :: Application Swing * %% @@ -22,21 +22,26 @@ package fr.ird.observe.application.swing.ui.content.ref; * #L% */ -import fr.ird.observe.application.swing.ui.content.ContentUIModel; -import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.application.swing.ui.content.ref.ReferenceHomeSeineUI; +import fr.ird.observe.services.dto.referential.ReferentialHelper; + +import static org.nuiton.i18n.I18n.t; /** - * Created on 9/28/14. + * Created on 14/11/16. * * @author Tony Chemit - chemit@codelutin.com - * @since XXX + * @since 6.0 */ -public class ReferenceHomeUIModel extends ContentUIModel<ProgramDto> { +public class ReferentialsSeineNavigationTreeNode extends ReferentialsNavigationTreeNodeSupport { - private static final long serialVersionUID = 1L; + public ReferentialsSeineNavigationTreeNode() { + super(t("observe.type.reference.seine"), ReferentialHelper.REFERENCE_SEINE_DTOS); + } - public ReferenceHomeUIModel() { - super(ProgramDto.class); + @Override + public Class<ReferenceHomeSeineUI> getContentClass() { + return ReferenceHomeSeineUI.class; } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm