Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/client/ui/wq/QDTable.java @ 1578:df11c4c8c578
Avoid certain npes.
flys-client/trunk@3847 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 01 Feb 2012 08:51:30 +0000 |
parents | ed16f28e9063 |
children | 5659b5e8c9a8 |
line wrap: on
line source
package de.intevation.flys.client.client.ui.wq; import com.google.gwt.core.client.GWT; import com.google.gwt.i18n.client.NumberFormat; import com.smartgwt.client.types.ListGridFieldType; import com.smartgwt.client.types.SelectionStyle; import com.smartgwt.client.widgets.grid.CellFormatter; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.ListGridRecord; import de.intevation.flys.client.client.FLYSConstants; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class QDTable extends ListGrid { /** The message class that provides i18n strings.*/ protected FLYSConstants MESSAGE = GWT.create(FLYSConstants.class); protected boolean lockClick; public QDTable() { String baseUrl = GWT.getHostPageBaseURL(); setWidth100(); setHeight100(); setSelectionType(SelectionStyle.SINGLE); setSelectionType(SelectionStyle.SINGLE); setShowHeaderContextMenu(false); setShowRecordComponents(true); setShowRecordComponentsByCell(true); setEmptyMessage(MESSAGE.empty_table()); ListGridField addMax = new ListGridField("max", ""); addMax.setType(ListGridFieldType.ICON); addMax.setWidth(30); addMax.setCellIcon(baseUrl + MESSAGE.markerRed()); ListGridField addMin = new ListGridField("min", ""); addMin.setType(ListGridFieldType.ICON); addMin.setWidth(30); addMin.setCellIcon(baseUrl + MESSAGE.markerGreen()); ListGridField name = new ListGridField("name", MESSAGE.discharge()); name.setType(ListGridFieldType.TEXT); name.setWidth("*"); ListGridField type = new ListGridField("type", MESSAGE.type()); type.setType(ListGridFieldType.TEXT); type.setWidth("20%"); final NumberFormat nf = NumberFormat.getDecimalFormat(); ListGridField value = new ListGridField("value", MESSAGE.wq_value()); value.setType(ListGridFieldType.FLOAT); value.setCellFormatter(new CellFormatter() { @Override public String format(Object v, ListGridRecord r, int row, int col) { if (v == null) { return null; } try { double value = Double.valueOf(v.toString()); return nf.format(value); } catch (NumberFormatException nfe) { return v.toString(); } } }); value.setWidth("20%"); setFields(addMax, addMin, name, type, value); } public void hideIconFields () { hideField("max"); hideField("min"); lockClick = true; } public void showIconFields() { showField("max"); showField("min"); lockClick = false; } public boolean isLocked() { return lockClick; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :