Example usage for org.eclipse.jface.viewers CheckboxTableViewer setAllChecked

List of usage examples for org.eclipse.jface.viewers CheckboxTableViewer setAllChecked

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers CheckboxTableViewer setAllChecked.

Prototype

public void setAllChecked(boolean state) 

Source Link

Document

Sets to the given value the checked state for all elements in this viewer.

Usage

From source file:com.amalto.workbench.dialogs.SelectImportedModulesDialog.java

License:Open Source License

CheckboxTableViewer createTableViewer(Composite parent, String columnName, IContentProvider contentProvider,
        ILabelProvider lableProvider) {/*from w ww .j av  a 2s  . c o m*/
    Composite com = new Composite(parent, SWT.NONE);
    com.setLayout(new GridLayout(1, false));
    final CheckboxTableViewer viewer = CheckboxTableViewer.newCheckList(com,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK | SWT.BORDER);
    viewer.setCheckStateProvider(new ICheckStateProvider() {

        public boolean isChecked(Object element) {
            return true;
        }

        public boolean isGrayed(Object element) {
            return false;
        }
    });
    GridDataFactory.fillDefaults().grab(true, true).applyTo(viewer.getControl());
    viewer.getTable().setLinesVisible(true);
    viewer.setContentProvider(contentProvider);
    viewer.getTable().setHeaderVisible(true);
    TableLayout lay = new TableLayout();
    TableColumn column = new TableColumn(viewer.getTable(), SWT.CENTER);
    column.setText(columnName);
    lay.addColumnData(new ColumnWeightData(200, 100));
    viewer.getTable().setLayout(lay);
    viewer.setLabelProvider(lableProvider);

    ToolBar toolBar = new ToolBar(com, SWT.HORIZONTAL | SWT.FLAT);

    createToolBarItem(toolBar, Messages.RepositoryCheckTreeViewer_SelectAll, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            viewer.setAllChecked(true);
        }
    });
    createToolBarItem(toolBar, Messages.RepositoryCheckTreeViewer_DeselectAll, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            viewer.setAllChecked(false);
        }
    });
    return viewer;
}

From source file:com.google.gdt.eclipse.appengine.rpc.wizards.ConfigureRPCServiceLayerWizardPage.java

License:Open Source License

private void configureMethodTableViewer(final CheckboxTableViewer viewer,
        final ITreeContentProvider contentProvider, ILabelProvider labelProvider, Button selectAll,
        Button deselectAll) {/* w w  w .j a v a 2s.  c  o  m*/
    viewer.setLabelProvider(labelProvider);

    viewer.setContentProvider(contentProvider);
    viewer.setInput(project);
    viewer.addCheckStateListener(new SelectionChangedListener() {
        @Override
        public void doCheckStateChanged(CheckStateChangedEvent e) {
            handleEntitySelectionChanged();
        }
    });

    selectAll.addSelectionListener(new SelectionChangedListener() {
        @Override
        public void doWidgetSelected(SelectionEvent e) {
            for (Object element : contentProvider.getElements(null)) {
                viewer.setChecked(element, true);
            }
            handleEntitySelectionChanged();
        }
    });
    deselectAll.addSelectionListener(new SelectionChangedListener() {
        @Override
        public void doWidgetSelected(SelectionEvent e) {
            viewer.setCheckedElements(new Object[] {});
            handleEntitySelectionChanged();
        }
    });
    viewer.setAllChecked(true);
    updateEntityStatus();
}

From source file:com.nokia.cpp.internal.api.utils.ui.FilesListDialog.java

License:Open Source License

/**
 * Create contents of the dialog/* w  ww. j a  v  a 2 s . c o  m*/
 * @param parent
 */
