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.jdt.internal.junit.util.CheckedTableSelectionDialog.java

License:Open Source License

private Table createTableViewer(Composite parent) {
    fViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);

    fViewer.setContentProvider(fContentProvider);
    fViewer.setLabelProvider(fLabelProvider);
    fViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            updateOKStatus();/*from   w w w  .ja  v a2s .  com*/
        }
    });

    if (fFilters != null) {
        for (int i = 0; i != fFilters.size(); i++)
            fViewer.addFilter(fFilters.get(i));
    }

    fViewer.setInput(fInput);
    return fViewer.getTable();
}

From source file:org.eclipse.jdt.junit.wizards.NewTestSuiteWizardPage.java

License:Open Source License

/**
 * Creates the controls for the list of classes in the suite. Expects a <code>GridLayout</code> with
 * at least 3 columns.//from   www  . j  av  a2s.  c o  m
 *
 * @param parent the parent composite
 * @param nColumns number of columns to span
 */
protected void createClassesInSuiteControl(Composite parent, int nColumns) {
    if (fClassesInSuiteTable == null) {

        Label label = new Label(parent, SWT.LEFT);
        label.setText(WizardMessages.NewTestSuiteWizPage_classes_in_suite_label);
        GridData gd = new GridData();
        gd.horizontalAlignment = GridData.FILL;
        gd.horizontalSpan = nColumns;
        label.setLayoutData(gd);

        fClassesInSuiteTable = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
        gd = new GridData(GridData.FILL_BOTH);
        gd.heightHint = 80;
        gd.horizontalSpan = nColumns - 1;

        fClassesInSuiteTable.getTable().setLayoutData(gd);
        fClassesInSuiteTable.setContentProvider(new SuiteClassesContentProvider(isJUnit4()));
        fClassesInSuiteTable.setLabelProvider(new JavaElementLabelProvider());
        fClassesInSuiteTable.addCheckStateListener(new ICheckStateListener() {
            public void checkStateChanged(CheckStateChangedEvent event) {
                handleFieldChanged(CLASSES_IN_SUITE);
            }
        });

        Composite buttonContainer = new Composite(parent, SWT.NONE);
        gd = new GridData(GridData.FILL_VERTICAL);
        buttonContainer.setLayoutData(gd);
        GridLayout buttonLayout = new GridLayout();
        buttonLayout.marginWidth = 0;
        buttonLayout.marginHeight = 0;
        buttonContainer.setLayout(buttonLayout);

        Button selectAllButton = new Button(buttonContainer, SWT.PUSH);
        selectAllButton.setText(WizardMessages.NewTestSuiteWizPage_selectAll);
        GridData bgd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
        bgd.widthHint = LayoutUtil.getButtonWidthHint(selectAllButton);
        selectAllButton.setLayoutData(bgd);
        selectAllButton.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                fClassesInSuiteTable.setAllChecked(true);
                handleFieldChanged(CLASSES_IN_SUITE);
            }
        });

        Button deselectAllButton = new Button(buttonContainer, SWT.PUSH);
        deselectAllButton.setText(WizardMessages.NewTestSuiteWizPage_deselectAll);
        bgd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
        bgd.widthHint = LayoutUtil.getButtonWidthHint(deselectAllButton);
        deselectAllButton.setLayoutData(bgd);
        deselectAllButton.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                fClassesInSuiteTable.setAllChecked(false);
                handleFieldChanged(CLASSES_IN_SUITE);
            }
        });

        // No of selected classes label
        fSelectedClassesLabel = new Label(parent, SWT.LEFT | SWT.WRAP);
        fSelectedClassesLabel.setFont(parent.getFont());
        updateSelectedClassesLabel();
        gd = new GridData();
        gd.horizontalSpan = 2;
        fSelectedClassesLabel.setLayoutData(gd);
    }
}

From source file:org.eclipse.jetty.osgi.pde.launch.ui.tabs.JavaProjectsAsWebappsBlock.java

License:Open Source License

/**
 * Calls create control of the super (which is final)
 * then go an tweak the created control so that its purpose is for jetty home
 * instead of a working directory selection.
 *//*  ww  w. j a  v  a2s .c  om*/
