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

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

Introduction

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

Prototype

public LabelProvider() 

Source Link

Document

Creates a new label provider.

Usage

From source file:com.trivadis.loganalysis.ui.internal.wizard.ExportProfileWizardPage.java

License:Open Source License

final void createSourceGroup(final Composite parent) {
    listViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
    final GridData data = new GridData(GridData.FILL_BOTH);
    listViewer.getTable().setLayoutData(data);
    listViewer.getTable().setFont(parent.getFont());
    listViewer.setContentProvider(new IStructuredContentProvider() {

        public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
        }/*from w  w w .  j  a va2s  .co  m*/

        public void dispose() {
        }

        public Object[] getElements(final Object inputElement) {
            return findAll(flatten(collect(context.getConfigurations(), collectProfiles)), noStandardProfiles)
                    .toArray();
        }
    });
    listViewer.setLabelProvider(new LabelProvider() {
        @Override
        public boolean isLabelProperty(final Object element, final String property) {
            return false;
        }

        @Override
        public Image getImage(final Object element) {
            return Activator.getDefault().getImage("icons/profile.gif"); //$NON-NLS-1$
        }

        @Override
        public String getText(final Object element) {
            final String retVal;
            if (element instanceof IProfile) {
                final IProfile profile = (IProfile) element;
                retVal = profile.getLabel() + " (" + profile.getConfiguration().getLabel() + ")";
            } else {
                retVal = element.toString();
            }
            return retVal;
        }

    });
    listViewer.addCheckStateListener(this);
    listViewer.setInput("");
}

From source file:com.trivadis.loganalysis.ui.internal.wizard.ImportProfileWizardPage.java

License:Open Source License

final void createDestinationGroup(final Composite parent) {
    listViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
    final GridData data = new GridData(GridData.FILL_BOTH);
    listViewer.getTable().setLayoutData(data);
    listViewer.getTable().setFont(parent.getFont());
    listViewer.setContentProvider(new IStructuredContentProvider() {

        public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
        }//from www  .j  a v a 2s . co  m

        public void dispose() {
        }

        @SuppressWarnings("unchecked")
        public Object[] getElements(final Object inputElement) {
            return ((List<IProfile>) inputElement).toArray();
        }
    });
    listViewer.setLabelProvider(new LabelProvider() {
        @Override
        public boolean isLabelProperty(final Object element, final String property) {
            return false;
        }

        @Override
        public Image getImage(final Object element) {
            return Activator.getDefault().getImage("icons/profile.gif"); //$NON-NLS-1$
        }

        @Override
        public String getText(final Object element) {
            final String retVal;
            if (element instanceof IProfile) {
                final IProfile profile = (IProfile) element;
                retVal = profile.getLabel() + " (" + profile.getConfiguration().getLabel() + ")";
            } else {
                retVal = element.toString();
            }
            return retVal;
        }

    });
    listViewer.addCheckStateListener(this);
}

From source file:com.twinsoft.convertigo.eclipse.property_editors.DynamicInfoPropertyDescriptor.java

License:Open Source License

@Override
public ILabelProvider getLabelProvider() {
    if (isLabelProviderSet()) {
        return super.getLabelProvider();
    }/*from   www .  j ava2s . c  om*/

    return new LabelProvider() {
        @Override
        public String getText(Object element) {
            return getInfo();
        }

    };
}

From source file:com.twinsoft.convertigo.eclipse.views.projectexplorer.model.DatabaseObjectTreeObject.java

License:Open Source License

protected void getDescriptors() {
    if (propertyDescriptors != null && databaseObjectBeanDescriptor != null
            && databaseObjectPropertyDescriptors != null) {
        return;//from ww w . j a  v a2  s.c  o  m
    }

    DatabaseObject databaseObject = getObject();
    if ((!(databaseObject instanceof Project)) && (databaseObject.getParent() == null))
        return; // No needs for removed object

    int len;

    java.beans.PropertyDescriptor databaseObjectPropertyDescriptor;

    try {
        BeanInfo bi = databaseObjectBeanInfo = CachedIntrospector.getBeanInfo(databaseObject.getClass());
        databaseObjectBeanDescriptor = bi.getBeanDescriptor();
        databaseObjectPropertyDescriptors = bi.getPropertyDescriptors();
        len = databaseObjectPropertyDescriptors.length;
    } catch (Exception e) {
        String message = "Error while introspecting object " + databaseObject.getName() + " ("
                + databaseObject.getQName() + ")";
        ConvertigoPlugin.logException(e, message);
        return;
    }

    List<PropertyDescriptor> vPropertyDescriptors = new ArrayList<PropertyDescriptor>(32);

    PropertyDescriptor propertyDescriptor;

    propertyDescriptor = new PropertyDescriptor(P_TYPE, "Type");
    propertyDescriptor.setCategory("Information");
    vPropertyDescriptors.add(propertyDescriptor);
    propertyDescriptor = new PropertyDescriptor(P_JAVA_CLASS, "Java class");
    propertyDescriptor.setCategory("Information");
    vPropertyDescriptors.add(propertyDescriptor);

    propertyDescriptor = new PropertyDescriptor(P_NAME, "Name");
    propertyDescriptor.setCategory("Information");
    vPropertyDescriptors.add(propertyDescriptor);

    propertyDescriptor = new PropertyDescriptor(P_QNAME, "QName");
    propertyDescriptor.setCategory("Information");
    vPropertyDescriptors.add(propertyDescriptor);
    propertyDescriptor = new PropertyDescriptor(P_PRIORITY, "Priority");
    propertyDescriptor.setCategory("Information");
    vPropertyDescriptors.add(propertyDescriptor);
    propertyDescriptor = new PropertyDescriptor(P_DEPTH, "Depth");
    propertyDescriptor.setCategory("Information");
    vPropertyDescriptors.add(propertyDescriptor);

    propertyDescriptor = new PropertyDescriptor(P_EXPORTED, "Exported");
    propertyDescriptor.setCategory("Information");
    vPropertyDescriptors.add(propertyDescriptor);

    // Get properties
    boolean isExtractionRule = (databaseObject instanceof com.twinsoft.convertigo.beans.core.ExtractionRule);
    boolean isMaskedProperty = false;

    for (int i = 0; i < len; i++) {
        databaseObjectPropertyDescriptor = databaseObjectPropertyDescriptors[i];

        // Don't display hidden or expert propertyDescriptors.
        if (databaseObjectPropertyDescriptor.isHidden()) {
            continue;
        }

        if (databaseObject.checkBlackListParentClass(databaseObjectPropertyDescriptor)) {
            continue;
        }

        String name = databaseObjectPropertyDescriptor.getName();
        String displayName = databaseObjectPropertyDescriptor.getDisplayName();
        Method getter = databaseObjectPropertyDescriptor.getReadMethod();
        Method setter = databaseObjectPropertyDescriptor.getWriteMethod();

        // Only display read/write propertyDescriptors.
        if (getter == null || setter == null) {
            continue;
        }

        Class<?> pec = null;

        try {
            Object args[] = {};
            Object value = getter.invoke(databaseObject, args);

            pec = databaseObjectPropertyDescriptor.getPropertyEditorClass();

            // Now figure out how to display it...
            isMaskedProperty = databaseObject.isMaskedProperty(Visibility.Studio, name);
            propertyDescriptor = findPropertyDescriptor(name, displayName, databaseObjectPropertyDescriptor,
                    value, pec, isExtractionRule, isMaskedProperty);
            if (isMaskedProperty) {
                propertyDescriptor.setLabelProvider(new LabelProvider() {
                    @Override
                    public String getText(Object element) {
                        String regexp = element instanceof String ? "." : "[^\\[\\]\\,]";
                        String text = super.getText(element);
                        return text.replaceAll(regexp, "*");
                    }

                });
            }
            vPropertyDescriptors.add(propertyDescriptor);
        } catch (Exception e) {
            String message = "Error while introspecting parameter \"" + name + "\"";
            ConvertigoPlugin.logException(e, message);
            continue;
        }
    }

    propertyDescriptors = (IPropertyDescriptor[]) vPropertyDescriptors.toArray(new IPropertyDescriptor[] {});
}

