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() 

Source Link

Document

Constructs a SingleSelectionModel without a key provider.

Usage

From source file:org.jboss.as.console.client.shared.subsys.elytron.ui.mapper.SimplePermissionMappingEditor.java

License:Open Source License

SimplePermissionMappingEditor(final Dispatcher circuit, ResourceDescription resourceDescription,
        SecurityContext securityContext) {
    this.circuit = circuit;
    this.securityContext = securityContext;
    selectionModel = new SingleSelectionModel<>();

    this.resourceDescription = new ResourceDescription(resourceDescription.clone());
    ModelNode reqPropsDescription = this.resourceDescription.get("operations").get("add")
            .get("request-properties");
    ModelNode filtersDescription = reqPropsDescription.get("permission-mappings").get("value-type");
    reqPropsDescription.set(filtersDescription);
}

From source file:org.jboss.as.console.client.shared.subsys.elytron.ui.ProviderLoaderEditor.java

License:Apache License

ProviderLoaderEditor() {
    selectionModel = new SingleSelectionModel<>();
}

From source file:org.jboss.as.console.client.shared.subsys.elytron.ui.SecurityDomainRealmEditor.java

License:Open Source License

SecurityDomainRealmEditor(final Dispatcher circuit, ResourceDescription resourceDescription,
        SecurityContext securityContext) {
    this.circuit = circuit;
    this.securityContext = securityContext;
    selectionModel = new SingleSelectionModel<>();

    this.resourceDescription = new ResourceDescription(resourceDescription.clone());
    ModelNode reqPropsDescription = this.resourceDescription.get("operations").get("add")
            .get("request-properties");
    ModelNode filtersDescription = reqPropsDescription.get("realms").get("value-type");
    reqPropsDescription.set(filtersDescription);
}

From source file:org.jboss.as.console.client.shared.subsys.jca.wizard.DatasourceStep2.java

License:Open Source License

Widget asWidget() {
    VerticalPanel layout = new VerticalPanel();
    layout.getElement().setAttribute("style", "margin:10px; vertical-align:center;width:95%");

    HTML desc = new HTML("<h3>" + Console.CONSTANTS.subsys_jca_dataSource_step2() + "</h3>");
    desc.getElement().setAttribute("style", "padding-bottom:10px;");

    layout.add(desc);/*from w ww.  j a  va 2s.  c o m*/
    layout.add(new ContentDescription("Select one of the deployed JDBC driver."));

    // ---

    table = new DefaultCellTable<JDBCDriver>(5);

    TextColumn<JDBCDriver> nameColumn = new TextColumn<JDBCDriver>() {
        @Override
        public String getValue(JDBCDriver record) {
            return record.getName();
        }
    };

    TextColumn<JDBCDriver> groupColumn = new TextColumn<JDBCDriver>() {
        @Override
        public String getValue(JDBCDriver record) {
            return record.getGroup();
        }
    };

    table.addColumn(nameColumn, "Name");

    if (!isStandalone)
        table.addColumn(groupColumn, "Server Group");

    selectionModel = new SingleSelectionModel<JDBCDriver>();
    table.setSelectionModel(selectionModel);

    provisionTable(table);

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

    VerticalPanel driverPanel = new VerticalPanel();
    driverPanel.add(table);
    driverPanel.add(pager);

    // --

    final Form<JDBCDriver> form = new Form<JDBCDriver>(JDBCDriver.class);
    TextBoxItem name = new TextBoxItem("name", "Name");
    TextBoxItem driverClass = new TextBoxItem("driverClass", "Driver Class");
    NumberBoxItem major = new NumberBoxItem("majorVersion", "Major Version");
    NumberBoxItem minor = new NumberBoxItem("minorVersion", "Minor Version");

    form.setFields(name, driverClass, major, minor);

    // --

    TabPanel tabs = new TabPanel();
    tabs.setStyleName("default-tabpanel");
    tabs.addSelectionHandler(new SelectionHandler<Integer>() {
        @Override
        public void onSelection(SelectionEvent<Integer> event) {
            selectedTab = event.getSelectedItem();
        }
    });

    tabs.add(driverPanel, "Chose Driver");
    //tabs.add(form.asWidget(), "Specify Driver");

    layout.add(tabs);
    tabs.selectTab(0);

    // ----

    ClickHandler submitHandler = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {

            JDBCDriver driver = null;

            if (selectedTab == 0) {
                // reset state
                form.clearValues();

                SingleSelectionModel<JDBCDriver> selection = (SingleSelectionModel<JDBCDriver>) table
                        .getSelectionModel();
                driver = selection.getSelectedObject();
            } else {
                FormValidation formValidation = form.validate();
                if (!formValidation.hasErrors()) {
                    driver = form.getUpdatedEntity();
                }
            }

            if (driver != null) { // force selected driver
                editedEntity.setDriverName(driver.getName());
                editedEntity.setDriverClass(driver.getDriverClass());
                editedEntity.setMajorVersion(driver.getMajorVersion());
                editedEntity.setMinorVersion(driver.getMinorVersion());

                wizard.onConfigureDriver(editedEntity);
            } else {
                Console.warning(Console.CONSTANTS.subsys_jca_dataSource_select_driver(),
                        "If no driver is available you may need to deploy one!");
            }

        }
    };

    ClickHandler cancelHandler = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            wizard.getPresenter().closeDialogue();
        }
    };

    DialogueOptions options = new DialogueOptions(Console.CONSTANTS.common_label_next(), submitHandler,
            Console.CONSTANTS.common_label_cancel(), cancelHandler);

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

