Example usage for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel

List of usage examples for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel

Introduction

In this page you can find the example usage for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel.

Prototype

public SingleSelectionModel(ProvidesKey<T> keyProvider) 

Source Link

Document

Constructs a SingleSelectionModel with the given key provider.

Usage

From source file:org.jboss.as.console.client.administration.accesscontrol.ui.AssignmentDialog.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Widget asWidget() {
    ProvidesKey<Role> keyProvider = Role::getId;

    AbstractCell<Role> roleCell = new AbstractCell<Role>() {
        @Override/*from   w  w w.j a  v  a 2 s.c o m*/
        public void render(final Context context, final Role value, final SafeHtmlBuilder sb) {
            sb.append(Templates.roleItem("navigation-column-item", value));
        }
    };
    DefaultCellList<Role> list = new DefaultCellList<>(roleCell, keyProvider);
    list.setPageSize(30);
    list.setKeyboardPagingPolicy(INCREASE_RANGE);
    list.setKeyboardSelectionPolicy(BOUND_TO_SELECTION);

    ListDataProvider<Role> dataProvider = new ListDataProvider<>(keyProvider);
    dataProvider.setList(
            Roles.orderedByType().compound(Roles.orderedByName()).immutableSortedCopy(unassignedRoles));
    dataProvider.addDataDisplay(list);

    SingleSelectionModel<Role> selectionModel = new SingleSelectionModel<>(keyProvider);
    list.setSelectionModel(selectionModel);
    selectionModel.setSelected(dataProvider.getList().get(0), true);
    Scheduler.get().scheduleDeferred(() -> list.setFocus(true));

    Label errorMessage = new Label();
    errorMessage.setVisible(false);
    errorMessage.getElement().getStyle().setColor("#c82e2e");
    errorMessage.getElement().getStyle().setPadding(7, PX);

    VerticalPanel layout = new VerticalPanel();
    layout.setStyleName("window-content");
    layout.add(errorMessage);
    layout.add(list);

    DialogueOptions options = new DialogueOptions(event -> {
        if (selectionModel.getSelectedObject() == null) {
            errorMessage.setText(Console.CONSTANTS.pleaseSelectRole());
            errorMessage.setVisible(true);
        } else {
            Assignment assignment = new Assignment(principal, selectionModel.getSelectedObject(), include);
            circuit.dispatch(new AddAssignment(assignment, PRINCIPAL_TO_ROLE));
            presenter.closeWindow();
        }
    }, event -> presenter.closeWindow());

    return new WindowContentBuilder(layout, options).build();
}

From source file:org.jboss.as.console.client.administration.accesscontrol.ui.MemberDialog.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Widget asWidget() {
    ProvidesKey<Principal> keyProvider = Principal::getId;

    AbstractCell<Principal> roleCell = new AbstractCell<Principal>() {
        @Override/*from w  ww .  j av a 2 s .c o  m*/
        public void render(final Context context, final Principal value, final SafeHtmlBuilder sb) {
            sb.append(Templates.memberItem("navigation-column-item", value));
        }
    };
    DefaultCellList<Principal> list = new DefaultCellList<>(roleCell, keyProvider);
    list.setPageSize(30);
    list.setKeyboardPagingPolicy(INCREASE_RANGE);
    list.setKeyboardSelectionPolicy(BOUND_TO_SELECTION);

    ListDataProvider<Principal> dataProvider = new ListDataProvider<>(keyProvider);
    dataProvider.setList(Principals.orderedByType().compound(Principals.orderedByName())
            .immutableSortedCopy(unassignedPrincipals));
    dataProvider.addDataDisplay(list);

    SingleSelectionModel<Principal> selectionModel = new SingleSelectionModel<>(keyProvider);
    list.setSelectionModel(selectionModel);
    selectionModel.setSelected(dataProvider.getList().get(0), true);
    Scheduler.get().scheduleDeferred(() -> list.setFocus(true));

    Label errorMessage = new Label();
    errorMessage.setVisible(false);
    errorMessage.getElement().getStyle().setColor("#c82e2e");
    errorMessage.getElement().getStyle().setPadding(7, PX);

    VerticalPanel layout = new VerticalPanel();
    layout.setStyleName("window-content");
    layout.add(errorMessage);
    layout.add(list);

    DialogueOptions options = new DialogueOptions(event -> {
        if (selectionModel.getSelectedObject() == null) {
            errorMessage.setText(Console.CONSTANTS.pleaseSelectPrincipal());
            errorMessage.setVisible(true);
        } else {
            Assignment assignment = new Assignment(selectionModel.getSelectedObject(), role, include);
            circuit.dispatch(new AddAssignment(assignment, ROLE_TO_PRINCIPAL));
            presenter.closeWindow();
        }
    }, event -> presenter.closeWindow());

    return new WindowContentBuilder(layout, options).build();
}

