package com.sap.furcas.ide.editor;
//public class CtsTextHover extends DefaultTextHover {
//
// public CtsTextHover(ISourceViewer sourceViewer) {
// super(sourceViewer);
// }
//
// @Override
// public String getHoverInfo(ITextViewer viewer, IRegion hoverRegion) {
// String annotationText = super.getHoverInfo(viewer, hoverRegion);
// AbstractToken token = ((CtsDocument)viewer.getDocument()).getTextBlocksModelStore().getFloorToken(hoverRegion.getOffset());
// StringBuffer sb = new StringBuffer(annotationText == null ? "" : annotationText + "\n");
// if (token.getCorrespondingModelElements().size() > 0) {
// for (EObject element : token.getCorrespondingModelElements()) {
// sb.append("Corresponding element of Token: ").append(toString(element)).append("\n");
// }
// }
// if (token.getReferencedElements().size() > 0) {
// for (EObject element : token.getReferencedElements()) {
// sb.append("Referenced element of Token: ").append(toString(element)).append("\n");
// }
// }
// if (token.getParent().getCorrespondingModelElements().size() > 0){
// for (EObject element : token.getParent().getCorrespondingModelElements()) {
// sb.append("Corresponding element of Block: ").append(toString(element)).append("\n");
// }
// }
//
// if (token.getParent().getReferencedElements().size() > 0){
// for (EObject element : token.getParent().getReferencedElements()) {
// sb.append("Referenced element of Block: ").append(toString(element)).append("\n");
// }
// }
// return sb.toString();
// }
//
// private Object toString(EObject element) {
// StringBuffer sb = new StringBuffer();
// sb.append(element.eClass().eGet(EcorePackage.eINSTANCE.getENamedElement_Name()));
// EStructuralFeature nameFeature = element.eClass()
// .getEStructuralFeature("name");
// if (nameFeature != null) {
// Object value = element.eGet(nameFeature);
// sb.append(" Name:").append(value);
// }
// return sb.toString();
// }
//
// private void appendId(StringBuffer sb, EObject correspsondingME) {
// sb.append(" ID:");
// sb.append(EcoreUtil.getURI(correspsondingME));
// }
//
// @Override
// public IRegion getHoverRegion(ITextViewer viewer, int offset) {
// AbstractToken token = ((CtsDocument)viewer.getDocument()).getTextBlocksModelStore().getFloorToken(offset);
// IRegion region = new Region(TbUtil.getAbsoluteOffset(token), token.getLength());
// return region;
// }
//
//}