Example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder toSafeHtml

List of usage examples for com.google.gwt.safehtml.shared SafeHtmlBuilder toSafeHtml

Introduction

In this page you can find the example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder toSafeHtml.

Prototype

public SafeHtml toSafeHtml() 

Source Link

Document

Returns the safe HTML accumulated in the builder as a SafeHtml .

Usage

From source file:accelerator.client.view.desktop.DesktopTaskListView.java

License:Open Source License

/**
 * CompositCell ? HasCell ?????//from ww  w.  j av a2s .c  o m
 * 
 * @param handler
 *            ????????
 * @return HasCell ?
 */
private List<HasCell<Task, ?>> createHasCellList() {
    List<HasCell<Task, ?>> hasCellList = CollectionUtil.createArrayList();
    // ??
    hasCellList.add(new HasCell<Task, Boolean>() {
        private final CheckboxCell cell = new CheckboxCell();

        public Cell<Boolean> getCell() {
            return cell;
        }

        public FieldUpdater<Task, Boolean> getFieldUpdater() {
            return new FieldUpdater<Task, Boolean>() {
                public void update(int index, Task object, Boolean value) {
                    object.setCompleted(value);
                    DesktopTaskListView.this.presenter.updateTask(object);
                }
            };
        }

        public Boolean getValue(Task object) {
            return object.getCompleted();
        }

    });
    // ?
    hasCellList.add(new HasCell<Task, SafeHtml>() {
        private final SafeHtmlCell cell = new SafeHtmlCell();

        public Cell<SafeHtml> getCell() {
            return cell;
        }

        public FieldUpdater<Task, SafeHtml> getFieldUpdater() {
            return null;
        }

        public SafeHtml getValue(Task object) {
            SafeHtmlBuilder sb = new SafeHtmlBuilder();

            // ????????????
            if (presenter instanceof InboxPresenter) {
                return sb.toSafeHtml();
            } else if (presenter instanceof ProjectPresenter) {
                return sb.toSafeHtml();
            }

            Key projectKey = object.getProject();
            if ((projectKey != null) && projectList.containsKey(projectKey)) {
                Project p = projectList.get(projectKey);
                sb.appendHtmlConstant("<span class=\"project\">");
                sb.appendEscaped(p.getName());
                sb.appendEscaped(":");
                sb.appendHtmlConstant("</span>");
            }
            return sb.toSafeHtml();
        }
    });
    // ???
    hasCellList.add(new HasCell<Task, SafeHtml>() {
        private final SafeHtmlCell cell = new SafeHtmlCell();

        public Cell<SafeHtml> getCell() {
            return cell;
        }

        public FieldUpdater<Task, SafeHtml> getFieldUpdater() {
            return null;
        }

        public SafeHtml getValue(Task object) {
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            if (object.getCompleted()) {
                sb.appendHtmlConstant("<s>");
                sb.appendEscaped(object.getName());
                sb.appendHtmlConstant("</s>");
            } else {
                sb.appendEscaped(object.getName());
            }
            return sb.toSafeHtml();
        }

    });
    // ?
    hasCellList.add(new HasCell<Task, String>() {
        private final IconButtonCell cell = new IconButtonCell();

        public Cell<String> getCell() {
            cell.setIcon(JQueryUI.UI_ICON_CLOSE);
            return cell;
        }

        public FieldUpdater<Task, String> getFieldUpdater() {
            return new FieldUpdater<Task, String>() {
                public void update(int index, Task object, String value) {
                    List<Task> tasks = CollectionUtil.createArrayList();
                    tasks.add(object);
                    DesktopTaskListView.this.presenter.deleteTask(tasks);
                }
            };
        }

        public String getValue(Task object) {
            return "?";
        }
    });
    // ?
    hasCellList.add(new HasCell<Task, String>() {
        private final IconButtonCell cell = new IconButtonCell();

        public Cell<String> getCell() {
            cell.setIcon(JQueryUI.UI_ICON_PENCIL);
            return cell;
        }

        public FieldUpdater<Task, String> getFieldUpdater() {
            return new FieldUpdater<Task, String>() {
                public void update(int index, Task object, String value) {
                    DesktopTaskListView.this.editTask(object);
                }
            };
        }

        public String getValue(Task object) {
            return "?";
        }
    });
    // ??
    hasCellList.add(new HasCell<Task, SafeHtml>() {
        private final SafeHtmlCell cell = new SafeHtmlCell();
        private final DateTimeFormat format = DateTimeFormat.getFormat("yyyyMMdd");

        public Cell<SafeHtml> getCell() {
            return cell;
        }

        public FieldUpdater<Task, SafeHtml> getFieldUpdater() {
            return null;
        }

        public SafeHtml getValue(Task object) {
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            Date d = object.getDueDate();
            if (d != null) {
                sb.appendHtmlConstant("<span class=\"duedate\">");
                sb.appendEscaped(format.format(d));
                sb.appendHtmlConstant("</span>");
            }
            return sb.toSafeHtml();
        }
    });
    // ??
    hasCellList.add(new HasCell<Task, SafeHtml>() {
        private final SafeHtmlCell cell = new SafeHtmlCell();

        public Cell<SafeHtml> getCell() {
            return cell;
        }

        public FieldUpdater<Task, SafeHtml> getFieldUpdater() {
            return null;
        }

        public SafeHtml getValue(Task object) {
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            if (DesktopTaskListView.this.tagMap != null) {
                List<Key> tagKeys = object.getTags();
                for (Key tagKey : tagKeys) {
                    if (DesktopTaskListView.this.tagMap.containsKey(tagKey)) {
                        Tag tag = DesktopTaskListView.this.tagMap.get(tagKey);
                        sb.appendHtmlConstant("<span class=\"tag\">");
                        sb.appendEscaped(tag.getName());
                        sb.appendHtmlConstant("</span>");
                    }
                }
            }
            return sb.toSafeHtml();
        }
    });
    return hasCellList;
}

