Example usage for org.eclipse.jface.viewers ILabelProvider isLabelProperty

List of usage examples for org.eclipse.jface.viewers ILabelProvider isLabelProperty

Introduction

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

Prototype

public boolean isLabelProperty(Object element, String property);

Source Link

Document

Returns whether the label would be affected by a change to the given property of the given element.

Usage

From source file:com.aptana.ide.views.outline.UnifiedOutlineProvider.java

License:Open Source License

/**
 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
 *//* ww  w.j a v a 2 s .c om*/
public boolean isLabelProperty(Object element, String property) {
    boolean result = false;

    switchLanguage(element);

    if (this._currentProviders != null) {
        ILabelProvider labelProvider = this._currentProviders.labelProvider;

        if (labelProvider != null) {
            result = labelProvider.isLabelProperty(element, property);
        }
    }

    return result;
}

From source file:com.nokia.tools.carbide.ct.confml.ui.editors.ContentOutlineConfiguration.java

License:Open Source License

public ILabelProvider getLabelProvider(TreeViewer viewer) {

    final ILabelProvider originalProvider = super.getLabelProvider(viewer);

    ILabelProvider customProvider = new ILabelProvider() {
        public Image getImage(Object element) {
            String elementString = element.toString();

            if (elementString.startsWith("confml:")) {
                elementString = elementString.substring(7);
            }/*  w  w w  .  jav a 2s  .  co m*/

            if (elementString.startsWith("setting")) {
                return PluginImages.SETTING;
            } else if (elementString.startsWith("feature")) {
                return PluginImages.FEATURE;
            } else if (elementString.startsWith("configuration")) {
                if (elementString.indexOf("http://www.s60.com/xml/confml/1") != -1)
                    return PluginImages.CONFIGURATION1;
                else
                    return PluginImages.CONFIGURATION2;
            } else if (elementString.startsWith("rfs")) {
                return PluginImages.RFS_FEATURE;
            } else if (elementString.startsWith("data")) {
                return PluginImages.DATA_FEATURE;
            } else if (elementString.startsWith("desc")) {
                return PluginImages.DESCRIPTION;
            } else if (elementString.startsWith("option")) {
                return PluginImages.OPTION;
            } else if (elementString.startsWith("xml")) {
                return PluginImages.XML;
            } else if (elementString.startsWith("view")) {
                return PluginImages.VIEW;
            } else if (elementString.startsWith("group")) {
                return PluginImages.GROUP;
            } else if (elementString.startsWith("xi:include")) {
                return PluginImages.INCLUDE;
            } else {
                if (element instanceof Element) {
                    Element e = (Element) element;
                    return getElementImage(e, 0);
                } else
                    return PluginImages.GENERIC;
            }

        }

        private Image getElementImage(Element element, int level) {
            if (element.getParentNode() instanceof Element) {
                Element parent = (Element) element.getParentNode();

                String elementString = element.toString();

                if (elementString.startsWith("confml:")) {
                    elementString = elementString.substring(7);
                }

                if (elementString.startsWith("data")) {
                    if (level == 0)
                        return PluginImages.DATA_FEATURE;
                    else
                        return PluginImages.DATA_SETTING;
                }
                if (elementString.startsWith("rfs")) {
                    if (level == 0)
                        return PluginImages.RFS_FEATURE;
                    else
                        return PluginImages.RFS_SETTING;
                } else {
                    if (level > 5)
                        return PluginImages.GENERIC;
                    else
                        return getElementImage(parent, level + 1);
                }
            } else {
                System.out.println("PARENT NOT ELEMENT\n" + element.toString());
                return PluginImages.GENERIC;
            }
        }

        public String getText(Object element) {
            String text = originalProvider.getText(element);
            if (text.startsWith("confml:")) {
                return text.substring(7);
            } else
                return text;
        }

        public void addListener(ILabelProviderListener listener) {
            originalProvider.addListener(listener);
        }

        public void dispose() {
            originalProvider.dispose();
        }

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

        public void removeListener(ILabelProviderListener listener) {
            originalProvider.removeListener(listener);
        }

    };

    return customProvider;
}

