Example usage for org.eclipse.jface.viewers StyledString QUALIFIER_STYLER

List of usage examples for org.eclipse.jface.viewers StyledString QUALIFIER_STYLER

Introduction

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

Prototype

Styler QUALIFIER_STYLER

To view the source code for org.eclipse.jface.viewers StyledString QUALIFIER_STYLER.

Click Source Link

Document

A built-in styler using the JFacePreferences#QUALIFIER_COLOR managed in the JFace color registry (See JFaceResources#getColorRegistry() ).

Usage

From source file:at.bestsolution.efxclipse.tooling.fxgraph.ui.contentassist.FXGraphProposalProvider.java

License:Open Source License

private void createCollectionPropnameProposals(IFXCollectionProperty prop, EObject model,
        ContentAssistContext context, EStructuralFeature typeReference, ICompletionProposalAcceptor acceptor) {
    ICompletionProposal p;//from  w  w  w  . j  a v a  2s.  com
    if (prop.isSetable()) {
        StyledString s = new StyledString(prop.getName() + " : " + prop.getCollectionAsString());
        s.append(" - " + prop.getFXClass().getSimpleName(), StyledString.QUALIFIER_STYLER);
        p = createCompletionProposal(prop.getName() + " : ", s, IconKeys.getIcon(IconKeys.LIST_KEY),
                getPropertiesProposalsProposals(), context.getPrefix(), context);
    } else {
        StyledString s = new StyledString(prop.getName() + " : ["
                + (prop.getElementType() != null ? prop.getElementType().getElementName() : "?") + "]");
        s.append(" - " + prop.getFXClass().getSimpleName(), StyledString.QUALIFIER_STYLER);
        p = createCompletionProposal(prop.getName() + " : []", s, IconKeys.getIcon(IconKeys.LIST_KEY),
                getPropertiesProposalsProposals(), context.getPrefix(), context);
    }

    if (p instanceof ConfigurableCompletionProposal) {
        ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
        cp.setAdditionalProposalInfo(model);
        cp.setHover(new HoverImpl(prop.getJavaElement()));

        if (!prop.isSetable()) {
            cp.setCursorPosition(cp.getCursorPosition() - 1);
        }
    }

    acceptor.accept(p);
}

From source file:at.bestsolution.efxclipse.tooling.fxgraph.ui.contentassist.FXGraphProposalProvider.java

License:Open Source License

private void createMapPropnameProposals(IFXMapProperty prop, EObject model, ContentAssistContext context,
        EStructuralFeature typeReference, ICompletionProposalAcceptor acceptor) {
    StyledString s = new StyledString(prop.getName() + " : {}");
    s.append(" - " + prop.getFXClass().getSimpleName(), StyledString.QUALIFIER_STYLER);
    ICompletionProposal p = createCompletionProposal(prop.getName() + " : ", s,
            IconKeys.getIcon(IconKeys.MAP_KEY), getPropertiesProposalsProposals(), context.getPrefix(),
            context);//w w  w  . j  a  va 2s.  c o m

    if (p instanceof ConfigurableCompletionProposal) {
        ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
        cp.setAdditionalProposalInfo(model);
        cp.setHover(new HoverImpl(prop.getJavaElement()));
    }

    acceptor.accept(p);
}

From source file:at.bestsolution.efxclipse.tooling.fxgraph.ui.contentassist.FXGraphProposalProvider.java

License:Open Source License

private void createEnumPropnameProposals(IFXEnumProperty prop, EObject model, ContentAssistContext context,
        EStructuralFeature typeReference, ICompletionProposalAcceptor acceptor) {
    if (prop.isStatic() && typeReference.equals(FXGraphPackage.Literals.ELEMENT__STATIC_PROPERTIES)) {
        StyledString s = new StyledString();
        s.append("(static) ", StyledString.COUNTER_STYLER);
        s.append(prop.getFXClass().getSimpleName() + "." + prop.getName() + " : "
                + prop.getEnumTypeAsString(false));
        s.append(" - " + prop.getFXClass().getSimpleName(), StyledString.QUALIFIER_STYLER);

        context = context.copy().setMatcher(new StaticPrefixMatcher(context.getMatcher())).toContext();

        ICompletionProposal p = createCompletionProposal("static " + prop.getName() + " : ", s,
                IconKeys.getIcon(IconKeys.FIELD_KEY), getPropertiesProposalsProposals() - 10,
                context.getPrefix(), context);

        if (p instanceof ConfigurableCompletionProposal) {
            ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
            cp.setAdditionalProposalInfo(model);
            cp.setHover(new HoverImpl(prop.getJavaElement()));
        }//from  ww w.j a  v a2 s.co  m

        acceptor.accept(p);
    } else {
        StyledString s = new StyledString(prop.getName() + " : " + prop.getEnumTypeAsString(false));
        s.append(" - " + prop.getFXClass().getSimpleName(), StyledString.QUALIFIER_STYLER);
        ICompletionProposal p = createCompletionProposal(prop.getName() + " : ", s,
                IconKeys.getIcon(IconKeys.FIELD_KEY), getPropertiesProposalsProposals(), context.getPrefix(),
                context);

        if (p instanceof ConfigurableCompletionProposal) {
            ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
            cp.setAdditionalProposalInfo(model);
            cp.setHover(new HoverImpl(prop.getJavaElement()));
        }

        acceptor.accept(p);
    }
}

