|
From: <bma...@us...> - 2011-10-10 16:03:59
|
Revision: 6510
http://fudaa.svn.sourceforge.net/fudaa/?rev=6510&view=rev
Author: bmarchan
Date: 2011-10-10 16:03:53 +0000 (Mon, 10 Oct 2011)
Log Message:
-----------
Ame : La fenetre de comparaison de profils conserve ses r?\195?\169glages d'une ouverture ?\195?\160 l'autre.
Modified Paths:
--------------
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlCompareProfilePanel.java
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/SceneCompareProfileAction.java
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/modeleur1d/view/PnGestionProfil.java
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/modeleur1d/view/VueCourbe.java
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlCompareProfilePanel.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlCompareProfilePanel.java 2011-10-10 16:01:49 UTC (rev 6509)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlCompareProfilePanel.java 2011-10-10 16:03:53 UTC (rev 6510)
@@ -10,6 +10,7 @@
import java.awt.BorderLayout;
import java.awt.Dimension;
+import javax.swing.DefaultListSelectionModel;
import javax.swing.JSplitPane;
import javax.swing.SwingUtilities;
import javax.swing.event.ListSelectionEvent;
@@ -25,7 +26,9 @@
import org.fudaa.ctulu.CtuluUI;
import org.fudaa.ebli.commun.EbliFormatterInterface;
import org.fudaa.fudaa.modeleur.action.MdlCompareProfileSet;
+import org.fudaa.fudaa.modeleur.modeleur1d.controller.ProfileSelectionModel;
import org.fudaa.fudaa.modeleur.modeleur1d.controller.ProfileSetControllerI;
+import org.fudaa.fudaa.modeleur.modeleur1d.model.ProfileSetI;
import org.fudaa.fudaa.modeleur.modeleur1d.view.PnGestionProfil;
import org.fudaa.fudaa.modeleur.modeleur1d.view.VueCourbe;
import org.fudaa.fudaa.modeleur.modeleur1d.view.VueProfilI;
@@ -47,11 +50,68 @@
protected VueTableau viewTable_;
protected VueCourbe viewCurve_;
protected VueProfileSet viewProfSet_;
+ protected PnGestionProfil pnProfiles_;
protected boolean listenEventSelection_=true;
+ private ProfileSetController ctrl_;
- public MdlCompareProfilePanel(CtuluUI _ui, CtuluCommandManager _mng, EbliFormatterInterface _fmt, final ProfileSetControllerI _ctrl) {
- setLayout(new BorderLayout(2, 2));
+ class ProfileSetController implements ProfileSetControllerI {
+ ProfileSetI profSet_;
+ ProfileSelectionModel selmdl_;
+
+ class ProfilSelectionModel extends DefaultListSelectionModel implements ProfileSelectionModel{
+
+ public ProfilSelectionModel() {
+ super.setSelectionMode(SINGLE_SELECTION);
+ }
+
+ public int getSelectedProfil() {
+ return getMinSelectionIndex();
+ }
+
+ public void setSelectedProfil(int _idx) {
+ if (_idx==-1)
+ clearSelection();
+ else
+ setSelectionInterval(_idx, _idx);
+ }
+
+ }
+
+ public ProfileSetController() {
+ selmdl_=new ProfilSelectionModel();
+ }
+
+ public void setProfileSet(ProfileSetI _profSet) {
+ profSet_=_profSet;
+ selmdl_.setSelectedProfil(-1);
+ }
+
+ public void ajoutProfil() {
+ }
+
+ public void fusionnerProfil() {
+ }
+
+ public ProfileSelectionModel getProfilSelectionModel() {
+ return selmdl_;
+ }
+
+ public void renameProfil(int _idxProfil, String _newName) {
+ }
+
+ public void supprimerSelectedProfil() {
+ if (profSet_!=null)
+ profSet_.removeProfil(selmdl_.getSelectedProfil(), null);
+ }
+
+ public ProfileSetI getProfilSet() {
+ return profSet_;
+ }
+ }
+
+ public MdlCompareProfilePanel(CtuluUI _ui, CtuluCommandManager _mng, EbliFormatterInterface _fmt) {
mng_=_mng;
+ ctrl_=new ProfileSetController();
// La commande est stock\xE9e \xE0 la fin, ou elle est d\xE9jou\xE9e.
cmp_=new CtuluCommandComposite(MdlResource.getS("Comparer les profils"));
@@ -60,7 +120,7 @@
// Le panneau des profils en travers
- viewCurve_=new VueCourbe(this, _ctrl.getProfilSet());
+ viewCurve_=new VueCourbe(this, null);
viewCurve_.setPrevNextVisible(true);
viewCurve_.addSelectionListener(new CtuluListSelectionListener() {
public void listeSelectionChanged(CtuluListSelectionEvent _e) {
@@ -73,10 +133,10 @@
});
// Le panneau liste des profils
- PnGestionProfil pnProfile=new PnGestionProfil(_ctrl,false);
+ pnProfiles_=new PnGestionProfil(ctrl_,false);
// Le panneau des coordonn\xE9es du profil courant.
- viewTable_=new VueTableau(this, _ctrl.getProfilSet().getProfil(0),true);
+ viewTable_=new VueTableau(this, null, true);
viewTable_.addSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
if (listenEventSelection_) {
@@ -89,27 +149,28 @@
// Le panneau de la vue 2D
viewProfSet_=new VueProfileSet(_ui);
- viewProfSet_.setProfilSet((MdlCompareProfileSet)_ctrl.getProfilSet());
viewProfSet_.addSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
int indsel=viewProfSet_.getSelectedProfile();
- _ctrl.getProfilSelectionModel().setSelectedProfil(indsel);
+ ctrl_.getProfilSelectionModel().setSelectedProfil(indsel);
}
});
- _ctrl.getProfilSelectionModel().addListSelectionListener(new ListSelectionListener() {
+ ctrl_.getProfilSelectionModel().addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
- int idxProf=_ctrl.getProfilSelectionModel().getSelectedProfil();
+ int idxProf=ctrl_.getProfilSelectionModel().getSelectedProfil();
viewCurve_.setSelectedProfile(idxProf);
- viewTable_.setProfil(_ctrl.getProfilSet().getProfil(idxProf));
+ viewTable_.setProfil(ctrl_.getProfilSet().getProfil(idxProf));
viewProfSet_.setSelectedProfile(idxProf);
}
});
+ setLayout(new BorderLayout(2, 2));
+
JSplitPane pnMain=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
JSplitPane pnLeft=new JSplitPane(JSplitPane.VERTICAL_SPLIT);
final JSplitPane pnRight=new JSplitPane(JSplitPane.VERTICAL_SPLIT);
- pnLeft.add(pnProfile,JSplitPane.TOP);
+ pnLeft.add(pnProfiles_,JSplitPane.TOP);
pnLeft.add(viewTable_,JSplitPane.BOTTOM);
pnRight.add(viewProfSet_, JSplitPane.TOP);
pnRight.add(viewCurve_,JSplitPane.BOTTOM);
@@ -129,6 +190,27 @@
});
}
+ /**
+ * Changement de profil set. Le controller est sens\xE9 avoir ce m\xEAme
+ * profile set.
+ * @param _profSet Le profile set.
+ */
+ public void setProfileSet(MdlCompareProfileSet _profSet) {
+ ctrl_.setProfileSet(_profSet);
+ viewCurve_.setProfilSet(_profSet);
+ viewProfSet_.setProfilSet(_profSet);
+ pnProfiles_.setProfileSet(_profSet);
+ viewTable_.setProfil(null);
+ }
+
+ /**
+ * Definit le profil selectionn\xE9.
+ * @param _profId L'identifiant du profil.
+ */
+ public void setSelectedProfile(int _profId) {
+ ctrl_.getProfilSelectionModel().setSelectedProfil(_profId);
+ }
+
@Override
public boolean isDataValid() {
return true;
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/SceneCompareProfileAction.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/SceneCompareProfileAction.java 2011-10-10 16:01:49 UTC (rev 6509)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/SceneCompareProfileAction.java 2011-10-10 16:03:53 UTC (rev 6510)
@@ -9,7 +9,6 @@
import org.fudaa.fudaa.modeleur.MdlCompareProfileAdapter;
import java.awt.event.ActionEvent;
-import javax.swing.DefaultListSelectionModel;
import org.fudaa.ctulu.gis.GISAttributeInterface;
import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee;
import org.fudaa.ctulu.gui.CtuluDialog;
@@ -22,9 +21,6 @@
import org.fudaa.ebli.commun.EbliActionSimple;
import org.fudaa.fudaa.modeleur.MdlCompareProfilePanel;
import org.fudaa.fudaa.modeleur.MdlVisuPanel;
-import org.fudaa.fudaa.modeleur.modeleur1d.controller.ProfileSelectionModel;
-import org.fudaa.fudaa.modeleur.modeleur1d.controller.ProfileSetControllerI;
-import org.fudaa.fudaa.modeleur.modeleur1d.model.ProfileSetI;
import org.fudaa.fudaa.modeleur.resource.MdlResource;
/**
@@ -40,58 +36,7 @@
MdlVisuPanel pnCalques_;
/** Instanci\xE9 1 seule fois pour conserver les options d'une ouverture \xE0 l'autre. */
MdlCompareProfilePanel pnProfiles_;
-
- class ProfileController implements ProfileSetControllerI {
- ProfileSetI profSet_;
- ProfileSelectionModel selmdl_;
- class ProfilSelectionModel extends DefaultListSelectionModel implements ProfileSelectionModel{
-
- public ProfilSelectionModel() {
- super.setSelectionMode(SINGLE_SELECTION);
- }
-
- public int getSelectedProfil() {
- return getMinSelectionIndex();
- }
-
- public void setSelectedProfil(int _idx) {
- if (_idx==-1)
- clearSelection();
- else
- setSelectionInterval(_idx, _idx);
- }
-
- }
-
- public ProfileController(ProfileSetI _profSet) {
- profSet_=_profSet;
- selmdl_=new ProfilSelectionModel();
- selmdl_.setSelectedProfil(-1);
- }
-
- public void ajoutProfil() {
- }
-
- public void fusionnerProfil() {
- }
-
- public ProfileSelectionModel getProfilSelectionModel() {
- return selmdl_;
- }
-
- public void renameProfil(int _idxProfil, String _newName) {
- }
-
- public void supprimerSelectedProfil() {
- profSet_.removeProfil(selmdl_.getSelectedProfil(), null);
- }
-
- public ProfileSetI getProfilSet() {
- return profSet_;
- }
- }
-
/**
* @param _sceneEditor L'editeur sp\xE9cifique a la scene.
*/
@@ -166,11 +111,12 @@
indsel=0;
}
- ProfileController cont=new ProfileController(profSet);
+ if (pnProfiles_==null)
+ pnProfiles_=new MdlCompareProfilePanel(pnCalques_.getCtuluUI(), pnCalques_.getCmdMng(), pnCalques_.getEbliFormatter());
- pnProfiles_=new MdlCompareProfilePanel(pnCalques_.getCtuluUI(), pnCalques_.getCmdMng(), pnCalques_.getEbliFormatter(), cont);
- cont.getProfilSelectionModel().setSelectedProfil(indsel);
- pnProfiles_.affiche(pnCalques_.getFrame(), MdlResource.getS("Comparaison de profils"), CtuluDialog.OK_CANCEL_OPTION);
+ pnProfiles_.setProfileSet(profSet);
+ pnProfiles_.setSelectedProfile(indsel);
+ pnProfiles_.afficheModale(pnCalques_.getFrame(), MdlResource.getS("Comparaison de profils"), CtuluDialog.OK_CANCEL_OPTION);
}
/**
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/modeleur1d/view/PnGestionProfil.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/modeleur1d/view/PnGestionProfil.java 2011-10-10 16:01:49 UTC (rev 6509)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/modeleur1d/view/PnGestionProfil.java 2011-10-10 16:03:53 UTC (rev 6510)
@@ -43,7 +43,7 @@
protected ProfileSetControllerI controllerProfil_;
/** Tableau d'affichage des biefs. */
protected JTable tableProfils_;
- protected TableProfilModel tbModel_;
+ private TableProfilModel tbModel_;
public PnGestionProfil(ProfileSetControllerI _controllerProfil) {
this(_controllerProfil,true);
@@ -130,7 +130,7 @@
super(new String[]{MdlResource.getS("Index"),MdlResource.getS("Nom")}, 0);
// profilSet_=controllerProfil_.getProfilSet();
// profilSet_.addListener(this);
- setProfilSet(controllerProfil_.getProfilSet());
+// setProfilSet(controllerProfil_.getProfilSet());
}
public void setProfilSet(ProfileSetI _profSet) {
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/modeleur1d/view/VueCourbe.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/modeleur1d/view/VueCourbe.java 2011-10-10 16:01:49 UTC (rev 6509)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/modeleur1d/view/VueCourbe.java 2011-10-10 16:03:53 UTC (rev 6510)
@@ -670,8 +670,10 @@
public VueCourbe(VueProfilI _controller, ProfileSetI _profSet){
controller_=_controller;
profSet_=_profSet;
- profSet_.addListener(this);
+ if (profSet_!=null)
+ profSet_.addListener(this);
+
// Cr\xE9ation du container des courbes \\
grapheModel_=new EGGrapheSimpleModel();
grapheVue_=new EGGraphe(grapheModel_);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|