Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/elementedit/PanelTabbedElementEdit.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/elementedit/PanelTabbedElementEdit.java248
1 files changed, 0 insertions, 248 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/elementedit/PanelTabbedElementEdit.java b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/elementedit/PanelTabbedElementEdit.java
deleted file mode 100644
index dc086aaac..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/elementedit/PanelTabbedElementEdit.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/**
- * Copyright (c) 2008 Oracle 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:
- * Oracle Corporation - initial API and implementation
- */
-package org.eclipse.jst.jsf.apache.trinidad.tagsupport.elementedit;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.requests.DropRequest;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.jst.jsf.apache.trinidad.tagsupport.ITrinidadConstants;
-import org.eclipse.jst.jsf.apache.trinidad.tagsupport.TrinidadUtils;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.jst.pagedesigner.editpolicies.DragMoveEditPolicy;
-import org.eclipse.jst.pagedesigner.editpolicies.ElementResizableEditPolicy;
-import org.eclipse.jst.pagedesigner.itemcreation.ItemCreationEditPolicy;
-import org.eclipse.jst.pagedesigner.itemcreation.ItemCreationRequest;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.tools.ObjectModeDragTracker;
-import org.eclipse.jst.pagedesigner.validation.caret.ActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.DefaultPositionRule;
-import org.eclipse.jst.pagedesigner.validation.caret.DnDPositionValidator;
-import org.eclipse.jst.pagedesigner.validation.caret.DropActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.Target;
-import org.eclipse.jst.pagedesigner.validation.caret.DropActionData.DropData;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * IElementEdit implementation for Trinidad's panelTabbed tag.
- *
- * @author Ian Trimble - Oracle
- */
-public class PanelTabbedElementEdit extends DefaultTrinidadCoreElementEdit {
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.elementedit.AbstractElementEdit#createEditPolicies(org.eclipse.jst.pagedesigner.parts.ElementEditPart)
- */
- @Override
- public void createEditPolicies(ElementEditPart part) {
- part.installEditPolicy(
- EditPolicy.SELECTION_FEEDBACK_ROLE,
- new PanelTabbedElementResizableEditPolicy());
- part.installEditPolicy(
- EditPolicy.PRIMARY_DRAG_ROLE,
- new PanelTabbedDragMoveEditPolicy());
- part.installEditPolicy(
- ItemCreationRequest.REQ_ITEM_CREATION,
- new PanelTabbedItemCreationEditPolicy());
- }
-
- /**
- * Extends ElementResizableEditPolicy to determine if tab is clicked and
- * respond accordingly.
- *
- * @author Ian Trimble - Oracle
- */
- public static class PanelTabbedElementResizableEditPolicy extends ElementResizableEditPolicy {
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.editpolicies.ElementResizableEditPolicy#getSelectionDragTracker(org.eclipse.gef.requests.LocationRequest)
- */
- @Override
- public DragTracker getSelectionDragTracker(LocationRequest request) {
- return getSelectionTracker(request);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.editpolicies.ElementResizableEditPolicy#getSelectionTracker(org.eclipse.gef.requests.LocationRequest)
- */
- @Override
- protected DragTracker getSelectionTracker(LocationRequest request) {
- final GraphicalEditPart part = (GraphicalEditPart)getHost();
- if (part instanceof NodeEditPart) {
- final Node node = ((NodeEditPart)part).getDOMNode();
- if (getShowDetailItemCount(node) > 0) {
- ObjectModeDragTracker dragTracker = new ObjectModeDragTracker(getHost()) {
- protected boolean handleButtonDown(int button) {
- if (button == 1) {
- final int tabIndex = getTabIndex(getLocation());
- final EditPart editPart = getSourceEditPart();
- if (editPart instanceof ElementEditPart) {
- final Node node = ((ElementEditPart)editPart).getDOMNode();
- if (TrinidadUtils.setCurrentChildIndex(node, tabIndex)) {
- ((ElementEditPart)editPart).refresh(true);
- }
- }
- }
- return super.handleButtonDown(button);
- }
- };
- return dragTracker;
- }
- }
- return new ObjectModeDragTracker(getHost());
- }
-
- private int getTabIndex(Point location) {
- int tabIndex = -1;
- final GraphicalEditPart part = (GraphicalEditPart)getHost();
- if (part instanceof NodeEditPart) {
- final Node node = ((NodeEditPart)part).getDOMNode();
- final IFigure figure = part.getFigure();
- Point relLocation = location.getCopy();
- figure.translateToRelative(relLocation);
- final int showDetailItemCount = getShowDetailItemCount(node);
- if (showDetailItemCount > 0) {
- final int tabWidth = figure.getBounds().width / showDetailItemCount;
- tabIndex = relLocation.x / tabWidth;
- if (tabIndex > showDetailItemCount - 1) {
- tabIndex = showDetailItemCount - 1;
- }
- }
- }
- return tabIndex;
- }
-
- private int getShowDetailItemCount(Node node) {
- int count = 0;
- if (node != null) {
- NodeList childNodes = node.getChildNodes();
- for (int i = 0; i < childNodes.getLength(); i++) {
- Node childNode = childNodes.item(i);
- if (childNode instanceof Element) {
- if (ITrinidadConstants.TAG_IDENTIFIER_SHOWDETAILITEM.isSameTagType(
- TagIdentifierFactory.createDocumentTagWrapper((Element)childNode))) {
- count++;
- }
- }
- }
- }
- return count;
- }
-
- }
-
- /**
- * Extends DragMoveEditPolicy to add OnlyShowDetailItemsRule as a rule.
- *
- * @author Ian Trimble - Oracle
- */
- public static class PanelTabbedDragMoveEditPolicy extends DragMoveEditPolicy {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.editpolicies.DropEditPolicy#createDropChildValidator(org.eclipse.gef.requests.DropRequest)
- */
- @Override
- protected IPositionMediator createDropChildValidator(DropRequest r) {
- DropData dropData = createDropData(r);
- if (dropData != null) {
- DnDPositionValidator validator =
- new DnDPositionValidator(new DropActionData(
- ActionData.COMPONENT_MOVE, dropData));
- validator.addRule(new OnlyShowDetailItemsRule(validator.getActionData()));
- return validator;
- }
- return null;
- }
-
- }
-
- /**
- * Extends ItemCreationEditPolicy to add OnlyShowDetailItemsRule as a rule.
- *
- * @author Ian Trimble - Oracle
- */
- public static class PanelTabbedItemCreationEditPolicy extends ItemCreationEditPolicy {
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.editpolicies.DropEditPolicy#createDropChildValidator(org.eclipse.gef.requests.DropRequest)
- */
- @Override
- protected IPositionMediator createDropChildValidator(DropRequest r) {
- DropData dropData = createDropData(r);
- if (dropData != null) {
- DnDPositionValidator validator =
- new DnDPositionValidator(new DropActionData(
- ActionData.PALETTE_DND, dropData));
- validator.addRule(new OnlyShowDetailItemsRule(validator.getActionData()));
- return validator;
- }
- return null;
- }
-
- }
-
- /**
- * Extends DefaultPositionRule to only allow showDetailItem tags to be
- * dropped on panelTabbed tag.
- *
- * @author Ian Trimble - Oracle
- */
- private static class OnlyShowDetailItemsRule extends DefaultPositionRule {
-
- /**
- * Instantiates an instance.
- *
- * @param actionData ActionData instance.
- */
- public OnlyShowDetailItemsRule(ActionData actionData) {
- super(actionData);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.validation.caret.DefaultPositionRule#isEditable(org.eclipse.jst.pagedesigner.validation.caret.Target)
- */
- @Override
- public boolean isEditable(Target target) {
- if (ITrinidadConstants.TAG_IDENTIFIER_PANELTABBED.isSameTagType(
- target.getTagWrapper())) {
- return isDataDroppable();
- }
- return true;
- }
-
- private boolean isDataDroppable() {
- ActionData actionData = getActionData();
- if (actionData instanceof DropActionData) {
- DropActionData dropActionData = (DropActionData)actionData;
- TagIdentifier tagIdentifier =
- (TagIdentifier)dropActionData.getDropData().getTagIdentifiers().get(0);
- if (ITrinidadConstants.TAG_IDENTIFIER_SHOWDETAILITEM.isSameTagType(
- tagIdentifier)) {
- return true;
- }
- }
- return false;
- }
-
- }
-
-}

Back to the top