From source file:app.dnd.drag.DraggableCellDecorator.java

License:Apache License

public void render(Context context, T value, SafeHtmlBuilder sb) {
    SafeHtmlBuilder cellBuilder = new SafeHtmlBuilder();
    cell.render(context, getValue(value), cellBuilder);

    sb.append(template.outerDiv(direction, imageWidth, isIconUsed(value) ? getIconHtml(value) : placeHolderHtml,
            cellBuilder.toSafeHtml()));
}

From source file:be.dramaix.ai.slidingpuzzle.client.ConfigPanel.java

License:Apache License

private void init() {
    // build algorithm options
    SafeHtmlBuilder algorithmTypeOptions = new SafeHtmlBuilder();

    for (AlgorithmType at : AlgorithmType.values()) {
        algorithmTypeOptions.append(Templates.INSTANCE.option(at.name(), at.getLabel()));
    }/*  w ww .  java2 s.co  m*/

    GQuery algorithmSelector = SELECTOR.getAlgorithmSelectElement();
    algorithmSelector.append(algorithmTypeOptions.toSafeHtml().asString());
    algorithmSelector.val(algorithmType.name());

    // build heuristic options
    SafeHtmlBuilder heuristicTypeOptions = new SafeHtmlBuilder();

    for (HeuristicType ht : HeuristicType.values()) {
        heuristicTypeOptions.append(Templates.INSTANCE.option(ht.name(), ht.getLabel()));
    }

    GQuery heuristicSelector = SELECTOR.getHeuristicSelectElement();
    heuristicSelector.append(heuristicTypeOptions.toSafeHtml().asString());
    heuristicSelector.val(heuristicType.name());

    onDimensionChange(4);
}

From source file:cimav.client.view.nomina.HorasExtrasUI.java