From source file:com.nokia.tools.carbide.ct.crml.ui.editors.ContentOutlineConfiguration.java

License:Open Source License

public ILabelProvider getLabelProvider(TreeViewer viewer) {

    final ILabelProvider originalProvider = super.getLabelProvider(viewer);

    ILabelProvider customProvider = new ILabelProvider() {
        public Image getImage(Object element) {
            String elementString = element.toString();
            //System.out.println(element.toString());
            if (elementString.startsWith("crml:")) {
                elementString = elementString.substring(5);
            }//from ww w . java 2 s  . c om

            if (elementString.startsWith("repository")) {
                return PluginImages.REPOSITORY;
            } else if (elementString.startsWith("keyRange")) {
                return PluginImages.RANGEKEY;
            } else if (elementString.startsWith("key")) {
                if (element instanceof Element) {
                    Element e = (Element) element;
                    NodeList nodeList = e.getChildNodes();
                    for (int n = 0; n < nodeList.getLength(); n++) {
                        Node node = nodeList.item(n);
                        if (node.toString().startsWith("bit"))
                            return PluginImages.BITMASKKEY;
                    }
                }
                return PluginImages.SIMPLEKEY;
            } else if (elementString.startsWith("access")) {
                return PluginImages.ACCESS;
            } else if (elementString.startsWith("desc")) {
                return PluginImages.DESCRIPTION;
            } else if (elementString.startsWith("option")) {
                return PluginImages.GENERIC;
            } else if (elementString.startsWith("xml")) {
                return PluginImages.XML;
            } else if (elementString.startsWith("bit")) {
                return PluginImages.BIT;
            } else {
                if (element instanceof Element) {
                    Element e = (Element) element;
                    return getElementImage(e, 0);
                } else
                    return PluginImages.GENERIC;
            }

        }

        private Image getElementImage(Element element, int level) {
            if (element.getParentNode() instanceof Element) {
                Element parent = (Element) element.getParentNode();

                String elementString = element.toString();

                if (elementString.startsWith("crml:")) {
                    elementString = elementString.substring(5);
                }

                if (elementString.startsWith("data")) {
                    //                  if (level==0)
                    //                     return PluginImages.DATA_FEATURE;
                    //                  else
                    //                     return PluginImages.DATA_SETTING;
                    return PluginImages.GENERIC;
                }
                if (elementString.startsWith("rfs")) {
                    //                  if (level==0)
                    //                     return PluginImages.RFS_FEATURE;
                    //                  else
                    //                     return PluginImages.RFS_SETTING;
                    return PluginImages.GENERIC;
                } else {
                    if (level > 5)
                        return PluginImages.GENERIC;
                    else
                        return getElementImage(parent, level + 1);
                }
            } else {
                System.out.println("PARENT NOT ELEMENT\n" + element.toString());
                return PluginImages.GENERIC;
            }
        }

        public String getText(Object element) {
            String text = originalProvider.getText(element);
            if (text.startsWith("crml:")) {
                return text.substring(5);
            } else
                return text;
        }

        public void addListener(ILabelProviderListener listener) {
            originalProvider.addListener(listener);
        }

        public void dispose() {
            originalProvider.dispose();
        }

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

        public void removeListener(ILabelProviderListener listener) {
            originalProvider.removeListener(listener);
        }

    };

    return customProvider;
}

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

License:Open Source License