From source file:com.vectrace.MercurialEclipse.wizards.mq.QDeletePage.java

License:Open Source License

/**
 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
 *//*from w w  w  .j a v a 2s.  c o  m*/
public void createControl(Composite parent) {
    Composite composite = SWTWidgetHelper.createComposite(parent, 2);
    Group g = SWTWidgetHelper.createGroup(composite, Messages.getString("QDeletePage.patchGroup.title")); //$NON-NLS-1$

    IBaseLabelProvider labelProvider = new LabelProvider() {
        @Override
        public String getText(Object element) {
            return element.toString();
        }
    };

    this.patchViewer = SWTWidgetHelper.createListViewer(g, Messages.getString("QDeletePage.patchViewer.title"), //$NON-NLS-1$
            100, labelProvider);
    populatePatchViewer();

    g = SWTWidgetHelper.createGroup(composite, Messages.getString("QDeletePage.optionGroup.title")); //$NON-NLS-1$
    this.keepCheckBox = SWTWidgetHelper.createCheckBox(g, Messages.getString("QDeletePage.keepCheckBox.title")); //$NON-NLS-1$

    if (showRevSelector) {
        this.revCheckBox = SWTWidgetHelper.createCheckBox(g,
                Messages.getString("QDeletePage.revCheckBox.title")); //$NON-NLS-1$

        SelectionListener revListener = new SelectionListener() {

            public void widgetDefaultSelected(SelectionEvent e) {
                widgetSelected(e);
            }

            public void widgetSelected(SelectionEvent e) {
                changesetTable.setEnabled(revCheckBox.getSelection());
                patchViewer.getControl().setEnabled(!revCheckBox.getSelection());
            }

        };

        revCheckBox.addSelectionListener(revListener);

        GridData gridData = new GridData(GridData.FILL_BOTH);
        gridData.heightHint = 150;
        gridData.minimumHeight = 50;
        this.changesetTable = new ChangesetTable(g, root);
        this.changesetTable.setLayoutData(gridData);
        this.changesetTable.setEnabled(false);
    }

    setControl(composite);
}

From source file:com.wdev91.eclipse.copyright.preferences.FormatsPanel.java

License:Open Source License