private void initTableColumns() {

    // id + icon remove
    Column<HoraExtra, String> iconCol = new Column<HoraExtra, String>(
            new NomIconInputCell(NomIconInputCell.HORA_EXTRA)) {
        @Override/*from ww w  . j a  v a2 s  .  com*/
        public String getValue(HoraExtra object) {
            return "" + object.getId();
        }
    };
    dataGrid.addColumn(iconCol, "");
    dataGrid.setColumnWidth(iconCol, 16, Style.Unit.PX);

    // Semana
    Column<HoraExtra, SafeHtml> semanaCol = new Column<HoraExtra, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(HoraExtra object) {
            SafeHtmlBuilder a = new SafeHtmlBuilder();
            a.appendHtmlConstant("<span>" + object.getWeekOfYear() + "</span>");
            //                if (object.getConcepto().getSuma()) {
            //                    a.appendHtmlConstant("<span>" + object.getConcepto().getName() + "</span>");
            //                } else {
            //                    a.appendHtmlConstant("<span style='color: grey; font-style: italic;'>" + object.getConcepto().getName() + "</span>");
            //                }
            return a.toSafeHtml();
        }
    };
    dataGrid.addColumn(semanaCol, "Semana");
    dataGrid.setColumnWidth(semanaCol, 120, Style.Unit.PCT);

    // Fecha
    Column<HoraExtra, Date> diaCol = new Column<HoraExtra, Date>(diaCell) {
        @Override
        public Date getValue(HoraExtra object) {
            return object.getDia();
        }
    };
    diaCol.setFieldUpdater(new FieldUpdater<HoraExtra, Date>() {
        @Override
        public void update(int index, HoraExtra object, Date value) {
            try {
                object.setDia(value);

                //object.ajustar();

                getHorasExtrasREST().update(object);
            } catch (Exception ex) {

            }
            diaCell.clearViewData(object);
            int absRowIndex = index;
            dataGrid.redrawRow(absRowIndex);
        }
    });
    dataGrid.addColumn(diaCol, "Da (fecha)");
    dataGrid.setColumnWidth(diaCol, 120, Style.Unit.PX);

    // Horas
    Column<HoraExtra, String> horasCol = new Column<HoraExtra, String>(horasCell) {
        @Override
        public String getValue(HoraExtra object) {
            Double result = object == null || object.getHoras() == null ? 0 : object.getHoras();
            return Double.toString(result);
        }
    };
    horasCol.setFieldUpdater(new FieldUpdater<HoraExtra, String>() {
        @Override
        public void update(int index, HoraExtra object, String value) {
            try {
                Double horas = Double.parseDouble(value);
                object.setHoras(horas);

                //object.ajustar();

                getHorasExtrasREST().update(object);
            } catch (Exception ex) {

            }
            horasCell.clearViewData(object);
            int absRowIndex = index;
            dataGrid.redrawRow(absRowIndex);
        }
    });
    horasCol.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
    Header<String> forzarFooter = new Header<String>(new TextCell()) {
        @Override
        public String getValue() {
            return "  ";
        }
    };
    dataGrid.addColumn(horasCol, new SafeHtmlHeader(SafeHtmlUtils.fromString("Horas")), forzarFooter);
    dataGrid.setColumnWidth(horasCol, 68, Style.Unit.PX);

}

From source file:cimav.client.view.nomina.NominaFaltasUI.java

private void initTableColumns() {

    // id + icon remove
    Column<Incidencia, String> iconCol = new Column<Incidencia, String>(
            new NomIconInputCell(NomIconInputCell.FALTA)) {
        @Override//from   ww  w.  j  a  va2  s .  c om
        public String getValue(Incidencia object) {
            return "" + object.getId();
        }
    };
    dataGrid.addColumn(iconCol, "");
    dataGrid.setColumnWidth(iconCol, 16, Style.Unit.PX);

    // Id+Tipo
    Column<Incidencia, SafeHtml> tipoCol = new Column<Incidencia, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Incidencia object) {
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            sb.appendHtmlConstant(
                    "<div style='outline-style:none; white-space: nowrap;'><strong style='font-size: 12px; padding-right: 3px;'>"
                            + object.getCode() + "</strong> " + "<span>" + object.getTipo().getDescripcion()
                            + "</span></div>");
            return sb.toSafeHtml();
        }
    };
    dataGrid.addColumn(tipoCol, "Tipo");
    dataGrid.setColumnWidth(tipoCol, 60, Style.Unit.PCT);

    // Fecha
    Column<Incidencia, Date> fechaCol = new Column<Incidencia, Date>(fechaInicioCell) {
        @Override
        public Date getValue(Incidencia object) {
            return object.getFechaInicial();
        }
    };
    fechaCol.setFieldUpdater(new FieldUpdater<Incidencia, Date>() {
        @Override
        public void update(int index, Incidencia object, Date value) {
            try {
                object.setFechaInicial(value);

                object.ajustar();

                getIncidenciasREST().update(object);
            } catch (Exception ex) {

            }
            fechaInicioCell.clearViewData(object);
            int absRowIndex = index;
            dataGrid.redrawRow(absRowIndex);
        }
    });
    dataGrid.addColumn(fechaCol, "Fecha");
    dataGrid.setColumnWidth(fechaCol, 120, Style.Unit.PX);

    // Dias
    Column<Incidencia, String> diasCol = new Column<Incidencia, String>(diasCell) {
        @Override
        public String getValue(Incidencia object) {
            Integer result = object == null || object.getDias() == null ? 0 : object.getDias();
            return Integer.toString(result);
        }
    };
    diasCol.setFieldUpdater(new FieldUpdater<Incidencia, String>() {
        @Override
        public void update(int index, Incidencia object, String value) {
            try {
                Integer dias = Integer.parseInt(value);
                object.setDias(dias);

                object.ajustar();
                getIncidenciasREST().update(object);
            } catch (Exception ex) {

            }
            diasCell.clearViewData(object);
            int absRowIndex = index;
            dataGrid.redrawRow(absRowIndex);
        }
    });
    diasCol.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
    dataGrid.addColumn(diasCol, "Das");
    dataGrid.setColumnWidth(diasCol, 88, Style.Unit.PX);

    // Dias Habiles
    Column<Incidencia, SafeHtml> diasHabilesCols = new Column<Incidencia, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Incidencia object) {
            Integer result = object == null || object.getDiasHabiles() == null ? 0 : object.getDiasHabiles();
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            sb.appendHtmlConstant(
                    "<div style='outline-style:none; white-space: nowrap;'><strong style='font-size: 12px; padding-right: 6px;'>"
                            + Integer.toString(result) + "</strong></div>");
            return sb.toSafeHtml();
        }
    };
    diasHabilesCols.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
    dataGrid.addColumn(diasHabilesCols, new SafeHtmlHeader(SafeHtmlUtils.fromString("Hbiles")));
    dataGrid.setColumnWidth(diasHabilesCols, 68, Style.Unit.PX);

    // Dias Inhabiles
    Column<Incidencia, SafeHtml> diasInhabiles = new Column<Incidencia, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Incidencia object) {
            Integer result = object == null || object.getDiasInhabiles() == null ? 0
                    : object.getDiasInhabiles();
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            sb.appendHtmlConstant(
                    "<div style='outline-style:none; white-space: nowrap;'><strong style='font-size: 12px; padding-right: 6px;'>"
                            + Integer.toString(result) + "</strong></div>");
            return sb.toSafeHtml();
        }
    };
    diasInhabiles.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
    dataGrid.addColumn(diasInhabiles, new SafeHtmlHeader(SafeHtmlUtils.fromString("Inhbiles")));
    dataGrid.setColumnWidth(diasInhabiles, 68, Style.Unit.PX);

    // Dias Restantes
    Column<Incidencia, SafeHtml> diasRestantesCol = new Column<Incidencia, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Incidencia object) {
            Integer result = object == null || object.getDiasRestantes() == null ? 0
                    : object.getDiasRestantes();
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            sb.appendHtmlConstant(
                    "<div style='outline-style:none; white-space: nowrap;'><strong style='font-size: 12px; padding-right: 6px;'>"
                            + Integer.toString(result) + "</strong></div>");
            return sb.toSafeHtml();
        }
    };
    diasRestantesCol.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
    dataGrid.addColumn(diasRestantesCol, new SafeHtmlHeader(SafeHtmlUtils.fromString("Restantes")));
    dataGrid.setColumnWidth(diasRestantesCol, 68, Style.Unit.PX);

    // Folio
    Column<Incidencia, String> folioCol = new Column<Incidencia, String>(folioCell) {
        @Override
        public String getValue(Incidencia object) {
            return object.getFolio();
        }
    };
    folioCol.setFieldUpdater(new FieldUpdater<Incidencia, String>() {
        @Override
        public void update(int index, Incidencia object, String value) {
            try {
                object.setFolio(value);
                getIncidenciasREST().update(object);
            } catch (Exception ex) {

            }
            folioCell.clearViewData(object);
            int absRowIndex = index;
            dataGrid.redrawRow(absRowIndex);
        }
    });
    Header<String> forzarFooter = new Header<String>(new TextCell()) {
        @Override
        public String getValue() {
            return "  ";
        }
    };
    dataGrid.addColumn(folioCol, new SafeHtmlHeader(SafeHtmlUtils.fromString("Folio")), forzarFooter);
    dataGrid.setColumnWidth(folioCol, 40, Style.Unit.PCT);

}

From source file:cimav.client.view.nomina.NominaMovimientosUI.java

private void initTableColumns() {

    // Concepto/* w w w.  j a va2  s.  co  m*/
    Column<Movimiento, SafeHtml> conceptoCol = new Column<Movimiento, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Movimiento object) {
            SafeHtmlBuilder a = new SafeHtmlBuilder();
            if (object.getConcepto().getSuma()) {
                a.appendHtmlConstant("<span>" + object.getConcepto().getName() + "</span>");
            } else {
                a.appendHtmlConstant("<span style='color: grey; font-style: italic;'>"
                        + object.getConcepto().getName() + "</span>");
            }
            return a.toSafeHtml();
        }
    };
    dataGrid.addColumn(conceptoCol, "Concepto");
    dataGrid.setColumnWidth(conceptoCol, 80, Style.Unit.PCT);

    // Cantidad
    Column<Movimiento, SafeHtml> cantidadCol = new Column<Movimiento, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Movimiento object) {
            String result = Utils.formatCantidad(object.getCantidad());
            SafeHtmlBuilder a = new SafeHtmlBuilder();
            if (object.getConcepto().getSuma()) {
                a.appendHtmlConstant("<span style='padding-right: 5px;'>" + result + "</span>");
            } else {
                a.appendHtmlConstant("<span style='padding-right: 5px; color: grey; font-style: italic;'>"
                        + result + "</span>");
            }
            return a.toSafeHtml();
        }
    };
    cantidadCol.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
    SafeHtmlHeader headerCantidad = new SafeHtmlHeader(new SafeHtml() {
        @Override
        public String asString() {
            return "<p style='text-align:center; margin-bottom: 0px;'>Cantidad</p>";
        }
    });
    if (ETipoConcepto.PERCEPCION.equals(this.tipoConcepto)
            || ETipoConcepto.DEDUCCION.equals(this.tipoConcepto)) {
        SafeHtmlHeader footerCantidad = new SafeHtmlHeader(new SafeHtml() {
            @Override
            public String asString() {
                String result = "0.00";
                List<Movimiento> items = dataGrid.getVisibleItems();
                if (!items.isEmpty()) {
                    // create MathContext object with 2 precision
                    BigDecimal totalPercepciones = BigDecimal.ZERO;
                    for (Movimiento nomQuin : items) {
                        if (nomQuin.getConcepto().getSuma()) { // si el concepto suma (ej. Despensa no suma)
                            totalPercepciones = totalPercepciones.add(nomQuin.getCantidad());
                        }
                    }
                    result = Utils.formatCurrency(totalPercepciones);
                }
                return "<p style=\"text-align:right;\">" + result.trim() + "</p>";
            }
        });
        dataGrid.addColumn(cantidadCol, headerCantidad, footerCantidad);
    } else {
        dataGrid.addColumn(cantidadCol, headerCantidad);
    }
    dataGrid.setColumnWidth(cantidadCol, 20, Style.Unit.PCT);
}

From source file:cimav.client.view.nomina.NominaRepercucionesUI.java

private void initTableColumns() {

    // Concepto//from www  .  jav a 2  s.  co m
    Column<Movimiento, SafeHtml> conceptoCol = new Column<Movimiento, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Movimiento object) {
            SafeHtmlBuilder a = new SafeHtmlBuilder();
            if (object.getConcepto().getSuma()) {
                a.appendHtmlConstant("<span>" + object.getConcepto().getName() + "</span>");
            } else {
                a.appendHtmlConstant("<span style='color: grey; font-style: italic;'>"
                        + object.getConcepto().getName() + "</span>");
            }
            return a.toSafeHtml();
        }
    };
    dataGrid.addColumn(conceptoCol, "Concepto");
    dataGrid.setColumnWidth(conceptoCol, 80, Style.Unit.PCT);

    // Cantidad
    Column<Movimiento, SafeHtml> cantidadCol = new Column<Movimiento, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Movimiento object) {
            String result = Utils.formatCantidad(object.getCantidad());
            SafeHtmlBuilder a = new SafeHtmlBuilder();
            if (object.getConcepto().getSuma()) {
                a.appendHtmlConstant("<span style='padding-right: 5px;'>" + result + "</span>");
            } else {
                a.appendHtmlConstant("<span style='padding-right: 5px; color: grey; font-style: italic;'>"
                        + result + "</span>");
            }
            return a.toSafeHtml();
        }
    };
    cantidadCol.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
    SafeHtmlHeader headerCantidad = new SafeHtmlHeader(new SafeHtml() {
        @Override
        public String asString() {
            return "<p style='text-align:center; margin-bottom: 0px;'>Empleado</p>";
        }
    });
    dataGrid.addColumn(cantidadCol, headerCantidad);
    dataGrid.setColumnWidth(cantidadCol, 20, Style.Unit.PCT);

    // Cantidad_empresa
    Column<Movimiento, SafeHtml> cantidadEmpresaCol = new Column<Movimiento, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Movimiento object) {
            String result = Utils.formatCantidad(object.getCantidadEmpresa());
            SafeHtmlBuilder a = new SafeHtmlBuilder();
            a.appendHtmlConstant("<span style='padding-right: 5px;'>" + result + "</span>");
            return a.toSafeHtml();
        }
    };
    cantidadEmpresaCol.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
    SafeHtmlHeader headerCantidadEmpresa = new SafeHtmlHeader(new SafeHtml() {
        @Override
        public String asString() {
            return "<p style='text-align:center; margin-bottom: 0px;'>Empresa</p>";
        }
    });
    dataGrid.addColumn(cantidadEmpresaCol, headerCantidadEmpresa);
    dataGrid.setColumnWidth(cantidadEmpresaCol, 20, Style.Unit.PCT);

}

