mirror of https://github.com/Minres/RDL-Editor.git
27 lines
911 B
Plaintext
27 lines
911 B
Plaintext
|
package com.minres.rdl.ui
|
||
|
|
||
|
import org.eclipse.emf.ecore.EObject
|
||
|
import org.eclipse.xtext.ui.editor.hover.html.DefaultEObjectHoverProvider
|
||
|
import com.minres.rdl.rdl.ComponentDefinition
|
||
|
import com.minres.rdl.rdl.ComponentInstance
|
||
|
import com.minres.rdl.rdl.ImmediateInstantiation
|
||
|
import com.minres.rdl.rdl.NamedInstantiation
|
||
|
|
||
|
class RDLEObjectHoverProvider extends DefaultEObjectHoverProvider {
|
||
|
override protected String getFirstLine(EObject o) {
|
||
|
switch(o){
|
||
|
ComponentDefinition: return 'Component '+o.name+' of type '+o.type.literal
|
||
|
ComponentInstance: {
|
||
|
val parent = o.eContainer
|
||
|
if (parent instanceof ImmediateInstantiation) {
|
||
|
val compDef = parent.eContainer as ComponentDefinition
|
||
|
return compDef.type.literal+' '+o.name
|
||
|
} else if (parent instanceof NamedInstantiation) {
|
||
|
return parent.component.type.literal+' '+o.name
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return super.getFirstLine(o)
|
||
|
}
|
||
|
}
|