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

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

Introduction

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

Prototype

@Override
    public boolean setChecked(Object element, boolean state) 

Source Link

Usage

From source file:org.rubypeople.rdt.internal.debug.ui.preferences.EvaluationExpressionsPreferencePage.java

License:Common Public License

/**
 * Sets the list checkboxes to proper state
 *
 * @param viewer checkbox viewer/*from  w  ww. j  av  a  2  s .c o  m*/
 */
private void setEnabledExpresions(CheckboxTableViewer viewer) {
    for (Object o : fModel.getExpressionsAsArray()) {
        EvaluationExpression expr = (EvaluationExpression) o;
        viewer.setChecked(o, expr.isEnabled());
    }
}

From source file:org.talend.camel.designer.ui.editor.dependencies.CheckedCamelDependenciesPanel.java

License:Open Source License

@Override
protected TableViewer createTableViewer() {
    final CheckboxTableViewer viewer = CheckboxTableViewer.newCheckList(this,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    viewer.setCheckStateProvider(checkStateProvider);
    viewer.addCheckStateListener(new ICheckStateListener() {
        @Override/*from  w w w  .  ja  v a  2s.  c o m*/
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (((ManifestItem) event.getElement()).isBuiltIn()) {
                viewer.setChecked(event.getElement(), !event.getChecked());
            } else {
                ((ManifestItem) event.getElement()).setOptional(!event.getChecked());
                fireDependenciesChangedListener();
            }
        }
    });
    return viewer;
}

From source file:tubame.wsearch.ui.preferences.AbstractSearchFilterPage.java

License:Apache License

/**
 * Make the details of the sub-filter.<br/>
 * /*from  w w w  .j  a  va  2  s  . c o  m*/
 * @param group
 *            Group
 * @param fliters
 *            Filter set
 */