private PropertyDescriptor findPropertyDescriptor(final String name, String displayName,
        java.beans.PropertyDescriptor databaseObjectPropertyDescriptor, Object value, final Class<?> pec,
        boolean isExtractionRule, boolean isMasked)
        throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
    PropertyDescriptor propertyDescriptor = null;

    // Primitive types
    if (pec == null) {
        if (value instanceof Boolean) {
            String[] values = new String[] { "true", "false" };
            propertyDescriptor = new DynamicComboBoxPropertyDescriptor(name, displayName, values);
        } else if (value instanceof Number) {
            propertyDescriptor = new TextPropertyDescriptor(name, displayName);
            //            propertyDescriptor.setValidator(new CompilableValueValidator(new NumberValidator(value.getClass())));
        }/*from www. java  2 s  .c o  m*/
    }
    // Complex types
    else {
        if (PropertyWithValidatorEditor.class.isAssignableFrom(pec)) {
            propertyDescriptor = new TextPropertyDescriptor(name, displayName);
            propertyDescriptor.setValidator(getValidator(name));
        } else if (PropertyWithTagsEditor.class.isAssignableFrom(pec)) {
            String[] tags;
            if (PropertyWithDynamicTagsEditor.class.isAssignableFrom(pec)) {
                Method getTags = pec.getMethod("getTags",
                        new Class[] { DatabaseObjectTreeObject.class, String.class });
                tags = (String[]) getTags.invoke(null, new Object[] { this, name });
                propertyDescriptor = new DynamicComboBoxPropertyDescriptor(name, displayName, getTags, this,
                        name);
            } else if (PropertyWithTagsEditorAdvance.class.isAssignableFrom(pec)) {
                Method getTags = pec.getDeclaredMethod("getTags",
                        new Class[] { DatabaseObjectTreeObject.class, String.class });
                tags = (String[]) getTags.invoke(null, new Object[] { this, name });
                propertyDescriptor = new DynamicComboBoxPropertyDescriptor(name, displayName, tags);
            } else {
                Method getTags = pec.getDeclaredMethod("getTags",
                        new Class[] { DatabaseObjectTreeObject.class });
                tags = (String[]) getTags.invoke(null, new Object[] { this });
                propertyDescriptor = new DynamicComboBoxPropertyDescriptor(name, displayName, tags);
            }
        } else if (PropertyWithDynamicInfoEditor.class.isAssignableFrom(pec)) {
            Method getInfo = pec.getMethod("getInfo",
                    new Class[] { DatabaseObjectTreeObject.class, String.class });
            propertyDescriptor = new DynamicInfoPropertyDescriptor(name, displayName, getInfo, this, name);
        } else if (AbstractDialogCellEditor.class.isAssignableFrom(pec)) {
            propertyDescriptor = new PropertyDescriptor(name, displayName) {
                @Override
                public CellEditor createPropertyEditor(Composite parent) {
                    try {
                        Constructor<?> constructor = pec.getConstructor(new Class[] { Composite.class });
                        AbstractDialogCellEditor editor = (AbstractDialogCellEditor) constructor
                                .newInstance(new Object[] { parent });
                        editor.propertyDescriptor = this;
                        editor.databaseObjectTreeObject = DatabaseObjectTreeObject.this;
                        if (getValidator() != null) {
                            editor.setValidator(getValidator());
                        }

                        return editor;
                    } catch (Exception e) {
                        ConvertigoPlugin.logException(e, "Unexpected exception");
                        return null;
                    }
                }
            };
        } else if (Enum.class.isAssignableFrom(pec)) {
            String[] tags = EnumUtils.toStrings(pec);

            propertyDescriptor = new DynamicComboBoxPropertyDescriptor(name, displayName, tags);
        }
    }

    // Special cases
    if (propertyDescriptor == null) {
        // editor for scriptable properties
        Object scriptable = databaseObjectPropertyDescriptor.getValue("scriptable");
        if ((scriptable != null) && (scriptable.equals(Boolean.TRUE)))
            propertyDescriptor = new ScriptablePropertyDescriptor(name, displayName);

        // editor for nillable properties
        if (propertyDescriptor == null) {
            Object nillable = databaseObjectPropertyDescriptor.getValue("nillable");
            if ((nillable != null) && (nillable.equals(Boolean.TRUE))) {
                int style = isMasked ? SWT.PASSWORD : SWT.NONE;
                if (value instanceof String) {
                    propertyDescriptor = new DataOrNullPropertyDescriptor(name, displayName,
                            StringOrNullEditor.class, style);
                } else if (value instanceof XMLVector) {
                    propertyDescriptor = new DataOrNullPropertyDescriptor(name, displayName,
                            ArrayOrNullEditor.class, style);
                }
            }
        }

        // editor for disabled properties
        Object disable = databaseObjectPropertyDescriptor.getValue("disable");
        if ((disable != null) && (disable.equals(Boolean.TRUE)))
            propertyDescriptor = new InfoPropertyDescriptor(name, displayName);

    }

    // Default case
    if (propertyDescriptor == null) {
        propertyDescriptor = new TextPropertyDescriptor(name, displayName);
        //          propertyDescriptor.setValidator(new CompilableValueValidator(getValidator(name)));
    }

    if (propertyDescriptor != null) {
        final ILabelProvider labelProvider = propertyDescriptor.getLabelProvider();
        propertyDescriptor.setLabelProvider(new ILabelProvider() {

            @Override
            public void removeListener(ILabelProviderListener listener) {
                labelProvider.removeListener(listener);
            }

            @Override
            public boolean isLabelProperty(Object element, String property) {
                return labelProvider.isLabelProperty(element, property);
            }

            @Override
            public void dispose() {
                labelProvider.dispose();
            }

            @Override
            public void addListener(ILabelProviderListener listener) {
                labelProvider.addListener(listener);
            }

            @Override
            public String getText(Object element) {
                String text = labelProvider.getText(element);
                try {
                    String compiled = Engine.theApp.databaseObjectsManager.getCompiledValue(text);
                    if (!text.equals(compiled)) {
                        text += "  => " + compiled;
                    }
                } catch (UndefinedSymbolsException e) {
                    text += "  /!\\ undefined symbol /!\\";
                }
                return text;
            }

            @Override
            public Image getImage(Object element) {
                return labelProvider.getImage(element);
            }
        });
        String beanDescription = databaseObjectPropertyDescriptor.getShortDescription();
        String[] beanDescriptions = beanDescription.split("\\|");
        String beanShortDescription = beanDescriptions[0];

        if (isExtractionRule)
            propertyDescriptor
                    .setCategory(databaseObjectPropertyDescriptor.isExpert() ? "Selection" : "Configuration");
        else
            propertyDescriptor
                    .setCategory(databaseObjectPropertyDescriptor.isExpert() ? "Expert" : "Base properties");

        beanShortDescription = cleanDescription(beanShortDescription);
        propertyDescriptor.setDescription(beanShortDescription);
    }
    return propertyDescriptor;
}

