Search in sources :

Example 91 with ToolBar

use of org.eclipse.swt.widgets.ToolBar in project bndtools by bndtools.

the class BundleCalculatedImportsPart method createSection.

private void createSection(Section section, FormToolkit toolkit) {
    // CREATE COMPONENTS
    section.setText(Messages.BundleCalculatedImportsPart_title);
    ToolBar toolbar = new ToolBar(section, SWT.FLAT);
    section.setTextClient(toolbar);
    final ToolItem showSelfImportsItem = new ToolItem(toolbar, SWT.CHECK);
    showSelfImportsItem.setImage(imgShowSelfImports);
    showSelfImportsItem.setToolTipText(Messages.BundleCalculatedImportsPart_tooltipShowSelfImports);
    Composite composite = toolkit.createComposite(section);
    section.setClient(composite);
    // toolkit.createLabel(composite,
    // Messages.BundleCalculatedImportsPart_description, SWT.WRAP);
    tree = toolkit.createTree(composite, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
    viewer = new TreeViewer(tree);
    viewer.setContentProvider(new CapReqMapContentProvider());
    viewer.setLabelProvider(new RequirementWrapperLabelProvider(true));
    ColumnViewerToolTipSupport.enableFor(viewer);
    nonPkgFilter = new ViewerFilter() {

        @Override
        public boolean select(Viewer viewer, Object parent, Object element) {
            if (element instanceof RequirementWrapper)
                return PackageNamespace.PACKAGE_NAMESPACE.equals(((RequirementWrapper) element).requirement.getNamespace());
            return true;
        }
    };
    hideSelfImportsFilter = new ViewerFilter() {

        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof RequirementWrapper)
                return !((RequirementWrapper) element).resolved;
            return true;
        }
    };
    viewer.setFilters(new ViewerFilter[] { nonPkgFilter, hideSelfImportsFilter });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            getManagedForm().fireSelectionChanged(BundleCalculatedImportsPart.this, event.getSelection());
        }
    });
    viewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new DragSourceAdapter() {

        @Override
        public void dragSetData(DragSourceEvent event) {
            LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer();
            if (transfer.isSupportedType(event.dataType))
                transfer.setSelection(viewer.getSelection());
        }
    });
    viewer.addOpenListener(new IOpenListener() {

        @Override
        public void open(OpenEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            for (Iterator<?> iter = selection.iterator(); iter.hasNext(); ) {
                Object item = iter.next();
                if (item instanceof Clazz) {
                    Clazz importUsedBy = (Clazz) item;
                    String className = importUsedBy.getFQN();
                    IType type = null;
                    IFile file = getEditorFile();
                    if (file != null) {
                        IJavaProject javaProject = JavaCore.create(file.getProject());
                        try {
                            type = javaProject.findType(className);
                        } catch (JavaModelException e) {
                            ErrorDialog.openError(tree.getShell(), Messages.BundleCalculatedImportsPart_error, Messages.BundleCalculatedImportsPart_errorFindingType, new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format(Messages.BundleCalculatedImportsPart_errorOpeningClass, className), e));
                        }
                    }
                    try {
                        if (type != null)
                            JavaUI.openInEditor(type, true, true);
                    } catch (PartInitException e) {
                        ErrorDialog.openError(tree.getShell(), Messages.BundleCalculatedImportsPart_error, null, new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format(Messages.BundleCalculatedImportsPart_errorOpeningJavaEditor, className), e));
                    } catch (JavaModelException e) {
                        ErrorDialog.openError(tree.getShell(), Messages.BundleCalculatedImportsPart_error, null, new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format(Messages.BundleCalculatedImportsPart_errorOpeningClass, className), e));
                    }
                }
            }
        }
    });
    // LISTENERS
    showSelfImportsItem.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            boolean showSelfImports = showSelfImportsItem.getSelection();
            ViewerFilter[] filters = showSelfImports ? new ViewerFilter[] { nonPkgFilter } : new ViewerFilter[] { nonPkgFilter, hideSelfImportsFilter };
            viewer.setFilters(filters);
        }
    });
    // LAYOUT
    GridLayout layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.verticalSpacing = 2;
    composite.setLayout(layout);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.heightHint = 75;
    gd.widthHint = 75;
    tree.setLayoutData(gd);
}
Also used : JavaModelException(org.eclipse.jdt.core.JavaModelException) IFile(org.eclipse.core.resources.IFile) CapReqMapContentProvider(bndtools.model.resolution.CapReqMapContentProvider) ViewerFilter(org.eclipse.jface.viewers.ViewerFilter) TreeViewer(org.eclipse.jface.viewers.TreeViewer) TreeViewer(org.eclipse.jface.viewers.TreeViewer) Viewer(org.eclipse.jface.viewers.Viewer) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) IType(org.eclipse.jdt.core.IType) DragSourceEvent(org.eclipse.swt.dnd.DragSourceEvent) GridLayout(org.eclipse.swt.layout.GridLayout) Iterator(java.util.Iterator) SelectionEvent(org.eclipse.swt.events.SelectionEvent) Clazz(aQute.bnd.osgi.Clazz) PartInitException(org.eclipse.ui.PartInitException) RequirementWrapper(bndtools.model.resolution.RequirementWrapper) LocalSelectionTransfer(org.eclipse.jface.util.LocalSelectionTransfer) ToolItem(org.eclipse.swt.widgets.ToolItem) IStatus(org.eclipse.core.runtime.IStatus) Status(org.eclipse.core.runtime.Status) DragSourceAdapter(org.eclipse.swt.dnd.DragSourceAdapter) Composite(org.eclipse.swt.widgets.Composite) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) RequirementWrapperLabelProvider(bndtools.model.resolution.RequirementWrapperLabelProvider) IOpenListener(org.eclipse.jface.viewers.IOpenListener) IJavaProject(org.eclipse.jdt.core.IJavaProject) ToolBar(org.eclipse.swt.widgets.ToolBar) GridData(org.eclipse.swt.layout.GridData) OpenEvent(org.eclipse.jface.viewers.OpenEvent)

