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

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

Introduction

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

Prototype

public void addListener(ILabelProviderListener listener);

Source Link

Document

Adds a listener to this label provider.

Usage

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

License:Open Source License

/**
 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
 */// w w  w .  java  2  s  . c  o m
public void addListener(ILabelProviderListener listener) {
    if (this._currentProviders != null) {
        ILabelProvider labelProvider = this._currentProviders.labelProvider;

        if (labelProvider != null) {
            labelProvider.addListener(listener);
        }
    }
}

From source file:com.cubrid.common.ui.query.control.jface.contentassist.AbstractControlContentAssistSubjectAdapter.java

License:Open Source License

/**
 * Sets the visual feedback provider for content assist.
 * The given {@link ILabelProvider} methods are called with
 * {@link #getControl()} as argument.//from   w  w  w  .ja  v a2s .c  o m
 *
 * <ul>
 *   <li><code>getImage(Object)</code> provides the visual cue image.
 *     The image can maximally be 5 pixels wide and 8 pixels high.
 *     If <code>getImage(Object)</code> returns <code>null</code>, a default image is used.
 *   </li>
 *   <li><code>getText(Object)</code> provides the hover info text.
 *     It is shown when hovering over the cue image or the adapted {@link Control}.
 *     No info text is shown if <code>getText(Object)</code> returns <code>null</code>.
 *   </li>
 * </ul>
 * <p>
 * The given {@link ILabelProvider} becomes owned by the {@link AbstractControlContentAssistSubjectAdapter},
 * i.e. it gets disposed when the adapted {@link Control} is disposed
 * or when another {@link ILabelProvider} is set.
 * </p>
 *
 * @param labelProvider a {@link ILabelProvider}, or <code>null</code>
 *    if no visual feedback should be shown
 */
public void setContentAssistCueProvider(final ILabelProvider labelProvider) {
    if (fCueLabelProvider != null) {
        fCueLabelProvider.dispose();
    }

    fCueLabelProvider = labelProvider;

    if (labelProvider == null) {
        if (fControlDecoration != null) {
            fControlDecoration.dispose();
            fControlDecoration = null;
        }

    } else {
        if (fControlDecoration == null) {
            fControlDecoration = new ControlDecoration(getControl(), (SWT.TOP | SWT.LEFT));
            getControl().addDisposeListener(new DisposeListener() {
                public void widgetDisposed(DisposeEvent e) {
                    if (fCueLabelProvider != null) {
                        fCueLabelProvider.dispose();
                        fCueLabelProvider = null;
                    }
                    if (fControlDecoration != null) {
                        fControlDecoration.dispose();
                        fControlDecoration = null;
                    }
                    if (fCachedDefaultCueImage != null) {
                        fCachedDefaultCueImage.dispose();
                        fCachedDefaultCueImage = null;
                    }
                }
            });
            fControlDecoration.setShowHover(true);
            fControlDecoration.setShowOnlyOnFocus(true);
        }

        ILabelProviderListener listener = new ILabelProviderListener() {
            public void labelProviderChanged(LabelProviderChangedEvent event) {
                fControlDecoration.setDescriptionText(labelProvider.getText(getControl()));
                Image image = labelProvider.getImage(getControl());
                if (image == null)
                    image = getDefaultCueImage();
                fControlDecoration.setImage(image);
            }
        };
        labelProvider.addListener(listener);
        //initialize control decoration:
        listener.labelProviderChanged(new LabelProviderChangedEvent(labelProvider));
    }
}

From source file:com.google.dart.tools.ui.internal.search.SearchLabelProvider.java

License:Open Source License

@Override
public void addListener(ILabelProviderListener listener) {
    super.addListener(listener);
    for (Iterator<ILabelProvider> labelProviders = labelProviderMap.values().iterator(); labelProviders
            .hasNext();) {/*w  w  w  . ja  v a  2  s. c  o  m*/
        ILabelProvider labelProvider = labelProviders.next();
        labelProvider.addListener(listener);
    }
}

From source file:com.google.dart.tools.ui.internal.search.SearchLabelProvider.java

License:Open Source License

private ILabelProvider getLabelProvider(Object element) {
    AbstractTextSearchResult input = page.getInput();
    if (!(input instanceof DartSearchResult)) {
        return null;
    }//w w  w  .j  ava  2s  .com

    MatchPresentation participant = ((DartSearchResult) input).getSearchParticpant(element);
    if (participant == null) {
        return null;
    }

    ILabelProvider lp = labelProviderMap.get(participant);
    if (lp == null) {
        lp = participant.createLabelProvider();
        labelProviderMap.put(participant, lp);

        Object[] listeners = fListeners.getListeners();
        for (int i = 0; i < listeners.length; i++) {
            lp.addListener((ILabelProviderListener) listeners[i]);
        }
    }
    return lp;
}

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);
            }//from   ww  w . j  a  v  a  2  s  . 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 w ww  .ja  v a2s.  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  w  w  w  . ja v a 2s .co 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:ext.org.eclipse.jdt.internal.ui.search.SearchLabelProvider.java

License:Open Source License

@Override
public void addListener(ILabelProviderListener listener) {
    super.addListener(listener);
    for (Iterator<ILabelProvider> labelProviders = fLabelProviderMap.values().iterator(); labelProviders
            .hasNext();) {/*w  w w.j  a va2 s.  c  om*/
        ILabelProvider labelProvider = labelProviders.next();
        labelProvider.addListener(listener);
    }
}

From source file:ext.org.eclipse.jdt.internal.ui.search.SearchLabelProvider.java

License:Open Source License

private ILabelProvider getLabelProvider(Object element) {
    AbstractTextSearchResult input = fPage.getInput();
    if (!(input instanceof JavaSearchResult))
        return null;

    IMatchPresentation participant = ((JavaSearchResult) input).getSearchParticpant(element);
    if (participant == null)
        return null;

    ILabelProvider lp = fLabelProviderMap.get(participant);
    if (lp == null) {
        lp = participant.createLabelProvider();
        fLabelProviderMap.put(participant, lp);

        Object[] listeners = fListeners.getListeners();
        for (int i = 0; i < listeners.length; i++) {
            lp.addListener((ILabelProviderListener) listeners[i]);
        }// w  ww  . ja va2  s  . c  om
    }
    return lp;
}

From source file:org.eclipse.dltk.internal.ui.search.SearchLabelProvider.java

License:Open Source License

@Override
public void addListener(ILabelProviderListener listener) {
    super.addListener(listener);
    for (ILabelProvider labelProvider : fLabelProviderMap.values()) {
        labelProvider.addListener(listener);
    }//from w w w .  j  av a2s .c  om
}