X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/folding/DefaultJavaFoldingStructureProvider.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/folding/DefaultJavaFoldingStructureProvider.java index 77a19ac..c06a287 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/folding/DefaultJavaFoldingStructureProvider.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/folding/DefaultJavaFoldingStructureProvider.java @@ -560,7 +560,13 @@ public class DefaultJavaFoldingStructureProvider implements IProjectionListener, // createProjection = true; // break; case IJavaElement.TYPE: - collapse = fAllowCollapsing && fCollapseInnerTypes && isInnerType((IType) element); + collapse = fAllowCollapsing; + if (isInnerType((IType) element)) { + collapse = collapse && fCollapseInnerTypes; + } + else { + collapse = false; //don't allow the most outer type to be folded, may be changed in future versions + } createProjection = true; break; case IJavaElement.METHOD: @@ -630,6 +636,7 @@ public class DefaultJavaFoldingStructureProvider implements IProjectionListener, return null; List regions = new ArrayList(); + // now add all comments first to the regions list if (fFirstType == null && element instanceof IType) { fFirstType = (IType) element; IRegion headerComment = computeHeaderComment(fFirstType); @@ -663,7 +670,8 @@ public class DefaultJavaFoldingStructureProvider implements IProjectionListener, } } } - regions.add(new Region(start, shift + range.getLength() - start)); + // at the end add the element region + regions.add(new Region(range.getOffset(), range.getLength())); if (regions.size() > 0) { IRegion[] result = new IRegion[regions.size()];