public void createControl(Composite parent) {
    parent = SWTFactory.createComposite(parent, 1, 2, GridData.FILL_BOTH);
    super.setControl(parent);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    parent.setLayoutData(gridData);

    _webappsInJavaProjects = new HashMap<IProject, NaiveJavaProjectToWebappIdentifier>();

    Group grp = SWTFactory.createGroup(parent,
            JettyLauncherMessages.JavaProjectsAsWebappsBlock_Select_java_projects_to_run_as_webapps, 1, 1,
            GridData.FILL_BOTH);
    gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    grp.setLayoutData(gridData);

    _javaProjectsViewer = CheckboxTableViewer.newCheckList(grp, SWT.BORDER);
    Table table = _javaProjectsViewer.getTable();

    TableLayout layout = new TableLayout();

    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    TableColumn tc0 = new TableColumn(table, SWT.NONE, 0);
    TableColumn tc1 = new TableColumn(table, SWT.NONE, 1);
    TableColumn tc2 = new TableColumn(table, SWT.NONE, 2);
    //        TableColumn tc3 = new TableColumn(table,SWT.NONE, 3);
    tc0.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_JavaProject);
    tc1.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_ContextPath);
    tc2.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_WebappBaseFolder);
    //        tc3.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_JettyContextFilePathes);

    layout.addColumnData(new ColumnWeightData(28));
    layout.addColumnData(new ColumnWeightData(12));
    layout.addColumnData(new ColumnWeightData(60));

    table.setLayout(layout);

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

    _javaProjectsViewer.setContentProvider(new JavaProjectsOrWebBundlesContentProvider(true));
    _javaProjectsViewer.setLabelProvider(new JavaProjectsOrWebBundleLabelProvider());
    _javaProjectsViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            setDirty(true);
            updateLaunchConfigurationDialog();
        }
    });
    _javaProjectsViewer.setInput(ResourcesPlugin.getWorkspace().getRoot());

    //now for the read-only list of web-bundles.

    grp = SWTFactory.createGroup(parent, JettyLauncherMessages.JavaProjectsAsWebappsBlock_List_webbundles, 1, 1,
            GridData.FILL_BOTH);
    gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    grp.setLayoutData(gridData);

    TableViewer webBundles = new TableViewer(grp, SWT.BORDER);
    table = webBundles.getTable();
    layout = new TableLayout();

    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    tc0 = new TableColumn(table, SWT.NONE, 0);
    tc1 = new TableColumn(table, SWT.NONE, 1);
    tc2 = new TableColumn(table, SWT.NONE, 2);
    //        TableColumn tc3 = new TableColumn(table,SWT.NONE, 3);
    tc0.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_WebBundleProject);
    tc1.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_ContextPath);
    tc2.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_WebappBaseFolder);
    //        tc3.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_JettyContextFilePathes);

    layout.addColumnData(new ColumnWeightData(28));
    layout.addColumnData(new ColumnWeightData(12));
    layout.addColumnData(new ColumnWeightData(60));

    table.setLayout(layout);
    webBundles.setContentProvider(new JavaProjectsOrWebBundlesContentProvider(false));
    webBundles.setLabelProvider(new JavaProjectsOrWebBundleLabelProvider());
    webBundles.setInput(ResourcesPlugin.getWorkspace().getRoot());
    webBundles.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
}

From source file:org.eclipse.jst.j2ee.internal.wizard.EARComponentImportOptionsPage.java

License:Open Source License

protected void createAvailableJarsList(Composite listGroup) {
    availableJARsViewer = CheckboxTableViewer.newCheckList(listGroup, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    GridData gData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
    gData.widthHint = 200;//from w  w w .ja  v a  2s.c o  m
    gData.heightHint = 80;
    availableJARsViewer.getControl().setLayoutData(gData);
    AvailableUtilJarsAndWebLibProvider availableUtilJARsProvider = new AvailableUtilJarsAndWebLibProvider();
    availableJARsViewer.setContentProvider(availableUtilJARsProvider);
    availableJARsViewer.setLabelProvider(availableUtilJARsProvider);
    availableJARsViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            availableJARCheckStateChanged(event);
        }
    });
    availableJARsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtonEnablements();
        }
    });
    TableLayout tableLayout = new TableLayout();
    availableJARsViewer.getTable().setLayout(tableLayout);
    availableJARsViewer.getTable().setHeaderVisible(false);
    availableJARsViewer.getTable().setLinesVisible(false);

    model.addListener(new IDataModelListener() {
        public void propertyChanged(DataModelEvent event) {
            if (event.getPropertyName().equals(IEARComponentImportDataModelProperties.UTILITY_LIST)) {
                availableJARsViewer.setCheckedElements(
                        ((List) model.getProperty(IEARComponentImportDataModelProperties.UTILITY_LIST))
                                .toArray());
            }
        }
    });
}

