Example usage for org.eclipse.jface.viewers ViewerComparator ViewerComparator

List of usage examples for org.eclipse.jface.viewers ViewerComparator ViewerComparator

Introduction

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

Prototype

public ViewerComparator() 

Source Link

Document

Creates a new ViewerComparator , which uses the default comparator to sort strings.

Usage

From source file:org.eclipse.papyrus.diagram.common.service.palette.StereotypePostAction.java

License:Open Source License

/**
 * Action done when the add button is pressed
 * //from  w w w .  j  a  va 2s.co  m
 * @param tree
 * 
 */
protected void performAddButtonPressed(TreeViewer tree) {
    TreeSelection selection = (TreeSelection) tree.getSelection();
    Object selectedElement = selection.getFirstElement();
    if (selection != null && selection.size() == 1 && !(selectedElement instanceof StereotypeRepresentation)) {
        if (selectedElement instanceof PropertyRepresentation) {
            //We want add a value to a multi-valued property or edit a value to a mono-valued property
            PropertyRepresentation prop = (PropertyRepresentation) selectedElement;
            if (prop.getUpperMultiplicity() != 1) {
                editMe(prop, null);//we add a value
            } else if (!prop.getValues().isEmpty()) { //mono-valued property and the valu exists
                editMe(prop, prop.getValues().get(0));
            } else {//monovalued property, the value doesn't exist
                editMe(prop, null);
            }
            tree.refresh(selectedElement);
        }
        return;
    }

    // pops-up a dialog window where users can select the additionnal stereotypes to apply
    // it needs the metaclass information...
    // for this, entry Proxy should be a Palette entry proxy
    if (!(entryProxy instanceof IPaletteAspectToolEntryProxy)) {
        return;
    }

    PaletteEntry entry = ((IPaletteAspectToolEntryProxy) entryProxy).getEntry();
    if (!(entry instanceof ToolEntry)) {
        return;
    }

    // this is a PaletteAspectToolEntryProxy
    // try to find the metaclass on which the element is working
    EClass metaClass = PaletteUtil.getToolMetaclass((ToolEntry) entry);

    if (metaClass == null) {
        Activator.log.error("Impossible to find metaclass", null); //$NON-NLS-1$
        return;
    }

    // retrieve the original stereotype list from the qualified names
    List<Stereotype> stereotypeList = config.getUMLStereotypes();//retrieveStereotypesFromQualifiedNames();

    // we have all applied profiles, the list of already applied stereotypes, the metaclass of the created element...
    // just have to open a selection dialog
    final CheckedTreeSelectionDialog selectionDialog = new CheckedTreeSelectionDialog(
            DisplayUtils.getDisplay().getActiveShell(), editorLabelProvider,
            new ProfileContentProvider(metaClass));
    selectionDialog.setTitle(Messages.StereotypePostAction_StereotypeSelectionTitle);
    selectionDialog.setMessage(Messages.StereotypePostAction_StereotypeSelectionMessage);
    selectionDialog.setContainerMode(true);
    selectionDialog.setInitialElementSelections(stereotypeList);
    selectionDialog.setInput(config.getAppliedProfiles());
    selectionDialog.setExpandedElements(config.getAppliedProfiles().toArray());

    ViewerComparator comparator = new ViewerComparator();
    selectionDialog.setComparator(comparator);

    if (CheckedTreeSelectionDialog.OK == selectionDialog.open()) {
        // update the list of stereotype to apply
        Object[] result = selectionDialog.getResult();
        ArrayList<String> stereotypesToApply = new ArrayList<String>();
        for (int i = 0; i < result.length; i++) {
            if (result[i] instanceof Stereotype) {
                stereotypesToApply.add(((Stereotype) result[i]).getQualifiedName());

            }
        }
        config.setStereotypesRepresentations(stereotypesToApply);
        //it's not possible to use refresh or update here!
        updateStereotypeViewer();
    }

}

From source file:org.eclipse.papyrus.uml.diagram.common.service.palette.StereotypePostAction.java

License:Open Source License

/**
 * Action done when the add button is pressed
 * //from www. j a  v  a2s  .c o  m
 * @param tree
 * 
 */