From source file:org.jboss.as.console.client.shared.subsys.jca.wizard.DriverStep.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
protected Widget asWidget(final Context<T> context) {
    // first tab: driver form
    form = new Form<>(JDBCDriver.class);
    TextBoxItem driverName = new TextBoxItem("name", "Name", true);
    TextBoxItem moduleName = new TextBoxItem("driverModuleName", "Module Name", true);
    TextBoxItem driverClass = new TextBoxItem("driverClass", "Driver Class", false);
    TextBoxItem xaDataSource = new TextBoxItem("xaDataSourceClass", "XA DataSource Class", false);
    if (context.xa) {
        form.setFields(driverName, moduleName, driverClass, xaDataSource);
    } else {//from   w  w  w.ja v a2s.  c  o m
        form.setFields(driverName, moduleName, driverClass);
    }

    FlowPanel formPanel = new FlowPanel();
    formPanel.add(new FormHelpPanel(context.jdbcDriverHelp, form).asWidget());
    formPanel.add(form);

    // second tab: existing drivers
    table = new DefaultCellTable<>(5);
    TextColumn<JDBCDriver> nameColumn = new TextColumn<JDBCDriver>() {
        @Override
        public String getValue(JDBCDriver record) {
            return record.getName();
        }
    };
    TextColumn<JDBCDriver> moduleColumn = new TextColumn<JDBCDriver>() {
        @Override
        public String getValue(JDBCDriver record) {
            return record.getDriverModuleName();
        }
    };
    table.addColumn(nameColumn, "Name");
    if (!context.standalone) {
        table.addColumn(moduleColumn, "Module");
    }
    selectionModel = new SingleSelectionModel<>();
    table.setSelectionModel(selectionModel);
    provisionTable(table);

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

    FlowPanel driverPanel = new FlowPanel();
    driverPanel.add(table);
    driverPanel.add(pager);

    // tabs
    TabPanel tabs = new TabPanel();
    tabs.setStyleName("default-tabpanel");
    tabs.addSelectionHandler(event -> selectedTab = event.getSelectedItem());
    tabs.add(formPanel, "Specify Driver");
    tabs.add(driverPanel, "Detected Driver");

    // body
    FlowPanel body = new FlowPanel();
    body.add(new ContentDescription(
            "Select one of the installed JDBC drivers. If you do not see your driver, make sure that it is deployed as a module and properly registered."));
    body.add(tabs);
    tabs.selectTab(0);

    return body;
}

From source file:org.jboss.as.console.client.shared.subsys.jca.wizard.XADatasourceStep2.java

License:Open Source License