From source file:org.jboss.as.console.client.administration.role.ui.RoleAssignmentTable.java

License:Open Source License

@SuppressWarnings("unchecked")
public Widget asWidget() {
    VerticalPanel content = new VerticalPanel();
    content.setStyleName("fill-layout-width");

    // table//w  w  w. j  a v  a 2s.  c  o  m
    RoleAssignment.Key keyProvider = new RoleAssignment.Key();
    table = new DefaultCellTable<RoleAssignment>(5, keyProvider);
    dataProvider = new ListDataProvider<RoleAssignment>(keyProvider);
    dataProvider.addDataDisplay(table);
    selectionModel = new SingleSelectionModel<RoleAssignment>(keyProvider);
    table.setSelectionModel(selectionModel);

    // columns
    Column<RoleAssignment, RoleAssignment> principalColumn = new Column<RoleAssignment, RoleAssignment>(
            UIHelper.newPrincipalCell()) {
        @Override
        public RoleAssignment getValue(final RoleAssignment assignment) {
            return assignment;
        }
    };
    Column<RoleAssignment, RoleAssignment> roleColumn = new Column<RoleAssignment, RoleAssignment>(
            UIHelper.newRolesCell()) {
        @Override
        public RoleAssignment getValue(final RoleAssignment assignment) {
            return assignment;
        }
    };
    table.addColumn(principalColumn, type == GROUP ? "Group" : "User");
    table.addColumn(roleColumn, "Roles");
    content.add(table);

    // pager
    DefaultPager pager = new DefaultPager();
    pager.setDisplay(table);
    content.add(pager);

    return content;
}

From source file:org.jboss.as.console.client.administration.role.ui.RoleTable.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Widget asWidget() {
    ProvidesKey<Role> keyProvider = new Role.Key();
    table = new DefaultCellTable<Role>(pageSize, keyProvider);
    dataProvider = new ListDataProvider<Role>(keyProvider);
    dataProvider.addDataDisplay(table);/*from   ww  w.jav a 2s. co m*/
    selectionModel = new SingleSelectionModel<Role>(keyProvider);
    table.setSelectionModel(selectionModel);

    // first column: name
    TextColumn<Role> nameColumn = new TextColumn<Role>() {
        @Override
        public String getValue(Role role) {
            return role.getName();
        }
    };
    table.addColumn(nameColumn, Console.CONSTANTS.common_label_name());
    // additional columns: subclasses turn
    additionalColumns(table);
    // last column: include all
    Column<Role, Boolean> includeAllColumn = new Column<Role, Boolean>(new IncludeAllCell()) {
        @Override
        public Boolean getValue(final Role role) {
            return role.isIncludeAll();
        }
    };
    table.addColumn(includeAllColumn, "Include All");

    VerticalPanel content = new VerticalPanel();
    content.setStyleName("fill-layout-width");
    content.add(table);
    return content;
}

From source file:org.jboss.as.console.client.domain.groups.deployment.ContentRepositoryPanel.java

License:Open Source License

