From: <had...@us...> - 2009-01-30 18:59:47
|
Revision: 4432 http://fudaa.svn.sourceforge.net/fudaa/?rev=4432&view=rev Author: hadouxad Date: 2009-01-30 18:59:41 +0000 (Fri, 30 Jan 2009) Log Message: ----------- Liste des am?\195?\169liorations: - Superposition: modification de la pile des frames: actions accessibles via clic droit sur les frame: monter, descendre, en premier, en dernier (comme pour les graphes et vues 2d) - Correction bugs rejoue des donn?\195?\169es pour les trajectoires/lignes de courant - Action origine de la courbe: un Bouton offre la possibilit?\195?\169 de cr?\195?\169er la frame de la vue de la fen?\195?\170tre et de l'ins?\195?\169rer automatiquement dans le layout. Cette action permet de visualiser la frame avec l'origine de la cr?\195?\169ation de la courbe pour plus de visibilit?\195?\169 par l'utilisateur : un calque est automatiquement g?\195?\169n?\195?\169r?\195?\169 avec les informations g?\195?\169om?\195?\169triques qui porte le nom de la courbe. -Assistant cr?\195?\169ation graphe: cr?\195?\169er automatiquement une trace dans la vue 2d: propose par d?\195?\169faut un flag qui g?\195?\169n?\195?\168re automatiquement le calque avec les donn?\195?\169es d'origine du graphe dans la vue 2d, permet de conserver une trace. Propose de saisir un titre pr?\195?\169 remplit. - Ajout du panel rechercher directement a cote de l'interface de modif pour l'action rejouer les donn?\195?\169es Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MVProfileCourbeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCommonImplementation.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostFlecheContent.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrReplayCurvesData.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostTrajectoireTaskModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostWizardCourbeTemporelle.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostWizardProfilSpatial.java Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MVProfileCourbeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MVProfileCourbeModel.java 2009-01-30 18:55:31 UTC (rev 4431) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MVProfileCourbeModel.java 2009-01-30 18:59:41 UTC (rev 4432) @@ -160,13 +160,39 @@ _table.put(MvResource.getS("Pas de temps"), pdt); LineString polyligne = builder_.getInitLine(); - if (polyligne != null) { + if (polyligne != null && polyligne.getNumPoints()>0) { _table.put(MvResource.getS("Polyligne, nb pts"), Integer.toString(polyligne.getNumPoints())); - _table.put(MvResource.getS("Point d\xE9but"), "(" + formater.getFormatter().format(polyligne.getCoordinateN(0).x) - + ";" + formater.getFormatter().format(polyligne.getCoordinateN(0).y) + ")"); - _table.put(MvResource.getS("Point fin"), "(" - + formater.getFormatter().format(polyligne.getCoordinateN(polyligne.getNumPoints() - 1).x) + ";" - + formater.getFormatter().format(polyligne.getCoordinateN(polyligne.getNumPoints() - 1).y) + ")"); + + String ptDebut="("; + if( formater!=null && formater.getFormatter()!=null) + ptDebut+= formater.getFormatter().format(polyligne.getCoordinateN(0).x); + else + ptDebut+=polyligne.getCoordinateN(0).x; + ptDebut+= ";"; + if( formater!=null && formater.getFormatter()!=null) + ptDebut+= formater.getFormatter().format(polyligne.getCoordinateN(0).y); + else + ptDebut+=polyligne.getCoordinateN(0).y; + ptDebut+= ")"; + + _table.put(MvResource.getS("Point d\xE9but"), ptDebut); + + int fin=polyligne.getNumPoints() - 1; + String ptFin="("; + if( formater!=null && formater.getFormatter()!=null) + ptFin+= formater.getFormatter().format(polyligne.getCoordinateN(fin).x); + else + ptFin+=polyligne.getCoordinateN(fin).x; + ptFin+= ";"; + if( formater!=null && formater.getFormatter()!=null) + ptFin+= formater.getFormatter().format(polyligne.getCoordinateN(fin).y); + else + ptFin+=polyligne.getCoordinateN(fin).y; + ptFin+= ")"; + + _table.put(MvResource.getS("Point fin"), ptFin); + + } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCommonImplementation.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCommonImplementation.java 2009-01-30 18:55:31 UTC (rev 4431) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCommonImplementation.java 2009-01-30 18:59:41 UTC (rev 4432) @@ -79,7 +79,13 @@ */ public TrPostLayoutFille getCurrentLayoutFille() { final JInternalFrame currentInternalFrame = getCurrentInternalFrame(); - return currentInternalFrame instanceof TrPostLayoutFille ? (TrPostLayoutFille) currentInternalFrame : null; + if( currentInternalFrame instanceof TrPostLayoutFille) + return (TrPostLayoutFille) currentInternalFrame; + else{ + //-- on recherche la premiere file layout qu'on a et on l'envoie --// + //-- ACHTUNG: CAS A TRAITER:EXEMPLE SI ON EST DANS LA FRAME GESTION MULTI SOURCE; ON EST PAS DANS LA CURRENT LAYOUT MAIS ON S EN FOUT--// + return getAllLayoutFille().get(0); + } } /** @@ -129,6 +135,7 @@ setEnabledForAction("ENREGISTRER", true); setEnabledForAction("ENREGISTRERSOUS", true); setEnabledForAction("IMPORTER", true); + setEnabledForAction("RECHERCHER", true); setEnabledForAction(getImportResultsAct(), true); setEnabledForAction("IMPORT_PROJECT", true); } @@ -298,6 +305,7 @@ setEnabledForAction("IMPORTER", true); setEnabledForAction(getImportResultsAct(), true); setEnabledForAction("IMPORT_PROJECT", true); + setEnabledForAction("RECHERCHER", true); } }); } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostFlecheContent.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostFlecheContent.java 2009-01-30 18:55:31 UTC (rev 4431) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostFlecheContent.java 2009-01-30 18:59:41 UTC (rev 4432) @@ -36,6 +36,9 @@ H2dVariableType getVy(); + + + /** * @return un clone de l'objet */ Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrReplayCurvesData.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrReplayCurvesData.java 2009-01-30 18:55:31 UTC (rev 4431) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrReplayCurvesData.java 2009-01-30 18:59:41 UTC (rev 4432) @@ -9,6 +9,7 @@ import java.awt.FlowLayout; import java.awt.Frame; import java.awt.GridLayout; +import java.awt.Point; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -17,9 +18,11 @@ import java.text.DecimalFormat; import java.util.Arrays; import java.util.Collection; +import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.Vector; @@ -32,6 +35,8 @@ import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; +import javax.swing.JSplitPane; +import javax.swing.JTabbedPane; import javax.swing.JTable; import javax.swing.JToolBar; import javax.swing.table.DefaultTableModel; @@ -56,13 +61,19 @@ import org.fudaa.ebli.calque.edition.ZCalqueLigneBriseeEditable; import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; import org.fudaa.ebli.calque.edition.ZModelePointEditable; +import org.fudaa.ebli.commun.EbliActionAbstract; import org.fudaa.ebli.commun.EbliActionInterface; +import org.fudaa.ebli.commun.EbliActionMap; import org.fudaa.ebli.commun.EbliActionPaletteAbstract; +import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.ebli.commun.EbliComponentFactory; import org.fudaa.ebli.controle.BSelecteurListComboBox; import org.fudaa.ebli.courbe.EGGrapheTreeModel; import org.fudaa.ebli.courbe.EGModel; +import org.fudaa.ebli.find.EbliFindDialog; +import org.fudaa.ebli.find.EbliFindableItem; import org.fudaa.ebli.palette.BPaletteInfo; +import org.fudaa.ebli.ressource.EbliResource; import org.fudaa.ebli.trace.TraceIcon; import org.fudaa.ebli.trace.TraceIconModel; import org.fudaa.ebli.trace.TraceLigneModel; @@ -80,6 +91,7 @@ import org.fudaa.fudaa.tr.post.dialogSpec.TrPostWizardImportScope; import org.openide.util.actions.Presenter.Toolbar; +import com.memoire.bu.Bu; import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuBorders; import com.memoire.bu.BuButton; @@ -87,6 +99,7 @@ import com.memoire.bu.BuList; import com.memoire.bu.BuPanel; import com.memoire.bu.BuRadioButton; +import com.memoire.bu.BuResource; import com.memoire.bu.BuScrollPane; import com.memoire.bu.BuToolBar; import com.memoire.bu.BuWizardDialog; @@ -174,11 +187,11 @@ - public JToolBar constructToolBarVue2d(TrPostVisuPanel vue2d,boolean modeEdition){ + public JToolBar constructToolBarVue2d(final TrPostVisuPanel vue2d,boolean modeEdition){ JToolBar toolbarCalque = new BuToolBar(); AbstractButton boutonSelection=null; //final EbliActionInterface[] actions =vue2d.getController().getSelectedNavigationAndStandardActionGroup(); - final List actions = vue2d.getController().getSelectedNavigationAndStandardActionGroup(); + final List actions = vue2d.getController().getActions();//getSelectedNavigationAndStandardActionGroup(); int i=0; for (final Iterator iterator = actions.iterator(); iterator.hasNext();) { // for (int i=0;i<actions.length;i++) { @@ -200,6 +213,16 @@ final ZCalqueSondeInteraction sonde = vue2d.getController().addCalqueSondeInteraction(); toolbarCalque.add(new CalqueActionSonde(sonde, vue2d.getArbreCalqueModel())); + //--ajout de l'action rechercher--// + EbliActionAbstract action=new EbliActionSimple("Rechercher",EbliResource.EBLI.getIcon("rechercher"),"RECH"){ + public void actionPerformed(final ActionEvent _e) { + vue2d.find(); + } + }; + + + toolbarCalque.add(action); + //-- activer par d\xE9faut l'action selection de points --// if(boutonSelection!=null) boutonSelection.doClick(); @@ -247,7 +270,7 @@ * @param implementation * @param modele */ - private TrReplayDialog constructDialog(TrPostVisuPanel vue2d, TrPostCommonImplementation implementation, EGModel modele,JComponent composantAdditionnel,boolean modeEdition,String title){ + private TrReplayDialog constructDialog(final TrPostVisuPanel vue2d, final TrPostCommonImplementation implementation,final EGModel modele,JComponent composantAdditionnel,boolean modeEdition,String title){ implementation.createTask(TrResource.getS("Origine ")+" "+modele.getTitle()); final TrReplayDialog pn = new TrReplayDialog(false); pn.setLayout(new BuBorderLayout()); @@ -264,7 +287,7 @@ JPanel panelSouth2=new JPanel(new FlowLayout(FlowLayout.LEFT)); panelSouth.add(vue2d.getLabelSuiviSouris()); - JPanel panelTotalSouth=new JPanel(new GridLayout(3,1)); + final JPanel panelTotalSouth=new JPanel(new GridLayout(3,1)); if(title!=null){ panelTotalSouth.add(new JLabel(title)); @@ -302,7 +325,17 @@ compEast.add(comp,BuBorderLayout.SOUTH); } } - pn.add(compEast,BuBorderLayout.EAST); + EbliFindDialog dialog= new EbliFindDialog(vue2d); + dialog.setSelectedFindAction((EbliFindableItem)vue2d.getCalqueActif()); + JTabbedPane panelEAST=new JTabbedPane(); + + //panelEAST.add(compEast,BorderLayout.CENTER); +// panelEAST.setTopComponent(dialog); +// panelEAST.setBottomComponent(compEast); + panelEAST.addTab("Rechercher", dialog); + panelEAST.addTab("Infos Points, Variables", compEast); + //pn.add(dialog,BorderLayout.WEST); + pn.add(panelEAST,BuBorderLayout.EAST); panelSouth.add(this.ecraser_); panelSouth.add(this.ajouter_); //final JScrollPane arbreVue2d = new JScrollPane(new BArbreCalque(vue2d.getArbreCalqueModel())); @@ -316,6 +349,22 @@ } + }else{ + + //-- ajout de l'action de cr\xE9ation de la vue 2d correspondante --// + EbliActionSimple genereVue2d=new EbliActionSimple( EbliResource.EBLI.getString("G\xE9n\xE9rer la frame dans le layout"), BuResource.BU.getToolIcon("crystal_graphe"), "WIDGETRECALQUE"){ + + public void actionPerformed(ActionEvent e){ + TrPostLayoutFille fille=implementation.getCurrentLayoutFille(); + if(fille==null) + { + implementation.error("Il n'existe pas de layout..."); + return; + } + fille.addCalque("Origine courbe:"+modele.getTitle(), new Point(100,100),new Dimension(300,300),vue2d/*.duplicate(new HashMap())*/,new CalqueLegendeWidgetAdapter(fille.getScene(),vue2d.getArbreCalqueModel())); + } + }; + panelSouth2.add(genereVue2d.buildButton(EbliComponentFactory.INSTANCE)); } @@ -365,7 +414,9 @@ calqueZ.setIconModel(0, new TraceIconModel(TraceIcon.PLUS,4,Color.blue)); else calqueZ.setIconModel(0, new TraceIconModel(TraceIcon.CARRE_SELECTION,3,Color.blue)); - vue2d.addCalque(calqueZ, true); + calqueZ.setTitle("Origine courbe de "+modele.getTitle()); + // vue2d.addCalque(calqueZ, true); + vue2d.getGroupGIS().add(calqueZ); calqueZ.setVisible(true); vue2d.setCalqueActif(memoire); //-- on affiche le contenu dans une dialog--// @@ -417,7 +468,9 @@ //calqueZ.setVisible(true); //calqueZ.setLineModel(0, new TraceLigneModel(1,2,Color.BLACK)); calqueZ.setIconModel(0, new TraceIconModel(TraceIcon.CARRE_SELECTION,3,Color.blue)); - vue2d.addCalque(calqueZ, true); + calqueZ.setTitle("Origine courbe de "+modele.getTitle()); + //vue2d.addCalque(calqueZ, true); + vue2d.getGroupGIS().add(calqueZ); calqueZ.setVisible(true); vue2d.setCalqueActif(memoire); //-- on affiche le contenu dans une dialog--// @@ -455,6 +508,7 @@ public int afficheModale(final Component _parent, final String _t, final int _option) { dialog_= createDialog(_parent); + dialog_.setModal(false); dialog_.setInitParent(_parent); dialog_.setOption(_option); if (_t != null) { @@ -517,7 +571,8 @@ //groupeCalque.addPointLayerAct("Origine", new GISZoneCollectionPoint()); BCalque resultatsCalque=vue2d.getCalqueActif(); - vue2d.addCalque(layer2, true); + //vue2d.addCalque(layer2, true); + vue2d.getGroupGIS().add(layer2); vue2d.setCalqueActif(resultatsCalque); //vue2d.addCalque(layer2, true); @@ -719,7 +774,8 @@ layer2.setEnabled(true); BCalque resultatsCalque=vue2d.getCalqueActif(); - vue2d.addCalque(layer2, true); + //vue2d.addCalque(layer2, true); + vue2d.getGroupGIS().add(layer2); vue2d.setCalqueActif(resultatsCalque); //-- creation du panel de choix des variables a selectionner --// Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostTrajectoireTaskModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostTrajectoireTaskModel.java 2009-01-30 18:55:31 UTC (rev 4431) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostTrajectoireTaskModel.java 2009-01-30 18:59:41 UTC (rev 4432) @@ -46,6 +46,8 @@ import org.fudaa.fudaa.tr.post.TrPostTrajectoireLineLayer; import org.fudaa.fudaa.tr.post.TrPostVisuPanel; +import sun.security.action.GetLongAction; + import com.memoire.bu.BuComboBox; import com.memoire.bu.BuGridLayout; import com.memoire.bu.BuPanel; @@ -211,12 +213,12 @@ } // -- premier point --// - doubleEditor_.setValue(dataReplay.points_.get(0).x, x_); - doubleEditor_.setValue(dataReplay.points_.get(0).y, y_); - + doubleEditor_.setValue(dataReplay.segment_.get(0).x, x_); + doubleEditor_.setValue(dataReplay.segment_.get(0).y, y_); + integerEditor_.setValue(dataReplay.nbPointsInitiaux_,nbPoints_); // -- dernier point --// - doubleEditor_.setValue(dataReplay.points_.get(dataReplay.points_.size() - 1).x, x2_); - doubleEditor_.setValue(dataReplay.points_.get(dataReplay.points_.size() - 1).y, y2_); + doubleEditor_.setValue(dataReplay.segment_.get(dataReplay.segment_.size() - 1).x, x2_); + doubleEditor_.setValue(dataReplay.segment_.get(dataReplay.segment_.size() - 1).y, y2_); // -- marqueurs --// if (dataReplay.marqueur_ != null) { @@ -318,6 +320,11 @@ final TrPostFlecheContent flecheContent = getSelectedVariable(); final EfTrajectoireParameters data = new EfTrajectoireParameters(); + data.segment_=new ArrayList<Coordinate>(); + data.segment_.add(getFirsCoordinate()); + data.segment_.add(getEndCoordinate()); + data.nbPointsInitiaux_=(Integer) integerEditor_.getValue(nbPoints_); + data.vx = flecheContent.getVx(); data.vy = flecheContent.getVy(); data.dureeIntegration_ = getDuree(); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostWizardCourbeTemporelle.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostWizardCourbeTemporelle.java 2009-01-30 18:55:31 UTC (rev 4431) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostWizardCourbeTemporelle.java 2009-01-30 18:59:41 UTC (rev 4432) @@ -1,6 +1,7 @@ package org.fudaa.fudaa.tr.post.dialogSpec; import java.awt.BorderLayout; +import java.awt.Color; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; @@ -26,20 +27,29 @@ import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPanel; +import javax.swing.JTextField; import javax.swing.table.AbstractTableModel; import org.fudaa.ctulu.CtuluListSelection; import org.fudaa.ctulu.CtuluTaskDelegate; import org.fudaa.ctulu.ProgressionInterface; import org.fudaa.ctulu.gis.GISPrecision; +import org.fudaa.ctulu.gis.GISZoneCollectionPoint; +import org.fudaa.ctulu.gui.CtuluDialog; +import org.fudaa.ctulu.gui.CtuluDialogPanel; import org.fudaa.ctulu.gui.CtuluLibSwing; import org.fudaa.ctulu.image.CtuluLibImage; import org.fudaa.dodico.ef.operation.EfIndexHelper; import org.fudaa.dodico.h2d.type.H2dVariableType; +import org.fudaa.ebli.calque.BCalque; +import org.fudaa.ebli.calque.ZCalquePoint; +import org.fudaa.ebli.calque.edition.ZModelePointEditable; import org.fudaa.ebli.courbe.EGGraphe; import org.fudaa.ebli.courbe.EGGrapheModel; import org.fudaa.ebli.geometrie.GrPoint; import org.fudaa.ebli.ressource.EbliResource; +import org.fudaa.ebli.trace.TraceIcon; +import org.fudaa.ebli.trace.TraceIconModel; import org.fudaa.ebli.visuallibrary.EbliNode; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.graphe.EbliWidgetCreatorGraphe; @@ -60,11 +70,13 @@ import com.memoire.bu.BuButtonPanel; import com.memoire.bu.BuCharValidator; import com.memoire.bu.BuCheckBox; +import com.memoire.bu.BuGridLayout; import com.memoire.bu.BuScrollPane; import com.memoire.bu.BuStringValidator; import com.memoire.bu.BuTextField; import com.memoire.bu.BuValueValidator; import com.memoire.bu.BuWizardTask; +import com.vividsolutions.jts.geom.Coordinate; /** * Wizard reserv\xE9 pour la creation de courbes temporelles. @@ -155,12 +167,10 @@ * les points selectionnes */ // private int[] ptIdx_; - BuCheckBox checkboxNewGraphe_ = new BuCheckBox(TrResource.TR.getString("Cr\xE9er un nouveau graphe")/* - * , EbliResource . - * EBLI . getIcon ( - * "crystal_valider" - * ) - */); + BuCheckBox checkboxNewGraphe_ = new BuCheckBox(TrResource.TR.getString("Cr\xE9er un nouveau graphe")); + + BuCheckBox traceOrigineDansVue2d_ = new BuCheckBox(TrResource.TR.getString("Cr\xE9er un calque avec les points d'origine de la courbe dans la vue 2d")); + private final MvExportChooseVarAndTime chooserVarTime_; // TrPostActionAddPointFromWidgetCalque.Temporel actionChoixGraphes_; @@ -286,6 +296,9 @@ bouttonCenter.add(checkboxNewGraphe_); main.add(bouttonCenter, BorderLayout.NORTH); + + panelControle.add(traceOrigineDansVue2d_); + traceOrigineDansVue2d_.setSelected(true); return main; } @@ -431,7 +444,55 @@ } } + /** + * Creer une trace de l'origine du graphe sous forme dd calque + */ + private void creerTraceCalque(){ + CtuluDialogPanel pn = new CtuluDialogPanel(false); + pn.setLayout(new BuGridLayout(2)); + pn.addLabel(TrLib.getString("Indiquer le nom du calque \xE0 cr\xE9er")); + JTextField tf = pn.addStringText(); + tf.setColumns(10); + tf.setText("Origine \xE9volution temporelle"); + pn.afficheModale(CtuluLibSwing.getActiveWindow(),"Trace de l'origine du graphe", CtuluDialog.OK_OPTION); + String titreCalque = tf.getText(); + + //-- cas interpol\xE9 --// + TrPostInterpolatePoint[] listeInterpol=getAllPOintsInt(); + if(listeInterpol!=null && listeInterpol.length>0){ + GISZoneCollectionPoint collectionPoint=new GISZoneCollectionPoint(); + for(int i=0;i<listeInterpol.length;i++) + collectionPoint.add(listeInterpol[i].getX(), listeInterpol[i].getY(),0); + ZModelePointEditable modelePointEdit=new ZModelePointEditable(collectionPoint); + ZCalquePoint calqueZ=new ZCalquePoint(modelePointEdit); + calqueZ.setIconModel(0, new TraceIconModel(TraceIcon.PLUS,4,Color.blue)); + calqueZ.setTitle(titreCalque+" Interpol\xE9s"); + calque_.getGroupGIS().add(calqueZ); + } + //-- cas reels --// + int[] listeReels=getAllPOintsReels(); + if(listeReels!=null && listeReels.length>0){ + GISZoneCollectionPoint collectionPoint=new GISZoneCollectionPoint(); + for(int i=0;i<listeReels.length;i++){ + + Coordinate coor=calque_.getSource().getGrid().getCoor(listeReels[i]); + collectionPoint.add(coor.x,coor.y,0); + } + ZModelePointEditable modelePointEdit=new ZModelePointEditable(collectionPoint); + ZCalquePoint calqueZ=new ZCalquePoint(modelePointEdit); + calqueZ.setIconModel(0, new TraceIconModel(TraceIcon.CARRE_SELECTION,3,Color.blue)); + calqueZ.setTitle(titreCalque+" Noeuds R\xE9els"); + calque_.getGroupGIS().add(calqueZ); + } + + + + + + } + + /** * appel\xE9 a la fin du wizard */ @Override @@ -448,6 +509,11 @@ // -- creation du model pour les donn\xE9es fournies --// final TrPostCourbeTreeModel modelTotal = createCourbeModel(prog); + //-- on enregistre les calques initiaux dans le graphe + if(traceOrigineDansVue2d_.isSelected()){ + creerTraceCalque(); + } + // -- creation d un nouveau graphe si coch\xE9 --// if (checkboxNewGraphe_.isSelected()) createNewGraphe(modelTotal, prog); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostWizardProfilSpatial.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostWizardProfilSpatial.java 2009-01-30 18:55:31 UTC (rev 4431) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostWizardProfilSpatial.java 2009-01-30 18:59:41 UTC (rev 4432) @@ -1,18 +1,27 @@ package org.fudaa.fudaa.tr.post.dialogSpec; import java.awt.BorderLayout; +import java.awt.Color; import java.awt.FlowLayout; import javax.swing.JComponent; import javax.swing.JPanel; +import javax.swing.JTextField; import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluTaskDelegate; import org.fudaa.ctulu.CtuluVariable; +import org.fudaa.ctulu.gis.GISZoneCollectionPoint; +import org.fudaa.ctulu.gui.CtuluDialog; +import org.fudaa.ctulu.gui.CtuluDialogPanel; import org.fudaa.ctulu.gui.CtuluLibSwing; import org.fudaa.dodico.ef.operation.EfLineIntersectionsResultsI; import org.fudaa.dodico.h2d.type.H2dVariableType; +import org.fudaa.ebli.calque.ZCalquePoint; +import org.fudaa.ebli.calque.edition.ZModelePointEditable; import org.fudaa.ebli.courbe.EGGraphe; +import org.fudaa.ebli.trace.TraceIcon; +import org.fudaa.ebli.trace.TraceIconModel; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.meshviewer.profile.MvProfileBuilderFromTree; import org.fudaa.fudaa.meshviewer.profile.MvProfileFillePanel; @@ -20,6 +29,7 @@ import org.fudaa.fudaa.tr.common.TrLib; import org.fudaa.fudaa.tr.common.TrResource; import org.fudaa.fudaa.tr.post.TrPostCommonImplementation; +import org.fudaa.fudaa.tr.post.TrPostInterpolatePoint; import org.fudaa.fudaa.tr.post.TrPostScene; import org.fudaa.fudaa.tr.post.TrPostSource; import org.fudaa.fudaa.tr.post.TrPostVisuPanel; @@ -27,7 +37,10 @@ import com.memoire.bu.BuButtonPanel; import com.memoire.bu.BuCheckBox; +import com.memoire.bu.BuGridLayout; import com.memoire.bu.BuWizardTask; +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.LineString; /** * classe reservee a la creation de profils spatiaux via un wizard. @@ -51,13 +64,9 @@ MvProfileBuilderFromTree builderParams_; - BuCheckBox checkboxNewGraphe_ = new BuCheckBox(TrResource.TR.getString("Cr\xE9er un nouveau graphe")/* - * , EbliResource . - * EBLI . getIcon ( - * "crystal_valider" - * ) - */); - + BuCheckBox checkboxNewGraphe_ = new BuCheckBox(TrResource.TR.getString("Cr\xE9er un nouveau graphe")); + BuCheckBox traceOrigineDansVue2d_ = new BuCheckBox(TrResource.TR.getString("Cr\xE9er un calque avec les points d'origine de la courbe dans la vue 2d")); + private final TrPostVisuPanel calque_; TrPostSource src_; public TrPostWizardProfilSpatial(final TrPostVisuPanel _calque, final MvProfileBuilderFromTree _chooserParam, final TrPostActionAddPointFromWidgetCalque.Spatial _actionChoixGraphes) { @@ -65,6 +74,7 @@ builderParams_ = _chooserParam; // calque_ = _calque; src_ = _calque.getSource(); + calque_=_calque; } @Override @@ -97,7 +107,45 @@ }); } + + /** + * Creer une trace de l'origine du graphe sous forme dd calque + */ + private void creerTraceCalque(){ + CtuluDialogPanel pn = new CtuluDialogPanel(false); + pn.setLayout(new BuGridLayout(2)); + pn.addLabel(TrLib.getString("Indiquer le nom du calque \xE0 cr\xE9er")); + JTextField tf = pn.addStringText(); + tf.setColumns(10); + tf.setText("Origine profil spatial"); + pn.afficheModale(CtuluLibSwing.getActiveWindow(),"Trace de l'origine du graphe", CtuluDialog.OK_OPTION); + String titreCalque = tf.getText(); + + + + //-- cas reels --// + LineString listePoints=builderParams_.selectedLine_; + + GISZoneCollectionPoint collectionPoint=new GISZoneCollectionPoint(); + + for(int i=0;i<listePoints.getNumPoints();i++) + collectionPoint.add(listePoints.getCoordinateN(i).x,listePoints.getCoordinateN(i).y,0); + + ZModelePointEditable modelePointEdit=new ZModelePointEditable(collectionPoint); + ZCalquePoint calqueZ=new ZCalquePoint(modelePointEdit); + calqueZ.setIconModel(0, new TraceIconModel(TraceIcon.CARRE_SELECTION,3,Color.blue)); + calqueZ.setTitle(titreCalque); + calque_.getGroupGIS().add(calqueZ); + + + + + + } + + + /** * appel\xE9 a la fin du wizard */ @Override @@ -105,13 +153,24 @@ builderParams_.close(); done_ = true; + + // -- creation d un nouveau graphe si coch\xE9 --// if (checkboxNewGraphe_.isSelected()) createNewGraphe(); + + //-- on enregistre les calques initiaux dans le graphe + if(traceOrigineDansVue2d_.isSelected()){ + creerTraceCalque(); + } + final TrPostCommonImplementation impl = getPostImpl(); // -- ajout des courbes dans les graphes --// for (int i = 0; i < this.actionChoixGraphes_.listeGraphesChoisis.size(); i++) { final EGGraphe graphe = this.actionChoixGraphes_.listeGraphesChoisis.get(i); + + + // -- preliminaire --// // bizarre ? builderParams_.selectedLine_ = builderParams_.getSelectedLine(); @@ -172,7 +231,7 @@ final JPanel bouttonCenter = new JPanel(new FlowLayout(FlowLayout.CENTER)); bouttonCenter.add(checkboxNewGraphe_); content.add(bouttonCenter, BorderLayout.NORTH); - + content.add(traceOrigineDansVue2d_,BorderLayout.SOUTH); content.setBorder(CtuluLibSwing.createTitleBorder(CtuluLib.getS("Etape 3: S\xE9lection et cr\xE9ation des graphes"))); if (actionChoixGraphes_.listeGraphesPossibles.size() == 0 && actionChoixGraphes_.listeGraphesChoisis.size() == 0) { @@ -180,6 +239,8 @@ checkboxNewGraphe_.setEnabled(false); actionChoixGraphes_.setEnabled(false); } + + traceOrigineDansVue2d_.setSelected(true); return content; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |