Example usage for com.google.gwt.user.cellview.client Column Column

List of usage examples for com.google.gwt.user.cellview.client Column Column

Introduction

In this page you can find the example usage for com.google.gwt.user.cellview.client Column Column.

Prototype

public Column(Cell<C> cell) 

Source Link

Document

Construct a new Column with a given Cell .

Usage

From source file:br.org.olimpiabarbacena.client.Pesquisar.java

License:Apache License

public void listarAcervo() {
    // remove todas as colunas
    for (int i = cellTable.getColumnCount() - 1; i >= 0; i--) {
        cellTable.removeColumn(i);// w ww  .jav  a2 s .c om
    }

    // Adiciona coluna imagem para exibir o tipo.
    Column<Object, ImageResource> colunaTipo = new Column<Object, ImageResource>(new ImageResourceCell()) {

        @Override
        public ImageResource getValue(Object object) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Midia")) {
                if (((Midia) object).getTipo() == Tipo.LIVRO) {
                    return Icons.INSTANCE.livro();
                } else if (((Midia) object).getTipo() == Tipo.CD) {
                    return Icons.INSTANCE.cd();
                } else if (((Midia) object).getTipo() == Tipo.DVD) {
                    return Icons.INSTANCE.dvd();
                } else if (((Midia) object).getTipo() == Tipo.REVISTA) {
                    return Icons.INSTANCE.revista();
                } else if (((Midia) object).getTipo() == Tipo.JORNAL) {
                    return Icons.INSTANCE.jornal();
                } else {
                    return Icons.INSTANCE.desconhecido();
                }
            }

            return Icons.INSTANCE.desconhecido();
        }
    };
    cellTable.addColumn(colunaTipo, "Tipo");
    cellTable.setColumnWidth(colunaTipo, "16px");

    // Adiciona coluna texto para exibir o ttulo.
    TextColumn<Object> colunaNome = new TextColumn<Object>() {

        @Override
        public String getValue(Object object) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Midia")) {
                return ((Midia) object).getTitulo();
            }

            return new String();
        }
    };
    colunaNome.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
    cellTable.addColumn(colunaNome, "Ttulo");

    // Adiciona coluna com o boto editar.
    ButtonCell buttonCellEditar = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.editar();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Editar\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaEditar = new Column<Object, String>(buttonCellEditar) {

        @Override
        public String getValue(Object object) {
            return "Editar";
        }
    };
    colunaEditar.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Midia")) {
                if (((Midia) object).getTipo() == Tipo.LIVRO) {
                    principal.getControle().setDialogo(new DialogBox(false));

                    principal.getControle().getDialogo().setWidth("464px");
                    principal.getControle().getDialogo().setHeight("417px");

                    principal.getControle().setLivro(new br.org.olimpiabarbacena.client.formulario.midia.Livro(
                            principal, principal.getControle().getDialogo()));

                    principal.getControle().getLivro().get(((Midia) object).getId());

                    principal.getControle().getDialogo().setWidget(principal.getControle().getLivro());
                    principal.getControle().getDialogo().center();
                } else if (((Midia) object).getTipo() == Tipo.CD) {
                    principal.getControle().setDialogo(new DialogBox(false));

                    principal.getControle().getDialogo().setWidth("462px");
                    principal.getControle().getDialogo().setHeight("261px");

                    principal.getControle().setCD(new br.org.olimpiabarbacena.client.formulario.midia.CD(
                            principal, principal.getControle().getDialogo(), Tipo.CD));

                    principal.getControle().getCD().get(((Midia) object).getId());

                    principal.getControle().getDialogo().setWidget(principal.getControle().getCD());
                    principal.getControle().getDialogo().center();
                } else if (((Midia) object).getTipo() == Tipo.DVD) {
                    principal.getControle().setDialogo(new DialogBox(false));

                    principal.getControle().getDialogo().setWidth("462px");
                    principal.getControle().getDialogo().setHeight("261px");

                    principal.getControle().setCD(new br.org.olimpiabarbacena.client.formulario.midia.CD(
                            principal, principal.getControle().getDialogo(), Tipo.DVD));

                    principal.getControle().getCD().get(((Midia) object).getId());

                    principal.getControle().getDialogo().setWidget(principal.getControle().getCD());
                    principal.getControle().getDialogo().center();
                } else if (((Midia) object).getTipo() == Tipo.JORNAL) {
                    principal.getControle().setDialogo(new DialogBox(false));

                    principal.getControle().getDialogo().setWidth("460px");
                    principal.getControle().getDialogo().setHeight("359px");

                    principal.getControle()
                            .setJornal(new br.org.olimpiabarbacena.client.formulario.midia.Jornal(principal,
                                    principal.getControle().getDialogo(), Tipo.JORNAL));

                    principal.getControle().getJornal().get(((Midia) object).getId());

                    principal.getControle().getDialogo().setWidget(principal.getControle().getJornal());
                    principal.getControle().getDialogo().center();
                } else if (((Midia) object).getTipo() == Tipo.REVISTA) {
                    principal.getControle().setDialogo(new DialogBox(false));

                    principal.getControle().getDialogo().setWidth("460px");
                    principal.getControle().getDialogo().setHeight("359px");

                    principal.getControle()
                            .setJornal(new br.org.olimpiabarbacena.client.formulario.midia.Jornal(principal,
                                    principal.getControle().getDialogo(), Tipo.REVISTA));

                    principal.getControle().getJornal().get(((Midia) object).getId());

                    principal.getControle().getDialogo().setWidget(principal.getControle().getJornal());
                    principal.getControle().getDialogo().center();
                }
            }
        }
    });
    colunaEditar.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaEditar, new String());
    cellTable.setColumnWidth(colunaEditar, "16px");

    // Adiciona coluna com o boto remover.
    ButtonCell buttonCellRemover = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.remover();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Remover\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaRemover = new Column<Object, String>(buttonCellRemover) {
        @Override
        public String getValue(Object object) {
            return "Remover";
        }
    };
    colunaRemover.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Midia")) {
                if (Window.confirm(
                        "Deseja remover \"" + ((Midia) object).getTitulo() + "\" e suas dependncias?")) {
                    midiaService.remover(((Midia) object).getId(), new AsyncCallback<Void>() {

                        @Override
                        public void onFailure(Throwable caught) {
                        };

                        @Override
                        public void onSuccess(Void result) {
                            limpar();
                            listarAcervo();
                        };
                    });
                }
            }
        }
    });
    colunaRemover.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaRemover, new String());
    cellTable.setColumnWidth(colunaRemover, "16px");

    dataProvider = new AsyncDataProvider<Object>() {

        @Override
        protected void onRangeChanged(HasData<Object> display) {
            final Range range = display.getVisibleRange();
            final int start = range.getStart();
            final int end = start + range.getLength();

            midiaService.listar(textboxPesquisar.getText(), new AsyncCallback<List<Midia>>() {
                @Override
                public void onFailure(Throwable caught) {
                    Window.alert(caught.getMessage());
                }

                @Override
                public void onSuccess(List<Midia> result) {
                    // convert old list type to new list type
                    List<Object> list = new ArrayList<Object>(result.size());
                    for (Midia midia : result) {
                        list.add(midia);
                    }
                    updateRowData(start, list.subList(start, (result.size() < end) ? result.size() : end));
                    updateRowCount(result.size(), true);
                }
            });
        }
    };
    dataProvider.addDataDisplay(cellTable);
}