protected void createContent() {
    FontData[] fontData = this.getFont().getFontData();

    GridLayout layout = new GridLayout(4, false);
    layout.marginHeight = 5;//from ww  w  . j a  v a  2s  .  co m
    layout.marginWidth = 5;
    this.setLayout(layout);

    contentTypesViewer = new TreeViewer(this, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    contentTypesViewer.getControl().setFont(this.getFont());
    contentTypesViewer.setContentProvider(new ContentTypesContentProvider(true));
    contentTypesViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            IContentType contentType = (IContentType) element;
            return contentType.getName();
        }
    });
    contentTypesViewer.setComparator(new ViewerComparator());
    contentTypesViewer.setInput(Platform.getContentTypeManager());
    GridData data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 4;
    data.heightHint = (fontData.length > 0 ? fontData[0].getHeight() : 10) * TREE_LINES_NUMBER;
    contentTypesViewer.getControl().setLayoutData(data);

    excludedButton = new Button(this, SWT.CHECK);
    excludedButton.setText(Messages.FormatsPanel_labelExcludeType);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 4;
    excludedButton.setLayoutData(data);

    new Label(this, SWT.NONE).setText(Messages.HeadersPreferencePage_labelFirstLine);
    firstLineText = new Text(this, SWT.BORDER);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 2;
    firstLineText.setLayoutData(data);
    final Label length1 = new Label(this, SWT.NONE);
    length1.setText(LENGTH_LABEL_PREFIX);
    data = new GridData();
    data.widthHint = 30;
    length1.setLayoutData(data);

    new Label(this, SWT.NONE).setText(Messages.HeadersPreferencePage_labelLinePrefix);
    linePrefixText = new Text(this, SWT.BORDER);
    data = new GridData();
    data.horizontalSpan = 2;
    data.widthHint = 50;
    linePrefixText.setLayoutData(data);
    final Label length2 = new Label(this, SWT.NONE);
    length2.setText(LENGTH_LABEL_PREFIX);
    data = new GridData();
    data.widthHint = 30;
    length2.setLayoutData(data);

    new Label(this, SWT.NONE).setText(Messages.HeadersPreferencePage_labelLastLine);
    lastLineText = new Text(this, SWT.BORDER);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 2;
    lastLineText.setLayoutData(data);
    final Label length3 = new Label(this, SWT.NONE);
    length3.setText(LENGTH_LABEL_PREFIX);
    data = new GridData();
    data.widthHint = 30;
    length3.setLayoutData(data);

    Label bll = new Label(this, SWT.NONE);
    bll.setText(Messages.HeadersPreferencePage_labelBlankLines);
    data = new GridData();
    data.horizontalSpan = 2;
    bll.setLayoutData(data);
    postBlankLinesText = new Text(this, SWT.BORDER);
    data = new GridData();
    data.horizontalSpan = 2;
    data.widthHint = 20;
    postBlankLinesText.setLayoutData(data);

    lineFormatButton = new Button(this, SWT.CHECK);
    lineFormatButton.setText(Messages.HeadersPreferencePage_checkLineFormat);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 4;
    lineFormatButton.setLayoutData(data);

    preserveFirstLineButton = new Button(this, SWT.CHECK);
    preserveFirstLineButton.setText(Messages.HeadersPreferencePage_checkPreserveFirstLine);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 4;
    preserveFirstLineButton.setLayoutData(data);

    new Label(this, SWT.NONE).setText(Messages.FormatsPanel_labelFirstLinePattern);
    firstLinePatternText = new Text(this, SWT.BORDER);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 2;
    firstLinePatternText.setLayoutData(data);
    firstLinePatternText.setEnabled(false);

    clearButton = new Button(this, SWT.PUSH);
    clearButton.setText(Messages.HeadersPreferencePage_buttonClear);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 4;
    data.horizontalAlignment = GridData.END;
    data.widthHint = Math.max(convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH),
            clearButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
    clearButton.setLayoutData(data);

    contentTypesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            saveCurrentFormat();
            changeSelection();
        }
    });
    excludedButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            setEnabled(true);
        }
    });
    preserveFirstLineButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            firstLinePatternText.setEnabled(preserveFirstLineButton.getSelection());
        }
    });
    clearButton.addSelectionListener(new SelectionListener() {
        public void widgetDefaultSelected(SelectionEvent e) {
        }

        public void widgetSelected(SelectionEvent e) {
            clearFields();
        }
    });
    ModifyListener listener = new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            if (e.widget == firstLineText) {
                length1.setText(LENGTH_LABEL_PREFIX + firstLineText.getText().length());
            } else if (e.widget == linePrefixText) {
                length2.setText(LENGTH_LABEL_PREFIX + linePrefixText.getText().length());
            } else if (e.widget == lastLineText) {
                length3.setText(LENGTH_LABEL_PREFIX + lastLineText.getText().length());
            }
        }
    };
    firstLineText.addModifyListener(listener);
    linePrefixText.addModifyListener(listener);
    lastLineText.addModifyListener(listener);
}

From source file:createrecorder.handlers.CreateRecorderHandler.java

License:Open Source License

/**
 * the command has been executed, so extract extract the needed information
 * from the application context./*from   www.ja  v  a  2  s  . c o m*/
 */
public Object execute_unused(ExecutionEvent event) throws ExecutionException {
    IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
    Shell shell = window.getShell();
    ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, new LabelProvider());
    String[] packages = getDevicePackages();
    if (packages != null) {
        dialog.setElements(packages);
        dialog.setTitle("select package from device");
        // User pressed cancel
        if (dialog.open() != Window.OK) {
            return false;
        }
        Object[] result = dialog.getResult();

    } else {
        MessageDialog.openInformation(window.getShell(), "Robotium Recorder",
                "failed to obtain package list from the device");
        return null;
    }
    return null;
}

From source file:de.babe.eclipse.plugins.quickREx.search.RESearchResultViewPage.java

License:Open Source License