From source file:org.eclipse.m2m.internal.qvt.oml.common.ui.dialogs.OpenClassifierDialog.java

License:Open Source License

protected ILabelProvider createLabelProvider() {
    final ILabelProvider provider = EMFProviderUtil.createLabelProvider();
    return new ILabelProvider() {

        public Image getImage(final Object element) {
            return provider.getImage(element);
        }/*from www.j  a va  2 s  .  co  m*/

        public String getText(final Object element) {
            if (element instanceof EClassifier) {
                EClassifier classifier = (EClassifier) element;
                return classifier.getName() + PACKAGE_SEPARATOR + EmfUtil.getFullName(classifier);
            }
            return null;
        }

        public void addListener(final ILabelProviderListener listener) {
            provider.addListener(listener);
        }

        public void dispose() {
            provider.dispose();
        }

        public boolean isLabelProperty(final Object element, final String property) {
            return provider.isLabelProperty(element, property);
        }

        public void removeListener(final ILabelProviderListener listener) {
            provider.removeListener(listener);
        }

    };
}

From source file:org.eclipse.m2m.internal.qvt.oml.common.ui.views.MetamodelBrowser.java

License:Open Source License

protected ILabelProvider createLabelProvider() {
    final ILabelProvider provider = EMFProviderUtil.createLabelProvider();
    return new ILabelProvider() {
        public void removeListener(final ILabelProviderListener listener) {
            provider.removeListener(listener);
        }/*from   www  . ja  v a  2  s . c  o  m*/

        public boolean isLabelProperty(final Object element, final String property) {
            return provider.isLabelProperty(((BrowserNode) element).getEObject(), property);
        }

        public void dispose() {
            provider.dispose();
        }

        public void addListener(final ILabelProviderListener listener) {
            provider.addListener(listener);
        }

        public String getText(final Object element) {
            BrowserNode node = (BrowserNode) element;
            String availableText = node.getText();
            if (availableText != null) {
                return availableText;
            }

            EObject eObject = ((BrowserNode) element).getEObject();
            if (myShowFullQualifiedNames && eObject instanceof EClassifier) {
                EClassifier eClassifier = (EClassifier) eObject;
                StringBuilder text = new StringBuilder();
                text.append(eClassifier.getName());
                if (eClassifier instanceof EClass) {
                    EClass eClass = (EClass) eClassifier;
                    if (!eClass.getESuperTypes().isEmpty()) {
                        text.append(EXTENDED_CLASSES);
                        for (Iterator<EClass> iter = eClass.getESuperTypes().iterator(); iter.hasNext();) {
                            EClass eSuperType = (EClass) iter.next();
                            text.append(EmfUtil.getFullName(eSuperType));
                            if (iter.hasNext()) {
                                text.append(EXTENDED_CLASSES_SEPARATOR);
                            }
                        }
                    }
                }
                if (eClassifier.getInstanceClassName() != null) {
                    text.append(INSTANCE_CLASS_NAME_START);
                    text.append(eClassifier.getInstanceClassName());
                    text.append(INSTANCE_CLASS_NAME_END);
                }
                return text.toString();
            }
            if (myShowFullQualifiedNames && eObject instanceof ETypedElement) {
                ETypedElement eTypedElement = (ETypedElement) eObject;
                StringBuilder text = new StringBuilder();
                text.append(eTypedElement.getName());
                if (eTypedElement instanceof EOperation) {
                    EOperation eOperation = (EOperation) eTypedElement;
                    text.append(PARAMETERS_START);
                    for (Iterator<EParameter> iter = eOperation.getEParameters().iterator(); iter.hasNext();) {
                        EParameter eParameter = (EParameter) iter.next();
                        text.append(EmfUtil.getFullName(eParameter.getEType()));
                        if (iter.hasNext()) {
                            text.append(PARAMETERS_SEPARATOR);
                        }
                    }
                    text.append(PARAMETERS_END);
                }
                if (eTypedElement.getEType() != null) {
                    text.append(NAME_AND_TYPE_SEPARATOR);
                    text.append(EmfUtil.getFullName(eTypedElement.getEType()));
                }
                return text.toString();
            }

            String text = provider.getText(eObject);
            if (eObject instanceof EPackage && eObject.eContainer() == null) {
                String nsURI = ((EPackage) eObject).getNsURI();
                if (nsURI != null && nsURI.length() > 0) {
                    text += " (" + ((EPackage) eObject).getNsURI() + ")"; //$NON-NLS-1$//$NON-NLS-2$
                }
            }
            return text;
        }

        public Image getImage(final Object element) {
            BrowserNode node = (BrowserNode) element;
            Image availableImage = node.getImage();
            if (availableImage != null) {
                return availableImage;
            }

            EObject eObject = node.getEObject();
            if (eObject instanceof EPackage) {
                Image image = MetamodelImageRegistry.INSTANCE.getImage((EPackage) eObject);
                if (image != null) {
                    return image;
                }
            }
            return provider.getImage(eObject);
        }

    };
}