Example 92 with ToolBar

use of org.eclipse.swt.widgets.ToolBar in project bndtools by bndtools.

the class ResolutionFailurePanel method createUnresolvedViewToolBar.

@SuppressWarnings("unused")
private void createUnresolvedViewToolBar(final Composite parent) {
    ToolBar unresolvedToolBar = new ToolBar(parent, SWT.FLAT | SWT.HORIZONTAL);
    GridData gd_unresolvedToolBar = new GridData(SWT.RIGHT, SWT.FILL, true, false);
    unresolvedToolBar.setLayoutData(gd_unresolvedToolBar);
    final ToolItem treeViewToggle = new ToolItem(unresolvedToolBar, SWT.RADIO);
    treeViewToggle.setImage(treeViewImg);
    treeViewToggle.setToolTipText("Tree View");
    treeViewToggle.setSelection(failureTreeMode);
    final ToolItem flatViewToggle = new ToolItem(unresolvedToolBar, SWT.RADIO);
    flatViewToggle.setImage(flatViewImg);
    flatViewToggle.setToolTipText("Flat View");
    flatViewToggle.setSelection(!failureTreeMode);
    new ToolItem(unresolvedToolBar, SWT.SEPARATOR);
    ToolItem toolErrorsToClipboard = new ToolItem(unresolvedToolBar, SWT.PUSH);
    toolErrorsToClipboard.setImage(clipboardImg);
    toolErrorsToClipboard.setToolTipText("Copy to Clipboard");
    /*
        SelectionListener modeListener = new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                boolean newTreeMode = treeViewToggle.getSelection();
                if (newTreeMode != failureTreeMode) {
                    failureTreeMode = newTreeMode;
                    switchFailureViewMode();
                }
            }
        };
        treeViewToggle.addSelectionListener(modeListener);
        flatViewToggle.addSelectionListener(modeListener);
        */
    toolErrorsToClipboard.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            copyUnresolvedToClipboard();
        }
    });
}
Also used : SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) ToolBar(org.eclipse.swt.widgets.ToolBar) GridData(org.eclipse.swt.layout.GridData) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ToolItem(org.eclipse.swt.widgets.ToolItem)

Aggregations

ToolBar (org.eclipse.swt.widgets.ToolBar)92 ToolItem (org.eclipse.swt.widgets.ToolItem)85 SelectionEvent (org.eclipse.swt.events.SelectionEvent)76 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)68 GridData (org.eclipse.swt.layout.GridData)63 GridLayout (org.eclipse.swt.layout.GridLayout)50 Composite (org.eclipse.swt.widgets.Composite)48 Image (org.eclipse.swt.graphics.Image)27 DisposeEvent (org.eclipse.swt.events.DisposeEvent)26 DisposeListener (org.eclipse.swt.events.DisposeListener)26 Cursor (org.eclipse.swt.graphics.Cursor)22 Label (org.eclipse.swt.widgets.Label)22 TableViewer (org.eclipse.jface.viewers.TableViewer)18 SashForm (org.eclipse.swt.custom.SashForm)11 SelectionListener (org.eclipse.swt.events.SelectionListener)10 FillLayout (org.eclipse.swt.layout.FillLayout)10 ArrayList (java.util.ArrayList)9 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)9 SelectionChangedEvent (org.eclipse.jface.viewers.SelectionChangedEvent)9 KeyAdapter (org.eclipse.swt.events.KeyAdapter)9