protected void createSearchSubFilterDetails(Group group, Set<SearchFilter> fliters) {

    for (final SearchFilter sfilter : fliters) {
        final TableViewer extentionDetailTableViewer = new TableViewer(group, SWT.BORDER);
        Table table = extentionDetailTableViewer.getTable();
        GridData gd = new GridData(GridData.FILL_BOTH);
        table.setLayoutData(gd);
        table.setHeaderVisible(true);
        table.setLinesVisible(true);
        String[] columnNames = new String[] {
                Activator.getResourceString(AbstractSearchFilterPage.class.getName() + ".label.extension") };
        int[] columnWidths = new int[] { 200 };

        for (int i = 0; i < columnNames.length; i++) {
            TableColumn tc = new TableColumn(table, SWT.LEFT);
            tc.setText(columnNames[i]);
            tc.setWidth(columnWidths[i]);
        }
        ColumnLayoutData[] layouts = { new ColumnWeightData(200, 200), new ColumnWeightData(200, 200) };

        TableLayout tableLayout = new AutoResizeTableLayout(table);
        for (int i = 0; i < layouts.length; i++) {
            tableLayout.addColumnData(layouts[i]);
        }
        extentionDetailTableViewer.setLabelProvider(new SearchExtentionDetailFilterLabelProvider());
        extentionDetailTableViewer.setContentProvider(new SearchExtentionDetailFilterContentProvider(sfilter));
        extentionDetailTableViewer.setInput(sfilter);
        extentionDetailTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {

            /**
             * {@inheritDoc}
             */
            @Override
            public void selectionChanged(SelectionChangedEvent arg0) {
                ISelection sel = extentionDetailTableViewer.getSelection();
                if (sel instanceof IStructuredSelection) {
                    IStructuredSelection selection = (IStructuredSelection) sel;
                    selectionObject = selection.getFirstElement();
                    if (selectionObject instanceof Extension) {
                        Extension extension = (Extension) selectionObject;
                        if (sfilter.getName().equals("xml/xml") && extension.isUserDefined()) {
                            switchEditAndRemoveButton(sfilter.getName(), true);
                        } else {
                            switchEditAndRemoveButton(sfilter.getName(), false);
                        }
                    }
                }
            }
        });
        final CheckboxTableViewer packageDetailTableViewer = CheckboxTableViewer.newCheckList(group,
                SWT.BORDER | SWT.V_SCROLL | SWT.SINGLE);
        table = packageDetailTableViewer.getTable();
        gd = new GridData(GridData.FILL_BOTH);
        table.setLayoutData(gd);
        table.setHeaderVisible(true);
        table.setLinesVisible(true);
        columnNames = new String[] {
                Activator.getResourceString(AbstractSearchFilterPage.class.getName() + ".label.package") };
        columnWidths = new int[] { 200 };

        for (int i = 0; i < columnNames.length; i++) {
            TableColumn tc = new TableColumn(table, SWT.LEFT);
            tc.setText(columnNames[i]);
            tc.setWidth(columnWidths[i]);
        }
        ColumnLayoutData[] layouts2 = { new ColumnWeightData(200, 200), new ColumnWeightData(200, 200) };
        TableLayout tableLayout2 = new AutoResizeTableLayout(table);
        for (int i = 0; i < layouts2.length; i++) {
            tableLayout2.addColumnData(layouts2[i]);
        }
        List<WSPackage> packages = sfilter.getPackages();
        packageDetailTableViewer.setLabelProvider(new SearchPackageDetailFilterLabelProvider());
        packageDetailTableViewer.setContentProvider(new SearchPackageDetailFilterContentProvider(packages));
        packageDetailTableViewer.setInput(packages);
        for (WSPackage elem : packages) {
            packageDetailTableViewer.setChecked(elem, elem.isEnabled());
        }
        packageDetailTableViewer.addCheckStateListener(new ICheckStateListener() {
            /**
             * {@inheritDoc}
             */
            @Override
            public void checkStateChanged(CheckStateChangedEvent event) {
                WSPackage wsPackage = (WSPackage) event.getElement();
                wsPackage.setEnabled(!wsPackage.isEnabled());
            }
        });
        packageDetailTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {

            /**
             * {@inheritDoc}
             */
            @Override
            public void selectionChanged(SelectionChangedEvent event) {
                ISelection sel = packageDetailTableViewer.getSelection();
                if (sel instanceof IStructuredSelection) {
                    IStructuredSelection selection = (IStructuredSelection) sel;
                    selectionObject = selection.getFirstElement();
                    if (selectionObject instanceof WSPackage) {
                        WSPackage wsPackage = (WSPackage) selectionObject;

                        if (wsPackage.isUserDefined()) {
                            switchEditAndRemoveButton(wsPackage.getType(), true);
                        } else {
                            switchEditAndRemoveButton(wsPackage.getType(), false);
                        }
                    }
                }
            }
        });
        this.searchExtentionDetailTableViewerMap.put(sfilter.getName(), extentionDetailTableViewer);
        this.searchPackageDetailTableViewerMap.put(sfilter.getName(), packageDetailTableViewer);
        createButtons(group, searchPackageDetailTableViewerMap.get(sfilter.getName()), sfilter);
    }
}

From source file:tubame.wsearch.ui.preferences.AbstractSearchFilterPage.java

License:Apache License

/**
 * Create a button.<br/>// ww  w  .  j a v  a2s  . c o m
 * 
 * @param parent
 *            Parent group
 * @param viewer
 *            Viewer
 * @param filter
 *            Filter
 */