@SuppressWarnings("unchecked")
private Widget initUI() {
    String[] columnHeaders = new String[] { Console.CONSTANTS.common_label_name(),
            Console.CONSTANTS.common_label_runtimeName() };
    List<Column> columns = makeNameAndRuntimeColumns();

    DeploymentDataKeyProvider<DeploymentRecord> keyProvider = new DeploymentDataKeyProvider<DeploymentRecord>();
    deploymentsTable = new DefaultCellTable<DeploymentRecord>(8, keyProvider);
    for (int i = 0; i < columnHeaders.length; i++) {
        deploymentsTable.addColumn(columns.get(i), columnHeaders[i]);
    }//from   w  ww .j a  v  a  2 s .c o m
    deploymentsTable.addColumn(new TextColumn<DeploymentRecord>() {
        @Override
        public String getValue(DeploymentRecord deployment) {
            return String.valueOf(contentRepository.getNumberOfAssignments(deployment));
        }
    }, "Assignments");

    deploymentSelection = new SingleSelectionModel<DeploymentRecord>(keyProvider);
    deploymentsTable.setSelectionModel(deploymentSelection);

    deploymentData = new ListDataProvider<DeploymentRecord>();
    deploymentData.addDataDisplay(deploymentsTable);

    SafeHtmlBuilder tableFooter = new SafeHtmlBuilder();
    tableFooter.appendHtmlConstant(
            "<span style='font-size:10px;color:#A7ABB4;'>[1] File System Deployment</span>");

    Form<DeploymentRecord> form = new Form<DeploymentRecord>(DeploymentRecord.class);
    form.setNumColumns(2);
    form.setEnabled(true);
    TextAreaItem name = new TextAreaItem("name", "Name");
    TextAreaItem runtimeName = new TextAreaItem("runtimeName", "Runtime Name");
    final ListItem groups = new ListItem("assignments", "Assigned Groups");
    form.setFields(name, runtimeName, groups);
    form.bind(deploymentsTable);

    deploymentSelection.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            DeploymentRecord selection = deploymentSelection.getSelectedObject();
            if (selection != null) {
                List<String> serverGroups = contentRepository.getServerGroups(selection);
                groups.setValue(serverGroups);
            }
        }
    });

    final ToolStrip toolStrip = new ToolStrip();
    filter = new DeploymentFilter(deploymentData);
    toolStrip.addToolWidget(filter.asWidget());

    ToolButton addContentBtn = new ToolButton(Console.CONSTANTS.common_label_add(), new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            presenter.launchNewDeploymentDialoge(null, false);
        }
    });
    addContentBtn.ensureDebugId(Console.DEBUG_CONSTANTS.debug_label_addContent_deploymentsOverview());
    toolStrip.addToolButtonRight(addContentBtn);

    toolStrip.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_remove(), new ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {
            final DeploymentRecord selection = deploymentSelection.getSelectedObject();
            if (selection != null) {
                new DeploymentCommandDelegate(ContentRepositoryPanel.this.presenter,
                        DeploymentCommand.REMOVE_FROM_DOMAIN).execute(selection);
            }
        }
    }));

    toolStrip.addToolButtonRight(new ToolButton("Assign", new ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {
            final DeploymentRecord selection = deploymentSelection.getSelectedObject();
            if (selection != null) {
                new DeploymentCommandDelegate(ContentRepositoryPanel.this.presenter,
                        DeploymentCommand.ADD_TO_GROUP).execute(selection);
            }
        }
    }));

    toolStrip.addToolButtonRight(new ToolButton("Replace", new ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {

            final DeploymentRecord selection = deploymentSelection.getSelectedObject();
            if (selection != null) {
                new DeploymentCommandDelegate(ContentRepositoryPanel.this.presenter,
                        DeploymentCommand.UPDATE_CONTENT).execute(selection);
            }
        }
    }));

    Form<DeploymentRecord> form2 = new Form<DeploymentRecord>(DeploymentRecord.class);
    form2.setNumColumns(2);
    form2.setEnabled(true);
    TextAreaItem path = new TextAreaItem("path", "Path");
    TextBoxItem relative = new TextBoxItem("relativeTo", "Relative To");
    form2.setFields(path, relative);
    form2.bind(deploymentsTable);

    MultipleToOneLayout layout = new MultipleToOneLayout().setPlain(true)
            .setHeadline(Console.CONSTANTS.common_label_contentRepository())
            .setMaster(Console.MESSAGES.available("Deployment Content"), deploymentsTable)
            .setMasterTools(toolStrip).setMasterFooter(new HTML(tableFooter.toSafeHtml()))
            .setDescription(
                    "The content repository contains all deployed content. Contents need to be assigned to sever groups in order to become effective.")
            .addDetail(Console.CONSTANTS.common_label_attributes(), form.asWidget())
            .addDetail("Path", form2.asWidget());
    return layout.build();
}

