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:com.bdaum.zoom.ui.internal.dialogs.KeywordCollectDialog.java

License:Open Source License

@SuppressWarnings("unused")
@Override/*from w w w.  j a  va  2 s  .  c o  m*/
protected void createCustomArea(Composite area) {
    area.setLayout(new GridLayout(1, true));
    Composite composite = new Composite(area, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    composite.setLayout(new GridLayout(2, true));
    candLabel = new Label(composite, SWT.NONE);
    candLabel.setText(Messages.KeywordCollectDialog_candidates);
    unusedLabel = new Label(composite, SWT.NONE);
    unusedLabel.setText(Messages.KeywordCollectDialog_unused);
    Composite viewerComp1 = new Composite(composite, SWT.NONE);
    viewerComp1.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    GridLayout layout = new GridLayout(2, false);
    layout.marginHeight = layout.marginWidth = 0;
    viewerComp1.setLayout(layout);
    viewer1 = CheckboxTableViewer.newCheckList(viewerComp1, SWT.BORDER | SWT.V_SCROLL);
    viewer1.getTable().setLayoutData(new GridData(500, 300));
    viewer1.setContentProvider(ArrayContentProvider.getInstance());
    viewer1.setLabelProvider(ZColumnLabelProvider.getDefaultInstance());
    viewer1.setComparator(ZViewerComparator.INSTANCE);
    viewer1.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer1.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            validate();
        }
    });
    new AllNoneGroup(viewerComp1, new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            viewer1.setAllChecked(e.widget.getData() == AllNoneGroup.ALL);
            validate();
        }
    });
    Composite viewerComp2 = new Composite(composite, SWT.NONE);
    viewerComp2.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    layout = new GridLayout(2, false);
    layout.marginHeight = layout.marginWidth = 0;
    viewerComp2.setLayout(layout);
    viewer2 = CheckboxTableViewer.newCheckList(viewerComp2, SWT.BORDER | SWT.V_SCROLL);
    viewer2.getTable().setLayoutData(new GridData(500, 300));
    viewer2.setContentProvider(ArrayContentProvider.getInstance());
    viewer2.setLabelProvider(ZColumnLabelProvider.getDefaultInstance());
    viewer2.setComparator(ZViewerComparator.INSTANCE);
    viewer2.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer2.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            validate();
        }
    });
    new AllNoneGroup(viewerComp2, new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            viewer2.setAllChecked(e.widget.getData() == AllNoneGroup.ALL);
            validate();
        }
    });

}

From source file:com.bdaum.zoom.ui.internal.dialogs.KeywordGroup.java

License:Open Source License

