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

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

Introduction

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

Prototype

public StyledString(String string) 

Source Link

Document

Creates an StyledString initialized with a string without a style associated.

Usage

From source file:at.bestsolution.eclipse.properties.PropertyContentOutlinePage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    super.createControl(parent);
    TreeViewer viewer = getTreeViewer();
    viewer.setLabelProvider(new StyledCellLabelProvider() {
        @Override//from  ww w.  j a v a 2s.  c om
        public void update(ViewerCell cell) {
            Object element = cell.getElement();
            if (element instanceof PropertyGroup) {
                cell.setText(((PropertyGroup) element).name);
                cell.setImage(Activator.getDefault().getImageRegistry().get(Activator.GROUP_ICON));
                cell.setStyleRanges(null);
            } else if (element instanceof Property) {
                cell.setImage(Activator.getDefault().getImageRegistry().get(Activator.KEY_ICON));
                StyledString s = new StyledString(((Property) element).pair.key);
                String text = ((Property) element).pair.value;
                if (text.length() > 20) {
                    text = text.substring(0, 20) + "...";
                }
                s.append(" : " + text, StyledString.DECORATIONS_STYLER);
                cell.setStyleRanges(s.getStyleRanges());
                cell.setText(s.getString());
            }
            super.update(cell);
        }
    });

    viewer.setContentProvider(new HierarchicalContentProvider());

    if (isSorted()) {
        setSorted(true);
    }

    createHierarchicalStructure();

    if (isHierarchical()) {
        viewer.setInput(hierarchicalStructure);
    } else {
        viewer.setInput(flatStructure);
    }
}

From source file:at.bestsolution.efxclipse.tooling.css.ui.contentassist.CssDslProposalProvider.java

License:Open Source License

private void addProposals(List<Proposal> proposals, ICompletionProposalAcceptor acceptor,
        ContentAssistContext context) {//from w w  w .  j ava 2s .c  o  m
    for (Proposal proposal : proposals) {
        if (proposal instanceof DialogProposal) {
            final DialogProposal dProp = (DialogProposal) proposal;
            ConfigurableCompletionProposal dialogProposal = (ConfigurableCompletionProposal) createCompletionProposal(
                    proposal.getLabel(), context);
            if (dialogProposal != null) {
                dialogProposal.setTextApplier(new ReplacementTextApplier() {

                    @Override
                    public String getActualReplacementString(ConfigurableCompletionProposal proposal) {
                        return dProp.openProposal();
                    }
                });
            }
            acceptor.accept(dialogProposal);
        } else {
            acceptor.accept(createCompletionProposal(proposal.getLabel(), new StyledString(proposal.getLabel()),
                    null, proposal.getPriority(), context.getPrefix(), context));
        }
    }
}

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  ww  w  .  j a v  a2s  . c o m*/
    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);//from  www .ja va  2 s. 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 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 av  a2s .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 createEnumPropvalueProposals(IFXEnumProperty prop, EObject model, ContentAssistContext context,
        EReference typeReference, ICompletionProposalAcceptor acceptor) {
    IType t = prop.getEnumType();// w w w.  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

private void createObjectPropvalueProposals(IFXObjectProperty prop, final EObject model,
        ContentAssistContext context, EReference typeReference, ICompletionProposalAcceptor acceptor) {
    String type = prop.getElementTypeAsString(true);

    if ("java.lang.Boolean".equals(type)) {
        ICompletionProposal p = createCompletionProposal("true", context);
        if (p instanceof ConfigurableCompletionProposal) {
            ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
            cp.setAdditionalProposalInfo(model);
            cp.setHover(new HoverImpl(prop.getValueOfMethod()));
        }//www  .  ja v  a 2 s  .  com
        acceptor.accept(p);

        p = createCompletionProposal("false", context);
        if (p instanceof ConfigurableCompletionProposal) {
            ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
            cp.setAdditionalProposalInfo(model);
            cp.setHover(new HoverImpl(prop.getValueOfMethod()));
        }
        acceptor.accept(p);
    } else if (isIntegerType(type)) {
        ICompletionProposal p = createCompletionProposal("1", context);

        if (p instanceof ConfigurableCompletionProposal) {
            ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
            cp.setAdditionalProposalInfo(model);
            cp.setHover(new HoverImpl(prop.getJavaElement()));
        }
        acceptor.accept(p);
    } else if (isDoubleType(type)) {
        ICompletionProposal p = createCompletionProposal("1.0", context);

        if (p instanceof ConfigurableCompletionProposal) {
            ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
            cp.setAdditionalProposalInfo(model);
            cp.setHover(new HoverImpl(prop.getJavaElement()));
        }
        acceptor.accept(p);
    } else {
        if (prop.hasValueOf()) {
            ICompletionProposal p = createCompletionProposal("\"\"", new StyledString("\"<String>\""), null,
                    getPriorityHelper().getDefaultPriority() + 1, context.getPrefix(), context);

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

            acceptor.accept(p);

            for (IValueOfContributor contrib : valueOfCollector
                    .getContributors(prop.getElementTypeAsString(true))) {
                for (Proposal vProp : contrib.getProposals()) {
                    int prio = getPriorityHelper().getDefaultPriority() + vProp.getPriority() + 2;
                    p = createCompletionProposal("\"" + vProp.getValue() + "\"",
                            new StyledString(vProp.getValue()), IconKeys.getIcon(IconKeys.VALUE_OF_KEY), prio,
                            "\"" + context.getPrefix(), context);

                    if (p instanceof ConfigurableCompletionProposal) {
                        if (vProp instanceof DialogProposal) {
                            ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) p;
                            final DialogProposal dProp = (DialogProposal) vProp;
                            cp.setTextApplier(new ReplacementTextApplier() {
                                @Override
                                public String getActualReplacementString(
                                        ConfigurableCompletionProposal proposal) {
                                    return "\"" + dProp.openDialogValue() + "\"";
                                }
                            });
                        }
                    }
                    acceptor.accept(p);
                }
            }

        }

        IType jdtSuperType = prop.getElementType();
        if (jdtSuperType != null) {
            final IJvmTypeProvider tProvider = jdtTypeProvider
                    .findOrCreateTypeProvider(model.eResource().getResourceSet());
            JvmType superType = tProvider.findTypeByName(jdtSuperType.getFullyQualifiedName());
            Filter f = new FXClassFilter(projectProvider.getJavaProject(model.eResource().getResourceSet()));
            typeProposalProviders.createSubTypeProposals(superType, this, context, typeReference, f, acceptor);
        }
    }
}

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

