X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fcore%2FFTSRestResponse.java;h=5d8fb96daf89ca2f491d3c2f9bb82fee0921da40;hb=b4be31307e3a1e6d3dbb43bd14dfd012be6a3dfd;hp=6cce2c4ae3a83efaf20b7a579ce882174a8f2fc1;hpb=e1976b4025f648431974e7ddcb2be93115688abd;p=jalview.git diff --git a/src/jalview/fts/core/FTSRestResponse.java b/src/jalview/fts/core/FTSRestResponse.java index 6cce2c4..5d8fb96 100644 --- a/src/jalview/fts/core/FTSRestResponse.java +++ b/src/jalview/fts/core/FTSRestResponse.java @@ -25,6 +25,7 @@ import jalview.fts.api.FTSData; import jalview.fts.api.FTSDataColumnI; import java.util.Collection; +import java.util.Map; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; @@ -89,8 +90,8 @@ public class FTSRestResponse public static DefaultTableModel getTableModel(FTSRestRequest request, Collection summariesList) { - final FTSDataColumnI[] cols = request.getWantedFields() - .toArray(new FTSDataColumnI[0]); + final FTSDataColumnI[] cols = request.getWantedFields().toArray( + new FTSDataColumnI[0]); final int colOffset = request.getAssociatedSequence() == null ? 0 : 1; DefaultTableModel tableModel = new DefaultTableModel() { @@ -107,7 +108,8 @@ public class FTSRestResponse { return String.class; } - return cols[columnIndex - colOffset].getDataColumnClass(); + return cols[columnIndex - colOffset].getDataType() + .getDataTypeClass(); } }; @@ -116,8 +118,7 @@ public class FTSRestResponse tableModel.addColumn("Ref Sequence"); // Create sequence column header if // exists in the request } - for (FTSDataColumnI field : request - .getWantedFields()) + for (FTSDataColumnI field : request.getWantedFields()) { tableModel.addColumn(field.getName()); // Create sequence column header if // exists in the request @@ -133,7 +134,8 @@ public class FTSRestResponse } public static void configureTableColumn(JTable tbl_summary, - Collection wantedFields) + Collection wantedFields, + Map columnPrefs) { for (FTSDataColumnI wantedField : wantedFields) { @@ -143,14 +145,30 @@ public class FTSRestResponse wantedField.getMinWidth()); tbl_summary.getColumn(wantedField.getName()).setMaxWidth( wantedField.getMaxWidth()); + int prefedWidth = columnPrefs.get(wantedField.getName()) == null ? wantedField + .getPreferredWidth() : columnPrefs.get(wantedField + .getName()); tbl_summary.getColumn(wantedField.getName()).setPreferredWidth( - wantedField.getPreferredWidth()); + prefedWidth); } catch (Exception e) { e.printStackTrace(); } + if (wantedField.getDataType().getDataTypeClass() == Double.class) + { + DecimalFormatTableCellRenderer dfr = new DecimalFormatTableCellRenderer( + wantedField.getDataType().isFormtted(), wantedField + .getDataType().getSignificantFigures()); + tbl_summary.getColumn(wantedField.getName()).setCellRenderer(dfr); + } + else if (wantedField.getDataType().getDataTypeClass() == Integer.class) + { + DecimalFormatTableCellRenderer dfr = new DecimalFormatTableCellRenderer( + wantedField.getDataType().isFormtted(), wantedField + .getDataType().getSignificantFigures()); + tbl_summary.getColumn(wantedField.getName()).setCellRenderer(dfr); + } } } - }