protected void configureTreeViewer(final TreeViewer viewer) {
    this.viewer = viewer;
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            try {
                RELibraryEntry selected = (RELibraryEntry) viewer.getTree().getSelection()[0].getData();
                if (((REBook) viewer.getTree().getSelection()[0].getParentItem().getParentItem().getData())
                        .getName().equals(REBook.DEFAULT_BOOK_NAME)) {
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                            .openEditor(new RELibraryEntryEditorInput(selected, true), RELibraryEntryEditor.ID);
                } else {
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(
                            new RELibraryEntryEditorInput(selected, false), RELibraryEntryEditor.ID);
                    selected.addTitleChangeListener((RELibraryView) PlatformUI.getWorkbench()
                            .getActiveWorkbenchWindow().getActivePage().findView(RELibraryView.ID));
                }/*from  w  ww  .  j  a v  a 2s  . c  o m*/
            } catch (Exception ex) {
                // nop
            }
        }
    });

    viewer.setContentProvider(new ITreeContentProvider() {

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
         */
        public void dispose() {
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
         */
        public Object[] getElements(Object inputElement) {
            return ((RESearchResult) getInput()).getBooksWithMatches();
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
         */
        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof REBook) {
                return ((RESearchResult) getInput()).getMatchingCategoriesInBook((REBook) parentElement);
            } else if (parentElement instanceof RECategory) {
                return ((RESearchResult) getInput()).getMatchesInCategory((RECategory) parentElement);
            } else {
                return new Object[0];
            }
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
         */
        public Object getParent(Object element) {
            if (element instanceof RELibraryEntry) {
                return ((RELibraryEntry) element).getCategory();
            } else if (element instanceof RECategory) {
                return ((RECategory) element).getBook();
            } else {
                return null;
            }
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
         */
        public boolean hasChildren(Object element) {
            return (element instanceof REBook || element instanceof RECategory);
        }
    });

    viewer.setLabelProvider(new LabelProvider() {
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
         */
        public Image getImage(Object element) {
            if (element instanceof REBook) {
                return ((PluginImageRegistry) QuickRExPlugin.getDefault().getImageRegistry())
                        .getImageDescriptor(PluginImageRegistry.IMG_BOOK).createImage();
            } else if (element instanceof RECategory) {
                return ((PluginImageRegistry) QuickRExPlugin.getDefault().getImageRegistry())
                        .getImageDescriptor(PluginImageRegistry.IMG_CATEGORY).createImage();
            } else if (element instanceof RELibraryEntry) {
                return ((PluginImageRegistry) QuickRExPlugin.getDefault().getImageRegistry())
                        .getImageDescriptor(PluginImageRegistry.IMG_REG_EXP).createImage();
            } else {
                return null;
            }
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
         */
        public String getText(Object element) {
            if (element instanceof REBook) {
                return ((REBook) element).getName();
            } else if (element instanceof RECategory) {
                return ((RECategory) element).getName();
            } else if (element instanceof RELibraryEntry) {
                return ((RELibraryEntry) element).getTitle();
            } else {
                return null;
            }
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
         */
        public boolean isLabelProperty(Object element, String property) {
            return true;
        }
    });

}

From source file:de.babe.eclipse.plugins.quickREx.views.RELibraryView.java

License:Open Source License

private void createTreeArea(FormToolkit tk, Form form) {
    treeView = new TreeViewer(form.getBody(), SWT.H_SCROLL | SWT.V_SCROLL);
    treeView.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            try {
                if (treeView.getTree().getSelection()[0].getData() instanceof RELibraryEntry) {
                    RELibraryEntry selected = (RELibraryEntry) treeView.getTree().getSelection()[0].getData();
                    if (((REBook) treeView.getTree().getSelection()[0].getParentItem().getParentItem()
                            .getData()).getName().equals(REBook.DEFAULT_BOOK_NAME)) {
                        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(
                                new RELibraryEntryEditorInput(selected, true), RELibraryEntryEditor.ID);
                    } else {
                        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(
                                new RELibraryEntryEditorInput(selected, false), RELibraryEntryEditor.ID);
                        selected.addTitleChangeListener(RELibraryView.this);
                    }// w w w .j a  v  a  2  s .com
                } else {
                    if (treeView.getExpandedState(treeView.getTree().getSelection()[0].getData())) {
                        treeView.collapseToLevel(treeView.getTree().getSelection()[0].getData(),
                                TreeViewer.ALL_LEVELS);
                    } else {
                        treeView.expandToLevel(treeView.getTree().getSelection()[0].getData(), 1);
                    }
                }
            } catch (Exception ex) {
                // nop
            }
        }
    });

    treeView.setContentProvider(new ITreeContentProvider() {

        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof REBook) {
                REBook book = (REBook) parentElement;
                return (RECategory[]) book.getContents().toArray(new RECategory[book.getContents().size()]);
            } else if (parentElement instanceof RECategory) {
                RECategory cat = (RECategory) parentElement;
                return cat.getCategoryContents();
            } else {
                return null;
            }
        }

        public Object getParent(Object element) {
            if (element instanceof RECategory) {
                RECategory cat = (RECategory) element;
                return cat.getBook();
            } else if (element instanceof RELibraryEntry) {
                RELibraryEntry entry = (RELibraryEntry) element;
                return entry.getCategory();
            } else {
                return null;
            }
        }

        public boolean hasChildren(Object element) {
            if (element instanceof REBook) {
                REBook book = (REBook) element;
                return (book.getContents() != null && book.getContents().size() > 0);
            } else if (element instanceof RECategory) {
                RECategory cat = (RECategory) element;
                return (cat.getCategoryContents() != null && cat.getCategoryContents().length > 0);
            } else {
                return false;
            }
        }

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof REBook[]) {
                // this is called to get the roots of the tree...
                return QuickRExPlugin.getDefault().getREBooks();
            } else {
                return getChildren(inputElement);
            }
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });

    treeView.setLabelProvider(new LabelProvider() {
        public Image getImage(Object element) {
            if (element instanceof REBook) {
                return ((PluginImageRegistry) QuickRExPlugin.getDefault().getImageRegistry())
                        .getImageDescriptor(PluginImageRegistry.IMG_BOOK).createImage();
            } else if (element instanceof RECategory) {
                return ((PluginImageRegistry) QuickRExPlugin.getDefault().getImageRegistry())
                        .getImageDescriptor(PluginImageRegistry.IMG_CATEGORY).createImage();
            } else if (element instanceof RELibraryEntry) {
                return ((PluginImageRegistry) QuickRExPlugin.getDefault().getImageRegistry())
                        .getImageDescriptor(PluginImageRegistry.IMG_REG_EXP).createImage();
            } else {
                return null;
            }
        }

        public String getText(Object element) {
            if (element instanceof REBook) {
                return ((REBook) element).getName();
            } else if (element instanceof RECategory) {
                return ((RECategory) element).getName();
            } else if (element instanceof RELibraryEntry) {
                return ((RELibraryEntry) element).getTitle();
            } else {
                return null;
            }
        }

        public boolean isLabelProperty(Object element, String property) {
            return true;
        }
    });

    treeView.setInput(QuickRExPlugin.getDefault().getREBooks());

    MenuManager mm = new MenuManager();
    mm.setRemoveAllWhenShown(true);
    mm.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager mm2) {
            if (treeView.getTree().getSelection()[0].getData() instanceof REBook) {
                createBookContextMenu(mm2);
            } else if (treeView.getTree().getSelection()[0].getData() instanceof RECategory) {
                createCategoryContextMenu(mm2);
            } else if (treeView.getTree().getSelection()[0].getData() instanceof RELibraryEntry) {
                createREContextMenu(mm2);
            }
        }

        private void createCategoryContextMenu(IMenuManager mm2) {
            Action fNewREAction = new Action(
                    Messages.getString("views.RELibraryView.context.category.actions.addRE.name")) { //$NON-NLS-1$
                /*
                 * (non-Javadoc)
                 * 
                 * @see org.eclipse.jface.action.Action#run()
                 */
                public void run() {
                    InputDialog dlg = new InputDialog(treeView.getControl().getShell(),
                            Messages.getString("views.RELibraryView.context.category.actions.addRE.dlg.title"), //$NON-NLS-1$
                            Messages.getString("views.RELibraryView.context.category.actions.add.dlgRE.text"), //$NON-NLS-1$
                            "", //$NON-NLS-1$
                            new IInputValidator() {

                                public String isValid(String newText) {
                                    if (newText == null || newText.trim().length() == 0) {
                                        return Messages.getString(
                                                "views.RELibraryView.context.category.actions.add.dlgRE.message1"); //$NON-NLS-1$
                                    } else if (((RECategory) treeView.getTree().getSelection()[0].getData())
                                            .containsEntryWithTitle(newText)) {
                                        return Messages.getString(
                                                "views.RELibraryView.context.category.actions.add.dlgRE.message2"); //$NON-NLS-1$
                                    } else {
                                        return null;
                                    }
                                }

                            });
                    int retCode = dlg.open();
                    if (Dialog.OK == retCode) {
                        RECategory selectedCat = (RECategory) treeView.getTree().getSelection()[0].getData();
                        RELibraryEntry newEntry = new RELibraryEntry(dlg.getValue(), "", "", "", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
                        newEntry.setCategory(selectedCat);
                        selectedCat.addEntry(newEntry, 0);
                        treeView.expandToLevel(treeView.getTree().getSelection()[0].getData(),
                                TreeViewer.ALL_LEVELS);
                        treeView.refresh();
                        try {
                            newEntry.addTitleChangeListener(RELibraryView.this);
                            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(
                                    new RELibraryEntryEditorInput(newEntry, false), RELibraryEntryEditor.ID);
                        } catch (Exception e) {
                            // TODO: handle exception
                        }
                    }
                }
            };
            fNewREAction.setEnabled(!((REBook) treeView.getTree().getSelection()[0].getParentItem().getData())
                    .getName().equals(REBook.DEFAULT_BOOK_NAME));
            mm2.add(fNewREAction);
            mm2.add(new Separator());
            Action fNewCategoryAction = new Action(
                    Messages.getString("views.RELibraryView.context.category.actions.addCat.name")) { //$NON-NLS-1$
                /*
                 * (non-Javadoc)
                 * 
                 * @see org.eclipse.jface.action.Action#run()
                 */
                public void run() {
                    InputDialog dlg = new InputDialog(treeView.getControl().getShell(),
                            Messages.getString("views.RELibraryView.context.category.actions.addCat.dlg.title"), //$NON-NLS-1$
                            Messages.getString("views.RELibraryView.context.category.actions.addCat.dlg.text"), //$NON-NLS-1$
                            "", //$NON-NLS-1$
                            new IInputValidator() {

                                public String isValid(String newText) {
                                    if (newText == null || newText.trim().length() == 0) {
                                        return Messages.getString(
                                                "views.RELibraryView.context.category.actions.addCat.dlg.message1"); //$NON-NLS-1$
                                    } else if (((REBook) treeView.getTree().getSelection()[0].getParentItem()
                                            .getData()).containsCategoryWithName(newText)) {
                                        return Messages.getString(
                                                "views.RELibraryView.context.category.actions.addCat.dlg.message2"); //$NON-NLS-1$
                                    } else {
                                        return null;
                                    }
                                }

                            });
                    int retCode = dlg.open();
                    if (Dialog.OK == retCode) {
                        REBook selectedBook = (REBook) treeView.getTree().getSelection()[0].getParentItem()
                                .getData();
                        RECategory newCat = new RECategory(dlg.getValue(), new ArrayList());
                        newCat.setBook(selectedBook);
                        selectedBook.addCategory(newCat,
                                getChildIndex(treeView.getTree().getSelection()[0].getParentItem(),
                                        treeView.getTree().getSelection()[0]) + 1);
                        treeView.refresh();
                    }
                }
            };
            fNewCategoryAction
                    .setEnabled(!((REBook) treeView.getTree().getSelection()[0].getParentItem().getData())
                            .getName().equals(REBook.DEFAULT_BOOK_NAME));
            mm2.add(fNewCategoryAction);
            Action fRenameAction = new Action(
                    Messages.getString("views.RELibraryView.context.category.actions.renameCat.name")) { //$NON-NLS-1$
                /*
                 * (non-Javadoc)
                 * 
                 * @see org.eclipse.jface.action.Action#run()
                 */
                public void run() {
                    InputDialog dlg = new InputDialog(treeView.getControl().getShell(),
                            Messages.getString(
                                    "views.RELibraryView.context.category.actions.renameCat.dlg.title"), //$NON-NLS-1$
                            Messages.getString(
                                    "views.RELibraryView.context.category.actions.renameCat.dlg.text"), //$NON-NLS-1$
                            ((RECategory) treeView.getTree().getSelection()[0].getData()).getName(),
                            new IInputValidator() {

                                public String isValid(String newText) {
                                    if (newText == null || newText.trim().length() == 0) {
                                        return Messages.getString(
                                                "views.RELibraryView.context.category.actions.renameCat.dlg.message1"); //$NON-NLS-1$
                                    } else if (((REBook) treeView.getTree().getSelection()[0].getParentItem()
                                            .getData()).containsCategoryWithName(newText)
                                            && !newText
                                                    .equals(((RECategory) treeView.getTree().getSelection()[0]
                                                            .getData()).getName())) {
                                        return Messages.getString(
                                                "views.RELibraryView.context.category.actions.renameCat.dlg.message2"); //$NON-NLS-1$
                                    } else {
                                        return null;
                                    }
                                }

                            });
                    int retCode = dlg.open();
                    if (Dialog.OK == retCode) {
                        RECategory selected = (RECategory) treeView.getTree().getSelection()[0].getData();
                        selected.setName(dlg.getValue());
                        treeView.refresh();
                    }
                }
            };
            fRenameAction.setEnabled(!((REBook) treeView.getTree().getSelection()[0].getParentItem().getData())
                    .getName().equals(REBook.DEFAULT_BOOK_NAME));
            mm2.add(fRenameAction);
            mm2.add(new Separator());
            Action fDeleteAction = new Action(
                    Messages.getString("views.RELibraryView.context.category.actions.deleteCat.name")) { //$NON-NLS-1$
                /*
                 * (non-Javadoc)
                 * 
                 * @see org.eclipse.jface.action.Action#run()
                 */
                public void run() {
                    boolean proceed = MessageDialog.openQuestion(treeView.getControl().getShell(),
                            Messages.getString(
                                    "views.RELibraryView.context.category.actions.deleteCat.dlg.title"), //$NON-NLS-1$
                            Messages.getString(
                                    "views.RELibraryView.context.category.actions.deleteCat.dlg.text")); //$NON-NLS-1$
                    if (proceed) {
                        REBook selectedBook = (REBook) treeView.getTree().getSelection()[0].getParentItem()
                                .getData();
                        RECategory selected = (RECategory) treeView.getTree().getSelection()[0].getData();
                        RELibraryEntry[] contents = selected.getCategoryContents();
                        for (int i = 0; i < contents.length; i++) {
                            RELibraryEntryEditorInput inp = new RELibraryEntryEditorInput(contents[i], false);
                            IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
                                    .getActivePage().findEditor(inp);
                            if (editor != null) {
                                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                                        .closeEditor(editor, false);
                            }
                        }
                        selectedBook.removeCategory(selected);
                        treeView.refresh();
                    }
                }
            };
            fDeleteAction.setEnabled(!((REBook) treeView.getTree().getSelection()[0].getParentItem().getData())
                    .getName().equals(REBook.DEFAULT_BOOK_NAME));
            mm2.add(fDeleteAction);
        }

        private void createREContextMenu(IMenuManager mm2) {
            Action fNewREAction = new Action(
                    Messages.getString("views.RELibraryView.context.re.actions.addRE.name")) { //$NON-NLS-1$
                /*
                 * (non-Javadoc)
                 * 
                 * @see org.eclipse.jface.action.Action#run()
                 */
                public void run() {
                    InputDialog dlg = new InputDialog(treeView.getControl().getShell(),
                            Messages.getString("views.RELibraryView.context.re.actions.addRE.dlg.title"), //$NON-NLS-1$
                            Messages.getString("views.RELibraryView.context.re.actions.add.dlgRE.text"), "", //$NON-NLS-1$ //$NON-NLS-2$
                            new IInputValidator() {

                                public String isValid(String newText) {
                                    if (newText == null || newText.trim().length() == 0) {
                                        return Messages.getString(
                                                "views.RELibraryView.context.re.actions.add.dlgRE.message1"); //$NON-NLS-1$
                                    } else if (((RECategory) treeView.getTree().getSelection()[0]
                                            .getParentItem().getData()).containsEntryWithTitle(newText)) {
                                        return Messages.getString(
                                                "views.RELibraryView.context.re.actions.add.dlgRE.message2"); //$NON-NLS-1$
                                    } else {
                                        return null;
                                    }
                                }

                            });
                    int retCode = dlg.open();
                    if (Dialog.OK == retCode) {
                        RECategory selectedCat = (RECategory) treeView.getTree().getSelection()[0]
                                .getParentItem().getData();
                        RELibraryEntry newEntry = new RELibraryEntry(dlg.getValue(), "", "", "", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
                        newEntry.setCategory(selectedCat);
                        selectedCat.addEntry(newEntry,
                                getChildIndex(treeView.getTree().getSelection()[0].getParentItem(),
                                        treeView.getTree().getSelection()[0]) + 1);
                        treeView.expandToLevel(treeView.getTree().getSelection()[0].getParentItem().getData(),
                                TreeViewer.ALL_LEVELS);
                        treeView.refresh();
                        try {
                            newEntry.addTitleChangeListener(RELibraryView.this);
                            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(
                                    new RELibraryEntryEditorInput(newEntry, false), RELibraryEntryEditor.ID);
                        } catch (Exception e) {
                            // TODO: handle exception
                        }
                    }
                }
            };
            fNewREAction.setEnabled(
                    !((REBook) treeView.getTree().getSelection()[0].getParentItem().getParentItem().getData())
                            .getName().equals(REBook.DEFAULT_BOOK_NAME));
            mm2.add(fNewREAction);
            mm2.add(new Separator());
            if (((REBook) treeView.getTree().getSelection()[0].getParentItem().getParentItem().getData())
                    .getName().equals(REBook.DEFAULT_BOOK_NAME)) {
                Action fViewAction = new Action(
                        Messages.getString("views.RELibraryView.context.re.actions.viewRE.name")) { //$NON-NLS-1$
                    /*
                     * (non-Javadoc)
                     * 
                     * @see org.eclipse.jface.action.Action#run()
                     */
                    public void run() {
                        RELibraryEntry selected = (RELibraryEntry) treeView.getTree().getSelection()[0]
                                .getData();
                        try {
                            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(
                                    new RELibraryEntryEditorInput(selected, true), RELibraryEntryEditor.ID);
                        } catch (Exception e) {
                            // TODO: handle exception
                        }
                    }
                };
                fViewAction.setEnabled(true);
                mm2.add(fViewAction);
            } else {
                Action fEditAction = new Action(
                        Messages.getString("views.RELibraryView.context.re.actions.editRE.name")) { //$NON-NLS-1$
                    /*
                     * (non-Javadoc)
                     * 
                     * @see org.eclipse.jface.action.Action#run()
                     */
                    public void run() {
                        RELibraryEntry selected = (RELibraryEntry) treeView.getTree().getSelection()[0]
                                .getData();
                        try {
                            selected.addTitleChangeListener(RELibraryView.this);
                            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(
                                    new RELibraryEntryEditorInput(selected, false), RELibraryEntryEditor.ID);
                        } catch (Exception e) {
                            // TODO: handle exception
                        }
                    }
                };
                fEditAction.setEnabled(true);
                mm2.add(fEditAction);
            }
            mm2.add(new Separator());
            Action fDeleteAction = new Action(
                    Messages.getString("views.RELibraryView.context.re.actions.deleteRE.name")) { //$NON-NLS-1$
                /*
                 * (non-Javadoc)
                 * 
                 * @see org.eclipse.jface.action.Action#run()
                 */
                public void run() {
                    boolean proceed = MessageDialog.openQuestion(treeView.getControl().getShell(),
                            Messages.getString("views.RELibraryView.context.re.actions.deleteRE.dlg.title"), //$NON-NLS-1$
                            Messages.getString("views.RELibraryView.context.re.actions.deleteRE.dlg.text")); //$NON-NLS-1$
                    if (proceed) {
                        RELibraryEntry selected = (RELibraryEntry) treeView.getTree().getSelection()[0]
                                .getData();
                        RELibraryEntryEditorInput inp = new RELibraryEntryEditorInput(selected, false);
                        IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
                                .getActivePage().findEditor(inp);
                        if (editor != null) {
                            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                                    .closeEditor(editor, false);
                        }
                        selected.getCategory().removeEntry(selected);
                        treeView.refresh();
                    }
                }
            };
            fDeleteAction.setEnabled(
                    !((REBook) treeView.getTree().getSelection()[0].getParentItem().getParentItem().getData())
                            .getName().equals(REBook.DEFAULT_BOOK_NAME));
            mm2.add(fDeleteAction);
            mm2.add(new Separator());
            Action fUseREAction = new Action(
                    Messages.getString("views.RELibraryView.context.re.actions.useRE.name")) { //$NON-NLS-1$
                /*
                 * (non-Javadoc)
                 * 
                 * @see org.eclipse.jface.action.Action#run()
                 */
                public void run() {
                    RELibraryEntry selected = (RELibraryEntry) treeView.getTree().getSelection()[0].getData();
                    try {
                        QuickRExView view = (QuickRExView) PlatformUI.getWorkbench().getActiveWorkbenchWindow()
                                .getActivePage().showView(QuickRExView.ID);
                        view.setRegularExpression(selected.getRe());
                        view.setTestText(selected.getTesttext());
                    } catch (Exception e) {
                        // TODO: handle exception
                    }
                }
            };
            fUseREAction.setEnabled(true);
            mm2.add(fUseREAction);
        }

        private void createBookContextMenu(IMenuManager mm2) {
            Action fNewCategoryAction = new Action(
                    Messages.getString("views.RELibraryView.context.book.actions.addCat.name")) { //$NON-NLS-1$
                /*
                 * (non-Javadoc)
                 * 
                 * @see org.eclipse.jface.action.Action#run()
                 */
                public void run() {
                    InputDialog dlg = new InputDialog(treeView.getControl().getShell(),
                            Messages.getString("views.RELibraryView.context.book.actions.addCat.dlg.title"), //$NON-NLS-1$
                            Messages.getString("views.RELibraryView.context.book.actions.addCat.dlg.text"), "", //$NON-NLS-1$ //$NON-NLS-2$
                            new IInputValidator() {

                                public String isValid(String newText) {
                                    if (newText == null || newText.trim().length() == 0) {
                                        return Messages.getString(
                                                "views.RELibraryView.context.book.actions.addCat.dlg.message1"); //$NON-NLS-1$
                                    } else if (((REBook) treeView.getTree().getSelection()[0].getData())
                                            .containsCategoryWithName(newText)) {
                                        return Messages.getString(
                                                "views.RELibraryView.context.book.actions.addCat.dlg.message2"); //$NON-NLS-1$
                                    } else {
                                        return null;
                                    }
                                }

                            });
                    int retCode = dlg.open();
                    if (Dialog.OK == retCode) {
                        REBook selectedBook = (REBook) treeView.getTree().getSelection()[0].getData();
                        RECategory newCat = new RECategory(dlg.getValue(), new ArrayList());
                        newCat.setBook(selectedBook);
                        selectedBook.addCategory(newCat, 0);
                        treeView.expandToLevel(treeView.getTree().getSelection()[0].getData(),
                                TreeViewer.ALL_LEVELS);
                        treeView.refresh();
                    }
                }
            };
            fNewCategoryAction.setEnabled(!((REBook) treeView.getTree().getSelection()[0].getData()).getName()
                    .equals(REBook.DEFAULT_BOOK_NAME));
            mm2.add(fNewCategoryAction);
            mm2.add(new Separator());
            Action fRenameAction = new Action(
                    Messages.getString("views.RELibraryView.context.book.actions.renameBook.name")) { //$NON-NLS-1$
                /*
                 * (non-Javadoc)
                 * 
                 * @see org.eclipse.jface.action.Action#run()
                 */
                public void run() {
                    InputDialog dlg = new InputDialog(treeView.getControl().getShell(),
                            Messages.getString("views.RELibraryView.context.book.actions.renameBook.dlg.title"), //$NON-NLS-1$
                            Messages.getString("views.RELibraryView.context.book.actions.renameBook.dlg.text"), //$NON-NLS-1$
                            ((REBook) treeView.getTree().getSelection()[0].getData()).getName(),
                            new IInputValidator() {

                                public String isValid(String newText) {
                                    if (newText == null || newText.trim().length() == 0) {
                                        return Messages.getString(
                                                "views.RELibraryView.context.book.actions.renameBook.dlg.message1"); //$NON-NLS-1$
                                    } else if (QuickRExPlugin.getDefault().reBookWithNameExists(newText)
                                            && !newText.equals(
                                                    ((REBook) treeView.getTree().getSelection()[0].getData())
                                                            .getName())) {
                                        return Messages.getString(
                                                "views.RELibraryView.context.book.actions.renameBook.dlg.message2"); //$NON-NLS-1$
                                    } else {
                                        return null;
                                    }
                                }

                            });
                    int retCode = dlg.open();
                    if (Dialog.OK == retCode) {
                        REBook selected = (REBook) treeView.getTree().getSelection()[0].getData();
                        selected.setName(dlg.getValue());
                        treeView.refresh();
                    }
                }
            };
            fRenameAction.setEnabled(!((REBook) treeView.getTree().getSelection()[0].getData()).getName()
                    .equals(REBook.DEFAULT_BOOK_NAME));
            mm2.add(fRenameAction);
            Action fChangeLocAction = new Action(
                    Messages.getString("views.RELibraryView.context.book.actions.moveBook.name")) { //$NON-NLS-1$
                /*
                 * (non-Javadoc)
                 * 
                 * @see org.eclipse.jface.action.Action#run()
                 */
                public void run() {
                    FileDialog dialog = new FileDialog(treeView.getControl().getShell(), SWT.SAVE);
                    dialog.setText(
                            Messages.getString("views.RELibraryView.context.book.actions.moveBook.dlg.text")); //$NON-NLS-1$
                    dialog.setFilterExtensions(new String[] { "*.xml" }); //$NON-NLS-1$
                    String newPath = dialog.open();
                    if (newPath == null) {
                        return;
                    } else {
                        IPath reLibFilePath = new Path(newPath);
                        File reLibFile = reLibFilePath.toFile();
                        if (reLibFile.exists()) {
                            boolean proceed = MessageDialog.openQuestion(treeView.getControl().getShell(),
                                    Messages.getString(
                                            "views.RELibraryView.context.book.actions.moveBook.dlg.warn.title"), //$NON-NLS-1$
                                    Messages.getString(
                                            "views.RELibraryView.context.book.actions.moveBook.dlg.warn.text")); //$NON-NLS-1$
                            if (!proceed) {
                                return;
                            } else {
                                REBook selected = (REBook) treeView.getTree().getSelection()[0].getData();
                                selected.setPath(newPath);
                                treeView.refresh();
                            }
                        } else {
                            REBook selected = (REBook) treeView.getTree().getSelection()[0].getData();
                            selected.setPath(newPath);
                            treeView.refresh();
                        }

                    }
                }
            };
            fChangeLocAction.setEnabled(!((REBook) treeView.getTree().getSelection()[0].getData()).getName()
                    .equals(REBook.DEFAULT_BOOK_NAME));
            mm2.add(fChangeLocAction);
            mm2.add(new Separator());
            Action fDeleteAction = new Action(
                    Messages.getString("views.RELibraryView.context.book.actions.deleteBook.name")) { //$NON-NLS-1$
                /*
                 * (non-Javadoc)
                 * 
                 * @see org.eclipse.jface.action.Action#run()
                 */
                public void run() {
                    boolean proceed = MessageDialog.openQuestion(treeView.getControl().getShell(),
                            Messages.getString("views.RELibraryView.context.book.actions.deleteBook.dlg.title"), //$NON-NLS-1$
                            Messages.getString("views.RELibraryView.context.book.actions.deleteBook.dlg.text")); //$NON-NLS-1$
                    if (proceed) {
                        REBook selected = (REBook) treeView.getTree().getSelection()[0].getData();
                        List categories = selected.getContents();
                        if (categories != null) {
                            for (Iterator iter = categories.iterator(); iter.hasNext();) {
                                RECategory selectedCat = (RECategory) iter.next();
                                RELibraryEntry[] contents = selectedCat.getCategoryContents();
                                if (contents != null) {
                                    for (int i = 0; i < contents.length; i++) {
                                        RELibraryEntryEditorInput inp = new RELibraryEntryEditorInput(
                                                contents[i], false);
                                        IEditorPart editor = PlatformUI.getWorkbench()
                                                .getActiveWorkbenchWindow().getActivePage().findEditor(inp);
                                        if (editor != null) {
                                            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                                                    .closeEditor(editor, false);
                                        }
                                    }
                                }
                            }
                        }
                        QuickRExPlugin.getDefault().removeREBook(selected);
                        treeView.refresh();
                    }
                }
            };
            fDeleteAction.setEnabled(!((REBook) treeView.getTree().getSelection()[0].getData()).getName()
                    .equals(REBook.DEFAULT_BOOK_NAME));
            mm2.add(fDeleteAction);
        }
    });
    treeView.getTree().setMenu(mm.createContextMenu(treeView.getTree()));
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.grabExcessHorizontalSpace = true;
    treeView.getControl().setLayoutData(gd);
}

