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

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

Introduction

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

Prototype

public static CheckboxTableViewer newCheckList(Composite parent, int style) 

Source Link

Document

Creates a table viewer on a newly-created table control under the given parent.

Usage

From source file:org.eclipse.ui.internal.editors.text.SelectResourcesBlock.java

License:Open Source License

/**
 * Creates this block's list viewer.// ww  w  . j  a v a2  s . c  o  m
 *
 * @param parent the parent control
 * @param useHeightHint if <code>true</code> use the height hints
 */
private void createListViewer(Composite parent, boolean useHeightHint) {
    listViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
    GridData data = new GridData(GridData.FILL_BOTH);
    if (useHeightHint)
        data.heightHint = PREFERRED_HEIGHT;
    listViewer.getTable().setLayoutData(data);
    listViewer.getTable().setFont(parent.getFont());
    listViewer.setContentProvider(listContentProvider);
    listViewer.setLabelProvider(listLabelProvider);
    listViewer.addCheckStateListener(this);
}

From source file:org.eclipse.ui.internal.ide.dialogs.CleanDialog.java

License:Open Source License

private void createProjectSelectionTable(Composite radioGroup) {
    projectNames = CheckboxTableViewer.newCheckList(radioGroup, SWT.BORDER);
    projectNames.setContentProvider(new WorkbenchContentProvider());
    projectNames.setLabelProvider(new WorkbenchLabelProvider());
    projectNames.setComparator(new ResourceComparator(ResourceComparator.NAME));
    projectNames.addFilter(new ViewerFilter() {
        private final IProject[] projectHolder = new IProject[1];

        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (!(element instanceof IProject)) {
                return false;
            }/*ww w .j av  a2 s . c  o m*/
            IProject project = (IProject) element;
            if (!project.isAccessible()) {
                return false;
            }
            projectHolder[0] = project;
            return BuildUtilities.isEnabled(projectHolder, IncrementalProjectBuilder.CLEAN_BUILD);
        }
    });
    projectNames.setInput(ResourcesPlugin.getWorkspace().getRoot());
    GridData data = new GridData(GridData.FILL_BOTH);
    data.horizontalSpan = 2;
    data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
    data.heightHint = IDialogConstants.ENTRY_FIELD_WIDTH;
    projectNames.getTable().setLayoutData(data);
    projectNames.setCheckedElements(selection);
    //table is disabled to start because all button is selected
    projectNames.getTable().setEnabled(selectedButton.getSelection());
    projectNames.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            selection = projectNames.getCheckedElements();
            updateEnablement();
        }
    });
}

From source file:org.eclipse.ui.internal.ide.dialogs.ProjectReferencePage.java

License:Open Source License

protected Control createContents(Composite parent) {
    PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
            IIDEHelpContextIds.PROJECT_REFERENCE_PROPERTY_PAGE);

    Composite composite = new Composite(parent, SWT.NONE);

    initialize();//from  w  ww.j  a va2s .c  om

    createDescriptionLabel(composite);

    listViewer = CheckboxTableViewer.newCheckList(composite, SWT.TOP | SWT.BORDER);

    if (!project.isOpen())
        listViewer.getControl().setEnabled(false);

    listViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    listViewer.setContentProvider(getContentProvider(project));
    listViewer.setComparator(new ViewerComparator());
    listViewer.setInput(project.getWorkspace());
    try {
        listViewer.setCheckedElements(project.getDescription().getReferencedProjects());
    } catch (CoreException e) {
        //don't initial-check anything
    }

    //check for initial modification to avoid work if no changes are made
    listViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            modified = true;
        }
    });

    applyDialogFont(composite);

    GridLayoutFactory.fillDefaults().generateLayout(composite);

    return composite;
}

From source file:org.eclipse.ui.internal.navigator.filters.CustomizationTab.java

License:Open Source License

protected void createTable() {

    tableViewer = CheckboxTableViewer.newCheckList(this, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    tableViewer.addCheckStateListener(checkListener);

    tableViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    tableViewer.getControl().setFont(getFont());

}

From source file:org.eclipse.ui.internal.views.markers.FiltersConfigurationDialog.java

License:Open Source License

/**
 * @param parent/*from   w ww  .ja  v a2  s  .  c o  m*/
 */
private void createConfigs(Composite parent) {

    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(2, false));
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    composite.setBackground(parent.getBackground());

    configsTable = CheckboxTableViewer.newCheckList(composite, SWT.BORDER);
    GridData tableData = new GridData(SWT.FILL, SWT.FILL, true, true);
    tableData.widthHint = convertHorizontalDLUsToPixels(120);
    configsTable.getControl().setLayoutData(tableData);

    configsTable.setContentProvider(ArrayContentProvider.getInstance());
    configsTable.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            return ((MarkerFieldFilterGroup) element).getName();
        }
    });

    configsTable.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            configsTable.setSelection(new StructuredSelection(event.getElement()));
            updateRadioButtonsFromTable();
        }
    });

    configsTable.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            storeConfiguration();
            MarkerFieldFilterGroup group = getSelectionFromTable();
            if (group == null) {
                setFieldsEnabled(false);
            } else
                setFieldsEnabled(true);
            updateButtonEnablement(group);
            updateConfigDesc(group);
            selectedFilterGroup = group;
        }
    });

    createButtons(composite);

}