@Override
protected Control createDialogArea(Composite parent) {
    Composite area = (Composite) super.createDialogArea(parent);
    Composite container = new Composite(area, SWT.NONE);
    container.setLayout(new FillLayout(SWT.VERTICAL));
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    final Composite contents = new Composite(container, SWT.NONE);
    final GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 2;
    gridLayout.verticalSpacing = 20;
    gridLayout.marginTop = 10;
    gridLayout.marginRight = 10;
    gridLayout.marginLeft = 10;
    gridLayout.marginBottom = 10;
    gridLayout.horizontalSpacing = 20;
    contents.setLayout(gridLayout);

    label = new Text(contents, SWT.WRAP | SWT.READ_ONLY);
    final GridData gd_label = new GridData(SWT.FILL, SWT.FILL, false, false, 2, 1);
    gd_label.widthHint = 400;
    label.setLayoutData(gd_label);
    label.setText(caption);

    if (editable)
        filesTableViewer = CheckboxTableViewer.newCheckList(contents, SWT.BORDER);
    else
        filesTableViewer = new TableViewer(contents, SWT.BORDER);

    final GridData gd_table = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1);
    gd_table.widthHint = 350;
    filesTableViewer.getTable().setLayoutData(gd_table);
    //
    filesTableViewer.setContentProvider(new FilesListContentProvider());
    filesTableViewer.setLabelProvider(new FilesListLabelProvider());
    filesTableViewer.setInput(filesList);
    if (editable) {
        final CheckboxTableViewer viewer = (CheckboxTableViewer) filesTableViewer;
        viewer.setAllChecked(initiallyChecked);
        viewer.addCheckStateListener(new ICheckStateListener() {
            public void checkStateChanged(CheckStateChangedEvent event) {
                updateOkButtonEnabled();
            }
        });
        final Button selectAllButton = new Button(contents, SWT.NONE);
        selectAllButton.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                viewer.setAllChecked(true);
                updateOkButtonEnabled();
            }
        });
        selectAllButton.setLayoutData(new GridData(90, SWT.DEFAULT));
        selectAllButton.setText("Select &All");

        final Button selectNoneButton = new Button(contents, SWT.NONE);
        selectNoneButton.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                viewer.setAllChecked(false);
                updateOkButtonEnabled();
            }
        });
        selectNoneButton.setLayoutData(new GridData(90, SWT.DEFAULT));
        selectNoneButton.setText("&Deselect All");
    }

    filesTableViewer.getControl().forceFocus();

    return area;
}

From source file:com.nokia.s60tools.swmtanalyser.editors.GraphedItemsHelper.java

License:Open Source License

/**
 * The method checks all items in the given viewer and assigns random colors for all checked items.
 * @param tableViewer/*from ww w . j  a v  a  2s. c o m*/
 */
private void selectAllItems(CheckboxTableViewer tableViewer) {
    tableViewer.setAllChecked(true);

    for (Object obj : tableViewer.getCheckedElements()) {
        if (obj instanceof GraphedItemsInput) {
            GraphedItemsInput graphedItem = (GraphedItemsInput) obj;

            if (graphedItem.getColor() == null)
                graphedItem.setColor(getRandomColor());

            tableViewer.update(obj, null);
        }
    }

}

From source file:com.siteview.mde.internal.ui.parts.WizardCheckboxTablePart.java

License:Open Source License

protected void handleSelectAll(boolean select) {
    CheckboxTableViewer viewer = getTableViewer();
    viewer.setAllChecked(select);
    int selected;
    if (!select) {
        selected = 0;/*from  w w  w. j  a  v  a2 s  .  co  m*/
    } else {
        selected = getTotalCount();
    }
    updateCounter(selected);
}

From source file:gov.redhawk.ide.sdr.ui.export.DeployableScaExportWizardPage.java

License:Open Source License