public KeywordGroup(Composite area, String[] selectedKeywords, Set<String> predefinedKeywords,
        List<String> recentKeywords, boolean tags, IDialogSettings settings) {
    this.selectedKeywords = selectedKeywords;
    this.recentKeywords = recentKeywords;
    this.tags = tags;
    if (tags) {/* w  ww  .j a  v  a  2  s .  co  m*/
        meta = Core.getCore().getDbManager().getMeta(true);
        externalKeywords = new HashSet<String>(predefinedKeywords);
        externalKeywords.removeAll(meta.getKeywords());
    } else
        vocabManager = new VocabManager(Core.getCore().getDbManager().getMeta(true).getVocabularies(), this);
    Composite composite = new Composite(area, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    composite.setLayout(new GridLayout());
    if (recentKeywords != null) {
        Set<String> recentSet = new HashSet<String>(recentKeywords);
        recentSet.retainAll(predefinedKeywords);
        if (!recentSet.isEmpty()) {
            CGroup recentGroup = new CGroup(composite, SWT.NONE);
            recentGroup.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
            recentGroup
                    .setText(tags ? Messages.KeywordGroup_recent_tags : Messages.KeywordGroup_recent_keywords);
            recentGroup.setLayout(new GridLayout());
            recentViewer = CheckboxTableViewer.newCheckList(recentGroup, SWT.NO_SCROLL | SWT.V_SCROLL);
            GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1);
            layoutData.heightHint = 100;
            recentViewer.getControl().setLayoutData(layoutData);
            recentViewer.setContentProvider(ArrayContentProvider.getInstance());
            recentViewer.setComparator(ZViewerComparator.INSTANCE);
            recentViewer.setLabelProvider(new KeywordLabelProvider(vocabManager, null));
            ZColumnViewerToolTipSupport.enableFor(recentViewer);
            recentViewer.setInput(recentSet);
            if (selectedKeywords != null)
                for (String kw : selectedKeywords)
                    if (kw != null && recentKeywords.contains(kw))
                        recentViewer.setChecked(kw, true);
            recentViewer.addCheckStateListener(new ICheckStateListener() {
                public void checkStateChanged(CheckStateChangedEvent event) {
                    String element = (String) event.getElement();
                    boolean checked = event.getChecked();
                    if (checked) {
                        appliedKeywords.add(element);
                        availableKeywords.remove(element);
                    } else {
                        appliedKeywords.remove(element);
                        availableKeywords.add(element);
                    }
                    updateKeywordViewer(element);
                }
            });
        }
    }
    CGroup keywordsGroup = new CGroup(composite, SWT.NONE);
    keywordsGroup.setText(tags ? Messages.KeywordGroup_all_tags : Messages.KeywordGroup_all_keywords);
    keywordsGroup.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    keywordsGroup.setLayout(new GridLayout(3, false));
    radioGroup = new FlatGroup(keywordsGroup, SWT.NONE, settings, "hierarchicalKeywords"); //$NON-NLS-1$
    radioGroup.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, true, false, 2, 1));
    radioGroup.addListener(new Listener() {
        @Override
        public void handleEvent(Event event) {
            updateKeywordViewer(((IStructuredSelection) viewer.getSelection()).getFirstElement());
        }
    });
    ExpandCollapseGroup expandCollapseGroup = new ExpandCollapseGroup(keywordsGroup, SWT.NONE);
    final FilterField filterField = new FilterField(keywordsGroup);
    GridData layoutData = new GridData(SWT.BEGINNING, SWT.CENTER, true, false, tags ? 3 : 2, 1);
    layoutData.widthHint = 300;
    filterField.setLayoutData(layoutData);
    filterField.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            viewer.setInput(viewer.getInput());
            viewer.expandAll();
        }
    });
    if (!tags) {
        final CheckboxButton excludeButton = WidgetFactory.createCheckButton(keywordsGroup,
                Messages.KeywordGroup_exclude_geographic, new GridData(SWT.END, SWT.CENTER, true, false));
        excludeButton.addListener(new Listener() {
            @Override
            public void handleEvent(Event event) {
                excludeGeographic = excludeButton.getSelection();
                updateKeywordViewer(null);
            }
        });
    }
    viewer = new CheckboxTreeViewer(keywordsGroup, SWT.NO_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.VIRTUAL);
    expandCollapseGroup.setViewer(viewer);
    layoutData = new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1);
    layoutData.heightHint = tags ? 200 : 300;
    viewer.getControl().setLayoutData(layoutData);
    viewer.setContentProvider(new KeywordContentProvider());
    KeywordLabelProvider labelProvider = new KeywordLabelProvider(vocabManager, ROOT) {
        @Override
        public Font getFont(Object element) {
            if (externalKeywords != null && externalKeywords.contains(element))
                return JFaceResources.getBannerFont();
            return super.getFont(element);
        }
    };
    viewer.setLabelProvider(labelProvider);
    viewer.setFilters(new ViewerFilter[] { new ViewerFilter() {
        @Override
        public boolean select(Viewer aViewer, Object parentElement, Object element) {
            if (element == AVAILABLE || element == APPLIED || element instanceof Character)
                return true;
            WildCardFilter filter = filterField.getFilter();
            return filter == null || filter.accept(labelProvider.getText(element));
        }
    } });
    UiUtilities.installDoubleClickExpansion(viewer);
    ZColumnViewerToolTipSupport.enableFor(viewer);
    availableKeywords = new HashSet<String>(predefinedKeywords);
    if (selectedKeywords != null)
        for (String kw : selectedKeywords)
            if (kw != null && predefinedKeywords.contains(kw))
                appliedKeywords.add(kw);
    availableKeywords.removeAll(appliedKeywords);
    keywordVerifyListener = new KeywordVerifyListener(viewer);
    updateKeywordViewer(null);
    if (externalKeywords != null) {
        importButton = new Button(keywordsGroup, SWT.PUSH);
        importButton.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false));
        importButton.setText(Messages.KeywordGroup_import_into_catalog);
        if (!externalKeywords.isEmpty())
            importButton.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    Set<String> newKeywords = meta.getKeywords();
                    newKeywords.addAll(externalKeywords);
                    ModifyMetaOperation op = new ModifyMetaOperation(meta, false, null, null, null, null, null,
                            null, null, null, meta.getCumulateImports(), null, null, newKeywords, null, null,
                            meta.getThumbnailFromPreview(), null, null, meta.getFolderWatchLatency(),
                            meta.getPauseFolderWatch(), meta.getReadonly(), meta.getAutoWatch(),
                            meta.getSharpen(), meta.getWebpCompression(), meta.getJpegQuality(),
                            meta.getNoIndex(), meta.getLocale(), meta.getCbirAlgorithms(),
                            meta.getIndexedTextFields(), meta.getPersonsToKeywords(), null,
                            meta.getVocabularies());
                    OperationJob.executeOperation(op, KeywordGroup.this);
                    importButton.setEnabled(false);
                    availableKeywords.addAll(externalKeywords);
                    externalKeywords.clear();
                    updateKeywordViewer(null);
                }
            });
        else
            importButton.setEnabled(false);
    }
    CGroup newKeywordsGroup = new CGroup(composite, SWT.NONE);
    newKeywordsGroup.setText(tags ? Messages.KeywordGroup_new_tags : Messages.KeywordGroup_new_keywords);
    boolean hasVocab = vocabManager != null && vocabManager.getVocabTree() != null;
    newKeywordsGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1));
    newKeywordsGroup.setLayout(new GridLayout(hasVocab ? 2 : 1, false));
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.heightHint = 50;
    newKeywordField = new CheckedText(newKeywordsGroup, SWT.BORDER | SWT.MULTI);
    newKeywordField.setLayoutData(data);
    newKeywordField.setSpellingOptions(8, ISpellCheckingService.KEYWORDOPTIONS);
    if (hasVocab) {
        Button button = new Button(newKeywordsGroup, SWT.PUSH);
        button.setLayoutData(new GridData(SWT.END, SWT.FILL, false, false));
        button.setText(Messages.KeywordGroup_vocab);
        button.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                ViewVocabDialog dialog = new ViewVocabDialog(composite.getShell(), vocabManager.getVocabTree(),
                        null, true);
                if (dialog.open() == ViewVocabDialog.OK) {
                    addSelectedKeywords(dialog.getResult());
                    updateVocabLabel();
                }
            }
        });
        vocabLabel = new CLabel(newKeywordsGroup, SWT.NONE);
        vocabLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
        vocabLabel.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseDoubleClick(MouseEvent e) {
                if (synonym != null) {
                    StringTokenizer st = new StringTokenizer(newKeywordField.getText(), "\n"); //$NON-NLS-1$
                    StringBuilder sb = new StringBuilder();
                    while (st.hasMoreTokens()) {
                        String token = st.nextToken().trim();
                        if (token.equals(synonym))
                            token = replacement;
                        if (token != null) {
                            if (sb.length() > 0)
                                sb.append('\n');
                            sb.append(token);
                        }
                    }
                    newKeywordField.removeVerifyListener(keywordVerifyListener);
                    newKeywordField.setText(sb.toString());
                    newKeywordField.addVerifyListener(keywordVerifyListener);
                    updateVocabLabel();
                }
            }
        });
        newKeywordField.addModifyListener(new ModifyListener() {
            @Override
            public void modifyText(ModifyEvent e) {
                updateVocabLabel();
            }
        });
    }
    viewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            Object e = event.getElement();
            if (e instanceof String) {
                String element = (String) e;
                boolean checked = event.getChecked();
                if (recentViewer != null)
                    recentViewer.setChecked(element, checked);
                if (checked) {
                    if (element != APPLIED && element != AVAILABLE) {
                        appliedKeywords.add(element);
                        availableKeywords.remove(element);
                    }
                } else if (element == APPLIED) {
                    availableKeywords.addAll(appliedKeywords);
                    appliedKeywords.clear();
                } else if (element != AVAILABLE) {
                    appliedKeywords.remove(element);
                    availableKeywords.add(element);
                }
                updateKeywordViewer(element);
                if (recentViewer != null)
                    recentViewer.setCheckedElements(appliedKeywords.toArray());
            } else
                updateKeywordViewer(e);
        }
    });
    StringBuilder sb = new StringBuilder();
    if (selectedKeywords != null)
        for (String kw : QueryField.getKeywordFilter().filter(selectedKeywords))
            if (kw != null && !predefinedKeywords.contains(kw)) {
                if (sb.length() > 0)
                    sb.append('\n');
                sb.append(kw);
            }
    newKeywordField.setText(sb.toString());
    newKeywordField.addVerifyListener(keywordVerifyListener);
    newKeywordField.setFocus();
}