protected void createButtons(Group parent, final CheckboxTableViewer viewer, final SearchFilter filter) {
    List<Button> buttons = new LinkedList<Button>();
    Composite buttonComposite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(1, false);
    buttonComposite.setLayout(layout);
    buttonComposite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    final Button addButton = new Button(buttonComposite, SWT.PUSH);
    addButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    addButton.setText(Activator.getResourceString(AbstractSearchFilterPage.class.getName() + ".label.add"));
    addButton.addSelectionListener(new SelectionListener() {
        /**
         * {@inheritDoc}
         */
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        }

        /**
         * {@inheritDoc}
         */
        @Override
        public void widgetSelected(SelectionEvent e) {
            int ok = 0;

            // File extension to open a dialog that can be added only in the
            // sub-xml filter xml.
            if (filter.getName().contains("xml/xml")) {
                EditSearchExtAndPackageDialog dialog = new EditSearchExtAndPackageDialog(getShell(), null,
                        filter.getName());
                if (ok == Window.OK && dialog.getTextValue() != null && !dialog.getTextValue().equals("")) {
                    Object value = dialog.getValue();
                    SearchFilter searchFilter = getSeachFilterByName(filter.getName());
                    if (value instanceof Extension) {
                        Extension exten = (Extension) value;
                        exten.setUserDefined(true);
                        searchFilter.getTargets().add(exten);
                        TableViewer checkboxExtTableViewer = searchExtentionDetailTableViewerMap
                                .get(filter.getName());
                        checkboxExtTableViewer.refresh();
                    } else if (value instanceof WSPackage) {
                        WSPackage wsPackage = (WSPackage) value;
                        wsPackage.setUserDefined(true);
                        searchFilter.getPackages().add(wsPackage);
                        TableViewer checkboxPkgTableViewer = searchPackageDetailTableViewerMap
                                .get(filter.getName());
                        checkboxPkgTableViewer.refresh();
                    }
                }
            } else {
                EditSearchPackageDialog dialog = new EditSearchPackageDialog(getShell(), null,
                        filter.getName());
                ok = dialog.open();
                if (ok == Window.OK && dialog.getWsPackage() != null
                        && !dialog.getWsPackage().getName().equals("")) {
                    WSPackage wsPackage = dialog.getWsPackage();
                    wsPackage.setUserDefined(true);
                    SearchFilter searchFilter = getSeachFilterByName(filter.getName());
                    if (searchFilter != null) {
                        searchFilter.getPackages().add(wsPackage);
                        viewer.refresh();
                        viewer.setChecked(wsPackage, wsPackage.isEnabled());
                    }
                }
            }
            viewer.refresh();
        }
    });

    final Button editButton = new Button(buttonComposite, SWT.PUSH);
    editButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    editButton.setText(Activator.getResourceString(AbstractSearchFilterPage.class.getName() + ".label.edit"));
    editButton.setEnabled(false);
    editButton.addSelectionListener(new SelectionListener() {

        /**
         * {@inheritDoc}
         */
        @Override
        public void widgetSelected(SelectionEvent e) {

            if (selectionObject instanceof WSPackage) {
                WSPackage wsPackage = (WSPackage) selectionObject;
                WSPackage editWsPackage = new WSPackage(wsPackage.getType(), wsPackage.getName(),
                        wsPackage.isEnabled());
                EditSearchExtAndPackageDialog dialog = new EditSearchExtAndPackageDialog(getShell(),
                        editWsPackage, filter.getName());
                int ok = dialog.open();
                if (ok == Window.OK && dialog.getTextValue() != null && !dialog.getTextValue().equals("")) {
                    wsPackage.setName(dialog.getTextValue());
                    viewer.refresh();
                    viewer.setChecked(filter, filter.isEnabled());
                }
            } else if (selectionObject instanceof Extension) {
                Extension selectExtension = (Extension) selectionObject;
                EditSearchExtAndPackageDialog dialog = new EditSearchExtAndPackageDialog(getShell(),
                        selectExtension, filter.getName());
                int ok = dialog.open();
                if (ok == Window.OK && dialog.getTextValue() != null && !dialog.getTextValue().equals("")) {
                    selectExtension.setName(dialog.getTextValue());
                    TableViewer checkboxTableViewer = searchExtentionDetailTableViewerMap.get(filter.getName());
                    checkboxTableViewer.refresh();
                }
            }
        }

        /**
         * {@inheritDoc}
         */
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        }
    });

    final Button removeButton = new Button(buttonComposite, SWT.PUSH);
    removeButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    removeButton
            .setText(Activator.getResourceString(AbstractSearchFilterPage.class.getName() + ".label.remove"));
    removeButton.setEnabled(false);
    removeButton.addSelectionListener(new SelectionListener() {

        /**
         * {@inheritDoc}
         */
        @Override
        public void widgetSelected(SelectionEvent e) {

            if (selectionObject instanceof WSPackage) {
                WSPackage wsPackage = (WSPackage) selectionObject;
                SearchFilter seachFilterByName = getSeachFilterByName(filter.getName());
                seachFilterByName.getPackages().remove(wsPackage);
                viewer.refresh();
            } else if (selectionObject instanceof Extension) {
                Extension selectExtension = (Extension) selectionObject;
                SearchFilter seachFilterByName = getSeachFilterByName(filter.getName());
                seachFilterByName.getTargets().remove(selectExtension);
                TableViewer checkboxTableViewer = searchExtentionDetailTableViewerMap.get(filter.getName());
                checkboxTableViewer.refresh();
            }
            switchEditAndRemoveButton(filter.getName(), false);
        }

        /**
         * {@inheritDoc}
         */
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

        }
    });
    buttons.add(addButton);
    buttons.add(editButton);
    buttons.add(removeButton);
    this.buttonMap.put(filter.getName(), buttons);
}

