package at.bestsolution.efxclipse.tooling.fxgraph.ui.util.prop; import java.util.ArrayList; import java.util.List; import org.eclipse.jdt.core.Flags; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.IMethod; import org.eclipse.jdt.core.IType; import org.eclipse.jdt.core.JavaModelException; import at.bestsolution.efxclipse.tooling.fxgraph.ui.util.JDTHelper.HoverImpl; import at.bestsolution.efxclipse.tooling.fxgraph.ui.util.JDTHelper.Proposal; public class KeyCombinationProvider implements IProposalProvider { private List<String> list = new ArrayList<String>(); public KeyCombinationProvider() { list.add("\"<mod>+<key>\""); } protected IMethod findMethod(IJavaProject jp) { try { IType t = jp.findType("javafx.scene.input.KeyCombination"); for( IMethod m : t.getMethods() ) { if( Flags.isStatic(m.getFlags()) && "valueOf".equals(m.getElementName()) ) { return m; } } } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } @Override public List<Proposal> getProposals(IJavaProject jp) { List<Proposal> rv = new ArrayList<Proposal>(); HoverImpl h = null; IMethod m = findMethod(jp); if( m != null ) { h = new HoverImpl(m); } for( String s : list ) { Proposal p = new Proposal(s); p.hover = h; } return rv; } }