From source file:org.eclipse.ui.internal.views.markers.QuickFixPage.java

License:Open Source License

/**
 * Create the table that shows the markers.
 * // w  w w  .java2s  .  c om
 * @param control
 */
private void createMarkerTable(Composite control) {
    markersTable = CheckboxTableViewer.newCheckList(control, SWT.BORDER | SWT.V_SCROLL | SWT.SINGLE);

    createTableColumns();

    markersTable.setContentProvider(new IStructuredContentProvider() {
        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
         */
        public void dispose() {

        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
         */
        public Object[] getElements(Object inputElement) {
            IMarkerResolution selected = getSelectedResolution();
            if (selected == null) {
                return new Object[0];
            }

            if (resolutions.containsKey(selected)) {
                return ((Collection) resolutions.get(selected)).toArray();
            }
            return MarkerSupportInternalUtilities.EMPTY_MARKER_ARRAY;
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
         *      java.lang.Object, java.lang.Object)
         */
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {

        }
    });

    markersTable.setLabelProvider(new ITableLabelProvider() {

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object,
         *      int)
         */
        public Image getColumnImage(Object element, int columnIndex) {
            if (columnIndex == 0)
                return Util.getImage(((IMarker) element).getAttribute(IMarker.SEVERITY, -1));
            return null;
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object,
         *      int)
         */
        public String getColumnText(Object element, int columnIndex) {
            IMarker marker = (IMarker) element;
            if (columnIndex == 0)
                return Util.getResourceName(marker);

            // Is the location override set?
            String locationString = marker.getAttribute(IMarker.LOCATION,
                    MarkerSupportInternalUtilities.EMPTY_STRING);
            if (locationString.length() > 0) {
                return locationString;
            }

            // No override so use line number
            int lineNumber = marker.getAttribute(IMarker.LINE_NUMBER, -1);
            String lineNumberString = null;
            if (lineNumber < 0)
                lineNumberString = MarkerMessages.Unknown;
            else
                lineNumberString = NLS.bind(MarkerMessages.label_lineNumber, Integer.toString(lineNumber));

            return lineNumberString;
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
         */
        public void addListener(ILabelProviderListener listener) {
            // do nothing

        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
         */
        public void dispose() {
            // do nothing

        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object,
         *      java.lang.String)
         */
        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
         */
        public void removeListener(ILabelProviderListener listener) {
            // do nothing

        }
    });

    markersTable.addCheckStateListener(new ICheckStateListener() {
        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
         */
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked() == true) {
                setPageComplete(true);
            } else {
                setPageComplete(markersTable.getCheckedElements().length > 0);
            }

        }
    });

    new OpenAndLinkWithEditorHelper(markersTable) {

        {
            setLinkWithEditor(false);
        }

        protected void activate(ISelection selection) {
            open(selection, true);
        }

        /** Not supported*/
        protected void linkToEditor(ISelection selection) {
        }

        protected void open(ISelection selection, boolean activate) {
            if (selection.isEmpty())
                return;
            IMarker marker = (IMarker) ((IStructuredSelection) selection).getFirstElement();
            if (marker != null && marker.getResource() instanceof IFile) {
                try {
                    IDE.openEditor(site.getPage(), marker, activate);
                } catch (PartInitException e) {
                    MarkerSupportInternalUtilities.showViewError(e);
                }
            }
        }
    };
    markersTable.setInput(this);
}

From source file:org.eclipse.ui.views.markers.internal.DialogMarkerFilter.java

License:Open Source License

/**
 * Create the area for the user to select thier filters.
 * /* w  w w. j  a v  a  2  s.c  o m*/
 * @param listArea
 */