From source file:de.bht.fpa.mail.s000000.common.filter.FilterDialog.java

License:Open Source License

private void addUnionIntersection() {
    Composite unionIntersectionComponent = new Composite(container, SWT.NONE);
    unionIntersectionComponent.setLayout(new GridLayout(NR_OF_COLUMNS, false));

    Label lblBeiErfllen = new Label(unionIntersectionComponent, SWT.NONE);
    lblBeiErfllen.setText("If");

    groupFilterComboViewer = new ComboViewer(unionIntersectionComponent, SWT.READ_ONLY);
    groupFilterComboViewer.setContentProvider(ArrayContentProvider.getInstance());
    groupFilterComboViewer.setLabelProvider(new LabelProvider() {
        @Override//w  w w  .  j a  va2  s  . c o m
        public String getText(Object element) {
            return ((FilterGroupType) element).value();
        }
    });
    groupFilterComboViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            filterGroupType = SelectionHelper.handleStructuredSelectionEvent(event, FilterGroupType.class);
        }
    });
    groupFilterComboViewer.setInput(FilterGroupType.values());
    groupFilterComboViewer.setSelection(new StructuredSelection(FilterGroupType.UNION));

    Label lblDerFolgendenBedingungen = new Label(unionIntersectionComponent, SWT.NONE);
    lblDerFolgendenBedingungen.setText("of the following conditions are met:");
}