From source file:cimav.client.view.nomina.NominaSaldoUI.java

/**
 * Add the columns to the table.//from  w  w w .  j a v  a  2 s  .co  m
 */
private void initTableColumns() {

    // id + icon remove
    Column<Movimiento, String> iconCol = new Column<Movimiento, String>(
            new NomIconInputCell(NomIconInputCell.SALDO)) {
        @Override
        public String getValue(Movimiento object) {
            return "" + object.getId();
        }
    };
    Header<String> forzarFooter = new Header<String>(new TextCell()) {
        @Override
        public String getValue() {
            return "  ";
        }
    };
    dataGrid.addColumn(iconCol, new SafeHtmlHeader(SafeHtmlUtils.fromString("")), forzarFooter);
    dataGrid.setColumnWidth(iconCol, 16, Style.Unit.PX);

    // Concepto
    Column<Movimiento, String> conceptoCol = new Column<Movimiento, String>((new TextCell())) {
        @Override
        public String getValue(Movimiento object) {
            Concepto concepto = object.getConcepto();
            return concepto.getName();
        }
    };
    dataGrid.addColumn(conceptoCol, "Concepto");
    dataGrid.setColumnWidth(conceptoCol, 100, Style.Unit.PCT);

    // Permanente
    Column<Movimiento, Boolean> permanenteCol = new Column<Movimiento, Boolean>(permanenteCell) {
        @Override
        public Boolean getValue(Movimiento object) {
            Boolean result = object.getPermanente();
            return result;
        }
    };
    permanenteCol.setFieldUpdater(new FieldUpdater<Movimiento, Boolean>() {
        @Override
        public void update(int index, Movimiento object, Boolean value) {
            try {
                object.setPermanente(value);
                getNominaQuincenalsREST().update(object);
            } catch (Exception e) {

            }
            saldoCell.clearViewData(object);
            int absRowIndex = index;
            dataGrid.redrawRow(absRowIndex);
        }
    });
    permanenteCol.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    TextHeader permanenteHeader = new TextHeader("");
    permanenteHeader.setHeaderStyleNames("permanenteHeader");
    dataGrid.addColumn(permanenteCol, permanenteHeader);
    dataGrid.setColumnWidth(permanenteCol, 20, Style.Unit.PX);

    // Pago
    Column<Movimiento, SafeHtml> pagoCol = new Column<Movimiento, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Movimiento object) {
            BigDecimal pago = object == null || object.getPago() == null ? BigDecimal.ZERO : object.getPago();
            Utils.formatCantidad(pago);
            SafeHtmlBuilder a = new SafeHtmlBuilder();
            if (object.getPermanente()) {
                a.appendHtmlConstant(
                        "<span style='padding-right:3px; '>" + Utils.formatCantidad(pago) + "</span>");
            } else {
                a.appendHtmlConstant("<span style='padding-right:3px; color: grey; font-style: italic;'>"
                        + Utils.formatCantidad(pago) + "</span>");
            }
            return a.toSafeHtml();
        }
    };
    pagoCol.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
    dataGrid.addColumn(pagoCol, "Pago");
    dataGrid.setColumnWidth(pagoCol, 90, Style.Unit.PCT);

    // Saldo 
    Column<Movimiento, String> saldoCol = new Column<Movimiento, String>(saldoCell) {
        @Override
        public String getValue(Movimiento object) {
            BigDecimal result = object == null || object.getSaldo() == null ? BigDecimal.ZERO
                    : object.getSaldo();
            return Utils.formatCantidad(result);
        }
    };
    saldoCol.setFieldUpdater(new FieldUpdater<Movimiento, String>() {
        @Override
        public void update(int index, Movimiento object, String value) {
            BigDecimal nuevoSaldo;
            try {
                nuevoSaldo = new BigDecimal(value.trim());
                object.setSaldo(nuevoSaldo);
                getNominaQuincenalsREST().update(object);
            } catch (Exception e) {

            }
            saldoCell.clearViewData(object);
            int absRowIndex = index;
            dataGrid.redrawRow(absRowIndex);
        }
    });
    saldoCol.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
    dataGrid.addColumn(saldoCol, "Saldo");
    dataGrid.setColumnWidth(saldoCol, 110, Style.Unit.PX);

    // Quincenas
    Column<Movimiento, String> quincenasCol = new Column<Movimiento, String>(quincenasCell) {
        @Override
        public String getValue(Movimiento object) {
            Integer result = object == null || object.getNumQuincenas() == null ? 0 : object.getNumQuincenas();
            return Integer.toString(result);
        }
    };
    quincenasCol.setFieldUpdater(new FieldUpdater<Movimiento, String>() {
        @Override
        public void update(int index, Movimiento object, String value) {
            // Push the changes into the MyDTO. At this point, you could send an
            // asynchronous request to the server to update the database.
            // value es el valor capturado
            // si es valido, pasar al object y a la DB
            // NOTA requiere de un Ajax con icono chiquito
            // Tiene su propio loading el DataGrid

            // Intenta convertir el value a Integer
            // si falla lo deja como estaba
            // si no falla lo actualiza
            Integer numQuin = 0;
            try {
                numQuin = Integer.parseInt(value.trim());
                object.setNumQuincenas(numQuin);

                getNominaQuincenalsREST().update(object);

            } catch (NumberFormatException | NullPointerException e) {
            }
            quincenasCell.clearViewData(object);
            int absRowIndex = index;
            dataGrid.redrawRow(absRowIndex);
        }
    });
    quincenasCol.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
    dataGrid.addColumn(quincenasCol, "Veces");
    dataGrid.setColumnWidth(quincenasCol, 68, Style.Unit.PX);

}