From source file:br.org.olimpiabarbacena.client.Pesquisar.java

License:Apache License

public void listarMembro() {
    // remove todas as colunas
    for (int i = cellTable.getColumnCount() - 1; i >= 0; i--) {
        cellTable.removeColumn(i);/*from w  ww. j a v a2s.c om*/
    }

    // Adiciona coluna texto para exibir o nome.
    TextColumn<Object> colunaNome = new TextColumn<Object>() {

        @Override
        public String getValue(Object object) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Membro")) {
                return ((Membro) object).getNome();
            }

            return new String();
        }
    };
    colunaNome.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
    cellTable.addColumn(colunaNome, "Nome");

    // Adiciona coluna com o boto editar.
    ButtonCell buttonCellEditar = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.editar();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Editar\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaEditar = new Column<Object, String>(buttonCellEditar) {

        @Override
        public String getValue(Object object) {
            return "Editar";
        }
    };
    colunaEditar.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Membro")) {
                principal.getControle().setDialogo(new DialogBox(false));

                principal.getControle().getDialogo().setWidth("466px");
                principal.getControle().getDialogo().setHeight("319px");

                br.org.olimpiabarbacena.client.formulario.Membro membro = new br.org.olimpiabarbacena.client.formulario.Membro(
                        principal, principal.getControle().getDialogo());
                membro.buttonHistorico.setVisible(false);
                membro.buttonFechar.setText("Cancelar");

                membro.get(((Membro) object).getId());

                principal.getControle().getDialogo().setWidget(membro);
                principal.getControle().getDialogo().center();
            }
        }
    });
    colunaEditar.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaEditar, new String());
    cellTable.setColumnWidth(colunaEditar, "16px");

    // Adiciona coluna com o boto remover.
    ButtonCell buttonCellRemover = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.remover();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Remover\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaRemover = new Column<Object, String>(buttonCellRemover) {
        @Override
        public String getValue(Object object) {
            return "Remover";
        }
    };
    colunaRemover.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Membro")) {
                if (Window.confirm(
                        "Deseja remover \"" + ((Membro) object).getNome() + "\" e suas dependncias?")) {
                    membroService.remover(((Membro) object).getId(), new AsyncCallback<Void>() {

                        @Override
                        public void onFailure(Throwable caught) {
                        };

                        @Override
                        public void onSuccess(Void result) {
                            limpar();
                            listarMembro();
                        };
                    });
                }
            }
        }
    });
    colunaRemover.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaRemover, new String());
    cellTable.setColumnWidth(colunaRemover, "16px");

    dataProvider = new AsyncDataProvider<Object>() {

        @Override
        protected void onRangeChanged(HasData<Object> display) {
            final Range range = display.getVisibleRange();
            final int start = range.getStart();
            final int end = start + range.getLength();

            membroService.listar(textboxPesquisar.getText(), new AsyncCallback<List<Membro>>() {
                @Override
                public void onFailure(Throwable caught) {
                    Window.alert(caught.getMessage());
                }

                @Override
                public void onSuccess(List<Membro> result) {
                    // convert old list type to new list type
                    List<Object> list = new ArrayList<Object>(result.size());
                    for (Membro membro : result) {
                        list.add(membro);
                    }
                    updateRowData(start, list.subList(start, (result.size() < end) ? result.size() : end));
                    updateRowCount(result.size(), true);
                }
            });
        }
    };
    dataProvider.addDataDisplay(cellTable);
}