From source file:tubame.wsearch.ui.preferences.SrcSearchFilterPreferencePage.java

License:Apache License

/**
 * Make the details of the sub-filter. <br/>
 * //from  ww  w  .  j a v a2  s.  co m
 * @param group
 *            Group
 * @param fliters
 *            Filter set
 */
private void createSearchSubFilterDetails(Group group, Set<SearchFilter> fliters) {

    for (final SearchFilter sfilter : fliters) {
        final TableViewer extentionDetailTableViewer = new TableViewer(group, SWT.BORDER);

        Table table = extentionDetailTableViewer.getTable();
        GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
        table.setLayoutData(gd);
        table.setHeaderVisible(true);
        table.setLinesVisible(true);

        String[] columnNames = new String[] { Activator
                .getResourceString(SrcSearchFilterPreferencePage.class.getName() + ".label.extension") };
        int[] columnWidths = new int[] { 200 };

        for (int i = 0; i < columnNames.length; i++) {
            TableColumn tc = new TableColumn(table, SWT.LEFT);
            tc.setText(columnNames[i]);
            tc.setWidth(columnWidths[i]);
        }

        ColumnLayoutData[] layouts = { new ColumnWeightData(200, 200), new ColumnWeightData(200, 200) };

        TableLayout tableLayout = new AutoResizeTableLayout(table);
        for (int i = 0; i < layouts.length; i++) {
            tableLayout.addColumnData(layouts[i]);
        }

        extentionDetailTableViewer.setLabelProvider(new SearchExtentionDetailFilterLabelProvider());
        extentionDetailTableViewer.setContentProvider(new SearchExtentionDetailFilterContentProvider(sfilter));

        extentionDetailTableViewer.setInput(sfilter);

        extentionDetailTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {

            /**
             * {@inheritDoc}
             */
            @Override
            public void selectionChanged(SelectionChangedEvent arg0) {
                ISelection sel = extentionDetailTableViewer.getSelection();
                if (sel instanceof IStructuredSelection) {
                    IStructuredSelection selection = (IStructuredSelection) sel;
                    selectionObject = selection.getFirstElement();
                    if (selectionObject instanceof Extension) {
                        Extension extension = (Extension) selectionObject;
                        if (sfilter.getName().equals("xml/xml") && extension.isUserDefined()) {
                            switchEditAndRemoveButton(sfilter.getName(), true);
                        } else {
                            switchEditAndRemoveButton(sfilter.getName(), false);
                        }

                    }
                }

            }
        });

        final CheckboxTableViewer packageDetailTableViewer = CheckboxTableViewer.newCheckList(group,
                SWT.BORDER | SWT.V_SCROLL | SWT.SINGLE);
        table = packageDetailTableViewer.getTable();
        gd = new GridData(SWT.FILL, SWT.FILL, true, true);

        table.setLayoutData(gd);
        table.setHeaderVisible(true);
        table.setLinesVisible(true);

        columnNames = new String[] {
                Activator.getResourceString(SrcSearchFilterPreferencePage.class.getName() + ".label.package") };
        columnWidths = new int[] { 200 };

        for (int i = 0; i < columnNames.length; i++) {
            TableColumn tc = new TableColumn(table, SWT.LEFT);
            tc.setText(columnNames[i]);
            tc.setWidth(columnWidths[i]);
        }
        ColumnLayoutData[] layouts2 = { new ColumnWeightData(200, 200), new ColumnWeightData(200, 200) };

        TableLayout tableLayout2 = new AutoResizeTableLayout(table);
        for (int i = 0; i < layouts2.length; i++) {
            tableLayout2.addColumnData(layouts2[i]);
        }
        List<WSPackage> packages = sfilter.getPackages();
        packageDetailTableViewer.setLabelProvider(new SearchPackageDetailFilterLabelProvider());
        packageDetailTableViewer.setContentProvider(new SearchPackageDetailFilterContentProvider(packages));
        packageDetailTableViewer.setInput(packages);
        for (WSPackage elem : packages) {
            packageDetailTableViewer.setChecked(elem, elem.isEnabled());
        }
        packageDetailTableViewer.addCheckStateListener(new ICheckStateListener() {
            /**
             * {@inheritDoc}
             */
            @Override
            public void checkStateChanged(CheckStateChangedEvent event) {
                WSPackage wsPackage = (WSPackage) event.getElement();
                wsPackage.setEnabled(!wsPackage.isEnabled());
            }
        });
        packageDetailTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {

            /**
             * {@inheritDoc}
             */
            @Override
            public void selectionChanged(SelectionChangedEvent event) {
                ISelection sel = packageDetailTableViewer.getSelection();
                if (sel instanceof IStructuredSelection) {
                    IStructuredSelection selection = (IStructuredSelection) sel;
                    selectionObject = selection.getFirstElement();
                    if (selectionObject instanceof WSPackage) {
                        WSPackage wsPackage = (WSPackage) selectionObject;

                        if (wsPackage.isUserDefined()) {
                            switchEditAndRemoveButton(wsPackage.getType(), true);
                        } else {
                            switchEditAndRemoveButton(wsPackage.getType(), false);
                        }
                    }
                }
            }
        });

        this.searchExtentionDetailTableViewerMap.put(sfilter.getName(), extentionDetailTableViewer);
        this.searchPackageDetailTableViewerMap.put(sfilter.getName(), packageDetailTableViewer);
        createButtons(group, searchPackageDetailTableViewerMap.get(sfilter.getName()), sfilter);

    }

}

