|
From: <bma...@us...> - 2017-05-15 20:58:59
|
Revision: 9557
http://sourceforge.net/p/fudaa/svn/9557
Author: bmarchan
Date: 2017-05-15 20:58:57 +0000 (Mon, 15 May 2017)
Log Message:
-----------
Edition de geometrie : Les tableaux supportent le Cut/Paste
Modified Paths:
--------------
trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesMultiEditorPanel.java
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectTableModel.java
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliFormatter.java
Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesMultiEditorPanel.java
===================================================================
--- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesMultiEditorPanel.java 2017-05-15 20:56:41 UTC (rev 9556)
+++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesMultiEditorPanel.java 2017-05-15 20:58:57 UTC (rev 9557)
@@ -11,16 +11,13 @@
*/
package org.fudaa.ctulu.gui;
-import com.memoire.bu.BuBorderLayout;
-import com.memoire.bu.BuScrollPane;
-import java.awt.Color;
-import java.awt.Component;
import java.util.ArrayList;
import java.util.List;
+
import javax.swing.JTable;
-import javax.swing.SwingConstants;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumnModel;
+
import org.fudaa.ctulu.CtuluCommandComposite;
import org.fudaa.ctulu.CtuluCommandContainer;
import org.fudaa.ctulu.CtuluLib;
@@ -29,6 +26,9 @@
import org.fudaa.ctulu.editor.CtuluValueEditorI;
import org.fudaa.ctulu.table.CtuluTable;
+import com.memoire.bu.BuBorderLayout;
+import com.memoire.bu.BuScrollPane;
+
/**
* Un editeur de collections de valeurs.
*
@@ -251,29 +251,16 @@
model_ = new ValueTableModel();
table_ = new CtuluTable();
- table_.setRowSelectionAllowed(true);
+ // Pour permettre le copy/paste facilement surle tableau.
+ table_.setCellSelectionEnabled(true);
table_.setModel(model_);
- final TableColumnModel model = table_.getColumnModel();
- final CtuluCellTextRenderer render = new CtuluCellTextRenderer() {
- @Override
- public Component getTableCellRendererComponent(JTable _table, Object _value, boolean _isSelected, boolean _hasFocus, int _row, int _column) {
-
- String affValue = editors_[_column - 1].toString(_value);
- final Component r = super.getTableCellRendererComponent(_table, affValue, _isSelected, _hasFocus, _row, _column);
- setForeground(model_.isModified(_row, _column) ? Color.BLUE : _table.getForeground());
- return r;
- }
- };
- render.setHorizontalAlignment(SwingConstants.RIGHT);
+ TableColumnModel model = table_.getColumnModel();
// on construit les labels et les editeurs
for (int i = 0; i < title_.length; i++) {
model.getColumn(i + 1).setCellEditor(editors_[i].createTableEditorComponent());
- model.getColumn(i + 1).setCellRenderer(render);
}
- final CtuluCellTextRenderer intRenderer = new CtuluCellTextRenderer();
- intRenderer.setHorizontalAlignment(SwingConstants.RIGHT);
- model.getColumn(0).setCellRenderer(intRenderer);
+
add(new BuScrollPane(table_), BuBorderLayout.CENTER);
}
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java 2017-05-15 20:56:41 UTC (rev 9556)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java 2017-05-15 20:58:57 UTC (rev 9557)
@@ -135,6 +135,8 @@
setLayout(new BuBorderLayout());
// Construction de la table
table_ = new CtuluTable();
+ // Pour permettre le copy/paste facilement surle tableau.
+ table_.setCellSelectionEnabled(true);
table_.setModel(modelData_);
modelData_.updateEditorAndRenderer(table_);
// Gestion des erreurs
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectTableModel.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectTableModel.java 2017-05-15 20:56:41 UTC (rev 9556)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectTableModel.java 2017-05-15 20:58:57 UTC (rev 9557)
@@ -7,10 +7,6 @@
*/
package org.fudaa.ebli.calque.edition;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.CoordinateSequence;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.LinearRing;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -18,6 +14,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+
import javax.swing.JTable;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
@@ -24,6 +21,7 @@
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;
+
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.CtuluCommandComposite;
import org.fudaa.ctulu.CtuluCommandContainer;
@@ -39,13 +37,18 @@
import org.fudaa.ctulu.gis.GISZoneAttributeFactory;
import org.fudaa.ctulu.gis.GISZoneCollection;
import org.fudaa.ctulu.gis.GISZoneCollectionGeometry;
-import org.fudaa.ctulu.gui.CtuluCellBooleanRenderer;
-import org.fudaa.ctulu.gui.CtuluCellDoubleRenderer;
import org.fudaa.ebli.calque.ZModelGeometryListener;
import org.fudaa.ebli.calque.ZModeleGeometry;
import org.fudaa.ebli.commun.EbliCoordinateDefinition;
+import org.fudaa.ebli.commun.EbliFormatter;
import org.fudaa.ebli.commun.EbliLib;
+import com.memoire.bu.BuTableCellRenderer;
+import com.vividsolutions.jts.geom.Coordinate;
+import com.vividsolutions.jts.geom.CoordinateSequence;
+import com.vividsolutions.jts.geom.Geometry;
+import com.vividsolutions.jts.geom.LinearRing;
+
/**
* Cette classe permet d'adapter l'interface d'un ZModeleGeometry sur une g\xE9om\xE9trie sp\xE9cifique. C'est \xE0 dire que l'adapter se greffe sur le mod\xE8le et
* selectionne une des g\xE9om\xE9tries. Toutes les m\xE9thodes propos\xE9es par cette interface seront r\xE9alis\xE9es sur cette g\xE9om\xE9trie.
@@ -1035,11 +1038,18 @@
TableCellEditor editorXY = CtuluValueEditorDefaults.DOUBLE_EDITOR.createTableEditorComponent();
cols.getColumn(1).setCellEditor(editorXY);
cols.getColumn(2).setCellEditor(editorXY);
- cols.getColumn(1).setCellRenderer(new CtuluCellDoubleRenderer(coordDefs_[0].getFormatter().getXYFormatter()));
- cols.getColumn(2).setCellRenderer(new CtuluCellDoubleRenderer(coordDefs_[1].getFormatter().getXYFormatter()));
+ BuTableCellRenderer xRenderer = new BuTableCellRenderer();
+ BuTableCellRenderer yRenderer = new BuTableCellRenderer();
+ xRenderer.setNumberFormat(((EbliFormatter) coordDefs_[0].getFormatter()).getFmt());
+ yRenderer.setNumberFormat(((EbliFormatter) coordDefs_[1].getFormatter()).getFmt());
+ cols.getColumn(1).setCellRenderer(xRenderer);
+ cols.getColumn(2).setCellRenderer(yRenderer);
// Colonnes des attributs
if (modele_ != null) {
+ BuTableCellRenderer otherRenderer = new BuTableCellRenderer();
+ otherRenderer.setNumberFormat(((EbliFormatter) coordDefs_[2].getFormatter()).getFmt());
+
for (int i = 0; i < lattrs_.size(); i++) {
CtuluValueEditorI editor = lattrs_.get(i).getEditor();
if (editor != null) {
@@ -1046,13 +1056,8 @@
final TableCellEditor createTableEditorComponent = editor.createTableEditorComponent();
cols.getColumn(3 + i).setCellEditor(createTableEditorComponent);
}
- // Le renderer pour les Double
- if (lattrs_.get(i).getDataClass().equals(Double.class)) {
- cols.getColumn(3 + i).setCellRenderer(new CtuluCellDoubleRenderer(coordDefs_[2].getFormatter().getXYFormatter()));
- } // Pour un Boolean
- else if (lattrs_.get(i).getDataClass().equals(Boolean.class)) {
- cols.getColumn(3 + i).setCellRenderer(new CtuluCellBooleanRenderer());
- }
+ // Le renderer pour les colonnes attributs
+ cols.getColumn(3 + i).setCellRenderer(otherRenderer);
}
}
}
Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliFormatter.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliFormatter.java 2017-05-15 20:56:41 UTC (rev 9556)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliFormatter.java 2017-05-15 20:58:57 UTC (rev 9557)
@@ -47,6 +47,11 @@
buildDefaultXYFormatter();
((CtuluNumberFormatDefault) formatter_).setFmt(_fmt);
}
+
+ public NumberFormat getFmt() {
+ buildDefaultXYFormatter();
+ return ((CtuluNumberFormatDefault) formatter_).getFmt();
+ }
protected void buildDefaultXYFormatter() {
if (formatter_ == null) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|