From source file:br.org.olimpiabarbacena.client.Pesquisar.java

License:Apache License

public void listarEmprestimo() {
    // remove todas as colunas
    for (int i = cellTable.getColumnCount() - 1; i >= 0; i--) {
        cellTable.removeColumn(i);//  w w w  . ja  v  a2  s  .  c  om
    }

    // Adiciona coluna imagem para exibir a situao.
    Column<Object, ImageResource> colunaSituacao = new Column<Object, ImageResource>(new ImageResourceCell()) {

        @Override
        public ImageResource getValue(Object object) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Emprestimo")) {
                if (((Emprestimo) object).getEntrega() == null) {
                    return Icons.INSTANCE.emprestado();
                } else {
                    return Icons.INSTANCE.baixado();
                }
            } else {
                return Icons.INSTANCE.desconhecido();
            }
        }
    };
    cellTable.addColumn(colunaSituacao, new String());
    cellTable.setColumnWidth(colunaSituacao, "16px");

    // Adiciona coluna texto para exibir o ttulo.
    TextColumn<Object> colunaNome = new TextColumn<Object>() {

        @Override
        public String getValue(Object object) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Emprestimo")) {
                return ((Emprestimo) object).getMidiaObject().getTitulo();
            }

            return new String();
        }
    };
    colunaNome.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
    cellTable.addColumn(colunaNome, "Ttulo");

    // Adiciona coluna com o boto reservar.
    ButtonCell buttonCellReservar = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.reservar();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Reservar\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaReservar = new Column<Object, String>(buttonCellReservar) {
        @Override
        public String getValue(Object object) {
            return "Reservar";
        }
    };
    colunaReservar.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Emprestimo")) {
                principal.getControle().setDialogo(new DialogBox(false));

                principal.getControle().getDialogo().setWidth("450px");
                principal.getControle().getDialogo().setHeight("91px");

                Reserva reserva = new Reserva(((Emprestimo) object), principal.getControle().getDialogo());

                principal.getControle().getDialogo().setWidget(reserva);
                principal.getControle().getDialogo().center();
            }
        }
    });
    colunaReservar.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaReservar, new String());
    cellTable.setColumnWidth(colunaReservar, "16px");

    // Adiciona coluna com o boto reservar.
    ButtonCell buttonCellBaixar = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.baixar();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Baixar\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaBaixar = new Column<Object, String>(buttonCellBaixar) {
        @Override
        public String getValue(Object object) {
            return "Baixar";
        }
    };
    colunaBaixar.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Emprestimo")) {
                if (((Emprestimo) object).getEntrega() == null) {
                    if (Window.confirm("Deseja baixar \"" + ((Emprestimo) object).getMidiaObject().getTitulo()
                            + "\" emprestado para \"" + ((Emprestimo) object).getMembroObject().getNome()
                            + "\"?")) {
                        emprestimoService.baixar(((Emprestimo) object).getId(), new AsyncCallback<Void>() {

                            @Override
                            public void onFailure(Throwable caught) {
                            };

                            @Override
                            public void onSuccess(Void result) {
                                limpar();
                                listarEmprestimo();
                            };
                        });
                    }
                } else {
                    Window.alert("Esta mdia j foi devolvida.");
                }

            }
        }
    });
    colunaBaixar.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaBaixar, new String());
    cellTable.setColumnWidth(colunaBaixar, "16px");

    // Adiciona coluna com o boto visualizar.
    ButtonCell buttonCellVisualizar = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.visualizar();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Visualizar\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaVisualizar = new Column<Object, String>(buttonCellVisualizar) {

        @Override
        public String getValue(Object object) {
            return "Visualizar";
        }
    };
    colunaVisualizar.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Emprestimo")) {

                principal.getControle().setDialogo(new DialogBox(false));

                principal.getControle().getDialogo().setWidth("451px");
                principal.getControle().getDialogo().setHeight("124px");

                principal.getControle().getDialogo().setWidget(
                        new br.org.olimpiabarbacena.client.formulario.midia.Emprestimo(((Emprestimo) object),
                                principal.getControle().getDialogo()));
                principal.getControle().getDialogo().center();
            }
        }
    });
    colunaVisualizar.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaVisualizar, new String());
    cellTable.setColumnWidth(colunaVisualizar, "16px");

    // Adiciona coluna com o boto remover.
    ButtonCell buttonCellRemover = new ButtonCell() {

        @Override
        public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
            if (data != null) {
                ImageResource icon = Icons.INSTANCE.remover();
                String iconDisplay = AbstractImagePrototype.create(icon).getHTML();
                iconDisplay = iconDisplay.replaceFirst(">", " title=\"Remover\">");
                SafeHtml html = SafeHtmlUtils.fromTrustedString(iconDisplay);
                sb.append(html);
            }
        }
    };
    Column<Object, String> colunaRemover = new Column<Object, String>(buttonCellRemover) {
        @Override
        public String getValue(Object object) {
            return "Remover";
        }
    };
    colunaRemover.setFieldUpdater(new FieldUpdater<Object, String>() {
        @Override
        public void update(int index, Object object, String value) {
            if (object.getClass().getName().equals("br.org.olimpiabarbacena.shared.dados.Emprestimo")) {
                if (Window.confirm("Deseja remover \"" + ((Emprestimo) object).getMidiaObject().getTitulo()
                        + "\" emprestado para \"" + ((Emprestimo) object).getMembroObject().getNome()
                        + "\"?")) {
                    emprestimoService.remover(((Emprestimo) object).getId(), new AsyncCallback<Void>() {

                        @Override
                        public void onFailure(Throwable caught) {
                        };

                        @Override
                        public void onSuccess(Void result) {
                            limpar();
                            listarEmprestimo();
                        };
                    });
                }
            }
        }
    });
    colunaRemover.setCellStyleNames("gwt-cell-pointer");
    cellTable.addColumn(colunaRemover, new String());
    cellTable.setColumnWidth(colunaRemover, "16px");

    dataProvider = new AsyncDataProvider<Object>() {

        @Override
        protected void onRangeChanged(HasData<Object> display) {
            final Range range = display.getVisibleRange();
            final int start = range.getStart();
            final int end = start + range.getLength();

            emprestimoService.listar(textboxPesquisar.getText(), new AsyncCallback<List<Emprestimo>>() {
                @Override
                public void onFailure(Throwable caught) {
                    Window.alert(caught.getMessage());
                }

                @Override
                public void onSuccess(List<Emprestimo> result) {
                    // convert old list type to new list type
                    List<Object> list = new ArrayList<Object>(result.size());
                    for (Emprestimo emprestimo : result) {
                        list.add(emprestimo);
                    }
                    updateRowData(start, list.subList(start, (result.size() < end) ? result.size() : end));
                    updateRowCount(result.size(), true);
                }
            });
        }
    };
    dataProvider.addDataDisplay(cellTable);
}