From source file:tubame.wsearch.ui.preferences.SrcSearchFilterPreferencePage.java

License:Apache License

/**
 * {@inheritDoc}/*  w ww .  j  ava2  s  .  c  o m*/
 */
@Override
protected void performApply() {
    LOGGER.info(Activator.getResourceString("debug.msg.start") + "SrcSearchFilterPreferencePage#performApply");
    Activator.setSrcSearchFilters(new HashSet<SearchFilter>(searchFilters));
    Activator.saveSrcSearchFilters();
    Activator.getDefault().savePreferences();
    List<SearchFilter> originals = searchFilters;
    searchFilters = new ArrayList<SearchFilter>(originals.size());
    for (SearchFilter original : originals) {
        searchFilters.add(cloneSearchFilter(original));
    }
    Collections.sort(searchFilters, new SearchFilterComparator());
    tableViewer.setInput(searchFilters);
    for (SearchFilter filter : searchFilters) {
        tableViewer.setChecked(filter, filter.isEnabled());
        if (searchPackageDetailTableViewerMap.containsKey(filter.getName())) {
            CheckboxTableViewer checkboxTableViewer = searchPackageDetailTableViewerMap.get(filter.getName());
            checkboxTableViewer.setInput(filter.getPackages());
            for (WSPackage wsPackage : filter.getPackages()) {
                checkboxTableViewer.setChecked(wsPackage, wsPackage.isEnabled());
            }
        }
        if (searchExtentionDetailTableViewerMap.containsKey(filter.getName())) {
            TableViewer viewer = searchExtentionDetailTableViewerMap.get(filter.getName());
            viewer.setInput(filter);
        }
    }
}