Widget asWidget() {
    VerticalPanel layout = new VerticalPanel();
    layout.setStyleName("window-content");

    layout.add(new HTML("<h3>" + Console.CONSTANTS.subsys_jca_xadataSource_step2() + "</h3>"));

    // ---//from w  w w  .j a  va 2 s .c  o m

    table = new DefaultCellTable<JDBCDriver>(5);

    TextColumn<JDBCDriver> nameColumn = new TextColumn<JDBCDriver>() {
        @Override
        public String getValue(JDBCDriver record) {
            return record.getName();
        }
    };

    /*TextColumn<JDBCDriver> xaClassColumn = new TextColumn<JDBCDriver>() {
    @Override
    public String getValue(JDBCDriver record) {
        return record.getXaDataSourceClass();
    }
    };*/

    table.addColumn(nameColumn, "Name");
    //table.addColumn(xaClassColumn, "Datasource Class");

    selectionModel = new SingleSelectionModel<JDBCDriver>();
    table.setSelectionModel(selectionModel);

    // filter and select first record
    provisionTable(table);

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

    errorMessages = new HTML("");
    errorMessages.setStyleName("error-panel");
    errorMessages.setVisible(false);

    layout.add(errorMessages);

    layout.add(new ContentGroupLabel("Driver"));
    layout.add(table);
    layout.add(pager);

    final TextAreaItem dsClass = new TextAreaItem("dataSourceClass", "XA Data Source Class");

    layout.add(new ContentGroupLabel("XA Data Source Class"));
    layout.add(dsClass.asWidget());

    table.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent selectionChangeEvent) {
            String xaDataSourceClass = selectionModel.getSelectedObject().getXaDataSourceClass();
            dsClass.setValue(xaDataSourceClass);
        }
    });

    // --

    ClickHandler submitHandler = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {

            errorMessages.setVisible(false);

            SingleSelectionModel<JDBCDriver> selection = (SingleSelectionModel<JDBCDriver>) table
                    .getSelectionModel();
            JDBCDriver driver = selection.getSelectedObject();

            if (driver != null) { // force selected driver

                if (dsClass.getValue() == null || dsClass.getValue().equals("")) {
                    errorMessages.setText("XA Datasource Class is required!");
                    errorMessages.setVisible(true);
                    return;
                }

                editedEntity.setDriverName(driver.getName());
                editedEntity.setDriverClass(driver.getDriverClass());
                editedEntity.setDataSourceClass(dsClass.getValue());
                editedEntity.setMajorVersion(driver.getMajorVersion());
                editedEntity.setMinorVersion(driver.getMinorVersion());

                wizard.onConfigureDriver(editedEntity);
            } else {
                errorMessages.setText(Console.CONSTANTS.subsys_jca_dataSource_select_driver()
                        + ": If no driver is available you may need to deploy one!");
                errorMessages.setVisible(true);
            }
        }
    };

    ClickHandler cancelHandler = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            wizard.getPresenter().closeDialogue();
        }
    };

    DialogueOptions options = new DialogueOptions(Console.CONSTANTS.common_label_next(), submitHandler,
            Console.CONSTANTS.common_label_cancel(), cancelHandler);

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

From source file:org.jboss.as.console.client.shared.subsys.jca.XADataSourceEditor.java

License:Open Source License

