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

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

Introduction

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

Prototype

public void setSortable(boolean sortable) 

Source Link

Document

Set whether or not the column can be sorted.

Usage

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

/**
 * Add the columns to the table./*from   w w w  .j a v  a  2s .com*/
 */
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:com.Administration.client.Administration.java

License:Apache License

/**
 * ? ? /*from w  w  w.  j av a 2s  . c o  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();
                                }
                            }
                        });
            }
        }
    });

}

From source file:com.agnie.useradmin.contextmgr.client.presenter.shared.ui.CTXUsersCellTable.java

License:Open Source License

public CTXUsersCellTable() {
    initWidget(uiBinder.createAndBindUi(this));
    multiSelectionModel = new MultiSelectionModel<UserApplicationCtxRegistrationPx>(keyProvider);
    table.setPageSize(ApplicationConfig.getInstance().getPageSize());

    Column<UserApplicationCtxRegistrationPx, Boolean> select = new Column<UserApplicationCtxRegistrationPx, Boolean>(
            new CheckboxCell(true, false)) {
        @Override/*from www .ja  va  2s.  c o m*/
        public Boolean getValue(UserApplicationCtxRegistrationPx object) {
            return multiSelectionModel.isSelected(object);
        }
    };
    table.addColumn(select, messages.select());

    Column<UserApplicationCtxRegistrationPx, String> fname = new TextColumn<UserApplicationCtxRegistrationPx>() {
        @Override
        public String getValue(UserApplicationCtxRegistrationPx object) {
            return object.getUser().getFirstName();
        }
    };
    fname.setSortable(true);
    fname.setDataStoreName("user.firstName");
    table.addColumn(fname, messages.fName());

    Column<UserApplicationCtxRegistrationPx, String> lName = new TextColumn<UserApplicationCtxRegistrationPx>() {
        @Override
        public String getValue(UserApplicationCtxRegistrationPx object) {
            return object.getUser().getLastName();
        }
    };
    lName.setSortable(true);
    lName.setDataStoreName("user.lastName");
    table.addColumn(lName, messages.lName());

    Column<UserApplicationCtxRegistrationPx, String> userName = new TextColumn<UserApplicationCtxRegistrationPx>() {
        @Override
        public String getValue(UserApplicationCtxRegistrationPx object) {
            return object.getUser().getUserName();
        }
    };
    userName.setSortable(true);
    userName.setDataStoreName("user.userName");
    table.addColumn(userName, messages.uName());

    Column<UserApplicationCtxRegistrationPx, String> status = new TextColumn<UserApplicationCtxRegistrationPx>() {
        @Override
        public String getValue(UserApplicationCtxRegistrationPx object) {
            return (object.getStatus() != null ? object.getStatus().getLocalized()
                    : RequestStatus.DISABLED.getLocalized());
        }
    };
    status.setSortable(true);
    status.setDataStoreName("status");
    table.addColumn(status, messages.status());

    Column<UserApplicationCtxRegistrationPx, String> roles = new Column<UserApplicationCtxRegistrationPx, String>(
            new ButtonCell()) {
        @Override
        public String getValue(UserApplicationCtxRegistrationPx object) {
            return messages.view_edit();
        }
    };
    roles.setFieldUpdater(new FieldUpdater<UserApplicationCtxRegistrationPx, String>() {

        @Override
        public void update(int index, UserApplicationCtxRegistrationPx object, String value) {
            if (presenter.checkPermission(Permissions.CONTEXT_USER_ROLE_MANAGER)) {
                getViewFactory().getCTXUsersView().getUserCTXRoles(object);
            }
        }
    });
    table.addColumn(roles, messages.roles());

    Column<UserApplicationCtxRegistrationPx, String> adminRoles = new Column<UserApplicationCtxRegistrationPx, String>(
            new ButtonCell()) {
        @Override
        public String getValue(UserApplicationCtxRegistrationPx object) {
            return messages.view_edit();
        }
    };
    adminRoles.setFieldUpdater(new FieldUpdater<UserApplicationCtxRegistrationPx, String>() {

        @Override
        public void update(int index, UserApplicationCtxRegistrationPx object, String value) {
            if (presenter.checkPermission(Permissions.CONTEXT_USER_ADMIN_ROLE_MANAGER)) {
                getViewFactory().getCTXUsersView().getUserCTXAdminRoles(object);
            }
        }
    });
    table.addColumn(adminRoles, messages.adminRoles());

    VerticalPanel panel = new VerticalPanel();
    Label label = new Label(messages.no_data());
    panel.add(label);
    panel.setCellHorizontalAlignment(label, HasHorizontalAlignment.ALIGN_CENTER);
    table.setEmptyTableWidget(label);
    table.setSelectionModel(multiSelectionModel,
            DefaultSelectionEventManager.<UserApplicationCtxRegistrationPx>createCustomManager(
                    new MultiSelectEventTranslator<UserApplicationCtxRegistrationPx>()));
    pager.setRangeLimited(true);
    pager.setDisplay(table);
    AsyncHandler columnSortHandler = new AsyncHandler(table);
    table.addColumnSortHandler(columnSortHandler);
}