From source file:cimav.client.view.catalogos.tabulador.NivelesUi.java

/**
 * Add the columns to the table./*w  ww. ja v  a2 s . c om*/
 */
private void initTableColumns(ColumnSortEvent.ListHandler<Tabulador> sortHandler) {

    // ID
    Column<Tabulador, String> idCol = new Column<Tabulador, String>(new TextCell()) {
        @Override
        public String getValue(Tabulador object) {
            return object.getId().toString();
        }
    };
    dataGrid.addColumn(idCol, "ID");
    dataGrid.setColumnWidth(idCol, 40, Style.Unit.PX);

    // Code
    Column<Tabulador, String> codigoCol = new Column<Tabulador, String>((new TextCell())) {
        @Override
        public String getValue(Tabulador object) {
            return object.getCode();
        }
    };
    codigoCol.setSortable(true);
    sortHandler.setComparator(codigoCol, new Comparator<Tabulador>() {
        @Override
        public int compare(Tabulador o1, Tabulador o2) {
            return o1.getCode().compareTo(o2.getCode());
        }
    });
    dataGrid.addColumn(codigoCol, "Cdigo");
    dataGrid.setColumnWidth(codigoCol, 70, Style.Unit.PX);

    // Sueldo
    Column<Tabulador, String> sueldoCol = new Column<Tabulador, String>(new TextCell()) {
        @Override
        public String getValue(Tabulador object) {
            NumberFormat fmt = NumberFormat.getCurrencyFormat();
            String output = object.getSueldo().toString();
            Double value = Double.parseDouble(output);
            String formatted = fmt.format(value);
            return formatted;
        }
    };
    sueldoCol.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
    sueldoCol.setSortable(true);
    sortHandler.setComparator(sueldoCol, new Comparator<Tabulador>() {
        @Override
        public int compare(Tabulador o1, Tabulador o2) {
            return o1.getSueldo().compareTo(o2.getSueldo());
        }
    });
    dataGrid.addColumn(sueldoCol, "Sueldo");
    dataGrid.setColumnWidth(sueldoCol, 60, Style.Unit.PX);

    // matDidacticos
    Column<Tabulador, String> matDidacticosCol = new Column<Tabulador, String>(new TextCell()) {
        @Override
        public String getValue(Tabulador object) {
            return object.getMatDidacticos().toString();
        }
    };
    dataGrid.addColumn(matDidacticosCol, "Mat. Didacticos");
    dataGrid.setColumnWidth(matDidacticosCol, 60, Style.Unit.PX);

    // honorarios
    Column<Tabulador, String> honorariosCol = new Column<Tabulador, String>(new TextCell()) {
        @Override
        public String getValue(Tabulador object) {
            return object.getHonorarios().toString();
        }
    };
    dataGrid.addColumn(honorariosCol, "Honorarios");
    dataGrid.setColumnWidth(honorariosCol, 60, Style.Unit.PX);

    // compGarantizadaCol
    Column<Tabulador, String> compGarantizadaCol = new Column<Tabulador, String>(new TextCell()) {
        @Override
        public String getValue(Tabulador object) {
            return object.getCompGarantizada().toString();
        }
    };
    dataGrid.addColumn(compGarantizadaCol, "Comp. Garantizada");
    dataGrid.setColumnWidth(compGarantizadaCol, 60, Style.Unit.PX);

    // cargaAdmin
    Column<Tabulador, String> cargaAdminCol = new Column<Tabulador, String>(new TextCell()) {
        @Override
        public String getValue(Tabulador object) {
            return object.getCargaAdmin().toString();
        }
    };
    dataGrid.addColumn(cargaAdminCol, "Carga Admin.");
    dataGrid.setColumnWidth(cargaAdminCol, 60, Style.Unit.PX);

}

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  w ww.  j  a va 2s .  co  m*/
        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  va2s.  c  o  m
        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 ww.j a v 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;'>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/*w  ww  .  ja va  2 s . c om*/
    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.//ww w  .  j  a va2 s .  c  o 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.Administration.client.Administration.java

