|
From: <de...@us...> - 2013-08-21 07:00:08
|
Revision: 8467
http://sourceforge.net/p/fudaa/svn/8467
Author: deniger
Date: 2013-08-21 07:00:02 +0000 (Wed, 21 Aug 2013)
Log Message:
-----------
CRUE-544
Modified Paths:
--------------
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/loi/ProfilCasierEditorTopComponent.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/loi/SousModeleCasierComponent.java
trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/layer.xml
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/loi/ProfilCasierEditorTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/loi/ProfilCasierEditorTopComponent.java 2013-08-21 00:51:31 UTC (rev 8466)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/loi/ProfilCasierEditorTopComponent.java 2013-08-21 07:00:02 UTC (rev 8467)
@@ -36,7 +36,6 @@
import org.fudaa.fudaa.crue.common.log.LogIconTranslationProvider;
import org.fudaa.fudaa.crue.common.log.LogsDisplayer;
import org.fudaa.fudaa.crue.loi.casier.ProfilCasierLoiUiController;
-import org.fudaa.fudaa.crue.loi.common.AbstractLoiUiController;
import org.fudaa.fudaa.crue.loi.common.LoiPopupMenuReceiver;
import org.fudaa.fudaa.crue.modelling.services.EnumModification;
import org.fudaa.fudaa.crue.modelling.services.ScenarioModificationEvent;
@@ -189,7 +188,7 @@
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
- selectedCasierChanged();
+ selectedCasierChanged(false);
}
}
});
@@ -277,9 +276,7 @@
if (currentProfil == null) {
return;
}
- String casier = getSelectedCasier().getNom() + " / " + getEditingNom();
- setName(NbBundle.getMessage(ProfilCasierEditorTopComponent.class, "ProfilCasierView.Title", casier));
- updateTopComponentName();
+ updateTopComponentNameFromSelection();
String error = validateNom();
if (error != null) {
lbNomValidation.setToolTipText(error);
@@ -363,26 +360,46 @@
cbProfils.setSelectedItem(toSelect);
}
- protected void selectedCasierChanged() {
+ protected int findProfilIdx(String id) {
+ ComboBoxModel model = cbProfils.getModel();
+ for (int i = model.getSize() - 1; i >= 0; i--) {
+ DonPrtGeoProfilCasier profil = (DonPrtGeoProfilCasier) model.getElementAt(i);
+ if (id.equals(profil.getId())) {
+ cbProfils.setSelectedIndex(i);
+ return i;
+ }
+ }
+ return -1;
+ }
+
+ protected void selectedCasierChanged(boolean restoreOldProfil) {
CatEMHCasier casier = getSelectedCasier();
- Object oldProfil = currentProfil;
+ DonPrtGeoProfilCasier oldProfil = currentProfil;
+ //TODO A VERIFIER
+ String oldNomSelected = null;
+ if (oldProfil != null) {
+ oldNomSelected = oldProfil.getId();
+ }
currentProfil = null;
if (casier != null) {
List<DonPrtGeoProfilCasier> profilCasiers = DonPrtHelper.getProfilCasier(casier);
Collections.sort(profilCasiers, ObjetNommeByNameComparator.INSTANCE);
- int idx = profilCasiers.indexOf(oldProfil);
cbProfils.setModel(new DefaultComboBoxModel(profilCasiers.toArray(new DonPrtGeoProfilCasier[profilCasiers.size()])));
- cbProfils.setSelectedItem(null);
+ int idx = -1;
+ if (restoreOldProfil) {
+ idx = findProfilIdx(oldNomSelected);
+ }
if (idx >= 0) {
cbProfils.setSelectedIndex(idx);
} else if (!profilCasiers.isEmpty()) {
cbProfils.setSelectedIndex(0);
+ } else {
+ cbProfils.setSelectedItem(null);
}
- setName(NbBundle.getMessage(ProfilCasierEditorTopComponent.class, "ProfilCasierView.Title", casier.getNom()));
} else {
- setName(initName);
cbProfils.setModel(new DefaultComboBoxModel());
}
+ updateTopComponentNameFromSelection();
updateCrudButtons();
}
@@ -461,14 +478,15 @@
@Override
protected void scenarioLoadedHandler() {
updating = true;
- final CatEMHCasier oldCasier = getSelectedCasier();
- EMHSousModele sousModeleToSelect = null;
+
+ CatEMHCasier oldCasier = getSelectedCasier();
if (oldCasier != null) {
- sousModeleToSelect = oldCasier.getParent();
+ oldCasier = (CatEMHCasier) getScenario().getIdRegistry().getEmh(oldCasier.getUiId());
}
- sousModelesCasiers.updateValuesAndSelection(getScenario(), oldCasier, sousModeleToSelect);
+ sousModelesCasiers.updateValuesAndSelection(getScenario(), oldCasier);
buildListProfilCasier();
- selectedCasierChanged();
+ selectedCasierChanged(true);
+
isNewProfil = false;
updating = false;
profilCasierLoiUiController.getGraphe().setExportTableCommentSupplier(this);
@@ -723,4 +741,19 @@
applyCourbeConfig();
setModified(false);
}
+
+ protected void updateTopComponentNameFromSelection() throws MissingResourceException {
+ String nameToUse = initName;
+ final CatEMHCasier selectedCasier = getSelectedCasier();
+ if (selectedCasier != null) {
+ if (getSelectedCasierProfil() != null) {
+ String casier = selectedCasier.getNom() + " / " + getEditingNom();
+ nameToUse = NbBundle.getMessage(ProfilCasierEditorTopComponent.class, "ProfilCasierView.Title", casier);
+ } else {
+ nameToUse = NbBundle.getMessage(ProfilCasierEditorTopComponent.class, "ProfilCasierView.Title", selectedCasier.getNom());
+ }
+ }
+ setName(nameToUse);
+ updateTopComponentName();
+ }
}
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/loi/SousModeleCasierComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/loi/SousModeleCasierComponent.java 2013-08-21 00:51:31 UTC (rev 8466)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/loi/SousModeleCasierComponent.java 2013-08-21 07:00:02 UTC (rev 8467)
@@ -55,25 +55,24 @@
}
boolean updating;
- void updateValuesAndSelection(EMHScenario scenario, CatEMHCasier initCasierToSelect, EMHSousModele initSousModelToSelect) {
+ void updateValuesAndSelection(EMHScenario scenario, CatEMHCasier initCasierToSelect) {
updating = true;
List<EMHSousModele> sousModelesList = scenario.getSousModeles();
EMHSousModele[] sousModelesArray = (EMHSousModele[]) sousModelesList.toArray(new EMHSousModele[sousModelesList.size()]);
- EMHSousModele sousModeleToSelect = initSousModelToSelect;
final IdRegistry idRegistry = scenario.getIdRegistry();
- if (sousModeleToSelect == null) {//on récupère l'ancienne selection
- sousModeleToSelect = getSelectedSousModele();
- }
- if (sousModeleToSelect != null) {
- sousModeleToSelect = (EMHSousModele) idRegistry.getEmh(sousModeleToSelect.getUiId());//au cas ou changement d'instance...
- }
CatEMHCasier casierToSelect = initCasierToSelect;
if (casierToSelect == null) {
casierToSelect = getSelectedCasier();
}
+ EMHSousModele sousModeleToSelect = null;
if (casierToSelect != null) {
casierToSelect = (CatEMHCasier) idRegistry.getEmh(casierToSelect.getUiId());//au cas ou changement d'instance...
sousModeleToSelect = casierToSelect.getParent();//au cas une casier ait changé de sous-modele
+ } else {
+ sousModeleToSelect = getSelectedSousModele();
+ if (sousModeleToSelect != null) {
+ sousModeleToSelect = (EMHSousModele) idRegistry.getEmh(sousModeleToSelect.getUiId());//au cas ou changement d'instance...
+ }
}
cbSousModeles.setModel(new DefaultComboBoxModel(sousModelesArray));
if (sousModeleToSelect == null && sousModelesArray.length == 1) {
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/layer.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/layer.xml 2013-08-21 00:51:31 UTC (rev 8466)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/layer.xml 2013-08-21 07:00:02 UTC (rev 8467)
@@ -3,20 +3,9 @@
<filesystem>
<folder name="Actions">
-<!-- <folder name="Window">
- <file name="org-fudaa-fudaa-crue-modelling-ModellingActionsTopComponent.instance_hidden"/>
- <file name="org-fudaa-fudaa-crue-modelling-ModellingContainersTopComponent.instance">
- <attr name="iconBase" stringvalue="org/fudaa/fudaa/crue/modelling/rond-orange_16.png"/>
- <attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/>
- <attr name="preferredID" stringvalue="ModellingActionsTopComponent"/>
- </file>
- </folder>-->
+
</folder>
<folder name="Menu">
-<!-- <folder name="Modelling">
- <attr name="displayName" bundlevalue="org.fudaa.fudaa.crue.modelling.Bundle#Menu/Modelling"/>
- <attr name="position" intvalue="5"/>
- </folder>-->
<folder name="Window">
<folder name="Modelling">
<attr name="displayName" bundlevalue="org.fudaa.fudaa.crue.modelling.Bundle#Menu/Modelling"/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|