From source file:org.eclipse.jst.j2ee.internal.wizard.EARComponentProjectsPage.java

License:Open Source License

/**
 * Creates the import source specification widgets. <b>Subclasses </b> must override this hook
 * method./*from  w  w w  . j  a  v  a2 s  .c  o  m*/
 * 
 * @param parent
 *            a <code>Composite</code> that is to be used as the parent of this group's
 *            collection of visual components
 * @see org.eclipse.swt.widgets.Composite
 */
protected void createListGroup(org.eclipse.swt.widgets.Composite parent) {
    Composite listGroup = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 1;
    listGroup.setLayout(layout);
    GridData gd = new GridData(GridData.FILL_BOTH);
    listGroup.setLayoutData(gd);

    earFileListViewer = CheckboxTableViewer.newCheckList(listGroup,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    EARImportListContentProvider provider = new EARImportListContentProvider();
    earFileListViewer.setContentProvider(provider);
    earFileListViewer.setLabelProvider(provider);
    earFileListViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            List result = new ArrayList();
            result.addAll(Arrays.asList(earFileListViewer.getCheckedElements()));
            model.setProperty(IEARComponentImportDataModelProperties.SELECTED_MODELS_LIST, result);

        }
    });

    Table earFileListTable = (Table) earFileListViewer.getControl();
    earFileListTable.setHeaderVisible(true);
    earFileListTable.setLinesVisible(true);
    // set up table layout
    TableLayout tableLayout = new org.eclipse.jface.viewers.TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(100, true));
    tableLayout.addColumnData(new ColumnWeightData(200, true));
    earFileListTable.setLayout(tableLayout);

    gd = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
    gd.widthHint = 400;
    earFileListTable.setLayoutData(gd);

    TableColumn fileNameColumns = new TableColumn(earFileListTable, SWT.NONE);
    fileNameColumns.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_Modules_in_EAR));
    fileNameColumns.setResizable(true);

    TableColumn importNameColumn = new TableColumn(earFileListTable, SWT.NONE);
    importNameColumn.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_New_Project_Name));
    importNameColumn.setResizable(true);

    String[] columnProperties = new String[2];
    columnProperties[0] = FILE_COLUMN;
    columnProperties[1] = PROJECT_COLUMN;
    earFileListViewer.setColumnProperties(columnProperties);

    setColumnEditors();
    earFileListViewer.setCellModifier(new ICellModifier() {
        public boolean canModify(Object element, String property) {
            return PROJECT_COLUMN.equals(property);
        }

        public Object getValue(Object element, String property) {
            TableItem[] items = earFileListViewer.getTable().getSelection();
            TableItem item = items[0];
            return item.getText(1);
        }

        public void modify(Object element, String property, Object value) {
            TableItem elementHolder = (TableItem) element;
            if (property.equals(PROJECT_COLUMN)) {
                elementHolder.setText(1, (String) value);
                ((IDataModel) elementHolder.getData())
                        .setProperty(IJ2EEComponentImportDataModelProperties.PROJECT_NAME, value);
            }
        }
    });
}

From source file:org.eclipse.jst.j2ee.internal.wizard.J2EEUtilityJarImportPageNew.java

License:Open Source License

protected void createAvailableJarsList(Composite listGroup) {
    availableJARsViewer = CheckboxTableViewer.newCheckList(listGroup, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);

    GridData gData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
    gData.widthHint = 200;/*from   ww  w . ja  v a2 s .c o  m*/
    gData.heightHint = 80;
    availableJARsViewer.getControl().setLayoutData(gData);
    AvailableUtilityJarsProvider availableUtilJARsProvider = new AvailableUtilityJarsProvider();
    availableJARsViewer.setContentProvider(availableUtilJARsProvider);
    availableJARsViewer.setLabelProvider(availableUtilJARsProvider);

    availableJARsViewer.getTable().setHeaderVisible(false);
    availableJARsViewer.getTable().setLinesVisible(false);

    availableJARsViewer.setInput(model);

    /* getModel().addListener(getOperationDataModelListener()); */
    synchHelper.synchCheckBoxTableViewer(availableJARsViewer,
            IJ2EEUtilityJarListImportDataModelProperties.UTILITY_JAR_LIST, null);

    model.addListener(new IDataModelListener() {

        public void propertyChanged(DataModelEvent event) {
            if (IJ2EEUtilityJarListImportDataModelProperties.AVAILABLE_JARS_DIRECTORY
                    .equals(event.getPropertyName()))
                availableJARsViewer.setInput(model);
        }
    });
}

