diff options
Diffstat (limited to 'bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/projection/CSSFoldingStrategy.java')
-rw-r--r-- | bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/projection/CSSFoldingStrategy.java | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/projection/CSSFoldingStrategy.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/projection/CSSFoldingStrategy.java deleted file mode 100644 index 03037e0771..0000000000 --- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/projection/CSSFoldingStrategy.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * - *******************************************************************************/ -package org.eclipse.wst.css.ui.internal.projection; - -import java.util.Iterator; -import java.util.List; - -import org.eclipse.jface.text.Position; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleRule; -import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion; -import org.eclipse.wst.sse.ui.internal.projection.AbstractStructuredFoldingStrategy; - -/** - * A folding strategy for CSS structured documents. - * See AbstractStructuredFoldingStrategy for more details. - */ -public class CSSFoldingStrategy extends AbstractStructuredFoldingStrategy { - - /** - * Create an instance of the folding strategy. - * Be sure to set the viewer and document after creation. - */ - public CSSFoldingStrategy() { - super(); - } - - /** - * @see org.eclipse.wst.sse.ui.internal.projection.AbstractFoldingStrategy#calcNewFoldPosition(org.eclipse.wst.sse.core.internal.provisional.IndexedRegion) - */ - protected Position calcNewFoldPosition(IndexedRegion indexedRegion) { - Position newPos = null; - - //only want to fold regions with a valid range - if(indexedRegion.getStartOffset() >= 0 && indexedRegion.getLength() >= 0) { - newPos = new CSSRuleFoldingPosition(indexedRegion); - } - return newPos; - } - - /** - * The same as the AbstractFoldingStrategy implementation except for the new position is - * calculated on the given IndexRegion and not the annotations stored IndexedRegion because - * of the way CSS regions are replaced when they are updated. - * - * (non-Javadoc) - * @see org.eclipse.wst.sse.ui.internal.projection.AbstractStructuredFoldingStrategy#updateAnnotations(java.util.Iterator, org.eclipse.wst.sse.core.internal.provisional.IndexedRegion, java.util.List, java.util.List) - */ - protected void updateAnnotations(Iterator existingAnnotationsIter, IndexedRegion dirtyRegion, - List modifications, List deletions) { - - while(existingAnnotationsIter.hasNext()) { - Object obj = existingAnnotationsIter.next(); - if(obj instanceof FoldingAnnotation) { - FoldingAnnotation annotation = (FoldingAnnotation)obj; - - //NOTE can not use the annotations stored region because the CSSStructuredDocument - // replaces the old region with a new one when it is modified - Position newPos = calcNewFoldPosition(annotation.getRegion()); - if(newPos != null) { - Position oldPos = fProjectionAnnotationModel.getPosition(annotation); - if(!newPos.equals(oldPos)) { - oldPos.setOffset(newPos.offset); - oldPos.setLength(newPos.length); - modifications.add(annotation); - } - } else { - deletions.add(annotation); - } - } - } - } - - /** - * @see org.eclipse.wst.sse.ui.internal.projection.AbstractFoldingStrategy#indexedRegionValidType(org.eclipse.wst.sse.core.internal.provisional.IndexedRegion) - */ - protected boolean indexedRegionValidType(IndexedRegion indexedRegion) { - return (indexedRegion instanceof ICSSStyleRule); - } -} |