From source file:com.bdaum.zoom.ui.internal.dialogs.KeywordSuggestDialog.java

License:Open Source License

@Override
protected void createCustomArea(Composite comp) {
    comp.setLayout(new GridLayout());
    sortButtonGroup = new RadioButtonGroup(comp, Messages.KeywordSuggestDialog_sort_by, SWT.HORIZONTAL,
            Messages.KeywordSuggestDialog_score, Messages.KeywordSuggestDialog_alpha);
    sortButtonGroup.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false));
    sortButtonGroup.addListener(this);
    Composite viewerComp = new Composite(comp, SWT.NONE);
    viewerComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewerComp.setLayout(new GridLayout(2, false));

    viewer = CheckboxTableViewer.newCheckList(viewerComp, SWT.BORDER | SWT.V_SCROLL);
    GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    layoutData.heightHint = 500;//from ww  w . j av a  2s  .  co m
    viewer.getControl().setLayoutData(layoutData);
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setLabelProvider(ZColumnLabelProvider.getDefaultInstance());
    viewer.setComparator(new ZViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (sortButtonGroup.getSelection() == 0) {
                if (((ScoredString) e1).getScore() > ((ScoredString) e2).getScore())
                    return -1;
                if (((ScoredString) e1).getScore() < ((ScoredString) e2).getScore())
                    return 1;
            }
            return UiUtilities.stringComparator.compare(((ScoredString) e1).getString(),
                    ((ScoredString) e2).getString());
        }
    });
    AllNoneGroup buttonbar = new AllNoneGroup(viewerComp, new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            viewer.setAllChecked(e.widget.getData() == AllNoneGroup.ALL);
        }
    });
    Label label = new Label(buttonbar, SWT.SEPARATOR | SWT.HORIZONTAL);
    label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    if (lireService != null) {
        Button configureButton = new Button(buttonbar, SWT.PUSH);
        configureButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
        configureButton.setText(Messages.SuggestKeywordDialog_configure);
        configureButton.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (lireService.showConfigureSearch(KeywordSuggestDialog.this, null)) {
                    Job.getJobManager().cancel(KeywordSuggestDialog.this);
                    QueryOptions queryOptions = UiActivator.getDefault().getQueryOptions();
                    options.setMaxResults(queryOptions.getMaxHits());
                    options.setMinScore(queryOptions.getScore());
                    options.setMethod(queryOptions.getMethod());
                    updateMessage();
                    fillValues();
                }
            }
        });
    }
}

