This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit ddf29c02ebf7d2ae5be2b2db97573e720a312ce0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 4 12:18:09 2015 +0200 amélioration des textes de l'arbre de sélection --- .../GenericFormatExportUIHandler.java | 5 ++++ .../GenericFormatImportUIHandler.java | 5 ++++ .../genericformat/tree/CruiseSelectTreeNode.java | 10 ++++++-- .../genericformat/tree/DataSelectTreeModel.java | 11 ++------ .../tree/ExportDataSelectTreeCellRenderer.java | 21 +++++++++++----- .../tree/ImportDataSelectTreeCellRenderer.java | 29 ++++++++++++++-------- .../resources/i18n/tutti-ui-swing_en_GB.properties | 10 ++++++++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 10 ++++++++ 8 files changed, 74 insertions(+), 27 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/GenericFormatExportUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/GenericFormatExportUIHandler.java index 8c2c26b..e0c594a 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/GenericFormatExportUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/GenericFormatExportUIHandler.java @@ -139,6 +139,11 @@ public class GenericFormatExportUIHandler extends AbstractTuttiUIHandler<Generic @Override public void treeStructureChanged(TreeModelEvent e) { + + DataSelectTreeModel source = (DataSelectTreeModel) e.getSource(); + boolean dataSelected = source.isDataSelected(); + getModel().setDataSelected(dataSelected); + } }); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/GenericFormatImportUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/GenericFormatImportUIHandler.java index 8d7b445..b5c3545 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/GenericFormatImportUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/GenericFormatImportUIHandler.java @@ -170,6 +170,11 @@ public class GenericFormatImportUIHandler extends AbstractTuttiUIHandler<Generic @Override public void treeStructureChanged(TreeModelEvent e) { + + DataSelectTreeModel source = (DataSelectTreeModel) e.getSource(); + boolean dataSelected = source.isDataSelected(); + getModel().setDataSelected(dataSelected); + } }); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/CruiseSelectTreeNode.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/CruiseSelectTreeNode.java index 6b8cd21..07edfef 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/CruiseSelectTreeNode.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/CruiseSelectTreeNode.java @@ -134,7 +134,7 @@ public class CruiseSelectTreeNode extends DataSelectTreeNodeSupport<CruiseDataMo public void updateSelectedSate() { - if (!objectValueIsAdjusting) { + if (!objectValueIsAdjusting && nbChilds > 0) { nbChildSelected = 0; for (OperationSelectTreeNode o : this) { @@ -143,7 +143,13 @@ public class CruiseSelectTreeNode extends DataSelectTreeNodeSupport<CruiseDataMo } } - if (!selected && nbChildSelected > 0 && nbChildSelected == nbChilds) { + if (selected) { + + if (nbChildSelected < nbChilds) { + selected = false; + } + + } else if (nbChildSelected == nbChilds) { selected = true; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/DataSelectTreeModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/DataSelectTreeModel.java index fdb1709..330016c 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/DataSelectTreeModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/DataSelectTreeModel.java @@ -79,15 +79,7 @@ public class DataSelectTreeModel extends DefaultTreeModel { nodeChanged(node); if (node instanceof CruiseSelectTreeNode) { - CruiseSelectTreeNode cruiseNode = (CruiseSelectTreeNode) node; - - - nodeChanged(cruiseNode); - - for (OperationSelectTreeNode operationNode : cruiseNode) { - nodeChanged(operationNode); - } - + nodeStructureChanged(node); } else if (node instanceof OperationSelectTreeNode) { nodeChanged(node.getParent()); } @@ -106,6 +98,7 @@ public class DataSelectTreeModel extends DefaultTreeModel { setSelected(cruiseNode, true); } } + public void unselectAll() { for (CruiseSelectTreeNode cruiseNode : getRoot()) { setSelected(cruiseNode, false); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/ExportDataSelectTreeCellRenderer.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/ExportDataSelectTreeCellRenderer.java index b29e2ef..57b4447 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/ExportDataSelectTreeCellRenderer.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/ExportDataSelectTreeCellRenderer.java @@ -84,33 +84,42 @@ public class ExportDataSelectTreeCellRenderer extends DefaultTreeCellRenderer { DataSelectTreeNodeSupport node = (DataSelectTreeNodeSupport) value; - text = node.getLabel() + " (identifiant : " + node.getId() + ") "; filled = node.isSelected(); if (node instanceof CruiseSelectTreeNode) { CruiseSelectTreeNode cruiseSelectTreeNode = (CruiseSelectTreeNode) node; + text = t("tutti.genericformat.export.cruiseNode", cruiseSelectTreeNode.getLabel(), cruiseSelectTreeNode.getNbChilds()); + if (filled) { - tip = t("tutti.selectNode.cruiseSelected", cruiseSelectTreeNode.getNbChildSelected()); + tip = t("tutti.genericformat.export.cruiseNode.fullSelected", text, cruiseSelectTreeNode.getId()); } else if (cruiseSelectTreeNode.isPartialSelected()) { checkBox = partialCheckBox; - text += String.format(" ( %d / %d )", cruiseSelectTreeNode.getNbChildSelected(), cruiseSelectTreeNode.getNbChilds()); + tip = t("tutti.genericformat.export.cruiseNode.partialSelected", text, cruiseSelectTreeNode.getId(), cruiseSelectTreeNode.getNbChildSelected()); + + }else { + + tip = text; - tip = t("tutti.selectNode.cruisePartialSelected", cruiseSelectTreeNode.getNbChildSelected(), cruiseSelectTreeNode.getNbChilds()); } } else if (node instanceof OperationSelectTreeNode) { - text = t("tutti.selectNode.operation", text); + text = t("tutti.genericformat.export.operationNode", node.getLabel()); if (filled) { - tip = t("tutti.selectNode.operationSelected", text); + tip = t("tutti.genericformat.export.operationNode.selected", text, node.getId()); + + } else { + + tip = text; + } } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/ImportDataSelectTreeCellRenderer.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/ImportDataSelectTreeCellRenderer.java index ae4e1f7..6565122 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/ImportDataSelectTreeCellRenderer.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/ImportDataSelectTreeCellRenderer.java @@ -103,8 +103,8 @@ public class ImportDataSelectTreeCellRenderer extends DefaultTreeCellRenderer { } if (node.isExist()) { - checkBox.setText(checkBox.getText() + " (*)"); - checkBox.setToolTipText(checkBox.getToolTipText() + " (donnée existante - identifiant : " + node.getOptionalId() + ")"); + checkBox.setText(checkBox.getText() + " <i>(*)</i>"); + checkBox.setToolTipText(checkBox.getToolTipText() + " (donnée existante - identifiant " + node.getOptionalId() + ")"); } checkBox.setFont(font); @@ -120,20 +120,25 @@ public class ImportDataSelectTreeCellRenderer extends DefaultTreeCellRenderer { JCheckBox checkBox = normalCheckBox; - String text = node.getLabel(); - String tip = null; + String text; + String tip; + + text = t("tutti.genericformat.import.cruiseNode", node.getLabel(), node.getNbChilds()); if (node.isSelected()) { - tip = t("tutti.selectNode.cruiseSelected", node.getNbChildSelected()); + tip = t("tutti.genericformat.import.cruiseNode.fullSelected", text); } else if (node.isPartialSelected()) { checkBox = partialCheckBox; - text += String.format(" ( %d / %d )", node.getNbChildSelected(), node.getNbChilds()); + tip = t("tutti.genericformat.import.cruiseNode.partialSelected", text, node.getNbChildSelected()); + + } else { + + tip = text; - tip = t("tutti.selectNode.cruisePartialSelected", node.getNbChildSelected(), node.getNbChilds()); } checkBox.setText(text); @@ -147,13 +152,17 @@ public class ImportDataSelectTreeCellRenderer extends DefaultTreeCellRenderer { JCheckBox checkBox = normalCheckBox; - String tip = null; + String tip; - String text = t("tutti.selectNode.operation", node.getLabel()); + String text = t("tutti.genericformat.import.operationNode", node.getLabel()); if (node.isSelected()) { - tip = t("tutti.selectNode.operationSelected", text); + tip = t("tutti.genericformat.import.operationNode.selected", text, node.getId()); + + } else { + + tip = text; } diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index 6861de9..89bd6a9 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -1566,6 +1566,16 @@ tutti.genericFormatImport.validateImport.legend= tutti.genericFormatImport.validationResult.description= tutti.genericFormatImport.validationResult.description.tip= tutti.genericFormatImport.validationResult.legend= +tutti.genericformat.export.cruiseNode= +tutti.genericformat.export.cruiseNode.fullSelected= +tutti.genericformat.export.cruiseNode.partialSelected= +tutti.genericformat.export.operationNode= +tutti.genericformat.export.operationNode.selected= +tutti.genericformat.import.cruiseNode= +tutti.genericformat.import.cruiseNode.fullSelected= +tutti.genericformat.import.cruiseNode.partialSelected= +tutti.genericformat.import.operationNode= +tutti.genericformat.import.operationNode.selected= tutti.genericformat.overrideData.conflict.help= tutti.genericformat.overrideData.conflict.message= tutti.genericformat.overrideData.conflict.title= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index 975c698..50858da 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1497,6 +1497,16 @@ tutti.genericFormatImport.validateReportFile.extension=pdf tutti.genericFormatImport.validateReportFile.extension.description=Rapport de validation (.pdf) tutti.genericFormatImport.validationResult.description=Résultat de la validation tutti.genericFormatImport.validationResult.description.tip=Résultat de la validation +tutti.genericformat.export.cruiseNode=<html><body>Campagne <i>%s</i> (<i>%s</i> traits existants) +tutti.genericformat.export.cruiseNode.fullSelected=%s (identifiant <strong>%s</strong>), tous les traits sont sélectionnés +tutti.genericformat.export.cruiseNode.partialSelected=%s (identifiant <strong>%s</strong>), <i>%s</i> trait(s) sélectionné(s) +tutti.genericformat.export.operationNode=Trait %s +tutti.genericformat.export.operationNode.selected=<html><body>%s (identifiant <strong>%s</strong>) sélectionné +tutti.genericformat.import.cruiseNode=<html><body>Campagne <i>%s</i> (<i>%s</i> trait(s) détecté(s)) +tutti.genericformat.import.cruiseNode.fullSelected=%s, tous les traits sont sélectionnés +tutti.genericformat.import.cruiseNode.partialSelected=%s, <i>%s</i> trait(s) sélectionné(s) +tutti.genericformat.import.operationNode=Trait %s +tutti.genericformat.import.operationNode.selected=%s sélectionné tutti.genericformat.overrideData.conflict.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour annuler l'import</li><li><strong>Oui</strong> pour confirmer l'écrasement des données</li></ul> tutti.genericformat.overrideData.conflict.message=Parmi les données à importer, certaines existent déjà en base, voulez-vous les écraser ? tutti.genericformat.overrideData.conflict.title=Confirmer l'écrasement de données -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.