public Widget asWidget() {

    LayoutPanel layout = new LayoutPanel();

    ToolStrip topLevelTools = new ToolStrip();
    ToolButton commonLabelAddBtn = new ToolButton(Console.CONSTANTS.common_label_add(), new ClickHandler() {

        @Override//from w  w  w.j a  v  a2s  .c o m
        public void onClick(ClickEvent event) {
            presenter.launchNewXADatasourceWizard();
        }
    });
    commonLabelAddBtn.ensureDebugId(Console.DEBUG_CONSTANTS.debug_label_add_xADataSourceEditor());
    topLevelTools.addToolButtonRight(commonLabelAddBtn);

    ClickHandler clickHandler = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {

            final XADataSource currentSelection = details.getCurrentSelection();
            if (currentSelection != null) {
                Feedback.confirm(Console.MESSAGES.deleteTitle("XA Datasource"),
                        Console.MESSAGES.deleteConfirm("XA Datasource " + currentSelection.getName()),
                        new Feedback.ConfirmationHandler() {
                            @Override
                            public void onConfirmation(boolean isConfirmed) {
                                if (isConfirmed) {
                                    presenter.onDeleteXA(currentSelection);
                                }
                            }
                        });
            }
        }
    };
    ToolButton deleteBtn = new ToolButton(Console.CONSTANTS.common_label_delete());
    deleteBtn.ensureDebugId(Console.DEBUG_CONSTANTS.debug_label_delete_xADataSourceEditor());
    deleteBtn.addClickHandler(clickHandler);
    topLevelTools.addToolButtonRight(deleteBtn);

    // ----

    VerticalPanel vpanel = new VerticalPanel();
    vpanel.setStyleName("rhs-content-panel");

    ScrollPanel scroll = new ScrollPanel(vpanel);
    layout.add(scroll);

    layout.setWidgetTopHeight(scroll, 0, Style.Unit.PX, 100, Style.Unit.PCT);

    // ---

    vpanel.add(new ContentHeaderLabel("JDBC XA Datasources"));

    vpanel.add(new ContentDescription(Console.CONSTANTS.subsys_jca_xadataSources_desc()));

    dataSourceTable = new DefaultCellTable<XADataSource>(8, new ProvidesKey<XADataSource>() {
        @Override
        public Object getKey(XADataSource item) {
            return item.getJndiName();
        }
    });

    dataSourceProvider = new ListDataProvider<XADataSource>();
    dataSourceProvider.addDataDisplay(dataSourceTable);

    TextColumn<DataSource> nameColumn = new TextColumn<DataSource>() {
        @Override
        public String getValue(DataSource record) {
            return record.getName();
        }
    };

    TextColumn<DataSource> jndiNameColumn = new TextColumn<DataSource>() {
        @Override
        public String getValue(DataSource record) {
            return record.getJndiName();
        }
    };

    Column<DataSource, ImageResource> statusColumn = new Column<DataSource, ImageResource>(
            new ImageResourceCell()) {
        @Override
        public ImageResource getValue(DataSource dataSource) {

            ImageResource res = null;

            if (dataSource.isEnabled())
                res = Icons.INSTANCE.status_good();
            else
                res = Icons.INSTANCE.status_bad();

            return res;
        }
    };

    dataSourceTable.addColumn(nameColumn, "Name");
    dataSourceTable.addColumn(jndiNameColumn, "JNDI");
    dataSourceTable.addColumn(statusColumn, "Enabled?");

    vpanel.add(new ContentGroupLabel(Console.MESSAGES.available("XA Datasources")));
    vpanel.add(topLevelTools.asWidget());
    vpanel.add(dataSourceTable);

    DefaultPager pager = new DefaultPager();
    pager.setDisplay(dataSourceTable);
    vpanel.add(pager);

    // -----------
    details = new XADataSourceDetails(presenter);

    propertyEditor = new PropertyEditor(this, true);
    propertyEditor.setHelpText(Console.CONSTANTS.subsys_jca_dataSource_xaprop_help());

    final SingleSelectionModel<XADataSource> selectionModel = new SingleSelectionModel<XADataSource>();
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            XADataSource dataSource = selectionModel.getSelectedObject();
            String nextState = dataSource.isEnabled() ? Console.CONSTANTS.common_label_disable()
                    : Console.CONSTANTS.common_label_enable();
            disableBtn.setText(nextState);

            presenter.loadXAProperties(dataSource.getName());
            presenter.loadPoolConfig(true, dataSource.getName());
        }
    });
    dataSourceTable.setSelectionModel(selectionModel);

    ClickHandler disableHandler = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {

            final XADataSource selection = getCurrentSelection();
            final boolean doEnable = !selection.isEnabled();
            Feedback.confirm(Console.MESSAGES.modify("XA datasource"),
                    Console.MESSAGES.modifyConfirm("XA datasource " + selection.getName()),
                    new Feedback.ConfirmationHandler() {
                        @Override
                        public void onConfirmation(boolean isConfirmed) {
                            if (isConfirmed) {
                                presenter.onDisableXA(selection, doEnable);
                            }
                        }
                    });
        }
    };

    disableBtn = new ToolButton(Console.CONSTANTS.common_label_enOrDisable());
    disableBtn.ensureDebugId(Console.DEBUG_CONSTANTS.debug_label_enOrDisable_xADataSourceDetails());
    disableBtn.addClickHandler(disableHandler);
    topLevelTools.addToolButtonRight(disableBtn);

    // -----

    TabPanel bottomPanel = new TabPanel();
    bottomPanel.setStyleName("default-tabpanel");
    bottomPanel.add(details.asWidget(), "Attributes");
    details.getForm().bind(dataSourceTable);

    final FormToolStrip.FormCallback<XADataSource> xaCallback = new FormToolStrip.FormCallback<XADataSource>() {
        @Override
        public void onSave(Map<String, Object> changeset) {
            DataSource ds = getCurrentSelection();
            presenter.onSaveXADetails(ds.getName(), changeset);
        }

        @Override
        public void onDelete(XADataSource entity) {
            // n/a
        }
    };

    final FormToolStrip.FormCallback<DataSource> dsCallback = new FormToolStrip.FormCallback<DataSource>() {
        @Override
        public void onSave(Map<String, Object> changeset) {
            DataSource ds = getCurrentSelection();
            presenter.onSaveXADetails(ds.getName(), changeset);
        }

        @Override
        public void onDelete(DataSource entity) {
            // n/a
        }
    };

    connectionEditor = new XADataSourceConnection(presenter, xaCallback);
    connectionEditor.getForm().bind(dataSourceTable);
    bottomPanel.add(connectionEditor.asWidget(), "Connection");

    securityEditor = new DataSourceSecurityEditor(dsCallback);
    securityEditor.getForm().bind(dataSourceTable);
    bottomPanel.add(securityEditor.asWidget(), "Security");

    bottomPanel.add(propertyEditor.asWidget(), "Properties");
    propertyEditor.setAllowEditProps(false);

    poolConfig = new PoolConfigurationView(new PoolManagement() {
        @Override
        public void onSavePoolConfig(String parentName, Map<String, Object> changeset) {
            presenter.onSavePoolConfig(parentName, changeset, true);
        }

        @Override
        public void onResetPoolConfig(String parentName, PoolConfig entity) {
            presenter.onDeletePoolConfig(parentName, entity, true);
        }

        @Override
        public void onDoFlush(String editedName) {
            presenter.onDoFlush(true, editedName);
        }
    });
    bottomPanel.add(poolConfig.asWidget(), "Pool");
    poolConfig.getForm().bind(dataSourceTable);

    validationEditor = new DataSourceValidationEditor(dsCallback);
    validationEditor.getForm().bind(dataSourceTable);
    bottomPanel.add(validationEditor.asWidget(), "Validation");

    bottomPanel.selectTab(0);
    vpanel.add(new ContentGroupLabel(Console.CONSTANTS.common_label_selection()));
    vpanel.add(bottomPanel);
    return layout;
}

