Example usage for com.google.gwt.i18n.client NumberFormat getCurrencyFormat

List of usage examples for com.google.gwt.i18n.client NumberFormat getCurrencyFormat

Introduction

In this page you can find the example usage for com.google.gwt.i18n.client NumberFormat getCurrencyFormat.

Prototype

public static NumberFormat getCurrencyFormat() 

Source Link

Document

Provides the standard currency format for the default locale.

Usage

From source file:com.npisoft.officine.client.application.referentiel.product.refofficine.edit.AggregationGridExample.java

License:sencha.com license

@Override
public Widget asWidget() {
    if (panel == null) {
        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);//w  ww. jav a  2 s . 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);

        panel = new FramedPanel();
        panel.setHeaderVisible(false);
        panel.setCollapsible(true);
        panel.setBorders(false);
        panel.setAnimCollapse(false);
        panel.setHeadingText("Aggregation Rows");
        panel.setPixelSize(680, 300);
        panel.addStyleName("margin-10");

        grid = new Grid<Stock>(store, cm);
        //grid.setBorders(true);
        grid.getView().setAutoExpandColumn(nameColumn);
        panel.add(grid);
    }

    return panel;
}

From source file:com.xyz.customer.client.mvc.CusMainView.java

License:Open Source License

public CusMainView() {
    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<CusModel>> numberRenderer = new NumberCellRenderer<Grid<CusModel>>(currency);

    msg = (CusMessages) Registry.get(Customer.MESSAGE);

    statusRen = new GridCellRenderer<CusModel>() {
        public String render(CusModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<CusModel> store, Grid<CusModel> grid) {
            String val = (String) model.get(property);
            String sta = ZkbConstants.get().getStatus(val);
            return sta;
        }//ww w. j av  a2s.c o  m
    };

    gridNumber = new GridCellRenderer<CusModel>() {
        public String render(CusModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<CusModel> store, Grid<CusModel> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    panel = new ContentPanel();
    panel.setHeaderVisible(false);
}

From source file:com.xyz.stock.client.view.OnsaleItemView.java

License:Open Source License

public OnsaleItemView() {
    service = (ProductServiceAsync) Registry.get(Stock.PRODSERVICE);
    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<BeanModel>> numberRenderer = new NumberCellRenderer<Grid<BeanModel>>(
            currency);/*from  w  ww  .  ja v  a 2 s. com*/
    msg = (StockMessages) Registry.get(Stock.MESSAGE);

    statusRen = new GridCellRenderer<BeanModel>() {
        public String render(BeanModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<BeanModel> store, Grid<BeanModel> grid) {
            String val = (String) model.get(property);
            String sta = ZkbConstants.get().getStatus(val);
            return sta;
        }
    };

    gridNumber = new GridCellRenderer<BeanModel>() {
        public String render(BeanModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<BeanModel> store, Grid<BeanModel> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    panel = new ContentPanel();
    panel.setHeaderVisible(false);
    panel.setLayout(new RowLayout());
}

From source file:com.xyz.system.client.mvc.UserView.java

License:Open Source License

private void createGrid() {

    // ?//from   w w w. jav a 2  s .  co  m
    RpcProxy<PagingLoadResult<UserModel>> proxy = new RpcProxy<PagingLoadResult<UserModel>>() {
        @Override
        protected void load(Object loadConfig, AsyncCallback<PagingLoadResult<UserModel>> callback) {
            service.getUsers((PagingLoadConfig) loadConfig, callback);
        }
    };
    final BasePagingLoader<PagingLoadResult<UserModel>> loader = new BasePagingLoader<PagingLoadResult<UserModel>>(
            proxy);
    pagingBar = new PagingToolBar(20);
    pagingBar.bind(loader);
    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<UserModel>> numberRenderer = new NumberCellRenderer<Grid<UserModel>>(
            currency);

    GridCellRenderer<UserModel> change = new GridCellRenderer<UserModel>() {

        public String render(UserModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<UserModel> store, Grid<UserModel> grid) {
            double val = (Double) model.get(property);
            String style = val < 0 ? "red" : "green";
            return "<span style='color:" + style + "'>" + number.format(val) + "</span>";
        }
    };

    GridCellRenderer<UserModel> gridNumber = new GridCellRenderer<UserModel>() {
        public String render(UserModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<UserModel> store, Grid<UserModel> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

    ColumnConfig column = new ColumnConfig("username", msg.username(), 100);
    configs.add(column);

    column = new ColumnConfig("realName", msg.realName(), 100);
    configs.add(column);

    column = new ColumnConfig("title", msg.usertitle(), 100);
    configs.add(column);

    column = new ColumnConfig("phoneMobile", msg.phoneMobile(), 100);
    configs.add(column);

    column = new ColumnConfig("messengerId", msg.messengerId(), 90);
    configs.add(column);

    CheckColumnConfig checkColumn = new CheckColumnConfig("deleted", msg.delete(), 55);
    CellEditor checkBoxEditor = new CellEditor(new CheckBox());
    checkColumn.setEditor(checkBoxEditor);
    configs.add(checkColumn);

    store = new ListStore<UserModel>(loader);
    store.setMonitorChanges(true);

    ColumnModel cm = new ColumnModel(configs);

    usergrid = new Grid<UserModel>(store, cm);
    usergrid.getView().setEmptyText(msg.gridEmptyTxt());
    usergrid.addPlugin(checkColumn);
    usergrid.setBorders(false);
    usergrid.setAutoExpandColumn("username");
    usergrid.setBorders(true);
    // ?
    usergrid.addListener(Events.Attach, new Listener<GridEvent<Resource>>() {
        public void handleEvent(GridEvent<Resource> be) {
            PagingLoadConfig config = new BasePagingLoadConfig();
            config.setOffset(0);
            config.setLimit(20);

            Map<String, Object> state = usergrid.getState();
            if (state.containsKey("offset")) {
                int offset = (Integer) state.get("offset");
                int limit = (Integer) state.get("limit");
                config.setOffset(offset);
                config.setLimit(limit);
            }
            if (state.containsKey("sortField")) {
                config.setSortField((String) state.get("sortField"));
                config.setSortDir(SortDir.valueOf((String) state.get("sortDir")));
            }
            loader.load(config);
        }
    });
    usergrid.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
    usergrid.getSelectionModel().addListener(Events.SelectionChange,
            new Listener<SelectionChangedEvent<UserModel>>() {
                public void handleEvent(SelectionChangedEvent<UserModel> be) {
                    if (be.getSelection().size() > 0) {
                        UserModel um = (UserModel) be.getSelection().get(0);

                        formBindings.bind(um);
                        name.setEnabled(false);
                        pwd.setValue("");
                        Set<String> keys = um.getAuthorityKeys();
                        //view.getChecked();
                        view.clearState();
                        if (keys != null) {
                            for (String k : keys) {
                                Authority bm = view.getStore().findModel("key", k);
                                view.setChecked(bm, true);
                            }
                        }
                    } else {
                        formBindings.unbind();
                    }
                }
            });
}

From source file:com.xyz.system.client.view.UserView.java

License:Open Source License

private void createGrid() {

    // ?//  w w w  .j  ava  2s. com
    RpcProxy<PagingLoadResult<User>> proxy = new RpcProxy<PagingLoadResult<User>>() {
        @Override
        protected void load(Object loadConfig, AsyncCallback<PagingLoadResult<User>> callback) {
            service.getUsers((PagingLoadConfig) loadConfig, callback);
        }
    };
    final BasePagingLoader<PagingLoadResult<BeanModel>> loader = new BasePagingLoader<PagingLoadResult<BeanModel>>(
            proxy, new BeanModelReader());
    pagingBar = new PagingToolBar(20);
    pagingBar.bind(loader);
    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<BeanModel>> numberRenderer = new NumberCellRenderer<Grid<BeanModel>>(
            currency);

    GridCellRenderer<BeanModel> change = new GridCellRenderer<BeanModel>() {

        public String render(BeanModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<BeanModel> store, Grid<BeanModel> grid) {
            double val = (Double) model.get(property);
            String style = val < 0 ? "red" : "green";
            return "<span style='color:" + style + "'>" + number.format(val) + "</span>";
        }
    };

    GridCellRenderer<BeanModel> gridNumber = new GridCellRenderer<BeanModel>() {
        public String render(BeanModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<BeanModel> store, Grid<BeanModel> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

    ColumnConfig column = new ColumnConfig("username", msg.username(), 100);
    configs.add(column);

    column = new ColumnConfig("realName", msg.realName(), 100);
    configs.add(column);

    column = new ColumnConfig("title", msg.usertitle(), 100);
    configs.add(column);

    column = new ColumnConfig("phoneMobile", msg.phoneMobile(), 100);
    configs.add(column);

    column = new ColumnConfig("messengerId", msg.messengerId(), 90);
    configs.add(column);

    CheckColumnConfig checkColumn = new CheckColumnConfig("deleted", msg.delete(), 55);
    CellEditor checkBoxEditor = new CellEditor(new CheckBox());
    checkColumn.setEditor(checkBoxEditor);
    configs.add(checkColumn);

    store = new ListStore<BeanModel>(loader);
    store.setMonitorChanges(true);

    ColumnModel cm = new ColumnModel(configs);

    usergrid = new Grid<BeanModel>(store, cm);
    usergrid.getView().setEmptyText(msg.gridEmptyTxt());
    usergrid.addPlugin(checkColumn);
    usergrid.setBorders(false);
    usergrid.setAutoExpandColumn("username");
    usergrid.setBorders(true);
    // ?
    usergrid.addListener(Events.Attach, new Listener<GridEvent<BeanModel>>() {
        public void handleEvent(GridEvent<BeanModel> be) {
            PagingLoadConfig config = new BasePagingLoadConfig();
            config.setOffset(0);
            config.setLimit(20);

            Map<String, Object> state = usergrid.getState();
            if (state.containsKey("offset")) {
                int offset = (Integer) state.get("offset");
                int limit = (Integer) state.get("limit");
                config.setOffset(offset);
                config.setLimit(limit);
            }
            if (state.containsKey("sortField")) {
                config.setSortField((String) state.get("sortField"));
                config.setSortDir(SortDir.valueOf((String) state.get("sortDir")));
            }
            loader.load(config);
        }
    });
    usergrid.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
    usergrid.getSelectionModel().addListener(Events.SelectionChange,
            new Listener<SelectionChangedEvent<BeanModel>>() {
                public void handleEvent(SelectionChangedEvent<BeanModel> be) {
                    if (be.getSelection().size() > 0) {
                        BeanModel um = (BeanModel) be.getSelection().get(0);
                        formBindings.bind(um);
                        name.setEnabled(false);
                        pwd.setValue("");
                        user = (User) um.getBean();
                        List<Authority> la = user.getZkbAuthorities();
                        //view.getChecked();
                        view.clearState();
                        if (la != null) {
                            for (Authority k : la) {
                                BeanModel bean = BeanModelLookup.get().getFactory(Authority.class)
                                        .createModel(k);
                                BeanModel bm = view.getStore().findModel(bean);
                                view.setChecked(bm, true);
                            }
                        }
                    } else {
                        formBindings.unbind();
                    }
                }
            });
}

From source file:com.xyz.trade.client.view.TradeAssign.java

License:Open Source License

public TradeAssign() {
    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<BeanModel>> numberRenderer = new NumberCellRenderer<Grid<BeanModel>>(
            currency);//from   w w  w  .j av a  2s  .c o  m
    service = (TradeServiceAsync) Registry.get(Trade.TRADESERVICE);
    msg = (TradeMessages) Registry.get(Trade.MESSAGE);

    statusRen = new GridCellRenderer<BeanModel>() {
        public String render(BeanModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<BeanModel> store, Grid<BeanModel> grid) {
            String val = (String) model.get(property);
            String sta = ZkbConstants.get().getStatus(val);
            return sta;
        }
    };

    gridNumber = new GridCellRenderer<BeanModel>() {
        public String render(BeanModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<BeanModel> store, Grid<BeanModel> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    panel = new ContentPanel();
    panel.setHeaderVisible(false);
    panel.setLayout(new RowLayout());
}

From source file:com.xyz.trade.client.view.TradeMainView.java

License:Open Source License

public TradeMainView() {
    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<BeanModel>> numberRenderer = new NumberCellRenderer<Grid<BeanModel>>(
            currency);// w  w w.j a va2  s  . c  o  m
    service = (TradeServiceAsync) Registry.get(Trade.TRADESERVICE);
    msg = (TradeMessages) Registry.get(Trade.MESSAGE);

    statusRen = new GridCellRenderer<BeanModel>() {
        public String render(BeanModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<BeanModel> store, Grid<BeanModel> grid) {
            String val = (String) model.get(property);
            String sta = ZkbConstants.get().getStatus(val);
            return sta;
        }
    };

    gridNumber = new GridCellRenderer<BeanModel>() {
        public String render(BeanModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<BeanModel> store, Grid<BeanModel> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    panel = new ContentPanel();
    panel.setHeaderVisible(false);
    panel.setLayout(new RowLayout());
}

From source file:de.hpfsc.web.anticafe.WidgetRenderingExample.java

License:Open Source License

@Override
protected void onRender(Element parent, int index) {
    super.onRender(parent, index);
    setHeight(300);//  w  ww .j a va  2s  .c  o  m
    final Timer updateClientsTimer = new Timer() {
        @Override
        public void run() {
            clientsServiceAsync.getClients(whoseSession, isAdminSeesAll.getValue(),
                    showAcceptedCheckBox.getValue(), new AsyncCallback<ArrayList<Client>>() {
                        @Override
                        public void onFailure(Throwable throwable) {
                            System.out.println("fail get clients from timer");
                        }

                        @Override
                        public void onSuccess(ArrayList<Client> clients) {

                            if (clients.isEmpty()) {
                                store.removeAll();
                            }

                            for (Client client : store.getModels()) {
                                if (!clients.contains(client)) {
                                    store.remove(client);
                                }
                            }

                            for (Client client : clients) {

                                Client alreadyPresentModel = store.findModel(client);

                                if (alreadyPresentModel == null && !client.isDeleted()) {
                                    store.add(client);
                                } else {
                                    updateClientInStore(client, alreadyPresentModel);
                                }

                                long totalSumValue = 0l;
                                for (Client storeClient : store.getModels()) {
                                    totalSumValue += storeClient.getTotalSum();
                                }
                                totalSumLabel.setValue(getPrettyMoney(totalSumValue));

                                //              if (alreadyPresentModel == null) {
                                //                if (showAcceptedCheckBox.getValue()) {
                                //                  store.add(client);
                                //                } else {
                                //                  if (!client.isAccepted()) {
                                //                    store.add(client);
                                //                  }
                                //                }
                                //              } else {
                                //                if (isToShowAccepted) {
                                //                  updateClientInStore(client, alreadyPresentModel);
                                //                } else {
                                //                  if (client.isAccepted()) {
                                //                    store.remove(client);
                                //                  } else {
                                //                    updateClientInStore(client, alreadyPresentModel);
                                //                  }
                                //                }
                                //              }
                            }
                        }

                    });

        }
    };

    //    setLayout(new FlowLayout(10));

    GridCellRenderer<Client> ownerCellRenderer = new GridCellRenderer<Client>() {

        public Object render(final Client model, String property, ColumnData config, final int rowIndex,
                final int colIndex, ListStore<Client> store, Grid<Client> grid) {
            return new LabelField(model.getWhoseSession().name());
        }
    };

    GridCellRenderer<Client> nameCellRenderer = new GridCellRenderer<Client>() {

        public Object render(final Client model, String property, ColumnData config, final int rowIndex,
                final int colIndex, ListStore<Client> store, Grid<Client> grid) {
            LabelField labelField = new LabelField(model.getName());
            labelField.setWidth(50);
            return labelField;
        }
    };

    GridCellRenderer<Client> commentCellRenderer = new GridCellRenderer<Client>() {

        public Object render(final Client model, String property, ColumnData config, final int rowIndex,
                final int colIndex, ListStore<Client> store, Grid<Client> grid) {
            LabelField labelField = new LabelField(model.getComment());
            labelField.setTitle(model.getComment());
            return labelField;
        }
    };

    GridCellRenderer<Client> buttonRenderer = new GridCellRenderer<Client>() {

        private boolean init;

        public Object render(final Client model, String property, ColumnData config, final int rowIndex,
                final int colIndex, ListStore<Client> store, Grid<Client> grid) {
            if (!init) {
                init = true;
                grid.addListener(Events.ColumnResize, new Listener<GridEvent<Client>>() {

                    public void handleEvent(GridEvent<Client> be) {
                        for (int i = 0; i < be.getGrid().getStore().getCount(); i++) {
                            if (be.getGrid().getView().getWidget(i, be.getColIndex()) != null && be.getGrid()
                                    .getView().getWidget(i, be.getColIndex()) instanceof BoxComponent) {
                                ((BoxComponent) be.getGrid().getView().getWidget(i, be.getColIndex()))
                                        .setWidth(be.getWidth() - 10);
                            }
                        }
                    }
                });
            }

            Button b = new Button((String) model.getName(), new SelectionListener<ButtonEvent>() {
                @Override
                public void componentSelected(ButtonEvent ce) {
                    Info.display(model.getName(), "<ul><li>" + model.getId() + "</li></ul>");
                }
            });
            b.setWidth(grid.getColumnModel().getColumnWidth(colIndex) - 10);
            b.setToolTip("Click for more information");

            return b;
        }
    };

    GridCellRenderer<Client> playButtonRenderer = new GridCellRenderer<Client>() {

        public Object render(final Client model, String property, ColumnData config, final int rowIndex,
                final int colIndex, final ListStore<Client> store, final Grid<Client> grid) {
            final Button b = new Button("");
            b.addSelectionListener(new SelectionListener<ButtonEvent>() {
                @Override
                public void componentSelected(ButtonEvent ce) {
                    //            final Client selectedItem = grid.getSelectionModel().getSelectedItem();
                    b.setEnabled(false);
                    final Client selectedItem = store.getAt(rowIndex);
                    clientsServiceAsync.startSession(selectedItem.getId(), System.currentTimeMillis(),
                            new AsyncCallback<Void>() {
                                @Override
                                public void onFailure(Throwable throwable) {
                                    System.out.println("faile start");
                                }

                                @Override
                                public void onSuccess(Void aVoid) {
                                    Info.display("Started alert", selectedItem.getName() + " is started");
                                }
                            });
                    Info.display("", selectedItem.getName());
                }
            });
            b.setEnabled(model.getStartTime() == 0);
            b.setWidth(grid.getColumnModel().getColumnWidth(colIndex) - 10);
            b.setToolTip("Click for more information");

            return b;
        }
    };

    GridCellRenderer<Client> stopButtonRenderer = new GridCellRenderer<Client>() {

        public Object render(final Client model, String property, ColumnData config, final int rowIndex,
                final int colIndex, ListStore<Client> store, Grid<Client> grid) {
            final Client selectedItem = store.getAt(rowIndex);
            Button b = new Button("Stop", new SelectionListener<ButtonEvent>() {
                @Override
                public void componentSelected(ButtonEvent ce) {
                    clientsServiceAsync.stopSession(model.getId(), model.getTotalSum(), false,
                            new AsyncCallback<Void>() {
                                @Override
                                public void onFailure(Throwable throwable) {
                                    System.out.println("fail stop");
                                }

                                @Override
                                public void onSuccess(Void aVoid) {
                                    Info.display("Stop alert", selectedItem.getName() + " is stopped");
                                }
                            });
                }
            });
            b.setEnabled(model.isInProgress());
            b.setWidth(grid.getColumnModel().getColumnWidth(colIndex) - 10);
            b.setToolTip("Click for more information");

            return b;
        }
    };

    GridCellRenderer<Client> timeRenderer = new GridCellRenderer<Client>() {

        public Object render(final Client model, String property, ColumnData config, final int rowIndex,
                final int colIndex, ListStore<Client> store, Grid<Client> grid) {
            LabelField timeLabel = new LabelField();
            Long stopTime = model.getStopTime();

            Long endTime = null;
            if (!model.isInProgress() && stopTime != 0 && model.getStartTime() != 0 && !model.isExpired()) {
                endTime = stopTime;
                timeLabel.setValue(getMinutesString(endTime - model.getStartTime()));
            } else if (model.isExpired()) {
                // do nothing here
            } else if (model.isInProgress()) {
                endTime = System.currentTimeMillis();
                timeLabel.setValue(getMinutesString(endTime - model.getStartTime()));
            } else {
                timeLabel.setValue("00:00:00");
            }

            return timeLabel;
        }
    };

    GridCellRenderer<Client> sumRenderer = new GridCellRenderer<Client>() {

        public Object render(final Client model, String property, ColumnData config, final int rowIndex,
                final int colIndex, ListStore<Client> store, Grid<Client> grid) {
            LabelField sumLabel = new LabelField("00.00");

            if (model.getStartTime() != 0) {
                renderSumLabel(model, sumLabel);
            }
            return sumLabel;
        }
    };

    GridCellRenderer<Client> acceptColumnRenderer = new GridCellRenderer<Client>() {

        public Object render(final Client model, String property, ColumnData config, final int rowIndex,
                final int colIndex, final ListStore<Client> store, final Grid<Client> grid) {
            Button b = new Button(" ", new SelectionListener<ButtonEvent>() {
                @Override
                public void componentSelected(ButtonEvent ce) {
                    model.setAccepted(true);
                    clientsServiceAsync.acceptSession(model, new AsyncCallback<Void>() {
                        @Override
                        public void onFailure(Throwable throwable) {
                            System.out.println("fail update from accept");
                        }

                        @Override
                        public void onSuccess(Void aVoid) {
                            Info.display("", "Model is accepted");
                        }
                    });
                }
            });
            setClientAcceptedButton(b, model.isAccepted(), model.isInProgress());

            b.setWidth(grid.getColumnModel().getColumnWidth(colIndex) - 10);
            b.setToolTip("Click to add to archive");
            return b;
        }

        private void setClientAcceptedButton(Button b, boolean accepted, boolean inProgress) {
            if (accepted && !inProgress) {
                b.setHtml(" ");
                b.getElement().getStyle().setBackgroundColor("green");
                b.setEnabled(false);
            }
        }
    };

    GridCellRenderer<Client> editButtonRenderer = new GridCellRenderer<Client>() {

        public Object render(final Client model, String property, ColumnData config, final int rowIndex,
                final int colIndex, final ListStore<Client> store, Grid<Client> grid) {
            final Client selectedItem = store.getAt(rowIndex);
            Button b = new Button("", new SelectionListener<ButtonEvent>() {
                @Override
                public void componentSelected(ButtonEvent ce) {
                    DialogExample dialogExample = new DialogExample(whoseSession, model, store);
                    dialogExample.show();
                }
            });
            b.setWidth(grid.getColumnModel().getColumnWidth(colIndex) - 10);
            b.setToolTip("Click for more information");

            return b;
        }
    };

    GridCellRenderer<Client> removeButtonRenderer = new GridCellRenderer<Client>() {

        public Object render(final Client model, String property, ColumnData config, final int rowIndex,
                final int colIndex, final ListStore<Client> store, final Grid<Client> grid) {
            final Button b = new Button("", new SelectionListener<ButtonEvent>() {
                @Override
                public void componentSelected(ButtonEvent ce) {
                    //            final Client selectedItem = grid.getSelectionModel().getSelectedItem();
                    final Client selectedItem = store.getAt(rowIndex);
                    clientsServiceAsync.markSessionAsDeleted(selectedItem.getId(), new AsyncCallback<Void>() {
                        @Override
                        public void onFailure(Throwable throwable) {
                            System.out.println("fail deletion start");
                        }

                        @Override
                        public void onSuccess(Void aVoid) {
                            Info.display("Session ", selectedItem.getName() + " is deleted");
                        }
                    });
                    //            Info.display("", selectedItem.getName());
                }
            });
            if (model.isDeleted()) {
                b.setEnabled(false);
            }
            toggleInprogressButtonStyle(model, b);
            b.setWidth(grid.getColumnModel().getColumnWidth(colIndex) - 10);
            b.setToolTip("Click for more information");

            return b;
        }
    };

    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    //    final NumberCellRenderer<Grid<Session>> numberRenderer = new NumberCellRenderer<Grid<Session>>(currency);

    //    GridCellRenderer<Client> change = new GridCellRenderer<Client>() {
    //      public String render(Client model, String property, ColumnData config, int rowIndex, int colIndex,
    //          ListStore<Client> store, Grid<Client> grid) {
    //        double val = (Double) model.get(property);
    //        String style = val < 0 ? "red" : "green";
    //        return "<span style='color:" + style + "'>" + number.format(val) + "</span>";
    //      }
    //    };

    //    GridCellRenderer<Session> gridNumber = new GridCellRenderer<Session>() {
    //      public String render(Session model, String property, ColumnData config, int rowIndex, int colIndex,
    //          ListStore<Session> stor, Grid<Session> grid) {
    //        return numberRenderer.render(null, property, model.get(property));
    //      }
    //    };

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

    ColumnConfig column = new ColumnConfig();
    column.setId("owner");
    column.setHeaderHtml(" ");
    ownerEditor = new SimpleComboBox<>();
    ownerEditor.setTriggerAction(ComboBox.TriggerAction.ALL);
    column.setEditor(new CellEditor(ownerEditor));
    column.setRenderer(ownerCellRenderer);
    column.setWidth(90);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("name");
    column.setHeaderHtml("?");
    column.setRenderer(nameCellRenderer);
    nameEditor = new SimpleComboBox<>();
    nameEditor.setTriggerAction(ComboBox.TriggerAction.ALL);
    column.setEditor(new CellEditor(nameEditor));
    column.setWidth(50);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("comment");
    column.setHeaderHtml("");
    column.setRenderer(commentCellRenderer);
    commentEditor = new TextField<>();
    column.setEditor(new CellEditor(commentEditor));
    column.setWidth(140);
    configs.add(column);

    //    column = new ColumnConfig();
    //    column.setId("name");
    //    column.setHeaderHtml("?");
    //    column.setWidth(100);
    //    column.setRenderer(buttonRenderer);
    //    configs.add(column);

    column = new ColumnConfig();
    column.setId("play");
    column.setResizable(false);
    column.setHeaderHtml("?");
    column.setWidth(50);
    column.setRenderer(playButtonRenderer);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("stop");
    column.setResizable(false);
    column.setHeaderHtml("");
    column.setWidth(50);
    column.setRenderer(stopButtonRenderer);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("time");
    column.setResizable(false);
    column.setHeaderHtml("?");
    column.setWidth(60);
    column.setRenderer(timeRenderer);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("sum");
    column.setResizable(false);
    column.setHeaderHtml("");
    column.setWidth(60);
    column.setRenderer(sumRenderer);
    configs.add(column);

    //    column = new ColumnConfig();
    //    column.setId("accept");
    //    column.setResizable(false);
    //    column.setHeaderHtml(" ");
    //    column.setWidth(50);
    //    column.setRenderer(acceptButtonRenderer);
    //    configs.add(column);

    column = new ColumnConfig();
    column.setId("edit");
    column.setResizable(false);
    column.setHeaderHtml("");
    column.setWidth(100);
    column.setRenderer(editButtonRenderer);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("accept");
    column.setResizable(false);
    column.setHeaderHtml("?");
    column.setWidth(80);
    column.setRenderer(acceptColumnRenderer);
    configs.add(column);

    //    column = new ColumnConfig();
    //    column.setId("Remove");
    //    column.setResizable(false);
    //    column.setHeaderHtml("");
    //    column.setWidth(70);
    //    column.setRenderer(removeButtonRenderer);
    //    configs.add(column);

    isAdminSeesAll = new CheckBox();
    isAdminSeesAll.setValue(WhoseSessionEnum.ADMIN == whoseSession);

    clientsServiceAsync.getClients(whoseSession, isAdminSeesAll.getValue(), isToShowAccepted,
            new AsyncCallback<ArrayList<Client>>() {
                @Override
                public void onFailure(Throwable throwable) {
                    System.out.println("faile getting clients");
                }

                @Override
                public void onSuccess(ArrayList<Client> clients) {
                    store.add(clients);
                    updateClientsTimer.scheduleRepeating(3000);
                }
            });

    //    store.add(TestData.getSessions());

    ColumnModel cm = new ColumnModel(configs);

    ContentPanel cp = new ContentPanel();
    cp.setBodyBorder(false);
    //    cp.setIcon(Resources.ICONS.table());
    //    cp.setHeadingHtml("Widget Renderer Grid");
    cp.setHeaderVisible(false);
    cp.setButtonAlign(HorizontalAlignment.CENTER);
    cp.getElement().getStyle().setTextAlign(Style.TextAlign.CENTER);
    cp.setLayout(new FitLayout());
    cp.setSize(1100, 300);

    LayoutContainer totalSumContainer = new LayoutContainer();
    totalSumContainer.getElement().getStyle().setTextAlign(Style.TextAlign.CENTER);
    HBoxLayoutData layoutData = new HBoxLayoutData();
    layoutData.setMargins(new Margins(3));
    totalSumContainer.setLayoutData(layoutData);
    //    totalSumContainer.setSize(60, 30);
    //    totalSumLabel = new LabelField();
    LabelField sumLabel = new LabelField(": ");
    //    totalSumContainer.add(sumLabel, layoutData);
    totalSumLabel.getElement().getStyle().setFontSize(20, Style.Unit.PX);
    totalSumLabel.getElement().getStyle().setColor("darkblue");
    totalSumContainer.add(totalSumLabel, layoutData);
    ToolBar toolBar = new ToolBar();
    toolBar.getAriaSupport().setLabel("Grid Options");

    //    toolBar.add(new LabelToolItem(" : "));
    showAcceptedCheckBox = new CheckBox();
    //    showAcceptedCheckBox.setFieldLabel(" ?");
    showAcceptedCheckBox.addListener(Events.Select, new Listener<BaseEvent>() {
        @Override
        public void handleEvent(BaseEvent be) {
            isToShowAccepted = showAcceptedCheckBox.getValue();
        }
    });

    //    toolBar.add(showAcceptedCheckBox);
    //    totalSumContainer.add(toolBar);
    totalSumContainer.setLayout(new CenterLayout());
    //    borderLayoutExample.getCenter().add(new LabelField(" :"));
    //    HorizontalPanel toShowArchivedPanel = new HorizontalPanel();
    //    toShowArchivedPanel.getElement().getStyle().setTextAlign(Style.TextAlign.CENTER);
    //    toShowArchivedPanel.addStyleName("align-center");
    borderLayoutExample.getCenter().add(new LabelField(" : "));
    borderLayoutExample.getCenter().add(showAcceptedCheckBox);
    //    borderLayoutExample.getCenter().add(toShowArchivedPanel);
    cp.setTopComponent(totalSumContainer);
    cp.getTopComponent().addStyleName("align-right");

    if (WhoseSessionEnum.ADMIN == whoseSession) {
        borderLayoutExample.getWest().add(new LabelField("?  ?: "));
        borderLayoutExample.getWest().add(isAdminSeesAll);
    }

    borderLayoutExample.getEast().add(totalSumLabel);

    grid = new Grid<Client>(store, cm);
    //    grid.setWidth("100%");
    grid.setStyleAttribute("borderTop", "none");
    grid.setAutoExpandColumn("name");
    rowEditor = new ScorecardRowEditor() {
        @Override
        public void stopEditing(boolean saveChanges) {
            super.stopEditing(false);
        }
    };
    rowEditor.addListener(Events.BeforeEdit, new Listener<BaseEvent>() {
        @Override
        public void handleEvent(BaseEvent be) {
            final Client currentClient = (Client) ((RowEditorEvent) be).getRecord().getModel();
            nameEditor.removeAll();
            namesServiceAsync.getFreeNames(new AsyncCallback<List<String>>() {
                @Override
                public void onFailure(Throwable throwable) {
                    System.out.println("faile obtaining free names");
                }

                @Override
                public void onSuccess(List<String> strings) {
                    for (String string : strings) {
                        nameEditor.add(string);
                    }
                    String currentClientName = currentClient.getName();
                    if (currentClientName != null) {
                        if (!isCurrentNameAlreadyPresentInCombo(currentClientName)) {
                            nameEditor.add(currentClientName);
                        }
                        nameEditor.setSimpleValue(currentClientName);
                    }
                }
            });

            ownerEditor.removeAll();
            namesServiceAsync.getAllOwnersNames(new AsyncCallback<List<String>>() {
                @Override
                public void onFailure(Throwable throwable) {
                    System.out.println("faile obtaining all owners names");
                }

                @Override
                public void onSuccess(List<String> strings) {
                    for (String string : strings) {
                        ownerEditor.add(string);
                    }
                    if (currentClient.getId() == null) {
                        ownerEditor.setSimpleValue(whoseSession.name());
                    } else {
                        ownerEditor.setSimpleValue(currentClient.getWhoseSession().name());
                    }
                }
            });

            commentEditor.setOriginalValue(currentClient.getComment());
            commentEditor.setValue(currentClient.getComment());
        }
    });
    //    rowEditor.addListener(Events.AfterEdit, new Listener<BaseEvent>() {
    //      @Override
    //      public void handleEvent(BaseEvent be) {
    //        nameEditor.removeAll();
    //        for (ClientNamesEnum clientName: ClientNamesEnum.values()) {
    //          if (!isStoreContainsName(clientName.name())) {
    //            nameEditor.add(clientName.name());
    //          }
    //        }
    //      }
    //    });
    rowEditor.setClicksToEdit(EditorGrid.ClicksToEdit.TWO);

    rowEditor.addListener(Events.AfterEdit, new Listener<RowEditorEvent>() {
        @Override
        public void handleEvent(RowEditorEvent ree) {
            final Record record = ree.getRecord();
            final Client newModel = (Client) record.getModel();
            newModel.set("name", nameEditor.getSimpleValue());
            newModel.set("owner", WhoseSessionEnum.valueOf(ownerEditor.getSimpleValue()));
            newModel.set("comment", commentEditor.getValue());
            newModel.setName(nameEditor.getSimpleValue());
            newModel.setWhoseSession(WhoseSessionEnum.valueOf(ownerEditor.getSimpleValue()));
            newModel.setComment(commentEditor.getValue());
            clientsServiceAsync.updateClient(newModel, new AsyncCallback<Void>() {
                @Override
                public void onFailure(Throwable throwable) {
                    System.out.println("faile update client");
                }

                @Override
                public void onSuccess(Void aVoid) {
                    System.out.println("success update client from editor");
                }
            });
        }
    });

    grid.addPlugin(rowEditor);
    grid.setBorders(true);
    cp.add(grid);

    add(cp);
}

From source file:net.s17fabu.vip.gwt.showcase.client.content.i18n.CwNumberFormat.java

License:Apache License

/**
 * Update the selected pattern based on the pattern in the list.
 *///from  w  ww  .j  av  a2 s  .co m
private void updatePattern() {
    switch (patternList.getSelectedIndex()) {
    case 0:
        activeFormat = NumberFormat.getDecimalFormat();
        patternBox.setText(activeFormat.getPattern());
        patternBox.setEnabled(false);
        break;
    case 1:
        activeFormat = NumberFormat.getCurrencyFormat();
        patternBox.setText(activeFormat.getPattern());
        patternBox.setEnabled(false);
        break;
    case 2:
        activeFormat = NumberFormat.getScientificFormat();
        patternBox.setText(activeFormat.getPattern());
        patternBox.setEnabled(false);
        break;
    case 3:
        activeFormat = NumberFormat.getPercentFormat();
        patternBox.setText(activeFormat.getPattern());
        patternBox.setEnabled(false);
        break;
    case 4:
        patternBox.setEnabled(true);
        String pattern = patternBox.getText();
        try {
            activeFormat = NumberFormat.getFormat(pattern);
        } catch (IllegalArgumentException e) {
            showErrorMessage(constants.cwNumberFormatInvalidPattern());
            return;
        }
        break;
    }

    // Update the formatted value
    updateFormattedValue();
}

From source file:org.aksw.linkedqa.client.TaskGrid.java

License:Open Source License

public TaskGrid() {
    setLayout(new FlowLayout(10));
    getAriaSupport().setPresentation(true);

    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    //final NumberCellRenderer<Grid<Stock>> numberRenderer = new NumberCellRenderer<Grid<Stock>>(
    //      currency);

    /*/*from  w w w. jav  a2s .c  om*/
    GridCellRenderer<Stock> change = new GridCellRenderer<Stock>() {
       public String render(Stock model, String property,
       ColumnData config, int rowIndex, int colIndex,
       ListStore<Stock> store, Grid<Stock> grid) {
    Object o = model.get(property);
            
    String v = "(not set)";
    if(o == null) {
       double val = (Double)o;
       String style = val < 0 ? "red"
             : GXT.isHighContrastMode ? "#00ff5a" : "green";
       v = number.format(val);
               
    }
            
    return "<span qtitle='"
          + cm.getColumnById(property).getHeader() + "' qtip='"
          + v + "' style='font-weight: bold;color:" + style
          + "'>" + v + "</span>";
       }
    };*/

    /*
    GridCellRenderer<Stock> gridNumber = new GridCellRenderer<Stock>() {
       public String render(Stock model, String property,
       ColumnData config, int rowIndex, int colIndex,
       ListStore<Stock> store, Grid<Stock> grid) {
    return numberRenderer.render(null, property,
          model.get(property));
       }
    };*/

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

    ColumnConfig column = new ColumnConfig();
    column.setId("name");
    column.setHeader("Linkset name");
    column.setWidth(200);
    column.setRowHeader(true);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("direction");
    column.setHeader("Direction");
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setWidth(100);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("sampled");
    column.setHeader("Sampled");
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setWidth(100);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("sampleSize");
    column.setHeader("Sample size");
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setWidth(75);
    //column.setRenderer(gridNumber);
    configs.add(column);

    /*
    column = new ColumnConfig("change", "Change", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    //column.setRenderer(change);
    configs.add(column);
    */

    column = new ColumnConfig("date", "Finished", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setDateTimeFormat(DateTimeFormat.getFormat("MM/dd/yyyy"));
    configs.add(column);

    //ListStore<TaskDescription> store = new ListStore<TaskDescription>();
    //store.add(getStocks());

    //store.add(TaskData.getStocks());

    //store.add(getStocks());

    cm = new ColumnModel(configs);

    ContentPanel cp = new ContentPanel();
    cp.setBodyBorder(true);
    // cp.setIcon(Resources.ICONS.table());
    cp.setHeading("Available Linksets");
    cp.setButtonAlign(HorizontalAlignment.CENTER);
    cp.setLayout(new FitLayout());
    cp.getHeader().setIconAltText("Grid Icon");
    cp.setSize(600, 300);

    //final Grid<TaskDescription>
    grid = new Grid<TaskDescription>(getStocks(), cm);
    grid.setStyleAttribute("borderTop", "none");
    grid.setAutoExpandColumn("name");
    grid.setBorders(false);
    grid.setStripeRows(true);
    grid.setColumnLines(true);
    grid.setColumnReordering(true);
    grid.getAriaSupport().setLabelledBy(cp.getHeader().getId() + "-label");
    cp.add(grid);

    ToolBar toolBar = new ToolBar();
    toolBar.getAriaSupport().setLabel("Grid Options");

    toolBar.add(new LabelToolItem("Selection Mode: "));
    final SimpleComboBox<String> type = new SimpleComboBox<String>();
    type.getAriaSupport().setLabelledBy(toolBar.getItem(0).getId());
    type.setTriggerAction(TriggerAction.ALL);
    type.setEditable(false);
    type.setFireChangeEventOnSetValue(true);
    type.setWidth(100);
    type.add("Row");
    type.add("Cell");
    type.setSimpleValue("Row");
    type.addListener(Events.Change, new Listener<FieldEvent>() {
        public void handleEvent(FieldEvent be) {
            boolean cell = type.getSimpleValue().equals("Cell");
            grid.getSelectionModel().deselectAll();
            if (cell) {
                grid.setSelectionModel(new CellSelectionModel<TaskDescription>());
            } else {
                grid.setSelectionModel(new GridSelectionModel<TaskDescription>());
            }
        }
    });
    toolBar.add(type);

    cp.setTopComponent(toolBar);

    add(cp);

    // needed to enable quicktips (qtitle for the heading and qtip for the
    // content) that are setup in the change GridCellRenderer
    new QuickTip(grid);
}