diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/ColumnElementEdit.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/ColumnElementEdit.java | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/ColumnElementEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/ColumnElementEdit.java deleted file mode 100644 index 78affcf74..000000000 --- a/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/ColumnElementEdit.java +++ /dev/null @@ -1,156 +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.jsf.ui.elementedit.jsfhtml; - -import java.util.Iterator; - -import org.eclipse.draw2d.geometry.Point; -import org.eclipse.draw2d.geometry.Rectangle; -import org.eclipse.gef.EditPart; -import org.eclipse.gef.EditPartViewer; -import org.eclipse.gef.EditPolicy; -import org.eclipse.gef.GraphicalEditPart; -import org.eclipse.jst.jsf.common.dom.TagIdentifier; -import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants; -import org.eclipse.jst.pagedesigner.editpolicies.ColumnHelper; -import org.eclipse.jst.pagedesigner.editpolicies.ColumnResizableEditPolicy; -import org.eclipse.jst.pagedesigner.parts.ElementEditPart; -import org.eclipse.jst.pagedesigner.parts.NodeEditPart; -import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator; -import org.eclipse.jst.pagedesigner.validation.caret.Target; -import org.eclipse.jst.pagedesigner.viewer.CaretPositionResolver; -import org.eclipse.jst.pagedesigner.viewer.DefaultDropLocationStrategy; -import org.eclipse.jst.pagedesigner.viewer.DesignPosition; -import org.eclipse.jst.pagedesigner.viewer.IDropLocationStrategy; -import org.w3c.dom.Element; - -/** - * @author mengbo - * @version 1.5 - */ -public class ColumnElementEdit extends DefaultJSFHTMLElementEdit -{ - - /* (non-Javadoc) - * @see org.eclipse.jst.pagedesigner.elementedit.AbstractElementEdit#handleModelChange(org.w3c.dom.Element, org.eclipse.jst.pagedesigner.parts.ElementEditPart) - */ - public boolean handleModelChange(Element ele, ElementEditPart part, boolean recursive) - { - EditPart parent = part.getParent(); - if (parent instanceof ElementEditPart) - { - ((ElementEditPart) parent).refreshModelChange(recursive); - return true; - } - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.jst.pagedesigner.elementedit.IElementEdit#createEditPolicies(org.eclipse.jst.pagedesigner.parts.ElementEditPart) - */ - public void createEditPolicies(ElementEditPart part) - { - part.installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new ColumnResizableEditPolicy()); - } - - public IDropLocationStrategy getDropRequestorLocationStrategy(TagIdentifier tag, EditPartViewer viewer) { - return new MyDropLocationStrategy(viewer); - } - - private static class MyDropLocationStrategy extends DefaultDropLocationStrategy - { - /** - * @param viewer - */ - public MyDropLocationStrategy(EditPartViewer viewer) { - super(viewer); - } - - public DesignPosition calculateDesignPosition(EditPart target, - Point p, IPositionMediator validator) - { - // get the nearest ancestor part to target that is - // editable or target if it is editable - target = validator.getEditableContainer(new Target(target)); - - // target must be an element part - if (target instanceof ElementEditPart) - { - // can only try to drop a column into a table. If we are - // targetting a column, then we can see if its table will take it - TagIdentifier tagId = ((ElementEditPart)target).getTagIdentifier(); - - if (IJSFConstants.TAG_IDENTIFIER_DATA_TABLE.isSameTagType(tagId)) - { - // if we're on the table, try to figure out which column we are above - for (Iterator it = target.getChildren().iterator(); it.hasNext();) - { - final NodeEditPart nodeEditPart = (NodeEditPart) it.next(); - TagIdentifier tagId2 = nodeEditPart.getTagIdentifier(); - - if (IJSFConstants.TAG_IDENTIFIER_COLUMN.isSameTagType(tagId2)) - { - final Rectangle columnBounds = - ColumnHelper.getAdjustedColumnBoundingRectangle(nodeEditPart); - if (columnBounds.contains(p)) - { - target = nodeEditPart; - break; - } - } - } - } - - // recalculate the id because it may have changed - tagId = ((ElementEditPart)target).getTagIdentifier(); - - if (IJSFConstants.TAG_IDENTIFIER_COLUMN.isSameTagType(tagId)) - { - DesignPosition position = null; - final Rectangle columnBounds = - ColumnHelper.getAdjustedColumnBoundingRectangle((GraphicalEditPart) target); - if (CaretPositionResolver.toXMiddle(columnBounds, p) < 0) - { - position = DesignPosition.createPositionBeforePart(target); - } - else - { - position = DesignPosition.createPositionAfterPart(target); - } - - - if (validator.isValidPosition(position)) - { - return position; - } - } - } - - // otherwise, no valid position - return null; - } - - protected Rectangle createCaretBounds(DesignPosition position) { - Rectangle bounds = super.createCaretBounds(position); - - // we want to extend the insert caret to be the height of the column container (i.e. dataTable) - // and positioned so it starts at the top of the container in the column where the insertion will occur - GraphicalEditPart parent = - (GraphicalEditPart) position.getContainerPart(); - Rectangle containerBounds = parent.getFigure().getBounds().getCopy(); - parent.getFigure().translateToAbsolute(containerBounds); - bounds.height = containerBounds.height; - bounds.y = containerBounds.y; - return bounds; - } - } -} |