From source file:org.eclipse.oomph.internal.ui.FindAndReplaceTarget.java

License:Open Source License

/**
 * This sets up a special label provider in the viewer to be able to highlight the scope and show the selected match.
 *//*from  w  w w  .j a va2 s . co m*/
protected void hookLabelProvider() {
    final StructuredViewer viewer = getViewer();

    // We use this special class so we can detect if the label provider is already hooked up.
    class DecoratingLabelProvider extends DelegatingStyledCellLabelProvider.FontAndColorProvider
            implements IStyledLabelProvider {
        public DecoratingLabelProvider(IStyledLabelProvider styledLabelProvider) {
            super(styledLabelProvider);
        }

        @Override
        public StyledString getStyledText(Object element) {
            return super.getStyledText(element);
        }
    }

    // If the label provider is already hooked up...
    final ILabelProvider labelProvider = (ILabelProvider) viewer.getLabelProvider();
    if (labelProvider instanceof DecoratingLabelProvider) {
        // Update the selection scope objects.
        if (selectionScopeObjects != null) {
            viewer.update(selectionScopeObjects.toArray(), null);
        }

        // Update the selected object if it's for a label.
        if (selectedItem != null && selectedItem.itemPropertyDescriptor == null) {
            viewer.update(selectedItem.data.object, null);
        }
    } else {
        // Create a styled label provider that can decorate the text.
        IStyledLabelProvider styledProvider = new DecoratingColumLabelProvider.StyledLabelProvider(
                labelProvider, new IStyledLabelDecorator() {
                    // Use the color from the theme that the editor uses to highlight the scope.
                    final Color color = workbenchPart.getSite().getWorkbenchWindow().getWorkbench()
                            .getThemeManager().getCurrentTheme().getColorRegistry()
                            .get("org.eclipse.ui.editors.findScope");

                    final Styler scopeStyler = new Styler() {
                        @Override
                        public void applyStyles(TextStyle textStyle) {
                            textStyle.background = color;
                        }
                    };

                    public void removeListener(ILabelProviderListener listener) {
                        labelProvider.removeListener(listener);
                    }

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

                    public void dispose() {
                        labelProvider.dispose();
                    }

                    public void addListener(ILabelProviderListener listener) {
                        labelProvider.addListener(listener);
                    }

                    public String decorateText(String text, Object element) {
                        if (labelProvider instanceof ILabelDecorator) {
                            ILabelDecorator labelDecorator = (ILabelDecorator) labelProvider;
                            return labelDecorator.decorateText(text, element);
                        }

                        return text;
                    }

                    public Image decorateImage(Image image, Object element) {
                        if (labelProvider instanceof ILabelDecorator) {
                            ILabelDecorator labelDecorator = (ILabelDecorator) labelProvider;
                            return labelDecorator.decorateImage(image, element);
                        }

                        return image;
                    }

                    public StyledString decorateStyledText(StyledString styledString, Object element) {
                        if (labelProvider instanceof IStyledLabelDecorator) {
                            IStyledLabelDecorator styledLabelDecorator = (IStyledLabelDecorator) labelProvider;
                            styledString = styledLabelDecorator.decorateStyledText(styledString, element);
                        }

                        // If we have a selected item, it's the item for the label, and this element is that selected element's object...
                        if (selectedItem != null && selectedItem.itemPropertyDescriptor == null
                                && element == selectedItem.data.object) {
                            // Convert the styled string to just a string.
                            String string = styledString.getString();

                            // Find the pattern match within that string.
                            Matcher matcher = selectedItemPattern.matcher(string);
                            if (matcher.find(selectedItemStart)) {
                                // Create a new styles string.
                                StyledString result = new StyledString();

                                // Recompose the string with the match styled to show a selection bod.
                                String group = matcher.group();
                                int start = matcher.start();
                                int end = matcher.end();
                                result.append(string.substring(0, start));
                                result.append(group, MATCH_STYLER);
                                result.append(string.substring(end));
                                return result;
                            }
                        }

                        // If we have scope objects and the element is one of those...
                        if (selectionScopeObjects != null && selectionScopeObjects.contains(element)) {
                            // Mark the entire string with the scope styling.
                            StyledString result = new StyledString();
                            result.append(styledString.getString(), scopeStyler);
                            return result;
                        }

                        // Otherwise just pass through the string.
                        return styledString;
                    }
                });

        // Hook up the label provider to be the one used by the view.
        ILabelProvider delegatingLabelProvider = new DecoratingLabelProvider(styledProvider);
        viewer.setLabelProvider(delegatingLabelProvider);
    }
}