From source file:at.bestsolution.efxclipse.tooling.fxgraph.ui.contentassist.FXGraphProposalProvider.java

License:Open Source License

private void createEventHandlerPropnameProposals(IFXEventHandlerProperty prop, EObject model,
        ContentAssistContext context, EStructuralFeature typeReference, ICompletionProposalAcceptor acceptor) {
    StyledString s = new StyledString(prop.getName() + " : " + prop.getEventTypeAsString(false));
    s.append(" - " + prop.getFXClass().getSimpleName(), StyledString.QUALIFIER_STYLER);
    ICompletionProposal p = createCompletionProposal(prop.getName() + " : ", s,
            IconKeys.getIcon(IconKeys.EVENT_KEY), getPropertiesProposalsProposals(), context.getPrefix(),
            context);/*from  w  w w  .  j  a  v  a2s.  c  om*/

    if (p instanceof ConfigurableCompletionProposal) {
        ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
        cp.setAdditionalProposalInfo(model);
        cp.setHover(new HoverImpl(prop.getJavaElement()));
    }

    acceptor.accept(p);
}

From source file:at.bestsolution.efxclipse.tooling.fxgraph.ui.contentassist.FXGraphProposalProvider.java

License:Open Source License

private void createObjectPropnameProposals(IFXObjectProperty prop, EObject model, ContentAssistContext context,
        EStructuralFeature typeReference, ICompletionProposalAcceptor acceptor) {
    if (prop.isStatic() && typeReference.equals(FXGraphPackage.Literals.ELEMENT__STATIC_PROPERTIES)) {
        StyledString s = new StyledString();
        s.append("(static) ", StyledString.COUNTER_STYLER);
        s.append(prop.getFXClass().getSimpleName() + "." + prop.getName() + " : "
                + prop.getElementTypeAsString(false));
        s.append(" - " + prop.getFXClass().getSimpleName(), StyledString.QUALIFIER_STYLER);

        context = context.copy().setMatcher(new StaticPrefixMatcher(context.getMatcher())).toContext();

        ICompletionProposal p = createCompletionProposal("static " + prop.getName() + " : ", s,
                IconKeys.getIcon(IconKeys.FIELD_KEY), getPropertiesProposalsProposals() - 10,
                context.getPrefix(), context);

        if (p instanceof ConfigurableCompletionProposal) {
            ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
            cp.setAdditionalProposalInfo(model);
            cp.setHover(new HoverImpl(prop.getJavaElement()));
        }//ww  w  .  ja  va 2  s .  c  om

        acceptor.accept(p);
    } else {
        StyledString s = new StyledString(prop.getName() + " : " + prop.getElementTypeAsString(false));
        s.append(" - " + prop.getFXClass().getSimpleName(), StyledString.QUALIFIER_STYLER);
        ICompletionProposal p = createCompletionProposal(prop.getName() + " : ", s,
                IconKeys.getIcon(IconKeys.FIELD_KEY), getPropertiesProposalsProposals(), context.getPrefix(),
                context);

        if (p instanceof ConfigurableCompletionProposal) {
            ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
            cp.setAdditionalProposalInfo(model);
            cp.setHover(new HoverImpl(prop.getJavaElement()));
        }

        acceptor.accept(p);
    }
}

From source file:at.bestsolution.efxclipse.tooling.fxgraph.ui.contentassist.FXGraphProposalProvider.java

License:Open Source License

