X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fcore%2FFTSRestResponse.java;h=5d8fb96daf89ca2f491d3c2f9bb82fee0921da40;hb=853624fb32058cccc544ae7d13af6ad4b0800b6c;hp=c56b8c80f8c9783b007c0a2e32e868630dfaf092;hpb=007af0c9001900071f6d8e9214143f79e10f4938;p=jalview.git diff --git a/src/jalview/fts/core/FTSRestResponse.java b/src/jalview/fts/core/FTSRestResponse.java index c56b8c8..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,16 +134,9 @@ public class FTSRestResponse } public static void configureTableColumn(JTable tbl_summary, - Collection wantedFields) + Collection wantedFields, + Map columnPrefs) { - try - { - // wait for table model initialisation to complete - Thread.sleep(1200); - } catch (InterruptedException e1) - { - e1.printStackTrace(); - } for (FTSDataColumnI wantedField : wantedFields) { try @@ -151,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); + } } } - }