From source file:pl.poznan.put.cs.gui4pddl.planview.ui.PlanView.java

License:Open Source License

private Object[] getSelectionDialogResult(Object[] elements, String title, String message) {
    final ILabelProvider labelProvider = DebugUITools.newDebugModelPresentation();
    ElementListSelectionDialog dialog = new ElementListSelectionDialog(Display.getDefault().getActiveShell(),
            new ILabelProvider() {
                public Image getImage(Object element) {
                    return labelProvider.getImage(element);
                }/* w  w w.j  a v a2 s  .com*/

                public String getText(Object element) {
                    return labelProvider.getText(element);
                }

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

                public void addListener(ILabelProviderListener listener) {
                    labelProvider.addListener(listener);
                }

                public void removeListener(ILabelProviderListener listener) {
                    labelProvider.removeListener(listener);
                }

                public void dispose() {
                    labelProvider.dispose();
                }
            });
    dialog.setElements(elements);
    dialog.setTitle(title);
    dialog.setMessage(message);
    dialog.setMultipleSelection(true);
    int result = dialog.open();
    labelProvider.dispose();
    if (result == Window.OK) {
        return dialog.getResult();
    }
    return null;
}

From source file:pl.poznan.put.cs.gui4pddl.runners.LaunchConfigurationCreator.java