From source file:com.bdaum.zoom.ui.internal.dialogs.VocabEnforceDialog.java

License:Open Source License

@SuppressWarnings("unused")
@Override/*from w w w .ja v a2  s  .  c om*/
protected Control createDialogArea(Composite parent) {
    Composite area = (Composite) super.createDialogArea(parent);
    Composite composite = new Composite(area, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    composite.setLayout(new GridLayout(2, false));
    viewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER | SWT.V_SCROLL);
    GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    layoutData.heightHint = 400;
    layoutData.widthHint = 250;
    viewer.getTable().setLayoutData(layoutData);
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof String[]) {
                String[] change = (String[]) element;
                if (change[1] == null)
                    return NLS.bind(Messages.VocabEnforceDialog_delete, change[0]);
                return NLS.bind(Messages.VocabEnforceDialog_replace, change[0], change[1]);
            }
            return null;
        }
    });
    viewer.setComparator(new ZViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object o1, Object o2) {
            if (o1 instanceof String[] && o2 instanceof String[])
                return UiUtilities.stringComparator.compare(((String[]) o1)[0], ((String[]) o2)[0]);
            return super.compare(viewer, o1, o2);
        }
    });
    viewer.setInput(changes);
    viewer.setAllChecked(true);
    new AllNoneGroup(composite, new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            viewer.setAllChecked(e.widget.getData() == AllNoneGroup.ALL);
        }
    });
    buttonGroup = new RadioButtonGroup(composite, null, SWT.HORIZONTAL,
            Messages.VocabEnforceDialog_apply_to_images, Messages.VocabEnforceDialog_apply_to_catalog);
    buttonGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
    buttonGroup.setSelection(0);
    return area;
}

