diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/RootContainerPositionRule.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/RootContainerPositionRule.java | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/RootContainerPositionRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/RootContainerPositionRule.java deleted file mode 100644 index 2901427aa..000000000 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/RootContainerPositionRule.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Sybase, Inc. 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: - * Sybase, Inc. - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.pagedesigner.validation.caret; - -import java.util.Arrays; - -import org.eclipse.gef.EditPart; -import org.eclipse.jst.pagedesigner.dom.EditModelQuery; -import org.w3c.dom.Document; -import org.w3c.dom.Node; - -/** - * This rule deal with containers 'body', 'view', 'subview'. - * - * @author mengbo - */ -public class RootContainerPositionRule extends DefaultPositionRule { - static final String[] HTML_ROOT_CONTAINERS = { "body" }; //$NON-NLS-1$ - - /** - * @param actionData - */ - public RootContainerPositionRule(ActionData actionData) { - super(actionData); - } - - /** - * 1. If anyone of the three containers exists, the target should be in the - * container. 2. If none of the containers exists, then target will be not - * restricted. - * - * @see org.eclipse.jst.pagedesigner.validation.caret.IPositionRule#hasEditableArea(org.eclipse.jst.pagedesigner.validation.caret.Target) - */ - public boolean hasEditableArea(Target target) { - EditPart part = target.getPart(); - if (part == null) { - return false; - } - Node node = target.getNode(); - if (hasBasicContainers(EditModelQuery.getDocumentNode(node))) { - return true;// isWithinkBasicContainer(node); - } - return super.hasEditableArea(target); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jst.pagedesigner.caret.IPositionRule#isEditable(org.eclipse.gef.EditPart) - */ - public boolean isEditable(Target target) { - Node node = target.getNode(); - if (hasBasicContainers(EditModelQuery.getDocumentNode(node))) { - boolean result = isWithinkBasicContainer(node); - return result; - } - return super.isEditable(target); - } - - /** - * We need to see if body, view are there. and they should be at first or - * second level. - * - * @param document - * @return true if the document has basic containers - */ - public static boolean hasBasicContainers(Document document) { - return getBasicContainer(document) != null; - - } - - private static boolean isWithinkBasicContainer(Node node) { - return EditModelQuery.isChild(HTML_ROOT_CONTAINERS, node, true, false); - } - - /** - * @param document - * @return the basic root container for the document or null - */ - public static Node getBasicContainer(Document document) { - Node node = EditModelQuery.getChild(document, HTML_ROOT_CONTAINERS, 2, - false); - if (node == null) { - node = EditModelQuery.getChild(document, HTML_ROOT_CONTAINERS, 2, - true); - } - return node; - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jst.pagedesigner.validation.caret.IPositionRule#canReference(org.eclipse.jst.pagedesigner.validation.caret.Target, - * boolean) - */ - public boolean canReference(Target target, boolean atRight) { - Node node = target.getNode(); - if (node.getLocalName() != null) { - if (Arrays.asList(HTML_ROOT_CONTAINERS).contains( - node.getLocalName().toLowerCase())) { - return EditModelQuery.isChild( - JSFRootContainerPositionRule.JSF_ROOT_CONTAINERS, node, - false, false); - } - } - return true; - } -} |