branch develop updated (dcbca30 -> 15c02cf)
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 dcbca30 Use nuiton-config 3.0 \o/ new 15c02cf [GESTION AVANCEE DES MAREES] Identifier les marées qui sont présentes des 2 côtés (Fixes #8575) 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 15c02cfee0fa7ed1379483b42491e77178e757c8 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Oct 4 09:15:42 2016 +0200 [GESTION AVANCEE DES MAREES] Identifier les marées qui sont présentes des 2 côtés (Fixes #8575) Summary of changes: .../data/DataSynchroSelectionTreeCellRenderer.java | 62 ++++++++++++++++++++++ .../ui/admin/synchronize/data/DataSynchroUI.jcss | 4 +- .../ui/tree/AbstractObserveTreeCellRenderer.java | 2 +- 3 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/data/DataSynchroSelectionTreeCellRenderer.java -- 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 15c02cfee0fa7ed1379483b42491e77178e757c8 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Oct 4 09:15:42 2016 +0200 [GESTION AVANCEE DES MAREES] Identifier les marées qui sont présentes des 2 côtés (Fixes #8575) --- .../data/DataSynchroSelectionTreeCellRenderer.java | 62 ++++++++++++++++++++++ .../ui/admin/synchronize/data/DataSynchroUI.jcss | 4 +- .../ui/tree/AbstractObserveTreeCellRenderer.java | 2 +- 3 files changed, 65 insertions(+), 3 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/data/DataSynchroSelectionTreeCellRenderer.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/data/DataSynchroSelectionTreeCellRenderer.java new file mode 100644 index 0000000..6b6cd04 --- /dev/null +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/data/DataSynchroSelectionTreeCellRenderer.java @@ -0,0 +1,62 @@ +package fr.ird.observe.application.swing.ui.admin.synchronize.data; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.application.swing.ui.UIHelper; +import fr.ird.observe.application.swing.ui.tree.DataSelectionTreeCellRenderer; +import fr.ird.observe.application.swing.ui.tree.ObserveNode; +import fr.ird.observe.application.swing.ui.tree.ReferentialReferenceNodeSupport; + +import javax.swing.Icon; +import javax.swing.JTree; +import javax.swing.tree.TreeModel; +import java.util.Enumeration; + +/** + * Created by tchemit on 04/10/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DataSynchroSelectionTreeCellRenderer extends DataSelectionTreeCellRenderer { + + private final Icon newTripIcon = UIHelper.createActionIcon("synchroAdd"); + private final Icon existingTripIcon = UIHelper.createActionIcon("synchroUpdate"); + private final JTree oppositeTree; + + private ImmutableSet<String> oppositeIds; + + public DataSynchroSelectionTreeCellRenderer(JTree oppositeTree) { + this.oppositeTree = oppositeTree; + } + + @Override + public void setIcon(ObserveNode node) { + if (node instanceof ReferentialReferenceNodeSupport<?> || !(oppositeTree.getModel().getRoot() instanceof ObserveNode)) { + super.setIcon(node); + } else { + if (getOppositeIds().contains(node.getId())) { + setDefaultIcons(existingTripIcon); + } else { + setDefaultIcons(newTripIcon); + } + } + } + + private ImmutableSet<String> getOppositeIds() { + if (oppositeIds == null) { + ImmutableSet.Builder<String> builder = ImmutableSet.builder(); + TreeModel model = oppositeTree.getModel(); + ObserveNode rootNode = (ObserveNode) model.getRoot(); + Enumeration<ObserveNode> programNodes = rootNode.children(); + while (programNodes.hasMoreElements()) { + ObserveNode programNode = programNodes.nextElement(); + Enumeration<ObserveNode> tripNodes = programNode.children(); + while (tripNodes.hasMoreElements()) { + ObserveNode tripNode = tripNodes.nextElement(); + builder.add(tripNode.getId()); + } + } + oppositeIds = builder.build(); + } + return oppositeIds; + } +} diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/data/DataSynchroUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/data/DataSynchroUI.jcss index d7a19f5..a6be801 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/data/DataSynchroUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/data/DataSynchroUI.jcss @@ -51,7 +51,7 @@ showsRootHandles:false; toggleClickCount:100; selectionModel:{leftSelectionModel}; - cellRenderer:{new DataSelectionTreeCellRenderer()}; + cellRenderer:{new DataSynchroSelectionTreeCellRenderer(rightTree)}; } #leftSelectionModel { @@ -71,7 +71,7 @@ showsRootHandles:false; toggleClickCount:100; selectionModel:{rightSelectionModel}; - cellRenderer:{new DataSelectionTreeCellRenderer()}; + cellRenderer:{new DataSynchroSelectionTreeCellRenderer(leftTree)}; } #rightSelectionModel { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/AbstractObserveTreeCellRenderer.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/AbstractObserveTreeCellRenderer.java index a3f3c92..b00bf46 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/AbstractObserveTreeCellRenderer.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/AbstractObserveTreeCellRenderer.java @@ -231,7 +231,7 @@ public abstract class AbstractObserveTreeCellRenderer extends AbstractNavTreeCel return icon; } - private void setDefaultIcons(Icon icon) { + protected void setDefaultIcons(Icon icon) { if (icon == null) { // the icon is not customized for this node setOpenIcon(getDefaultOpenIcon()); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm