|
From: <chr...@us...> - 2009-12-08 17:00:45
|
Revision: 5545
http://fudaa.svn.sourceforge.net/fudaa/?rev=5545&view=rev
Author: chrisc83
Date: 2009-12-08 17:00:38 +0000 (Tue, 08 Dec 2009)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOReader.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CommonGuiLib.java
trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/ihmMessages.properties
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java 2009-12-08 00:59:30 UTC (rev 5544)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java 2009-12-08 17:00:38 UTC (rev 5545)
@@ -15,6 +15,8 @@
*/
public class FCBReader extends AbstractCrueBinaryReader<FCBSequentialReader> {
+ int sizeTitre = 256;
+
/**
* Retourne la liste des indices des pas de temps *
*
@@ -27,10 +29,10 @@
// le premier entier doit etre 800.
// cette premiere partie est un procede pour savoir si on est en little ou big endian.
// on sait que le premier entier doit etre 800; soit la longueur des 10 commentaires comportant
- // 80 caractères.
- final int firstInt = 800;
+ // 256 caractères.
+ final int firstInt = 10 * sizeTitre;
// on lit le premier enregistrement qui fait 800 p
- /* final int readAll = */helper.readAll(800 + 8);// 8 pour les 2 entiers avant/apres l'enregistrement
+ /* final int readAll = */helper.readAll(firstInt + 8);// 8 pour les 2 entiers avant/apres l'enregistrement
ByteBuffer bf = helper.getBuffer();
int tempInt = bf.getInt();
// le premier entier ne vaut pas 80: on inverse l'ordre de lecture
@@ -48,7 +50,7 @@
// -- on lit les 10 premieres lignes de titre DC et DH dans le Buffer--//
final int nbCommentDc = 5;
final int nbCommentDh = 5;
- final int nbCaractereParLigne = 800 / (nbCommentDc + nbCommentDh);
+ final int nbCaractereParLigne = firstInt / (nbCommentDc + nbCommentDh);
final List<String> commnentDc = new ArrayList<String>(nbCommentDc);
final List<String> commnentDh = new ArrayList<String>(nbCommentDh);
for (int i = 0; i < nbCommentDh; i++) {
@@ -81,8 +83,9 @@
infos.sousFente = (icodav >= 2);
infos.regulation = (icodav == 1 || icodav == 3);
final int nbBranches = bf.getInt();
- /* final String nomDc = */helper.getStingFromBuffer(60);
- /* final String nomDh = */helper.getStingFromBuffer(60);
+ int nbCharTitreDCDh = 256;
+ /* final String nomDc = */helper.getStingFromBuffer(nbCharTitreDCDh);
+ /* final String nomDh = */helper.getStingFromBuffer(nbCharTitreDCDh);
// -- on passe a la ligne contenant ibmax et iparam --//
// helper.skipRecord();
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOReader.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOReader.java 2009-12-08 00:59:30 UTC (rev 5544)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOReader.java 2009-12-08 17:00:38 UTC (rev 5545)
@@ -35,6 +35,8 @@
private int nbPoin;
private int iPrM;
private int nbHaut;
+ private final int nbCharTitreDcDh = 80;
+ int nbCharNomDcDh = 256;
@Override
protected STOSequentialReader internalReadResu() throws IOException {
@@ -197,13 +199,14 @@
String titreDc = "";
for (int i = 0; i < 5; i++) {
- final String temp = helper.getStingFromBuffer(80);
+
+ final String temp = helper.getStingFromBuffer(nbCharTitreDcDh);
titreDc += temp;
}
donnees.setTitreDc(titreDc);
// System.out.print("TitreDc = " + donnees.getTitreDc() + " | ");
- donnees.setNomDc(helper.getStingFromBuffer(60));
+ donnees.setNomDc(helper.getStingFromBuffer(nbCharNomDcDh));
// System.out.println("NomDc = " + donnees.getNomDc() + " | ");
data.setDonneesGenerales(donnees);
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CommonGuiLib.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CommonGuiLib.java 2009-12-08 00:59:30 UTC (rev 5544)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CommonGuiLib.java 2009-12-08 17:00:38 UTC (rev 5545)
@@ -6,6 +6,9 @@
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Frame;
+import java.awt.Toolkit;
+import java.awt.datatransfer.StringSelection;
+import java.awt.datatransfer.Transferable;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
@@ -15,13 +18,20 @@
import java.util.logging.Level;
import java.util.logging.LogRecord;
-import javax.swing.*;
+import javax.swing.Icon;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.JTextField;
+import javax.swing.JTree;
+import javax.swing.ScrollPaneConstants;
+import javax.swing.UIManager;
import javax.swing.tree.DefaultTreeCellRenderer;
-import com.memoire.bu.BuBorderLayout;
-import com.memoire.bu.BuBorders;
-import com.memoire.bu.BuResource;
-
import org.apache.commons.lang.StringUtils;
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.CtuluDefaultLogFormatter;
@@ -34,6 +44,10 @@
import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode;
import org.jdesktop.swingx.treetable.DefaultTreeTableModel;
+import com.memoire.bu.BuBorderLayout;
+import com.memoire.bu.BuBorders;
+import com.memoire.bu.BuResource;
+
/**
* librairie commune fournit des methodes utiles.
*
@@ -41,6 +55,58 @@
*/
public class CommonGuiLib {
+ public static class CopyToClipboardRunnable implements Runnable {
+
+ private JTable table;
+
+ public CopyToClipboardRunnable(JTable table) {
+ super();
+ this.table = table;
+ }
+
+ /**
+ * @return the table
+ */
+ public JTable getTable() {
+ return table;
+ }
+
+ /**
+ * @param table the table to set
+ */
+ public void setTable(JTable table) {
+ this.table = table;
+ }
+
+ public String createString() {
+ final StringBuilder plainBuf = new StringBuilder(256);
+ final int nbCol = table.getColumnCount();
+ final int nbRow = table.getRowCount();
+ for (int row = 0; row < nbRow; row++) {
+ for (int col = 0; col < nbCol; col++) {
+ final Object obj = table.getValueAt(row, col);
+ final String val = ((obj == null) ? StringUtils.EMPTY : obj.toString());
+ // we want a newline at the end of each line and not a tab
+ final boolean isLast = col == nbCol - 1;
+ // a la fin, ce n'est pas la peine d'ajouter des espaces
+ plainBuf.append(val).append(isLast ? '\n' : " ");
+ }
+ }
+
+ // remove the last newline
+ plainBuf.deleteCharAt(plainBuf.length() - 1);
+ return plainBuf.toString();
+ }
+
+ protected Transferable createTransferable() {
+ return new StringSelection(createString());
+ }
+
+ public void run() {
+ Toolkit.getDefaultToolkit().getSystemClipboard().setContents(createTransferable(), null);
+ }
+ }
+
/**
*
*/
@@ -164,6 +230,9 @@
container.add(comp, BorderLayout.CENTER);
final JButton btContinue = new JButton(BuResource.BU.getString("Continuer"), EbliResource.EBLI
.getIcon("crystal_valider"));
+ final JButton btCopy = new JButton(FCrueResource.getS("viewError.copy"), EbliResource.EBLI.getIcon("copier"));
+ final CopyToClipboardRunnable copyToClipboard = new CopyToClipboardRunnable(table);
+
table.expandAll();
btContinue.addActionListener(new ActionListener() {
@@ -172,6 +241,14 @@
}
});
+
+ btCopy.addActionListener(new ActionListener() {
+
+ public void actionPerformed(ActionEvent arg0) {
+ copyToClipboard.run();
+ }
+ });
+
cbOnlyError.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
@@ -191,6 +268,7 @@
final JPanel pnBt = new JPanel();
pnBt.setLayout(new FlowLayout(FlowLayout.CENTER));
pnBt.add(btContinue);
+ pnBt.add(btCopy);
container.add(pnBt, BorderLayout.SOUTH);
dialog.setContentPane(container);
Modified: trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/ihmMessages.properties
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/ihmMessages.properties 2009-12-08 00:59:30 UTC (rev 5544)
+++ trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/ihmMessages.properties 2009-12-08 17:00:38 UTC (rev 5545)
@@ -139,3 +139,4 @@
valider.menu.action = Valider
viewError.showOnlyError = Afficher uniquement les erreurs
+viewError.copy = Copier
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|