protected void performAddButtonPressed(TreeViewer tree) {
    TreeSelection selection = (TreeSelection) tree.getSelection();
    Object selectedElement = selection.getFirstElement();
    if (selection != null && selection.size() == 1 && !(selectedElement instanceof StereotypeRepresentation)) {
        if (selectedElement instanceof PropertyRepresentation) {
            // We want add a value to a multi-valued property or edit a
            // value to a mono-valued property
            PropertyRepresentation prop = (PropertyRepresentation) selectedElement;
            if (prop.getUpperMultiplicity() != 1) {
                editMe(prop, null);// we add a value
            } else if (!prop.getValues().isEmpty()) { // mono-valued
                // property and the
                // valu exists
                editMe(prop, prop.getValues().get(0));
            } else {// monovalued property, the value doesn't exist
                editMe(prop, null);
            }
            tree.refresh(selectedElement);
        }
        return;
    }

    // pops-up a dialog window where users can select the additionnal
    // stereotypes to apply
    // it needs the metaclass information...
    // for this, entry Proxy should be a Palette entry proxy
    if (!(entryProxy instanceof IPaletteAspectToolEntryProxy)) {
        return;
    }

    PaletteEntry entry = ((IPaletteAspectToolEntryProxy) entryProxy).getEntry();
    if (!(entry instanceof ToolEntry)) {
        return;
    }

    // this is a PaletteAspectToolEntryProxy
    // try to find the metaclass on which the element is working
    EClass metaClass = PaletteUtil.getToolMetaclass((ToolEntry) entry);

    if (metaClass == null) {
        Activator.log.error("Impossible to find metaclass", null); //$NON-NLS-1$
        return;
    }

    // retrieve the original stereotype list from the qualified names
    List<Stereotype> stereotypeList = config.getUMLStereotypes();// retrieveStereotypesFromQualifiedNames();

    // we have all applied profiles, the list of already applied
    // stereotypes, the metaclass of the created element...
    // just have to open a selection dialog
    final CheckedTreeSelectionDialog selectionDialog = new CheckedTreeSelectionDialog(
            DisplayUtils.getDisplay().getActiveShell(), editorLabelProvider,
            new ProfileContentProvider(metaClass));
    selectionDialog.setTitle(Messages.StereotypePostAction_StereotypeSelectionTitle);
    selectionDialog.setMessage(Messages.StereotypePostAction_StereotypeSelectionMessage);
    selectionDialog.setContainerMode(true);
    selectionDialog.setInitialElementSelections(stereotypeList);
    selectionDialog.setInput(config.getAppliedProfiles());
    selectionDialog.setExpandedElements(config.getAppliedProfiles().toArray());

    ViewerComparator comparator = new ViewerComparator();
    selectionDialog.setComparator(comparator);

    if (CheckedTreeSelectionDialog.OK == selectionDialog.open()) {
        // update the list of stereotype to apply
        Object[] result = selectionDialog.getResult();
        ArrayList<String> stereotypesToApply = new ArrayList<String>();
        for (int i = 0; i < result.length; i++) {
            if (result[i] instanceof Stereotype) {
                stereotypesToApply.add(((Stereotype) result[i]).getQualifiedName());

            }
        }
        config.setStereotypesRepresentations(stereotypesToApply);
        // it's not possible to use refresh or update here!
        updateStereotypeViewer();
    }

}