private void createPrimitivePropnameProposals(IFXPrimitiveProperty prop, EObject model,
        ContentAssistContext context, EStructuralFeature typeReference, ICompletionProposalAcceptor acceptor) {
    String typeName;/*from   w  ww  .  j a va2 s  . c o m*/
    String proposalValue = prop.getName() + " : ";
    switch (prop.getType()) {
    case BOOLEAN:
        typeName = "boolean";
        break;
    case BYTE:
        typeName = "byte";
        break;
    case CHAR:
        typeName = "char";
        break;
    case DOUBLE:
        typeName = "double";
        break;
    case FLOAT:
        typeName = "float";
        break;
    case INTEGER:
        typeName = "integer";
        break;
    case LONG:
        typeName = "long";
        break;
    case SHORT:
        typeName = "short";
        break;
    default:
        typeName = "String";
        proposalValue += "\"\"";
        break;
    }

    if (prop.isStatic() && typeReference.equals(FXGraphPackage.Literals.ELEMENT__STATIC_PROPERTIES)) {
        StyledString s = new StyledString();
        s.append("(static) ", StyledString.COUNTER_STYLER);
        s.append(prop.getFXClass().getSimpleName() + "." + prop.getName() + " : " + typeName);
        s.append(" - " + prop.getFXClass().getSimpleName(), StyledString.QUALIFIER_STYLER);

        proposalValue = "static " + proposalValue;

        context = context.copy().setMatcher(new StaticPrefixMatcher(context.getMatcher())).toContext();

        ICompletionProposal p = createCompletionProposal(proposalValue, s, IconKeys.getIcon(IconKeys.FIELD_KEY),
                getPropertiesProposalsProposals() - 10, context.getPrefix(), context);

        if (p instanceof ConfigurableCompletionProposal) {
            ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
            cp.setAdditionalProposalInfo(model);
            cp.setHover(new HoverImpl(prop.getJavaElement()));
        }

        acceptor.accept(p);
    } else {
        StyledString s = new StyledString(prop.getName() + " : " + typeName);
        s.append(" - " + prop.getFXClass().getSimpleName(), StyledString.QUALIFIER_STYLER);

        if (proposalValue.equals("id : \"\"")) {
            proposalValue = "^" + proposalValue;
        }

        context = context.copy().setMatcher(new EscapePrefixMatcher(context.getMatcher())).toContext();
        ICompletionProposal p = createCompletionProposal(proposalValue, s, IconKeys.getIcon(IconKeys.FIELD_KEY),
                getPropertiesProposalsProposals(), context.getPrefix(), context);

        if (p instanceof ConfigurableCompletionProposal) {
            ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
            cp.setAdditionalProposalInfo(model);
            cp.setHover(new HoverImpl(prop.getJavaElement()));
            if (prop.getType() == Type.STRING) {
                cp.setCursorPosition(cp.getCursorPosition() - 1);
            }
        }

        acceptor.accept(p);
    }
}

From source file:at.bestsolution.efxclipse.tooling.fxgraph.ui.contentassist.FXGraphProposalProvider.java

License:Open Source License