From source file:org.eclipse.jst.j2ee.ui.project.facet.EarFacetInstallPage.java

License:Open Source License

/**
 * @param parent/*from w  w  w.  j a  v  a2 s  .c  om*/
 */
private void createModuleProjectOptions(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(2, false));
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));

    moduleProjectsLabel = new Label(composite, SWT.NONE);
    moduleProjectsLabel
            .setText(J2EEUIMessages.getResourceString(J2EEUIMessages.J2EE_MODULE_DEPENDENCIES_LABEL));
    GridData gd = gdhfill();
    gd.horizontalSpan = 2;
    moduleProjectsLabel.setLayoutData(gd);

    moduleProjectsViewer = CheckboxTableViewer.newCheckList(composite,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    GridData gData = new GridData(GridData.FILL_BOTH);
    gData.widthHint = 200;
    gData.heightHint = 80;
    moduleProjectsViewer.getControl().setLayoutData(gData);
    int j2eeVersion = getJ2EEVersion();
    ILabelDecorator decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
    AvailableJ2EEComponentsForEARContentProvider provider = new AvailableJ2EEComponentsForEARContentProvider(
            null, j2eeVersion, decorator);
    moduleProjectsViewer.setContentProvider(provider);
    final J2EEComponentLabelProvider labelProvider = new J2EEComponentLabelProvider(provider);
    decorator.addListener(new ILabelProviderListener() {

        public void labelProviderChanged(LabelProviderChangedEvent event) {
            if (!moduleProjectsViewer.getTable().isDisposed()) {
                moduleProjectsViewer.refresh(true);
            }
        }
    });
    moduleProjectsViewer.setLabelProvider(labelProvider);
    setCheckedItemsFromModel();

    moduleProjectsViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (!ignoreCheckedState) {
                getDataModel().setProperty(J2EE_PROJECTS_LIST, getCheckedJ2EEElementsAsList());
                getDataModel().setProperty(JAVA_PROJECT_LIST, getCheckedJavaProjectsAsList());
            }
        }
    });
    TableLayout tableLayout = new TableLayout();
    moduleProjectsViewer.getTable().setLayout(tableLayout);
    moduleProjectsViewer.getTable().setHeaderVisible(false);
    moduleProjectsViewer.getTable().setLinesVisible(false);
    moduleProjectsViewer.setSorter(null);
    this.moduleProjectsViewer.getTable().getAccessible().addAccessibleListener(new AccessibleAdapter() {
        @Override
        public void getName(AccessibleEvent e) {
            e.result = J2EEUIMessages
                    .getResourceString(J2EEUIMessages.J2EE_MODULE_DEPENDENCIES_LABEL_ACCESSIBILITY);
        }
    });

    createButtonsGroup(composite);
}

From source file:org.eclipse.jst.jsf.common.ui.internal.preferences.StrategyOrderingPanel.java

License:Open Source License

private void createTableViewer(final Composite parent) {
    _viewer = CheckboxTableViewer.newCheckList(parent, SWT.SINGLE | SWT.BORDER);
    final Table table = _viewer.getTable();
    table.setHeaderVisible(false);//w  w w  . j  a  va2  s  .  c o m
    table.setLinesVisible(false);
    table.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false, 1, 1));

    final TableColumn nameColumn = new TableColumn(table, SWT.NONE);
    // nameColumn
    // .setText(PreferencesMessages.CodeAssistAdvancedConfigurationBlock_separate_table_category_column_title);
    nameColumn.setResizable(false);

    _viewer.setContentProvider(new ContentProvider());

    _viewer.setLabelProvider(_labelProvider);
    _viewer.setInput(_provider);

    final int ICON_AND_CHECKBOX_WITH = 50;
    final int HEADER_MARGIN = 20;
    int minNameWidth = computeWidth(table, nameColumn.getText()) + HEADER_MARGIN;
    for (int i = 0; i < _provider.getOrderedObjects().size(); i++) {
        minNameWidth = Math.max(minNameWidth,
                computeWidth(table, _labelProvider.getColumnText(_provider.getOrderedObjects().get(i), 0))
                        + ICON_AND_CHECKBOX_WITH);
    }

    nameColumn.setWidth(minNameWidth);

    _viewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(final CheckStateChangedEvent event) {
            final boolean checked = event.getChecked();
            final OrderableObject element = (OrderableObject) event.getElement();
            element.setEnabled(checked);
        }
    });

    table.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            handleTableSelection();
        }
    });

}