From source file:org.eclipse.pde.api.tools.ui.internal.preferences.ApiBaselinePreferencePage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH, 0, 0);
    SWTFactory.createWrapLabel(comp, PreferenceMessages.ApiProfilesPreferencePage_0, 2, 200);
    SWTFactory.createVerticalSpacer(comp, 1);

    Composite lcomp = SWTFactory.createComposite(comp, 2, 1, GridData.FILL_BOTH, 0, 0);
    SWTFactory.createWrapLabel(lcomp, PreferenceMessages.ApiProfilesPreferencePage_1, 2);
    Table table = new Table(lcomp, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER | SWT.CHECK);
    table.setLayoutData(new GridData(GridData.FILL_BOTH));
    table.addKeyListener(new KeyAdapter() {
        @Override//from  w  w w . j a v  a2  s  .c  o m
        public void keyReleased(KeyEvent e) {
            if (e.stateMask == SWT.NONE && e.keyCode == SWT.DEL) {
                doRemove();
            }
        }
    });
    tableviewer = new CheckboxTableViewer(table);
    tableviewer.setLabelProvider(new BaselineLabelProvider());
    tableviewer.setContentProvider(new ArrayContentProvider());
    tableviewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection ss = (IStructuredSelection) event.getSelection();
            doEdit((IApiBaseline) ss.getFirstElement());
        }
    });
    tableviewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IApiBaseline[] state = getCurrentSelection();
            removebutton.setEnabled(state.length > 0);
            editbutton.setEnabled(state.length == 1);
        }
    });
    tableviewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            IApiBaseline baseline = (IApiBaseline) event.getElement();
            boolean checked = event.getChecked();
            if (checked) {
                tableviewer.setCheckedElements(new Object[] { baseline });
                newdefault = baseline.getName();
                defaultchanged = !newdefault.equals(origdefault);
            } else {
                tableviewer.setChecked(baseline, checked);
                newdefault = null;
                manager.setDefaultApiBaseline(null);
                defaultchanged = true;
            }
            rebuildcount = 0;
            tableviewer.refresh(true);
            dirty = true;
        }
    });
    tableviewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            return ((IApiBaseline) e1).getName().compareTo(((IApiBaseline) e2).getName());
        }
    });
    BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
        @Override
        public void run() {
            backingcollection.addAll(Arrays.asList(manager.getApiBaselines()));
            tableviewer.setInput(backingcollection);
        }
    });
    Composite bcomp = SWTFactory.createComposite(lcomp, 1, 1,
            GridData.FILL_VERTICAL | GridData.VERTICAL_ALIGN_BEGINNING, 0, 0);
    newbutton = SWTFactory.createPushButton(bcomp, PreferenceMessages.ApiProfilesPreferencePage_2, null);
    newbutton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            ApiBaselineWizard wizard = new ApiBaselineWizard(null);
            WizardDialog dialog = new WizardDialog(ApiUIPlugin.getShell(), wizard);
            if (dialog.open() == IDialogConstants.OK_ID) {
                IApiBaseline profile = wizard.getProfile();
                if (profile != null) {
                    backingcollection.add(profile);
                    tableviewer.refresh();
                    tableviewer.setSelection(new StructuredSelection(profile), true);
                    if (backingcollection.size() == 1) {
                        newdefault = profile.getName();
                        tableviewer.setCheckedElements(new Object[] { profile });
                        tableviewer.refresh(profile);
                        defaultchanged = true;
                        rebuildcount = 0;
                    }
                    dirty = true;
                }
            }
        }
    });
    editbutton = SWTFactory.createPushButton(bcomp, PreferenceMessages.ApiProfilesPreferencePage_4, null);
    editbutton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doEdit(getCurrentSelection()[0]);
        }
    });
    editbutton.setEnabled(false);
    removebutton = SWTFactory.createPushButton(bcomp, PreferenceMessages.ApiProfilesPreferencePage_3, null);
    removebutton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doRemove();
        }
    });
    removebutton.setEnabled(false);

    SWTFactory.createVerticalSpacer(bcomp, 1);

    IApiBaseline baseline = manager.getDefaultApiBaseline();
    if (baseline != null) {
        tableviewer.setCheckedElements(new Object[] { baseline });
    }
    origdefault = newdefault = (baseline == null ? null : baseline.getName());
    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IApiToolsHelpContextIds.APIBASELINE_PREF_PAGE);

    block = new ApiBaselinesConfigurationBlock((IWorkbenchPreferenceContainer) getContainer());
    block.createControl(comp, this);
    Dialog.applyDialogFont(comp);
    return comp;
}