void createUserFiltersArea(Composite listArea) {

    Composite userComposite = new Composite(listArea, SWT.NONE);
    userComposite.setLayout(new GridLayout(2, false));
    userComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    Label title = new Label(userComposite, SWT.NONE);
    title.setText(MarkerMessages.MarkerFilter_filtersTitle);
    GridData titleData = new GridData();
    titleData.horizontalSpan = 2;
    title.setLayoutData(titleData);

    filtersList = CheckboxTableViewer.newCheckList(userComposite, SWT.BORDER);
    filtersList.setContentProvider(new IStructuredContentProvider() {
        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
         */
        public Object[] getElements(Object inputElement) {
            return filters;
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
         */
        public void dispose() {
            // Do nothing
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
         *      java.lang.Object, java.lang.Object)
         */
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // Do nothing
        }
    });

    filtersList.setLabelProvider(new LabelProvider() {
        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
         */
        public String getText(Object element) {
            return ((MarkerFilter) element).getName();
        }
    });

    selectedFilters = new MarkerFilter[] { filters[0] };
    filtersList.setSelection(new StructuredSelection(selectedFilters));

    filtersList.addSelectionChangedListener(new ISelectionChangedListener() {

        /*
        * (non-Javadoc)
        * 
        * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
        */
        public void selectionChanged(SelectionChangedEvent event) {
            updateFilterFromUI();
            setSelectedFilter(event);

        }
    });

    filtersList.setInput(this);
    for (int i = 0; i < filters.length; i++) {
        filtersList.setChecked(filters[i], filters[i].isEnabled());
    }

    GridData listData = new GridData(SWT.FILL, SWT.FILL, true, true);
    listData.widthHint = convertHorizontalDLUsToPixels(100);
    filtersList.getControl().setLayoutData(listData);

    Composite buttons = new Composite(userComposite, SWT.NONE);
    GridLayout buttonLayout = new GridLayout();
    buttonLayout.marginWidth = 0;
    buttons.setLayout(buttonLayout);
    GridData buttonsData = new GridData();
    buttonsData.verticalAlignment = GridData.BEGINNING;
    buttons.setLayoutData(buttonsData);

    Button addNew = new Button(buttons, SWT.PUSH);
    addNew.setText(MarkerMessages.MarkerFilter_addFilterName);
    addNew.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            InputDialog newDialog = new InputDialog(getShell(), MarkerMessages.MarkerFilterDialog_title,
                    MarkerMessages.MarkerFilterDialog_message, MarkerMessages.MarkerFilter_newFilterName,
                    new IInputValidator() {
                        /*
                         * (non-Javadoc)
                         * 
                         * @see org.eclipse.jface.dialogs.IInputValidator#isValid(java.lang.String)
                         */
                        public String isValid(String newText) {
                            if (newText.length() == 0)
                                return MarkerMessages.MarkerFilterDialog_emptyMessage;
                            for (int i = 0; i < filters.length; i++) {
                                if (filters[i].getName().equals(newText))
                                    return NLS.bind(MarkerMessages.filtersDialog_conflictingName, newText);

                            }
                            return null;
                        }
                    });
            newDialog.open();
            String newName = newDialog.getValue();
            if (newName != null) {
                createNewFilter(newName);
            }
        }
    });
    setButtonLayoutData(addNew);

    Button remove = new Button(buttons, SWT.PUSH);
    remove.setText(MarkerMessages.MarkerFilter_deleteSelectedName);
    remove.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            removeFilters(filtersList.getSelection());
        }
    });
    setButtonLayoutData(remove);
}

From source file:org.eclipse.ui.views.markers.internal.DialogProblemFilter.java

License:Open Source License

/**
 * Create a composite for the registered filters.
 * /*from  www.ja  va 2  s  .  c o m*/
 * @param bottomComposite
 */
private void createRegisteredFilters(Composite bottomComposite) {

    Composite listArea = new Composite(bottomComposite, SWT.NONE);
    listArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    listArea.setLayout(new GridLayout());

    Label title = new Label(listArea, SWT.NONE);
    title.setText(MarkerMessages.ProblemFilterDialog_System_Filters_Title);
    definedList = CheckboxTableViewer.newCheckList(listArea, SWT.BORDER);
    definedList.setContentProvider(new IStructuredContentProvider() {
        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
         */
        public Object[] getElements(Object inputElement) {
            return MarkerSupportRegistry.getInstance().getRegisteredFilters().toArray();
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
         */
        public void dispose() {
            // Do nothing
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
         *      java.lang.Object, java.lang.Object)
         */
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // Do nothing
        }
    });

    definedList.setLabelProvider(new LabelProvider() {
        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
         */
        public String getText(Object element) {
            return ((MarkerFilter) element).getName();
        }
    });

    definedList.addSelectionChangedListener(new ISelectionChangedListener() {

        /*
        * (non-Javadoc)
        * 
        * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
        */
        public void selectionChanged(SelectionChangedEvent event) {

            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object selected = ((IStructuredSelection) selection).getFirstElement();
                if (selected == null) {
                    systemSettingsLabel.setText(Util.EMPTY_STRING);
                } else {
                    systemSettingsLabel.setText(getSystemFilterString((ProblemFilter) selected));
                }
            } else {
                systemSettingsLabel.setText(Util.EMPTY_STRING);
            }
            showSystemLabel(true);

        }
    });

    Iterator definedFilters = MarkerSupportRegistry.getInstance().getRegisteredFilters().iterator();
    definedList.setInput(this);
    while (definedFilters.hasNext()) {
        MarkerFilter next = (MarkerFilter) definedFilters.next();
        definedList.setChecked(next, next.isEnabled());
    }

    definedList.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

}