License:Open Source License

private static Object getSelectionDialogResult(Object[] elements, String title, String message) {
    final ILabelProvider labelProvider = DebugUITools.newDebugModelPresentation();
    ElementListSelectionDialog dialog = new ElementListSelectionDialog(Display.getDefault().getActiveShell(),
            new ILabelProvider() {
                public Image getImage(Object element) {
                    return labelProvider.getImage(element);
                }/*from  w  w w . j a  v  a  2 s.  c  o m*/

                public String getText(Object element) {
                    IPath path = (IPath) element;
                    return path.lastSegment();
                }

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

                public void addListener(ILabelProviderListener listener) {
                    labelProvider.addListener(listener);
                }

                public void removeListener(ILabelProviderListener listener) {
                    labelProvider.removeListener(listener);
                }

                public void dispose() {
                    labelProvider.dispose();
                }
            });
    dialog.setElements(elements);
    dialog.setTitle(title);
    dialog.setMessage(message);
    dialog.setMultipleSelection(true);
    int result = dialog.open();
    labelProvider.dispose();
    if (result == Window.OK) {
        return dialog.getFirstResult();
    }
    return null;
}

From source file:pl.poznan.put.cs.gui4pddl.runners.PDDLLaunchShortcut.java

License:Open Source License

/**
 * COPIED/MODIFIED from AntLaunchShortcut
 *///  ww w  . jav  a2 s  .c om
protected ILaunchConfiguration chooseConfig(List<ILaunchConfiguration> configs) {
    if (configs.isEmpty()) {
        return null;
    }
    final ILabelProvider labelProvider = DebugUITools.newDebugModelPresentation();
    ElementListSelectionDialog dialog = new ElementListSelectionDialog(Display.getDefault().getActiveShell(),
            new ILabelProvider() {
                public Image getImage(Object element) {
                    return labelProvider.getImage(element);
                }

                public String getText(Object element) {
                    if (element instanceof ILaunchConfiguration) {
                        ILaunchConfiguration configuration = (ILaunchConfiguration) element;
                        try {
                            return labelProvider.getText(element) + "\nDomain: "
                                    + LaunchUtil.getDomainFile(configuration).getName() + "\nProblem: "
                                    + LaunchUtil.getProblemFile(configuration).getName() + "\n"
                                    + configuration.getAttribute(Constants.PLANNER_NAME, "") + "\n"
                                    + configuration.getAttribute(Constants.ARGUMENTS_NAME, "");
                        } catch (CoreException ex) {
                            // ignore
                        }
                    }
                    return labelProvider.getText(element);
                }

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

                public void addListener(ILabelProviderListener listener) {
                    labelProvider.addListener(listener);
                }

                public void removeListener(ILabelProviderListener listener) {
                    labelProvider.removeListener(listener);
                }

                public void dispose() {
                    labelProvider.dispose();
                }
            });
    dialog.setElements(configs.toArray(new ILaunchConfiguration[configs.size()]));
    dialog.setTitle("Pick a PDDL configuration");
    dialog.setMessage("Choose a PDDL configuration to run");
    dialog.setMultipleSelection(false);
    int result = dialog.open();
    labelProvider.dispose();
    if (result == Window.OK)
        return (ILaunchConfiguration) dialog.getFirstResult();
    else
        return null;
}