From source file:org.eclipse.pde.api.tools.ui.internal.use.ApiUsePatternTab.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite comp = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_BOTH);
    SWTFactory.createWrapLabel(comp, Messages.ApiUsePatternTab_patterns, 2, 100);
    Composite tcomp = SWTFactory.createComposite(comp, 1, 1, GridData.FILL_BOTH, 0, 0);
    GridData gd = (GridData) tcomp.getLayoutData();
    gd.grabExcessHorizontalSpace = true;
    Table table = new Table(tcomp, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI);
    table.setHeaderVisible(true);/*from   ww  w .  j  av  a  2s. co  m*/
    TableLayout layout = new TableLayout();
    for (int i = 0; i < columndata.length; i++) {
        layout.addColumnData(columndata[i]);
    }
    table.setLayout(layout);
    gd = new GridData(GridData.FILL_BOTH);
    gd.grabExcessHorizontalSpace = true;
    gd.widthHint = 250;
    table.setLayoutData(gd);
    this.viewer = new TableViewer(table);
    this.viewer.setColumnProperties(columnnames);
    this.viewer.setComparator(new ViewerComparator() {
        @Override
        public int category(Object element) {
            return ((Pattern) element).kind;
        }
    });
    this.viewer.setLabelProvider(new Labels());
    this.viewer.setContentProvider(new ArrayContentProvider());
    this.viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons((IStructuredSelection) event.getSelection());
        }
    });
    this.viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            doEdit();
        }
    });
    TableColumn column = null;
    for (int i = 0; i < columnnames.length; i++) {
        column = new TableColumn(table, SWT.NONE);
        column.setResizable(false);
        column.setMoveable(false);
        column.setText(columnnames[i]);
    }
    this.viewer.setInput(this.patterns);
    table.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent event) {
            if (event.character == SWT.DEL && event.stateMask == 0) {
                doRemove();
            }
        }
    });

    Composite bcomp = SWTFactory.createComposite(comp, 1, 1, GridData.FILL_VERTICAL, 0, 0);
    this.addbutton = SWTFactory.createPushButton(bcomp, Messages.ApiUsePatternTab_add, null);
    this.addbutton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            PatternWizard wizard = new PatternWizard(null, -1);
            WizardDialog dialog = new WizardDialog(getShell(), wizard);
            if (dialog.open() == IDialogConstants.OK_ID) {
                addPattern(wizard.getPattern(), wizard.getKind());
                ApiUsePatternTab.this.viewer.refresh(true, true);
                updateLaunchConfigurationDialog();
            }
        }
    });
    this.editbutton = SWTFactory.createPushButton(bcomp, Messages.ApiUsePatternTab_edit, null);
    this.editbutton.setEnabled(false);
    this.editbutton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doEdit();
        }
    });
    this.removebutton = SWTFactory.createPushButton(bcomp, Messages.ApiUsePatternTab_remove, null);
    this.removebutton.setEnabled(false);
    this.removebutton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doRemove();
        }
    });
    PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IApiToolsHelpContextIds.API_USE_PATTERN_TAB);
    setControl(comp);
}

From source file:org.eclipse.pde.api.tools.ui.internal.use.PatternSelectionPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite comp = SWTFactory.createComposite(parent, 1, 2, GridData.FILL_BOTH);
    SWTFactory.createWrapLabel(comp, Messages.PatternSelectionPage_pattern_types, 1);
    this.viewer = new TableViewer(new Table(comp, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION));
    this.viewer.setLabelProvider(new LP());
    this.viewer.setContentProvider(new ArrayContentProvider());
    this.viewer.setInput(fgelements);
    this.viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override//w  w  w.  j ava 2 s .  c o  m
        public void selectionChanged(SelectionChangedEvent event) {
            String desc = getSelectedElement().desc;
            PatternSelectionPage.this.description
                    .setText((desc == null ? Messages.PatternSelectionPage_no_desc : desc));
            setPageComplete(isPageComplete());
        }
    });
    this.viewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            return ((PatternElement) e1).name.compareTo(((PatternElement) e2).name);
        }
    });

    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.heightHint = 100;
    this.viewer.getTable().setLayoutData(gd);
    SWTFactory.createHorizontalSpacer(comp, 1);
    SWTFactory.createWrapLabel(comp, Messages.PatternSelectionPage_description, 1);
    this.description = new Text(comp, SWT.BORDER | SWT.READ_ONLY | SWT.WRAP);
    this.description.setEnabled(false);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.heightHint = 50;
    this.description.setLayoutData(gd);
    if (fgelements != null && fgelements.length > 0) {
        this.viewer.setSelection(new StructuredSelection(this.viewer.getElementAt(0)), true);
    }
    setControl(comp);
    PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
            IApiToolsHelpContextIds.APITOOLS_PATTERN_SELECTION_WIZARD_PAGE);
}

