eclipse plugin: Migrade the FoldingRegionProvider as well

This commit is contained in:
Timotei Dolean 2011-07-15 21:08:38 +00:00
parent 0913e25cfc
commit 530ca4265a

View file

@ -8,36 +8,24 @@
*******************************************************************************/
package org.wesnoth.ui.folding;
import java.util.List;
import org.eclipse.core.runtime.Assert;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.text.Position;
import org.eclipse.xtext.nodemodel.ICompositeNode;
import org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider;
import org.eclipse.xtext.ui.editor.model.IXtextDocument;
import org.wesnoth.wml.WMLKey;
import org.wesnoth.wml.WMLTextdomain;
public class WMLFoldingRegionProvider extends DefaultFoldingRegionProvider
{
@Override
protected void addFoldingRegions(IXtextDocument xtextDocument,
EObject eObject, List<IFoldingRegion> foldingRegions)
{
super.addFoldingRegions(xtextDocument, eObject, foldingRegions);
}
@Override
protected Position getPosition(IXtextDocument xtextDocument,
ICompositeNode compositeNode)
{
Assert.isNotNull(compositeNode, "parameter 'compositeNode' must not be null"); //$NON-NLS-1$
if (compositeNode.getElement() instanceof WMLKey &&
((WMLKey)compositeNode.getElement()).getEol() != null &&
((WMLKey)compositeNode.getElement()).getEol().length() > 0)
return null;
else if (compositeNode.getElement() instanceof WMLTextdomain)
return null;
return super.getPosition(xtextDocument, compositeNode);
}
@Override
protected boolean isHandled( EObject eObject )
{
if ( eObject instanceof WMLTextdomain )
return false;
else if ( eObject instanceof WMLKey ) {
WMLKey key = ( WMLKey ) eObject;
if ( !key.getEol( ).isEmpty( ) )
return false;
}
return super.isHandled( eObject );
}
}