private void createBootFeatureManagementControls()

in plugins/org.apache.karaf.eik.ui/src/main/java/org/apache/karaf/eik/ui/KarafConfigurationTab.java [478:557]


    private void createBootFeatureManagementControls(final Group group) {
        // Boot feature management
        final Composite viewerComposite = new Composite(group, SWT.NONE);
        GridLayout layout = new GridLayout(2, false);
        layout.marginHeight = layout.marginWidth = 0;

        viewerComposite.setLayout(layout);

        GridData data = new GridData(GridData.FILL_BOTH);
        data.heightHint = 200;
        data.widthHint = 200;
        viewerComposite.setLayoutData(data);

        bootFeaturesViewer = new TableViewer(viewerComposite, SWT.BORDER | SWT.MULTI);
        bootFeaturesViewer.setLabelProvider(new BootFeaturesLabelProvider());
        bootFeaturesViewer.setContentProvider(new BootFeaturesContentProvider());
        bootFeaturesViewer.setInput(bootFeaturesList);
        bootFeaturesViewer.addSelectionChangedListener(new ISelectionChangedListener() {

            @Override
            public void selectionChanged(final SelectionChangedEvent event) {
                handleBootFeatureSelectionChange();
            }
        });

        data = new GridData(GridData.FILL_BOTH);
        data.heightHint = 50;
        data.widthHint = 200;
        bootFeaturesViewer.getTable().setLayoutData(data);

        final Composite buttonComposite = new Composite(viewerComposite, SWT.RIGHT);
        layout = new GridLayout();
        layout.marginHeight = layout.marginWidth = 0;
        buttonComposite.setLayout(layout);

        data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.GRAB_VERTICAL);
        buttonComposite.setLayoutData(data);

        bootFeatureOrderIncreaseButton = new Button(buttonComposite, SWT.PUSH);
        bootFeatureOrderIncreaseButton.setText("Up");
        bootFeatureOrderIncreaseButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        bootFeatureOrderIncreaseButton.addListener(SWT.Selection, new Listener() {

            @Override
            public void handleEvent(final Event event) {
                if (event.widget == bootFeatureOrderIncreaseButton) {
                    handleBootFeatureMove(-1);
                    KarafConfigurationTab.this.updateLaunchConfigurationDialog();
                }
            }
        });

        bootFeatureRemoveButton = new Button(buttonComposite, SWT.PUSH);
        bootFeatureRemoveButton.setText("Remove");
        bootFeatureRemoveButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        bootFeatureRemoveButton.addListener(SWT.Selection, new Listener() {

            @Override
            public void handleEvent(final Event event) {
                if (event.widget == bootFeatureRemoveButton) {
                    removeSelectedBootFeatures();
                    KarafConfigurationTab.this.updateLaunchConfigurationDialog();
                }
            }
        });

        bootFeatureOrderDecreaseButton = new Button(buttonComposite, SWT.PUSH);
        bootFeatureOrderDecreaseButton.setText("Down");
        bootFeatureOrderDecreaseButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        bootFeatureOrderDecreaseButton.addListener(SWT.Selection, new Listener() {

            @Override
            public void handleEvent(final Event event) {
                if (event.widget == bootFeatureOrderDecreaseButton) {
                    handleBootFeatureMove(1);
                    KarafConfigurationTab.this.updateLaunchConfigurationDialog();
                }
            }
        });
    }