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: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 ww w .  ja  va2 s.c  om
        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 av a 2  s.  com
        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.agnie.useradmin.main.client.presenter.sahered.ui.ManageContextsCellTable.java

License:Open Source License

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

    Column<ContextPx, String> name = new Column<ContextPx, String>(new TextCell()) {
        @Override//from  www  .j a v a  2s.c om
        public String getValue(ContextPx object) {
            return object.getName();
        }
    };
    table.addColumn(name, I18.messages.name());

    Column<ContextPx, String> description = new Column<ContextPx, String>(new TextCell()) {
        @Override
        public String getValue(ContextPx object) {
            return object.getDescription();
        }
    };
    table.addColumn(description, I18.messages.description());

    VerticalPanel panel = new VerticalPanel();
    Label label = new Label(I18.messages.no_data());
    panel.add(label);
    panel.setCellHorizontalAlignment(label, HasHorizontalAlignment.ALIGN_CENTER);
    table.setEmptyTableWidget(label);
    table.setSelectionModel(multiSelectionModel,
            DefaultSelectionEventManager
                    .<ContextPx>createCustomManager(new MultiSelectEventTranslator<ContextPx>(
                            new MultiSelectEventTranslator.RowSelectCommand<ContextPx>() {
                                ContextPx selected;

                                @Override
                                public void execute() {
                                    getViewFactory().getManageContextsView().setManContextViewData(selected);
                                    getViewFactory().getManageContextsView().enableSaveButton(false);
                                    getViewFactory().getManageContextsView().deleteBtnVisible(true);
                                    getViewFactory().getManageContextsView().setContextToDelete(selected);
                                }

                                @Override
                                public void setSelected(ContextPx selected) {
                                    this.selected = selected;
                                }
                            })));

    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.PermissionsCellTable.java

License:Open Source License

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

    Column<PermissionPx, Boolean> select = new Column<PermissionPx, Boolean>(new CheckboxCell(true, false)) {
        @Override//from w  ww  . j  a v a 2  s.  c  o  m
        public Boolean getValue(PermissionPx object) {
            return multiSelectionModel.isSelected(object);
        }
    };
    table.addColumn(select, "");
    table.setColumnWidth(select, 10, Unit.PX);

    Column<PermissionPx, PermissionPx> permissions = new Column<PermissionPx, PermissionPx>(
            new PermissionsCell()) {
        @Override
        public PermissionPx getValue(PermissionPx object) {
            return object;
        }
    };
    table.addColumn(permissions, I18.messages.permissions());

    VerticalPanel panel = new VerticalPanel();
    Label label = new Label(I18.messages.no_data());
    panel.add(label);
    panel.setCellHorizontalAlignment(label, HasHorizontalAlignment.ALIGN_CENTER);
    table.setEmptyTableWidget(label);
    table.setSelectionModel(multiSelectionModel,
            DefaultSelectionEventManager
                    .<PermissionPx>createCustomManager(new MultiSelectEventTranslator<PermissionPx>(
                            new MultiSelectEventTranslator.RowSelectCommand<PermissionPx>() {
                                PermissionPx selected;

                                @Override
                                public void execute() {
                                    getViewFactory().getListPermissionsView().setPermissionsViewData(selected);
                                    getViewFactory().getListPermissionsView().setPermSelToEdit(true);
                                    getViewFactory().getListPermissionsView().setPerPxToEdit(selected);
                                }

                                @Override
                                public void setSelected(PermissionPx selected) {
                                    this.selected = selected;
                                }
                            })));
    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.RolesCellTable.java

License:Open Source License