From source file:com.bdaum.zoom.ui.internal.preferences.ImportPreferencePage.java

License:Open Source License

@SuppressWarnings("unused")
private void createRecipeGroup(Composite composite) {
    recipeGroup = UiUtilities.createGroup(composite, 2,
            Messages.getString("ImportPreferencePage.recipe_detectors")); //$NON-NLS-1$
    recipeViewer = CheckboxTableViewer.newCheckList(recipeGroup,
            SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    recipeViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    TableViewerColumn col1 = new TableViewerColumn(recipeViewer, SWT.NONE);
    col1.getColumn().setWidth(250);//ww  w  . j  av a 2  s. c om
    col1.getColumn().setText(Messages.getString("ImportPreferencePage.raw_converter")); //$NON-NLS-1$
    col1.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof IRecipeDetector)
                return ((IRecipeDetector) element).getName();
            return element.toString();
        }
    });
    TableViewerColumn col2 = new TableViewerColumn(recipeViewer, SWT.NONE);
    col2.getColumn().setWidth(350);
    col2.getColumn().setText(Messages.getString("ImportPreferencePage.configuration")); //$NON-NLS-1$
    col2.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof IRecipeDetector) {
                List<IRecipeParameter> parameters = ((IRecipeDetector) element).getParameters();
                StringBuffer sb = new StringBuffer();
                for (IRecipeParameter parm : parameters) {
                    if (sb.length() > 0)
                        sb.append("; "); //$NON-NLS-1$
                    String value = parm.getLabel(parm.getValue());
                    if (value != null)
                        sb.append(parm.getName()).append(":").append(value); //$NON-NLS-1$
                }
                return sb.toString();
            }
            return element.toString();
        }
    });
    col2.setEditingSupport(new EditingSupport(recipeViewer) {
        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof IRecipeDetector && value instanceof Integer) {
                List<IRecipeParameter> parameters = ((IRecipeDetector) element).getParameters();
                if (!parameters.isEmpty()) {
                    IRecipeParameter parameter = parameters.get(0);
                    List<IRecipeParameterValue> values = parameters.get(0).getValues();
                    int i = ((Integer) value).intValue();
                    if (i >= 0 && i < values.size()) {
                        parameter.setValue(values.get(i).getId());
                        recipeViewer.update(element, null);
                    }
                }
            }
        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof IRecipeDetector) {
                List<IRecipeParameter> parameters = ((IRecipeDetector) element).getParameters();
                if (!parameters.isEmpty()) {
                    IRecipeParameter parameter = parameters.get(0);
                    List<IRecipeParameterValue> values = parameters.get(0).getValues();
                    String value = parameter.getValue();
                    int i = 0;
                    for (IRecipeParameterValue v : values) {
                        if (v.getId().equals(value))
                            return i;
                        ++i;
                    }
                }
            }
            return -1;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            if (element instanceof IRecipeDetector) {
                List<IRecipeParameter> parameters = ((IRecipeDetector) element).getParameters();
                if (!parameters.isEmpty()) {
                    List<IRecipeParameterValue> values = parameters.get(0).getValues();
                    String[] labs = new String[values.size()];
                    int i = 0;
                    for (IRecipeParameterValue value : values)
                        labs[i++] = value.getLabel();
                    return new ComboBoxCellEditor(recipeViewer.getTable(), labs);
                }
            }
            return null;
        }

        @Override
        protected boolean canEdit(Object element) {
            if (element instanceof IRecipeDetector && recipeViewer.getChecked(element)) {
                List<IRecipeParameter> parameters = ((IRecipeDetector) element).getParameters();
                return !parameters.isEmpty();
            }
            return false;
        }
    });
    recipeViewer.getTable().setHeaderVisible(true);
    recipeViewer.getTable().setLinesVisible(true);
    recipeViewer.setContentProvider(ArrayContentProvider.getInstance());
    recipeViewer.setCheckStateProvider(new ICheckStateProvider() {
        public boolean isGrayed(Object element) {
            return false;
        }

        public boolean isChecked(Object element) {
            if (element instanceof IRecipeDetector)
                return selectedRecipeDetectors.contains(((IRecipeDetector) element).getId());
            return false;
        }
    });
    recipeViewer.setComparator(ZViewerComparator.INSTANCE);
    recipeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateRecipeButtons();
        }
    });
    recipeViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            Object element = event.getElement();
            if (element instanceof IRecipeDetector) {
                String id = ((IRecipeDetector) element).getId();
                if (event.getChecked()) {
                    selectedRecipeDetectors.add(id);
                    processRecipesButton.setSelection(true);
                } else {
                    selectedRecipeDetectors.remove(id);
                    if (selectedRecipeDetectors.isEmpty())
                        processRecipesButton.setSelection(false);
                }
                recipeViewer.setInput(allDetectors);
                updateRecipeButtons();
                updateRecipeOptionButtons();
            }
        }
    });
    new AllNoneGroup(recipeGroup, new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            recipeViewer.setAllChecked(e.widget.getData() == AllNoneGroup.ALL);
            updateRecipeButtons();
        }
    });
    processRecipesButton = WidgetFactory.createCheckButton(recipeGroup,
            Messages.getString("ImportPreferencePage.process_recipes"), new GridData(SWT.BEGINNING, SWT.CENTER, //$NON-NLS-1$
                    false, false, 2, 1));
    processRecipesButton.addListener(new Listener() {
        @Override
        public void handleEvent(Event event) {
            updateThumbnailWarning();
        }
    });
    synchronizeRecipesButton = WidgetFactory.createCheckButton(recipeGroup,
            Messages.getString("ImportPreferencePage.immediate_update"), new GridData(SWT.BEGINNING, SWT.CENTER, //$NON-NLS-1$
                    false, false, 2, 1));
    synchronizeRecipesButton.setVisible(false);
}

