if( t != null ) {
return createHover(t, object, viewer, region);
}
}
} else if( object instanceof Property ) {
Property p = (Property) object;
if( p.eContainer() instanceof Element ) {
Element e = (Element) p.eContainer();
if( e.getType() != null ) {
IType t = getJDTType(e.getType().getType());
if( t != null ) {
IFXClass fxClass = FXPlugin.getClassmodel().findClass(t.getJavaProject(), t);
if( fxClass != null ) {
IFXProperty fxp = fxClass.getProperty(p.getName());
if( fxp != null ) {
return createHover(fxp.getJavaElement(), object, viewer, region);
}
}
}
}
}
} else if( object instanceof StaticCallValueProperty ) {
StaticCallValueProperty sp = (StaticCallValueProperty) object;
if( sp.getType() != null ) {
IType t = getJDTType(sp.getType().getType());
if( t != null ) {
IFXClass fxClass = FXPlugin.getClassmodel().findClass(t.getJavaProject(), t);
if( fxClass != null ) {
IFXProperty fxp = fxClass.getStaticProperty(sp.getName());
if( fxp != null ) {
return createHover(fxp.getJavaElement(), object, viewer, region);
}
}
}
}
} else if( object instanceof StaticValueProperty ) {
StaticValueProperty sp = (StaticValueProperty) object;
EObject eo = sp.eContainer();
Element target = null;
while( eo.eContainer() != null ) {
if( eo.eContainer() instanceof Element ) {
target = (Element) eo.eContainer();
break;
}
eo = eo.eContainer();
}
if( target != null ) {
if( target.getType() != null ) {
IType t = getJDTType(target.getType().getType());
if( t != null ) {
IFXClass fxClass = FXPlugin.getClassmodel().findClass(t.getJavaProject(), t);
if( fxClass != null ) {
IFXProperty fxp = fxClass.getStaticProperty(sp.getName());
if( fxp != null ) {
return createHover(fxp.getJavaElement(), object, viewer, region);
}
}
}
}
}
} else if( object instanceof ValueProperty ) {
if( object instanceof ControllerHandledValueProperty ) {
ControllerHandledValueProperty cp = (ControllerHandledValueProperty) object;
Model m = (Model) object.eResource().getContents().get(0);
if( m != null ) {
ComponentDefinition def = m.getComponentDef();
if( def != null ) {
if( def.getController() != null && def.getController().getType() != null) {
IType t = getJDTType(def.getController().getType());
if( t != null ) {
IFXCtrlClass fxClass = FXPlugin.getClassmodel().findCtrlClass(t.getJavaProject(), t);
if( fxClass != null ) {
IFXCtrlEventMethod fxp = fxClass.getAllEventMethods().get(cp.getMethodname());
if( fxp != null ) {
return createHover(fxp.getJavaElement(), object, viewer, region);
}
}
}
}
}
}
} else if( object instanceof SimpleValueProperty ) {
SimpleValueProperty sp = (SimpleValueProperty) object;
if( sp.eContainer() instanceof Property && sp.getStringValue() != null ) {
Property p = (Property) sp.eContainer();
if( p.eContainer() instanceof Element ) {
Element e = (Element) p.eContainer();
if( e.getType() != null ) {
IType t = getJDTType(e.getType().getType());
if( t != null ) {
IFXClass fxClass = FXPlugin.getClassmodel().findClass(t.getJavaProject(), t);
if( fxClass != null ) {
IFXProperty fxp = fxClass.getProperty(p.getName());
if( fxp instanceof IFXEnumProperty ) {
IType enumType = ((IFXEnumProperty) fxp).getEnumType();
try {
for (IField f : enumType.getFields()) {
if (Flags.isEnum(f.getFlags())) {