From source file:org.jboss.as.console.client.domain.groups.deployment.ServerGroupDeploymentBrowser.java

License:Open Source License

Widget asWidget() {
    DeploymentDataKeyProvider<DeploymentRecord> keyProvider = new DeploymentDataKeyProvider<DeploymentRecord>();
    final SingleSelectionModel<DeploymentRecord> selectionModel = new SingleSelectionModel<DeploymentRecord>(
            keyProvider);//from w  w w  . ja  va  2 s .  c  om

    ToolStrip tools = new ToolStrip();
    tools.addToolButtonRight(new ToolButton("Assign", new ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {
            presenter.launchAssignDeploymentToGroupWizard(currentServerGroup);
        }
    }));
    tools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_remove(), new

    ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {
            DeploymentRecord selection = selectionModel.getSelectedObject();
            if (selection != null) {
                presenter.onRemoveDeploymentInGroup(selection);
            }
        }
    }));
    tools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_enOrDisable(), new

    ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {
            DeploymentRecord selection = selectionModel.getSelectedObject();
            if (selection != null) {
                presenter.onDisableDeploymentInGroup(selection);
            }
        }
    }));

    deploymentBrowser = new DeploymentBrowser(deploymentStore, selectionModel);

    header = new ContentHeaderLabel();
    description = new ContentDescription("Deployments assigned to this server group.");
    SimpleLayout layout = new SimpleLayout().setPlain(true).setHeadlineWidget(header).setDescription("")
            .addContent("description", description).addContent("tools", tools)
            .addContent("browser", deploymentBrowser.getCellBrowser().asWidget())
            .addContent("breadcrumb", deploymentBrowser.getBreadcrumb())
            .addContent("context", deploymentBrowser.getContextPanel());
    return layout.build();
}

From source file:org.jboss.as.console.client.domain.groups.deployment.ServerGroupDeploymentPanel.java

License:Open Source License

