You can subscribe to this list here.
| 2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(46) |
Jul
(37) |
Aug
(154) |
Sep
(140) |
Oct
(132) |
Nov
(104) |
Dec
(67) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2009 |
Jan
(113) |
Feb
(73) |
Mar
(102) |
Apr
(106) |
May
(114) |
Jun
(67) |
Jul
(116) |
Aug
(48) |
Sep
(108) |
Oct
(296) |
Nov
(56) |
Dec
(53) |
| 2010 |
Jan
(95) |
Feb
(31) |
Mar
(40) |
Apr
(12) |
May
(10) |
Jun
(27) |
Jul
(19) |
Aug
(81) |
Sep
(48) |
Oct
(45) |
Nov
(40) |
Dec
(7) |
| 2011 |
Jan
(16) |
Feb
(32) |
Mar
(55) |
Apr
(38) |
May
(24) |
Jun
(37) |
Jul
(12) |
Aug
(16) |
Sep
(97) |
Oct
(90) |
Nov
(101) |
Dec
(89) |
| 2012 |
Jan
(18) |
Feb
(2) |
Mar
(54) |
Apr
(69) |
May
(97) |
Jun
(131) |
Jul
(70) |
Aug
(48) |
Sep
(48) |
Oct
(119) |
Nov
(194) |
Dec
(60) |
| 2013 |
Jan
(73) |
Feb
(35) |
Mar
(42) |
Apr
(28) |
May
(7) |
Jun
(17) |
Jul
(27) |
Aug
(10) |
Sep
(38) |
Oct
(12) |
Nov
(4) |
Dec
(16) |
| 2014 |
Jan
(33) |
Feb
(37) |
Mar
(19) |
Apr
(3) |
May
(47) |
Jun
(26) |
Jul
(22) |
Aug
|
Sep
(10) |
Oct
(30) |
Nov
(24) |
Dec
(19) |
| 2015 |
Jan
(13) |
Feb
(16) |
Mar
(36) |
Apr
(19) |
May
(5) |
Jun
(5) |
Jul
(3) |
Aug
(11) |
Sep
(22) |
Oct
(7) |
Nov
(14) |
Dec
|
| 2016 |
Jan
|
Feb
(26) |
Mar
(13) |
Apr
(61) |
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
(27) |
Nov
(14) |
Dec
(21) |
| 2017 |
Jan
(30) |
Feb
(4) |
Mar
(3) |
Apr
(5) |
May
(69) |
Jun
(29) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
Revision: 8472
http://sourceforge.net/p/fudaa/svn/8472
Author: deniger
Date: 2013-08-27 22:22:30 +0000 (Tue, 27 Aug 2013)
Log Message:
-----------
CRUE-501
Modified Paths:
--------------
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java 2013-08-27 22:21:26 UTC (rev 8471)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java 2013-08-27 22:22:30 UTC (rev 8472)
@@ -9,13 +9,10 @@
import java.io.FileReader;
import java.io.Reader;
import org.fudaa.ctulu.CtuluLibFile;
-import org.fudaa.ctulu.CtuluLog;
-import org.fudaa.fudaa.crue.common.log.LogsDisplayer;
import org.fudaa.fudaa.crue.modelling.calcul.importer.CLimMsImporter;
import org.netbeans.api.progress.ProgressHandle;
import org.netbeans.api.progress.ProgressRunnable;
import org.openide.util.Exceptions;
-import org.openide.util.NbBundle;
/**
*
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-08-27 22:16:16
|
Revision: 8470
http://sourceforge.net/p/fudaa/svn/8470
Author: deniger
Date: 2013-08-27 22:16:09 +0000 (Tue, 27 Aug 2013)
Log Message:
-----------
CRUE-545
Modified Paths:
--------------
trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleStatiqueImageRaster.java
Added Paths:
-----------
trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GisJGWFileReader.java
Modified: trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt
===================================================================
--- trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2013-08-26 14:15:41 UTC (rev 8469)
+++ trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2013-08-27 22:16:09 UTC (rev 8470)
@@ -332,4 +332,6 @@
Erreur lors de la validation du fichier xml\: {0}=Error while validating the XML file\: {0}
Indexation des points=Points indexation
Restaurer la fen\xEAtre parente=Restore the parent window
-Maximiser la fen\xEAtre parente=Maximize the parent window
\ No newline at end of file
+Maximiser la fen\xEAtre parente=Maximize the parent window
+Le contenu du fichier de g\xE9or\xE9f\xE9rencement n'est pas valide ( il doit contenir 6 lignes)=The content of the georeferencing file is not valid ( must contain 6 lines)
+La ligne {0} n'est pas valide et ne peut pas \xEAtre transform\xE9e en nombre=The line {0} is not valid and cannot be transformed to a number
\ No newline at end of file
Added: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GisJGWFileReader.java
===================================================================
--- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GisJGWFileReader.java (rev 0)
+++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GisJGWFileReader.java 2013-08-27 22:16:09 UTC (rev 8470)
@@ -0,0 +1,100 @@
+/*
+ GPL 2
+ */
+package org.fudaa.ctulu.gis;
+
+import java.awt.geom.Point2D;
+import java.io.File;
+import java.util.List;
+import org.fudaa.ctulu.CtuluIOResult;
+import org.fudaa.ctulu.CtuluImageContainer;
+import org.fudaa.ctulu.CtuluLib;
+import org.fudaa.ctulu.CtuluLibFile;
+import org.fudaa.ctulu.CtuluLog;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class GisJGWFileReader {
+
+ public static TransformResult getTransformPoints(ReadResult transform, final int imageWidth, final int imageHeight) {
+ if (transform == null) {
+ return null;
+ }
+ TransformResult res = new TransformResult();
+ res.imagePts = new Point2D.Double[3];
+ res.reelPts = new Point2D.Double[3];
+
+ //bas gauche
+ res.imagePts[0] = new Point2D.Double(0, imageHeight);
+ res.reelPts[0] = new Point2D.Double(transform.tx, transform.ty);
+
+ //haut gauche
+ res.imagePts[1] = new Point2D.Double(0, 0);
+ res.reelPts[1] = new Point2D.Double(transform.tx, transform.ty - imageHeight * transform.scaleY);
+
+ //bas droite
+ res.imagePts[2] = new Point2D.Double(imageWidth, imageHeight);
+ res.reelPts[2] = new Point2D.Double(transform.tx + imageWidth * transform.scaleX, transform.ty);
+
+
+ return res;
+ }
+
+ public static class ReadResult {
+
+ public double tx;
+ public double ty;
+ public double scaleX;
+ public double scaleY;
+ }
+
+ public static class TransformResult {
+
+ public Point2D.Double[] imagePts;
+ public Point2D.Double[] reelPts;
+ }
+
+ public static TransformResult getTransformPoints(ReadResult transform, CtuluImageContainer image) {
+
+ final int imageHeight = image.getImageHeight();
+ final int imageWidth = image.getImageWidth();
+
+
+ return getTransformPoints(transform, imageWidth, imageHeight);
+ }
+
+ public CtuluIOResult<ReadResult> read(File in) {
+ CtuluLog log = new CtuluLog();
+ CtuluIOResult<ReadResult> res = new CtuluIOResult<GisJGWFileReader.ReadResult>(log);
+ List<String> litFichierLineByLine = CtuluLibFile.litFichierLineByLine(in);
+ if (litFichierLineByLine.size() != 6) {
+ log.addError(CtuluLib.getS("Le contenu du fichier de g\xE9or\xE9f\xE9rencement n'est pas valide ( il doit contenir 6 lignes)"));
+ return res;
+ }
+ ReadResult result = new ReadResult();
+ try {
+ result.scaleX = Double.parseDouble(litFichierLineByLine.get(0));
+ } catch (NumberFormatException numberFormatException) {
+ log.addError(CtuluLib.getS("La ligne {0} n'est pas valide et ne peut pas \xEAtre transform\xE9e en nombre", "1"));
+ }
+ try {
+ result.scaleY = Double.parseDouble(litFichierLineByLine.get(3));
+ } catch (NumberFormatException numberFormatException) {
+ log.addError(CtuluLib.getS("La ligne {0} n'est pas valide et ne peut pas \xEAtre transform\xE9e en nombre", "3"));
+ }
+ try {
+ result.tx = Double.parseDouble(litFichierLineByLine.get(4));
+ } catch (NumberFormatException numberFormatException) {
+ log.addError(CtuluLib.getS("La ligne {0} n'est pas valide et ne peut pas \xEAtre transform\xE9e en nombre", "5"));
+ }
+ try {
+ result.ty = Double.parseDouble(litFichierLineByLine.get(5));
+ } catch (NumberFormatException numberFormatException) {
+ log.addError(CtuluLib.getS("La ligne {0} n'est pas valide et ne peut pas \xEAtre transform\xE9e en nombre", "6"));
+ }
+ res.setSource(result);
+ return res;
+ }
+}
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleStatiqueImageRaster.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleStatiqueImageRaster.java 2013-08-26 14:15:41 UTC (rev 8469)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleStatiqueImageRaster.java 2013-08-27 22:16:09 UTC (rev 8470)
@@ -10,6 +10,7 @@
import com.memoire.bu.BuLabel;
import com.memoire.bu.BuTable;
import com.memoire.fu.Fu;
+import com.memoire.fu.FuEmptyArrays;
import com.memoire.fu.FuLog;
import com.vividsolutions.jts.geom.Envelope;
import java.awt.Rectangle;
@@ -586,6 +587,7 @@
*/
@Override
public void setProj(final Point2D.Double[] _img, final Point2D.Double[] _reel) {
+ onlyWithTransform = false;
if (CtuluLibArray.isEmpty(_img) || CtuluLibArray.isEmpty(_reel)) {
clear();
return;
@@ -613,11 +615,20 @@
clear();
return;
}
+ onlyWithTransform = false;
erreurs_ = CtuluLibArray.copy(_err);
raster_ = new AffineTransform(_trans);
setValues(_img, _reel);
}
+ boolean onlyWithTransform;
+ public void setTransform(final AffineTransform _trans) {
+ onlyWithTransform = true;
+ clear();
+ erreurs_ = FuEmptyArrays.DOUBLE0;
+ raster_ = new AffineTransform(_trans);
+ }
+
public void setProjeMaxTaille(final int _maxSizePixel) {
clear();
final double maxSize = Math.max(getWImg(), getHImg());
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-08-26 14:15:44
|
Revision: 8469
http://sourceforge.net/p/fudaa/svn/8469
Author: deniger
Date: 2013-08-26 14:15:41 +0000 (Mon, 26 Aug 2013)
Log Message:
-----------
CRUE-545
Modified Paths:
--------------
trunk/soft/fudaa-crue/pom.xml
trunk/soft/fudaa-crue/ui-report/pom.xml
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/config/AbstractReportGrapheBuilder.java
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/config/CourbeColorFinder.java
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/multivar/ReportMultiVarGrapheBuilder.java
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/rptg/ReportRPTGGrapheBuilder.java
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalGrapheBuilder.java
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/transversal/ReportTransversalGrapheBuilder.java
trunk/soft/fudaa-crue/ui-wrapper/pom.xml
Modified: trunk/soft/fudaa-crue/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/pom.xml 2013-08-23 16:43:43 UTC (rev 8468)
+++ trunk/soft/fudaa-crue/pom.xml 2013-08-26 14:15:41 UTC (rev 8469)
@@ -100,6 +100,11 @@
<version>1.07.00</version>
</dependency>
<dependency>
+ <groupId>org.apache.poi</groupId>
+ <artifactId>poi-ooxml</artifactId>
+ <version>3.9</version>
+ </dependency>
+ <dependency>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>crue-io</artifactId>
<version>${project.version}</version>
Modified: trunk/soft/fudaa-crue/ui-report/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-report/pom.xml 2013-08-23 16:43:43 UTC (rev 8468)
+++ trunk/soft/fudaa-crue/ui-report/pom.xml 2013-08-26 14:15:41 UTC (rev 8469)
@@ -44,6 +44,10 @@
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>org.apache.poi</groupId>
+ <artifactId>poi-ooxml</artifactId>
+ </dependency>
+ <dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<scope>provided</scope>
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/config/AbstractReportGrapheBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/config/AbstractReportGrapheBuilder.java 2013-08-23 16:43:43 UTC (rev 8468)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/config/AbstractReportGrapheBuilder.java 2013-08-26 14:15:41 UTC (rev 8469)
@@ -239,6 +239,8 @@
}
+ protected abstract Collection<EGCourbePersist> getCachedCourbeConfig(Z content);
+
public void applyChange(Z content) {
List<EGCourbeSimple> internCourbes = getInternCourbes(content);
loadExternFilesAndAllToModel(content, internCourbes);
@@ -255,7 +257,7 @@
}
}
}
- new CourbeColorFinder().findNewColor(uiController.getGraphe());
+ new CourbeColorFinder().findNewColor(uiController.getGraphe(), CourbeColorFinder.createUsedColor(getCachedCourbeConfig(content)));
uiController.getGraphe().restore();
uiController.getGraphe().fullRepaint();
}
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/config/CourbeColorFinder.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/config/CourbeColorFinder.java 2013-08-23 16:43:43 UTC (rev 8468)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/config/CourbeColorFinder.java 2013-08-26 14:15:41 UTC (rev 8469)
@@ -6,20 +6,31 @@
import gnu.trove.TIntHashSet;
import java.awt.Color;
import java.io.File;
+import java.io.FileInputStream;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
+import java.util.Iterator;
import java.util.List;
-import jxl.Cell;
-import jxl.Sheet;
-import jxl.Workbook;
-import jxl.format.Colour;
-import jxl.format.RGB;
+import java.util.Map;
+import org.apache.commons.lang.StringUtils;
+import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFColor;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.fudaa.ctulu.CtuluLibFile;
import org.fudaa.ebli.courbe.EGCourbe;
+import org.fudaa.ebli.courbe.EGCourbePersist;
import org.fudaa.ebli.courbe.EGGraphe;
+import org.fudaa.ebli.palette.BPalettePlageAbstract;
import org.fudaa.ebli.palette.BPalettePlageDefault;
import org.fudaa.fudaa.crue.options.services.InstallationService;
import org.openide.util.Exceptions;
import org.openide.util.Lookup;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor;
/**
*
@@ -29,12 +40,12 @@
public static Color NONE = new Color(255, 255, 255, 0);
public static long colorIndexeslastTimeModified = -1;
- List<Color> siteColors;
+ private static List<Color> siteColors;
InstallationService installationService = Lookup.getDefault().lookup(InstallationService.class);
private List<Color> getSiteColors() {
File siteDir = installationService.getSiteDir();
- File colors = new File(siteDir, "default-colors.xls");
+ File colors = new File(siteDir, "default-colors.xlsx");
if (colors.isFile()) {
if (siteColors != null && colors.lastModified() <= colorIndexeslastTimeModified) {
return siteColors;
@@ -46,9 +57,26 @@
return Collections.emptyList();
}
- public void findNewColor(EGGraphe graphe) {
+ public static TIntHashSet createUsedColor(Collection<EGCourbePersist> courbeConfigs) {
+ TIntHashSet res = new TIntHashSet();
+ if (courbeConfigs != null) {
+ for (EGCourbePersist config : courbeConfigs) {
+ Color couleur = config.getLineModel_().getCouleur();
+ if (couleur != null) {
+ res.add(couleur.getRGB());
+ }
- TIntHashSet usedColors = new TIntHashSet();
+ }
+ }
+ return res;
+ }
+
+ public void findNewColor(EGGraphe graphe, TIntHashSet initUsedColor) {
+
+ TIntHashSet usedColors = initUsedColor;
+ if (usedColors == null) {
+ usedColors = new TIntHashSet();
+ }
List<EGCourbe> toModify = new ArrayList<EGCourbe>();
if (graphe != null) {
EGCourbe[] courbes = graphe.getModel().getCourbes();
@@ -77,41 +105,87 @@
return siteColor;
}
}
+ double dx = 0.1;
+ double v = 0;
+ //200 essais:
for (int i = 0; i < 200; i++) {
- Color color = BPalettePlageDefault.getColor(i);
+ if (v >= 1d) {
+ v = Math.random();
+ }
+ Color color = BPalettePlageAbstract.getCouleur(Color.red, Color.magenta, v);
if (!used.contains(color.getRGB())) {
return color;
}
+ v = v + dx;
}
return null;
}
private List<Color> loadColors(File file) {
List<Color> colors = new ArrayList<Color>();
- Workbook workbook = null;
+ FileInputStream input = null;
+ Map<Integer, HSSFColor> indexedColors = HSSFColor.getIndexHash();
try {
- workbook = Workbook.getWorkbook(file);
- Sheet sheet = workbook.getSheet(0);
- int row = sheet.getRows();
- if (sheet.getColumns() == 0) {
+ input = new FileInputStream(file);
+
+ XSSFWorkbook workbook = new XSSFWorkbook(input);
+ XSSFSheet sheet = workbook.getSheet("Curves");
+ if (sheet == null) {
return colors;
}
- for (int i = 0; i < row; i++) {
- Cell cell = sheet.getCell(0, i);
- Colour backgroundColour = cell.getCellFormat().getBackgroundColour();
- if (backgroundColour != null) {
- final RGB defaultRGB = backgroundColour.getDefaultRGB();
- colors.add(new Color(defaultRGB.getRed(), defaultRGB.getGreen(), defaultRGB.getBlue()));
+ for (Iterator<Row> it = sheet.rowIterator(); it.hasNext();) {
+ Row row = it.next();
+ if (row.getLastCellNum() > 0) {
+ Cell cell = row.getCell(0);
+ if (cell != null) {
+ final XSSFCellStyle cellStyle = (XSSFCellStyle) cell.getCellStyle();
+ XSSFColor xssfColor = cellStyle.getFillForegroundXSSFColor();
+ Color res = null;
+ if (xssfColor != null && xssfColor.getCTColor() != null) {
+ CTColor ctColor = xssfColor.getCTColor();
+ if (ctColor.isSetIndexed()) {
+ HSSFColor hssfColor = indexedColors.get(Integer.valueOf(xssfColor.getIndexed()));
+ if (hssfColor != null) {
+ res = createColor(hssfColor.getTriplet());
+ }
+
+ } else if (ctColor.isSetTheme()) {
+ xssfColor = workbook.getTheme().getThemeColor(xssfColor.getTheme());
+ if (xssfColor != null) {
+ res = createColor(xssfColor.getARGBHex());
+ }
+ } else {
+ res = createColor(xssfColor.getARGBHex());
+ }
+ if (res != null) {
+ colors.add(res);
+ }
+ }
+ }
}
}
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
} finally {
- if (workbook != null) {
- workbook.close();
- }
+ CtuluLibFile.close(input);
}
return colors;
}
+
+ private static Color createColor(short[] rgb) {
+ if (rgb == null) {
+ return null;
+ }
+ return new Color(rgb[0], rgb[1], rgb[2]);
+ }
+
+ private static Color createColor(String argex) {
+ String substring = StringUtils.substring(argex, 2);
+ try {
+ return Color.decode("#" + substring);
+ } catch (NumberFormatException numberFormatException) {
+ }
+ return null;
+ }
}
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java 2013-08-23 16:43:43 UTC (rev 8468)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java 2013-08-26 14:15:41 UTC (rev 8469)
@@ -20,6 +20,7 @@
import org.fudaa.dodico.crue.metier.emh.ResultatTimeKey;
import org.fudaa.ebli.courbe.EGAxeVertical;
import org.fudaa.ebli.courbe.EGCourbe;
+import org.fudaa.ebli.courbe.EGCourbePersist;
import org.fudaa.ebli.courbe.EGCourbeSimple;
import org.fudaa.ebli.courbe.EGGraphe;
import org.fudaa.ebli.courbe.EGGrapheSimpleModel;
@@ -65,6 +66,12 @@
}
@Override
+ protected Collection<EGCourbePersist> getCachedCourbeConfig(ReportLongitudinalConfig content) {
+ return content.courbeconfigs.values();
+ }
+
+
+ @Override
public List<EGCourbeSimple> getInternCourbes(ReportLongitudinalConfig content, ProgressHandle progress) {
ReportLongitudinalGrapheBuilderCourbe courbeBuilder = new ReportLongitudinalGrapheBuilderCourbe(reportService.getCcm(), this, content);
EGAxeVertical axeZ = courbeBuilder.getAxeZ();
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/multivar/ReportMultiVarGrapheBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/multivar/ReportMultiVarGrapheBuilder.java 2013-08-23 16:43:43 UTC (rev 8468)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/multivar/ReportMultiVarGrapheBuilder.java 2013-08-26 14:15:41 UTC (rev 8469)
@@ -5,6 +5,7 @@
import gnu.trove.TDoubleArrayList;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -44,6 +45,11 @@
}
@Override
+ protected Collection<EGCourbePersist> getCachedCourbeConfig(ReportMultiVarConfig content) {
+ return content.courbeconfigs.values();
+ }
+
+ @Override
public List<EGCourbeSimple> getInternCourbes(ReportMultiVarConfig content, ProgressHandle progress) {
if (!reportService.isRunLoaded()) {
return Collections.emptyList();
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/rptg/ReportRPTGGrapheBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/rptg/ReportRPTGGrapheBuilder.java 2013-08-23 16:43:43 UTC (rev 8468)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/rptg/ReportRPTGGrapheBuilder.java 2013-08-26 14:15:41 UTC (rev 8469)
@@ -5,6 +5,7 @@
import java.awt.Color;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -25,6 +26,7 @@
import org.fudaa.fudaa.crue.loi.common.CourbesUiController;
import org.fudaa.fudaa.crue.loi.loiff.SimpleLoiCourbeModel;
import org.fudaa.fudaa.crue.report.config.AbstractReportGrapheBuilder;
+import org.fudaa.fudaa.crue.report.multivar.ReportMultiVarConfig;
import org.netbeans.api.progress.ProgressHandle;
/**
@@ -38,6 +40,11 @@
}
@Override
+ protected Collection<EGCourbePersist> getCachedCourbeConfig(ReportRPTGConfig content) {
+ return content.courbeconfigs.values();
+ }
+
+ @Override
public void applyLabelsConfigChanged(ReportRPTGConfig content) {
super.applyLabelsConfigChanged(content);
}
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalGrapheBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalGrapheBuilder.java 2013-08-23 16:43:43 UTC (rev 8468)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalGrapheBuilder.java 2013-08-26 14:15:41 UTC (rev 8469)
@@ -6,6 +6,7 @@
import gnu.trove.TDoubleArrayList;
import gnu.trove.TIntObjectHashMap;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -18,6 +19,7 @@
import org.fudaa.dodico.crue.metier.emh.ResultatTimeKey;
import org.fudaa.ebli.courbe.EGAxeHorizontal;
import org.fudaa.ebli.courbe.EGAxeVertical;
+import org.fudaa.ebli.courbe.EGCourbePersist;
import org.fudaa.ebli.courbe.EGCourbeSimple;
import org.fudaa.ebli.courbe.EGModel;
import org.fudaa.fudaa.crue.loi.ViewCourbeManager;
@@ -48,6 +50,11 @@
axeX.setSpecificFormat(new ReportTemporalTimeFormater());
}
+
+ @Override
+ protected Collection<EGCourbePersist> getCachedCourbeConfig(ReportTemporalConfig content) {
+ return content.courbeconfigs.values();
+ }
@Override
public void applyLabelsConfigChanged(ReportTemporalConfig content) {
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/transversal/ReportTransversalGrapheBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/transversal/ReportTransversalGrapheBuilder.java 2013-08-23 16:43:43 UTC (rev 8468)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/transversal/ReportTransversalGrapheBuilder.java 2013-08-26 14:15:41 UTC (rev 8469)
@@ -4,6 +4,7 @@
package org.fudaa.fudaa.crue.report.transversal;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.lang.StringUtils;
@@ -38,6 +39,7 @@
import org.fudaa.fudaa.crue.report.data.ReportVariableKey;
import org.fudaa.fudaa.crue.report.data.ReportVariableTypeEnum;
import org.fudaa.fudaa.crue.report.helper.ReportProfilHelper;
+import org.fudaa.fudaa.crue.report.temporal.ReportTemporalConfig;
import org.netbeans.api.progress.ProgressHandle;
/**
@@ -52,6 +54,11 @@
super(uiController, loiLabelsManager);
}
+ @Override
+ protected Collection<EGCourbePersist> getCachedCourbeConfig(ReportTransversalConfig content) {
+ return content.courbeconfigs.values();
+ }
+
protected EGAxeVertical getOrCreateAxeVertical() {
return getOrCreateAxeVertical(getVariableZ());
}
Modified: trunk/soft/fudaa-crue/ui-wrapper/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-wrapper/pom.xml 2013-08-23 16:43:43 UTC (rev 8468)
+++ trunk/soft/fudaa-crue/ui-wrapper/pom.xml 2013-08-26 14:15:41 UTC (rev 8469)
@@ -46,6 +46,10 @@
<groupId>org.swinglabs.swingx</groupId>
<artifactId>swingx-all</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.poi</groupId>
+ <artifactId>poi-ooxml</artifactId>
+ </dependency>
</dependencies>
<build>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
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.
|
|
From: <de...@us...> - 2013-08-21 00:51:35
|
Revision: 8466
http://sourceforge.net/p/fudaa/svn/8466
Author: deniger
Date: 2013-08-21 00:51:31 +0000 (Wed, 21 Aug 2013)
Log Message:
-----------
CRUE-544
Modified Paths:
--------------
trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/action/SimplifyProfilsAction.java
trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/controller/LayerTraceController.java
Modified: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/action/SimplifyProfilsAction.java
===================================================================
--- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/action/SimplifyProfilsAction.java 2013-08-21 00:51:08 UTC (rev 8465)
+++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/action/SimplifyProfilsAction.java 2013-08-21 00:51:31 UTC (rev 8466)
@@ -40,6 +40,7 @@
controller.getHelper().scenarioEditionStarted();
Set<Long> uids = new HashSet<Long>();
controller.getSectionController().getSelectedEMHs(uids);
+ controller.getTraceController().getSelectedEMHs(uids);
controller.getCasierController().getSelectedEMHs(uids);
List<EMH> emhs = controller.getVisuPanel().getEmhs(uids);
new SimplificationProcessor(controller.getCrueConfigMetier(), seuils).simpify(emhs);
Modified: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/controller/LayerTraceController.java
===================================================================
--- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/controller/LayerTraceController.java 2013-08-21 00:51:08 UTC (rev 8465)
+++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/controller/LayerTraceController.java 2013-08-21 00:51:31 UTC (rev 8466)
@@ -20,6 +20,7 @@
import org.fudaa.ebli.commun.EbliActionInterface;
import org.fudaa.fudaa.crue.planimetry.PlanimetryVisuPanel;
import org.fudaa.fudaa.crue.planimetry.action.OpenEMHAction;
+import org.fudaa.fudaa.crue.planimetry.action.SimplifyProfilsAction;
import org.fudaa.fudaa.crue.planimetry.configuration.VisuConfiguration;
import org.fudaa.fudaa.crue.planimetry.layer.LayerControllerEMH;
import org.fudaa.fudaa.crue.planimetry.layer.PlanimetryTraceLayer;
@@ -51,6 +52,8 @@
res.getEditor().getActionDelete(),
res.getPlanimetryVisuController().getDeleteCascade(),
null,
+ new SimplifyProfilsAction(ctx),
+ null,
res.createFindAction(traceController.layer)});
ctx.controllersByName.put(traceLayer.getName(), traceController);
return traceController;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-08-21 00:51:13
|
Revision: 8465
http://sourceforge.net/p/fudaa/svn/8465
Author: deniger
Date: 2013-08-21 00:51:08 +0000 (Wed, 21 Aug 2013)
Log Message:
-----------
CRUE-557
Modified Paths:
--------------
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingContainersTopComponent.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/ModellingContainersTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingContainersTopComponent.java 2013-08-21 00:20:43 UTC (rev 8464)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingContainersTopComponent.java 2013-08-21 00:51:08 UTC (rev 8465)
@@ -31,7 +31,7 @@
iconBase = "org/fudaa/fudaa/crue/modelling/rond-orange_16.png",
persistenceType = TopComponent.PERSISTENCE_ALWAYS)
@TopComponent.Registration(mode = "modelling-topLeft", openAtStartup = false, position = 1)
-@ActionID(category = "Window", id = "org.fudaa.fudaa.crue.modelling.ModellingActionsTopComponent")
+@ActionID(category = "Window", id = "org.fudaa.fudaa.crue.modelling.ModellingContainersTopComponent")
@ActionReference(path = "Menu/Window/Modelling", position = 4)
@TopComponent.OpenActionRegistration(displayName = ModellingContainersTopComponent.TOPCOMPONENT_ACTION_DISPLAYNAME,
preferredID = ModellingContainersTopComponent.TOPCOMPONENT_ID)
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:20:43 UTC (rev 8464)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/layer.xml 2013-08-21 00:51:08 UTC (rev 8465)
@@ -3,14 +3,14 @@
<filesystem>
<folder name="Actions">
- <folder name="Window">
+<!-- <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>
<folder name="Menu">
<!-- <folder name="Modelling">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-08-20 23:43:34
|
Revision: 8463
http://sourceforge.net/p/fudaa/svn/8463
Author: deniger
Date: 2013-08-20 23:43:30 +0000 (Tue, 20 Aug 2013)
Log Message:
-----------
CRUE-544
Modified Paths:
--------------
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGInteractionAddPoint.java
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGInteractionAddPoint.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGInteractionAddPoint.java 2013-08-16 23:45:50 UTC (rev 8462)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGInteractionAddPoint.java 2013-08-20 23:43:30 UTC (rev 8463)
@@ -71,6 +71,9 @@
if (!isActive() || !isCompSelectModifiable()) {
return;
}
+ if (EbliLib.isPopupMouseEvent(_e)) {
+ return;
+ }
compModifie_ = target_.getSelectedComponent();
double x = target_.getTransformer().getXReel(_e.getX());
double y = target_.getTransformer().getYReel(_e.getY(), compModifie_.getAxeY());
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-08-16 23:37:15
|
Revision: 8461
http://sourceforge.net/p/fudaa/svn/8461
Author: deniger
Date: 2013-08-16 23:37:13 +0000 (Fri, 16 Aug 2013)
Log Message:
-----------
sydoc
Modified Paths:
--------------
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGFillePanel.java
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGFillePanel.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGFillePanel.java 2013-07-29 16:30:26 UTC (rev 8460)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGFillePanel.java 2013-08-16 23:37:13 UTC (rev 8461)
@@ -56,8 +56,9 @@
*/
public class EGFillePanel extends BuPanel implements PropertyChangeListener, ActionListener, CtuluSelectionInterface,
CtuluImageProducer {
-
+
protected final EGVue vue_;
+ private boolean addSimplifyAction = true;
JLabel lbTools_;
EbliActionInterface[] personnalAction_;
final protected EGInteractionSelection selection_;
@@ -69,7 +70,11 @@
public EGFillePanel(final EGGraphe _a) {
this(_a, null);
}
-
+
+ public void setAddSimplifyAction(boolean addSimplifyAction) {
+ this.addSimplifyAction = addSimplifyAction;
+ }
+
public EGFillePanel duplicate() {
return new EGFillePanel(vue_.getGraphe().duplicate());
}
@@ -81,12 +86,12 @@
EbliLib.cleanListener(personnalAction_);
EbliLib.cleanListener(specificTools_);
}
-
+
public void addSelectionListener(final CtuluListSelectionListener _l) {
selection_.addSelectionListener(_l);
-
+
}
-
+
public EGFillePanel(final EGGraphe _a, final EbliActionInterface[] _userAction) {
setLayout(new BuBorderLayout(5, 0));
personnalAction_ = _userAction;
@@ -101,7 +106,7 @@
lbTools_.setPreferredSize(new Dimension(200, 20));
lbTools_.setSize(new Dimension(100, 20));
lbTools_.setOpaque(false);
-
+
add(lbTools_, BuBorderLayout.SOUTH);
vue_ = new EGVue(_a);
add(vue_, BuBorderLayout.CENTER);
@@ -111,14 +116,11 @@
// suiviInfos_ = new EGInteractionSuiviAllOrdonnees(vue_.getGraphe());
}
-
+
protected void addListenerCourbePoint(final CtuluListSelectionListener _l) {
selection_.getSelection().addListeSelectionListener(_l);
}
- // public JComponent getInfoPanel() {
- // return suiviInfos_.getTableInfos();
- // }
protected EbliActionInterface[] buildActions() {
final List r = new ArrayList(8);
final List actionForGroup = new ArrayList(5);
@@ -132,7 +134,7 @@
r.add(a);
selection_.addPropertyChangeListener(this);
actionForGroup.add(a);
-
+
EbliActionAbstract s = new EbliActionSimple(EbliResource.EBLI.getString("Restaurer"), EbliResource.EBLI
.getIcon("restore"), "RESTORE") {
@Override
@@ -167,7 +169,7 @@
r.add(a);
actionForGroup.add(a);
zoom.addPropertyChangeListener(this);
-
+
final EGInteractionMove move = new EGInteractionMove(vue_.graphe_);
move.setDefaultInteractiveComponent(selection_);
vue_.addInteractiveCmp(move);
@@ -176,14 +178,15 @@
a.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('m'));
r.add(a);
actionForGroup.add(a);
-
+
final EGInteractionInfoOnCourbe infoOnCourbe = new EGInteractionInfoOnCourbe(vue_.graphe_);
vue_.addInteractiveCmp(infoOnCourbe);
- a = new EGActionInteraction(EbliLib.getS("Afficher le nom de la courbe sous la souris"), EbliResource.EBLI.getIcon("tooltip"), "INFO", infoOnCourbe);
+ a = new EGActionInteraction(EbliLib.getS("Afficher le nom de la courbe sous la souris"), EbliResource.EBLI.getIcon("tooltip"), "INFO",
+ infoOnCourbe);
a.putValue(Action.SHORT_DESCRIPTION, EbliLib.getS("Afficher le nom de la courbe sous la souris"));
a.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('n'));
r.add(a);
-
+
final EGInteractionSuivi suivi = new EGInteractionSuivi(vue_.getGraphe());
vue_.addInteractiveCmp(suivi);
a = new EGActionInteraction(EbliLib.getS("suivi"), EbliResource.EBLI.getIcon("pointeur"), "SUIVI", suivi);
@@ -194,7 +197,7 @@
actionForGroup.add(a);
EbliActionSimple actionpal = new EGActionPaletteAllCoordonnees(this);
r.add(actionpal);
-
+
if (getModel().isContentModifiable()) {
r.add(null);
final EGInteractionAddPoint addPt = new EGInteractionAddPoint(this);
@@ -213,14 +216,14 @@
r.add(a);
pt.addPropertyChangeListener(this);
actionForGroup.add(a);
-
- EbliActionSimple act = new EGSimplificationAction(vue_.graphe_);
- r.add(act);
+
+ if (addSimplifyAction) {
+ EbliActionSimple act = new EGSimplificationAction(vue_.graphe_);
+ r.add(act);
+ }
r.add(null);
- // actionForGroup.add(act);
}
- // r.add(new EGConfigureActionPalette(vue_.graphe_.getModel()));
r.add(new EbliActionSimple(EbliLib.getS("Configurer les courbes"), BuResource.BU.getToolIcon("configurer"), "CONFIGURE") {
@Override
@@ -231,13 +234,13 @@
palette.afficheModale(CtuluLibSwing.getFrameAncestor(EGFillePanel.this));
}
});
-
+
final BPaletteInfoAbstractAction info = new BPaletteInfoAbstractAction() {
@Override
public JComponent buildContentPane() {
return new EGPaletteInfo(EGFillePanel.this, null);
}
-
+
@Override
protected boolean mustBeUpdated() {
return getModel().getNbSelectedObjects() >= 0;
@@ -245,9 +248,9 @@
};
r.add(info);
r.add(new EGTableAction(getGraphe()));
-
+
new EbliActionGroup(actionForGroup);
-
+
if (personnalAction_ != null) {
r.add(null);
final int nb = personnalAction_.length;
@@ -272,43 +275,43 @@
| InputEvent.SHIFT_DOWN_MASK));
r.add(addAction);
}
-
+
final EbliActionInterface[] rf = new EbliActionInterface[r.size()];
r.toArray(rf);
EbliLib.updateMapKeyStroke(this, rf);
-
+
return rf;
}
-
+
protected EGCourbe getCourbeSelected() {
return vue_.graphe_.getSelectedComponent();
}
-
+
public EGGraphe getGraphe() {
return vue_.graphe_;
}
-
+
protected EGGrapheModel getModel() {
return vue_.graphe_.getModel();
}
-
+
public CtuluListSelection getSelection() {
return selection_.getSelection();
}
-
+
public void majSelectionListener(final EGTableGraphePanel _tablePanel) {
if ((selection_ != null) && (_tablePanel != null)) {
_tablePanel.setListenerToSelection(selection_);
}
}
-
+
protected void majLabelInfo(final String _s) {
lbTools_.setText(_s);
}
-
+
protected void fillPopupMenu(final BuPopupMenu _menu) {
}
-
+
public void popupMenu(final int _x, final int _y) {
final BuPopupMenu m = new BuPopupMenu();
m.setInvoker(this);
@@ -318,7 +321,7 @@
fillSpecificMenu(m);
m.show(this, _x, _y);
}
-
+
@Override
public void actionPerformed(final ActionEvent _evt) {
if (FuLog.isTrace()) {
@@ -390,7 +393,7 @@
}
}
}
-
+
@Override
public void find() {
}
@@ -402,11 +405,11 @@
public Dimension getDefaultImageDimension() {
return vue_.getDefaultImageDimension();
}
-
+
public EGVue getView() {
return vue_;
}
-
+
public EbliActionInterface[] getSpecificActions() {
if (specificTools_ == null) {
specificTools_ = buildActions();
@@ -414,20 +417,20 @@
return specificTools_;
}
private boolean showRefreshButtonInConfigurePanel = true;
-
+
public boolean isShowRefreshButtonInConfigurePanel() {
return showRefreshButtonInConfigurePanel;
}
-
+
public void setShowRefreshButtonInConfigurePanel(boolean showRefreshButtonInConfigurePanel) {
this.showRefreshButtonInConfigurePanel = showRefreshButtonInConfigurePanel;
}
-
+
@Override
public void clearSelection() {
selection_.clearSelection();
}
-
+
@Override
public void inverseSelection() {
selection_.inverseSelection();
@@ -438,15 +441,15 @@
*/
@Override
public BufferedImage produceImage(final Map _params) {
-
+
return vue_.produceImage(_params);
}
-
+
@Override
public BufferedImage produceImage(final int _w, final int _h, final Map _params) {
return vue_.produceImage(_w, _h, _params);
}
-
+
@Override
public void propertyChange(final PropertyChangeEvent _evt) {
if (_evt.getSource() instanceof EGInteractiveComponent) {
@@ -458,11 +461,11 @@
}
}
}
-
+
@Override
public void replace() {
}
-
+
@Override
public void select() {
selection_.selectAll();
@@ -483,67 +486,69 @@
BuMenuItem alignPointMenuItem;
BuMenuItem refinePointMenuItem;
BuMenuItem removePointMenuItem;
-
+
public void fillMenuWithActions(final BuPopupMenu m) {
modifiyPointsMenuItem = addModifiyPointsMenuItem(m);
alignPointMenuItem = addAlignPointMenuItem(m);
refinePointMenuItem = addRefinePointMenuItem(m);
removePointMenuItem = addRemovePointMenuItem(m);
}
-
+
public boolean isSelectedCourbeModifiable() {
final EGCourbe c = vue_.graphe_.getSelectedComponent();
return (c != null) && (c.getModel().isModifiable()) && (getSelection() != null)
&& (!getSelection().isEmpty());
}
-
+
public boolean isSelectionAlignable() {
return isSelectedCourbeModifiable() && (getSelection().getNbSelectedIndex() >= 2);
}
-
+
public boolean isSelectionRefinable() {
return isSelectedCourbeModifiable()
&& (getSelection().getNbSelectedIndex() >= 2);
}
-
+
public boolean isSelectionRemovable() {
return isSelectedCourbeModifiable();
}
-
+
public BuMenuItem addModifiyPointsMenuItem(final BuPopupMenu m) {
return m.addMenuItem(EbliLib.getS("Modifier les points s\xE9lectionn\xE9s"), "MODIFY_POINTS", EbliResource.EBLI
.getToolIcon("node-edit"), isSelectedCourbeModifiable());
}
-
+
public BuMenuItem addModifiyPointsMenuItem(final CtuluPopupMenu m) {
return m.addMenuItem(EbliLib.getS("Modifier les points s\xE9lectionn\xE9s"), "MODIFY_POINTS", EbliResource.EBLI
.getToolIcon("node-edit"), isSelectedCourbeModifiable());
}
-
+
public BuMenuItem addAlignPointMenuItem(final CtuluPopupMenu m) {
return m.addMenuItem(EbliLib.getS("Aligner les points"), "ALIGN_POINTS", EbliResource.EBLI.getToolIcon("node-corner"), isSelectionAlignable());
}
-
+
public BuMenuItem addAlignPointMenuItem(final BuPopupMenu m) {
return m.addMenuItem(EbliLib.getS("Aligner les points"), "ALIGN_POINTS", EbliResource.EBLI.getToolIcon("node-corner"), isSelectionAlignable());
}
-
+
public BuMenuItem addRefinePointMenuItem(final CtuluPopupMenu m) {
return m.addMenuItem(EbliLib.getS("Raffiner"), "ADD_POINTS", EbliResource.EBLI.getToolIcon("node-add"), isSelectionRefinable());
}
-
+
public BuMenuItem addRefinePointMenuItem(final BuPopupMenu m) {
return m.addMenuItem(EbliLib.getS("Raffiner"), "ADD_POINTS", EbliResource.EBLI.getToolIcon("node-add"), isSelectionRefinable());
}
-
+
public BuMenuItem addRemovePointMenuItem(final CtuluPopupMenu m) {
- final BuMenuItem addMenuItem = m.addMenuItem(EbliLib.getS("Supprimer un point"), "REMOVE_POINTS", EbliResource.EBLI.getToolIcon("node-delete"), isSelectionRemovable());
+ final BuMenuItem addMenuItem = m.addMenuItem(EbliLib.getS("Supprimer un point"), "REMOVE_POINTS", EbliResource.EBLI.getToolIcon("node-delete"),
+ isSelectionRemovable());
addMenuItem.setAccelerator(EGTableGraphePanel.getDeleteKeyStroke());
return addMenuItem;
}
-
+
public BuMenuItem addRemovePointMenuItem(final BuPopupMenu m) {
- final BuMenuItem addMenuItem = m.addMenuItem(EbliLib.getS("Supprimer un point"), "REMOVE_POINTS", EbliResource.EBLI.getToolIcon("node-delete"), isSelectionRemovable());
+ final BuMenuItem addMenuItem = m.addMenuItem(EbliLib.getS("Supprimer un point"), "REMOVE_POINTS", EbliResource.EBLI.getToolIcon("node-delete"),
+ isSelectionRemovable());
addMenuItem.setAccelerator(EGTableGraphePanel.getDeleteKeyStroke());
return addMenuItem;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-07-29 16:30:29
|
Revision: 8460
http://sourceforge.net/p/fudaa/svn/8460
Author: bmarchan
Date: 2013-07-29 16:30:26 +0000 (Mon, 29 Jul 2013)
Log Message:
-----------
Mascaret : Chgt version => 3.1.8
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/distrib/pom.xml
trunk/soft/fudaa-mascaret/distrib/src/dist/Lisezmoi.txt
trunk/soft/fudaa-mascaret/distrib/src/dist/Readme.txt
trunk/soft/fudaa-mascaret/pom.xml
trunk/soft/fudaa-mascaret/server/pom.xml
trunk/soft/fudaa-mascaret/ui/pom.xml
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilEditor.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
Modified: trunk/soft/fudaa-mascaret/distrib/pom.xml
===================================================================
--- trunk/soft/fudaa-mascaret/distrib/pom.xml 2013-07-29 15:44:27 UTC (rev 8459)
+++ trunk/soft/fudaa-mascaret/distrib/pom.xml 2013-07-29 16:30:26 UTC (rev 8460)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-mascaret</groupId>
<artifactId>fudaa-mascaret</artifactId>
- <version>3.1.7</version>
+ <version>3.1.8</version>
</parent>
<artifactId>mascaret-distrib</artifactId>
<properties>
Modified: trunk/soft/fudaa-mascaret/distrib/src/dist/Lisezmoi.txt
===================================================================
--- trunk/soft/fudaa-mascaret/distrib/src/dist/Lisezmoi.txt 2013-07-29 15:44:27 UTC (rev 8459)
+++ trunk/soft/fudaa-mascaret/distrib/src/dist/Lisezmoi.txt 2013-07-29 16:30:26 UTC (rev 8460)
@@ -1,5 +1,5 @@
====================
-Fudaa-Mascaret 3.1.7
+Fudaa-Mascaret 3.1.8
====================
Fudaa Mascaret : Installation
Modified: trunk/soft/fudaa-mascaret/distrib/src/dist/Readme.txt
===================================================================
--- trunk/soft/fudaa-mascaret/distrib/src/dist/Readme.txt 2013-07-29 15:44:27 UTC (rev 8459)
+++ trunk/soft/fudaa-mascaret/distrib/src/dist/Readme.txt 2013-07-29 16:30:26 UTC (rev 8460)
@@ -1,5 +1,5 @@
====================
-Fudaa-Mascaret 3.1.7
+Fudaa-Mascaret 3.1.8
====================
Fudaa Mascaret : Installation
Modified: trunk/soft/fudaa-mascaret/pom.xml
===================================================================
--- trunk/soft/fudaa-mascaret/pom.xml 2013-07-29 15:44:27 UTC (rev 8459)
+++ trunk/soft/fudaa-mascaret/pom.xml 2013-07-29 16:30:26 UTC (rev 8460)
@@ -15,7 +15,7 @@
</parent>
<groupId>org.fudaa.soft.fudaa-mascaret</groupId>
<artifactId>fudaa-mascaret</artifactId>
- <version>3.1.7</version>
+ <version>3.1.8</version>
<name>Fudaa-Mascaret</name>
<packaging>pom</packaging>
<modules>
Modified: trunk/soft/fudaa-mascaret/server/pom.xml
===================================================================
--- trunk/soft/fudaa-mascaret/server/pom.xml 2013-07-29 15:44:27 UTC (rev 8459)
+++ trunk/soft/fudaa-mascaret/server/pom.xml 2013-07-29 16:30:26 UTC (rev 8460)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-mascaret</groupId>
<artifactId>fudaa-mascaret</artifactId>
- <version>3.1.7</version>
+ <version>3.1.8</version>
</parent>
<artifactId>mascaret-server</artifactId>
<build>
Modified: trunk/soft/fudaa-mascaret/ui/pom.xml
===================================================================
--- trunk/soft/fudaa-mascaret/ui/pom.xml 2013-07-29 15:44:27 UTC (rev 8459)
+++ trunk/soft/fudaa-mascaret/ui/pom.xml 2013-07-29 16:30:26 UTC (rev 8460)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-mascaret</groupId>
<artifactId>fudaa-mascaret</artifactId>
- <version>3.1.7</version>
+ <version>3.1.8</version>
</parent>
<artifactId>mascaret-ui</artifactId>
<build>
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java 2013-07-29 15:44:27 UTC (rev 8459)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java 2013-07-29 16:30:26 UTC (rev 8460)
@@ -165,6 +165,13 @@
btProfAvancer_.setVisible(btravers);
btProfAvancerVite_.setVisible(btravers);
}
+
+ public void updateNavigation() {
+ btProfAvancer_.setEnabled(pnProfils_.getProfilCourant()!=pnProfils_.getProfilsModeleBief().length-1);
+ btProfAvancerVite_.setEnabled(pnProfils_.getProfilCourant()!=pnProfils_.getProfilsModeleBief().length-1);
+ btProfReculer_.setEnabled(pnProfils_.getProfilCourant()!=0);
+ btProfReculerVite_.setEnabled(pnProfils_.getProfilCourant()!=0);
+ }
@Override
public void actionPerformed(ActionEvent _evt) {
@@ -206,6 +213,8 @@
else if ("ANIM".equals(cmd)) {
aniAction_.changeAll();
}
+
+ updateNavigation();
}
@Override
@@ -295,6 +304,7 @@
}
if (_n instanceof MetierEtude1d) {
pnProfils_.setEtude((MetierEtude1d)_n);
+ updateNavigation();
}
}
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilEditor.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilEditor.java 2013-07-29 15:44:27 UTC (rev 8459)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilEditor.java 2013-07-29 16:30:26 UTC (rev 8460)
@@ -23,6 +23,7 @@
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
import org.fudaa.fudaa.hydraulique1d.editor.Hydraulique1dCustomizerImprimable;
+import com.memoire.bu.BuButton;
import com.memoire.bu.BuCutCopyPasteInterface;
import com.memoire.bu.BuSelectFindReplaceInterface;
import com.memoire.bu.BuUndoRedoInterface;
@@ -55,6 +56,10 @@
private static final int PROFIL_RAPIDE=Hydraulique1dPreferences.HYDRAULIQUE1D.getIntegerProperty("profil.rapide", 5);
/** Le panneau consacr\xE9 au graphe */
Hydraulique1dProfilPane pnProfs_;
+ BuButton btAvancer_;
+ BuButton btAvancerVite_;
+ BuButton btReculer_;
+ BuButton btReculerVite_;
/**
* Contructeur minimal
@@ -80,15 +85,29 @@
BPanneauNavigation.AVANCER_VITE|BPanneauNavigation.FERMER|BPanneauNavigation.ALIGN_RIGHT);
}
+ btAvancer_ = getNavPanel().getBtNavAvancer();
+ btAvancerVite_ = getNavPanel().getBtNavAvancerVite();
+ btReculer_ = getNavPanel().getBtNavReculer();
+ btReculerVite_ = getNavPanel().getBtNavReculerVite();
+
+ updateButtons();
pack();
}
+ public void updateButtons() {
+ btAvancer_.setEnabled(pnProfs_.getProfilCourant()!=pnProfs_.getProfilsModeleBief().length-1);
+ btAvancerVite_.setEnabled(pnProfs_.getProfilCourant()!=pnProfs_.getProfilsModeleBief().length-1);
+ btReculer_.setEnabled(pnProfs_.getProfilCourant()!=0);
+ btReculerVite_.setEnabled(pnProfs_.getProfilCourant()!=0);
+ }
+
public Hydraulique1dProfilPane getPane() {
return pnProfs_;
}
public void setEtude(MetierEtude1d _res) {
pnProfs_.setEtude(_res);
+ updateButtons();
}
/**
@@ -97,6 +116,7 @@
*/
public void setProfilsModeleBief(Hydraulique1dProfilModel[] _profils) {
pnProfs_.setProfilsModeleBief(_profils);
+ updateButtons();
}
/**
@@ -105,6 +125,7 @@
*/
public void setProfilModel(Hydraulique1dProfilModel _profil) {
pnProfs_.setProfilModel(_profil);
+ updateButtons();
}
/**
@@ -231,6 +252,8 @@
else if ("AVANCERVITE".equals(cmd)) {
pnProfs_.setProfilCourant(pnProfs_.getProfilCourant()+PROFIL_RAPIDE);
}
+
+ updateButtons();
}
/**
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-07-29 15:44:27 UTC (rev 8459)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-07-29 16:30:26 UTC (rev 8460)
@@ -148,7 +148,7 @@
static {
isApp_.name = "Fudaa-Mascaret";
isApp_.version = "3.1.8";
- isApp_.date = "30-07-2013";
+ isApp_.date = "29-07-2013";
isApp_.rights = MascaretResource.MASCARET.getString("Tous droits r\xE9serv\xE9s") + ". EDF-CETMEF (c) 2001-2013";
// isApp_.contact = "http://www.openmascaret.org/index.php?option=com_kunena&view=category&Itemid=177&layout=list";
isApp_.contact = "http://www.openmascaret.org/";
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-07-29 15:44:30
|
Revision: 8459
http://sourceforge.net/p/fudaa/svn/8459
Author: bmarchan
Date: 2013-07-29 15:44:27 +0000 (Mon, 29 Jul 2013)
Log Message:
-----------
Mascaret : clean sources
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHMRepository.java
Removed Paths:
-------------
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ProfilResultats.java
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java 2013-07-29 15:31:59 UTC (rev 8458)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java 2013-07-29 15:44:27 UTC (rev 8459)
@@ -55,8 +55,6 @@
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
import org.fudaa.fudaa.hydraulique1d.editor.profil.Hydraulique1dProfilPane;
import org.fudaa.fudaa.hydraulique1d.graphe.Hydraulique1dGrapheResuBief;
-import org.fudaa.fudaa.hydraulique1d.ihmhelper.Hydraulique1dIHMRepository;
-import org.fudaa.fudaa.hydraulique1d.ihmhelper.Hydraulique1dIHM_ProfilResultats;
import com.memoire.bu.BuCommonImplementation;
import com.memoire.bu.BuCommonInterface;
@@ -184,8 +182,6 @@
exporter();
} else if ("EXCEL".equals(cmd)) {
lanceExcel();
- } else if ("PROFILS".equals(cmd)) {
- profils();
} else if ("POINTRECULERVITE".equals(cmd)) {
deplaceVisu(-5);
} else if ("POINTRECULER".equals(cmd)) {
@@ -414,12 +410,6 @@
}
- private void profils() {
- Hydraulique1dIHM_ProfilResultats ihm = Hydraulique1dIHMRepository.getInstance().PROFIL_RESULTATS();
-
- ihm.editer();
- }
-
protected void personnaliser() {
BuCommonInterface app =
(BuCommonInterface) Hydraulique1dBaseApplication.FRAME;
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHMRepository.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHMRepository.java 2013-07-29 15:31:59 UTC (rev 8458)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHMRepository.java 2013-07-29 15:44:27 UTC (rev 8459)
@@ -284,9 +284,6 @@
public Hydraulique1dIHM_Planimetrage2 PLANIMETRAGE2() {
return (Hydraulique1dIHM_Planimetrage2) getIhmHelper("Planimetrage2");
}
- public Hydraulique1dIHM_ProfilResultats PROFIL_RESULTATS() {
- return (Hydraulique1dIHM_ProfilResultats) getIhmHelper("ProfilResultats");
- }
public Hydraulique1dIHM_Bief BIEF() {
return (Hydraulique1dIHM_Bief) getIhmHelper("Bief");
}
Deleted: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ProfilResultats.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ProfilResultats.java 2013-07-29 15:31:59 UTC (rev 8458)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ProfilResultats.java 2013-07-29 15:44:27 UTC (rev 8459)
@@ -1,60 +0,0 @@
-/*
- * @file Hydraulique1dIHM_ProfilResultats.java
- * @creation 2004-10-18
- * @modification $Date: 2007-11-20 11:43:15 $
- * @license GNU General Public License 2
- * @copyright (c)1998-2004 EDF/LNHE
- * @mail de...@fu...
- */
-package org.fudaa.fudaa.hydraulique1d.ihmhelper;
-import javax.swing.JComponent;
-
-import org.fudaa.dodico.hydraulique1d.metier.EnumMetierRegime;
-import org.fudaa.dodico.hydraulique1d.metier.MetierEtude1d;
-import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication;
-import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
-import org.fudaa.fudaa.hydraulique1d.editor.profil.Hydraulique1dProfilEditor;
-
-import com.memoire.bu.BuAssistant;
-/**
- * Classe faisant le lien entre l'\xE9diteur de profil depuis l'\xE9diteur des r\xE9sultats graphique et l'aide.
- * G\xE9r\xE9 par Hydraulique1dIHMRepository.<br>
- * Utilis\xE9 par Hydraulique1dGraphesResultatsEditor.<br>
- * @version $Revision: 1.8 $ $Date: 2007-11-20 11:43:15 $ by $Author: bmarchan $
- * @author Jean-Marc Lacombe
- */
-public class Hydraulique1dIHM_ProfilResultats extends Hydraulique1dIHM_Base {
- private Hydraulique1dProfilEditor edit_;
- public Hydraulique1dIHM_ProfilResultats(MetierEtude1d e) {
- super(e);
- }
-
- @Override
- public void editer() {
- if (etude_.reseau() == null) return;
- if (etude_.reseau().biefs() == null) return;
-
- if (edit_ == null) {
- edit_= new Hydraulique1dProfilEditor(
- Hydraulique1dProfilEditor.VOIR,
- Hydraulique1dProfilEditor.PROFILS);
- installContextHelp(edit_);
- listenToEditor(edit_);
- BuAssistant ass= Hydraulique1dResource.getAssistant();
- if (ass != null)
- ass.addEmitters(edit_);
- }
-
- edit_.setEtude(etude_);
- edit_.setIsTranscritique(etude_.paramGeneraux().regime().value() == EnumMetierRegime._TRANSCRITIQUE);
- edit_.show();
- }
- @Override
- protected void installContextHelp(JComponent e) {
- if (e == null)
- return;
- ((Hydraulique1dBaseApplication)Hydraulique1dBaseApplication.FRAME)
- .getImplementation()
- .installContextHelp(e.getRootPane(), "mascaret/graphes_resultats.html");
- }
-}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-07-29 15:32:01
|
Revision: 8458
http://sourceforge.net/p/fudaa/svn/8458
Author: bmarchan
Date: 2013-07-29 15:31:59 +0000 (Mon, 29 Jul 2013)
Log Message:
-----------
Mascaret : Internationalisation
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/ui/src/main/resources/org/fudaa/fudaa/hydraulique1d/hydraulique1d_en.fr_txt
Modified: trunk/soft/fudaa-mascaret/ui/src/main/resources/org/fudaa/fudaa/hydraulique1d/hydraulique1d_en.fr_txt
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/resources/org/fudaa/fudaa/hydraulique1d/hydraulique1d_en.fr_txt 2013-07-29 15:31:13 UTC (rev 8457)
+++ trunk/soft/fudaa-mascaret/ui/src/main/resources/org/fudaa/fudaa/hydraulique1d/hydraulique1d_en.fr_txt 2013-07-29 15:31:59 UTC (rev 8458)
@@ -1208,4 +1208,26 @@
Impossible de lire le chemin du fichier de g\xE9om\xE9trie=The geometry file can't be found
Le fichier {0} n'existe pas=The file {0} can't be found
Utiliser celui d\xE9fini dans le fichier cas=Use file defined in the simulation data file
-Sp\xE9cifier un fichier GEO=Choose a specific GEO file
\ No newline at end of file
+Sp\xE9cifier un fichier GEO=Choose a specific GEO file
+Voir les cotes min/max=Show min/max water level
+Visualiser les profils pr\xE9c\xE9dent/suivant=View previous/next cross sections
+Aligner les profils=Cross sections alignment
+Temps courant=Current time
+Alignement en X=X alignment
+Alignement en Z=Z alignment
+Sans alignement=Without aligment
+Abscisse min=Abscissa min
+Abscisse max=Abscissa max
+Point de Z min=Point with Z min
+Stockage gauche=Left storage
+Rive gauche=Left bank
+Rive droite=Right bank
+Stockage droit=Right storage
+Axe hydraulique=Hydraulic axis
+Sur le Z min=On Z min
+Alignement des profils=Cross sections alignment
+Points du profil=Cross section points
+Biefs=Reaches
+Avancer vite=Quick forward
+Reculer vite=Quick backward
+j=d
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-07-29 15:31:18
|
Revision: 8457
http://sourceforge.net/p/fudaa/svn/8457
Author: bmarchan
Date: 2013-07-29 15:31:13 +0000 (Mon, 29 Jul 2013)
Log Message:
-----------
Mascaret : Integration de la fenetre profils en travers dans la fenetre des r?\195?\169sultats.
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_GraphesResultats.java
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java 2013-07-29 14:18:59 UTC (rev 8456)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java 2013-07-29 15:31:13 UTC (rev 8457)
@@ -15,6 +15,7 @@
import java.awt.event.ActionEvent;
import java.awt.image.BufferedImage;
import java.awt.print.PageFormat;
+import java.awt.print.Printable;
import java.io.File;
import java.text.NumberFormat;
import java.util.ArrayList;
@@ -27,12 +28,14 @@
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
-import javax.swing.JScrollPane;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
import org.fudaa.ctulu.CtuluLibString;
import org.fudaa.ctulu.gui.CtuluFileChooser;
import org.fudaa.ctulu.image.CtuluImageExport;
import org.fudaa.dodico.hydraulique1d.metier.MetierDonneesHydrauliques;
+import org.fudaa.dodico.hydraulique1d.metier.MetierEtude1d;
import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d;
import org.fudaa.dodico.hydraulique1d.metier.MetierLaisse;
import org.fudaa.dodico.hydraulique1d.metier.MetierReseau;
@@ -50,6 +53,7 @@
import org.fudaa.fudaa.hydraulique1d.CGlobal;
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication;
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
+import org.fudaa.fudaa.hydraulique1d.editor.profil.Hydraulique1dProfilPane;
import org.fudaa.fudaa.hydraulique1d.graphe.Hydraulique1dGrapheResuBief;
import org.fudaa.fudaa.hydraulique1d.ihmhelper.Hydraulique1dIHMRepository;
import org.fudaa.fudaa.hydraulique1d.ihmhelper.Hydraulique1dIHM_ProfilResultats;
@@ -73,10 +77,17 @@
public class Hydraulique1dGraphesResultatsEditor
extends Hydraulique1dCustomizerImprimable {
- JButton btProfil_, btAvancer_, btAvancerVite_, btReculer_, btReculerVite_/*, btAnimation_*/;
+ JButton btAvancer_, btAvancerVite_, btReculer_, btReculerVite_/*, btAnimation_*/;
+ JButton btProfAvancer_, btProfAvancerVite_, btProfReculer_, btProfReculerVite_;
+ JButton btAnim_;
+ JButton btCustom_;
+ JButton btExportExcel_;
+ JButton btVoir_;
+ JButton btExport_;
private BuTabbedPane onglets_;
- private PanneauGraphesResultats panHydro;
- private PanneauGraphesResultats panQE = null;
+ private PanneauGraphesResultats pnHydro;
+ private PanneauGraphesResultats pnQE = null;
+ private Hydraulique1dProfilPane pnProfils_;
private MetierResultatsTemporelSpatial resultTempoSpatial_;
private MetierResultatsTemporelSpatial resultatsQE_;
MetierDonneesHydrauliques donnneHyd_;
@@ -90,34 +101,72 @@
public Hydraulique1dGraphesResultatsEditor(BDialogContent parent) {
super(parent, Hydraulique1dResource.HYDRAULIQUE1D.getString("Graphes Resultats"));
resultTempoSpatial_ = null;
+
+ setActionPanel(BPanneauNavigation.AUCUN);
+ buildNavigation();
// Create a tabbed pane
onglets_ = new BuTabbedPane();
+ onglets_.addChangeListener(new ChangeListener() {
+
+ @Override
+ public void stateChanged(ChangeEvent e) {
+ switchNavigation();
+ }
+ });
- panHydro = new PanneauGraphesResultats(this);
- onglets_.insertTab(Hydraulique1dResource.HYDRAULIQUE1D.getString("R\xE9sultats hydrauliques"), null, new JScrollPane(panHydro), null, 0);
+ pnHydro = new PanneauGraphesResultats(this);
+ onglets_.addTab(Hydraulique1dResource.HYDRAULIQUE1D.getString("R\xE9sultats hydrauliques"), pnHydro);
+ pnProfils_ = new Hydraulique1dProfilPane(Hydraulique1dProfilPane.VOIR, Hydraulique1dProfilPane.PROFILS);
+ onglets_.addTab(Hydraulique1dResource.getS("Profils en travers"), pnProfils_);
+
getContentPane().add(onglets_/*, BuBorderLayout.CENTER*/);
- this.setActionPanel(
- EbliPreferences.DIALOG.VOIR | EbliPreferences.DIALOG.EXPORTER);
- if (FuLib.isWindows()) {
- addAction("Excel", "EXCEL");
- }
- addAction(Hydraulique1dResource.HYDRAULIQUE1D.getString("Personnaliser"), "PERSONNALISER");
- btProfil_ = (JButton) addAction(Hydraulique1dResource.HYDRAULIQUE1D.getString("Profils en travers"), "PROFILS");
- btReculerVite_ = (JButton) addAction("<<", BuResource.BU.getIcon("reculervite"), "POINTRECULERVITE");
- btReculer_ = (JButton) addAction("<", BuResource.BU.getIcon("reculer"), "POINTRECULER");
- btAvancer_ = (JButton) addAction(">", BuResource.BU.getIcon("avancer"), "POINTAVANCER");
- btAvancerVite_ = (JButton) addAction(">>", BuResource.BU.getIcon("avancervite"), "POINTAVANCERVITE");
-
- addAction("Animation", BuResource.BU.getIcon("video"), "ANIM");
aniAction_ = new EbliAnimationAction(new GrapheAnimation(this));
setNavPanel(BPanneauNavigation.FERMER);
pack();
}
+
+ private void buildNavigation() {
+ this.setActionPanel(EbliPreferences.DIALOG.VOIR | EbliPreferences.DIALOG.EXPORTER);
+
+ btVoir_=getActionPanel().getCustomAction("VOIR");
+ btExport_=getActionPanel().getCustomAction("EXPORTER");
+ btExportExcel_=(JButton) addAction("Excel", "EXCEL");
+ btCustom_= (JButton) addAction(Hydraulique1dResource.getS("Personnaliser"), "PERSONNALISER");
+ btReculerVite_ = (JButton) addAction(Hydraulique1dResource.getS("Reculer vite"), BuResource.BU.getIcon("reculervite"), "POINTRECULERVITE");
+ btReculer_ = (JButton) addAction(Hydraulique1dResource.getS("Reculer"), BuResource.BU.getIcon("reculer"), "POINTRECULER");
+ btAvancer_ = (JButton) addAction(Hydraulique1dResource.getS("Avancer"), BuResource.BU.getIcon("avancer"), "POINTAVANCER");
+ btAvancerVite_ = (JButton) addAction(Hydraulique1dResource.getS("Avancer vite"), BuResource.BU.getIcon("avancervite"), "POINTAVANCERVITE");
+ btAnim_= (JButton) addAction(Hydraulique1dResource.getS("Animation"), BuResource.BU.getIcon("video"), "ANIM");
+
+ btProfReculerVite_ = (JButton) addAction(Hydraulique1dResource.getS("Reculer vite"), BuResource.BU.getIcon("reculervite"), "PROFRECULERVITE");
+ btProfReculer_ = (JButton) addAction(Hydraulique1dResource.getS("Reculer"), BuResource.BU.getIcon("reculer"), "PROFRECULER");
+ btProfAvancer_ = (JButton) addAction(Hydraulique1dResource.getS("Avancer"), BuResource.BU.getIcon("avancer"), "PROFAVANCER");
+ btProfAvancerVite_ = (JButton) addAction(Hydraulique1dResource.getS("Avancer vite"), BuResource.BU.getIcon("avancervite"), "PROFAVANCERVITE");
+ }
+
+ private void switchNavigation() {
+ boolean btravers=onglets_.getSelectedComponent()==pnProfils_;
+
+ btVoir_.setVisible(!btravers);
+ btExport_.setVisible(!btravers);
+ btExportExcel_.setVisible(!btravers && FuLib.isWindows());
+ btCustom_.setVisible(!btravers);
+ btReculerVite_.setVisible(!btravers);
+ btReculer_.setVisible(!btravers);
+ btAvancer_.setVisible(!btravers);
+ btAvancerVite_.setVisible(!btravers);
+ btAnim_.setVisible(!btravers);
+
+ btProfReculerVite_.setVisible(btravers);
+ btProfReculer_.setVisible(btravers);
+ btProfAvancer_.setVisible(btravers);
+ btProfAvancerVite_.setVisible(btravers);
+ }
@Override
public void actionPerformed(ActionEvent _evt) {
@@ -145,7 +194,20 @@
deplaceVisu(1);
} else if ("POINTAVANCERVITE".equals(cmd)) {
deplaceVisu(5);
- } else if ("ANIM".equals(cmd)) {
+ }
+ else if ("PROFRECULERVITE".equals(cmd)) {
+ pnProfils_.setProfilCourant(pnProfils_.getProfilCourant() - 5);
+ }
+ else if ("PROFRECULER".equals(cmd)) {
+ pnProfils_.setProfilCourant(pnProfils_.getProfilCourant() - 1);
+ }
+ else if ("PROFAVANCER".equals(cmd)) {
+ pnProfils_.setProfilCourant(pnProfils_.getProfilCourant() + 1);
+ }
+ else if ("PROFAVANCERVITE".equals(cmd)) {
+ pnProfils_.setProfilCourant(pnProfils_.getProfilCourant() + 5);
+ }
+ else if ("ANIM".equals(cmd)) {
aniAction_.changeAll();
}
}
@@ -166,14 +228,14 @@
/*if (resultatsCasier == resultatsCasier_)
return;
resultatsCasier_= resultatsCasier;*/
- panHydro.setResultatsCasier(resultatsCasier);
+ pnHydro.setResultatsCasier(resultatsCasier);
}
public void setResultatsLiaison(MetierResultatsTemporelSpatial resultatsLiaison) {
/*if (resultatsLiaison == resultatsLiaison_)
return;
resultatsLiaison_= resultatsLiaison;*/
- panHydro.setResultatsLiaison(resultatsLiaison);
+ pnHydro.setResultatsLiaison(resultatsLiaison);
}
public void setResultatsQE(MetierResultatsTemporelSpatial resultatsQE) {
@@ -197,12 +259,12 @@
/*if (resultTempoSpatial == resultatsCasier_)
return;
resultatsCasier_ = resultTempoSpatial;*/
- panHydro.setResultatsCasier(resultTempoSpatial);
+ pnHydro.setResultatsCasier(resultTempoSpatial);
} else if (resultTempoSpatial.resultatsLiaison()) {
/*if (resultTempoSpatial == resultatsLiaison_)
return;
resultatsLiaison_ = resultTempoSpatial;*/
- panHydro.setResultatsLiaison(resultTempoSpatial);
+ pnHydro.setResultatsLiaison(resultTempoSpatial);
} //Utiliser uniquement (je pense) \xE0 l'ouverture d'un fichier r\xE9sultats sans projet
else if (resultTempoSpatial.resultatsTracer()) {
if (resultTempoSpatial == resultatsQE_) {
@@ -210,13 +272,13 @@
}
resultatsQE_ = resultTempoSpatial;
//panHydro.setResultats(resultTempoSpatial);
- panQE.setResultats(resultTempoSpatial);
+ pnQE.setResultats(resultTempoSpatial);
} else {
if (resultTempoSpatial == resultTempoSpatial_) {
return;
}
resultTempoSpatial_ = resultTempoSpatial;
- panHydro.setResultats(resultTempoSpatial_);
+ pnHydro.setResultats(resultTempoSpatial_);
}
setValeurs();
@@ -235,28 +297,34 @@
}
reseau_ = reseau;
}
+ if (_n instanceof MetierEtude1d) {
+ pnProfils_.setEtude((MetierEtude1d)_n);
+ }
}
- public PanneauGraphesResultats getSelectedPanel() {
+ public PanneauGraphesResultats getSelectedProfLongPanel() {
//((PanneauGraphesResultats) onglets_.getSelectedComponent().); => retourne le scrollPane
- if (onglets_.getSelectedIndex() == 0) {
- return panHydro;
- } else //if (onglets_.getSelectedIndex()==1)
+ if (onglets_.getSelectedComponent() == pnHydro) {
+ return pnHydro;
+ } else if (onglets_.getSelectedComponent()==pnQE)
{
- return panQE;
+ return pnQE;
}
+ else {
+ return null;
+ }
}
-
+
public Hydraulique1dGrapheResuBief getSelectedGraph() {
- return getSelectedPanel().bgraphe_;
+ return getSelectedProfLongPanel().bgraphe_;
}
public BuList getListePasTpsSection() {
- return getSelectedPanel().lstPasTpsSection_;
+ return getSelectedProfLongPanel().lstPasTpsSection_;
}
public BuList getListeBiefCasierLiaison() {
- return getSelectedPanel().lstBiefCasierLiaison_;
+ return getSelectedProfLongPanel().lstBiefCasierLiaison_;
}
/**
@@ -268,7 +336,16 @@
*/
@Override
public int print(Graphics _g, PageFormat _format, int _page) {
- return getSelectedGraph().print(_g, _format, _page);
+ if (onglets_.getSelectedComponent()==pnQE) {
+ return pnQE.bgraphe_.print(_g, _format, _page);
+ }
+ else if (onglets_.getSelectedComponent()==pnHydro) {
+ return pnHydro.bgraphe_.print(_g, _format, _page);
+ }
+ else if (onglets_.getSelectedComponent()==pnProfils_) {
+ return pnProfils_.print(_g, _format, _page);
+ }
+ return Printable.NO_SUCH_PAGE;
}
/**
@@ -291,11 +368,11 @@
//Si la fusion a reussie ...
//On fournit les resultats fusionn\xE9s au pannel hydraulique et on modifie le titre de l'onglet
- panHydro.setResultats(resFus);
+ pnHydro.setResultats(resFus);
onglets_.setTitleAt(0, getS("R\xE9sultats hydrauliques et qualit\xE9 d'eau"));
//Si on arrive a fusionner les resultats , on supprime l'onglet QE eventuellment cr\xE9\xE9 lors d'un calcul pr\xE9c\xE9dent avec fusion impossible
- if (panQE != null) {
- onglets_.removeTabAt(1);
+ if (pnQE != null) {
+ onglets_.remove(pnQE);
}
@@ -304,9 +381,9 @@
//Si la fusion est impossible
System.out.println(getS("Fusion des resultats Tracer et Mascaret impossible") + " :" + e.getMessage());
//On cr\xE9\xE9 le panel
- if (panQE == null) {
- panQE = new PanneauGraphesResultats(this);
- onglets_.insertTab(getS("R\xE9sultats qualit\xE9 d'eau"), null, new JScrollPane(panQE), null, 1);
+ if (pnQE == null) {
+ pnQE = new PanneauGraphesResultats(this);
+ onglets_.insertTab(getS("R\xE9sultats qualit\xE9 d'eau"), null, pnQE, null, 1);
//On modifie le titre de l'onglet hydro
onglets_.setTitleAt(0, getS("R\xE9sultats hydrauliques"));
}
@@ -318,22 +395,20 @@
}
//On fournit les valeurs de QE au panel QE, et on set les valeurs
- panQE.setResultats(resultatsQE_);
- panQE.setValeurs();
- panQE.setResultatsLiaison(null);//Jamais de casier avec la qualit\xE9 d'eau
- panQE.setResultatsCasier(null);
+ pnQE.setResultats(resultatsQE_);
+ pnQE.setValeurs();
+ pnQE.setResultatsLiaison(null);//Jamais de casier avec la qualit\xE9 d'eau
+ pnQE.setResultatsCasier(null);
//e.printStackTrace();
} finally { //Dans tous les cas...
//On set les valeurs hydrauliques et les profils si disponible
- panHydro.setValeurs();
- btProfil_.setVisible((reseau_ != null));
+ pnHydro.setValeurs();
}
} else {
//Le cas sans qualit\xE9 d'eau.........
- panHydro.setValeurs();
- btProfil_.setVisible((reseau_ != null));
+ pnHydro.setValeurs();
onglets_.setTitleAt(0, getS("R\xE9sultats hydrauliques"));
}
@@ -360,11 +435,12 @@
}
protected void visualiser(boolean calculBorne) {
- if (onglets_.getSelectedIndex() == 0) {
- panHydro.visualiser(calculBorne);
- } else {
- panQE.visualiser(calculBorne);
+ if (onglets_.getSelectedComponent() == pnHydro) {
+ pnHydro.visualiser(calculBorne);
}
+ else if (onglets_.getSelectedComponent() == pnQE) {
+ pnQE.visualiser(calculBorne);
+ }
}
/**
@@ -449,10 +525,10 @@
protected List<GrapheComponent> getListLaisse() {
List<GrapheComponent> listeLaisse = new ArrayList<GrapheComponent>();
- if (getSelectedPanel().cbLaisse_.isSelected()) {
+ if (getSelectedProfLongPanel().cbLaisse_.isSelected()) {
MetierLaisse[] laisses = donnneHyd_.laisses();
//Si Profil spatial
- if (getSelectedPanel().rbSpatial_.isSelected()) {
+ if (getSelectedProfLongPanel().rbSpatial_.isSelected()) {
Vector<Valeur> vLaissesBief = new Vector<Valeur>();
for (int j = getListeBiefCasierLiaison().getMinSelectionIndex(); j <= getListeBiefCasierLiaison().getMaxSelectionIndex(); j++) {
if (j < reseau_.biefs().length) {
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java 2013-07-29 14:18:59 UTC (rev 8456)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java 2013-07-29 15:31:13 UTC (rev 8457)
@@ -48,6 +48,7 @@
import javax.swing.event.ListSelectionListener;
import org.fudaa.ctulu.gui.CtuluDialog;
+import org.fudaa.dodico.hydraulique1d.metier.EnumMetierRegime;
import org.fudaa.dodico.hydraulique1d.metier.MetierBief;
import org.fudaa.dodico.hydraulique1d.metier.MetierEtude1d;
import org.fudaa.dodico.hydraulique1d.metier.MetierReseau;
@@ -367,6 +368,7 @@
public void setEtude(MetierEtude1d _etude) {
etude_=_etude;
+ isTranscritique_=etude_.paramGeneraux().regime().value() == EnumMetierRegime._TRANSCRITIQUE;
mdlBief_=new AbstractListModel() {
@@ -377,7 +379,7 @@
@Override
public Object getElementAt(int index) {
- return etude_.reseau().biefs()[index];
+ return Hydraulique1dResource.getS("Bief")+" "+(index+1);
}
};
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_GraphesResultats.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_GraphesResultats.java 2013-07-29 14:18:59 UTC (rev 8456)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_GraphesResultats.java 2013-07-29 15:31:13 UTC (rev 8457)
@@ -44,6 +44,7 @@
if (res == null) {
edit_.setObject(etude_.donneesHydro());
edit_.setObject(etude_.reseau());
+ edit_.setObject(etude_);
//Test des casiers et liaisons
if (etude_.reseau().casiers().length > 0) {
edit_.setResultatsCasier(
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-07-29 14:19:02
|
Revision: 8456
http://sourceforge.net/p/fudaa/svn/8456
Author: bmarchan
Date: 2013-07-29 14:18:59 +0000 (Mon, 29 Jul 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/dialog/BDialogContent.java
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/dialog/BPanneauEditorAction.java
Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/dialog/BDialogContent.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/dialog/BDialogContent.java 2013-07-29 10:31:53 UTC (rev 8455)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/dialog/BDialogContent.java 2013-07-29 14:18:59 UTC (rev 8456)
@@ -200,7 +200,7 @@
pnAction_ = null;
pnCtrl_ = new BuPanel();
pnCtrl_.setLayout(new BorderLayout());
- super.add(BorderLayout.SOUTH, pnCtrl_);
+ add(pnCtrl_,BorderLayout.SOUTH);
if (EbliPreferences.DIALOG.TYPE == EbliPreferences.DIALOG.INTERNAL) {
setToInternalDialog();
} else {
@@ -409,7 +409,7 @@
// } else {
pnAction_ = new BPanneauEditorAction(_mode);
pnAction_.addActionListener(this);
- pnCtrl_.add(BorderLayout.NORTH, pnAction_);
+ pnCtrl_.add(pnAction_,BorderLayout.NORTH);
// }
}
@@ -421,7 +421,7 @@
pnAction_ = _p;
if (pnAction_!=null) {
pnAction_.addActionListener(this);
- pnCtrl_.add(BorderLayout.NORTH, pnAction_);
+ pnCtrl_.add(pnAction_,BorderLayout.NORTH);
}
}
@@ -433,7 +433,7 @@
if (pnAction_ == null) {
pnAction_ = new BPanneauEditorAction(0);
pnAction_.addActionListener(this);
- pnCtrl_.add(BorderLayout.NORTH, pnAction_);
+ pnCtrl_.add(pnAction_,BorderLayout.NORTH);
}
return pnAction_.addCustomButton(_label, _icon, _cmd);
}
@@ -476,7 +476,7 @@
}
pnNav_ = new BPanneauNavigation(_mode);
pnNav_.addActionListener(this);
- pnCtrl_.add(BorderLayout.CENTER, pnNav_);
+ pnCtrl_.add(pnNav_,BorderLayout.CENTER);
}
public BPanneauNavigation getNavPanel() {
Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/dialog/BPanneauEditorAction.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/dialog/BPanneauEditorAction.java 2013-07-29 10:31:53 UTC (rev 8455)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/dialog/BPanneauEditorAction.java 2013-07-29 14:18:59 UTC (rev 8456)
@@ -249,6 +249,18 @@
public BuButton addCustomButton(final String _label, final String _cmd) {
return addCustomButton(_label, null, _cmd);
}
+
+ public BuButton getCustomAction(final String _cmd) {
+ final Component[] comps = getComponents();
+ for (int i = 0; i < comps.length; i++) {
+ BuButton bt=(BuButton)comps[i];
+ if (bt.getActionCommand().equals(_cmd)) {
+ return bt;
+ }
+ }
+
+ return null;
+ }
public boolean containsCustomButton(final String _cmd) {
final Component[] comps = getComponents();
@@ -270,6 +282,14 @@
}
}
+ public void removeAllCustomButton() {
+ final Component[] comps = getComponents();
+ for (int i = 0; i < comps.length; i++) {
+ remove(comps[i]);
+ btCustom_.remove(comps[i]);
+ }
+ }
+
public void addActionList(final String[][] _list) {
if (_list == null) {
return;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-07-29 10:31:56
|
Revision: 8455
http://sourceforge.net/p/fudaa/svn/8455
Author: bmarchan
Date: 2013-07-29 10:31:53 +0000 (Mon, 29 Jul 2013)
Log Message:
-----------
Mascaret : Suppression des log ds assistance.log
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-07-29 10:31:07 UTC (rev 8454)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-07-29 10:31:53 UTC (rev 8455)
@@ -280,6 +280,7 @@
getApp().removeAction("VISIBLE_LEFTCOLUMN");
setEnableMenu();
assistant_ = new BuAssistant();
+ assistant_.setLog(false);
MascaretResource.ASSISTANT = assistant_;
Hydraulique1dResource.setAssistant(assistant_);
BuMainPanel mp = getApp().getMainPanel();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-07-29 10:31:10
|
Revision: 8454
http://sourceforge.net/p/fudaa/svn/8454
Author: bmarchan
Date: 2013-07-29 10:31:07 +0000 (Mon, 29 Jul 2013)
Log Message:
-----------
Suppression des log ds assistance.log
Modified Paths:
--------------
trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuAssistant.java
Modified: trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuAssistant.java
===================================================================
--- trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuAssistant.java 2013-07-29 09:34:22 UTC (rev 8453)
+++ trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuAssistant.java 2013-07-29 10:31:07 UTC (rev 8454)
@@ -716,11 +716,8 @@
private static String logfileName()
{
- String f="assistance.log";
- if(FuLib.isUnix())
- f=FuLib.getUserHome()+
- File.separator+
- f;
+ String f = "assistance.log";
+ f = FuLib.getUserHome() + File.separator + f;
return f;
}
@@ -736,7 +733,7 @@
if(info==null) info="";
- if(log_==null)
+ if(log_==null && isLog_)
{
try
{
@@ -747,7 +744,7 @@
catch(Throwable th) { } //IOException ex) { }
}
- if(log_!=null)
+ if(log_!=null && isLog_)
{
String t=_evt.getActionCommand();
if(source instanceof JCheckBox)
@@ -1131,6 +1128,15 @@
{ return use_; }
public synchronized void setUseCommentWindow(boolean _use)
{ use_=_use; }
+
+ private boolean isLog_=false;
+ /**
+ * Defines that something is write to assistance.log
+ * @param _b True : Log, false : No log.
+ */
+ public void setLog(boolean _b) {
+ isLog_=_b;
+ }
private JWindow window_;
public synchronized JWindow getCommentWindow()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-07-29 09:34:27
|
Revision: 8453
http://sourceforge.net/p/fudaa/svn/8453
Author: bmarchan
Date: 2013-07-29 09:34:22 +0000 (Mon, 29 Jul 2013)
Log Message:
-----------
Mascaret : Fix traceback profils en travers en cas de changement de bief
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java 2013-07-29 08:55:53 UTC (rev 8452)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java 2013-07-29 09:34:22 UTC (rev 8453)
@@ -428,7 +428,6 @@
}
setProfilsModeleBief(listeProfils_.toArray(new Hydraulique1dProfilModel[listeProfils_.size()]));
- setProfilCourant(0);
changeTempsSelection(coTemps_.getSelectedIndex());
}
@@ -831,7 +830,14 @@
* @param _profils Les profils.
*/
public void setProfilsModeleBief(Hydraulique1dProfilModel[] _profils) {
+ profilsBief_[iprofilCourant_].removeSelectionListener(this);
+ profilsBief_[iprofilCourant_].removeDataListener(this);
+
profilsBief_=_profils;
+
+ iprofilCourant_=0;
+ setProfilCourant(0);
+
graphe_.setBiefProfilModels(_profils);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-07-29 08:55:57
|
Revision: 8452
http://sourceforge.net/p/fudaa/svn/8452
Author: bmarchan
Date: 2013-07-29 08:55:53 +0000 (Mon, 29 Jul 2013)
Log Message:
-----------
Mascaret : Animation des cotes d'eau sur profil en travers.
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/graphe/Hydraulique1dGrapheProfil.java
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java 2013-07-29 08:52:55 UTC (rev 8451)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java 2013-07-29 08:55:53 UTC (rev 8452)
@@ -11,6 +11,7 @@
import gnu.trove.TDoubleArrayList;
import java.awt.BorderLayout;
+import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
@@ -27,6 +28,7 @@
import java.util.Map;
import java.util.Vector;
+import javax.swing.AbstractButton;
import javax.swing.AbstractListModel;
import javax.swing.BorderFactory;
import javax.swing.Box;
@@ -51,6 +53,9 @@
import org.fudaa.dodico.hydraulique1d.metier.MetierReseau;
import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpatial;
import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpatialBief;
+import org.fudaa.ebli.animation.EbliAnimationAction;
+import org.fudaa.ebli.animation.EbliAnimationSourceInterface;
+import org.fudaa.ebli.commun.EbliComponentFactory;
import org.fudaa.ebli.impression.EbliPrinter;
import org.fudaa.fudaa.hydraulique1d.CGlobal;
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication;
@@ -85,7 +90,98 @@
* @author Bertrand Marchand
*/
public class Hydraulique1dProfilPane extends JPanel implements CurveOptionTargetI, ActionListener, Hydraulique1dProfilSelectionListener, Hydraulique1dProfilDataListener, BuCutCopyPasteInterface, BuUndoRedoInterface {
+
+ /**
+ * Une classe d'animation du graphe.
+ * @author Bertrand Marchand (mar...@de...)
+ */
+ class GrapheAnimation implements EbliAnimationSourceInterface {
+ private Hydraulique1dProfilPane panel_;
+
+ GrapheAnimation(Hydraulique1dProfilPane editeur) {
+ panel_ = editeur;
+ }
+
+ /**
+ * @return le nombre de pas de temps a parcourir
+ */
+ @Override
+ public int getNbTimeStep() {
+ return panel_.coTemps_.getItemCount();
+ }
+
+ /**
+ * @param _idx indice du pas de temps [0;getNbTimeStep()[
+ * @return representation de ce pas de temps
+ */
+ @Override
+ public String getTimeStep(int _idx) {
+ return panel_.coTemps_.getItemAt(_idx).toString();
+ }
+
+ @Override
+ public double getTimeStepValueSec(int _idx) {
+ try {
+ return Double.parseDouble(getTimeStep(_idx));
+ } catch (NumberFormatException numberFormatException) {
+ }
+ return 0;
+ }
+
+ /**
+ * @param _idx l'indice a afficher
+ */
+ @Override
+ public void setTimeStep(int _idx) {
+ panel_.coTemps_.setSelectedIndex(_idx);
+ }
+
+ @Override
+ public String getTitle() {
+ return panel_.getTitle();
+ }
+
+ /**
+ * Permet d'avertir le client que la video est en cours
+ *
+ * @param _b true si video en cours
+ */
+ @Override
+ public void setVideoMode(boolean _b) {
+ }
+
+ /**
+ * @return le composant contenant l'affichage (optionnel)
+ */
+ @Override
+ public Component getComponent() {
+ return null;
+
+ }
+
+ /**
+ * @return l'image produite dans la taille courant du composant.
+ */
+ @Override
+ public BufferedImage produceImage(Map _params) {
+ return panel_.produceImage(null);
+ }
+
+ @Override
+ public BufferedImage produceImage(int _w, int _h, Map _params) {
+ return panel_.produceImage(_w, _h, null);
+ }
+
+ /**
+ * @return les dimensions de l'image produite
+ */
+ @Override
+ public Dimension getDefaultImageDimension() {
+ return panel_.graphe_.getSize();
+ }
+ }
+
class TpsComboboxModel implements ComboBoxModel {
HashSet<ListDataListener> hlisteners=new HashSet<ListDataListener>();
Object selected;
@@ -184,7 +280,6 @@
private JToggleButton btVoirRives_=new JToggleButton();
private JButton btFixerBornes_=new JButton();
private JToggleButton btAjusterBornes_=new JToggleButton();
- private JButton btAnimation_=new JButton();
private JComboBox coTemps_=new JComboBox();
private JToggleButton btCoteMinMax_=new JToggleButton();
@@ -293,9 +388,8 @@
coTemps_.setSelectedIndex(0);
}
- private void changeTempsSelection() {
- int itps=coTemps_.getSelectedIndex();
- if (itps==-1) return;
+ private void changeTempsSelection(int _itps) {
+ if (_itps==-1) return;
int[] ibiefs=lsBief_.getSelectedIndices();
@@ -306,7 +400,7 @@
int nbProfil = b.profils().length;
for (int iprof = 0; iprof < nbProfil; iprof++) {
Hydraulique1dProfilModel pModel= profilsBief_[icpt++];
- double z=calculeCoteZProfil(ibiefs[i], iprof,itps);
+ double z=calculeCoteZProfil(ibiefs[i], iprof,_itps);
pModel.setNiveauEau(z);
}
}
@@ -336,7 +430,7 @@
setProfilsModeleBief(listeProfils_.toArray(new Hydraulique1dProfilModel[listeProfils_.size()]));
setProfilCourant(0);
- changeTempsSelection();
+ changeTempsSelection(coTemps_.getSelectedIndex());
}
/**
@@ -629,17 +723,17 @@
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange()==ItemEvent.DESELECTED) return;
- changeTempsSelection();
+ changeTempsSelection(coTemps_.getSelectedIndex());
}
});
pn.add(coTemps_);
- btAnimation_.setIcon(Hydraulique1dResource.HYDRAULIQUE1D.getIcon("video"));
- btAnimation_.setToolTipText(Hydraulique1dResource.getS("Animation du temps courant"));
- btAnimation_.setMargin(new Insets(1,1,1,1));
- pn.add(btAnimation_);
-
+ EbliAnimationAction act=new EbliAnimationAction(new GrapheAnimation(this));
+ AbstractButton btAnimation=act.buildButton(EbliComponentFactory.INSTANCE);
+ btAnimation.setMargin(new Insets(1,1,1,1));
+ btAnimation.setEnabled(true);
+ pn.add(btAnimation);
}
return pn;
@@ -781,6 +875,10 @@
return iprofilCourant_;
}
+ public String getTitle() {
+ return lbTitle_.getText();
+ }
+
public void setTitle(String _s) {
lbTitle_.setText(_s);
}
@@ -1106,15 +1204,22 @@
* @return l'image produite dans la taille courante du composant.
*/
public BufferedImage produceImage(Map _params) {
- if (pnTableau_.hasFocus()) {
- BufferedImage i=new BufferedImage(pnTableau_.getTableau().getWidth(), pnTableau_.getTableau().getHeight(), BufferedImage.TYPE_3BYTE_BGR);
- pnTableau_.getTableau().paint(i.createGraphics());
- return i;
- }
+// if (pnTableau_.hasFocus()) {
+// BufferedImage i=new BufferedImage(pnTableau_.getTableau().getWidth(), pnTableau_.getTableau().getHeight(), BufferedImage.TYPE_3BYTE_BGR);
+// pnTableau_.getTableau().paint(i.createGraphics());
+// return i;
+// }
return graphe_.produceImage(null);
}
/**
+ * @return l'image produite pour une taille donnee.
+ */
+ public BufferedImage produceImage(int _w, int _h, Map _params) {
+ return graphe_.produceImage(_w, _h, null);
+ }
+
+ /**
* Le nombre de pages : 2. La premi\xE8re pour le graphique, la deuxi\xE8me pour le tableau.
* @return Le nombre de pages.
*/
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/graphe/Hydraulique1dGrapheProfil.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/graphe/Hydraulique1dGrapheProfil.java 2013-07-29 08:52:55 UTC (rev 8451)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/graphe/Hydraulique1dGrapheProfil.java 2013-07-29 08:55:53 UTC (rev 8452)
@@ -327,6 +327,13 @@
public BufferedImage produceImage(Map _params) {
return CtuluLibImage.produceImageForComponent(this, _params);
}
+
+ /**
+ * @return l'image produite pour une taille donnee.
+ */
+ public BufferedImage produceImage(int _w, int _h, Map _params) {
+ return CtuluLibImage.produceImageForComponent(this, _w, _h, _params);
+ }
/**
* Definit le mode interactif du graphique.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-07-29 08:52:59
|
Revision: 8451
http://sourceforge.net/p/fudaa/svn/8451
Author: bmarchan
Date: 2013-07-29 08:52:55 +0000 (Mon, 29 Jul 2013)
Log Message:
-----------
Mascaret : Sauvegarde dans les recent files du dernier fichier ouvert.
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-07-26 15:48:37 UTC (rev 8450)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-07-29 08:52:55 UTC (rev 8451)
@@ -1579,6 +1579,7 @@
return;
}
getMainMenuBar().addRecentFile(fichier.getAbsolutePath(), "mascaret");
+ MascaretPreferences.MASCARET.writeIniFile();
} else {
fermer();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-07-26 15:48:40
|
Revision: 8450
http://sourceforge.net/p/fudaa/svn/8450
Author: bmarchan
Date: 2013-07-26 15:48:37 +0000 (Fri, 26 Jul 2013)
Log Message:
-----------
MAscaret : Chgt de n?\194?\176 de version
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-07-26 15:48:04 UTC (rev 8449)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-07-26 15:48:37 UTC (rev 8450)
@@ -147,8 +147,8 @@
static {
isApp_.name = "Fudaa-Mascaret";
- isApp_.version = "3.1.7-1";
- isApp_.date = "05-07-2013";
+ isApp_.version = "3.1.8";
+ isApp_.date = "30-07-2013";
isApp_.rights = MascaretResource.MASCARET.getString("Tous droits r\xE9serv\xE9s") + ". EDF-CETMEF (c) 2001-2013";
// isApp_.contact = "http://www.openmascaret.org/index.php?option=com_kunena&view=category&Itemid=177&layout=list";
isApp_.contact = "http://www.openmascaret.org/";
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-07-26 15:48:07
|
Revision: 8449
http://sourceforge.net/p/fudaa/svn/8449
Author: bmarchan
Date: 2013-07-26 15:48:04 +0000 (Fri, 26 Jul 2013)
Log Message:
-----------
Mascaret : Ajout des pas de temps + biefs panneau de visu profils en travers
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilEditor.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/graphe/Hydraulique1dGrapheProfil.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ProfilResultats.java
Added Paths:
-----------
trunk/soft/fudaa-mascaret/ui/src/main/resources/org/fudaa/fudaa/hydraulique1d/icvoirminmax.gif
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java 2013-07-25 12:34:32 UTC (rev 8448)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java 2013-07-26 15:48:04 UTC (rev 8449)
@@ -22,7 +22,6 @@
import java.util.List;
import java.util.Locale;
import java.util.Map;
-import java.util.StringTokenizer;
import java.util.Vector;
import javax.swing.JButton;
@@ -341,54 +340,11 @@
}
private void profils() {
- if ((getSelectedPanel().isSelectedModeBief()) && (getSelectedPanel().rbSpatial_.isSelected())) {
- Hydraulique1dIHM_ProfilResultats ihm = Hydraulique1dIHMRepository.
- getInstance().PROFIL_RESULTATS();
+ Hydraulique1dIHM_ProfilResultats ihm = Hydraulique1dIHMRepository.getInstance().PROFIL_RESULTATS();
- ihm.setIndicesPasTemps(getListePasTpsSection().getSelectedIndices());
- ihm.setIndicesBiefs(getIndexElementsSelectionnes());
- ihm.editer();
- }
- if ((getSelectedPanel().isSelectedModeBief()) && (getSelectedPanel().rbTemporel_.isSelected())) {
- Hydraulique1dIHM_ProfilResultats ihm = Hydraulique1dIHMRepository.
- getInstance().PROFIL_RESULTATS();
-
- ihm.setIndicesPasTemps(null);
- ihm.setIndicesBiefs(getIndexElementsSelectionnes());
- ihm.editer();
- }
+ ihm.editer();
}
- private int[] getIndexElementsSelectionnes() {
- String item = (String) getListeBiefCasierLiaison().getSelectedValue();
- if (item == null) {
- return new int[0];
- }
- String debutChaine = "";
- if (item.startsWith(getS("Bief"))) {
- debutChaine = getS("Bief");
- } else if (item.startsWith(getS("Casier"))) {
- debutChaine = getS("Casier");
- } else if (item.startsWith(getS("Liaison"))) {
- debutChaine = getS("Liaison");
- }
- Object[] values = getListeBiefCasierLiaison().getSelectedValues();
-
- ArrayList<Integer> listeIndexes = new ArrayList<Integer>(values.length);
- for (int i = 0; i < values.length; i++) {
- StringTokenizer st = new StringTokenizer(values[i].toString());
- if (debutChaine.equals(st.nextToken())) {
- listeIndexes.add(new Integer(Integer.parseInt(st.nextToken()) - 1));
- }
- }
- int[] res = new int[listeIndexes.size()];
- for (int i = 0; i < res.length; i++) {
- res[i] = listeIndexes.get(i).intValue();
- }
-
- return res;
- }
-
protected void personnaliser() {
BuCommonInterface app =
(BuCommonInterface) Hydraulique1dBaseApplication.FRAME;
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilEditor.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilEditor.java 2013-07-25 12:34:32 UTC (rev 8448)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilEditor.java 2013-07-26 15:48:04 UTC (rev 8449)
@@ -15,8 +15,8 @@
import java.awt.print.PageFormat;
import java.util.Map;
+import org.fudaa.dodico.hydraulique1d.metier.MetierEtude1d;
import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d;
-import org.fudaa.dodico.hydraulique1d.metier.MetierReseau;
import org.fudaa.ebli.dialog.BPanneauNavigation;
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dPreferences;
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dProfilModel;
@@ -87,8 +87,8 @@
return pnProfs_;
}
- public void setReseau(MetierReseau _res) {
- pnProfs_.setReseau(_res);
+ public void setEtude(MetierEtude1d _res) {
+ pnProfs_.setEtude(_res);
}
/**
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java 2013-07-25 12:34:32 UTC (rev 8448)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/profil/Hydraulique1dProfilPane.java 2013-07-26 15:48:04 UTC (rev 8449)
@@ -8,6 +8,8 @@
*/
package org.fudaa.fudaa.hydraulique1d.editor.profil;
+import gnu.trove.TDoubleArrayList;
+
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
@@ -15,9 +17,13 @@
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
import java.awt.image.BufferedImage;
import java.awt.print.PageFormat;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashSet;
import java.util.Map;
import java.util.Vector;
@@ -25,16 +31,26 @@
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.ButtonGroup;
+import javax.swing.ComboBoxModel;
import javax.swing.JButton;
+import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import javax.swing.JToggleButton;
import javax.swing.ListModel;
import javax.swing.ListSelectionModel;
+import javax.swing.event.ListDataEvent;
+import javax.swing.event.ListDataListener;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
import org.fudaa.ctulu.gui.CtuluDialog;
+import org.fudaa.dodico.hydraulique1d.metier.MetierBief;
+import org.fudaa.dodico.hydraulique1d.metier.MetierEtude1d;
import org.fudaa.dodico.hydraulique1d.metier.MetierReseau;
+import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpatial;
+import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpatialBief;
import org.fudaa.ebli.impression.EbliPrinter;
import org.fudaa.fudaa.hydraulique1d.CGlobal;
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication;
@@ -70,6 +86,55 @@
*/
public class Hydraulique1dProfilPane extends JPanel implements CurveOptionTargetI, ActionListener, Hydraulique1dProfilSelectionListener, Hydraulique1dProfilDataListener, BuCutCopyPasteInterface, BuUndoRedoInterface {
+ class TpsComboboxModel implements ComboBoxModel {
+ HashSet<ListDataListener> hlisteners=new HashSet<ListDataListener>();
+ Object selected;
+
+ @Override
+ public int getSize() {
+ double[] valPas=etude_.resultatsGeneraux().resultatsTemporelSpatial().valPas();
+ return valPas==null ? 0:valPas.length;
+ }
+
+ @Override
+ public Object getElementAt(int index) {
+ return Double.toString(etude_.resultatsGeneraux().resultatsTemporelSpatial().valPas()[index]);
+ }
+
+ @Override
+ public void addListDataListener(ListDataListener l) {
+ hlisteners.add(l);
+ }
+
+ @Override
+ public void removeListDataListener(ListDataListener l) {
+ hlisteners.remove(l);
+ }
+
+ @Override
+ public void setSelectedItem(Object anItem) {
+ if (selected==null && anItem!=null || selected!=null && !selected.equals(anItem)) {
+ selected=anItem;
+ fireSelectionChanged();
+ }
+ }
+
+ @Override
+ public Object getSelectedItem() {
+ return selected;
+ }
+
+ private void fireSelectionChanged() {
+ ListDataEvent e = null;
+ for (ListDataListener l : hlisteners) {
+ if (e == null) {
+ e = new ListDataEvent(this, ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+ l.contentsChanged(e);
+ }
+ }
+ }
+
/** Mode d'affichage */
public static final int EDITER=0x01;
public static final int VOIR=0x02;
@@ -119,6 +184,9 @@
private JToggleButton btVoirRives_=new JToggleButton();
private JButton btFixerBornes_=new JButton();
private JToggleButton btAjusterBornes_=new JToggleButton();
+ private JButton btAnimation_=new JButton();
+ private JComboBox coTemps_=new JComboBox();
+ private JToggleButton btCoteMinMax_=new JToggleButton();
/** Fenetre de lissage */
private Hydraulique1dLissageProfilEditor fnLissage_=null;
@@ -133,8 +201,8 @@
/** Fenetre d'alignmenet des profils */
private CtuluDialog fnAlignOption_=null;
+ private MetierEtude1d etude_;
private ListModel mdlBief_;
- private MetierReseau reseau_;
private BuList lsBief_;
/**
@@ -180,14 +248,21 @@
pnTableau_=new Hydraulique1dProfilTableauPanel();
pnTableau_.setEditable(modeEdition_==EDITER);
+ pnTableau_.setBorder(BorderFactory.createTitledBorder(Hydraulique1dResource.getS("Points du profil")));
pn.add(pnTableau_,BorderLayout.CENTER);
if (modeEdition_==VOIR) {
lsBief_ = new BuList();
lsBief_.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
+ lsBief_.addListSelectionListener(new ListSelectionListener() {
+ @Override
+ public void valueChanged(ListSelectionEvent e) {
+ changeBiefsSelection();
+ }
+ });
BuScrollPane spBiefs_= new BuScrollPane(lsBief_);
- spBiefs_.setBorder(BorderFactory.createTitledBorder("Biefs"));
- spBiefs_.setPreferredHeight(100);
+ spBiefs_.setBorder(BorderFactory.createTitledBorder(Hydraulique1dResource.getS("Biefs")));
+ spBiefs_.setPreferredHeight(70);
pn.add(spBiefs_,BorderLayout.NORTH);
}
@@ -195,26 +270,151 @@
return pn;
}
- public void setReseau(MetierReseau _res) {
- reseau_=_res;
+ public void setEtude(MetierEtude1d _etude) {
+ etude_=_etude;
mdlBief_=new AbstractListModel() {
@Override
public int getSize() {
- return reseau_.biefs().length;
+ return etude_.reseau().biefs().length;
}
@Override
public Object getElementAt(int index) {
- return reseau_.biefs()[index];
+ return etude_.reseau().biefs()[index];
}
};
lsBief_.setModel(mdlBief_);
+ coTemps_.setModel(new TpsComboboxModel());
+
+ lsBief_.setSelectedIndex(0);
+ coTemps_.setSelectedIndex(0);
}
+
+ private void changeTempsSelection() {
+ int itps=coTemps_.getSelectedIndex();
+ if (itps==-1) return;
+
+ int[] ibiefs=lsBief_.getSelectedIndices();
+
+ MetierReseau res = etude_.reseau();
+ int icpt=0;
+ for (int i = 0; i < ibiefs.length; i++) {
+ MetierBief b = res.biefs()[ibiefs[i]];
+ int nbProfil = b.profils().length;
+ for (int iprof = 0; iprof < nbProfil; iprof++) {
+ Hydraulique1dProfilModel pModel= profilsBief_[icpt++];
+ double z=calculeCoteZProfil(ibiefs[i], iprof,itps);
+ pModel.setNiveauEau(z);
+ }
+ }
+
+ graphe_.updateGraphe();
+
+ }
+ private void changeBiefsSelection() {
+ int[] ibiefs=lsBief_.getSelectedIndices();
+ if (ibiefs.length==0) return;
+
+ // initialisation les modeles de profils
+ ArrayList<Hydraulique1dProfilModel> listeProfils_ = new ArrayList<Hydraulique1dProfilModel>();
+
+ MetierReseau res = etude_.reseau();
+ for (int i = 0; i < ibiefs.length; i++) {
+ MetierBief b = res.biefs()[ibiefs[i]];
+ int nbProfil = b.profils().length;
+ for (int iprof = 0; iprof < nbProfil; iprof++) {
+ Hydraulique1dProfilModel pModel= new Hydraulique1dProfilModel(b.profils()[iprof]);
+ initCoteMinMaxProfil(pModel, b, ibiefs[i], iprof);
+ listeProfils_.add(pModel);
+ }
+ }
+
+ setProfilsModeleBief(listeProfils_.toArray(new Hydraulique1dProfilModel[listeProfils_.size()]));
+ setProfilCourant(0);
+
+ changeTempsSelection();
+ }
+
/**
+ * Initialise sur les modeles de profil la cote min/max pour tous les pas de temps.
+ * @param _prof Le model de profil
+ * @param _bief Le bief
+ * @param _ibief L'indice de bief dans le reseau.
+ * @param _iprofil L'indice de profil dans le bief.
+ */
+ private void initCoteMinMaxProfil(Hydraulique1dProfilModel _prof, MetierBief _bief, int _ibief, int _iprofil) {
+ try {
+ MetierResultatsTemporelSpatial resTempo=etude_.resultatsGeneraux().resultatsTemporelSpatial();
+
+ TDoubleArrayList listeCotes=new TDoubleArrayList(resTempo.valPas().length);
+ for (int itps=0; itps<resTempo.valPas().length; itps++) {
+ listeCotes.add(calculeCoteZProfil(_ibief, _iprofil, itps));
+ }
+
+ _prof.setNiveauEauMin(listeCotes.min());
+ _prof.setNiveauEauMax(listeCotes.max());
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ _prof.setNiveauEauMin(Double.NaN);
+ _prof.setNiveauEauMax(Double.NaN);
+ }
+ }
+
+ /**
+ * Calcul de la cote Z pour le profil donn\xE9. Peut \xEAtre interpol\xE9 entre 2 sections.
+ * @param _ibief L'indice du bief dans le reseau.
+ * @param _iprofil L'indice du profil dans le bief.
+ * @param _itps L'indice du pas de temps dans les r\xE9sultats.
+ * @return Le Z pour le profil.
+ */
+ private double calculeCoteZProfil(int _ibief, int _iprofil, int _itps) {
+ MetierBief bief=etude_.reseau().biefs()[_ibief];
+ MetierResultatsTemporelSpatial res=etude_.resultatsGeneraux().resultatsTemporelSpatial();
+ MetierResultatsTemporelSpatialBief resBief=res.resultatsBiefs()[_ibief];
+ int indiceVarCoteEau = res.getIndiceVariable("Z");
+
+ // extraction de l'abscisse de d\xE9but du r\xE9sultat du bief
+ double[] sectionRes = resBief.abscissesSections();
+ double xDebutRes = sectionRes[0];
+ // calcul du d\xE9calage \xE9ventuelle des abscisses entre r\xE9sultat et
+ // g\xE9om\xE9trie.
+ double diffAbscisse = xDebutRes - bief.extrAmont().profilRattache().abscisse();
+ double abscProfilCorrige = bief.profils()[_iprofil].abscisse() + diffAbscisse;
+ int ifound = Arrays.binarySearch(sectionRes, abscProfilCorrige);
+ if (ifound >= 0) {
+ double[] cotes = resBief.valeursVariables()[indiceVarCoteEau][_itps];
+ return cotes[ifound];
+ }
+ else {
+ int iResSup = -ifound - 1;
+ if (iResSup >= sectionRes.length) {
+ iResSup = sectionRes.length - 1;
+ }
+ int iResInf = iResSup - 1;
+ double x2 = sectionRes[iResSup];
+ double x1 = sectionRes[iResInf];
+
+ double[] cotes = resBief.valeursVariables()[indiceVarCoteEau][_itps];
+ double y1 = cotes[iResInf];
+ double y2 = cotes[iResSup];
+
+ if (x1==abscProfilCorrige)
+ return y1;
+ else if (x2==abscProfilCorrige)
+ return y2;
+ else if (x1==x2)
+ throw new IllegalArgumentException("interpolation impossible");
+ else
+ return ((y1-y2)*(abscProfilCorrige-x2)/(x1-x2))+y2;
+ }
+ }
+
+ /**
* Met a jour la fenetre en fonction de sont etat courant.
*/
public void updateState() {
@@ -412,6 +612,35 @@
btAjusterBornes_.addActionListener(this);
btAjusterBornes_.setSelected(!graphe_.isRatioXY1());
pn.add(btAjusterBornes_);
+
+ if (modeEdition_==VOIR) {
+ btCoteMinMax_.setIcon(Hydraulique1dResource.HYDRAULIQUE1D.getIcon("icvoirminmax.gif"));
+ btCoteMinMax_.setToolTipText(Hydraulique1dResource.getS("Voir les cotes min/max"));
+ btCoteMinMax_.setMargin(new Insets(1,1,1,1));
+ btCoteMinMax_.addActionListener(this);
+ pn.add(btCoteMinMax_);
+
+ pn.add(Box.createHorizontalStrut(5));
+ coTemps_.setToolTipText(Hydraulique1dResource.getS("Temps courant"));
+ coTemps_.setPreferredSize(new Dimension(120,coTemps_.getPreferredSize().height));
+ coTemps_.addItemListener(new ItemListener() {
+
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ if (e.getStateChange()==ItemEvent.DESELECTED) return;
+
+ changeTempsSelection();
+
+ }
+ });
+ pn.add(coTemps_);
+
+ btAnimation_.setIcon(Hydraulique1dResource.HYDRAULIQUE1D.getIcon("video"));
+ btAnimation_.setToolTipText(Hydraulique1dResource.getS("Animation du temps courant"));
+ btAnimation_.setMargin(new Insets(1,1,1,1));
+ pn.add(btAnimation_);
+
+ }
return pn;
}
@@ -868,6 +1097,9 @@
else if (src==btVoirSuivantPrecedent_) {
graphe_.setPreviousNextVisible(btVoirSuivantPrecedent_.isSelected());
}
+ else if (src==btCoteMinMax_) {
+ graphe_.setMinMaxVisible(btCoteMinMax_.isSelected());
+ }
}
/**
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/graphe/Hydraulique1dGrapheProfil.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/graphe/Hydraulique1dGrapheProfil.java 2013-07-25 12:34:32 UTC (rev 8448)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/graphe/Hydraulique1dGrapheProfil.java 2013-07-26 15:48:04 UTC (rev 8449)
@@ -66,6 +66,8 @@
private JFreeChart graphe_;
/** Les rives sont visible/invisibles */
private boolean brivesVisibles_;
+ /** Les rives sont visible/invisibles */
+ private boolean bminmaxVisibles_;
/** Le mode interactif */
private int modeInteractif_=MODE_INTERACTIF_ZOOM;
/** Ratio X/Y forc\xE9 \xE0 1 ? */
@@ -387,6 +389,12 @@
public void setZAlignment(Alignment _align) {
dataset_.setZAlignment(_align);
}
+
+ public void setMinMaxVisible(boolean _b) {
+ if (bminmaxVisibles_==_b) return;
+ bminmaxVisibles_=_b;
+ updateGraphe();
+ }
/**
* Les rives sont elles visibles
@@ -507,39 +515,37 @@
mkNivEau.setLabelPaint(Color.blue);
mkNivEau.setPaint(Color.blue);
mkNivEau.setStroke(new BasicStroke(1));
- mkNivEau.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
- mkNivEau.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT);
+ mkNivEau.setLabelAnchor(RectangleAnchor.TOP_LEFT);
+ mkNivEau.setLabelTextAnchor(TextAnchor.BOTTOM_LEFT);
graphe_.getXYPlot().addRangeMarker(mkNivEau,Layer.BACKGROUND);
}
- else {
- // Niveaux d'eau mini en resultats.
- if (!Double.isNaN(prf.getNiveauEauMin())) {
- ValueMarker mkNivEauMin=new ValueMarker(prf.getNiveauEauMin());
+ // Niveaux d'eau mini en resultats.
+ if (bminmaxVisibles_ && !Double.isNaN(prf.getNiveauEauMin())) {
+ ValueMarker mkNivEauMin = new ValueMarker(prf.getNiveauEauMin());
- mkNivEauMin.setLabel("Zmin="+nf_.format(prf.getNiveauEauMin()));
- mkNivEauMin.setLabelPaint(new Color(0xAA, 0x00, 0xFF));
- mkNivEauMin.setPaint(new Color(0xAA, 0x00, 0xFF));
- mkNivEauMin.setStroke(new BasicStroke(1));
- mkNivEauMin.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT);
- mkNivEauMin.setLabelTextAnchor(TextAnchor.TOP_RIGHT);
+ mkNivEauMin.setLabel("Zmin=" + nf_.format(prf.getNiveauEauMin()));
+ mkNivEauMin.setLabelPaint(new Color(0xAA, 0x00, 0xFF));
+ mkNivEauMin.setPaint(new Color(0xAA, 0x00, 0xFF));
+ mkNivEauMin.setStroke(new BasicStroke(1));
+ mkNivEauMin.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT);
+ mkNivEauMin.setLabelTextAnchor(TextAnchor.TOP_RIGHT);
- graphe_.getXYPlot().addRangeMarker(mkNivEauMin, Layer.BACKGROUND);
- }
- // Niveaux d'eau maxi en resultats.
- if (!Double.isNaN(prf.getNiveauEauMax())) {
- ValueMarker mkNivEauMax=new ValueMarker(prf.getNiveauEauMax());
+ graphe_.getXYPlot().addRangeMarker(mkNivEauMin, Layer.BACKGROUND);
+ }
+ // Niveaux d'eau maxi en resultats.
+ if (bminmaxVisibles_ && !Double.isNaN(prf.getNiveauEauMax())) {
+ ValueMarker mkNivEauMax = new ValueMarker(prf.getNiveauEauMax());
- mkNivEauMax.setLabel("Zmax="+nf_.format(prf.getNiveauEauMax()));
- mkNivEauMax.setLabelPaint(new Color(0xAA, 0x00, 0xFF));
- mkNivEauMax.setPaint(new Color(0xAA, 0x00, 0xFF));
- mkNivEauMax.setStroke(new BasicStroke(1));
- mkNivEauMax.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
- mkNivEauMax.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT);
+ mkNivEauMax.setLabel("Zmax=" + nf_.format(prf.getNiveauEauMax()));
+ mkNivEauMax.setLabelPaint(new Color(0xAA, 0x00, 0xFF));
+ mkNivEauMax.setPaint(new Color(0xAA, 0x00, 0xFF));
+ mkNivEauMax.setStroke(new BasicStroke(1));
+ mkNivEauMax.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
+ mkNivEauMax.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT);
- graphe_.getXYPlot().addRangeMarker(mkNivEauMax, Layer.BACKGROUND);
- }
+ graphe_.getXYPlot().addRangeMarker(mkNivEauMax, Layer.BACKGROUND);
}
}
}
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ProfilResultats.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ProfilResultats.java 2013-07-25 12:34:32 UTC (rev 8448)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ProfilResultats.java 2013-07-26 15:48:04 UTC (rev 8449)
@@ -7,22 +7,11 @@
* @mail de...@fu...
*/
package org.fudaa.fudaa.hydraulique1d.ihmhelper;
-import gnu.trove.TDoubleArrayList;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-
import javax.swing.JComponent;
import org.fudaa.dodico.hydraulique1d.metier.EnumMetierRegime;
-import org.fudaa.dodico.hydraulique1d.metier.MetierBief;
-import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
import org.fudaa.dodico.hydraulique1d.metier.MetierEtude1d;
-import org.fudaa.dodico.hydraulique1d.metier.MetierReseau;
-import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpatialBief;
-import org.fudaa.fudaa.hydraulique1d.CGlobal;
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication;
-import org.fudaa.fudaa.hydraulique1d.Hydraulique1dProfilModel;
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
import org.fudaa.fudaa.hydraulique1d.editor.profil.Hydraulique1dProfilEditor;
@@ -36,21 +25,10 @@
*/
public class Hydraulique1dIHM_ProfilResultats extends Hydraulique1dIHM_Base {
private Hydraulique1dProfilEditor edit_;
- int[] indicesBiefs_;
- int[] indicesPasTemps_;
- private Hydraulique1dProfilModel[] profilsModeleBief_;
- private Hydraulique1dProfilModel profilModeleCourant_;
public Hydraulique1dIHM_ProfilResultats(MetierEtude1d e) {
super(e);
}
- public void setIndicesBiefs(int[] indicesBiefs) {
- indicesBiefs_ = indicesBiefs;
- }
- public void setIndicesPasTemps(int[] indicesPasTemps) {
- indicesPasTemps_ = indicesPasTemps;
- }
-
@Override
public void editer() {
if (etude_.reseau() == null) return;
@@ -60,20 +38,15 @@
edit_= new Hydraulique1dProfilEditor(
Hydraulique1dProfilEditor.VOIR,
Hydraulique1dProfilEditor.PROFILS);
- edit_.setReseau(etude_.reseau());
installContextHelp(edit_);
listenToEditor(edit_);
BuAssistant ass= Hydraulique1dResource.getAssistant();
if (ass != null)
ass.addEmitters(edit_);
}
- initModeles();
- if (etude_.paramGeneraux().regime().value() == EnumMetierRegime._TRANSCRITIQUE)
- edit_.setIsTranscritique(true);
- else edit_.setIsTranscritique(false);
-
- edit_.setProfilsModeleBief(profilsModeleBief_);
- edit_.setProfilModel(profilModeleCourant_);
+
+ edit_.setEtude(etude_);
+ edit_.setIsTranscritique(etude_.paramGeneraux().regime().value() == EnumMetierRegime._TRANSCRITIQUE);
edit_.show();
}
@Override
@@ -84,137 +57,4 @@
.getImplementation()
.installContextHelp(e.getRootPane(), "mascaret/graphes_resultats.html");
}
-
- private void initModeles() {
-
- // initialisation les modeles de profils
- ArrayList listeProfils_ = new ArrayList();
- MetierReseau res = etude_.reseau();
- for (int i = 0; i < indicesBiefs_.length; i++) {
- MetierBief b = res.biefs()[indicesBiefs_[i]];
- int nbProfil = b.profils().length;
- for (int j = 0; j < nbProfil; j++) {
- Hydraulique1dProfilModel pModel= new Hydraulique1dProfilModel(b.profils()[j]);
- if ( (indicesPasTemps_ == null)||(indicesPasTemps_.length ==0) ) {
- int[] indicePasTps = initIndicePasTps();
- calculNiveauMinMaxProfil(pModel, b, indicesBiefs_[i], j, indicePasTps);
- }
- else if (indicesPasTemps_.length >= 1) {
- calculNiveauMinMaxProfil(pModel, b, indicesBiefs_[i], j, indicesPasTemps_);
- }
- listeProfils_.add(pModel);
- }
- }
- profilsModeleBief_ = (Hydraulique1dProfilModel[])listeProfils_.toArray(new Hydraulique1dProfilModel[listeProfils_.size()]);
- if (profilsModeleBief_.length > 0) {
- profilModeleCourant_=profilsModeleBief_[0];
- }
-
-
- }
-
- private int[] initIndicePasTps() {
- try {
- int nbPasTemps = etude_.resultatsGeneraux().
- resultatsTemporelSpatial().pasTemps().length;
- int[] indicePasTps = new int[nbPasTemps];
- for (int k = 0; k < nbPasTemps; k++) {
- indicePasTps[k] = k;
- }
- return indicePasTps;
- }
- catch (Exception ex) {
- return new int[0];
- }
- }
- private void calculNiveauMinMaxProfil(Hydraulique1dProfilModel pModel, MetierBief b,
- int ibief, int iprofil, int[] indicesPasTemps) {
- try {
- // extraction du resultat du bief d'indice ibief.
- MetierResultatsTemporelSpatialBief[] resBiefs = etude_.resultatsGeneraux().
- resultatsTemporelSpatial().resultatsBiefs();
- MetierResultatsTemporelSpatialBief resBief = resBiefs[ibief];
-
- int indiceVarCoteEau = rechercheIndiceVarCoteEau();
-
-
- // extraction de l'abscisse de d\xE9but du r\xE9sultat du bief
- double[] sectionRes = resBief.abscissesSections();
- double xDebutRes = sectionRes[0];
-
- // calcul du d\xE9calage \xE9ventuelle des abscisses entre r\xE9sultat et g\xE9om\xE9trie.
- double diffAbscisse = xDebutRes - b.extrAmont().profilRattache().abscisse();
-
- double abscProfilCorrige = b.profils()[iprofil].abscisse() + diffAbscisse;
- int iRes = Arrays.binarySearch(sectionRes, abscProfilCorrige);
- TDoubleArrayList listeCotes = new TDoubleArrayList(indicesPasTemps.length);
- if (iRes >= 0) {
- for (int i = 0; i < indicesPasTemps.length; i++) {
- double[] cotes = resBief.valeursVariables()[indiceVarCoteEau][indicesPasTemps[i]];
- listeCotes.add(cotes[iRes]);
- }
- } else {
- int iResSup = -iRes -1;
- if (iResSup >= sectionRes.length) {
- iResSup = sectionRes.length -1;
- }
- int iResInf = iResSup-1;
- double x2 = sectionRes[iResSup];
- double x1 = sectionRes[iResInf];
-
- for (int i = 0; i < indicesPasTemps.length; i++) {
- double[] cotes = resBief.valeursVariables()[indiceVarCoteEau][indicesPasTemps[i]];
- double y1 = cotes[iResInf];
- double y2 = cotes[iResSup];
- double z = interpolation(x1,x2,y1,y2,abscProfilCorrige);
- listeCotes.add(z);
- }
- }
- double min = listeCotes.min();
- double max = listeCotes.max();
- if (CGlobal.egale(min,max)) {
- pModel.setNiveauEau(min);
- pModel.setNiveauEauMin(Double.NaN);
- pModel.setNiveauEauMax(Double.NaN);
- } else {
- pModel.setNiveauEau(Double.NaN);
- pModel.setNiveauEauMin(listeCotes.min());
- pModel.setNiveauEauMax(listeCotes.max());
- }
- }
- catch (Exception ex) {
- ex.printStackTrace();
- pModel.setNiveauEau(Double.NaN);
- pModel.setNiveauEauMin(Double.NaN);
- pModel.setNiveauEauMax(Double.NaN);
- }
- }
- private int rechercheIndiceVarCoteEau() {
- MetierDescriptionVariable[] desc= etude_.resultatsGeneraux().resultatsTemporelSpatial().descriptionVariables();
- for (int i = 0; i < desc.length; i++) {
- MetierDescriptionVariable descVar = desc[i];
- if ("Z".equals(descVar.nom())) return i;
- }
- return -1;
- }
-
- private double interpolation(double x1, double x2, double y1, double y2, double x) {
- if (x1 == x) return y1;
- if (x2 == x) return y2;
- if (x1 == x2) throw new IllegalArgumentException("interpolation impossible x1="+x1+" == x2");
- /*
- if (x1 > x2) {
- if (x > x1) throw new IllegalArgumentException("extrapolation x="+x+" > x1="+x1+" > x2="+x2);
- if (x2 > x) throw new IllegalArgumentException("extrapolation x1="+x1+" > x2="+x2+" > x="+x);
- }
- if (x2 > x1) {
- if (x > x2) throw new IllegalArgumentException("extrapolation x="+x+" > x2="+x2+" > x1="+x1);
- if (x1 > x) throw new IllegalArgumentException("extrapolation x2="+x2+" > x1="+x1+" > x="+x);
- }*/
- if (CGlobal.egale(y1,y2)) return y1;
-
- double y = ( (y1-y2)*(x-x2)/(x1-x2) ) + y2;
-
- return y;
- }
}
Added: trunk/soft/fudaa-mascaret/ui/src/main/resources/org/fudaa/fudaa/hydraulique1d/icvoirminmax.gif
===================================================================
(Binary files differ)
Index: trunk/soft/fudaa-mascaret/ui/src/main/resources/org/fudaa/fudaa/hydraulique1d/icvoirminmax.gif
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/resources/org/fudaa/fudaa/hydraulique1d/icvoirminmax.gif 2013-07-25 12:34:32 UTC (rev 8448)
+++ trunk/soft/fudaa-mascaret/ui/src/main/resources/org/fudaa/fudaa/hydraulique1d/icvoirminmax.gif 2013-07-26 15:48:04 UTC (rev 8449)
Property changes on: trunk/soft/fudaa-mascaret/ui/src/main/resources/org/fudaa/fudaa/hydraulique1d/icvoirminmax.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-07-19 10:00:58
|
Revision: 8447
http://sourceforge.net/p/fudaa/svn/8447
Author: bmarchan
Date: 2013-07-19 10:00:53 +0000 (Fri, 19 Jul 2013)
Log Message:
-----------
Mascaret : Visu r?\195?\169sultats temporels suivant unite de temps choisie
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/PanneauGraphesResultats.java
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/PanneauGraphesResultats.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/PanneauGraphesResultats.java 2013-07-17 06:00:29 UTC (rev 8446)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/PanneauGraphesResultats.java 2013-07-19 10:00:53 UTC (rev 8447)
@@ -2,12 +2,19 @@
import java.awt.BorderLayout;
import java.awt.Dimension;
+import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Vector;
+import javax.swing.ButtonGroup;
import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
import javax.swing.JSplitPane;
import javax.swing.ListModel;
import javax.swing.ListSelectionModel;
@@ -19,6 +26,7 @@
import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpatial;
import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpatialBief;
import org.fudaa.ebli.graphe.BGrapheEditeurAxes;
+import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
import org.fudaa.fudaa.hydraulique1d.graphe.Hydraulique1dGrapheResuBief;
import com.memoire.bu.BuBorderLayout;
@@ -28,21 +36,27 @@
import com.memoire.bu.BuRadioButton;
import com.memoire.bu.BuScrollPane;
import com.memoire.bu.BuVerticalLayout;
-import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
+/**
+ * Un panneau d'affichage des r\xE9sultats suivant le profil en long.
+ *
+ * @author Unknown
+ * @version $Id$
+ */
class PanneauGraphesResultats
extends BuPanel implements ActionListener
{
- private final static int MODE_BIEF= 0;
- private final static int MODE_CASIER= 1;
- private final static int MODE_LIAISON= 2;
- private final static String BIEF = Hydraulique1dResource.HYDRAULIQUE1D.getString("Bief");
- private final static String CASIER = Hydraulique1dResource.HYDRAULIQUE1D.getString("Casier");
- private final static String casier = Hydraulique1dResource.HYDRAULIQUE1D.getString("casier");
- private final static String LIAISON = Hydraulique1dResource.HYDRAULIQUE1D.getString("Liaison");
- private final static String liaison = Hydraulique1dResource.HYDRAULIQUE1D.getString("liaison");
- private int mode_= MODE_BIEF;
- private BuPanel pnWest_= new BuPanel();
+ private final static int MODE_BIEF = 0;
+ private final static int MODE_CASIER = 1;
+ private final static int MODE_LIAISON = 2;
+ private final static String BIEF = Hydraulique1dResource.HYDRAULIQUE1D.getString("Bief");
+ private final static String CASIER = Hydraulique1dResource.HYDRAULIQUE1D.getString("Casier");
+ private final static String casier = Hydraulique1dResource.HYDRAULIQUE1D.getString("casier");
+ private final static String LIAISON = Hydraulique1dResource.HYDRAULIQUE1D.getString("Liaison");
+ private final static String liaison = Hydraulique1dResource.HYDRAULIQUE1D.getString("liaison");
+
+ private int mode_ = MODE_BIEF;
+ private BuPanel pnWest_ = new BuPanel();
private BuVerticalLayout loWest_= new BuVerticalLayout();
private BuPanel pnCenter_= new BuPanel();
private BuBorderLayout loCenter_= new BuBorderLayout();
@@ -54,24 +68,31 @@
private TitledBorder ttlListeVar_= new TitledBorder(Hydraulique1dResource.HYDRAULIQUE1D.getString("Liste Variable"));
private TitledBorder ttlPasTempsSection_= new TitledBorder("");
private TitledBorder ttlListeBiefCasierLiaison__= new TitledBorder(Hydraulique1dResource.HYDRAULIQUE1D.getString("Liste Biefs Casiers Liaisons"));
- BuRadioButton rbSpatial_= new BuRadioButton(Hydraulique1dResource.HYDRAULIQUE1D.getString("Profil Spatial"));
- BuRadioButton rbTemporel_= new BuRadioButton();
BuCheckBox cbLaisse_= new BuCheckBox(Hydraulique1dResource.HYDRAULIQUE1D.getString("Laisse de crue"));
BuList lstBiefCasierLiaison_= new BuList();
private BuScrollPane scrlpListeBiefCasierLiaison_= new BuScrollPane(lstBiefCasierLiaison_);
private BGrapheEditeurAxes bgEditeurAxes_;
+ BuRadioButton rbSpatial_= new BuRadioButton(Hydraulique1dResource.HYDRAULIQUE1D.getString("Profil Spatial"));
+ BuRadioButton rbTemporel_= new BuRadioButton();
+ JRadioButton rbUniteS_;
+ JRadioButton rbUniteM_;
+ JRadioButton rbUniteH_;
+ JRadioButton rbUniteJ_;
+ JPanel pnUnite_;
- private MetierResultatsTemporelSpatial resultTempoSpatial_;
- private MetierResultatsTemporelSpatial resultatsCasier_;
- private MetierResultatsTemporelSpatial resultatsLiaison_;
- private MetierResultatsTemporelSpatial resultatsCourant_= null;
+ private MetierResultatsTemporelSpatial resultTempoSpatial_;
+ private MetierResultatsTemporelSpatial resultatsCasier_;
+ private MetierResultatsTemporelSpatial resultatsLiaison_;
+ private MetierResultatsTemporelSpatial resultatsCourant_ = null;
+ private Hydraulique1dGraphesResultatsEditor parent_;
- private Hydraulique1dGraphesResultatsEditor parent_;
+ private enum UniteTps {
+ s, mn, h, j
+ }
-
public PanneauGraphesResultats(Hydraulique1dGraphesResultatsEditor parent) {
this.setLayout(new BuBorderLayout());
@@ -99,15 +120,32 @@
lstBiefCasierLiaison_.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
+ rbUniteS_ = new JRadioButton(Hydraulique1dResource.getS("sec."));
+ rbUniteM_ = new JRadioButton(Hydraulique1dResource.getS("min."));
+ rbUniteH_ = new JRadioButton(Hydraulique1dResource.getS("heure"));
+ rbUniteJ_ = new JRadioButton(Hydraulique1dResource.getS("jour"));
+
+ ButtonGroup bgUnite=new ButtonGroup();
+ bgUnite.add(rbUniteS_);
+ bgUnite.add(rbUniteM_);
+ bgUnite.add(rbUniteH_);
+ bgUnite.add(rbUniteJ_);
+ rbUniteS_.setSelected(true);
+ pnUnite_ = new JPanel();
+ pnUnite_.setLayout(new FlowLayout(FlowLayout.CENTER,3,0));
+ pnUnite_.add(rbUniteS_);
+ pnUnite_.add(rbUniteM_);
+ pnUnite_.add(rbUniteH_);
+ pnUnite_.add(rbUniteJ_);
- int n= 0;
- pnWest_.add(scrlpListeBiefCasierLiaison_, n++);
- pnWest_.add(rbSpatial_, n++);
- pnWest_.add(rbTemporel_, n++);
- pnWest_.add(cbLaisse_, n++);
- pnWest_.add(scrlpListeVar_, n++);
- pnWest_.add(scrlpListPasTpsSection_, n++);
- pnWest_.add(bgEditeurAxes_, n++);
+ pnWest_.add(scrlpListeBiefCasierLiaison_);
+ pnWest_.add(rbSpatial_);
+ pnWest_.add(rbTemporel_);
+ pnWest_.add(pnUnite_);
+ pnWest_.add(cbLaisse_);
+ pnWest_.add(scrlpListeVar_);
+ pnWest_.add(scrlpListPasTpsSection_);
+ pnWest_.add(bgEditeurAxes_);
pnCenter_.add(bgraphe_, BorderLayout.CENTER);
JSplitPane spt= new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, pnWest_, pnCenter_);
@@ -136,6 +174,32 @@
rbSpatial_.addActionListener(this);
rbTemporel_.setActionCommand("TEMPOREL");
rbTemporel_.addActionListener(this);
+ ButtonGroup bgProf=new ButtonGroup();
+ bgProf.add(rbSpatial_);
+ bgProf.add(rbTemporel_);
+
+ rbSpatial_.addItemListener(new ItemListener() {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ if (e.getStateChange()!=ItemEvent.SELECTED) return;
+
+ rbUniteS_.setEnabled(false);
+ rbUniteM_.setEnabled(false);
+ rbUniteH_.setEnabled(false);
+ rbUniteJ_.setEnabled(false);
+ }
+ });
+ rbTemporel_.addItemListener(new ItemListener() {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ if (e.getStateChange()!=ItemEvent.SELECTED) return;
+
+ rbUniteS_.setEnabled(true);
+ rbUniteM_.setEnabled(true);
+ rbUniteH_.setEnabled(true);
+ rbUniteJ_.setEnabled(true);
+ }
+ });
}
@Override
public void actionPerformed(ActionEvent _evt) {
@@ -208,7 +272,7 @@
}*/
protected void setValeurs() {
- Vector items= new Vector();
+ Vector<String> items= new Vector<String>();
System.out.println("PanneauGraphesresultats setValeurs() LIAISON="+LIAISON);
System.out.println("PanneauGraphesresultats setValeurs() Hydraulique1dResource.HYDRAULIQUE1D.getString(Liaison)="+Hydraulique1dResource.HYDRAULIQUE1D.getString("Liaison"));
if (resultTempoSpatial_!= null) {
@@ -234,17 +298,14 @@
resultatsCourant_ = resultTempoSpatial_;
}
rbSpatial_.setSelected(true);
- rbTemporel_.setSelected(false);
} else if (resultatsCasier_ != null) {
resultatsCourant_ = resultatsCasier_;
mode_ = MODE_CASIER;
- rbSpatial_.setSelected(false);
rbTemporel_.setSelected(true);
} else if (resultatsLiaison_ != null) {
resultatsCourant_ = resultatsLiaison_;
mode_ = MODE_LIAISON;
- rbSpatial_.setSelected(false);
rbTemporel_.setSelected(true);
}
// btProfil_.setVisible((reseau_ != null));
@@ -269,7 +330,7 @@
}
Object[] values = lstBiefCasierLiaison_.getSelectedValues();
- ArrayList listeIndexes = new ArrayList(values.length);
+ ArrayList<Integer> listeIndexes = new ArrayList<Integer>(values.length);
for (int i = 0; i < values.length; i++) {
String valueChaine = values[i].toString();
boolean commenceParDebutChaine = valueChaine.startsWith(debutChaine);
@@ -284,14 +345,14 @@
}
int[] res = new int[listeIndexes.size()];
for (int i = 0; i < res.length; i++) {
- res[i]=((Integer)listeIndexes.get(i)).intValue();
+ res[i]=listeIndexes.get(i).intValue();
}
return res;
}
protected void setListeSectionsCalcul() {
if (rbTemporel_.isSelected()) {
int[] indexElements= getIndexElementsSelectionnes();
- Vector vSections = new Vector();
+ Vector<String> vSections = new Vector<String>();
for (int i = 0; i < indexElements.length; i++) {
MetierResultatsTemporelSpatialBief res=
resultatsCourant_.resultatsBiefs()[indexElements[i]];
@@ -314,7 +375,7 @@
}
protected void setListePasTps() {
if (rbSpatial_.isSelected()) {
- double[] pasTps= resultatsCourant_.pasTemps();
+ double[] pasTps= resultatsCourant_.valPas();
if (pasTps != null) {
String[] pasTemps= new String[pasTps.length];
for (int i= 0; i < pasTps.length; i++) {
@@ -344,7 +405,7 @@
protected void listeBiefCasierLiaison() {
int[] indices = lstBiefCasierLiaison_.getSelectedIndices();
- ArrayList newIndices = new ArrayList(indices.length);
+ ArrayList<Integer> newIndices = new ArrayList<Integer>(indices.length);
int modeInit = mode_;
@@ -380,12 +441,11 @@
if (mode_ != MODE_BIEF) {
rbSpatial_.setEnabled(false);
- rbTemporel_.setEnabled(false);
+ rbTemporel_.setSelected(true);
scrlpListPasTpsSection_.setVisible(false);
//pnWest_.paintAll(pnWest_.getGraphics());
} else {
rbSpatial_.setEnabled(true);
- rbTemporel_.setEnabled(true);
scrlpListPasTpsSection_.setVisible(true);
//pnWest_.paintAll(pnWest_.getGraphics());
}
@@ -428,10 +488,8 @@
protected void spatial() {
lstBiefCasierLiaison_.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
- if (rbTemporel_.isSelected()) {
- rbTemporel_.setSelected(false);
- }
rbSpatial_.setSelected(true);
+
// ttlPasTempsSection_.setTitle("Pas de Temps");
setListePasTps();
// scrlpListPasTpsSection_.repaint();
@@ -442,10 +500,8 @@
int indexe = lstBiefCasierLiaison_.getSelectedIndex();
lstBiefCasierLiaison_.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
if (indexe != -1) lstBiefCasierLiaison_.setSelectedIndex(indexe);
- if (rbSpatial_.isSelected()) {
- rbSpatial_.setSelected(false);
- }
rbTemporel_.setSelected(true);
+
// ttlPasTempsSection_.setTitle("Sections de calcul");
setListeSectionsCalcul();
// scrlpListPasTpsSection_.repaint();
@@ -518,6 +574,26 @@
String titre= "";
String titreX= "";
String absUnite= "";
+
+ UniteTps unit;
+ String sunit;
+ if (rbUniteS_.isSelected()) {
+ unit=UniteTps.s;
+ sunit=Hydraulique1dResource.getS("s");
+ }
+ else if (rbUniteM_.isSelected()) {
+ unit=UniteTps.mn;
+ sunit=Hydraulique1dResource.getS("mn");
+ }
+ else if (rbUniteH_.isSelected()) {
+ unit=UniteTps.h;
+ sunit=Hydraulique1dResource.getS("h");
+ }
+ else {
+ unit=UniteTps.j;
+ sunit=Hydraulique1dResource.getS("j");
+ }
+
double[][] tab= null;
if (mode_== MODE_BIEF){
@@ -530,26 +606,26 @@
else if (resultatsCourant_.isTemporel()) {
tab=getTableauResultatsTemporels(res, indicesVar,
indicesPasTpsSection,
- resultatsCourant_.valPas());
+ resultatsCourant_.valPas(), unit);
titre= Hydraulique1dResource.HYDRAULIQUE1D.getString("PROFIL TEMPOREL");
titreX= Hydraulique1dResource.HYDRAULIQUE1D.getString("tps");
- absUnite= "s";
+ absUnite= sunit;
}
else {//Cas du calage ???
tab=getTableauResultatsTemporels(res, indicesVar,
indicesPasTpsSection,
- resultatsCourant_.valPas());
+ resultatsCourant_.valPas(), unit);
titre= Hydraulique1dResource.HYDRAULIQUE1D.getString("PROFIL ITERATIF");
titreX= Hydraulique1dResource.HYDRAULIQUE1D.getString("it\xE9ration");
- absUnite= "";
+ absUnite= sunit;
}
}else{
tab=getTableauResultatsCasiersLiaisons(res, indicesVar,
- resultatsCourant_.valPas());
+ resultatsCourant_.valPas(), unit);
titre= Hydraulique1dResource.HYDRAULIQUE1D.getString("PROFIL TEMPOREL");
titreX= Hydraulique1dResource.HYDRAULIQUE1D.getString("tps");
- absUnite= "s";
+ absUnite= sunit;
}
@@ -601,14 +677,14 @@
* @param indicesPasTps int[]
* @return double[][]
*/
- private final static double[][] getTableauResultatsSpatial(
+ private final double[][] getTableauResultatsSpatial(
MetierResultatsTemporelSpatialBief[] resBiefs,
int[] indicesVar,
int[] indicesPasTps) {
int nbCourbe= indicesVar.length * indicesPasTps.length;
int nbBief = resBiefs.length;
int nbSectionTotal = 0;
- ArrayList listeRes = new ArrayList(nbBief);
+ ArrayList<double[][]> listeRes = new ArrayList<double[][]>(nbBief);
for (int i = 0; i < nbBief; i++) {
MetierResultatsTemporelSpatialBief resBief = resBiefs[i];
double[][] resB= new double[nbCourbe + 1][];
@@ -630,7 +706,7 @@
for (int i = 0; i < res.length; i++) {
int indiceDest = 0;
for (int j = 0; j < nbBief; j++) {
- double[][] resB = (double[][])listeRes.get(j);
+ double[][] resB = listeRes.get(j);
double[] resBCbi = resB[i];
int nbSectionsBief = resBCbi.length;
System.arraycopy(resBCbi,0,res[i],indiceDest,nbSectionsBief);
@@ -644,21 +720,37 @@
* @param resBiefs DResultatsTemporelSpatialBief[]
* @param indicesVar int[]
* @param indicesSection int[]
+ * @param _unit L'unit\xE9 de temps.
* @return double[][]
*/
- private final static double[][] getTableauResultatsTemporels(
+ private final double[][] getTableauResultatsTemporels(
MetierResultatsTemporelSpatialBief[] resBiefs,
int[] indicesVar,
int[] indicesSection,
- double[] pasTemps) {
+ double[] pasTemps, UniteTps _unit) {
int nbPasTemps= pasTemps.length;
+ int coef;
+ switch (_unit) {
+ default:
+ case s:
+ coef=1; break;
+ case mn:
+ coef=60; break;
+ case h:
+ coef=60*60; break;
+ case j:
+ coef=60*60*24; break;
+ }
int nbCourbe= indicesVar.length * indicesSection.length;
double[][] res= new double[nbCourbe + 1][nbPasTemps];
// l'abscisse : les pas de temps
- res[0]= pasTemps;
+ res[0]= Arrays.copyOf(pasTemps, nbPasTemps);
+ for (int i=0; i<nbPasTemps; i++)
+ res[0][i]/=coef;
+
// les ordonn\xE9es
double[][][] vals= resBiefs[0].valeursVariables();
for (int i= 0; i < nbPasTemps; i++) {
@@ -677,15 +769,29 @@
* @param indicesVar.lengthresCasiersLiasons DResultatsTemporelSpatialBief[]
* @param indicesVar int[]
* @param indicesSection int[]
+ * @param _unit L'unite de temps
* @return double[][]
*/
- private final static double[][] getTableauResultatsCasiersLiaisons(
+ private final double[][] getTableauResultatsCasiersLiaisons(
MetierResultatsTemporelSpatialBief[] resCasiersLiasons,
int[] indicesVar,
- double[] pasTemps) {
+ double[] pasTemps, UniteTps _unit) {
int nbPasTemps= pasTemps.length;
+ int coef;
+ switch (_unit) {
+ default:
+ case s:
+ coef=1; break;
+ case mn:
+ coef=60; break;
+ case h:
+ coef=60*60; break;
+ case j:
+ coef=60*60*24; break;
+ }
+
// !!!!!!!!!!!!!!!!!!!!!!!!
// pour afficher plusieurs casiers il faudrait plusieurs courbe or normaleemnt en mode temporel le nombre de courbe devrait le nombre de variable
// idem la courbe a pour titre casier 0.0 car elle affiche le numero de section qui est pas defaut 0
@@ -698,7 +804,9 @@
double[][] res= new double[nbCourbe + 1][nbPasTemps];
// l'abscisse : les pas de temps
- res[0]= pasTemps;
+ res[0]= Arrays.copyOf(pasTemps, nbPasTemps);
+ for (int i=0; i<nbPasTemps; i++)
+ res[0][i]/=coef;
// les ordonn\xE9es
double[][][] vals= resCasiersLiasons[0].valeursVariables();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-07-17 06:00:33
|
Revision: 8446
http://sourceforge.net/p/fudaa/svn/8446
Author: deniger
Date: 2013-07-17 06:00:29 +0000 (Wed, 17 Jul 2013)
Log Message:
-----------
sydoc
Modified Paths:
--------------
trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/index/FileIndexerTest.java
trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/scan/LinkRefCheckerTest.java
trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/scan/TitleProcessorTest.java
Modified: trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/index/FileIndexerTest.java
===================================================================
--- trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/index/FileIndexerTest.java 2013-07-17 00:33:38 UTC (rev 8445)
+++ trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/index/FileIndexerTest.java 2013-07-17 06:00:29 UTC (rev 8446)
@@ -21,7 +21,7 @@
@Test
public void testIndexer() throws IOException {
- File fileFromJar = CtuluLibFile.getFileFromJar("/sysdoc.zip", null);
+ File fileFromJar = CtuluLibFile.getFileFromJar("/sydoc.zip", null);
final File tmpDir = CtuluLibFile.createTempDir();
CtuluLibFile.unzip(fileFromJar, tmpDir, null);
fileFromJar.delete();
Modified: trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/scan/LinkRefCheckerTest.java
===================================================================
--- trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/scan/LinkRefCheckerTest.java 2013-07-17 00:33:38 UTC (rev 8445)
+++ trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/scan/LinkRefCheckerTest.java 2013-07-17 06:00:29 UTC (rev 8446)
@@ -28,7 +28,7 @@
@BeforeClass
public static void exportSysdocDir() throws IOException {
- File fileFromJar = CtuluLibFile.getFileFromJar("/sysdoc.zip", null);
+ File fileFromJar = CtuluLibFile.getFileFromJar("/sydoc.zip", null);
dir = CtuluLibFile.createTempDir();
CtuluLibFile.unzip(fileFromJar, dir, null);
}
Modified: trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/scan/TitleProcessorTest.java
===================================================================
--- trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/scan/TitleProcessorTest.java 2013-07-17 00:33:38 UTC (rev 8445)
+++ trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/scan/TitleProcessorTest.java 2013-07-17 06:00:29 UTC (rev 8446)
@@ -21,7 +21,7 @@
@Test
public void testUpdateTitle() throws IOException {
- File fileFromJar = CtuluLibFile.getFileFromJar("/sysdoc.zip", null);
+ File fileFromJar = CtuluLibFile.getFileFromJar("/sydoc.zip", null);
File dir = CtuluLibFile.createTempDir();
CtuluLibFile.unzip(fileFromJar, dir, null);
FolderProcessor processor = new FolderProcessor();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-07-17 00:33:44
|
Revision: 8445
http://sourceforge.net/p/fudaa/svn/8445
Author: deniger
Date: 2013-07-17 00:33:38 +0000 (Wed, 17 Jul 2013)
Log Message:
-----------
sydoc
Modified Paths:
--------------
trunk/soft/fudaa-crue/ui-sysdoc/src/main/java/org/fudaa/fudaa/crue/sysdoc/SysdocTopComponent.java
trunk/soft/fudaa-crue/ui-sysdoc/src/main/resources/org/fudaa/fudaa/crue/sysdoc/Bundle.properties
Added Paths:
-----------
trunk/soft/fudaa-crue/ui-sysdoc/src/main/java/org/fudaa/fudaa/crue/sysdoc/CustomFindBar.java
trunk/soft/fudaa-crue/ui-sysdoc/src/main/java/org/fudaa/fudaa/crue/sysdoc/EditorSearchable.java
Added: trunk/soft/fudaa-crue/ui-sysdoc/src/main/java/org/fudaa/fudaa/crue/sysdoc/CustomFindBar.java
===================================================================
--- trunk/soft/fudaa-crue/ui-sysdoc/src/main/java/org/fudaa/fudaa/crue/sysdoc/CustomFindBar.java (rev 0)
+++ trunk/soft/fudaa-crue/ui-sysdoc/src/main/java/org/fudaa/fudaa/crue/sysdoc/CustomFindBar.java 2013-07-17 00:33:38 UTC (rev 8445)
@@ -0,0 +1,34 @@
+/*
+ GPL 2
+ */
+package org.fudaa.fudaa.crue.sysdoc;
+
+import java.util.regex.Pattern;
+import org.jdesktop.swingx.JXFindBar;
+import org.jdesktop.swingx.search.Searchable;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class CustomFindBar extends JXFindBar {
+
+ public CustomFindBar() {
+ }
+
+ public CustomFindBar(Searchable searchable) {
+ super(searchable);
+ }
+
+ String getText() {
+ return super.searchField.getText();
+ }
+
+ Pattern getPattern() {
+ return super.getPatternModel().getPattern();
+ }
+
+ void setText(String text) {
+ super.searchField.setText(text);
+ }
+}
Added: trunk/soft/fudaa-crue/ui-sysdoc/src/main/java/org/fudaa/fudaa/crue/sysdoc/EditorSearchable.java
===================================================================
--- trunk/soft/fudaa-crue/ui-sysdoc/src/main/java/org/fudaa/fudaa/crue/sysdoc/EditorSearchable.java (rev 0)
+++ trunk/soft/fudaa-crue/ui-sysdoc/src/main/java/org/fudaa/fudaa/crue/sysdoc/EditorSearchable.java 2013-07-17 00:33:38 UTC (rev 8445)
@@ -0,0 +1,305 @@
+/*
+ GPL 2
+ */
+package org.fudaa.fudaa.crue.sysdoc;
+
+import java.awt.Color;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.util.regex.MatchResult;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import javax.swing.JEditorPane;
+import javax.swing.text.BadLocationException;
+import javax.swing.text.DefaultHighlighter;
+import javax.swing.text.Document;
+import javax.swing.text.Segment;
+import org.jdesktop.swingx.search.Searchable;
+import org.openide.util.Exceptions;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class EditorSearchable implements Searchable {
+
+ private final JEditorPane editor;
+ private final DefaultHighlighter defaultHighlighter;
+ private final DefaultHighlighter.DefaultHighlightPainter defaultHighlightPainter = new DefaultHighlighter.DefaultHighlightPainter(Color.ORANGE);
+ private boolean highlightEnabled;
+
+ public EditorSearchable(JEditorPane editor) {
+ this.editor = editor;
+ defaultHighlighter = new DefaultHighlighter();
+ editor.setHighlighter(defaultHighlighter);
+ }
+
+ public boolean isHighlightEnabled() {
+ return highlightEnabled;
+ }
+
+ public void setHighlightEnabled(boolean highlightEnabled) {
+ clearHighlight();
+ this.highlightEnabled = highlightEnabled;
+ }
+
+ public void clearHighlight() {
+ defaultHighlighter.removeAllHighlights();
+ }
+
+ @Override
+ public int search(String searchString) {
+ highlight(searchString);
+ return search(searchString, -1);
+ }
+
+ @Override
+ public int search(String searchString, int columnIndex) {
+ return search(searchString, columnIndex, false);
+ }
+
+ @Override
+ public int search(String searchString, int columnIndex, boolean backward) {
+ Pattern pattern = createPattern(searchString);
+ return search(pattern, columnIndex, backward);
+ }
+
+ /**
+ * checks if the searchString should be interpreted as empty. here: returns true if string is null or has zero length.
+ *
+ * TODO: This should be in a utility class.
+ *
+ * @param searchString
+ * @return true if string is null or has zero length
+ */
+ protected boolean isEmpty(String searchString) {
+ return (searchString == null) || searchString.length() == 0;
+ }
+
+ @Override
+ public int search(Pattern pattern) {
+ return search(pattern, -1);
+ }
+
+ @Override
+ public int search(Pattern pattern, int startIndex) {
+ return search(pattern, startIndex, false);
+ }
+ int lastFoundIndex = -1;
+ MatchResult lastMatchResult;
+ String lastRegEx;
+
+ /**
+ * @return start position of matching string or -1
+ */
+ @Override
+ public int search(Pattern pattern, final int startIndex,
+ boolean backwards) {
+ highlight(pattern);
+ if ((pattern == null)
+ || (getDocument().getLength() == 0)
+ || ((startIndex > -1) && (getDocument().getLength() < startIndex))) {
+ updateStateAfterNotFound();
+ return -1;
+ }
+
+ int start = startIndex;
+ if (maybeExtendedMatch(startIndex)) {
+ if (foundExtendedMatch(pattern, start)) {
+ return lastFoundIndex;
+ }
+ start++;
+ }
+
+ int length;
+ if (backwards) {
+ start = 0;
+ if (startIndex < 0) {
+ length = getDocument().getLength() - 1;
+ } else {
+ length = -1 + startIndex;
+ }
+ } else {
+ // start = startIndex + 1;
+ if (start < 0) {
+ start = 0;
+ }
+ length = getDocument().getLength() - start;
+ }
+ Segment segment = new Segment();
+
+ try {
+ getDocument().getText(start, length, segment);
+ } catch (BadLocationException ex) {
+ Logger.getLogger(EditorSearchable.class.getName()).log(Level.FINE,
+ "this should not happen (calculated the valid start/length) ", ex);
+ }
+
+ Matcher matcher = pattern.matcher(segment.toString());
+ MatchResult currentResult = getMatchResult(matcher, !backwards);
+ if (currentResult != null) {
+ updateStateAfterFound(currentResult, start);
+ } else {
+ updateStateAfterNotFound();
+ }
+ return lastFoundIndex;
+ }
+
+ public void highlight(String search) {
+ if (!highlightEnabled) {
+ return;
+ }
+ Pattern compile = createPattern(search);
+ highlight(compile);
+ }
+
+ private int highlight(Pattern pattern, final int startIndex) {
+ if ((pattern == null)
+ || (getDocument().getLength() == 0)
+ || ((startIndex > -1) && (getDocument().getLength() < startIndex))) {
+ updateStateAfterNotFound();
+ return -1;
+ }
+
+ int start = startIndex;
+ // start = startIndex + 1;
+ if (start < 0) {
+ start = 0;
+ }
+ int length = getDocument().getLength() - start;
+ Segment segment = new Segment();
+
+ try {
+ getDocument().getText(start, length, segment);
+ } catch (BadLocationException ex) {
+ Logger.getLogger(EditorSearchable.class.getName()).log(Level.FINE,
+ "this should not happen (calculated the valid start/length) ", ex);
+ }
+
+ Matcher matcher = pattern.matcher(segment.toString());
+ MatchResult currentResult = getMatchResult(matcher, true);
+ if (currentResult != null) {
+ int end = currentResult.end() + start;
+ int found = currentResult.start() + start;
+ try {
+ defaultHighlighter.addHighlight(found, end, defaultHighlightPainter);
+ } catch (BadLocationException ex) {
+ Exceptions.printStackTrace(ex);
+ }
+ return found;
+ }
+ return -1;
+
+ }
+
+ /**
+ * Search from same startIndex as the previous search. Checks if the match is different from the last (either extended/reduced) at the same
+ * position. Returns true if the current match result represents a different match than the last, false if no match or the same.
+ *
+ * @param pattern
+ * @param start
+ * @return true if the current match result represents a different match than the last, false if no match or the same.
+ */
+ private boolean foundExtendedMatch(Pattern pattern, int start) {
+ // JW: logic still needs cleanup...
+ if (pattern.pattern().equals(lastRegEx)) {
+ return false;
+ }
+ int length = getDocument().getLength() - start;
+ Segment segment = new Segment();
+
+ try {
+ getDocument().getText(start, length, segment);
+ } catch (BadLocationException ex) {
+ Logger.getLogger(EditorSearchable.class.getName()).log(Level.FINE, "this should not happen (calculated the valid start/length) ", ex);
+ }
+ Matcher matcher = pattern.matcher(segment.toString());
+ MatchResult currentResult = getMatchResult(matcher, true);
+ if (currentResult != null) {
+ // JW: how to compare match results reliably?
+ // the group().equals probably isn't the best idea...
+ // better check pattern?
+ if ((currentResult.start() == 0)
+ && (!lastMatchResult.group().equals(currentResult.group()))) {
+ updateStateAfterFound(currentResult, start);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Checks if the startIndex is a candidate for trying a re-match.
+ *
+ *
+ * @param startIndex
+ * @return true if the startIndex should be re-matched, false if not.
+ */
+ private boolean maybeExtendedMatch(final int startIndex) {
+ return (startIndex >= 0) && (startIndex == lastFoundIndex);
+ }
+
+ /**
+ * @param currentResult
+ * @param offset
+ * @return the start position of the selected text
+ */
+ private int updateStateAfterFound(MatchResult currentResult, final int offset) {
+ int end = currentResult.end() + offset;
+ int found = currentResult.start() + offset;
+ editor.select(found, end);
+ editor.getCaret().setSelectionVisible(true);
+ lastFoundIndex = found;
+ lastMatchResult = currentResult;
+ lastRegEx = ((Matcher) lastMatchResult).pattern().pattern();
+ return found;
+ }
+
+ /**
+ * @param matcher
+ * @param useFirst whether or not to return after the first match is found.
+ * @return <code>MatchResult</code> or null
+ */
+ private MatchResult getMatchResult(Matcher matcher, boolean useFirst) {
+ MatchResult currentResult = null;
+ while (matcher.find()) {
+ currentResult = matcher.toMatchResult();
+ if (useFirst) {
+ break;
+ }
+ }
+ return currentResult;
+ }
+
+ /**
+ */
+ private void updateStateAfterNotFound() {
+ lastFoundIndex = -1;
+ lastMatchResult = null;
+ lastRegEx = null;
+ editor.setCaretPosition(editor.getSelectionEnd());
+ }
+
+ private Document getDocument() {
+ return editor.getDocument();
+ }
+
+ protected Pattern createPattern(String searchString) {
+ Pattern pattern = null;
+ if (!isEmpty(searchString)) {
+ pattern = Pattern.compile(searchString, 0);
+ }
+ return pattern;
+ }
+
+ protected void highlight(Pattern compile) {
+ if (!highlightEnabled) {
+ return;
+ }
+ clearHighlight();
+ int idx = highlight(compile, -1);
+ while (idx > 0) {
+ idx = highlight(compile, idx + 1);
+ }
+ }
+}
Modified: trunk/soft/fudaa-crue/ui-sysdoc/src/main/java/org/fudaa/fudaa/crue/sysdoc/SysdocTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-sysdoc/src/main/java/org/fudaa/fudaa/crue/sysdoc/SysdocTopComponent.java 2013-07-16 21:14:06 UTC (rev 8444)
+++ trunk/soft/fudaa-crue/ui-sysdoc/src/main/java/org/fudaa/fudaa/crue/sysdoc/SysdocTopComponent.java 2013-07-17 00:33:38 UTC (rev 8445)
@@ -2,15 +2,21 @@
import com.jidesoft.swing.JideSplitPane;
import com.jidesoft.swing.JideTabbedPane;
+import com.jidesoft.swing.JideToggleButton;
import com.memoire.bu.BuBorders;
import com.memoire.bu.BuGridLayout;
import com.memoire.bu.BuResource;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Desktop;
+import java.awt.EventQueue;
import java.awt.FlowLayout;
+import java.awt.KeyboardFocusManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.KeyEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyVetoException;
@@ -22,15 +28,19 @@
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
+import javax.swing.AbstractAction;
import javax.swing.ActionMap;
import javax.swing.DefaultListModel;
import javax.swing.ImageIcon;
+import javax.swing.InputMap;
import javax.swing.JButton;
import javax.swing.JComponent;
+import javax.swing.JEditorPane;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
+import javax.swing.KeyStroke;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
@@ -97,11 +107,16 @@
private HtmlBrowser browser;
private JTextField txtUrl;
private JideTabbedPane tabbedPane;
- JTextField tf;
- JList listResultat;
+ private JideSplitPane splitPane;
+ private JideToggleButton btHighlight;
+ private CustomFindBar findBar;
+ private JTextField tf;
+ private JList listResultat;
+ protected EditorSearchable editorSearchable;
public SysdocTopComponent() {
initComponents();
+
setName(NbBundle.getMessage(SysdocTopComponent.class, "CTL_SysdocTopComponent"));
setToolTipText(NbBundle.getMessage(SysdocTopComponent.class, "HINT_SysdocTopComponent"));
browser = new HtmlBrowser();
@@ -120,13 +135,29 @@
txtUrl.setEditable(false);
treeView = new BeanTreeView();
treeView.setRootVisible(true);
- JideSplitPane splitPane = new JideSplitPane();
+ splitPane = new JideSplitPane();
tabbedPane = new JideTabbedPane();
tabbedPane.add(treeView);
- tabbedPane.addTab(StringUtils.EMPTY, BuResource.BU.getIcon("crystal_arbre"), treeView, NbBundle.getMessage(SysdocTopComponent.class, "Sysdoc.TocTooltip"));
- tabbedPane.addTab(StringUtils.EMPTY, ImageUtilities.loadImageIcon("org/fudaa/fudaa/crue/sysdoc/icons/rechercher.png", false), createSearchPanel(), NbBundle.getMessage(SysdocTopComponent.class, "Sysdoc.SearchTooltip"));
+ tabbedPane.addTab(StringUtils.EMPTY, BuResource.BU.getIcon("crystal_arbre"), treeView, NbBundle.getMessage(SysdocTopComponent.class,
+ "Sysdoc.TocTooltip"));
+ tabbedPane.addTab(StringUtils.EMPTY, ImageUtilities.loadImageIcon("org/fudaa/fudaa/crue/sysdoc/icons/rechercher.png", false), createSearchPanel(),
+ NbBundle.getMessage(SysdocTopComponent.class, "Sysdoc.SearchTooltip"));
splitPane.add(tabbedPane);
- splitPane.add(browser);
+ JPanel pnBrowser = new JPanel(new BorderLayout());
+ pnBrowser.add(browser);
+ findBar = createFindComponent();
+ btHighlight = new JideToggleButton(NbBundle.getMessage(SysdocTopComponent.class, "highlight.All"));
+ btHighlight.addItemListener(new ItemListener() {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ highlightStateChanged();
+ }
+ });
+ JPanel findBarPanel = new JPanel(new FlowLayout(FlowLayout.LEADING));
+ findBarPanel.add(findBar);
+ findBarPanel.add(btHighlight);
+ pnBrowser.add(findBarPanel, BorderLayout.SOUTH);
+ splitPane.add(pnBrowser);
splitPane.setShowGripper(true);
add(splitPane);
treeView.setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
@@ -145,6 +176,7 @@
SysdocAdminUI adminUi = new SysdocAdminUI();
adminUi.decore(this);
}
+ updateSize();
}
@Override
@@ -152,6 +184,16 @@
return null;
}
+ protected void highlightStateChanged() {
+ if (btHighlight.isSelected() != this.editorSearchable.isHighlightEnabled()) {
+ editorSearchable.setHighlightEnabled(btHighlight.isSelected());
+ if (StringUtils.isNotBlank(findBar.getText())) {
+ editorSearchable.highlight(findBar.getPattern());
+ }
+ }
+ }
+ private boolean fromSearchPanel;
+
private JPanel createSearchPanel() {
JPanel pnSearch = new JPanel(new BorderLayout());
tf = new JTextField(10);
@@ -181,7 +223,9 @@
SearchResultat resultat = (SearchResultat) listResultat.getSelectedValue();
if (resultat != null) {
try {
+ fromSearchPanel = true;
em.setSelectedNodes(new Node[]{resultat.getNode()});
+
} catch (PropertyVetoException ex) {
Exceptions.printStackTrace(ex);
}
@@ -240,9 +284,25 @@
return sysdocLocaleDir;
}
+ public void documentLoaded() {
+ EventQueue.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+
+ if (fromSearchPanel) {
+ fromSearchPanel = false;
+ findBar.setText(tf.getText());
+ btHighlight.setSelected(true);
+ }
+ if (btHighlight.isSelected()) {
+ editorSearchable.highlight(findBar.getPattern());
+ }
+ }
+ });
+ }
+
protected void urlChanged() {
if (sysdocLocaleDir != null && nodeByPath != null && !isUpdating) {
-
try {
String location = URLDecoder.decode(browser.getBrowserImpl().getLocation(), "UTF-8");
String base = sysdocLocaleDir.toURI().toURL().toString();
@@ -321,14 +381,37 @@
void writeProperties(java.util.Properties p) {
// better to version settings since initial version as advocated at
// http://wiki.apidesign.org/wiki/PropertyFiles
-// p.setProperty("version", "1.0");
- // TODO store your settings
+ if (splitPane != null) {
+ p.setProperty("version", "1.0");
+ p.setProperty("splitPane.position", Integer.toString(splitPane.getDividerLocation(0)));
+ }
}
+ private int initPosition = -1;
void readProperties(java.util.Properties p) {
- // TODO read your settings according to their version
+ String position = (String) p.get("splitPane.position");
+ initPosition = -1;
+ if (StringUtils.isNotBlank(position)) {
+ try {
+ initPosition = Integer.parseInt(position);
+
+ } catch (NumberFormatException numberFormatException) {
+ }
+ updateSize();
+ }
}
+ private void updateSize() {
+ if (initPosition > 0 && splitPane != null) {
+ EventQueue.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+ splitPane.setDividerLocation(0, initPosition);
+ }
+ });
+ }
+ }
+
@Override
public void componentClosedTemporarily() {
browser.getBrowserImpl().stopLoading();
@@ -420,7 +503,8 @@
}
File target = new File(sysdocLocaleDir, lookup.getPath());
if (!target.exists() && !lookup.isFolder()) {
- DialogHelper.showError(getDisplayName(), org.openide.util.NbBundle.getMessage(SysdocTopComponent.class, "FileNotFoundError", target.getAbsolutePath()));
+ DialogHelper.showError(getDisplayName(), org.openide.util.NbBundle.getMessage(SysdocTopComponent.class, "FileNotFoundError", target.
+ getAbsolutePath()));
}
if (target.exists()) {
try {
@@ -506,4 +590,30 @@
button.setContentAreaFilled(false);
button.setBorder(BuBorders.EMPTY0000);
}
+
+ protected final CustomFindBar createFindComponent() {
+ Component browserComponent = ((JScrollPane) browser.getBrowserComponent()).getViewport().getView();
+ final JEditorPane editor = (JEditorPane) browserComponent;
+ editor.addPropertyChangeListener("page", new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ documentLoaded();
+ }
+ });
+ editorSearchable = new EditorSearchable(editor);
+ final CustomFindBar newFindBar = new CustomFindBar(editorSearchable);
+ ActionMap actionMap = newFindBar.getActionMap();
+ final String findCommand = "find";
+ actionMap.put(findCommand, new AbstractAction() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ KeyboardFocusManager.getCurrentKeyboardFocusManager()
+ .focusNextComponent(newFindBar);
+ }
+ });
+ InputMap inputContext = newFindBar.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
+ inputContext.put(KeyStroke.getKeyStroke("ctrl F"), findCommand);
+ inputContext.put(KeyStroke.getKeyStroke(KeyEvent.VK_F3, 0), findCommand);
+ return newFindBar;
+ }
}
Modified: trunk/soft/fudaa-crue/ui-sysdoc/src/main/resources/org/fudaa/fudaa/crue/sysdoc/Bundle.properties
===================================================================
--- trunk/soft/fudaa-crue/ui-sysdoc/src/main/resources/org/fudaa/fudaa/crue/sysdoc/Bundle.properties 2013-07-16 21:14:06 UTC (rev 8444)
+++ trunk/soft/fudaa-crue/ui-sysdoc/src/main/resources/org/fudaa/fudaa/crue/sysdoc/Bundle.properties 2013-07-17 00:33:38 UTC (rev 8445)
@@ -17,3 +17,4 @@
SearchResultat.Accuracy=Pertinence: {0} %
HomeButton.Tooltip=Aller \u00e0 la page d'accueil
PrintButton.Tooltip=Afficher la page dans le navigateur syst\u00e8me
+highlight.All=Tout surligner
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-07-16 21:14:09
|
Revision: 8444
http://sourceforge.net/p/fudaa/svn/8444
Author: deniger
Date: 2013-07-16 21:14:06 +0000 (Tue, 16 Jul 2013)
Log Message:
-----------
correction test unitaire
Modified Paths:
--------------
trunk/soft/fudaa-crue/crue-validation/src/main/java/org/fudaa/dodico/crue/validation/ValidatorForCrue9Export.java
Modified: trunk/soft/fudaa-crue/crue-validation/src/main/java/org/fudaa/dodico/crue/validation/ValidatorForCrue9Export.java
===================================================================
--- trunk/soft/fudaa-crue/crue-validation/src/main/java/org/fudaa/dodico/crue/validation/ValidatorForCrue9Export.java 2013-07-16 20:59:21 UTC (rev 8443)
+++ trunk/soft/fudaa-crue/crue-validation/src/main/java/org/fudaa/dodico/crue/validation/ValidatorForCrue9Export.java 2013-07-16 21:14:06 UTC (rev 8444)
@@ -467,7 +467,7 @@
}
private void validateParamCalcScenario(ParamCalcScenario paramCalcScenario) {
- if (paramCalcScenario != null) {
+ if (paramCalcScenario.getDateDebSce() != null) {
addWarnOrError("crue9.compatible.temporalScenarioNotSupported");
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-07-16 20:59:23
|
Revision: 8443
http://sourceforge.net/p/fudaa/svn/8443
Author: deniger
Date: 2013-07-16 20:59:21 +0000 (Tue, 16 Jul 2013)
Log Message:
-----------
correction test unitaire
Modified Paths:
--------------
trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/SysdocLoaderTest.java
Modified: trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/SysdocLoaderTest.java
===================================================================
--- trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/SysdocLoaderTest.java 2013-07-15 22:56:08 UTC (rev 8442)
+++ trunk/soft/fudaa-crue/crue-sysdoc/src/test/java/org/fudaa/dodico/crue/sysdoc/SysdocLoaderTest.java 2013-07-16 20:59:21 UTC (rev 8443)
@@ -36,7 +36,7 @@
@Test
public void testCreateGood() throws IOException {
- File fileFromJar = CtuluLibFile.getFileFromJar("/sysdoc.zip", null);
+ File fileFromJar = CtuluLibFile.getFileFromJar("/sydoc.zip", null);
final File createTempDir = CtuluLibFile.createTempDir();
CtuluLibFile.unzip(fileFromJar, createTempDir, null);
fileFromJar.delete();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|