From source file:org.eclipse.ui.views.markers.internal.MarkerResolutionDialog.java

License:Open Source License

/**
 * Create the table for the markers//* w w  w .  j a va  2s . co m*/
 * 
 * @param control
 */
private void createMarkerTable(Composite control) {
    markersTable = CheckboxTableViewer.newCheckList(control, SWT.BORDER | SWT.V_SCROLL);

    createTableColumns();

    markersTable.setContentProvider(new IStructuredContentProvider() {
        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
         */
        public void dispose() {

        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
         */
        public Object[] getElements(Object inputElement) {
            IMarkerResolution selected = getSelectedResolution();
            if (selected == null) {
                return new Object[0];
            }

            if (markerMap.containsKey(selected)) {
                return ((Collection) markerMap.get(selected)).toArray();
            }
            return new IMarker[] { originalMarker };
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
         *      java.lang.Object, java.lang.Object)
         */
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {

        }
    });

    markersTable.setLabelProvider(new ITableLabelProvider() {

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object,
         *      int)
         */
        public Image getColumnImage(Object element, int columnIndex) {
            if (columnIndex == 0)
                return Util.getImage(((IMarker) element).getAttribute(IMarker.SEVERITY, -1));
            return null;
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object,
         *      int)
         */
        public String getColumnText(Object element, int columnIndex) {
            if (columnIndex == 0)
                return Util.getResourceName((IMarker) element);
            int line = ((IMarker) element).getAttribute(IMarker.LINE_NUMBER, -1);
            if (line < 0) {
                return MarkerMessages.Unknown;
            }
            return NLS.bind(MarkerMessages.label_lineNumber, Integer.toString(line));
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
         */
        public void addListener(ILabelProviderListener listener) {
            // do nothing

        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
         */
        public void dispose() {
            // do nothing

        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object,
         *      java.lang.String)
         */
        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
         */
        public void removeListener(ILabelProviderListener listener) {
            // do nothing

        }
    });

    markersTable.addCheckStateListener(new ICheckStateListener() {
        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
         */
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked() == true) {
                setComplete(true);
            } else {
                setComplete(markersTable.getCheckedElements().length > 0);
            }

        }
    });

    markersTable.setInput(this);
    markersTable.setAllChecked(true);
}

From source file:org.eclipse.virgo.ide.jdt.internal.ui.properties.TestSourceFolderPreferencePage.java

License:Open Source License

protected Control createContents(Composite parent) {

    Font font = parent.getFont();

    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    composite.setLayout(layout);/*from  w w  w.  j av  a  2s  . c  o m*/
    composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    composite.setFont(font);

    initialize();

    Label description = createDescriptionLabel(composite);
    description.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));

    listViewer = CheckboxTableViewer.newCheckList(composite, SWT.TOP | SWT.BORDER);
    listViewer.getTable().setFont(font);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.grabExcessHorizontalSpace = true;

    if (project != null && !project.isOpen())
        listViewer.getControl().setEnabled(false);

    // Only set a height hint if it will not result in a cut off dialog
    if (DialogUtil.inRegularFontMode(parent)) {
        data.heightHint = getDefaultFontHeight(listViewer.getTable(), PROJECT_LIST_MULTIPLIER);
    }
    listViewer.getTable().setLayoutData(data);
    listViewer.getTable().setFont(font);

    listViewer.setLabelProvider(new ClasspathEntryLabelProvider());
    listViewer.setContentProvider(new ClasspathEntryContentProvider());
    listViewer.setComparator(new ViewerComparator());
    listViewer.setInput(project);
    listViewer.setCheckedElements(ServerModuleDelegate.getSourceClasspathEntries(project, true).toArray());

    // check for initial modification to avoid work if no changes are made
    listViewer.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent event) {
            modified = true;
        }
    });

    return composite;
}