From source file:com.byterefinery.rmbench.dialogs.ForeignKeyConfigurator.java

License:Open Source License

protected Control createDialogArea(Composite container) {

    Composite parent = (Composite) super.createDialogArea(container);

    Composite mainGroup = new Composite(parent, SWT.NONE);
    mainGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    mainGroup.setLayout(new GridLayout(3, false));

    viewerHandler = new CheckboxTableHandler(mainGroup);

    Label columnsLabel = new Label(mainGroup, SWT.NONE);
    columnsLabel.setText(Messages.ForeignKeyConfigurator_Columns);
    Label tablesLabel = new Label(mainGroup, SWT.NONE);
    tablesLabel.setText(Messages.ForeignKeyConfigurator_TargetTable);

    columnsViewer = CheckboxTableViewer.newCheckList(mainGroup, SWT.SINGLE | SWT.BORDER);
    columnsViewer.getTable().setLayoutData(createTableGridData());
    columnsViewer.setLabelProvider(new LabelProvider() {
        public Image getImage(Object element) {
            if (((Column) element).belongsToPrimaryKey())
                return RMBenchPlugin.getImage(ImageConstants.KEY);
            return null;
        }// w  ww  . java2  s  .c o m

        public String getText(Object element) {
            return ((Column) element).getName();
        }
    });
    viewerHandler.setViewer(columnsViewer, sourceTable.getColumns());
    viewerHandler.addListener(new CheckboxTableHandler.Listener() {
        public void checkMoved(Column column, int oldIndex, int newIndex) {
            computeTargetTables();
        }

        public void checkCountChanged() {
            computeTargetTables();
        }
    });

    org.eclipse.swt.widgets.Table viewerTable = new org.eclipse.swt.widgets.Table(mainGroup,
            SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER);

    TableLayout tableLayout = new TableLayout();
    TableColumn column;

    column = new TableColumn(viewerTable, SWT.NONE);
    column.setText(Messages.ForeignKeyConfigurator_Table_Schema);
    tableLayout.addColumnData(new ColumnWeightData(10));
    column = new TableColumn(viewerTable, SWT.NONE);
    column.setText(Messages.ForeignKeyConfigurator_Table_Name);
    tableLayout.addColumnData(new ColumnWeightData(20));

    viewerTable.setLayout(tableLayout);
    viewerTable.setLayoutData(createTableGridData());

    tablesViewer = new TableViewer(viewerTable);
    tablesViewer.setContentProvider(new ArrayContentProvider());
    tablesViewer.setLabelProvider(new TablesViewerLabelProvider());
    tablesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (event.getSelection().isEmpty()) {
                getButton(IDialogConstants.OK_ID).setEnabled(false);
            } else {
                IStructuredSelection selection = (IStructuredSelection) tablesViewer.getSelection();
                targetTable = (Table) selection.getFirstElement();
                getButton(IDialogConstants.OK_ID).setEnabled(true);
            }
        }
    });

    return parent;
}