License:Open Source License

@Override
public void completeResourceValueProperty_Value(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().getPreviewResourceBundle() != null) {
                File f = RelativeFileLocator.locateFile(model.eResource().getURI(),
                        m.getComponentDef().getPreviewResourceBundle());
                Properties p = null;
                if (f != null) {
                    FileInputStream fi = null;
                    try {
                        fi = new FileInputStream(f);
                        p = new Properties();
                        p.load(fi);/*from  w w w. j ava 2 s . c om*/
                    } catch (FileNotFoundException e) {
                        LOGGER.warn("Unable to load resource bundle", e);
                    } catch (IOException e) {
                        LOGGER.warn("Unable to load resource bundle", e);
                    } finally {
                        if (fi != null) {
                            try {
                                fi.close();
                            } catch (IOException e) {
                                LOGGER.error("Unable to close resource filehandle", e);
                            }
                        }
                    }
                }
                if (p != null) {
                    for (String k : p.stringPropertyNames()) {
                        StyledString s = new StyledString(k);
                        s.append(" - " + p.getProperty(k), StyledString.DECORATIONS_STYLER);
                        acceptor.accept(createCompletionProposal("\"" + k + "\"", s,
                                IconKeys.getIcon(IconKeys.EXTERNALIZED_STRING_KEY), context));
                    }
                }
            }
        }
    }
}

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

License:Open Source License

@Override
public void completeBindValueProperty_ElementReference(EObject model, Assignment assignment,
        ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
    TreeIterator<EObject> it = model.eResource().getAllContents();
    while (it.hasNext()) {
        EObject o = it.next();// ww  w  . j ava2 s. c o  m
        if (o instanceof Element) {
            Element e = (Element) o;
            if (e.getName() != null && e.getName().trim().length() > 0) {
                StyledString s = new StyledString(e.getName());
                s.append(" - " + e.getType().getQualifiedName(), StyledString.DECORATIONS_STYLER);
                acceptor.accept(createCompletionProposal(e.getName(), s, IconKeys.getIcon(IconKeys.CLASS_KEY),
                        context));
            }
        }
    }
}

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 {//from w w w .j  a va2 s.co m
            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);
        }
    }
}