From source file:com.agnie.useradmin.main.client.presenter.sahered.ui.AppUsersCellTable.java

License:Open Source License

public AppUsersCellTable() {
    initWidget(uiBinder.createAndBindUi(this));
    multiSelectionModel = new MultiSelectionModel<UserApplicationRegistrationPx>(keyProvider);
    table.setPageSize(ApplicationConfig.getInstance().getPageSize());

    Column<UserApplicationRegistrationPx, Boolean> select = new Column<UserApplicationRegistrationPx, Boolean>(
            new CheckboxCell(true, false)) {
        @Override//from   w w  w  .j  a v  a  2 s. c  om
        public Boolean getValue(UserApplicationRegistrationPx object) {
            return multiSelectionModel.isSelected(object);
        }
    };
    table.addColumn(select, messages.select());

    Column<UserApplicationRegistrationPx, String> fName = new TextColumn<UserApplicationRegistrationPx>() {
        @Override
        public String getValue(UserApplicationRegistrationPx object) {
            return object.getUser().getFirstName();
        }
    };
    fName.setSortable(true);
    fName.setDataStoreName("user.firstName");
    table.addColumn(fName, messages.fName());

    Column<UserApplicationRegistrationPx, String> lName = new TextColumn<UserApplicationRegistrationPx>() {
        @Override
        public String getValue(UserApplicationRegistrationPx object) {
            return object.getUser().getLastName();
        }
    };
    lName.setSortable(true);
    lName.setDataStoreName("user.lastName");
    table.addColumn(lName, messages.lName());

    Column<UserApplicationRegistrationPx, String> userName = new TextColumn<UserApplicationRegistrationPx>() {
        @Override
        public String getValue(UserApplicationRegistrationPx object) {
            return object.getUser().getUserName();
        }
    };
    userName.setSortable(true);
    userName.setDataStoreName("user.userName");
    table.addColumn(userName, messages.uName());

    Column<UserApplicationRegistrationPx, String> status = new TextColumn<UserApplicationRegistrationPx>() {
        @Override
        public String getValue(UserApplicationRegistrationPx object) {
            return (object.getStatus() != null ? object.getStatus().getLocalized()
                    : RequestStatus.DISABLED.getLocalized());
        }
    };
    status.setSortable(true);
    status.setDataStoreName("status");
    table.addColumn(status, messages.status());

    Column<UserApplicationRegistrationPx, String> roles = new Column<UserApplicationRegistrationPx, String>(
            new ButtonCell()) {
        @Override
        public String getValue(UserApplicationRegistrationPx object) {
            return messages.view_edit();
        }
    };
    roles.setFieldUpdater(new FieldUpdater<UserApplicationRegistrationPx, String>() {

        @Override
        public void update(int index, UserApplicationRegistrationPx object, String value) {
            if (presenter.checkPermission(Permissions.APPLICATION_USER_ROLE_MANAGER)) {
                getViewFactory().getAppUsersView().getUserAppRoles(object);
            }
        }
    });
    table.addColumn(roles, messages.roles());

    Column<UserApplicationRegistrationPx, String> adminRoles = new Column<UserApplicationRegistrationPx, String>(
            new ButtonCell()) {
        @Override
        public String getValue(UserApplicationRegistrationPx object) {
            return messages.view_edit();
        }
    };
    adminRoles.setFieldUpdater(new FieldUpdater<UserApplicationRegistrationPx, String>() {

        @Override
        public void update(int index, UserApplicationRegistrationPx object, String value) {
            if (presenter.checkPermission(Permissions.APPLICATION_USER_ADMIN_ROLE_MANAGER)) {
                getViewFactory().getAppUsersView().getUserAppAdminRoles(object);
            }
        }
    });
    table.addColumn(adminRoles, messages.adminRoles());

    VerticalPanel panel = new VerticalPanel();
    Label label = new Label(messages.no_data());
    panel.add(label);
    panel.setCellHorizontalAlignment(label, HasHorizontalAlignment.ALIGN_CENTER);
    table.setEmptyTableWidget(label);
    table.setSelectionModel(multiSelectionModel,
            DefaultSelectionEventManager.<UserApplicationRegistrationPx>createCustomManager(
                    new MultiSelectEventTranslator<UserApplicationRegistrationPx>()));
    pager.setRangeLimited(true);
    pager.setDisplay(table);
    AsyncHandler columnSortHandler = new AsyncHandler(table);
    table.addColumnSortHandler(columnSortHandler);
}

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