From source file:org.eclipse.pde.api.tools.ui.internal.views.APIToolingView.java

License:Open Source License

/**
 * This is a callback that will allow us to create the viewer and initialize
 * it./*from   w  w w. ja  v  a 2 s.com*/
 */
@Override
public void createPartControl(Composite parent) {
    ViewForm form = new ViewForm(parent, SWT.FLAT);
    PlatformUI.getWorkbench().getHelpSystem().setHelp(form, IApiToolsHelpContextIds.API_TOOLING_VIEW);
    this.sessionDescription = SWTFactory.createLabel(form, null, 1);
    form.setTopCenterSeparate(true);
    form.setTopCenter(this.sessionDescription);

    this.viewer = new TreeViewer(form, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    this.viewer.setContentProvider(new ViewContentProvider());
    this.viewer.setComparator(new ViewerComparator() {
        @Override
        public int category(Object element) {
            ITreeNode node = (ITreeNode) element;
            switch (node.getId()) {
            case ITreeNode.PACKAGE:
                return 1;
            default:
                return 0;
            }
        }
    });
    this.viewer.setLabelProvider(new ViewLabelProvider());

    createActions();
    updateActions();
    configureToolbar();
    hookDoubleClickAction();

    form.setContent(this.viewer.getTree());
    getSite().setSelectionProvider(this.viewer);

    final ISessionManager sessionManager = ApiPlugin.getDefault().getSessionManager();
    ISession[] sessions = sessionManager.getSessions();
    if (sessions.length > 0) {
        ISession activeSession = sessionManager.getActiveSession();
        if (sessions[0] != activeSession) {
            sessionManager.activateSession(sessions[0]);
        } else {
            this.viewer.setInput(activeSession);
            updateActions();
        }
    }
}

From source file:org.eclipse.pde.api.tools.ui.internal.wizards.ApiBaselineWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite comp = SWTFactory.createComposite(parent, 4, 1, GridData.FILL_HORIZONTAL);
    SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_5, 1);
    nametext = SWTFactory.createText(comp, SWT.BORDER | SWT.SINGLE, 3,
            GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL | GridData.BEGINNING);
    nametext.addModifyListener(new ModifyListener() {
        @Override//  w w w  . j av a2  s.  c  om
        public void modifyText(ModifyEvent e) {
            setPageComplete(pageValid());
        }
    });

    IExecutionEnvironment[] envs = JavaRuntime.getExecutionEnvironmentsManager().getExecutionEnvironments();
    ArrayList<String> items = new ArrayList<String>();
    for (int i = 0; i < envs.length; i++) {
        if (envs[i].getCompatibleVMs().length > 0) {
            items.add(envs[i].getId());
        }
    }
    Collections.sort(items, new Comparator<Object>() {
        @Override
        public int compare(Object o1, Object o2) {
            return ((String) o1).compareTo((String) o2);
        }
    });

    SWTFactory.createVerticalSpacer(comp, 1);

    SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_9, 1);
    locationcombo = SWTFactory.createCombo(comp, SWT.BORDER | SWT.SINGLE, 1,
            GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL | GridData.BEGINNING, null);
    locationcombo.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            setPageComplete(pageValid());
            updateButtons();
        }
    });
    browsebutton = SWTFactory.createPushButton(comp, WizardMessages.ApiProfileWizardPage_10, null);
    browsebutton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            DirectoryDialog dialog = new DirectoryDialog(getShell());
            dialog.setMessage(WizardMessages.ApiProfileWizardPage_11);
            String loctext = locationcombo.getText().trim();
            if (loctext.length() > 0) {
                dialog.setFilterPath(loctext);
            }
            String newPath = dialog.open();
            if (newPath != null
                    && (!new Path(loctext).equals(new Path(newPath)) || getCurrentComponents().length == 0)) {
                /*
                 * If the path is identical, but there is no component
                 * loaded, we still want to reload. This might be the case
                 * if the combo is initialized by copy/paste with a path
                 * that points to a plugin directory
                 */
                locationcombo.setText(newPath);
                setErrorMessage(null);
                doReload();
            }
        }
    });

    reloadbutton = SWTFactory.createPushButton(comp, WizardMessages.ApiProfileWizardPage_12, null);
    reloadbutton.setEnabled(locationcombo.getText().trim().length() > 0);
    reloadbutton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doReload();
        }
    });

    SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_13, 4);
    Tree tree = new Tree(comp, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 250;
    gd.horizontalSpan = 4;
    tree.setLayoutData(gd);
    treeviewer = new TreeViewer(tree);
    treeviewer.setLabelProvider(new ApiToolsLabelProvider());
    treeviewer.setContentProvider(new ContentProvider());
    treeviewer.setComparator(new ViewerComparator());
    treeviewer.setInput(getCurrentComponents());
    treeviewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
        }
    });
    treeviewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof IApiComponent) {
                IApiComponent component = (IApiComponent) element;
                try {
                    if (component.isSourceComponent() || component.isSystemComponent()) {
                        return false;
                    }
                } catch (CoreException e) {
                    ApiPlugin.log(e);
                }
                return true;
            }
            return !(element instanceof SystemLibraryApiComponent);
        }
    });

    setControl(comp);
    setPageComplete(fProfile != null);
    initialize();
    PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IApiToolsHelpContextIds.APIPROFILES_WIZARD_PAGE);
    Dialog.applyDialogFont(comp);
}