From source file:org.jboss.as.console.client.shared.subsys.osgi.config.CapabilitiesTable.java

License:Open Source License

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

    table = new DefaultCellTable<OSGiCapability>(8, new ProvidesKey<OSGiCapability>() {
        @Override/*from  ww w .jav a2  s .co m*/
        public Object getKey(OSGiCapability item) {
            return item.getIdentifier();
        }
    });

    dataProvider = new ListDataProvider<OSGiCapability>();
    dataProvider.addDataDisplay(table);

    ColumnSortEvent.ListHandler<OSGiCapability> sortHandler = new ColumnSortEvent.ListHandler<OSGiCapability>(
            dataProvider.getList());

    TextColumn<OSGiCapability> identifierColumn = new TextColumn<OSGiCapability>() {
        @Override
        public String getValue(OSGiCapability record) {
            return record.getIdentifier();
        }
    };
    identifierColumn.setSortable(true);
    sortHandler.setComparator(identifierColumn, new Comparator<OSGiCapability>() {
        @Override
        public int compare(OSGiCapability o1, OSGiCapability o2) {
            return o1.getIdentifier().compareTo(o2.getIdentifier());
        }
    });

    TextColumn<OSGiCapability> startLevelColumn = new TextColumn<OSGiCapability>() {
        @Override
        public String getValue(OSGiCapability record) {
            if (record.getStartLevel() == null)
                return "";
            else
                return record.getStartLevel();
        }
    };
    startLevelColumn.setSortable(true);
    sortHandler.setComparator(startLevelColumn, new Comparator<OSGiCapability>() {
        @Override
        public int compare(OSGiCapability o1, OSGiCapability o2) {
            if (o1.getStartLevel() == null) {
                // Don't use MIN_VALUE because -MIN_VALUE doesn't fit in an int
                return -Integer.MAX_VALUE;
            }
            if (o2.getStartLevel() == null) {
                return Integer.MAX_VALUE;
            }
            int cv = o1.getStartLevel().compareTo(o2.getStartLevel());
            if (cv != 0)
                return cv;

            // Sort on identifier within startlevel
            return o1.getIdentifier().compareTo(o2.getIdentifier());
        }
    });

    table.addColumn(identifierColumn, Console.CONSTANTS.subsys_osgi_capabilityId());
    table.addColumn(startLevelColumn, Console.CONSTANTS.subsys_osgi_capabilityStartLevel());
    table.addColumnSortHandler(sortHandler);
    table.getColumnSortList().push(identifierColumn);

    selectionModel = new SingleSelectionModel<OSGiCapability>();
    table.setSelectionModel(selectionModel);
    layout.add(table);

    DefaultPager pager = new DefaultPager();
    pager.setDisplay(table);
    layout.add(pager);

    return layout;
}