From source file:com.byterefinery.rmbench.dialogs.KeyEditorDialog.java

License:Open Source License

protected Control createDialogArea(Composite container) {

    Composite parent = (Composite) super.createDialogArea(container);

    Composite nameGroup = new Composite(parent, SWT.NULL);
    nameGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    nameGroup.setLayout(new GridLayout(2, false));
    Label nameLabel = new Label(nameGroup, SWT.LEFT);

    nameLabel.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
    nameLabel.setText("name:");

    Composite nameComp = new Composite(nameGroup, SWT.NULL);
    GridLayout gl = new GridLayout();
    gl.marginHeight = 0;//from w  w  w  .ja  v a 2s .  c  om
    nameComp.setLayout(gl);
    nameComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    nameText = new Text(nameComp, SWT.BORDER | SWT.SINGLE);
    nameText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    oldName = key.getName();
    nameText.setText(oldName);
    nameText.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            updateErrorLabel();
            updateButtonState();
        }
    });

    // Error Label        
    errorLabel = new Label(nameComp, SWT.NONE);
    errorLabel.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
    GridData gd = new GridData(SWT.LEFT | SWT.FILL, SWT.NONE, true, false);
    gd.widthHint = convertWidthInCharsToPixels(Math.max(Messages.ConstraintWizard_emptyNameError.length(),
            Messages.ConstraintWizard_nameError.length()));
    errorLabel.setLayoutData(gd);

    Composite composite = new Composite(parent, SWT.NULL);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    GridLayout layout = new GridLayout(2, false);
    layout.marginWidth = 30;
    layout.marginHeight = 30;
    composite.setLayout(layout);

    viewerHandler = new CheckboxTableHandler(composite);

    columnsViewer = CheckboxTableViewer.newCheckList(composite, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);

    gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.minimumWidth = convertWidthInCharsToPixels(30);
    gd.minimumHeight = convertHeightInCharsToPixels(5);
    columnsViewer.getTable().setLayoutData(gd);
    columnsViewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            return ((Column) element).getName();
        }
    });
    viewerHandler.setViewer(columnsViewer, key.getTable().getColumns(), key.getColumns());
    viewerHandler.addListener(new CheckboxTableHandler.Listener() {
        public void checkMoved(Column column, int oldIndex, int newIndex) {
            updateButtonState();
        }

        public void checkCountChanged() {
            updateButtonState();
        }
    });

    return parent;
}

From source file:com.cloudbees.eclipse.dev.ui.views.forge.ForgeSyncConfirmation.java

License:Open Source License

/**
 * Create contents of the dialog.//from   ww w . j a  va 2s . c o  m
 * 
 * @param parent
 */