public void buildPackageListTable(final CellTable table) {

    table.setPageSize(200);//  w  w w  . ja v a 2s.  c om

    // 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.ReleaseManagement.java

public void buildPackageListTable(final CellTable table) {
    table.setPageSize(200);//ww  w. ja  va 2 s .co  m

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

    // Hide from table
    Column<RecommendedMcPackage, String> hidePackage = new Column<RecommendedMcPackage, String>(
            new ButtonCell(ButtonType.INFO, ButtonSize.EXTRA_SMALL)) {
        @Override
        public String getValue(RecommendedMcPackage object) {
            ((ButtonCell) this.getCell()).setEnabled(object.isShowInTable());
            return "Remove";
        }
    };
    hidePackage.setFieldUpdater(new FieldUpdater<RecommendedMcPackage, String>() {
        @Override
        public void update(int index, RecommendedMcPackage object, String value) {
            object.setShowInTable(false);
            table.redraw();
            getService().removeFromTable(object, removeFromTableCallback);
        }
    });

    // Component Tier
    TextColumn<RecommendedMcPackage> packageTier = new TextColumn<RecommendedMcPackage>() {
        @Override
        public String getValue(RecommendedMcPackage pack) {
            return pack.getTier().replaceAll("Anritsu/MasterClaw/", "");
        }
    };

    // Component Group
    TextColumn<RecommendedMcPackage> packageGroup = new TextColumn<RecommendedMcPackage>() {
        @Override
        public String getValue(RecommendedMcPackage pack) {
            return pack.getGroup();
        }
    };

    // Component name
    Column<RecommendedMcPackage, String> packageName = new Column<RecommendedMcPackage, String>(
            new ButtonCell(ButtonType.LINK)) {
        @Override
        public String getValue(RecommendedMcPackage object) {
            return object.getPackageName();
        }
    };
    packageName.setSortable(true);
    packageName.setDefaultSortAscending(true);
    sortHandler.setComparator(packageName, new Comparator<RecommendedMcPackage>() {
        @Override
        public int compare(RecommendedMcPackage t1, RecommendedMcPackage t2) {
            return t1.getPackageName().compareTo(t2.getPackageName());
        }
    });

    // Component version        
    Column<RecommendedMcPackage, String> packageVersion = new Column<RecommendedMcPackage, String>(
            new DynamicSelectionCell(new ArrayList())) {
        @Override
        public String getValue(RecommendedMcPackage object) {
            ((DynamicSelectionCell) this.getCell()).clear();
            String recommendedVersion = "n\\a";
            if (object.getRecommendedVersion() != null
                    && object.getRecommendedVersion().getPackageVersion() != null
                    && object.getMcVersion().equalsIgnoreCase(mcVersion)) {
                recommendedVersion = object.getRecommendedVersion().getPackageVersion();
            }
            ((DynamicSelectionCell) this.getCell()).addOption(recommendedVersion);
            for (McPackage version : object.getPackageVersions()) {
                String v = version.getPackageVersion();
                if (!v.equalsIgnoreCase(recommendedVersion)) {
                    ((DynamicSelectionCell) this.getCell()).addOption(version.getPackageVersion());
                }

            }
            return recommendedVersion;
        }
    };

    packageVersion.setFieldUpdater(new FieldUpdater<RecommendedMcPackage, String>() {
        @Override
        public void update(int index, RecommendedMcPackage object, String value) {
            object.setPackageInfoModified(true);
            for (McPackage p : object.getPackageVersions()) {
                if (p.getPackageVersion().equalsIgnoreCase(value)) {
                    object.setRecommendedVersion(p);
                }
            }
            table.redrawRow(index);
        }
    });

    // Component availability
    TextColumn<RecommendedMcPackage> packageAvailability = new TextColumn<RecommendedMcPackage>() {
        @Override
        public String getValue(RecommendedMcPackage pack) {
            return pack.getAvailability();
        }
    };
    packageAvailability.setSortable(true);
    sortHandler.setComparator(packageAvailability, new Comparator<RecommendedMcPackage>() {
        @Override
        public int compare(RecommendedMcPackage t1, RecommendedMcPackage t2) {
            return t1.getAvailability().compareTo(t2.getAvailability());
        }
    });

    // Component customers
    TextColumn<RecommendedMcPackage> packageCustomers = new TextColumn<RecommendedMcPackage>() {
        @Override
        public String getValue(RecommendedMcPackage pack) {
            if (pack.getRecommendedVersion() != null
                    && !pack.getRecommendedVersion().getCustomerList().contains("All")) {
                return Arrays.toString(pack.getRecommendedVersion().getCustomerList().toArray());
            }
            return "";
        }
    };

    // Component release date
    TextColumn<RecommendedMcPackage> packageReleaseDate = new TextColumn<RecommendedMcPackage>() {
        @Override
        public String getValue(RecommendedMcPackage pack) {
            StringBuilder dateFormated = new StringBuilder();
            if (pack.getRecommendedVersion() != null && pack.getRecommendedVersion().getReleaseDate() != null) {
                String[] releaseDateArray = pack.getRecommendedVersion().getReleaseDate().toString().split(" ");
                dateFormated.append(releaseDateArray[2]).append(".").append(releaseDateArray[1]).append(".")
                        .append(releaseDateArray[5]);
                return dateFormated.toString();
            }
            return "";
        }
    };

    // Component lessRecommended
    Column<RecommendedMcPackage, Boolean> packageLessRecommended = new Column<RecommendedMcPackage, Boolean>(
            new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(RecommendedMcPackage pack) {
            if (pack.getRecommendedVersion() != null) {
                return pack.getRecommendedVersion().isLessRecommended();
            }
            return false;
        }
    };
    packageLessRecommended.setFieldUpdater(new FieldUpdater<RecommendedMcPackage, Boolean>() {
        @Override
        public void update(int index, RecommendedMcPackage object, Boolean value) {
            object.setPackageInfoModified(true);
            object.getRecommendedVersion().setLessRecommended(value);
            table.redrawRow(index);
        }

    });

    // Component activity
    TextColumn<RecommendedMcPackage> packageActivity = new TextColumn<RecommendedMcPackage>() {
        @Override
        public String getValue(RecommendedMcPackage pack) {
            if (pack.getRecommendedVersion() != null) {
                Set<String> activitiesSet = new HashSet<String>();
                StringBuilder activities = new StringBuilder();
                for (MCPackageActivities pa : pack.getRecommendedVersion().getActivities()) {
                    if (!pa.getActivityType().equalsIgnoreCase("EPR")) {
                        activitiesSet.add(pa.getActivityType() + pa.getActivityId());
                    }
                }
                for (String s : activitiesSet) {
                    activities.append(s + " ");
                }
                return activities.toString();
            }
            return "";
        }
    };

    // Component notes
    Column<RecommendedMcPackage, String> packageNotes = new Column<RecommendedMcPackage, String>(
            new TextAreaInputCell()) {
        @Override
        public String getValue(RecommendedMcPackage pack) {
            try {
                return pack.getRecommendedVersion().getNotes();
            } catch (Exception exp) {
                return "";
            }

        }
    };
    packageNotes.setFieldUpdater(new FieldUpdater<RecommendedMcPackage, String>() {
        @Override
        public void update(int index, RecommendedMcPackage object, String value) {
            object.setPackageInfoModified(true);
            object.getRecommendedVersion().setNotes(value);
            table.redrawRow(index);
        }
    });

    // Update package
    Column<RecommendedMcPackage, String> updatePackage = new Column<RecommendedMcPackage, String>(
            new ButtonCell(ButtonType.INFO)) {
        @Override
        public String getValue(RecommendedMcPackage object) {
            String result = "Update";
            if (!object.isShowInTable()) {
                result = "Add to table";
                if (object.getRecommendedVersion() != null
                        && !object.getRecommendedVersion().getPackageVersion().equalsIgnoreCase("n\\a")) {
                    ((ButtonCell) this.getCell()).setEnabled(true);
                } else {
                    ((ButtonCell) this.getCell()).setEnabled(false);
                }
                return result;
            } else {
                ((ButtonCell) this.getCell()).setEnabled(object.isPackageInfoModified());
                return result;
            }
        }
    };
    updatePackage.setFieldUpdater(new FieldUpdater<RecommendedMcPackage, String>() {
        @Override
        public void update(int index, RecommendedMcPackage object, String value) {
            object.setRowIndex(index);
            object.setPackageInfoModified(false);
            object.setRecommendedVersionCandidate(false);
            object.setShowInTable(true);
            packageListTable.redraw();
            getService().updateRecommendedVersion(object, updateRecommendedVersionCallback);

        }
    });

    table.addColumn(hidePackage, "Remove");
    table.addColumn(packageTier, "Tier");
    table.addColumn(packageGroup, "Group");
    table.addColumn(packageName, "Package Name");
    table.addColumn(packageVersion, "Recommended version");
    table.addColumn(packageAvailability, "Availability");
    table.addColumn(packageCustomers, "Customers");
    table.addColumn(packageReleaseDate, "Release date");
    table.addColumn(packageLessRecommended, "LR");
    table.addColumn(packageActivity, "Activity");
    table.addColumn(packageNotes, "Notes");
    table.addColumn(updatePackage, "Save changes");
}

From source file:com.gafactory.core.client.ui.grids.BaseListGrid.java

License:Open Source License

protected Column<T, String> addTextEditColumn(FieldUpdater<T, String> updater,
        final Function<T, String> valueGetter, String header, int width, boolean sortable, String dataStore) {
    Column<T, String> column = new Column<T, String>(new EditTextCell()) {

        @Override//w ww  .j a  v  a2  s  .  com
        public String getValue(T object) {
            return valueGetter.apply(object);
        }
    };
    column.setFieldUpdater(updater);

    dataGrid.addColumn(column, header);
    if (width != 0) {
        dataGrid.setColumnWidth(column, width, Style.Unit.PX);
    }
    column.setSortable(sortable);
    column.setDataStoreName(dataStore);

    return column;

}

From source file:com.gafactory.core.client.ui.grids.BaseListGrid.java

License:Open Source License

protected Column<T, T> addIdentityColumn(AbstractCell<T> abstractCell, String header, int width,
        boolean sortable, String dataStore) {
    Column<T, T> column = new IdentityColumn<T>(abstractCell);

    dataGrid.addColumn(column, header);//from w  w  w  . j a  v  a2s .c o m
    dataGrid.setColumnWidth(column, width, Style.Unit.PX);
    column.setSortable(sortable);
    column.setDataStoreName(dataStore);
    return column;

}

From source file:com.gafactory.core.client.ui.grids.BaseListGrid.java

License:Open Source License

protected <C> Column<T, C> addColumn(Column<T, C> column, String header, int width, boolean sortable,
        String dataStore) {/*  ww  w  .ja v a 2s .  c o m*/
    dataGrid.addColumn(column, header);
    dataGrid.setColumnWidth(column, width, Style.Unit.PX);
    column.setSortable(sortable);
    column.setDataStoreName(dataStore);
    return column;

}

From source file:com.google.gwt.sample.showcase.client.content.cell.CwCellTable.java

License:Apache License

/**
 * Add the columns to the table.//  w w w. j a  v  a  2 s.c  o m
 */
@ShowcaseSource
private void initTableColumns(final SelectionModel<ContactInfo> selectionModel,
        ListHandler<ContactInfo> sortHandler) {
    // Checkbox column. This table will uses a checkbox column for selection.
    // Alternatively, you can call cellTable.setSelectionEnabled(true) to enable
    // mouse selection.
    Column<ContactInfo, Boolean> checkColumn = new Column<ContactInfo, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(ContactInfo object) {
            // Get the value from the selection model.
            return selectionModel.isSelected(object);
        }
    };
    cellTable.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
    cellTable.setColumnWidth(checkColumn, 40, Unit.PX);

    // First name.
    Column<ContactInfo, String> firstNameColumn = new Column<ContactInfo, String>(new EditTextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getFirstName();
        }
    };
    firstNameColumn.setSortable(true);
    sortHandler.setComparator(firstNameColumn, new Comparator<ContactInfo>() {
        public int compare(ContactInfo o1, ContactInfo o2) {
            return o1.getFirstName().compareTo(o2.getFirstName());
        }
    });
    cellTable.addColumn(firstNameColumn, constants.cwCellTableColumnFirstName());
    firstNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            // Called when the user changes the value.
            object.setFirstName(value);
            ContactDatabase.get().refreshDisplays();
        }
    });
    cellTable.setColumnWidth(firstNameColumn, 20, Unit.PCT);

    // Last name.
    Column<ContactInfo, String> lastNameColumn = new Column<ContactInfo, String>(new EditTextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getLastName();
        }
    };
    lastNameColumn.setSortable(true);
    sortHandler.setComparator(lastNameColumn, new Comparator<ContactInfo>() {
        public int compare(ContactInfo o1, ContactInfo o2) {
            return o1.getLastName().compareTo(o2.getLastName());
        }
    });
    cellTable.addColumn(lastNameColumn, constants.cwCellTableColumnLastName());
    lastNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            // Called when the user changes the value.
            object.setLastName(value);
            ContactDatabase.get().refreshDisplays();
        }
    });
    cellTable.setColumnWidth(lastNameColumn, 20, Unit.PCT);

    // Category.
    final Category[] categories = ContactDatabase.get().queryCategories();
    List<String> categoryNames = new ArrayList<String>();
    for (Category category : categories) {
        categoryNames.add(category.getDisplayName());
    }
    SelectionCell categoryCell = new SelectionCell(categoryNames);
    Column<ContactInfo, String> categoryColumn = new Column<ContactInfo, String>(categoryCell) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getCategory().getDisplayName();
        }
    };
    cellTable.addColumn(categoryColumn, constants.cwCellTableColumnCategory());
    categoryColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            for (Category category : categories) {
                if (category.getDisplayName().equals(value)) {
                    object.setCategory(category);
                }
            }
            ContactDatabase.get().refreshDisplays();
        }
    });
    cellTable.setColumnWidth(categoryColumn, 130, Unit.PX);

    // Address.
    Column<ContactInfo, String> addressColumn = new Column<ContactInfo, String>(new TextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getAddress();
        }
    };
    addressColumn.setSortable(true);
    addressColumn.setDefaultSortAscending(false);
    sortHandler.setComparator(addressColumn, new Comparator<ContactInfo>() {
        public int compare(ContactInfo o1, ContactInfo o2) {
            return o1.getAddress().compareTo(o2.getAddress());
        }
    });
    cellTable.addColumn(addressColumn, constants.cwCellTableColumnAddress());
    cellTable.setColumnWidth(addressColumn, 60, Unit.PCT);
}