From source file:org.eclipse.jst.jsf.facesconfig.ui.section.LocaleConfigSection.java

License:Open Source License

/**
 * create a CheckboxTableViewer for this section.
 *//*from   w w  w  . j a  v  a  2 s .  com*/
protected TableViewer createTableViewer(Composite parent) {
    CheckboxTableViewer tableViewer1 = CheckboxTableViewer.newCheckList(parent,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    tableViewer1.addCheckStateListener(this);
    tableViewer1.setSorter(new ViewerSorter());
    return tableViewer1;
}

From source file:org.eclipse.jst.jsf.ui.internal.jsflibraryconfig.JSFLibraryConfigControl.java

License:Open Source License

private void createCompLibControls(Composite parent) {
    final Composite cmpCompLibs = new Composite(parent, SWT.NONE);
    final GridLayout gridLayoutCompLibs = new GridLayout();
    gridLayoutCompLibs.numColumns = 4;/*from   ww w  .java2  s. c  o  m*/
    gridLayoutCompLibs.marginWidth = 0;
    gridLayoutCompLibs.marginHeight = 0;
    cmpCompLibs.setLayout(gridLayoutCompLibs);
    GridData gdComp = new GridData();
    gdComp.horizontalAlignment = SWT.FILL;
    gdComp.grabExcessHorizontalSpace = true;
    cmpCompLibs.setLayoutData(gdComp);

    tvCompLib = new TreeViewer(cmpCompLibs, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    tvAdapter = new TreeViewerAdapter();
    tvLabelProvider = new TreeLabelProvider();
    tvCompLib.setContentProvider(tvAdapter);
    tvCompLib.setLabelProvider(tvLabelProvider);
    tvCompLib.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            resetComponentLibSelection((StructuredSelection) event.getSelection(), tvCompLib, ctvSelCompLib,
                    true);
            fireChangedEvent(event);
        }
    });
    tvCompLib.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    tvCompLib.addFilter(new TreeViewerFilter());

    final Composite composite_buttons = new Composite(cmpCompLibs, SWT.NONE);
    composite_buttons.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
    composite_buttons.setLayout(new GridLayout());

    final Composite composite_Single = new Composite(composite_buttons, SWT.None);
    composite_Single.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    final GridLayout gl_Single = new GridLayout();
    gl_Single.marginHeight = 4;
    composite_Single.setLayout(new GridLayout());

    final Button btnAdd = new Button(composite_Single, SWT.NONE);
    btnAdd.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
    btnAdd.setText(Messages.JSFLibraryConfigControl_Add);
    btnAdd.setEnabled(false);

    final Button btnRemove = new Button(composite_Single, SWT.NONE);
    btnRemove.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
    btnRemove.setText(Messages.JSFLibraryConfigControl_Remove);
    btnRemove.setEnabled(false);

    final Composite composite_All = new Composite(composite_buttons, SWT.None);
    composite_All.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    final GridLayout gl_All = new GridLayout();
    gl_Single.marginHeight = 4;
    composite_All.setLayout(gl_All);

    btnAddAll = new Button(composite_All, SWT.NONE);
    btnAddAll.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
    btnAddAll.setText(Messages.JSFLibraryConfigControl_AddAll);

    btnRemoveAll = new Button(composite_All, SWT.NONE);
    btnRemoveAll.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
    btnRemoveAll.setText(Messages.JSFLibraryConfigControl_RemoveAll);

    final Composite composite_New = new Composite(composite_buttons, SWT.None);
    composite_New.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    final GridLayout gl_New = new GridLayout();
    gl_Single.marginHeight = 4;
    composite_New.setLayout(gl_New);

    final Button btnNewCompLib = new Button(composite_New, SWT.NONE);
    btnNewCompLib.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false));
    btnNewCompLib.setText(Messages.JSFLibraryConfigControl_NewComponentLibrary);
    btnNewCompLib.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            JSFLibraryWizard wizard = new JSFLibraryWizard();
            IWorkbench wb = PlatformUI.getWorkbench();
            wizard.init(wb, null);
            WizardDialog dialog = new WizardDialog(wb.getActiveWorkbenchWindow().getShell(), wizard);
            int ret = dialog.open();
            if (ret == Window.OK) {
                JSFLibraryInternalReference lib = new JSFLibraryInternalReference(wizard.getJSFLibrary(), true,
                        true);
                JSFLibraryRegistryUtil.getInstance().addJSFLibrary(lib);
                workingCopyModel.getJSFComponentLibraries().add(lib);

                loadJSFCompList();
                setCompListModelProperty();
                ctvSelCompLib.setChecked(lib, true);
            }
        }
    });

    ctvSelCompLib = CheckboxTableViewer.newCheckList(cmpCompLibs, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
    ctvSelCompLib.addFilter(new CheckedTableViewerFilter());
    final Table table = ctvSelCompLib.getTable();
    table.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
    table.setHeaderVisible(true);
    final TableColumn tcDeploy = new TableColumn(table, SWT.LEFT);
    tcDeploy.setWidth(50);
    tcDeploy.setText(Messages.JSFLibraryConfigControl_TH_Deploy);
    tcDeploy.setToolTipText(Messages.JSFLibraryConfigControl_DeployJAR);
    final TableColumn tcLibName = new TableColumn(table, SWT.LEFT);
    tcLibName.setWidth(150);
    tcLibName.setText(Messages.JSFLibraryConfigControl_TH_LibraryName);

    //ctvSelCompLib.setCellModifier(new CellModifierCTVSelCompLib());
    ctvSelCompLib.setSorter(new SelectedCompLibCTVSorter());
    ctvSelCompLib.setLabelProvider(new SelectedCompLibCTVLabelProvider());
    ctvSelCompLib.setContentProvider(new CompLibCTVContentProvider());
    ctvSelCompLib.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            resetComponentLibSelection((StructuredSelection) event.getSelection(), tvCompLib, ctvSelCompLib,
                    false);
            fireChangedEvent(event);
        }
    });
    ctvSelCompLib.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            JSFLibraryInternalReference changedItem = (JSFLibraryInternalReference) event.getElement();
            boolean isChecked4Deploy = event.getChecked();

            List list = workingCopyModel.getJSFComponentLibraries();
            Iterator it = list.iterator();
            JSFLibraryInternalReference crtjsflib = null;
            while (it.hasNext()) {
                crtjsflib = (JSFLibraryInternalReference) it.next();
                if (crtjsflib.getID().equals(changedItem.getID())) {
                    crtjsflib.setToBeDeployed(isChecked4Deploy);
                    fireChangedEvent(event);
                    break;
                }
            }
        }
    });

    btnAdd.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            resetComponentLibSelection((StructuredSelection) tvCompLib.getSelection(), tvCompLib, ctvSelCompLib,
                    true);
            fireChangedEvent(e);
        }
    });

    btnAddAll.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            resetCompontLibSelectionAll(tvCompLib, ctvSelCompLib, true);
            fireChangedEvent(e);
        }
    });
    btnRemove.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            resetComponentLibSelection((StructuredSelection) ctvSelCompLib.getSelection(), tvCompLib,
                    ctvSelCompLib, false);
            fireChangedEvent(e);
        }
    });

    btnRemoveAll.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            resetCompontLibSelectionAll(tvCompLib, ctvSelCompLib, false);
            fireChangedEvent(e);
        }
    });

    tvCompLib.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            StructuredSelection sel = (StructuredSelection) event.getSelection();
            btnAdd.setEnabled(!sel.isEmpty() && sel.getFirstElement() instanceof JSFLibraryInternalReference);
            btnAddAll.setEnabled(tvCompLib.getTree().getItemCount() > 0);
        }
    });

    ctvSelCompLib.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            StructuredSelection sel = (StructuredSelection) event.getSelection();
            btnRemove.setEnabled(!sel.isEmpty());
            btnRemoveAll.setEnabled(ctvSelCompLib.getTable().getItemCount() > 0);
        }
    });

}