@Override
public void createControl(final Composite parent) {
    this.model = ((DeployableScaExportWizard) getWizard()).getModel();

    final DataBindingContext dbc = new DataBindingContext();
    WizardPageSupport.create(this, dbc);

    setTitle("Deployable SCA");
    setMessage("Export the selected projects into a form suitable for deploying into a OSSIE SDR root");

    final Composite client = new Composite(parent, SWT.NULL);
    client.setLayout(new GridLayout(1, false));

    final Composite projectSelectionGroup = new Composite(client, SWT.NULL);
    projectSelectionGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    projectSelectionGroup.setLayout(new GridLayout(2, false));

    final Label availScaProjects = new Label(projectSelectionGroup, SWT.NONE);
    availScaProjects.setText("Available SCA Projects:");
    availScaProjects.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1));

    final CheckboxTableViewer availableProjectsViewer = new CheckboxTableViewer(
            new Table(projectSelectionGroup, SWT.CHECK | SWT.READ_ONLY | SWT.BORDER));
    availableProjectsViewer.setContentProvider(new ArrayContentProvider());
    availableProjectsViewer.setLabelProvider(new LabelProvider() {

        @Override// w ww .  j a  v a  2  s  . c  o  m
        public String getText(final Object element) {
            return ((IProject) element).getName();
        }

    });
    final IProject[] scaProjects = getScaProjects();
    availableProjectsViewer.setInput(scaProjects);
    availableProjectsViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    final Composite buttonBox = new Composite(projectSelectionGroup, SWT.NULL);
    buttonBox.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
    buttonBox.setLayout(new GridLayout(1, false));

    final Label selectedProjects = new Label(projectSelectionGroup, SWT.NONE);
    selectedProjects.setText(this.model.projectsToExport.size() + " of " + scaProjects.length + " selected.");
    selectedProjects.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1));
    availableProjectsViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(final CheckStateChangedEvent event) {
            selectedProjects.setText(availableProjectsViewer.getCheckedElements().length + " of "
                    + scaProjects.length + " selected.");
        }
    });

    final Button selectAll = new Button(buttonBox, SWT.PUSH);
    selectAll.setText("Select All");
    selectAll.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    selectAll.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(final SelectionEvent e) {
            availableProjectsViewer.setAllChecked(true);
            DeployableScaExportWizardPage.this.model.projectsToExport.clear();
            DeployableScaExportWizardPage.this.model.projectsToExport.addAll(Arrays.asList(scaProjects));
            selectedProjects.setText(availableProjectsViewer.getCheckedElements().length + " of "
                    + scaProjects.length + " selected.");
        }

        @Override
        public void widgetDefaultSelected(final SelectionEvent e) {
            // PASS
        }
    });

    final Button selectNone = new Button(buttonBox, SWT.PUSH);
    selectNone.setText("Deselect All");
    selectNone.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    selectNone.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(final SelectionEvent e) {
            availableProjectsViewer.setAllChecked(false);
            DeployableScaExportWizardPage.this.model.projectsToExport.clear();
            selectedProjects.setText(availableProjectsViewer.getCheckedElements().length + " of "
                    + scaProjects.length + " selected.");
        }

        @Override
        public void widgetDefaultSelected(final SelectionEvent e) {
            // PASS
        }
    });

    final TabFolder exportCustomization = new TabFolder(client, SWT.TOP);
    exportCustomization.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));

    final Composite destinationComposite = new Composite(exportCustomization, SWT.NONE);
    destinationComposite.setLayout(new GridLayout(2, false));

    final Button directoryRadio = new Button(destinationComposite, SWT.RADIO);
    directoryRadio.setText("Directory:");
    directoryRadio.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1));
    directoryRadio.setSelection(true);

    final Text directoryText = new Text(destinationComposite, SWT.BORDER);
    directoryText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    directoryText.setEnabled(true);

    final Button directoryBrowse = new Button(destinationComposite, SWT.PUSH);
    directoryBrowse.setText("Browse...");
    directoryBrowse.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));
    directoryBrowse.setEnabled(true);
    directoryBrowse.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetDefaultSelected(final SelectionEvent e) {
            widgetSelected(e);
        }

        @Override
        public void widgetSelected(final SelectionEvent e) {
            final DirectoryDialog fd = new DirectoryDialog(
                    PlatformUI.getWorkbench().getDisplay().getActiveShell(), SWT.OPEN);
            fd.setText("Destination Directory");
            fd.setFilterPath(null);
            final String selected = fd.open();
            if (selected != null) {
                directoryText.setText(selected);
                dbc.updateModels();
            }
        }

    });

    directoryRadio.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetDefaultSelected(final SelectionEvent e) {
            widgetSelected(e);
        }

        @Override
        public void widgetSelected(final SelectionEvent e) {
            final boolean selected = directoryRadio.getSelection();
            directoryText.setEnabled(selected);
            directoryBrowse.setEnabled(selected);
        }

    });

    final Button archiveRadio = new Button(destinationComposite, SWT.RADIO);
    archiveRadio.setText("Archive file:");
    archiveRadio.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1));
    archiveRadio.setSelection(false);

    final Text archiveText = new Text(destinationComposite, SWT.BORDER);
    archiveText.setText("");
    archiveText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    archiveText.setEnabled(false);

    final Button archiveBrowse = new Button(destinationComposite, SWT.PUSH);
    archiveBrowse.setText("Browse...");
    archiveBrowse.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));
    archiveBrowse.setEnabled(false);
    archiveBrowse.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetDefaultSelected(final SelectionEvent e) {
            widgetSelected(e);
        }

        @Override
        public void widgetSelected(final SelectionEvent e) {
            final FileDialog fd = new FileDialog(PlatformUI.getWorkbench().getDisplay().getActiveShell(),
                    SWT.SAVE);
            fd.setText("Destination Archive");
            fd.setFilterPath(null);
            final String[] filterExt = { "*.zip" };
            fd.setFilterExtensions(filterExt);
            final String selected = fd.open();
            if (selected != null) {
                IPath zippath = new Path(selected);
                if (zippath.getFileExtension() == null) {
                    zippath = zippath.addFileExtension("zip");
                }
                archiveText.setText(zippath.toString());
                dbc.updateModels();
            }
        }

    });

    archiveRadio.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetDefaultSelected(final SelectionEvent e) {
            widgetSelected(e);
        }

        @Override
        public void widgetSelected(final SelectionEvent e) {
            final boolean selected = archiveRadio.getSelection();
            archiveText.setEnabled(selected);
            archiveBrowse.setEnabled(selected);
        }

    });

    final TabItem destinationtab = new TabItem(exportCustomization, SWT.NONE);
    destinationtab.setText("Destination");
    destinationtab.setControl(destinationComposite);

    setControl(client);

    bind(dbc, availableProjectsViewer, directoryRadio, directoryText, archiveRadio, archiveText);
}