From source file:tubame.wsearch.ui.preferences.SrcSearchFilterPreferencePage.java

License:Apache License

/**
 * {@inheritDoc}/*from   www. j a  v a 2  s .  c om*/
 */
@Override
protected void performDefaults() {
    LOGGER.info(
            Activator.getResourceString("debug.msg.start") + "SrcSearchFilterPreferencePage#performDefault");
    Set<SearchFilter> originals = Activator.getDefaultSrcSearchFilters();
    searchFilters = new ArrayList<SearchFilter>(originals.size());
    for (SearchFilter original : originals) {
        searchFilters.add(cloneSearchFilter(original));
    }
    Collections.sort(searchFilters, new SearchFilterComparator());
    tableViewer.setInput(searchFilters);
    for (SearchFilter filter : searchFilters) {
        tableViewer.setChecked(filter, filter.isEnabled());
        if (searchPackageDetailTableViewerMap.containsKey(filter.getName())) {
            CheckboxTableViewer checkboxTableViewer = searchPackageDetailTableViewerMap.get(filter.getName());
            checkboxTableViewer.setInput(filter.getPackages());
            for (WSPackage wsPackage : filter.getPackages()) {
                checkboxTableViewer.setChecked(wsPackage, true);
            }
        }
        if (searchExtentionDetailTableViewerMap.containsKey(filter.getName())) {
            TableViewer viewer = searchExtentionDetailTableViewerMap.get(filter.getName());
            viewer.setInput(filter);
        }
    }

    super.performDefaults();
}

From source file:tubame.wsearch.ui.preferences.SrcSearchFilterPreferencePage.java

License:Apache License

/**
 * Create a button.<br/>//from  ww w. j  av  a 2  s. com
 * 
 * @param parent
 *            Parent group
 * @param viewer
 *            Viewer
 * @param filter
 *            Filter
 */