From source file:org.jboss.as.console.client.shared.subsys.osgi.config.ConfigAdminEditor.java

License:Open Source License

Widget asWidget() {
    LayoutPanel layout = new LayoutPanel();

    ToolStrip topLevelTools = new ToolStrip();
    topLevelTools.addToolButton(new ToolButton(Console.CONSTANTS.common_label_edit(), new ClickHandler() {
        @Override/*  w w  w.j  av a  2 s . c o m*/
        public void onClick(ClickEvent event) {
            final OSGiConfigAdminData model = pidTable.getSelection();

            dialog = new DefaultWindow(Console.CONSTANTS.subsys_osgi_configAdminEditPID());
            dialog.setWidth(320);
            dialog.setHeight(140);
            dialog.setWidget(new InputWindow(model.getPid(), new InputWindow.Result() {
                @Override
                public void result(String value) {
                    if (value != null && !value.equals(model.getPid())) {
                        presenter.onDeleteConfigurationAdminData(model.getPid());
                        model.setPid(value);
                        presenter.onAddConfigurationAdminData(model);
                    }
                    closePropertyDialoge();
                }
            }).asWidget());
            dialog.setGlassEnabled(true);
            dialog.center();
        }
    }));
    topLevelTools.addToolButton(new ToolButton(Console.CONSTANTS.common_label_delete(), new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            final OSGiConfigAdminData model = pidTable.getSelection();
            Feedback.confirm(Console.MESSAGES.subsys_osgi_removeConfigAdmin(),
                    Console.MESSAGES.subsys_osgi_removeConfigAdminConfirm(model.getPid()),
                    new Feedback.ConfirmationHandler() {
                        @Override
                        public void onConfirmation(boolean isConfirmed) {
                            if (isConfirmed)
                                presenter.onDeleteConfigurationAdminData(model.getPid());
                        }
                    });
        }
    }));
    topLevelTools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_add(), new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            presenter.launchNewCASPropertyWizard();
        }
    }));
    layout.add(topLevelTools);

    VerticalPanel vpanel = new VerticalPanel();
    vpanel.setStyleName("rhs-content-panel");

    ScrollPanel scroll = new ScrollPanel(vpanel);
    layout.add(scroll);

    layout.setWidgetTopHeight(topLevelTools, 0, Style.Unit.PX, 30, Style.Unit.PX);
    layout.setWidgetTopHeight(scroll, 30, Style.Unit.PX, 100, Style.Unit.PCT);

    HorizontalPanel horzPanel = new HorizontalPanel();
    horzPanel.add(new ContentHeaderLabel(Console.CONSTANTS.subsys_osgi_configAdminHeader()));
    vpanel.add(horzPanel);

    pidTable = new PIDTable();

    vpanel.add(new ContentGroupLabel(Console.CONSTANTS.subsys_osgi_configAdminPIDLabel()));
    vpanel.add(pidTable.asWidget());

    propertyEditor = new PropertyEditor(this, true, 10);
    final SingleSelectionModel<OSGiConfigAdminData> selectionModel = new SingleSelectionModel<OSGiConfigAdminData>();
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            OSGiConfigAdminData pid = selectionModel.getSelectedObject();
            propertyEditor.setProperties(pid.getPid(), pid.getProperties());
        }
    });
    pidTable.setSelectionModel(selectionModel);

    vpanel.add(new ContentGroupLabel(Console.CONSTANTS.subsys_osgi_configAdminValuesLabel()));
    vpanel.add(propertyEditor.asWidget());
    propertyEditor.setAllowEditProps(false);

    return layout;
}