From source file:gov.redhawk.ui.parts.WizardCheckboxTablePart.java

License:Open Source License

/**
 * Handle select all./*ww w . j  a  va2  s.c  o m*/
 * 
 * @param select the select
 */
protected void handleSelectAll(final boolean select) {
    final CheckboxTableViewer viewer = getTableViewer();
    viewer.setAllChecked(select);
    int selected;
    if (!select) {
        selected = 0;
    } else {
        selected = getTotalCount();
    }
    updateCounter(selected);
}

From source file:org.chromium.debug.ui.actions.ChooseVmControl.java

License:Open Source License

public static Logic create(Composite parent) {
    final Table table = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);

    table.setFont(parent.getFont());//from  w  ww  . ja  v a2 s .  c o  m

    final CheckboxTableViewer tableViewer = new CheckboxTableViewer(table);

    table.setHeaderVisible(true);

    tableViewer.setContentProvider(new ContentProviderImpl());

    ValueAdapter<ScriptTargetMapping, ConnectedTargetData> pairToTargetAdapter = new ValueAdapter<ScriptTargetMapping, ConnectedTargetData>() {
        public ConnectedTargetData convert(ScriptTargetMapping from) {
            return from.getConnectedTargetData();
        }
    };

    List<ColumnData<ScriptTargetMapping, ?>> columnDataList = createLaunchTargetColumns(pairToTargetAdapter);

    for (ColumnData<?, ?> data : columnDataList) {
        data.getLabelProvider().createColumn(table);
    }

    ValueAdapter<Object, ScriptTargetMapping> rowElementAdapter = TableUtils
            .createCastAdapter(ScriptTargetMapping.class);

    ColumnBasedLabelProvider<ScriptTargetMapping> labelProvider = new ColumnBasedLabelProvider<ScriptTargetMapping>(
            rowElementAdapter, columnDataList);

    tableViewer.setLabelProvider(labelProvider);

    final List<Logic.Listener> listeners = new ArrayList<Logic.Listener>(1);

    tableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            for (Logic.Listener listener : listeners) {
                listener.checkStateChanged();
            }
        }
    });

    return new Logic() {
        public Control getControl() {
            return table;
        }

        public void setData(List<? extends ScriptTargetMapping> targets) {
            TableData input = new TableData(targets);
            tableViewer.setInput(input);
        }

        public List<ScriptTargetMapping> getSelected() {
            final Object[] array = tableViewer.getCheckedElements();
            return new AbstractList<ScriptTargetMapping>() {
                @Override
                public ScriptTargetMapping get(int index) {
                    return (ScriptTargetMapping) array[index];
                }

                @Override
                public int size() {
                    return array.length;
                }
            };
        }

        public void selectAll() {
            tableViewer.setAllChecked(true);
        }

        public void addListener(Listener listener) {
            listeners.add(listener);
        }

        public void removeListener(Listener listener) {
            listeners.remove(listener);
        }
    };
}