private void createButtons(Group parent, final CheckboxTableViewer viewer, final SearchFilter filter) {
    List<Button> buttons = new LinkedList<Button>();
    Composite buttonComposite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(1, false);

    buttonComposite.setLayout(layout);
    buttonComposite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));

    final Button addButton = new Button(buttonComposite, SWT.PUSH);
    addButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    addButton
            .setText(Activator.getResourceString(SrcSearchFilterPreferencePage.class.getName() + ".label.add"));

    addButton.addSelectionListener(new SelectionListener() {
        /**
         * {@inheritDoc}
         */
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

        }

        /**
         * {@inheritDoc}
         */
        @Override
        public void widgetSelected(SelectionEvent e) {
            int ok = 0;

            // File extension to open a dialog that can be added only in the
            // sub-xml filter xml
            if (filter.getName().contains("xml/xml")) {
                EditSearchExtAndPackageDialog dialog = new EditSearchExtAndPackageDialog(getShell(), null,
                        filter.getName());
                ok = dialog.open();
                if (ok == Window.OK && dialog.getTextValue() != null && !dialog.getTextValue().equals("")) {
                    Object value = dialog.getValue();
                    SearchFilter searchFilter = getSeachFilterByName(filter.getName());
                    if (value instanceof Extension) {
                        Extension exten = (Extension) value;

                        exten.setUserDefined(true);
                        searchFilter.getTargets().add(exten);
                        TableViewer checkboxExtTableViewer = searchExtentionDetailTableViewerMap
                                .get(filter.getName());
                        checkboxExtTableViewer.refresh();

                    } else if (value instanceof WSPackage) {
                        WSPackage wsPackage = (WSPackage) value;
                        wsPackage.setUserDefined(true);
                        searchFilter.getPackages().add(wsPackage);
                        CheckboxTableViewer checkboxPkgTableViewer = searchPackageDetailTableViewerMap
                                .get(filter.getName());
                        checkboxPkgTableViewer.refresh();
                        checkboxPkgTableViewer.setChecked(wsPackage, wsPackage.isEnabled());
                    }
                }
            } else {
                EditSearchPackageDialog dialog = new EditSearchPackageDialog(getShell(), null,
                        filter.getName());

                ok = dialog.open();
                if (ok == Window.OK && dialog.getWsPackage() != null
                        && !dialog.getWsPackage().getName().equals("")) {
                    WSPackage wsPackage = dialog.getWsPackage();
                    wsPackage.setUserDefined(true);
                    SearchFilter searchFilter = getSeachFilterByName(filter.getName());
                    if (searchFilter != null) {
                        searchFilter.getPackages().add(wsPackage);
                        viewer.refresh();
                        viewer.setChecked(wsPackage, wsPackage.isEnabled());
                    }
                }
            }
            viewer.refresh();
        }
    });

    final Button editButton = new Button(buttonComposite, SWT.PUSH);
    editButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    editButton.setText(
            Activator.getResourceString(SrcSearchFilterPreferencePage.class.getName() + ".label.edit"));
    editButton.setEnabled(false);

    editButton.addSelectionListener(new SelectionListener() {

        /**
         * {@inheritDoc}
         */
        @Override
        public void widgetSelected(SelectionEvent e) {

            if (selectionObject instanceof WSPackage) {
                WSPackage wsPackage = (WSPackage) selectionObject;
                WSPackage editWsPackage = new WSPackage(wsPackage.getType(), wsPackage.getName(),
                        wsPackage.isEnabled());
                EditSearchExtAndPackageDialog dialog = new EditSearchExtAndPackageDialog(getShell(),
                        editWsPackage, filter.getName());
                int ok = dialog.open();
                if (ok == Window.OK && dialog.getTextValue() != null && !dialog.getTextValue().equals("")) {
                    wsPackage.setName(dialog.getTextValue());
                    viewer.refresh();
                    viewer.setChecked(filter, filter.isEnabled());
                }

            } else if (selectionObject instanceof Extension) {
                Extension selectExtension = (Extension) selectionObject;
                EditSearchExtAndPackageDialog dialog = new EditSearchExtAndPackageDialog(getShell(),
                        selectExtension, filter.getName());
                int ok = dialog.open();
                if (ok == Window.OK && dialog.getTextValue() != null && !dialog.getTextValue().equals("")) {
                    selectExtension.setName(dialog.getTextValue());
                    TableViewer checkboxTableViewer = searchExtentionDetailTableViewerMap.get(filter.getName());
                    checkboxTableViewer.refresh();
                }
            }
        }

        /**
         * {@inheritDoc}
         */
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

        }
    });

    final Button removeButton = new Button(buttonComposite, SWT.PUSH);
    removeButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    removeButton.setText(
            Activator.getResourceString(SrcSearchFilterPreferencePage.class.getName() + ".label.remove"));
    removeButton.setEnabled(false);
    removeButton.addSelectionListener(new SelectionListener() {

        /**
         * {@inheritDoc}
         */
        @Override
        public void widgetSelected(SelectionEvent e) {

            if (selectionObject instanceof WSPackage) {
                WSPackage wsPackage = (WSPackage) selectionObject;
                SearchFilter seachFilterByName = getSeachFilterByName(filter.getName());
                seachFilterByName.getPackages().remove(wsPackage);
                viewer.refresh();
            } else if (selectionObject instanceof Extension) {
                Extension selectExtension = (Extension) selectionObject;
                SearchFilter seachFilterByName = getSeachFilterByName(filter.getName());
                seachFilterByName.getTargets().remove(selectExtension);
                TableViewer checkboxTableViewer = searchExtentionDetailTableViewerMap.get(filter.getName());
                checkboxTableViewer.refresh();
            }
        }

        public void widgetDefaultSelected(SelectionEvent e) {

        }
    });

    buttons.add(addButton);
    buttons.add(editButton);
    buttons.add(removeButton);
    this.buttonMap.put(filter.getName(), buttons);
}