@SuppressWarnings("unchecked")
private Widget initUI() {
    pagedView = new PagedView();

    ProvidesKey<ServerGroupRecord> keyProvider = new ProvidesKey<ServerGroupRecord>() {
        @Override/*from  ww w  . ja v a  2s .co m*/
        public Object getKey(ServerGroupRecord serverGroupRecord) {
            return serverGroupRecord.getName() + "_" + serverGroupRecord.getProfileName();
        }
    };
    DefaultCellTable<ServerGroupRecord> serverGroups = new DefaultCellTable<ServerGroupRecord>(8, keyProvider);
    serverGroupData = new ListDataProvider<ServerGroupRecord>();
    this.serverGroupData.addDataDisplay(serverGroups);
    DefaultPager pager = new DefaultPager();
    pager.setDisplay(serverGroups);

    selectionModel = new SingleSelectionModel<ServerGroupRecord>(keyProvider);
    serverGroups.setSelectionModel(selectionModel);

    Column nameColumn = new TextColumn<ServerGroupRecord>() {
        @Override
        public String getValue(ServerGroupRecord serverGroup) {
            return serverGroup.getName();
        }
    };
    Column profileColumn = new TextColumn<ServerGroupRecord>() {
        @Override
        public String getValue(ServerGroupRecord serverGroup) {
            return serverGroup.getProfileName();
        }
    };
    serverGroups.addColumn(nameColumn, Console.CONSTANTS.common_label_serverGroup());
    serverGroups.addColumn(profileColumn, Console.CONSTANTS.common_label_profile());

    ActionCell.Delegate<ServerGroupRecord> actionDelegate = new ActionCell.Delegate<ServerGroupRecord>() {
        @Override
        public void execute(ServerGroupRecord selection) {
            groupDeploymentBrowser.updateGroup(selection, contentRepository.getDeployments(selection));
            pagedView.showPage(1);
        }
    };
    Column<ServerGroupRecord, ServerGroupRecord> option = new Column<ServerGroupRecord, ServerGroupRecord>(
            new ViewLinkCell<ServerGroupRecord>(Console.CONSTANTS.common_label_view(), actionDelegate)) {
        @Override
        public ServerGroupRecord getValue(ServerGroupRecord manager) {
            return manager;
        }
    };
    serverGroups.addColumn(option, Console.CONSTANTS.common_label_option());

    VerticalPanel wrapper = new VerticalPanel();
    wrapper.add(serverGroups.asWidget());
    wrapper.add(pager);
    SimpleLayout overviewPanel = new SimpleLayout().setPlain(true).setHeadline("Server Groups")
            .setDescription("Please chose a server group to assign deployment contents.")
            .addContent("Available Groups", wrapper);

    groupDeploymentBrowser = new ServerGroupDeploymentBrowser(presenter, deploymentStore, hostInfoStore);
    pagedView.addPage(Console.CONSTANTS.common_label_back(), overviewPanel.build());
    pagedView.addPage("Group Deployments", groupDeploymentBrowser.asWidget());
    pagedView.showPage(0);

    LayoutPanel layout = new LayoutPanel();
    layout.add(pagedView.asWidget());
    return layout;
}

From source file:org.jboss.as.console.client.shared.hosts.ConfigurationChangesEditor.java

License:Open Source License

@SuppressWarnings("unchecked")
public Widget asWidget() {

    ProvidesKey<ModelNode> providesKey = node -> node.get("operation-date").asString();
    table = new DefaultCellTable<>(20, providesKey);

    dataProvider = new ListDataProvider<>(providesKey);
    dataProvider.addDataDisplay(table);/* w  ww. j  av a  2  s. c o  m*/

    // the date / time column
    table.addColumn(new TextColumn<ModelNode>() {
        @Override
        public String getValue(ModelNode item) {
            // the operation-date is 2016-07-08T22:39:50.783Z
            // there is some format to facilitate user experience 
            // by replacing the T with a blank space
            String opTimestamp = item.get("operation-date").asString();
            opTimestamp = opTimestamp.replaceFirst("T", " ");
            return opTimestamp;
        }
    }, "Date and time");

    // access-mechanism column
    TextColumn<ModelNode> accessMechanismColumn = createColumn("access-mechanism");
    accessMechanismColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    table.addColumn(accessMechanismColumn, "Access Mechanism");

    // remote address column
    TextColumn<ModelNode> remoteAddressColumn = new TextColumn<ModelNode>() {
        @Override
        public String getValue(ModelNode item) {
            // the remote address is 10.10.10.10/10.10.10.10
            // to facilitate user experience we cut at at first slash
            String clientAddress = item.get("remote-address").asString();
            clientAddress = clientAddress.substring(0, clientAddress.indexOf("/"));
            return clientAddress;
        }
    };
    remoteAddressColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    table.addColumn(remoteAddressColumn, "Remote address");

    // the resource address 
    TextColumn<ModelNode> resourceColumn = new TextColumn<ModelNode>() {
        @Override
        public String getValue(ModelNode item) {
            return StringUtils.shortenStringIfNecessary(extractResourceAddress(item), 63);
        }
    };
    table.addColumn(resourceColumn, "Resource address");
    table.setColumnWidth(resourceColumn, 50, Style.Unit.PCT);

    // operation column
    table.addColumn(new TextColumn<ModelNode>() {
        @Override
        public String getValue(ModelNode item) {
            return item.get(OPERATIONS).get(0).get(OP).asString();
        }
    }, "Operation");

    // result column
    table.addColumn(createColumn(OUTCOME), "Result");
    table.setTableLayoutFixed(false);

    // the details panel
    selectionModel = new SingleSelectionModel<>(providesKey);
    selectionModel.addSelectionChangeHandler(event -> {
        ModelNode changeDetails = selectionModel.getSelectedObject();
        if (changeDetails != null) {
            detailsConfigurationChange.setValue(changeDetails.toString());
        }
    });
    table.setSelectionModel(selectionModel);

    detailsConfigurationChange = new TextAreaItem("details", "Details 1", 20);
    detailsConfigurationChange.setEnabled(false);

    HorizontalPanel header = new HorizontalPanel();
    header.addStyleName("fill-layout-width");
    header.add(new HTML("<h3 class='metric-label-embedded'>Configuration change details</h3>"));

    VerticalPanel detailsPanel = new VerticalPanel();
    detailsPanel.addStyleName("metric-container");
    detailsPanel.add(header);
    detailsPanel.add(detailsConfigurationChange.asWidget());

    // ======================
    DefaultPager pager = new DefaultPager();
    pager.setDisplay(table);

    VerticalPanel tableAndPager = new VerticalPanel();
    tableAndPager.setStyleName("fill-layout-width");
    tableAndPager.add(table);
    tableAndPager.add(pager);

    SimpleLayout layout = new SimpleLayout().setPlain(true).setHeadline("Configuration Changes")
            .setDescription(SafeHtmlUtils.fromString(Console.MESSAGES.configuration_changes_description()))
            .addContent("", toolstripButtons()).addContent("", tableAndPager).addContent("", detailsPanel);

    return layout.build();
}