From source file:com.anritsu.mcrepositorymanager.client.FilterDBForm.java

public void buildPackageListTable(final CellTable table) {

    table.setPageSize(200);//from ww  w  . j ava2  s .  com

    // Attach column sort handler
    ListHandler<McPackage> sortHandler = new ListHandler<McPackage>(dataProvider.getList());
    table.addColumnSortHandler(sortHandler);

    Column<McPackage, String> packageNameColumn = new Column<McPackage, String>(
            new ButtonCell(ButtonType.LINK)) {
        @Override
        public String getValue(McPackage object) {
            return object.getName();
        }
    };
    packageNameColumn.setFieldUpdater(new FieldUpdater<McPackage, String>() {
        @Override
        public void update(int index, McPackage object, String value) {
            Set<String> dependencies = new HashSet();
            for (McPackage p : object.getDependencies()) {
                dependencies.add(p.getName() + "-" + p.getPackageVersion());
            }
            Set<String> dependencyFor = new HashSet<>();
            for (McPackage p : object.getDependencyFor()) {
                dependencyFor.add(p.getName() + "-" + p.getPackageVersion());
            }
            Notify.notify("Dependencies: " + Arrays.toString(dependencies.toArray()) + "\nDependency for: "
                    + Arrays.toString(dependencyFor.toArray()));
        }
    });
    packageNameColumn.setSortable(true);
    packageNameColumn.setDefaultSortAscending(true);
    sortHandler.setComparator(packageNameColumn, new Comparator<McPackage>() {
        @Override
        public int compare(McPackage t1, McPackage t2) {
            return t1.getName().compareTo(t2.getName());
        }
    });

    Column<McPackage, String> packageVersionColumn = new Column<McPackage, String>(
            new ButtonCell(ButtonType.LINK)) {
        @Override
        public String getValue(McPackage object) {
            return object.getPackageVersion();
        }
    };

    packageVersionColumn.setFieldUpdater(new FieldUpdater<McPackage, String>() {
        @Override
        public void update(int index, McPackage object, String value) {
            HTML html = new HTML();
            SafeHtmlBuilder sHtmlBuilder = new SafeHtmlBuilder();

            for (String stringLink : object.getDownloadLinks()) {
                sHtmlBuilder.appendHtmlConstant("<a href='" + stringLink + "'>");
                sHtmlBuilder.appendEscaped(stringLink);
                sHtmlBuilder.appendHtmlConstant("</a><br />");
            }
            html.setHTML(sHtmlBuilder.toSafeHtml());
            downloadLinkModalBody.clear();
            downloadLinkModalBody.add(html);
            downloadLinkModal.show();

        }
    });

    Column<McPackage, String> packageQ7admOutputVersionColumn = new Column<McPackage, String>(
            new ButtonCell(ButtonType.LINK)) {
        @Override
        public String getValue(McPackage object) {
            return object.getQ7admOutputVersion();
        }
    };

    TextColumn<McPackage> packageAvailabilityColumn = new TextColumn<McPackage>() {
        @Override
        public String getValue(McPackage pack) {
            return pack.getAvailability();
        }
    };

    TextColumn<McPackage> packageReleaseDateColumn = new TextColumn<McPackage>() {
        @Override
        public String getValue(McPackage pack) {
            StringBuilder dateFormated = new StringBuilder();
            if (pack.getReleaseDate() != null) {
                String[] releaseDateArray = pack.getReleaseDate().toString().split(" ");
                dateFormated
                        .append(releaseDateArray[2] + "-" + releaseDateArray[1] + "-" + releaseDateArray[5]);
                return dateFormated.toString();
            }
            return "";
        }
    };

    Column<McPackage, String> selectedForDownloadColumn = new Column<McPackage, String>(new ButtonCell()) {
        @Override
        public String getValue(McPackage object) {
            ((ButtonCell) this.getCell()).setEnabled(false);
            if (object.getDownloadLinks().isEmpty()) {
                return "Missing from DB";
            }
            if (object.isMatchFilter()) {
                ((ButtonCell) this.getCell()).setEnabled(true);
            }
            if (object.isDependency()) {
                ((ButtonCell) this.getCell()).setEnabled(false);
            }
            return (object.isAddToRepository()) ? "remove from repository" : "add to repository";
        }
    };

    selectedForDownloadColumn.setFieldUpdater(new FieldUpdater<McPackage, String>() {

        @Override
        public void update(int index, McPackage object, String value) {
            downloadRepositoryArchive.setVisible(false);
            downloadRepositoryArchive.setActive(false);

            repositoryDownloadLink.setVisible(false);
            repositoryDownloadLink.setActive(false);
            object.setAddToRepository(!object.isAddToRepository());

            // Dealing with dependencies
            HashSet<McPackage> pList = new HashSet<>();
            for (McPackage p : dataProvider.getList()) {
                if (p.isAddToRepository() && p.isMatchFilter()) {
                    p.setDependencySolved(false);
                    pList.add(p);
                }
            }
            getService().solveDependencies(pList, solveDependenciesCallback);
            Notify.notify("Package " + object.getName() + " " + value + " : " + object.isAddToRepository());
        }

    });

    table.addColumn(packageNameColumn, "Package Name");
    table.addColumn(packageQ7admOutputVersionColumn, "Installed version");
    table.addColumn(packageVersionColumn, "Package Version");
    table.addColumn(packageAvailabilityColumn, "Availability");
    table.addColumn(packageReleaseDateColumn, "Release Date");
    table.addColumn(selectedForDownloadColumn, "Add to repository");
}