From source file:org.eclipse.emf.ecp.view.editor.handler.SelectAttributesDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    final Composite composite = (Composite) super.createDialogArea(parent);
    ((GridLayout) composite.getLayout()).numColumns = 2;

    final Label labelDatasegment = new Label(composite, SWT.NONE);
    labelDatasegment.setText("Select Datasegment");

    final ComboViewer cvDatasegment = new ComboViewer(composite, SWT.READ_ONLY);
    composedAdapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
    labelProvider = new AdapterFactoryLabelProvider(composedAdapterFactory);

    cvDatasegment.setLabelProvider(labelProvider);
    cvDatasegment.setContentProvider(ArrayContentProvider.getInstance());

    final Button bUnreferenced = new Button(composite, SWT.CHECK);
    bUnreferenced.setText("Show only unreferenced Attributes?");
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).span(2, 1)
            .applyTo(bUnreferenced);/*from  ww w.java  2s .c o m*/

    final Label labelAttributes = new Label(composite, SWT.NONE);
    labelAttributes.setText("Select Attributes");

    final CheckboxTableViewer tvAttributes = CheckboxTableViewer.newCheckList(composite, SWT.BORDER);
    tvAttributes.setLabelProvider(labelProvider);
    tvAttributes.setContentProvider(ArrayContentProvider.getInstance());
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).hint(SWT.DEFAULT, 200)
            .applyTo(tvAttributes.getControl());

    tvAttributes.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent event) {
            final EStructuralFeature object = (EStructuralFeature) event.getElement();
            if (event.getChecked()) {
                selectedFeatures.add(object);
            } else {
                selectedFeatures.remove(object);
            }

        }
    });

    cvDatasegment.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            dataSegment = (EClass) ((IStructuredSelection) event.getSelection()).getFirstElement();
            List<EStructuralFeature> attributes = null;
            if (!bUnreferenced.getSelection()) {
                attributes = dataSegment.getEAllStructuralFeatures();
            } else {
                attributes = getUnreferencedSegmentAttributes(dataSegment);
            }
            tvAttributes.setInput(attributes);
        }
    });

    bUnreferenced.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            final EClass dataSegment = (EClass) ((IStructuredSelection) cvDatasegment.getSelection())
                    .getFirstElement();
            List<EStructuralFeature> attributes = null;
            if (!bUnreferenced.getSelection()) {
                attributes = dataSegment.getEAllStructuralFeatures();
            } else {
                attributes = getUnreferencedSegmentAttributes(dataSegment);
            }
            tvAttributes.setInput(attributes);
        }

    });

    final Composite compositeButtons = new Composite(composite, SWT.NONE);
    GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(true).applyTo(compositeButtons);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).span(2, 1)
            .applyTo(compositeButtons);

    final Button bSelectAll = new Button(compositeButtons, SWT.PUSH);
    bSelectAll.setText("Select All");
    bSelectAll.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            final List<EStructuralFeature> segments = (List<EStructuralFeature>) tvAttributes.getInput();
            tvAttributes.setAllChecked(true);
            selectedFeatures.addAll(segments);
        }

    });
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).applyTo(bSelectAll);
    final Button bDeSelectAll = new Button(compositeButtons, SWT.PUSH);
    bDeSelectAll.setText("Deselect All");
    bDeSelectAll.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            final List<EStructuralFeature> segments = (List<EStructuralFeature>) tvAttributes.getInput();
            tvAttributes.setAllChecked(false);
            selectedFeatures.removeAll(segments);
        }

    });
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).applyTo(bDeSelectAll);

    final Set<EClass> datasegments = Helper.getDatasegmentSubclasses(rootClass);
    cvDatasegment.setInput(datasegments);
    if (datasegments.size() > 0) {
        cvDatasegment.setSelection(new StructuredSelection(datasegments.iterator().next()));
    }
    return composite;
}

From source file:org.eclipse.emf.ecp.view.internal.editor.handler.SelectAttributesWizardPage.java

License:Open Source License