From source file:org.eclipse.pde.api.tools.ui.internal.wizards.ApiToolingSetupWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH);
    setControl(comp);/*from ww w .j  a v a2s  .com*/
    PlatformUI.getWorkbench().getHelpSystem().setHelp(comp,
            IApiToolsHelpContextIds.API_TOOLING_SETUP_WIZARD_PAGE);
    SWTFactory.createWrapLabel(comp, WizardMessages.UpdateJavadocTagsWizardPage_6, 1, 100);
    SWTFactory.createVerticalSpacer(comp, 1);
    SWTFactory.createWrapLabel(comp, WizardMessages.ApiToolingSetupWizardPage_6, 1, 50);

    final Text text = SWTFactory.createText(comp, SWT.BORDER, 1);
    text.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            updatejob.setFilter(text.getText().trim());
            updatejob.cancel();
            updatejob.schedule();
        }
    });
    text.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.keyCode == SWT.ARROW_DOWN) {
                if (tableviewer != null) {
                    tableviewer.getTable().setFocus();
                }
            }
        }
    });

    SWTFactory.createWrapLabel(comp, WizardMessages.UpdateJavadocTagsWizardPage_8, 1, 50);

    Table table = new Table(comp, SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK | SWT.MULTI);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 150;
    table.setLayoutData(gd);
    tableviewer = new CheckboxTableViewer(table);
    tableviewer.setLabelProvider(new WorkbenchLabelProvider());
    tableviewer.setContentProvider(new ArrayContentProvider());
    tableviewer.setInput(getInputProjects());
    tableviewer.setComparator(new ViewerComparator());
    tableviewer.addFilter(filter);
    tableviewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                checkedset.add(event.getElement());
            } else {
                checkedset.remove(event.getElement());
            }
            setPageComplete(pageValid());
        }
    });
    Composite bcomp = SWTFactory.createComposite(comp, 3, 1, GridData.FILL_HORIZONTAL | GridData.END, 0, 0);
    Button button = SWTFactory.createPushButton(bcomp, WizardMessages.UpdateJavadocTagsWizardPage_10, null);
    button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            tableviewer.setAllChecked(true);
            checkedset.addAll(Arrays.asList(tableviewer.getCheckedElements()));
            setPageComplete(pageValid());
        }
    });
    button = SWTFactory.createPushButton(bcomp, WizardMessages.UpdateJavadocTagsWizardPage_11, null);
    button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            tableviewer.setAllChecked(false);
            TableItem[] items = tableviewer.getTable().getItems();
            for (int i = 0; i < items.length; i++) {
                checkedset.remove(items[i].getData());
            }
            setPageComplete(pageValid());
        }
    });

    checkcount = SWTFactory.createText(bcomp, SWT.FLAT | SWT.READ_ONLY, 1,
            GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL);
    checkcount.setBackground(bcomp.getBackground());

    Object[] selected = getWorkbenchSelection();
    if (selected.length > 0) {
        tableviewer.setCheckedElements(selected);
        checkedset.addAll(Arrays.asList(selected));
    }
    setPageComplete(checkedset.size() > 0);

    SWTFactory.createVerticalSpacer(comp, 1);
    removecxml = SWTFactory.createCheckButton(comp, WizardMessages.ApiToolingSetupWizardPage_0, null, true, 1);

    IDialogSettings settings = ApiUIPlugin.getDefault().getDialogSettings().getSection(SETTINGS_SECTION);
    if (settings != null) {
        removecxml.setSelection(settings.getBoolean(SETTINGS_REMOVECXML));
    }
}