public RolesCellTable() {
    initWidget(uiBinder.createAndBindUi(this));

    multiSelectionModel = new MultiSelectionModel<RolePx>(keyProvider);
    table.setPageSize(ApplicationConfig.getInstance().getPageSize());

    Column<RolePx, Boolean> select = new Column<RolePx, Boolean>(new CheckboxCell(true, false)) {
        @Override/*from  w  ww  . j av  a 2 s  . c  om*/
        public Boolean getValue(RolePx object) {
            return multiSelectionModel.isSelected(object);
        }
    };
    table.addColumn(select, "");
    table.setColumnWidth(select, 10, Unit.PX);

    Column<RolePx, RolePx> roles = new Column<RolePx, RolePx>(new RolesCell()) {
        @Override
        public RolePx getValue(RolePx object) {
            return object;
        }
    };
    table.addColumn(roles, I18.messages.role());

    VerticalPanel panel = new VerticalPanel();
    Label label = new Label(I18.messages.no_data());
    panel.add(label);
    panel.setCellHorizontalAlignment(label, HasHorizontalAlignment.ALIGN_CENTER);
    table.setEmptyTableWidget(label);
    table.setSelectionModel(multiSelectionModel, DefaultSelectionEventManager.<RolePx>createCustomManager(
            new MultiSelectEventTranslator<RolePx>(new MultiSelectEventTranslator.RowSelectCommand<RolePx>() {
                RolePx selected;

                @Override
                public void execute() {
                    getViewFactory().getListRolesView().setRoleSelToEdit(true);
                    getViewFactory().getListRolesView().setRolePxToEdit(selected);
                    presenter.getPermById(selected);
                }

                @Override
                public void setSelected(RolePx selected) {
                    this.selected = selected;
                }
            })));
    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);/*from  w  w w. j av  a  2 s  . com*/

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

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

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

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

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

        }
    });

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

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

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

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

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

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

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

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

    });

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

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

public void buildPackageListTable() {
    packageListTable.setPageSize(200);/*from ww  w .ja v  a  2  s .  c  om*/
    TextColumn<McPackage> packageNameColumn = new TextColumn<McPackage>() {
        @Override
        public String getValue(McPackage pack) {
            return pack.getName();
        }
    };

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

        }
    };

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

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

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

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

    };

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

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

    });

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

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

public void buildPackageListTable(final CellTable table) {
    table.setPageSize(200);//from w w  w  . ja va2 s .  c om

    // 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.appspot.socialinquirer.client.view.ActivityViewImpl.java

License:Apache License

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

    // Name.
    Column<NamedBean, String> nameColumn = new Column<NamedBean, String>(new ClickableTextCell()) {
        @Override
        public String getValue(NamedBean object) {
            return object.getName();
        }
    };
    table.addColumn(nameColumn, constants.templatesTableColumnName());
    // Headline.
    //       Column<NamedBean, String> tagsColumn = new Column<NamedBean, String>(
    //           new ClickableTextCell()) {
    //         @Override
    //         public String getValue(NamedBean object) {
    //            StringBuilder builder = new StringBuilder();
    //            for (String tag : object.getTags()) {
    //               builder.append(tag).append(" ");
    //            }
    //           return builder.toString();
    //           
    //         }
    //       };
    //       table.addColumn(tagsColumn, constants.templatesTableColumnTags());

    // Description
    Column<NamedBean, SafeHtml> descColumn = new Column<NamedBean, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(NamedBean object) {
            SafeHtmlBuilder builder = new SafeHtmlBuilder();
            builder.appendHtmlConstant(object.getDescription());
            return builder.toSafeHtml();
        }
    };
    table.addColumn(descColumn, constants.templatesTableColumnSummary());
}

From source file:com.appspot.socialinquirer.client.view.HomeViewImpl.java

License:Apache License

/**
 * Inits the table columns.//from   www  . j a  v  a  2 s  .  c  om
 *
 * @param table the table
 * @param selectionModel the selection model
 */
private void initTableColumns(CellTable<Question> table, final SelectionModel<Question> selectionModel) {
    // Checkbox column. This table will uses a checkbox column for selection.
    // Alternatively, you can call cellTable.setSelectionEnabled(true) to enable
    // mouse selection.
    Column<Question, Boolean> checkColumn = new Column<Question, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(Question object) {
            // Get the value from the selection model.
            return selectionModel.isSelected(object);
        }
    };
    table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));

    // Title.
    Column<Question, SafeHtml> titleColumn = new Column<Question, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Question object) {
            return SafeHtmlUtils.fromSafeConstant(object.getTitle());
        }
    };
    table.addColumn(titleColumn, constants.templatesTableColumnName());
    // Description.
    Column<Question, SafeHtml> textColumn = new Column<Question, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Question object) {
            return SafeHtmlUtils.fromSafeConstant(object.getContent());
        }
    };
    table.addColumn(textColumn, constants.templatesTableColumnSummary());
    // Due Date.
    Column<Question, Date> dueDateColumn = new Column<Question, Date>(new DateCell()) {
        @Override
        public Date getValue(Question object) {
            return object.getPublishedDate();
        }
    };
    table.addColumn(dueDateColumn, constants.templatesTableColumnTags());
}