public void onEnterPage() {
    /* if (isCurrentPage()) */ {
        // clear composite
        clear();//  ww  w. ja va 2  s  .c  om
        composite = new Composite(parent, SWT.NONE);
        final GridLayout layout = new GridLayout();
        composite.setLayout(layout);
        layout.numColumns = 2;
        setControl(composite);
        composedAdapterFactory = new ComposedAdapterFactory(
                new AdapterFactory[] { new ReflectiveItemProviderAdapterFactory(),
                        new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });

        labelProvider = new AdapterFactoryLabelProvider(composedAdapterFactory);

        final Button bUnreferenced = new Button(composite, SWT.CHECK);
        bUnreferenced.setText("Show only unreferenced Attributes?"); //$NON-NLS-1$
        GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).span(2, 1)
                .applyTo(bUnreferenced);

        final Label labelAttributes = new Label(composite, SWT.NONE);
        labelAttributes.setText("Select Attributes"); //$NON-NLS-1$

        final ScrolledComposite scrolledComposite = new ScrolledComposite(composite,
                SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
        scrolledComposite.setShowFocusedControl(true);
        scrolledComposite.setExpandVertical(true);
        scrolledComposite.setExpandHorizontal(true);
        GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).applyTo(scrolledComposite);
        GridLayoutFactory.fillDefaults().applyTo(scrolledComposite);

        final Composite tableComposite = new Composite(scrolledComposite, SWT.FILL);
        tableComposite.setLayout(GridLayoutFactory.fillDefaults().create());
        GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).applyTo(tableComposite);
        tableComposite.setBackground(scrolledComposite.getBackground());

        final CheckboxTableViewer tvAttributes = CheckboxTableViewer.newCheckList(tableComposite, SWT.NONE);
        tvAttributes.setLabelProvider(labelProvider);
        tvAttributes.setContentProvider(ArrayContentProvider.getInstance());
        GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).hint(SWT.DEFAULT, 200)
                .applyTo(tvAttributes.getControl());

        scrolledComposite.setContent(tableComposite);

        final Point point = tableComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT);
        scrolledComposite.setMinSize(point);

        tvAttributes.addCheckStateListener(new ICheckStateListener() {

            @Override
            public void checkStateChanged(CheckStateChangedEvent event) {
                final EStructuralFeature object = (EStructuralFeature) event.getElement();
                if (event.getChecked()) {
                    selectedFeatures.add(object);

                } else {
                    selectedFeatures.remove(object);
                }
                setPageComplete(!selectedFeatures.isEmpty());

            }
        });

        List<EStructuralFeature> attributes = null;
        if (!bUnreferenced.getSelection()) {
            attributes = rootClass.getEAllStructuralFeatures();
        } else {
            attributes = getUnreferencedSegmentAttributes(rootClass);
        }
        tvAttributes.setInput(attributes);

        bUnreferenced.addSelectionListener(new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                List<EStructuralFeature> attributes = null;
                if (!bUnreferenced.getSelection()) {
                    attributes = rootClass.getEAllStructuralFeatures();
                } else {
                    attributes = getUnreferencedSegmentAttributes(rootClass);
                }
                tvAttributes.setInput(attributes);
            }

        });

        final Composite compositeButtons = new Composite(composite, SWT.NONE);
        GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(true).applyTo(compositeButtons);
        GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).span(2, 1)
                .applyTo(compositeButtons);

        final Button bSelectAll = new Button(compositeButtons, SWT.PUSH);
        bSelectAll.setText("Select All"); //$NON-NLS-1$
        bSelectAll.addSelectionListener(new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                @SuppressWarnings("unchecked")
                final List<EStructuralFeature> segments = (List<EStructuralFeature>) tvAttributes.getInput();
                tvAttributes.setAllChecked(true);
                selectedFeatures.addAll(segments);
                setPageComplete(!selectedFeatures.isEmpty());
            }

        });
        GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).applyTo(bSelectAll);
        final Button bDeSelectAll = new Button(compositeButtons, SWT.PUSH);
        bDeSelectAll.setText("Deselect All"); //$NON-NLS-1$
        bDeSelectAll.addSelectionListener(new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                @SuppressWarnings("unchecked")
                final List<EStructuralFeature> segments = (List<EStructuralFeature>) tvAttributes.getInput();
                tvAttributes.setAllChecked(false);
                selectedFeatures.removeAll(segments);
                setPageComplete(!selectedFeatures.isEmpty());
            }

        });
        GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).applyTo(bDeSelectAll);
        parent.layout(true);
        scrolledComposite.layout(true);

    }
}