From source file:org.eclipse.pde.api.tools.ui.internal.wizards.DirectoryBasedApiBaselineWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite comp = SWTFactory.createComposite(parent, 4, 1, GridData.FILL_HORIZONTAL);
    SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_5, 1);
    nametext = SWTFactory.createText(comp, SWT.BORDER | SWT.SINGLE, 3,
            GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL | GridData.BEGINNING);
    nametext.addModifyListener(new ModifyListener() {
        @Override//from   ww  w  .j  a v a2  s.  c  o m
        public void modifyText(ModifyEvent e) {
            setPageComplete(pageValid());
        }
    });

    SWTFactory.createVerticalSpacer(comp, 1);

    SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_9, 1);
    locationcombo = SWTFactory.createCombo(comp, SWT.BORDER | SWT.SINGLE, 1,
            GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL | GridData.BEGINNING, null);
    locationcombo.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            setPageComplete(pageValid());
            updateButtons();
        }
    });
    browsebutton = SWTFactory.createPushButton(comp, WizardMessages.ApiProfileWizardPage_10, null);
    browsebutton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            DirectoryDialog dialog = new DirectoryDialog(getShell());
            dialog.setMessage(WizardMessages.ApiProfileWizardPage_11);
            String loctext = locationcombo.getText().trim();
            if (loctext.length() > 0) {
                dialog.setFilterPath(loctext);
            }
            String newPath = dialog.open();
            if (newPath != null
                    && (!new Path(loctext).equals(new Path(newPath)) || getCurrentComponents().length == 0)) {
                /*
                 * If the path is identical, but there is no component
                 * loaded, we still want to reload. This might be the case
                 * if the combo is initialized by copy/paste with a path
                 * that points to a plugin directory
                 */
                locationcombo.setText(newPath);
                setErrorMessage(null);
                doReload();
            }
        }
    });

    reloadbutton = SWTFactory.createPushButton(comp, WizardMessages.ApiProfileWizardPage_12, null);
    reloadbutton.setEnabled(locationcombo.getText().trim().length() > 0);
    reloadbutton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doReload();
        }
    });

    SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_13, 4);
    Tree tree = new Tree(comp, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 250;
    gd.horizontalSpan = 4;
    tree.setLayoutData(gd);
    treeviewer = new TreeViewer(tree);
    treeviewer.setLabelProvider(new ApiToolsLabelProvider());
    treeviewer.setContentProvider(new ContentProvider());
    treeviewer.setComparator(new ViewerComparator());
    treeviewer.setInput(getCurrentComponents());
    treeviewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
        }
    });
    treeviewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof IApiComponent) {
                IApiComponent component = (IApiComponent) element;
                try {
                    if (component.isSourceComponent() || component.isSystemComponent()) {
                        return false;
                    }
                } catch (CoreException e) {
                    ApiPlugin.log(e);
                }
                return true;
            }
            return !(element instanceof SystemLibraryApiComponent);
        }
    });

    setControl(comp);
    setPageComplete(fProfile != null);
    initialize();
    PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IApiToolsHelpContextIds.APIPROFILES_WIZARD_PAGE);
    Dialog.applyDialogFont(comp);
}