From source file:com.anritsu.mcrepositorymanager.client.FilterRSSForm.java

public void buildPackageListTable() {
    packageListTable.setPageSize(200);//from w  w  w  .  j av a2s. co  m
    TextColumn<McPackage> packageNameColumn = new TextColumn<McPackage>() {
        @Override
        public String getValue(McPackage pack) {
            return pack.getName();
        }
    };

    Column<McPackage, SafeHtml> packageVersionColumn = new Column<McPackage, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(McPackage object) {
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            sb.appendHtmlConstant("<a href='" + object.getDownloadLinks().iterator().next() + "'>");
            sb.appendEscaped(object.getPackageVersion());
            sb.appendHtmlConstant("</a>");
            return sb.toSafeHtml();

        }
    };

    TextColumn<McPackage> packageQ7admOutputVersionColumn = new TextColumn<McPackage>() {
        @Override
        public String getValue(McPackage pack) {
            return pack.getQ7admOutputVersion();
        }
    };

    TextColumn<McPackage> packageAvailabilityColumn = new TextColumn<McPackage>() {
        @Override
        public String getValue(McPackage pack) {
            return pack.getAvailability();
        }
    };

    Column<McPackage, String> selectedForDownloadColumn = new Column<McPackage, String>(new ButtonCell()) {

        @Override
        public String getValue(McPackage object) {
            //Notify.notify(object.getName() + " ->" + object.isAddToRepository());
            return (object.isAddToRepository()) ? "remove from repository" : "add to repository";
        }

    };

    selectedForDownloadColumn.setFieldUpdater(new FieldUpdater<McPackage, String>() {

        @Override
        public void update(int index, McPackage object, String value) {
            object.setAddToRepository(!object.isAddToRepository());
            Notify.notify("Package " + object.getName() + " " + value);
            packageListTable.redraw();
        }

    });

    packageListTable.addColumn(packageNameColumn, "Package Name");
    packageListTable.addColumn(packageQ7admOutputVersionColumn, "Installed version");
    packageListTable.addColumn(packageVersionColumn, "Package Version");
    packageListTable.addColumn(packageAvailabilityColumn, "Availability");
    packageListTable.addColumn(selectedForDownloadColumn, "Add to repository");
}