From source file:org.jboss.as.console.client.shared.subsys.security.AbstractDomainDetailEditor.java

License:Open Source License

Widget asWidget() {

    VerticalPanel vpanel = new VerticalPanel();
    vpanel.setStyleName("rhs-content-panel");

    // TODO: in order for the selection to retain we need a distinct key per module.

    // attributesTable = new DefaultCellTable<T>(4, getKeyProvider());
    attributesTable = new DefaultCellTable<T>(4);

    attributesTable.getElement().setAttribute("style", "margin-top:5px;");
    attributesProvider = new ListDataProvider<T>();
    attributesProvider.addDataDisplay(attributesTable);

    headerLabel = new ContentHeaderLabel("TITLE HERE");
    vpanel.add(headerLabel);/*  w  w  w.j av a2 s.  com*/
    vpanel.add(new ContentDescription(description));

    vpanel.add(new ContentGroupLabel(getStackName()));

    ToolStrip tableTools = new ToolStrip();

    addModule = new ToolButton(Console.CONSTANTS.common_label_add());
    addModule.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            openWizard(null);
        }
    });
    addModule.ensureDebugId(Console.DEBUG_CONSTANTS.debug_label_add_abstractDomainDetailEditor());
    tableTools.addToolButtonRight(addModule);
    tableTools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_remove(), new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {

            final T policy = getCurrentSelection();
            Feedback.confirm(Console.MESSAGES.deleteTitle(getEntityName()),
                    Console.MESSAGES.deleteConfirm(policy.getCode()), new Feedback.ConfirmationHandler() {
                        @Override
                        public void onConfirmation(boolean isConfirmed) {
                            if (isConfirmed) {
                                attributesProvider.getList().remove(policy);
                                if (attributesProvider.getList().size() > 0) {
                                    saveData();
                                }
                                // call remove() on last provider-module instead of save()
                                else {
                                    removeData();
                                }
                            }
                        }
                    });
        }
    }));
    vpanel.add(tableTools);

    // -------

    Column<T, String> codeColumn = new Column<T, String>(new TextCell()) {
        @Override
        public String getValue(T record) {
            return record.getCode();
        }
    };
    attributesTable.addColumn(codeColumn, Console.CONSTANTS.subsys_security_codeField());

    addCustomColumns(attributesTable);

    List<HasCell<T, T>> actionCells = new ArrayList<HasCell<T, T>>();
    IdentityColumn<T> actionColumn = new IdentityColumn<T>(new CompositeCell(actionCells));
    attributesTable.addColumn(actionColumn, "");

    vpanel.add(attributesTable);

    // -------

    DefaultPager pager = new DefaultPager();
    pager.setDisplay(attributesTable);
    vpanel.add(pager);

    // -------

    propertyEditor = new PropertyEditor(this, true);
    propertyEditor.setHideButtons(false);

    final SingleSelectionModel<T> ssm = new SingleSelectionModel<T>();
    ssm.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            T policy = ssm.getSelectedObject();
            if (policy == null) // Can this actually happen?
            {
                return;
            }

            List<PropertyRecord> props = policy.getProperties();
            if (props == null) {
                props = new ArrayList<PropertyRecord>();
                policy.setProperties(props);
            }

            propertyEditor.setProperties("", policy.getProperties());

            wizard.edit(policy);

        }
    });
    attributesTable.setSelectionModel(ssm);

    wizard = getWizard();

    TabPanel bottomTabs = new TabPanel();
    bottomTabs.setStyleName("default-tabpanel");
    bottomTabs.add(wizard.asWidget(), "Attributes");
    bottomTabs.add(propertyEditor.asWidget(), "Module Options");

    propertyEditor.setAllowEditProps(false);

    vpanel.add(new ContentGroupLabel("Details"));

    vpanel.add(bottomTabs);
    bottomTabs.selectTab(0);

    // -------

    ScrollPanel scroll = new ScrollPanel(vpanel);

    LayoutPanel layout = new LayoutPanel();
    layout.add(scroll);
    layout.setWidgetTopHeight(scroll, 0, Style.Unit.PX, 100, Style.Unit.PCT);

    return layout;
}