From source file:org.jboss.as.console.client.shared.patching.ui.DomainPanel.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Widget asWidget() {

    // table//from w w w .j  ava  2s  .c o m
    ProvidesKey<Patches> keyProvider = new ProvidesKey<Patches>() {
        @Override
        public Object getKey(Patches entry) {
            return entry.getHost();
        }
    };
    DefaultCellTable<Patches> table = new DefaultCellTable<>(8, keyProvider);
    dataProvider.addDataDisplay(table);
    DefaultPager pager = new DefaultPager();
    pager.setDisplay(table);
    SingleSelectionModel<Patches> selectionModel = new SingleSelectionModel<>(keyProvider);
    table.setSelectionModel(selectionModel);

    // columns
    Column nameColumn = new TextColumn<Patches>() {
        @Override
        public String getValue(Patches patches) {
            return patches.getHost();
        }
    };
    Column patchInfoColumn = new TextColumn<Patches>() {
        @Override
        public String getValue(Patches patches) {
            StringBuilder builder = new StringBuilder();
            PatchInfo latest = patches.getLatest();
            if (latest != null) {
                builder.append(latest.getId());
            } else {
                builder.append("n/a");
            }
            return builder.toString();
        }
    };
    ActionCell.Delegate<Patches> actionDelegate = new ActionCell.Delegate<Patches>() {
        @Override
        public void execute(Patches patches) {
            circuit.dispatch(new HostSelection(patches.getHost()));
            patchInfoPanel.update(patches);
            pagedView.showPage(1);
        }
    };
    Column<Patches, Patches> option = new Column<Patches, Patches>(
            new ViewLinkCell<Patches>(Console.CONSTANTS.common_label_view(), actionDelegate)) {
        @Override
        public Patches getValue(Patches entry) {
            return entry;
        }
    };
    table.addColumn(nameColumn, Console.CONSTANTS.common_label_host());
    table.addColumn(patchInfoColumn, Console.CONSTANTS.patch_manager_latest());
    table.addColumn(option, Console.CONSTANTS.common_label_option());

    VerticalPanel wrapper = new VerticalPanel();
    wrapper.add(table);
    wrapper.add(pager);
    SimpleLayout overviewPanel = new SimpleLayout().setPlain(true).setHeadline("Patch Management")
            .setDescription(Console.MESSAGES.pleaseChoseanItem())
            .addContent(Console.MESSAGES.available("Groups"), wrapper);

    VerticalPanel patchInfoWrapper = new VerticalPanel();
    patchInfoWrapper.setStyleName("rhs-content-panel");
    patchInfoWrapper.add(patchInfoPanel);

    pagedView.addPage("Hosts", overviewPanel.build());
    pagedView.addPage("Patches", new ScrollPanel(patchInfoWrapper));
    pagedView.showPage(0);

    DefaultTabLayoutPanel tabLayoutPanel = new DefaultTabLayoutPanel(40, Style.Unit.PX);
    tabLayoutPanel.addStyleName("default-tabpanel");
    tabLayoutPanel.add(pagedView.asWidget(), "Patch Management");
    return tabLayoutPanel;
}

