List of usage examples for com.google.gwt.i18n.client NumberFormat getFormat
public static NumberFormat getFormat(String pattern)
NumberFormat
instance for the default locale using the specified pattern and the default currencyCode. From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.chart.DashboardExample.java
License:sencha.com license
@Override public Widget asWidget() { if (panel == null) { for (int i = 0; i < companies.length; i++) { store.add(new Data(companies[i], Math.random() * 100, Math.random() * 100, Math.random() * 100, Math.random() * 100, Math.random() * 100, 0, 0, 0, 0)); }/*from w w w. jav a 2s .c om*/ final Chart<Data> barChart = new Chart<Data>(); barChart.setStore(store); barChart.setShadowChart(true); barChart.setAnimated(true); CategoryAxis<Data, String> catAxis = new CategoryAxis<Data, String>(); catAxis.setPosition(Position.BOTTOM); catAxis.setField(dataAccess.name()); TextSprite rotation = new TextSprite(); rotation.setRotation(270); catAxis.setLabelConfig(rotation); catAxis.setLabelProvider(new LabelProvider<String>() { @Override public String getLabel(String item) { if (item.length() > 8) { return item.substring(0, 8) + "..."; } else { return item; } } }); barChart.addAxis(catAxis); final BarSeries<Data> bar = new BarSeries<Data>(); bar.setYAxisPosition(Position.LEFT); bar.addYField(dataAccess.data1()); SeriesLabelConfig<Data> barLabelConfig = new SeriesLabelConfig<Data>(); rotation = rotation.copy(); rotation.setTextAnchor(TextAnchor.END); rotation.setTextBaseline(TextBaseline.MIDDLE); barLabelConfig.setSpriteConfig(rotation); bar.setLabelConfig(barLabelConfig); bar.addColor(new RGB(148, 174, 10)); bar.setColumn(true); bar.setHighlighter(new SeriesHighlighter() { @Override public void highlight(Sprite sprite) { if (sprite instanceof RectangleSprite) { RectangleSprite bar = (RectangleSprite) sprite; bar.setStroke(new RGB(85, 85, 204)); bar.setStrokeWidth(3); bar.setFill(new RGB("#a2b5ca")); bar.redraw(); } } @Override public void unHighlight(Sprite sprite) { if (sprite instanceof RectangleSprite) { RectangleSprite bar = (RectangleSprite) sprite; bar.setStroke(Color.NONE); bar.setStrokeWidth(0); bar.setFill(new RGB(148, 174, 10)); bar.redraw(); } } }); bar.addSeriesSelectionHandler(new SeriesSelectionHandler<Data>() { @Override public void onSeriesSelection(SeriesSelectionEvent<Data> event) { grid.getSelectionModel().select(event.getIndex(), false); } }); barChart.addSeries(bar); ContentPanel eastPanel = new ContentPanel(); eastPanel.setHeadingText("Company Details"); eastPanel.addStyleName("white-bg"); vbox = new VBoxLayoutContainer(); name.setReadOnly(true); FieldLabel nameLabel = new FieldLabel(name, "Name"); price.setIncrement(1d); price.setMinValue(0d); price.setMaxValue(100d); price.setAllowBlank(false); price.getPropertyEditor().setFormat(NumberFormat.getFormat("0.00")); price.addValueChangeHandler(new ValueChangeHandler<Double>() { @Override public void onValueChange(ValueChangeEvent<Double> event) { if (currentData != null) { Double value = event.getValue(); if (value != null) { int storeIndex = store.indexOf(currentData); currentData.setData1(value); store.update(currentData); bar.drawSeries(); bar.highlight(storeIndex); updateRadarStore(storeIndex); radarChart.redrawChart(); } } } }); FieldLabel priceLabel = new FieldLabel(price, "Price $"); revenue.setIncrement(1d); revenue.setMinValue(0d); revenue.setMaxValue(100d); revenue.setAllowBlank(false); revenue.getPropertyEditor().setFormat(NumberFormat.getFormat("0.00")); revenue.addValueChangeHandler(new ValueChangeHandler<Double>() { @Override public void onValueChange(ValueChangeEvent<Double> event) { if (currentData != null) { Double value = event.getValue(); if (value != null) { int storeIndex = store.indexOf(currentData); currentData.setData2(value); store.update(currentData); updateRadarStore(storeIndex); radarChart.redrawChart(); } } } }); FieldLabel revenueLabel = new FieldLabel(revenue, "Revenue %"); growth.setIncrement(1d); growth.setMinValue(0d); growth.setMaxValue(100d); growth.setAllowBlank(false); growth.getPropertyEditor().setFormat(NumberFormat.getFormat("0.00")); growth.addValueChangeHandler(new ValueChangeHandler<Double>() { @Override public void onValueChange(ValueChangeEvent<Double> event) { if (currentData != null) { Double value = event.getValue(); if (value != null) { int storeIndex = store.indexOf(currentData); currentData.setData3(value); store.update(currentData); updateRadarStore(storeIndex); radarChart.redrawChart(); } } } }); FieldLabel growthLabel = new FieldLabel(growth, "Growth %"); product.setIncrement(1d); product.setMinValue(0d); product.setMaxValue(100d); product.setAllowBlank(false); product.getPropertyEditor().setFormat(NumberFormat.getFormat("0.00")); product.addValueChangeHandler(new ValueChangeHandler<Double>() { @Override public void onValueChange(ValueChangeEvent<Double> event) { if (currentData != null) { Double value = event.getValue(); if (value != null) { int storeIndex = store.indexOf(currentData); currentData.setData4(value); store.update(currentData); updateRadarStore(storeIndex); radarChart.redrawChart(); } } } }); FieldLabel productLabel = new FieldLabel(product, "Product %"); market.setIncrement(1d); market.setMinValue(0d); market.setMaxValue(100d); market.setAllowBlank(false); market.getPropertyEditor().setFormat(NumberFormat.getFormat("0.00")); market.addValueChangeHandler(new ValueChangeHandler<Double>() { @Override public void onValueChange(ValueChangeEvent<Double> event) { if (currentData != null) { Double value = event.getValue(); if (value != null) { int storeIndex = store.indexOf(currentData); currentData.setData5(event.getValue()); store.update(currentData); updateRadarStore(storeIndex); radarChart.redrawChart(); } } } }); FieldLabel marketLabel = new FieldLabel(market, "Market %"); radarChart = createRadar(); vbox.setVBoxLayoutAlign(VBoxLayoutAlign.CENTER); vbox.add(nameLabel); vbox.add(priceLabel); vbox.add(revenueLabel); vbox.add(growthLabel); vbox.add(productLabel); vbox.add(marketLabel); vbox.add(radarChart); eastPanel.add(vbox, new VerticalLayoutData(1, 1, new Margins(20, 0, 0, 0))); ContentPanel centerPanel = new ContentPanel(); centerPanel.setHeadingText("Company Data"); List<ColumnConfig<Data, ?>> columns = new ArrayList<ColumnConfig<Data, ?>>(); columns.add(new ColumnConfig<Data, String>(dataAccess.name(), 120, "Name")); ColumnConfig<Data, Double> priceColumnConfig = new ColumnConfig<Data, Double>(dataAccess.data1(), 75, "Price $"); priceColumnConfig.setCell(new NumberCell<Double>(NumberFormat.getFormat("0.00"))); columns.add(priceColumnConfig); ColumnConfig<Data, Double> revenueColumnConfig = new ColumnConfig<Data, Double>(dataAccess.data2(), 75, "Revenue %"); revenueColumnConfig.setCell(new NumberCell<Double>(NumberFormat.getFormat("0.00"))); columns.add(revenueColumnConfig); ColumnConfig<Data, Double> growthColumnConfig = new ColumnConfig<Data, Double>(dataAccess.data3(), 75, "Growth %"); growthColumnConfig.setCell(new NumberCell<Double>(NumberFormat.getFormat("0.00"))); columns.add(growthColumnConfig); ColumnConfig<Data, Double> productColumnConfig = new ColumnConfig<Data, Double>(dataAccess.data4(), 75, "Product %"); productColumnConfig.setCell(new NumberCell<Double>(NumberFormat.getFormat("0.00"))); columns.add(productColumnConfig); ColumnConfig<Data, Double> marketColumnConfig = new ColumnConfig<Data, Double>(dataAccess.data5(), 75, "Market %"); marketColumnConfig.setCell(new NumberCell<Double>(NumberFormat.getFormat("0.00"))); columns.add(marketColumnConfig); grid = new Grid<Data>(store, new ColumnModel<Data>(columns)); grid.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); grid.getSelectionModel().addBeforeSelectionHandler(new BeforeSelectionHandler<Data>() { @Override public void onBeforeSelection(BeforeSelectionEvent<Data> event) { price.finishEditing(); revenue.finishEditing(); growth.finishEditing(); product.finishEditing(); market.finishEditing(); } }); grid.getSelectionModel().addSelectionChangedHandler(new SelectionChangedHandler<Data>() { @Override public void onSelectionChanged(SelectionChangedEvent<Data> event) { if (event.getSelection().size() > 0) { int index = store.indexOf(event.getSelection().get(0)); if (currentData != null) { bar.unHighlight(store.indexOf(currentData)); currentData = null; } if (index >= 0) { bar.highlight(index); currentData = event.getSelection().get(0); // update radar chart updateRadarStore(index); radarChart.redrawChart(); } } } }); grid.addSortChangeHandler(new SortChangeHandler() { @Override public void onSortChange(SortChangeEvent event) { barChart.redrawChart(); } }); centerPanel.add(grid); StringFilter<Data> nameFilter = new StringFilter<Data>(dataAccess.name()); FormattedNumericFilter data1Filter = new FormattedNumericFilter(dataAccess.data1(), new DoublePropertyEditor(), "0.00"); FormattedNumericFilter data2Filter = new FormattedNumericFilter(dataAccess.data2(), new DoublePropertyEditor(), "0.00"); FormattedNumericFilter data3Filter = new FormattedNumericFilter(dataAccess.data3(), new DoublePropertyEditor(), "0.00"); FormattedNumericFilter data4Filter = new FormattedNumericFilter(dataAccess.data4(), new DoublePropertyEditor(), "0.00"); FormattedNumericFilter data5Filter = new FormattedNumericFilter(dataAccess.data5(), new DoublePropertyEditor(), "0.00"); GridFilters<Data> filters = new GridFilters<Data>(); filters.initPlugin(grid); filters.setLocal(true); filters.addFilter(nameFilter); filters.addFilter(data1Filter); filters.addFilter(data2Filter); filters.addFilter(data3Filter); filters.addFilter(data4Filter); filters.addFilter(data5Filter); store.addStoreFilterHandler(new StoreFilterHandler<Data>() { @Override public void onFilter(StoreFilterEvent<Data> event) { barChart.redrawChart(); currentData = store.get(0); updateRadarStore(0); radarChart.redrawChart(); } }); BorderLayoutContainer container = new BorderLayoutContainer(); BorderLayoutData centerLayoutData = new BorderLayoutData(); centerLayoutData.setMargins(new Margins(5, 5, 0, 0)); container.setCenterWidget(centerPanel, centerLayoutData); SimpleContainer barChartContainer = new SimpleContainer(); barChartContainer.add(barChart); barChartContainer.setBorders(true); container.setNorthWidget(barChartContainer, new BorderLayoutData(200)); BorderLayoutData eastLayoutData = new BorderLayoutData(330); eastLayoutData.setMargins(new Margins(5, 0, 0, 0)); container.setEastWidget(eastPanel, eastLayoutData); panel = new FramedPanel(); panel.setLayoutData(new BoxLayoutData(new Margins(10))); panel.setHeadingText("Company Data"); panel.setPixelSize(870, 720); panel.add(container); } return panel; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.chart.FilterChartExample.java
License:sencha.com license
public Widget asWidget() { store.addAll(TestData.getData(50, 0, 100)); store.setEnableFilters(true);/* w ww. j a v a 2 s.c o m*/ chart.setStore(store); chart.setShadowChart(true); chart.setAnimated(true); chart.setDefaultInsets(10); NumericAxis<Data> axis = new NumericAxis<Data>(); axis.setPosition(Position.LEFT); axis.addField(dataAccess.data1()); axis.addField(dataAccess.data2()); axis.addField(dataAccess.data3()); chart.addAxis(axis); NumericAxis<Data> axis2 = new NumericAxis<Data>(); axis2.setPosition(Position.BOTTOM); axis2.addField(dataAccess.data4()); axis2.addField(dataAccess.data5()); axis2.addField(dataAccess.data6()); chart.addAxis(axis2); final ScatterSeries<Data> series = new ScatterSeries<Data>(); series.setYAxisPosition(Position.LEFT); series.setYField(dataAccess.data1()); series.setXAxisPosition(Position.BOTTOM); series.setXField(dataAccess.data4()); Sprite marker = Primitives.cross(0, 0, 8); marker.setFill(RGB.GREEN); series.setMarkerConfig(marker); series.setHighlighting(true); chart.addSeries(series); final ScatterSeries<Data> series2 = new ScatterSeries<Data>(); series2.setYAxisPosition(Position.LEFT); series2.setYField(dataAccess.data2()); series2.setXAxisPosition(Position.BOTTOM); series2.setXField(dataAccess.data5()); marker = Primitives.circle(0, 0, 8); marker.setFill(RGB.RED); series2.setMarkerConfig(marker); series2.setHighlighting(true); chart.addSeries(series2); final ScatterSeries<Data> series3 = new ScatterSeries<Data>(); series3.setYAxisPosition(Position.LEFT); series3.setYField(dataAccess.data3()); series3.setXAxisPosition(Position.BOTTOM); series3.setXField(dataAccess.data6()); marker = Primitives.plus(0, 0, 8); marker.setFill(RGB.BLUE); series3.setMarkerConfig(marker); series3.setHighlighting(true); chart.addSeries(series3); TextButton regenerate = new TextButton("Reload Data"); regenerate.addSelectHandler(new SelectHandler() { @Override public void onSelect(SelectEvent event) { store.clear(); store.addAll(TestData.getData(50, 0, 100)); chart.redrawChart(); } }); final StoreFilter<Data> storeFilter = new StoreFilter<Data>() { @Override public boolean select(Store<Data> store, Data parent, Data item) { Double yMin = yMinField.getValue(); if (yMin == null) { // if field value is not valid use not a number yMin = Double.NaN; } Double yMax = yMaxField.getValue(); if (yMax == null) { yMax = Double.NaN; } double data1 = dataAccess.data1().getValue(item); if (data1 < yMin || data1 > yMax) { return false; } double data2 = dataAccess.data2().getValue(item); if (data2 < yMin || data2 > yMax) { return false; } double data3 = dataAccess.data3().getValue(item); if (data3 < yMin || data3 > yMax) { return false; } Double xMin = xMinField.getValue(); if (xMin == null) { xMin = Double.NaN; } Double xMax = xMaxField.getValue(); if (xMax == null) { xMax = Double.NaN; } double data4 = dataAccess.data4().getValue(item); if (data4 < xMin || data4 > xMax) { return false; } double data5 = dataAccess.data5().getValue(item); if (data5 < xMin || data5 > xMax) { return false; } double data6 = dataAccess.data6().getValue(item); if (data6 < xMin || data6 > xMax) { return false; } return true; } }; ValueChangeHandler<Double> valueChangeHandler = new ValueChangeHandler<Double>() { @Override public void onValueChange(ValueChangeEvent<Double> event) { store.getFilters().clear(); store.addFilter(storeFilter); chart.redrawChart(); } }; yMinField.setIncrement(1d); yMinField.setMinValue(0d); yMinField.setMaxValue(100d); yMinField.setValue(0d); yMinField.setAllowBlank(false); yMinField.getPropertyEditor().setFormat(NumberFormat.getFormat("0.00")); yMinField.addValueChangeHandler(valueChangeHandler); yMinField.setWidth(70); yMaxField.setIncrement(1d); yMaxField.setMinValue(0d); yMaxField.setMaxValue(100d); yMaxField.setValue(100d); yMaxField.setAllowBlank(false); yMaxField.getPropertyEditor().setFormat(NumberFormat.getFormat("0.00")); yMaxField.addValueChangeHandler(valueChangeHandler); yMaxField.setWidth(70); xMinField.setIncrement(1d); xMinField.setMinValue(0d); xMinField.setMaxValue(100d); xMinField.setValue(0d); xMinField.setAllowBlank(false); xMinField.getPropertyEditor().setFormat(NumberFormat.getFormat("0.00")); xMinField.addValueChangeHandler(valueChangeHandler); xMinField.setWidth(70); xMaxField.setIncrement(1d); xMaxField.setMinValue(0d); xMaxField.setMaxValue(100d); xMaxField.setValue(100d); xMaxField.setAllowBlank(false); xMaxField.getPropertyEditor().setFormat(NumberFormat.getFormat("0.00")); xMaxField.addValueChangeHandler(valueChangeHandler); xMaxField.setWidth(70); store.addFilter(storeFilter); ContentPanel panel = new FramedPanel(); panel.getElement().getStyle().setMargin(10, Unit.PX); panel.setCollapsible(true); panel.setHeadingText("Filter Chart"); panel.setPixelSize(620, 500); panel.setBodyBorder(true); final Resizable resize = new Resizable(panel, Dir.E, Dir.SE, Dir.S); resize.setMinHeight(400); resize.setMinWidth(560); panel.addExpandHandler(new ExpandHandler() { @Override public void onExpand(ExpandEvent event) { resize.setEnabled(true); } }); panel.addCollapseHandler(new CollapseHandler() { @Override public void onCollapse(CollapseEvent event) { resize.setEnabled(false); } }); new Draggable(panel, panel.getHeader()).setUseProxy(false); ToolBar toolBar = new ToolBar(); toolBar.setEnableOverflow(false); toolBar.setHorizontalSpacing(5); toolBar.add(createLabel(yMinField, "Y Min")); toolBar.add(yMinField); toolBar.add(createLabel(yMaxField, "Y Max")); toolBar.add(yMaxField); toolBar.add(createLabel(xMinField, "X Min")); toolBar.add(xMinField); toolBar.add(createLabel(xMaxField, "X Max")); toolBar.add(xMaxField); toolBar.add(regenerate); VerticalLayoutContainer layout = new VerticalLayoutContainer(); panel.add(layout); toolBar.setLayoutData(new VerticalLayoutData(1, -1)); layout.add(toolBar); chart.setLayoutData(new VerticalLayoutData(1, 1)); layout.add(chart); return panel; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.forms.FormsExample.java
License:sencha.com license
private void createForm1() { FramedPanel panel = new FramedPanel(); panel.setHeadingText("Simple Form"); panel.setWidth(350);/* ww w .j a v a2 s . co m*/ panel.setBodyStyle("background: none; padding: 5px"); VerticalLayoutContainer p = new VerticalLayoutContainer(); panel.add(p); TextField firstName = new TextField(); firstName.setAllowBlank(false); firstName.setEmptyText("Enter your name..."); firstName.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { Info.display("Value Changed", "First name changed to " + event.getValue() == null ? "blank" : event.getValue()); } }); p.add(new FieldLabel(firstName, "Name"), new VerticalLayoutData(1, -1)); TextField email = new TextField(); email.setAllowBlank(false); p.add(new FieldLabel(email, "Email"), new VerticalLayoutData(1, -1)); PasswordField password = new PasswordField(); p.add(new FieldLabel(password, "Password"), new VerticalLayoutData(1, -1)); NumberField<Integer> age = new NumberField<Integer>(new IntegerPropertyEditor()); age.addParseErrorHandler(new ParseErrorHandler() { @Override public void onParseError(ParseErrorEvent event) { Info.display("Parse Error", event.getErrorValue() + " could not be parsed as a number"); } }); age.setAllowBlank(false); p.add(new FieldLabel(age, "Age"), new VerticalLayoutData(1, -1)); StockProperties props = GWT.create(StockProperties.class); ListStore<Stock> store = new ListStore<Stock>(props.key()); store.addAll(TestData.getStocks()); ComboBox<Stock> combo = new ComboBox<Stock>(store, props.nameLabel()); combo.addValueChangeHandler(new ValueChangeHandler<Stock>() { @Override public void onValueChange(ValueChangeEvent<Stock> event) { Info.display("Selected", "You selected " + event.getValue()); } }); combo.setAllowBlank(true); combo.setForceSelection(true); combo.setTriggerAction(TriggerAction.ALL); p.add(new FieldLabel(combo, "Company"), new VerticalLayoutData(1, -1)); DateField date = new DateField(); date.addParseErrorHandler(new ParseErrorHandler() { @Override public void onParseError(ParseErrorEvent event) { Info.display("Parse Error", event.getErrorValue() + " could not be parsed as a date"); } }); date.addValueChangeHandler(new ValueChangeHandler<Date>() { @Override public void onValueChange(ValueChangeEvent<Date> event) { String v = event.getValue() == null ? "nothing" : DateTimeFormat.getFormat(PredefinedFormat.DATE_MEDIUM).format(event.getValue()); Info.display("Selected", "You selected " + v); } }); date.addValidator(new MinDateValidator(new Date())); p.add(new FieldLabel(date, "Birthday"), new VerticalLayoutData(1, -1)); TimeField time = new TimeField(); time.addParseErrorHandler(new ParseErrorHandler() { @Override public void onParseError(ParseErrorEvent event) { Info.display("Parse Error", event.getErrorValue() + " could not be parsed as a valid time"); } }); time.setMinValue(new DateWrapper().clearTime().addHours(8).asDate()); time.setMaxValue(new DateWrapper().clearTime().addHours(18).addSeconds(1).asDate()); p.add(new FieldLabel(time, "Time"), new VerticalLayoutData(1, -1)); Slider slider = new Slider(); slider.setMinValue(40); slider.setMaxValue(90); slider.setValue(0); slider.setIncrement(5); slider.setMessage("{0} inches tall"); p.add(new FieldLabel(slider, "Size"), new VerticalLayoutData(1, -1)); ValueChangeHandler<Boolean> musicHandler = new ValueChangeHandler<Boolean>() { @Override public void onValueChange(ValueChangeEvent<Boolean> event) { CheckBox check = (CheckBox) event.getSource(); Info.display("Music Changed", check.getBoxLabel() + " " + (event.getValue() ? "selected" : "not selected")); } }; CheckBox check1 = new CheckBox(); check1.setEnabled(false); check1.setBoxLabel("Classical"); check1.addValueChangeHandler(musicHandler); CheckBox check2 = new CheckBox(); check2.setBoxLabel("Rock"); check2.addValueChangeHandler(musicHandler); check2.setValue(true); CheckBox check3 = new CheckBox(); check3.setBoxLabel("Blues"); check3.addValueChangeHandler(musicHandler); HorizontalPanel hp = new HorizontalPanel(); hp.add(check1); hp.add(check2); hp.add(check3); p.add(new FieldLabel(hp, "Music")); Radio radio = new Radio(); radio.setBoxLabel("Red"); Radio radio2 = new Radio(); radio2.setBoxLabel("Blue"); radio2.setValue(true); hp = new HorizontalPanel(); hp.add(radio); hp.add(radio2); p.add(new FieldLabel(hp, "Color")); // we can set name on radios or use toggle group ToggleGroup toggle = new ToggleGroup(); toggle.add(radio); toggle.add(radio2); toggle.addValueChangeHandler(new ValueChangeHandler<HasValue<Boolean>>() { @Override public void onValueChange(ValueChangeEvent<HasValue<Boolean>> event) { ToggleGroup group = (ToggleGroup) event.getSource(); Radio radio = (Radio) group.getValue(); Info.display("Color Changed", "You selected " + radio.getBoxLabel()); } }); TextArea description = new TextArea(); description.setAllowBlank(false); description.addValidator(new MinLengthValidator(10)); p.add(new FieldLabel(description, "Description"), new VerticalLayoutData(1, 100)); final SpinnerField<Double> spinnerField = new SpinnerField<Double>(new DoublePropertyEditor()); spinnerField.setIncrement(.1d); spinnerField.setMinValue(-10d); spinnerField.setMaxValue(10d); spinnerField.setAllowNegative(true); spinnerField.setAllowBlank(false); spinnerField.getPropertyEditor().setFormat(NumberFormat.getFormat("0.0")); spinnerField.addValueChangeHandler(new ValueChangeHandler<Double>() { @Override public void onValueChange(ValueChangeEvent<Double> event) { Info.display("Duration Changed", "Duration changed to " + event.getValue() == null ? "nothing" : event.getValue() + ""); } }); spinnerField.addSelectionHandler(new SelectionHandler<Double>() { @Override public void onSelection(SelectionEvent<Double> event) { String msg = "nothing"; if (event.getSelectedItem() != null) { msg = spinnerField.getPropertyEditor().render(event.getSelectedItem()); } Info.display("Spin Change", "Current value changed to " + msg); } }); FieldLabel spinLabel = new FieldLabel(spinnerField, "Duration(s)"); p.add(spinLabel, new VerticalLayoutData(1, -1)); panel.addButton(new TextButton("Save")); panel.addButton(new TextButton("Cancel")); vp.add(panel); }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.forms.FormsUiBinderExample.java
License:sencha.com license
public Widget asWidget() { if (vp == null) { store.addAll(TestData.getStocks()); spinnerField = new SpinnerField<Double>(new DoublePropertyEditor()); age = new NumberField<Integer>(new NumberPropertyEditor.IntegerPropertyEditor()); vp = uiBinder.createAndBindUi(this); date.addValidator(new MinDateValidator(new Date())); description.addValidator(new MinLengthValidator(10)); spinnerField.setIncrement(.1d);// w w w .j a v a 2 s .c o m spinnerField.setMinValue(-10d); spinnerField.setMaxValue(10d); spinnerField.getPropertyEditor().setFormat(NumberFormat.getFormat("00.0")); // we can set name on radios or use toggle group ToggleGroup toggle = new ToggleGroup(); toggle.add(radio); toggle.add(radio2); } return vp; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.AggregationGridExample.java
License:sencha.com license
@Override public Widget asWidget() { StockProperties props = GWT.create(StockProperties.class); final NumberFormat numberFormat = NumberFormat.getFormat("0.00"); final NumberFormat currency = NumberFormat.getCurrencyFormat(); List<ColumnConfig<Stock, ?>> configs = new ArrayList<ColumnConfig<Stock, ?>>(); ColumnConfig<Stock, String> nameColumn = new ColumnConfig<Stock, String>(props.name(), 200, "Company"); configs.add(nameColumn);/* www.j a va 2s. c o m*/ ColumnConfig<Stock, String> symbolColumn = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol"); configs.add(symbolColumn); ColumnConfig<Stock, Double> lastColumn = new ColumnConfig<Stock, Double>(props.last(), 100, "Last"); lastColumn.setCell(new PropertyDisplayCell<Double>(new DoublePropertyEditor(currency))); configs.add(lastColumn); ColumnConfig<Stock, Double> changeColumn = new ColumnConfig<Stock, Double>(props.change(), 100, "Change"); changeColumn.setCell(new PropertyDisplayCell<Double>(new DoublePropertyEditor(numberFormat)) { @Override public void render(com.google.gwt.cell.client.Cell.Context context, Double value, SafeHtmlBuilder sb) { String style = value < 0 ? "red" : "green"; sb.appendHtmlConstant("<span style='color:" + style + "'>"); super.render(context, value, sb); sb.appendHtmlConstant("</span>"); } }); configs.add(changeColumn); ColumnConfig<Stock, Date> dateColumn = new ColumnConfig<Stock, Date>(props.lastTrans(), 100, "Date"); dateColumn.setCell(new DateCell(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT))); configs.add(dateColumn); final ListStore<Stock> store = new ListStore<Stock>(props.key()); store.addAll(TestData.getStocks()); ColumnModel<Stock> cm = new ColumnModel<Stock>(configs); cm.addHeaderGroup(0, 0, new HeaderGroupConfig("Stock Information", 1, 2)); cm.addHeaderGroup(0, 2, new HeaderGroupConfig("Stock Performance", 1, 2)); AggregationRowConfig<Stock> averages = new AggregationRowConfig<Stock>(); averages.setRenderer(nameColumn, new AggregationSafeHtmlRenderer<Stock>("Average")); averages.setRenderer(lastColumn, new AggregationNumberSummaryRenderer<Stock, Number>(currency, new AvgSummaryType<Number>())); averages.setRenderer(changeColumn, new AggregationNumberSummaryRenderer<Stock, Number>(numberFormat, new AvgSummaryType<Number>())); cm.addAggregationRow(averages); AggregationRowConfig<Stock> max = new AggregationRowConfig<Stock>(); max.setRenderer(nameColumn, new AggregationSafeHtmlRenderer<Stock>("Maximum")); max.setRenderer(lastColumn, new AggregationNumberSummaryRenderer<Stock, Number>(currency, new MaxSummaryType<Number>())); max.setRenderer(changeColumn, new AggregationNumberSummaryRenderer<Stock, Number>(numberFormat, new MaxSummaryType<Number>())); cm.addAggregationRow(max); AggregationRowConfig<Stock> min = new AggregationRowConfig<Stock>(); min.setRenderer(nameColumn, new AggregationSafeHtmlRenderer<Stock>("Minimum")); min.setRenderer(lastColumn, new AggregationNumberSummaryRenderer<Stock, Number>(currency, new MinSummaryType<Number>())); min.setRenderer(changeColumn, new AggregationNumberSummaryRenderer<Stock, Number>(numberFormat, new MinSummaryType<Number>())); cm.addAggregationRow(min); FramedPanel cp = new FramedPanel(); cp.setCollapsible(true); cp.setAnimCollapse(false); cp.setHeadingText("Aggregation Rows"); cp.setPixelSize(600, 350); cp.addStyleName("margin-10"); Grid<Stock> grid = new Grid<Stock>(store, cm); grid.setBorders(true); grid.getView().setAutoExpandColumn(nameColumn); cp.add(grid); return cp; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.CheckBoxGridExample.java
License:sencha.com license
@Override public Widget asWidget() { final NumberFormat number = NumberFormat.getFormat("0.00"); IdentityValueProvider<Stock> identity = new IdentityValueProvider<Stock>(); final CheckBoxSelectionModel<Stock> sm = new CheckBoxSelectionModel<Stock>(identity); ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 200, "Company"); ColumnConfig<Stock, String> symbolCol = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol"); ColumnConfig<Stock, Double> lastCol = new ColumnConfig<Stock, Double>(props.last(), 75, "Last"); ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change"); changeCol.setCell(new AbstractCell<Double>() { @Override/*from w w w . j a va 2 s .c o m*/ public void render(Context context, Double value, SafeHtmlBuilder sb) { String style = "style='color: " + (value < 0 ? "red" : "green") + "'"; String v = number.format(value); sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>"); } }); ColumnConfig<Stock, Date> lastTransCol = new ColumnConfig<Stock, Date>(props.lastTrans(), 100, "Last Updated"); lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy"))); List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>(); l.add(sm.getColumn()); l.add(nameCol); l.add(symbolCol); l.add(lastCol); l.add(changeCol); l.add(lastTransCol); ColumnModel<Stock> cm = new ColumnModel<Stock>(l); ListStore<Stock> store = new ListStore<Stock>(props.key()); store.addAll(TestData.getStocks()); ContentPanel cp = new ContentPanel(); cp.setHeadingText("CheckBox Grid"); cp.getHeader().setIcon(ExampleImages.INSTANCE.table()); cp.setPixelSize(600, 320); cp.addStyleName("margin-10"); final Grid<Stock> grid = new Grid<Stock>(store, cm); grid.setSelectionModel(sm); grid.getView().setAutoExpandColumn(nameCol); grid.setBorders(false); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); ToolBar toolBar = new ToolBar(); toolBar.add(new LabelToolItem("Selection Mode: ")); SimpleComboBox<String> type = new SimpleComboBox<String>(new StringLabelProvider<String>()); type.setTriggerAction(TriggerAction.ALL); type.setEditable(false); type.setWidth(100); type.add("Multi"); type.add("Simple"); type.setValue("Multi"); type.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { boolean simple = event.getValue().equals("Simple"); sm.deselectAll(); sm.setSelectionMode(simple ? SelectionMode.SIMPLE : SelectionMode.MULTI); } }); toolBar.add(type); VerticalLayoutContainer con = new VerticalLayoutContainer(); cp.setWidget(con); con.add(toolBar, new VerticalLayoutData(1, -1)); con.add(grid, new VerticalLayoutData(1, 1)); return cp; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.FilterGridExample.java
License:sencha.com license
@Override public Widget asWidget() { final NumberFormat number = NumberFormat.getFormat("0.00"); ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 200, "Company"); ColumnConfig<Stock, String> symbolCol = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol"); ColumnConfig<Stock, Double> lastCol = new ColumnConfig<Stock, Double>(props.last(), 75, "Last"); ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change"); changeCol.setCell(new AbstractCell<Double>() { @Override/*from w w w .java 2s .c om*/ public void render(Context context, Double value, SafeHtmlBuilder sb) { String style = "style='color: " + (value < 0 ? "red" : "green") + "'"; String v = number.format(value); sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>"); } }); ColumnConfig<Stock, Date> lastTransCol = new ColumnConfig<Stock, Date>(props.lastTrans(), 100, "Last Updated"); lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy"))); ColumnConfig<Stock, Boolean> splitCol = new ColumnConfig<Stock, Boolean>(props.split(), 75, "Split"); splitCol.setCell(new AbstractCell<Boolean>() { @Override public void render(Context context, Boolean value, SafeHtmlBuilder sb) { sb.appendHtmlConstant(value ? "Yes" : "No"); } }); ColumnConfig<Stock, String> typeCol = new ColumnConfig<Stock, String>(props.industry(), 75, "Type"); List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>(); l.add(nameCol); l.add(symbolCol); l.add(lastCol); l.add(changeCol); l.add(lastTransCol); l.add(splitCol); l.add(typeCol); ColumnModel<Stock> cm = new ColumnModel<Stock>(l); ListStore<Stock> store = new ListStore<Stock>(props.key()); store.addAll(TestData.getStocks()); ContentPanel cp = new ContentPanel(); cp.setHeadingText("Filter Grid"); cp.getHeader().setIcon(ExampleImages.INSTANCE.table()); cp.setPixelSize(700, 300); cp.addStyleName("margin-10"); final Grid<Stock> grid = new Grid<Stock>(store, cm); grid.getView().setAutoExpandColumn(nameCol); grid.setBorders(false); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); ListStore<String> typeStore = new ListStore<String>(new ModelKeyProvider<String>() { @Override public String getKey(String item) { return item; } }); typeStore.add("Auto"); typeStore.add("Media"); typeStore.add("Medical"); typeStore.add("Tech"); NumericFilter<Stock, Double> lastFilter = new NumericFilter<Stock, Double>(props.last(), new DoublePropertyEditor()); StringFilter<Stock> nameFilter = new StringFilter<Stock>(props.name()); DateFilter<Stock> dateFilter = new DateFilter<Stock>(props.lastTrans()); BooleanFilter<Stock> booleanFilter = new BooleanFilter<Stock>(props.split()); ListFilter<Stock, String> listFilter = new ListFilter<Stock, String>(props.industry(), typeStore); GridFilters<Stock> filters = new GridFilters<Stock>(); filters.initPlugin(grid); filters.setLocal(true); filters.addFilter(lastFilter); filters.addFilter(nameFilter); filters.addFilter(dateFilter); filters.addFilter(booleanFilter); filters.addFilter(listFilter); cp.setWidget(grid); return cp; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.GridUiBinderExample.java
License:sencha.com license
@Override public Widget asWidget() { final NumberFormat number = NumberFormat.getFormat("0.00"); ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 50, "Company"); ColumnConfig<Stock, String> symbolCol = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol"); ColumnConfig<Stock, Double> lastCol = new ColumnConfig<Stock, Double>(props.last(), 75, "Last"); ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change"); changeCol.setCell(new AbstractCell<Double>() { @Override/* w ww . ja va 2 s . co m*/ public void render(Context context, Double value, SafeHtmlBuilder sb) { String style = "style='color: " + (value < 0 ? "red" : "green") + "'"; String v = number.format(value); sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>"); } }); ColumnConfig<Stock, Date> lastTransCol = new ColumnConfig<Stock, Date>(props.lastTrans(), 100, "Last Updated"); lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy"))); List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>(); l.add(nameCol); l.add(symbolCol); l.add(lastCol); l.add(changeCol); l.add(lastTransCol); cm = new ColumnModel<Stock>(l); store = new ListStore<Stock>(props.key()); store.addAll(TestData.getStocks()); Widget component = uiBinder.createAndBindUi(this); view.setAutoExpandColumn(nameCol); return component; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.RemoteFilterGridExample.java
License:sencha.com license
@Override public Widget asWidget() { if (root == null) { final ExampleServiceAsync service = GWT.create(ExampleService.class); ListStore<Stock> store = new ListStore<Stock>(props.key()); RpcProxy<FilterPagingLoadConfig, PagingLoadResult<Stock>> proxy = new RpcProxy<FilterPagingLoadConfig, PagingLoadResult<Stock>>() { @Override/*from www.j av a 2 s . co m*/ public void load(FilterPagingLoadConfig loadConfig, AsyncCallback<PagingLoadResult<Stock>> callback) { service.getStocks(loadConfig, callback); } }; final PagingLoader<FilterPagingLoadConfig, PagingLoadResult<Stock>> remoteLoader = new PagingLoader<FilterPagingLoadConfig, PagingLoadResult<Stock>>( proxy) { @Override protected FilterPagingLoadConfig newLoadConfig() { return new FilterPagingLoadConfigBean(); } }; remoteLoader.setRemoteSort(true); remoteLoader.addLoadHandler( new LoadResultListStoreBinding<FilterPagingLoadConfig, Stock, PagingLoadResult<Stock>>(store)); final NumberFormat number = NumberFormat.getFormat("0.00"); ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 200, "Company"); ColumnConfig<Stock, String> symbolCol = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol"); ColumnConfig<Stock, Double> lastCol = new ColumnConfig<Stock, Double>(props.last(), 75, "Last"); ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change"); changeCol.setCell(new AbstractCell<Double>() { @Override public void render(Context context, Double value, SafeHtmlBuilder sb) { String style = "style='color: " + (value < 0 ? "red" : "green") + "'"; String v = number.format(value); sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>"); } }); ColumnConfig<Stock, Date> lastTransCol = new ColumnConfig<Stock, Date>(props.lastTrans(), 100, "Last Updated"); lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy"))); ColumnConfig<Stock, Boolean> splitCol = new ColumnConfig<Stock, Boolean>(props.split(), 75, "Split"); splitCol.setCell(new AbstractCell<Boolean>() { @Override public void render(Context context, Boolean value, SafeHtmlBuilder sb) { sb.appendHtmlConstant(value ? "Yes" : "No"); } }); ColumnConfig<Stock, String> typeCol = new ColumnConfig<Stock, String>(props.industry(), 75, "Type"); List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>(); l.add(nameCol); l.add(symbolCol); l.add(lastCol); l.add(changeCol); l.add(lastTransCol); l.add(splitCol); l.add(typeCol); ColumnModel<Stock> cm = new ColumnModel<Stock>(l); root = new ContentPanel(); root.setHeadingText("Remote Filter Grid"); root.getHeader().setIcon(ExampleImages.INSTANCE.table()); root.setPixelSize(700, 300); root.addStyleName("margin-10"); new Resizable(root); final Grid<Stock> grid = new Grid<Stock>(store, cm) { @Override protected void onAfterFirstAttach() { super.onAfterFirstAttach(); Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override public void execute() { remoteLoader.load(); } }); } }; grid.setLoader(remoteLoader); grid.getView().setAutoExpandColumn(nameCol); grid.setBorders(false); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); ListStore<String> typeStore = new ListStore<String>(new ModelKeyProvider<String>() { @Override public String getKey(String item) { return item; } }); typeStore.add("Auto"); typeStore.add("Media"); typeStore.add("Medical"); typeStore.add("Tech"); NumericFilter<Stock, Double> lastFilter = new NumericFilter<Stock, Double>(props.last(), new DoublePropertyEditor()); StringFilter<Stock> nameFilter = new StringFilter<Stock>(props.name()); DateFilter<Stock> dateFilter = new DateFilter<Stock>(props.lastTrans()); BooleanFilter<Stock> booleanFilter = new BooleanFilter<Stock>(props.split()); ListFilter<Stock, String> listFilter = new ListFilter<Stock, String>(props.industry(), typeStore); GridFilters<Stock> filters = new GridFilters<Stock>(remoteLoader); filters.initPlugin(grid); filters.addFilter(lastFilter); filters.addFilter(nameFilter); filters.addFilter(dateFilter); filters.addFilter(booleanFilter); filters.addFilter(listFilter); VerticalLayoutContainer con = new VerticalLayoutContainer(); final PagingToolBar toolBar = new PagingToolBar(25); toolBar.bind(remoteLoader); con.add(grid, new VerticalLayoutData(1, 1)); con.add(toolBar, new VerticalLayoutData(1, -1)); root.setWidget(con); } return root; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.RowExpanderGridExample.java
License:sencha.com license
@Override public Widget asWidget() { final NumberFormat number = NumberFormat.getFormat("0.00"); IdentityValueProvider<Stock> identity = new IdentityValueProvider<Stock>(); final String desc = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna.<br/><br/>Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit."; RowExpander<Stock> expander = new RowExpander<Stock>(identity, new AbstractCell<Stock>() { @Override// www .j av a 2s . c o m public void render(Context context, Stock value, SafeHtmlBuilder sb) { sb.appendHtmlConstant("<p style='margin: 5px 5px 10px'><b>Company:</b>" + value.getName() + "</p>"); sb.appendHtmlConstant("<p style='margin: 5px 5px 10px'><b>Summary:</b> " + desc); } }); ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 200, "Company"); ColumnConfig<Stock, String> symbolCol = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol"); ColumnConfig<Stock, Double> lastCol = new ColumnConfig<Stock, Double>(props.last(), 75, "Last"); ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change"); changeCol.setCell(new AbstractCell<Double>() { @Override public void render(Context context, Double value, SafeHtmlBuilder sb) { String style = "style='color: " + (value < 0 ? "red" : "green") + "'"; String v = number.format(value); sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>"); } }); ColumnConfig<Stock, Date> lastTransCol = new ColumnConfig<Stock, Date>(props.lastTrans(), 100, "Last Updated"); lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy"))); List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>(); l.add(expander); l.add(nameCol); l.add(symbolCol); l.add(lastCol); l.add(changeCol); l.add(lastTransCol); ColumnModel<Stock> cm = new ColumnModel<Stock>(l); ListStore<Stock> store = new ListStore<Stock>(props.key()); store.addAll(TestData.getStocks()); ContentPanel cp = new ContentPanel(); cp.setHeadingText("RowExpander Grid"); cp.getHeader().setIcon(ExampleImages.INSTANCE.table()); cp.setPixelSize(600, 320); cp.addStyleName("margin-10"); final Grid<Stock> grid = new Grid<Stock>(store, cm); grid.getView().setAutoExpandColumn(nameCol); grid.setBorders(false); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); expander.initPlugin(grid); cp.setWidget(grid); return cp; }