@Override
protected Control createDialogArea(final Composite parent) {
    Composite dialogArea = (Composite) super.createDialogArea(parent);

    setTitle("Configure Forge Repositories");
    setMessage("Please check repositories to synchronize");
    setTitleImage(CloudBeesDevUiPlugin.getImage(CBDEVImages.IMG_CB_ICON_LARGE_64x66));

    Composite container = new Composite(dialogArea, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 1;
    layout.marginHeight = 10;
    layout.marginWidth = 10;
    container.setLayout(layout);
    container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    Label lblSelectForgeRepositories = new Label(container, SWT.NONE);
    lblSelectForgeRepositories.setText("Configure Forge repositories for this Eclipse workspace:");

    this.checkboxTableViewer = CheckboxTableViewer.newCheckList(container,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    this.checkboxTableViewer.setSorter(new Sorter());
    this.table = this.checkboxTableViewer.getTable();
    GridData gd_table = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
    gd_table.heightHint = 200;
    this.table.setLayoutData(gd_table);

    TableColumn tblclmnForgeInstanceUrl = new TableColumn(this.table, SWT.LEFT);
    tblclmnForgeInstanceUrl.setWidth(200);
    tblclmnForgeInstanceUrl.setText("Forge Instance Url");
    this.checkboxTableViewer.setLabelProvider(new TableLabelProvider());
    this.checkboxTableViewer.setContentProvider(new ContentProvider());

    this.checkboxTableViewer.setInput(this.repos.toArray(new ForgeInstance[this.repos.size()]));
    tblclmnForgeInstanceUrl.pack();

    Composite composite = new Composite(container, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    composite.setLayout(new GridLayout(2, false));

    Button btnSelectAll = new Button(composite, SWT.NONE);
    btnSelectAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            ForgeSyncConfirmation.this.checkboxTableViewer.setAllChecked(true);
        }
    });
    btnSelectAll.setText("Select &All");

    Button btnDeselectAll = new Button(composite, SWT.NONE);
    btnDeselectAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            ForgeSyncConfirmation.this.checkboxTableViewer.setAllChecked(false);
        }
    });
    btnDeselectAll.setText("&Deselect All");

    for (ForgeInstance repo : this.repos) {
        if (repo.status == STATUS.UNKNOWN) {
            this.checkboxTableViewer.setChecked(repo, true);
        }
    }

    parent.layout(true);
    checkForgeSyncEnablers();

    return container;
}

From source file:com.codesourcery.internal.installer.ui.pages.ProductsPage.java

License:Open Source License

@Override
public Control createContents(Composite parent) {
    Composite area = new Composite(parent, SWT.NONE);
    area.setLayout(new GridLayout(1, false));
    area.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    // Message label
    messageLabel = new Label(area, SWT.WRAP);
    messageLabel.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false, 1, 1));
    messageLabel.setText(getPromptMessage());

    viewer = CheckboxTableViewer.newCheckList(area,
            SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
    viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    viewer.getTable().setHeaderVisible(true);
    viewer.setLabelProvider(new ProductLabelProvider());
    // Components table columns
    for (int i = 0; i < COLUMN_NAMES.length; i++) {
        TableColumn column = new TableColumn(viewer.getTable(), SWT.LEFT);
        column.setText(COLUMN_NAMES[i]);
        column.setWidth(COLUMN_WIDTHS[i]);
    }//from  w ww. j  a  va  2 s . c o m
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            onProductSelected();
        }
    });

    return area;
}

From source file:com.ebmwebsourcing.petals.common.internal.provisional.ui.jdt.CheckboxTreeAndListGroup.java

License:Open Source License

/**
 *   Creates this group's list viewer./*from  w ww.java  2  s.c o  m*/
 * @param parent the parent composite
 * @param width the width
 * @param height the height
 */
protected void createListViewer(Composite parent, int width, int height) {
    this.fListViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
    this.fListViewer.setUseHashlookup(true);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.widthHint = width;
    data.heightHint = height;
    this.fListViewer.getTable().setLayoutData(data);
    this.fListViewer.setContentProvider(this.fListContentProvider);
    this.fListViewer.setLabelProvider(this.fListLabelProvider);
    this.fListViewer.addCheckStateListener(this);
}