From source file:org.jboss.as.console.client.shared.patching.ui.PatchInfoTable.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Widget asWidget() {

    VerticalPanel layout = new VerticalPanel();
    layout.setStyleName("fill-layout-width");

    ProvidesKey<PatchInfo> keyProvider = new ProvidesKey<PatchInfo>() {
        @Override/*  ww w  . jav a2 s.  c o  m*/
        public Object getKey(PatchInfo item) {
            return item.getId();
        }
    };
    DefaultCellTable<PatchInfo> table = new DefaultCellTable<PatchInfo>(PAGE_SIZE, keyProvider);
    table.getElement().setId(asId(PREFIX, getClass()));
    selectionModel = new SingleSelectionModel(keyProvider);
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            updateDetails(selectionModel.getSelectedObject());
        }
    });
    table.setSelectionModel(selectionModel);
    dataProvider = new ListDataProvider<PatchInfo>();
    dataProvider.addDataDisplay(table);

    TextColumn<PatchInfo> idColumn = new TextColumn<PatchInfo>() {
        @Override
        public String getValue(PatchInfo record) {
            return record.getId();
        }
    };

    TextColumn<PatchInfo> patchStreamColumn = new TextColumn<PatchInfo>() {
        @Override
        public String getValue(PatchInfo record) {
            return record.getIdentityName();
        }
    };

    TextColumn<PatchInfo> dateColumn = new TextColumn<PatchInfo>() {
        @Override
        public String getValue(PatchInfo record) {
            return record.getAppliedAt();
        }
    };
    TextColumn<PatchInfo> typeColumn = new TextColumn<PatchInfo>() {
        @Override
        public String getValue(PatchInfo record) {
            return record.getType();
        }
    };
    TextColumn<PatchInfo> inEffectColumn = new TextColumn<PatchInfo>() {
        @Override
        public String getValue(PatchInfo record) {
            return record.isInEffect() ? "true" : "false";
        }
    };
    table.addColumn(idColumn, "ID");
    table.addColumn(patchStreamColumn, Console.CONSTANTS.common_label_patch_stream());
    table.addColumn(dateColumn, Console.CONSTANTS.common_label_date());
    table.addColumn(typeColumn, Console.CONSTANTS.common_label_type());
    table.addColumn(inEffectColumn, Console.CONSTANTS.patch_manager_in_effect());

    DefaultPager pager = new DefaultPager();
    pager.getElement().setId(asId(PREFIX, getClass(), "_Pager"));
    pager.setDisplay(table);

    detailsForm = new Form<>(PatchInfo.class);
    detailsForm.setEnabled(false);
    TextItem name = new TextItem("identityName", "Target");
    TextItem version = new TextItem("identityVersion", "Target Version");
    TextItem description = new TextItem("description", "Description");
    TextItem link = new TextItem("link", "Link");
    detailsForm.setFields(name, version, description, link);

    layout.add(table);
    layout.add(pager);
    layout.add(new ContentGroupLabel(Console.CONSTANTS.patch_manager_patch_details()));
    layout.add(detailsForm);
    return layout;
}