License:Apache License

/**
 * ? ? /*w w  w . ja v  a2s.co m*/
 */
private void initTable() {

    //  ?  
    Column<LinkData, String> codeColumn = new Column<LinkData, String>(new TextCell()) { // C  ? - ? ?
        @Override
        public String getValue(LinkData object) { // ? ? ?  ?
            return object.getCode();
        }
    };

    codeColumn.setSortable(true); //  ?
    sortHandler.setComparator(codeColumn, new Comparator<LinkData>() { // ? 
        //  ,   ? 
        @Override
        public int compare(LinkData o1, LinkData o2) { // ? ??
            if (o1 == o2) {
                return 0;
            }

            if (o1 != null) {
                return (o2 != null) ? o1.getCode().compareTo(o2.getCode()) : 1;
            }

            return -1;
        }
    });

    cellTable.addColumn(codeColumn, "Short Link"); //   ?   

    // ? ??
    Column<LinkData, String> originalLinkColumn = new Column<LinkData, String>(new EditTextCell()) {
        @Override
        public String getValue(LinkData object) {
            return object.getLink();
        }
    };

    originalLinkColumn.setSortable(true);
    sortHandler.setComparator(originalLinkColumn, new Comparator<LinkData>() {
        @Override
        public int compare(LinkData o1, LinkData o2) {
            if (o1 == o2) {
                return 0;
            }

            if (o1 != null) {
                return (o2 != null) ? o1.getLink().compareTo(o2.getLink()) : 1;
            }

            return -1;
        }
    });

    cellTable.addColumn(originalLinkColumn, "Original Link");

    originalLinkColumn.setFieldUpdater(new FieldUpdater<LinkData, String>() { //  ? ?
        @Override
        public void update(int index, final LinkData object, final String value) { // ??   ?

            // ?  ?
            AdministrationServiceInterface.App.getInstance().setOriginalLink(object.getId(), value,
                    new AsyncCallback<Boolean>() {
                        @Override
                        public void onFailure(Throwable caught) { // ?  ? ???
                            label.setHTML("<h4>Connection error!<br>Can't update data!<h4>"); //   ?
                        }

                        @Override
                        public void onSuccess(Boolean result) { // ? ?  
                            if (!result) { // ? ?  ? ?  
                                label.setHTML("<h4>Server error!<h4>"); //  
                            } else { //  ?   ? 
                                object.setLink(value);
                                dataProvider.refresh();
                            }
                        }
                    });

        }
    });

    DateTimeFormat dateFormat = DateTimeFormat.getFormat("dd MMM yyyy"); //   

    // ? ??
    Column<LinkData, Date> createDateColumn = new Column<LinkData, Date>(new DateCell(dateFormat)) {
        @Override
        public Date getValue(LinkData object) {
            return object.getCreateDate();
        }
    };

    createDateColumn.setSortable(true);
    sortHandler.setComparator(createDateColumn, new Comparator<LinkData>() {
        @Override
        public int compare(LinkData o1, LinkData o2) {
            if (o1 == o2) {
                return 0;
            }

            if (o1 != null) {
                return (o2 != null) ? o1.getCreateDate().compareTo(o2.getCreateDate()) : 1;
            }

            return -1;
        }
    });

    cellTable.addColumn(createDateColumn, "Create date");

    DatePickerCell cell = new DatePickerCell(dateFormat); // ?? ? 

    //  ?
    Column<LinkData, Date> expiredDateColumn = new Column<LinkData, Date>(cell) {
        @Override
        public Date getValue(LinkData object) {
            return object.getExpiredDate();
        }
    };

    expiredDateColumn.setSortable(true);
    sortHandler.setComparator(expiredDateColumn, new Comparator<LinkData>() {
        @Override
        public int compare(LinkData o1, LinkData o2) {
            if (o1 == o2) {
                return 0;
            }

            if (o1 != null) {
                return (o2 != null) ? o1.getExpiredDate().compareTo(o2.getExpiredDate()) : 1;
            }

            return -1;
        }
    });

    cellTable.addColumn(expiredDateColumn, "Expired Date");

    expiredDateColumn.setFieldUpdater(new FieldUpdater<LinkData, Date>() {
        @Override
        public void update(int index, final LinkData object, final Date value) {
            AdministrationServiceInterface.App.getInstance().setExpiredDate(object.getId(), value,
                    new AsyncCallback<Boolean>() {
                        @Override
                        public void onFailure(Throwable caught) {
                            label.setHTML("<h4>Connection error!<br>Can't update data!<h4>");
                        }

                        @Override
                        public void onSuccess(Boolean result) {
                            if (!result) {
                                label.setHTML("<h4>Server error!<h4>");
                            } else {
                                object.setExpiredDate(value);
                                dataProvider.refresh();
                            }
                        }
                    });
        }
    });

    // - 
    Column<LinkData, Number> currentCountColumn = new Column<LinkData, Number>(new NumberCell()) {
        @Override
        public Number getValue(LinkData object) {
            return object.getCurrentCount();
        }
    };

    currentCountColumn.setSortable(true);
    sortHandler.setComparator(currentCountColumn, new Comparator<LinkData>() {
        @Override
        public int compare(LinkData o1, LinkData o2) {
            if (o1 == o2) {
                return 0;
            }

            if (o1 != null) {
                return (o2 != null) ? o1.getCurrentCount().compareTo(o2.getCurrentCount()) : 1;
            }

            return -1;
        }
    });

    currentCountColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);

    cellTable.addColumn(currentCountColumn, "Current visits");

    //  ?,  GWT   EditNumberCell. .
    //  ?  ? ?. ? ??  ?.

    // ? - 
    Column<LinkData, String> maxCountColumn = new Column<LinkData, String>(new EditTextCell()) {
        @Override
        public String getValue(LinkData object) {

            Integer t = object.getMaxCount();

            if (t == 0) {
                return "Infinity";
            } else {
                return t.toString(); //   GWT!!!
            }

        }
    };

    maxCountColumn.setSortable(true);
    sortHandler.setComparator(maxCountColumn, new Comparator<LinkData>() {
        @Override
        public int compare(LinkData o1, LinkData o2) {
            if (o1 == o2) {
                return 0;
            }

            if (o1 != null) {
                return (o2 != null) ? o1.getMaxCount().compareTo(o2.getMaxCount()) : 1;
            }

            return -1;
        }
    });

    maxCountColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);

    cellTable.addColumn(maxCountColumn, "Max Visits");

    maxCountColumn.setFieldUpdater(new FieldUpdater<LinkData, String>() {
        @Override
        public void update(int index, final LinkData object, final String value) {

            final Integer t;
            if (value.equals("Infinity")) {
                t = 0;
            } else {
                t = Integer.parseInt(value);
            }

            if (t < 0) {
                label.setHTML("Wrong maximum count!");
            }

            AdministrationServiceInterface.App.getInstance().setMaxCount(object.getId(), t,
                    new AsyncCallback<Boolean>() {
                        @Override
                        public void onFailure(Throwable caught) {
                            label.setHTML("<h4>Connection error!<br>Can't update data!<h4>");
                        }

                        @Override
                        public void onSuccess(Boolean result) {
                            if (!result) {
                                label.setHTML("Server error!");
                            } else {
                                object.setMaxCount(t);
                                dataProvider.refresh();
                            }
                        }
                    });

        }
    });

    // 
    Column<LinkData, String> passwordColumn = new Column<LinkData, String>(new EditTextCell()) {
        @Override
        public String getValue(LinkData object) {
            if (object.getPassword().equals("")) {
                return "";
            } else { //    ? ,   ?   
                return "*********";
            }
        }
    };

    cellTable.addColumn(passwordColumn, "Password");

    passwordColumn.setFieldUpdater(new FieldUpdater<LinkData, String>() {
        @Override
        public void update(int index, final LinkData object, final String value) {

            final String pass;

            if (value.isEmpty() || value.contains(" ")) { // ? ?   ? ?? ?  ? 
                pass = null;
            } else {
                pass = value;
            }

            AdministrationServiceInterface.App.getInstance().setPassword(object.getId(), getMD5(pass),
                    new AsyncCallback<Boolean>() {
                        @Override
                        public void onFailure(Throwable caught) {
                            label.setHTML("<h4>Connection error!<br>Can't update data!<h4>");
                        }

                        @Override
                        public void onSuccess(Boolean result) {
                            if (!result) {
                                label.setHTML("<h4>Server error!<h4>");
                            } else {
                                object.setPassword(getMD5(pass));
                                dataProvider.refresh();
                            }
                        }
                    });

        }
    });

    //  ??
    Column<LinkData, String> deleteColumn = new Column<LinkData, String>(new ButtonCell()) {
        @Override
        public String getValue(LinkData object) {
            return "Delete link"; // + object.getCode(); // + "' link";
        }
    };

    cellTable.addColumn(deleteColumn, "");

    deleteColumn.setFieldUpdater(new FieldUpdater<LinkData, String>() {
        @Override
        public void update(int index, final LinkData object, String value) {

            if (Window.confirm("Shortlink " + object.getCode() + " will be delete!")) {
                AdministrationServiceInterface.App.getInstance().deleteLink(object.getId(),
                        new AsyncCallback<Boolean>() {
                            @Override
                            public void onFailure(Throwable caught) {
                                label.setHTML("<h4>Connection error!<br>Can't delete data!<h4>");
                            }

                            @Override
                            public void onSuccess(Boolean result) {
                                if (!result) {
                                    label.setHTML("<h4>Server error!<h4>");
                                } else { // ?    ??
                                    dataProvider.getList().remove(object);
                                    dataProvider.refresh();
                                }
                            }
                        });
            }
        }
    });

}