private void createEnumPropvalueProposals(IFXEnumProperty prop, EObject model, ContentAssistContext context,
        EReference typeReference, ICompletionProposalAcceptor acceptor) {
    IType t = prop.getEnumType();//from  www  .  j  a v  a  2 s.  co m
    if (t != null) {
        try {
            for (IField f : t.getFields()) {
                if (Flags.isEnum(f.getFlags())) {
                    ICompletionProposal p = createCompletionProposal("\"" + f.getElementName() + "\"",
                            new StyledString(f.getElementName()).append(" - " + prop.getEnumTypeAsString(false),
                                    StyledString.QUALIFIER_STYLER),
                            IconKeys.getIcon(IconKeys.ENUM_KEY), getPriorityHelper().getDefaultPriority(),
                            "\"" + context.getPrefix(), context);
                    if (p instanceof ConfigurableCompletionProposal) {
                        ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
                        cp.setAdditionalProposalInfo(model);
                        cp.setHover(new HoverImpl(f));
                    }

                    acceptor.accept(p);
                }
            }
        } catch (JavaModelException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

From source file:at.bestsolution.efxclipse.tooling.fxgraph.ui.contentassist.FXGraphProposalProvider.java

License:Open Source License

@Override
public void completeBindValueProperty_Attribute(EObject model, Assignment assignment,
        ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
    BindValueProperty b = (BindValueProperty) model;
    if (b.getElementReference() != null && b.getElementReference().getType() != null) {
        Property property = (Property) b.eContainer();
        Element targetClass = (Element) property.eContainer();
        Element element = b.getElementReference();

        try {//w  w  w .  j  av  a 2  s .  com
            IJavaProject javaProject = projectProvider.getJavaProject(element.eResource().getResourceSet());
            IType sourceType = javaProject.findType(element.getType().getQualifiedName());
            IType targetType = javaProject.findType(targetClass.getType().getQualifiedName());

            IFXClass fxSourceClazz = FXPlugin.getClassmodel().findClass(javaProject, sourceType);
            IFXClass fxTargetClass = FXPlugin.getClassmodel().findClass(javaProject, targetType);
            IFXProperty targetProperty = fxTargetClass.getProperty(property.getName());

            if (targetProperty instanceof IFXPrimitiveProperty) {
                IFXPrimitiveProperty pp = (IFXPrimitiveProperty) targetProperty;
                for (IFXProperty sourceProp : fxSourceClazz.getAllProperties().values()) {
                    if (sourceProp instanceof IFXEventHandlerProperty) {
                        continue;
                    }

                    boolean select = false;
                    if (pp.getType() == Type.STRING) {
                        select = true;
                    } else {
                        if (sourceProp instanceof IFXPrimitiveProperty) {
                            IFXPrimitiveProperty sp = (IFXPrimitiveProperty) sourceProp;
                            if (pp.getType() == Type.BOOLEAN) {
                                select = sp.getType() == Type.BOOLEAN;
                            } else if (sp.getType() != Type.STRING && sp.getType() != Type.BOOLEAN) {
                                select = true;
                            }
                        }
                    }

                    if (select) {
                        String typeName = "";
                        if (sourceProp instanceof IFXPrimitiveProperty) {
                            IFXPrimitiveProperty sp = (IFXPrimitiveProperty) sourceProp;
                            if (sp.getType() == Type.STRING) {
                                typeName = "String";
                            } else {
                                typeName = sp.getType().jvmType();
                            }
                        } else if (sourceProp instanceof IFXCollectionProperty) {
                            typeName = ((IFXCollectionProperty) sourceProp).getCollectionAsString();
                        } else if (sourceProp instanceof IFXEnumProperty) {
                            typeName = ((IFXEnumProperty) sourceProp).getEnumTypeAsString(false);
                        } else if (sourceProp instanceof IFXMapProperty) {
                            typeName = "{}";
                        } else if (sourceProp instanceof IFXObjectProperty) {
                            typeName = ((IFXObjectProperty) sourceProp).getElementTypeAsString(false);
                        }

                        StyledString s = new StyledString(sourceProp.getName() + " : " + typeName);
                        s.append(" - " + sourceProp.getFXClass().getSimpleName(),
                                StyledString.QUALIFIER_STYLER);
                        ICompletionProposal cp = createCompletionProposal(sourceProp.getName(), s,
                                IconKeys.getIcon(IconKeys.FIELD_KEY), getPropertiesProposalsProposals(),
                                context.getPrefix(), context);
                        acceptor.accept(cp);
                    }
                }
            }
        } catch (JavaModelException e1) {
            LOGGER.error("Unable to extract java informations", e1);
        }
    }
}

From source file:at.bestsolution.efxclipse.tooling.fxgraph.ui.contentassist.FXGraphProposalProvider.java

License:Open Source License

@Override
public void completeControllerHandledValueProperty_Methodname(EObject model, Assignment assignment,
        ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
    if (!model.eResource().getContents().isEmpty()) {
        Model m = (Model) model.eResource().getContents().get(0);
        if (m.getComponentDef() != null) {
            if (m.getComponentDef().getController() != null) {
                if (model.eContainer() instanceof Property) {
                    Property property = (Property) model.eContainer();
                    if (property.eContainer() instanceof Element) {
                        try {
                            Element element = (Element) property.eContainer();
                            IJavaProject javaProject = projectProvider
                                    .getJavaProject(element.eResource().getResourceSet());
                            IType ownerType = javaProject.findType(element.getType().getQualifiedName());
                            IFXClass fxOwnerClazz = FXPlugin.getClassmodel().findClass(javaProject, ownerType);
                            IFXProperty ownerProperty = fxOwnerClazz.getProperty(property.getName());

                            if (ownerProperty instanceof IFXEventHandlerProperty) {
                                IFXEventHandlerProperty p = (IFXEventHandlerProperty) ownerProperty;
                                IType ctrlType = javaProject
                                        .findType(m.getComponentDef().getController().getQualifiedName());
                                IFXCtrlClass ctrlClass = FXPlugin.getClassmodel().findCtrlClass(javaProject,
                                        ctrlType);
                                for (IFXCtrlEventMethod ctrlMethod : ctrlClass.getAllEventMethods().values()) {
                                    StyledString s = null;
                                    if (!ctrlMethod.hasArgument()) {
                                        s = new StyledString(ctrlMethod.getName() + "()");
                                    } else {
                                        if (Util.assignable(p.getEventType(), ctrlMethod.getArgumentType())) {
                                            s = new StyledString(ctrlMethod.getName() + "("
                                                    + p.getEventTypeAsString(false) + ")");
                                        }
                                    }//from w w w.  j  av a  2  s .  c om

                                    if (s != null) {
                                        s.append(" - " + ctrlClass.getSimpleName(),
                                                StyledString.QUALIFIER_STYLER);
                                        Image img = null;

                                        switch (ctrlMethod.getVisibility()) {
                                        case PUBLIC:
                                            img = IconKeys.getIcon(IconKeys.METHOD_PUBLIC_KEY);
                                            break;
                                        case PACKAGE:
                                            img = IconKeys.getIcon(IconKeys.METHOD_DEFAULT_KEY);
                                            break;
                                        case PROTECTED:
                                            img = IconKeys.getIcon(IconKeys.METHOD_PROTECTED_KEY);
                                            break;
                                        default:
                                            img = IconKeys.getIcon(IconKeys.METHOD_PRIVATE_KEY);
                                            break;
                                        }

                                        ICompletionProposal cp = createCompletionProposal(ctrlMethod.getName(),
                                                s, img, context);
                                        acceptor.accept(cp);
                                    }

                                }
                            }

                        } catch (JavaModelException e) {
                            LOGGER.error("Unable to autocomplete list value", e);
                        }
                    }
                }
            }
        }
    }
}

From source file:at.bestsolution.efxclipse.tooling.fxgraph.ui.contentassist.FXGraphProposalProvider.java

License:Open Source License

@Override
public void completeReferenceValueProperty_Reference(EObject model, Assignment assignment,
        ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
    if (!model.eResource().getContents().isEmpty()) {
        Model m = (Model) model.eResource().getContents().get(0);
        if (m.getComponentDef() != null) {
            for (Define d : m.getComponentDef().getDefines()) {
                Element element = d.getElement();
                boolean includeType = false;
                if (element == null) {
                    element = d.getIncludeElement().getSource().getRootNode();
                    includeType = true;//from  w w  w. j ava  2  s  . c o m
                }
                IJavaProject javaProject = projectProvider.getJavaProject(element.eResource().getResourceSet());
                try {
                    IType defType = javaProject.findType(element.getType().getQualifiedName());
                    ReferenceValueProperty rp = (ReferenceValueProperty) model;

                    IType targetType = null;
                    if (rp.eContainer() instanceof Property) {
                        Property p = (Property) rp.eContainer();
                        if (p.eContainer() instanceof Element) {
                            Element e = (Element) p.eContainer();
                            IType ownerType = javaProject.findType(e.getType().getQualifiedName());
                            IFXClass ownerClass = FXPlugin.getClassmodel().findClass(javaProject, ownerType);
                            IFXProperty ownerProp = ownerClass.getProperty(p.getName());
                            if (ownerProp instanceof IFXObjectProperty) {
                                targetType = ((IFXObjectProperty) ownerProp).getElementType();
                            }
                        }
                    } else if (rp.eContainer() instanceof StaticCallValueProperty) {
                        LOGGER.warn("Unable to extract type for " + rp.eContainer());
                    } else if (rp.eContainer() instanceof ListValueProperty) {
                        ListValueProperty lvp = (ListValueProperty) rp.eContainer();
                        if (lvp.eContainer() instanceof Property) {
                            Property p = (Property) lvp.eContainer();
                            if (p.eContainer() instanceof Element) {
                                Element e = (Element) p.eContainer();
                                IType ownerType = javaProject.findType(e.getType().getQualifiedName());
                                IFXClass ownerClass = FXPlugin.getClassmodel().findClass(javaProject,
                                        ownerType);
                                IFXProperty ownerProp = ownerClass.getProperty(p.getName());
                                if (ownerProp instanceof IFXCollectionProperty) {
                                    targetType = ((IFXCollectionProperty) ownerProp).getElementType();
                                }
                            }
                        } else {
                            LOGGER.warn("Unable to extract type for " + rp.eContainer());
                        }
                    }

                    if (targetType != null) {
                        if (Util.assignable(defType, targetType)) {
                            StyledString s = new StyledString(
                                    includeType ? d.getIncludeElement().getName() : element.getName());
                            s.append(" - " + defType.getElementName(), StyledString.QUALIFIER_STYLER);
                            acceptor.accept(createCompletionProposal(
                                    includeType ? d.getIncludeElement().getName() : element.getName(), s,
                                    IconKeys.getIcon(IconKeys.CLASS_KEY), context));
                        }
                    }
                } catch (JavaModelException e) {
                    LOGGER.error("Unable to extract define type", e);
                }
            }
        }
    }
}