|
From: <bma...@us...> - 2016-12-16 16:04:07
|
Revision: 9485
http://sourceforge.net/p/fudaa/svn/9485
Author: bmarchan
Date: 2016-12-16 16:04:05 +0000 (Fri, 16 Dec 2016)
Log Message:
-----------
Ajout des variables systeme __VERSION_APPLICATION + __NOM_PROJET
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/distrib/src/dist/templates/template_gauging_fr.xlsx
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportGaugingReportFillValuesPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java
Modified: trunk/soft/fudaa-lspiv/distrib/src/dist/templates/template_gauging_fr.xlsx
===================================================================
(Binary files differ)
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportGaugingReportFillValuesPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportGaugingReportFillValuesPanel.java 2016-12-16 09:49:05 UTC (rev 9484)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportGaugingReportFillValuesPanel.java 2016-12-16 16:04:05 UTC (rev 9485)
@@ -13,6 +13,7 @@
import java.util.Collection;
import java.util.Comparator;
import java.util.List;
+import java.util.Set;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
@@ -98,9 +99,9 @@
* Constructeur.
* @param _ui Le parent pour la boite de dialogue.
*/
- public PivExportGaugingReportFillValuesPanel(CtuluUI _ui, Collection<PivExportGaugingReportAction.UserCellData> _cells) {
- ArrayList<PivExportGaugingReportAction.UserCellData>cells=new ArrayList<>(_cells);
- cells.sort(new Comparator<PivExportGaugingReportAction.UserCellData>() {
+ public PivExportGaugingReportFillValuesPanel(CtuluUI _ui, Collection<PivExportGaugingReportAction.UserCellData> _userVars, Set<String> _systemVars) {
+ ArrayList<PivExportGaugingReportAction.UserCellData> userVars=new ArrayList<>(_userVars);
+ userVars.sort(new Comparator<PivExportGaugingReportAction.UserCellData>() {
@Override
public int compare(PivExportGaugingReportAction.UserCellData c1, PivExportGaugingReportAction.UserCellData c2) {
@@ -108,9 +109,17 @@
}
});
- setHelpText(PivResource.getS("Les champs de la table sont issus des cases nomm\xE9s du mod\xE8le Excel de rapport\net doivent \xEAtre saisis manuellement"));
+ ArrayList<String> systemVars=new ArrayList<>(_systemVars);
+ systemVars.sort(null);
- mdValues_=new ValuesTableModel(cells);
+ StringBuilder sb=new StringBuilder();
+ sb.append(PivResource.getS("Les champs de la table sont les zones nomm\xE9es inconnues du syst\xE8me,\nissues du mod\xE8le Excel de rapport. Les zones nomm\xE9es connues sont :\n\n"));
+ for (String s : systemVars) {
+ sb.append(s).append("\n");
+ }
+ setHelpText(sb.toString());
+
+ mdValues_=new ValuesTableModel(userVars);
tbValues_=new JTable(mdValues_);
JScrollPane sp=new JScrollPane(tbValues_);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2016-12-16 09:49:05 UTC (rev 9484)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2016-12-16 16:04:05 UTC (rev 9485)
@@ -143,6 +143,13 @@
public PivProject getCurrentProject() {
return project;
}
+
+ /**
+ * @return Retourne le nom courant du projet, ou null si le projet n'a pas \xE9t\xE9 sauvegard\xE9.
+ */
+ public File getCurrentProjectFile() {
+ return prjFile;
+ }
/**
* Appel\xE9e quand le projet courant est modifi\xE9.
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java 2016-12-16 09:49:05 UTC (rev 9484)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java 2016-12-16 16:04:05 UTC (rev 9485)
@@ -42,6 +42,7 @@
import org.fudaa.fudaa.piv.PivResource;
import org.fudaa.fudaa.piv.PivShow3DTransectPanel;
import org.fudaa.fudaa.piv.PivUtils;
+import org.fudaa.fudaa.piv.PivVisuPanel;
import org.fudaa.fudaa.piv.io.PivExeLauncher;
import org.fudaa.fudaa.piv.metier.PivComputeParameters;
import org.fudaa.fudaa.piv.metier.PivFlowResults;
@@ -62,7 +63,7 @@
*/
public class PivExportGaugingReportAction extends EbliActionSimple {
- static interface AbstractCellData {
+ public static interface AbstractCellData {
public abstract Object getValue(int _row, int _col);
public abstract int getNbCols();
@@ -70,7 +71,7 @@
public abstract int getNbRows();
}
- static abstract class AbstractScalarCellData implements AbstractCellData {
+ public static abstract class AbstractScalarCellData implements AbstractCellData {
public AbstractScalarCellData() {}
@Override
@@ -119,15 +120,13 @@
CtuluFileChooser fcReport_;
/** Les variables users (inconnues du systeme) du modele Excel. */
HashMap<String,UserCellData> userVars=new HashMap<>();
- /** Toutes les variables correspondantes aux cellules nomm\xE9es. */
- HashMap<String,AbstractCellData> dataVars_ = new HashMap<>();
/**
* Constructeur.
* @param _impl L'implementation.
*/
public PivExportGaugingReportAction(PivImplementation _impl) {
- super(PivResource.getS("Export du rapport de jaugeage..."), null, "EXPORT_GAUGING_REPORT");
+ super(PivResource.getS("Exporter le rapport de jaugeage..."), null, "EXPORT_GAUGING_REPORT");
impl=_impl;
setEnabled(false);
@@ -146,7 +145,7 @@
try {
computeNeededDatas();
- initDataTypes();
+ HashMap<String, AbstractCellData> systemDatas=defineSystemVariables();
String templateDir=System.getProperty(PivPreferences.PIV_TEMPLATES_PATH, System.getProperty("user.dir") + "/templates");
String templateName="template_gauging_" + BuPreferences.BU.getStringProperty("locale.language", System.getProperty("piv.lang", "fr")) + ".xlsx";
@@ -154,6 +153,7 @@
File ftemplate=new File(templateDir, templateName);
if (!ftemplate.exists()) {
impl.error(PivResource.getS("Erreur mod\xE8le"), PivResource.getS("Le mod\xE8le {0} n'existe pas", ftemplate));
+ return;
}
Workbook wb=new XSSFWorkbook(new FileInputStream(ftemplate));
@@ -175,7 +175,7 @@
cellname=cellname.substring(0, ind);
}
- if (!dataVars_.containsKey(cellname)) {
+ if (!systemDatas.containsKey(cellname)) {
String desc=namedCell.getComment();
if (desc == null || desc.isEmpty())
desc=cellname;
@@ -188,12 +188,14 @@
// Saisie des valeurs depuis la table des cellules nomm\xE9es utilisateur.
if (!userVars.isEmpty()) {
- PivExportGaugingReportFillValuesPanel diValues=new PivExportGaugingReportFillValuesPanel(impl, userVars.values());
+ PivExportGaugingReportFillValuesPanel diValues=new PivExportGaugingReportFillValuesPanel(impl, userVars.values(), systemDatas.keySet());
if (diValues.afficheModale(impl.getFrame(), PivResource.getS("A renseigner")) == JOptionPane.CANCEL_OPTION)
return;
}
- dataVars_.putAll(userVars);
+ HashMap<String,AbstractCellData> allVars = new HashMap<>();
+ allVars.putAll(systemDatas);
+ allVars.putAll(userVars);
// Remplissage des cellules nomm\xE9es du template depuis les datas
@@ -235,7 +237,7 @@
// Ajoute toutes les valeurs de la variable dans les zones nomm\xE9es.
- AbstractCellData cellWrapper=dataVars_.get(cellname);
+ AbstractCellData cellWrapper=allVars.get(cellname);
// Une donn\xE9e de type image.
if (cellWrapper instanceof ImageCellData) {
@@ -245,7 +247,7 @@
if (bytes==null) {
Row r=currentSheet.getRow(firstRow);
Cell c=r.getCell(firstCol);
- c.setCellValue("**No data**");
+ c.setCellValue("-");
}
else {
int ipict=wb.addPicture(bytes, Workbook.PICTURE_TYPE_PNG);
@@ -330,8 +332,11 @@
}
}
- public void initDataTypes() {
- dataVars_.clear();
+ /**
+ * Definit les varaibles connues du systeme.
+ */
+ public HashMap<String, AbstractCellData> defineSystemVariables() {
+ HashMap<String, AbstractCellData> systemVars_=new HashMap<>();
final PivTransect[] transects=impl.getCurrentProject().getTransects();
final PivComputeParameters pivParams = impl.getCurrentProject().getComputeParameters();
@@ -344,32 +349,35 @@
final Double meanArea=globRes.getAverageScalarResult(ResultType.WETTED_AREA);
final Double meanMeanV=globRes.getAverageScalarResult(ResultType.MEAN_VELOCITY);
- dataVars_.put("__COEF_VITESSE",new AbstractScalarCellData() {
+ final HashMap<String,Object> imgOptions = new HashMap<>();
+ imgOptions.put(CtuluLibImage.PARAMS_FILL_BACKGROUND_BOOLEAN, Boolean.FALSE);
+
+ systemVars_.put("__COEF_VITESSE",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
// On prend le coef de vitesse du premier transect, s'il existe
return (transects==null || transects.length==0) ? null:""+transects[0].getParams().getSurfaceCoef();
}
});
- dataVars_.put("__CORREL_MAX",new AbstractScalarCellData() {
+ systemVars_.put("__CORREL_MAX",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return pivParams==null ? null:""+pivParams.getMaxCorrelation();
}
});
- dataVars_.put("__CORREL_MIN",new AbstractScalarCellData() {
+ systemVars_.put("__CORREL_MIN",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return pivParams==null ? null:""+pivParams.getMinCorrelation();
}
});
- dataVars_.put("__DEBIT_MOYEN",new AbstractScalarCellData() {
+ systemVars_.put("__DEBIT_MOYEN",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return meanDisch==null ? null:meanDisch+" m\xB3/s";
}
});
- dataVars_.put("__ERREUR_MAX",new AbstractScalarCellData() {
+ systemVars_.put("__ERREUR_MAX",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
if (orthoPoints==null)
@@ -382,82 +390,88 @@
return maxi+" m";
}
});
- dataVars_.put("__HAUTEUR",new AbstractScalarCellData() {
+ systemVars_.put("__HAUTEUR",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return orthoParams==null ? null:orthoParams.getWaterElevation()+" m";
}
});
- dataVars_.put("__IA_M",new AbstractScalarCellData() {
+ systemVars_.put("__IA_M",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return (pivParams==null || orthoParams==null) ? null:(pivParams.getIASize()*orthoParams.getResolution())+" m";
}
});
- dataVars_.put("__IA_PIX",new AbstractScalarCellData() {
+ systemVars_.put("__IA_PIX",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return pivParams==null ? null:pivParams.getIASize()+" pix";
}
});
- dataVars_.put("__INTERTEMPS",new AbstractScalarCellData() {
+ systemVars_.put("__INTERTEMPS",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return pivParams==null ? null:pivParams.getTimeInterval()+" s";
}
});
- dataVars_.put("__NOMBRE_GRPS", new AbstractScalarCellData() {
+ systemVars_.put("__NOM_PROJET",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
+ return impl.getCurrentProjectFile()==null ? null:impl.getCurrentProjectFile().getName();
+ }
+ });
+ systemVars_.put("__NOMBRE_GRPS", new AbstractScalarCellData() {
+ @Override
+ public String getValue(int _row, int _col) {
return orthoPoints==null ? null:orthoPoints.length+"";
}
});
- dataVars_.put("__NOMBRE_IMAGES", new AbstractScalarCellData() {
+ systemVars_.put("__NOMBRE_IMAGES", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return ""+impl.getCurrentProject().getSrcImageFiles().length;
}
});
- dataVars_.put("__NOMBRE_TRANSECTS", new AbstractScalarCellData() {
+ systemVars_.put("__NOMBRE_TRANSECTS", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return transects==null ? null:transects.length+"";
}
});
- dataVars_.put("__NORME_MAX", new AbstractScalarCellData() {
+ systemVars_.put("__NORME_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return pivParams==null ? null:pivParams.getSmax()+" m/s";
}
});
- dataVars_.put("__NORME_MIN", new AbstractScalarCellData() {
+ systemVars_.put("__NORME_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return pivParams==null ? null:pivParams.getSmin()+" m/s";
}
});
- dataVars_.put("__PAS_INTERPOLATION", new AbstractScalarCellData() {
+ systemVars_.put("__PAS_INTERPOLATION", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
// On prend le pas du premier transect, s'il existe
return (transects==null || transects.length==0) ? null:transects[0].getParams().getInterpolationStep()+" m";
}
});
- dataVars_.put("__RAYON_RECHERCHE", new AbstractScalarCellData() {
+ systemVars_.put("__RAYON_RECHERCHE", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
// On prend le rayon du premier transect, s'il existe
return (transects==null || transects.length==0) ? null:transects[0].getParams().getRadius()+" m";
}
});
- dataVars_.put("__RESOLUTION", new AbstractScalarCellData() {
+ systemVars_.put("__RESOLUTION", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
// On prend le rayon du premier transect, s'il existe
return orthoParams==null ? null:orthoParams.getResolution()+" m/pix";
}
});
- dataVars_.put("__RESULTATS", new AbstractCellData() {
+ systemVars_.put("__RESULTATS", new AbstractCellData() {
@Override
public String getValue(int _row, int _col) {
if (flowResults==null)
@@ -499,7 +513,7 @@
return transects==null ? 0 : transects.length;
}
});
- dataVars_.put("__SIM_MS", new AbstractScalarCellData() {
+ systemVars_.put("__SIM_MS", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
if (orthoParams!=null && pivParams!=null) {
@@ -516,13 +530,13 @@
return null;
}
});
- dataVars_.put("__SIM_PIX", new AbstractScalarCellData() {
+ systemVars_.put("__SIM_PIX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return pivParams==null ? null:pivParams.getSim()+" pix";
}
});
- dataVars_.put("__SIP_MS", new AbstractScalarCellData() {
+ systemVars_.put("__SIP_MS", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
if (orthoParams!=null && pivParams!=null) {
@@ -539,13 +553,13 @@
return null;
}
});
- dataVars_.put("__SIP_PIX", new AbstractScalarCellData() {
+ systemVars_.put("__SIP_PIX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return pivParams==null ? null:pivParams.getSip()+" pix";
}
});
- dataVars_.put("__SJM_MS", new AbstractScalarCellData() {
+ systemVars_.put("__SJM_MS", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
if (orthoParams!=null && pivParams!=null) {
@@ -562,13 +576,13 @@
return null;
}
});
- dataVars_.put("__SJM_PIX", new AbstractScalarCellData() {
+ systemVars_.put("__SJM_PIX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return pivParams==null ? null:pivParams.getSjm()+" pix";
}
});
- dataVars_.put("__SJP_MS", new AbstractScalarCellData() {
+ systemVars_.put("__SJP_MS", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
if (orthoParams!=null && pivParams!=null) {
@@ -585,100 +599,111 @@
return null;
}
});
- dataVars_.put("__SJP_PIX", new AbstractScalarCellData() {
+ systemVars_.put("__SJP_PIX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return pivParams==null ? null:pivParams.getSjp()+" pix";
}
});
- dataVars_.put("__VX_MAX", new AbstractScalarCellData() {
+ systemVars_.put("__VERSION_APPLICATION",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
+ return impl.getInformationsSoftware().version;
+ }
+ });
+ systemVars_.put("__VUE_2D", new ImageCellData() {
+
+ @Override
+ public byte[] getValue(int _row, int _col) {
+ impl.get2dFrame().getVisuPanel().setViewMode(PivVisuPanel.MODE_REAL_VIEW);
+ BufferedImage img=impl.get2dFrame().getVisuPanel().produceImage(imgOptions);
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ try {
+ ImageIO.write(img, "png", bos);
+ return bos.toByteArray();
+ }
+ catch (IOException e) {
+ return null;
+ }
+ }
+ });
+ systemVars_.put("__VUE_3D", new ImageCellData() {
+
+ @Override
+ public byte[] getValue(int _row, int _col) {
+
+ PivShow3DTransectPanel pn=new PivShow3DTransectPanel(impl);
+
+ if (transects != null && transects.length != 0) {
+ int[] isels=new int[transects.length];
+ for (int i=0; i < transects.length; i++) {
+ isels[i]=i;
+ }
+ pn.setSelectedTransects(isels);
+ }
+
+ pn.get3dGraph().setSize(500, 500);
+ BufferedImage img=CtuluLibImage.produceImageForComponent(pn.get3dGraph(),imgOptions);
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ try {
+ ImageIO.write(img, "png", bos);
+ return bos.toByteArray();
+ }
+ catch (IOException e) {
+ return null;
+ }
+ }
+ });
+ systemVars_.put("__VX_MAX", new AbstractScalarCellData() {
+ @Override
+ public String getValue(int _row, int _col) {
return pivParams==null ? null:pivParams.getVxmax()+" m/s";
}
});
- dataVars_.put("__VX_MIN", new AbstractScalarCellData() {
+ systemVars_.put("__VX_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return pivParams==null ? null:pivParams.getVxmin()+" m/s";
}
});
- dataVars_.put("__VY_MAX", new AbstractScalarCellData() {
+ systemVars_.put("__VY_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return pivParams==null ? null:pivParams.getVymax()+" m/s";
}
});
- dataVars_.put("__VY_MIN", new AbstractScalarCellData() {
+ systemVars_.put("__VY_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return pivParams==null ? null:pivParams.getVymin()+" m/s";
}
});
- dataVars_.put("__X_MAX", new AbstractScalarCellData() {
+ systemVars_.put("__X_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return orthoParams==null ? null:orthoParams.getXmax()+" m";
}
});
- dataVars_.put("__X_MIN", new AbstractScalarCellData() {
+ systemVars_.put("__X_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return orthoParams==null ? null:orthoParams.getXmin()+" m";
}
});
- dataVars_.put("__Y_MAX", new AbstractScalarCellData() {
+ systemVars_.put("__Y_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return orthoParams==null ? null:orthoParams.getYmax()+" m";
}
});
- dataVars_.put("__Y_MIN", new AbstractScalarCellData() {
+ systemVars_.put("__Y_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
return orthoParams==null ? null:orthoParams.getYmin()+" m";
}
});
- dataVars_.put("__VUE_2D", new ImageCellData() {
-
- @Override
- public byte[] getValue(int _row, int _col) {
- BufferedImage img=impl.get2dFrame().getVisuPanel().produceImage(null);
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- try {
- ImageIO.write(img, "png", bos);
- return bos.toByteArray();
- }
- catch (IOException e) {
- return null;
- }
- }
- });
- dataVars_.put("__VUE_3D", new ImageCellData() {
-
- @Override
- public byte[] getValue(int _row, int _col) {
- if (transects==null || transects.length==0)
- return null;
-
- int[] isels=new int[transects.length];
- for (int i=0; i<transects.length; i++) {
- isels[i]=i;
- }
- PivShow3DTransectPanel pn=new PivShow3DTransectPanel(impl);
- pn.setSelectedTransects(isels);
- pn.get3dGraph().setSize(500, 500);
- BufferedImage img=CtuluLibImage.produceImageForComponent(pn.get3dGraph(),null);
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- try {
- ImageIO.write(img, "png", bos);
- return bos.toByteArray();
- }
- catch (IOException e) {
- return null;
- }
- }
- });
+
+ return systemVars_;
}
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|