From source file:org.eclipse.pde.api.tools.ui.internal.wizards.JavadocConversionPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH);
    setControl(comp);/*  w w w.  ja  v  a2s  . c  om*/
    PlatformUI.getWorkbench().getHelpSystem().setHelp(comp,
            IApiToolsHelpContextIds.JAVADOC_CONVERSION_WIZARD_PAGE);
    SWTFactory.createWrapLabel(comp, WizardMessages.JavadocConversionPage_select_pjs_to_convert, 1, 100);
    SWTFactory.createVerticalSpacer(comp, 1);
    SWTFactory.createWrapLabel(comp, WizardMessages.ApiToolingSetupWizardPage_6, 1, 50);

    final Text text = SWTFactory.createText(comp, SWT.BORDER, 1);
    text.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            updatejob.setFilter(text.getText().trim());
            updatejob.cancel();
            updatejob.schedule();
        }
    });
    text.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.keyCode == SWT.ARROW_DOWN) {
                if (tableviewer != null) {
                    tableviewer.getTable().setFocus();
                }
            }
        }
    });

    SWTFactory.createWrapLabel(comp, WizardMessages.UpdateJavadocTagsWizardPage_8, 1, 50);

    Table table = new Table(comp, SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK | SWT.MULTI);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 150;
    table.setLayoutData(gd);
    tableviewer = new CheckboxTableViewer(table);
    tableviewer.setLabelProvider(new WorkbenchLabelProvider());
    tableviewer.setContentProvider(new ArrayContentProvider());
    IProject[] input = Util.getApiProjectsMinSourceLevel(JavaCore.VERSION_1_5);
    if (input == null) {
        setMessage(WizardMessages.JavadocConversionPage_0, IMessageProvider.WARNING);
    } else {
        tableviewer.setInput(input);
    }
    tableviewer.setComparator(new ViewerComparator());
    tableviewer.addFilter(filter);
    tableviewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                checkedset.add(event.getElement());
            } else {
                checkedset.remove(event.getElement());
            }
            setPageComplete(pageValid());
        }
    });
    Composite bcomp = SWTFactory.createComposite(comp, 3, 1, GridData.FILL_HORIZONTAL | GridData.END, 0, 0);
    Button button = SWTFactory.createPushButton(bcomp, WizardMessages.UpdateJavadocTagsWizardPage_10, null);
    button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            tableviewer.setAllChecked(true);
            checkedset.addAll(Arrays.asList(tableviewer.getCheckedElements()));
            setPageComplete(pageValid());
        }
    });
    button = SWTFactory.createPushButton(bcomp, WizardMessages.UpdateJavadocTagsWizardPage_11, null);
    button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            tableviewer.setAllChecked(false);
            TableItem[] items = tableviewer.getTable().getItems();
            for (int i = 0; i < items.length; i++) {
                checkedset.remove(items[i].getData());
            }
            setPageComplete(pageValid());
        }
    });

    checkcount = SWTFactory.createText(bcomp, SWT.FLAT | SWT.READ_ONLY, 1,
            GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL);
    checkcount.setBackground(bcomp.getBackground());

    Object[] selected = getWorkbenchSelection();
    if (selected.length > 0) {
        tableviewer.setCheckedElements(selected);
        checkedset.addAll(Arrays.asList(selected));
    }
    setPageComplete(tableviewer.getCheckedElements().length > 0);

    SWTFactory.createVerticalSpacer(comp, 1);
    removetags = SWTFactory.createCheckButton(comp,
            WizardMessages.JavadocConversionPage_delete_tags_during_conversion, null, true, 1);

    IDialogSettings settings = ApiUIPlugin.getDefault().getDialogSettings().getSection(SETTINGS_SECTION);
    if (settings != null) {
        removetags.setSelection(settings.getBoolean(SETTINGS_REMOVE_TAGS));
    }
}