Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/DataTableElementEdit.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/DataTableElementEdit.java487
1 files changed, 0 insertions, 487 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/DataTableElementEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/DataTableElementEdit.java
deleted file mode 100644
index 5025fb402..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/DataTableElementEdit.java
+++ /dev/null
@@ -1,487 +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 java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.requests.DropRequest;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.pagedesigner.actions.single.SelectEditPartAction;
-import org.eclipse.jst.pagedesigner.editors.PageDesignerActionConstants;
-import org.eclipse.jst.pagedesigner.editpolicies.DragMoveEditPolicy;
-import org.eclipse.jst.pagedesigner.editpolicies.ElementResizableEditPolicy;
-import org.eclipse.jst.pagedesigner.jsf.core.dom.JSFDOMUtil;
-import org.eclipse.jst.pagedesigner.jsf.ui.JSFUIPlugin;
-import org.eclipse.jst.pagedesigner.jsf.ui.actions.DeleteHColumnHeaderFooterAction;
-import org.eclipse.jst.pagedesigner.jsf.ui.actions.DeleteHeaderFooterAction;
-import org.eclipse.jst.pagedesigner.jsf.ui.actions.InsertHColumnHeaderFooterAction;
-import org.eclipse.jst.pagedesigner.jsf.ui.actions.InsertHeaderFooterAction;
-import org.eclipse.jst.pagedesigner.jsf.ui.commands.jsfhtml.DataTableDeleteColumnCommand;
-import org.eclipse.jst.pagedesigner.jsf.ui.commands.jsfhtml.DataTableDeleteColumnHeaderCommand;
-import org.eclipse.jst.pagedesigner.jsf.ui.commands.jsfhtml.DataTableDeleteHeaderCommand;
-import org.eclipse.jst.pagedesigner.jsf.ui.commands.jsfhtml.DataTableInsertColumnCommand;
-import org.eclipse.jst.pagedesigner.jsf.ui.commands.jsfhtml.DataTableInsertColumnHeaderCommand;
-import org.eclipse.jst.pagedesigner.jsf.ui.commands.jsfhtml.DataTableInsertHeaderCommand;
-import org.eclipse.jst.pagedesigner.jsf.ui.elementedit.request.DeleteHColumnHeaderFooterRequest;
-import org.eclipse.jst.pagedesigner.jsf.ui.elementedit.request.DeleteHeaderFooterRequest;
-import org.eclipse.jst.pagedesigner.jsf.ui.elementedit.request.InsertHColumnHeaderFooterRequest;
-import org.eclipse.jst.pagedesigner.jsf.ui.elementedit.request.InsertHeaderFooterRequest;
-import org.eclipse.jst.pagedesigner.jsf.ui.elementedit.util.DataTableUtil;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.tableedit.DeleteRowColumnAction;
-import org.eclipse.jst.pagedesigner.tableedit.InsertRowColumnAction;
-import org.eclipse.jst.pagedesigner.tableedit.TableInsertRequest;
-import org.eclipse.jst.pagedesigner.tableedit.TableResizeRequest;
-import org.eclipse.jst.pagedesigner.tableedit.TableRowColumnDeleteRequest;
-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.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DataTableElementEdit extends DefaultJSFHTMLElementEdit
-{
- private final static Action EMPTY_ACTION = new Action()
- {
- // TODO: why?
- };
- private final static int FAKE_INDEX = -10;
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEdit#fillContextMenu(org.eclipse.jface.action.IMenuManager, org.w3c.dom.Element)
- */
- public void fillContextMenu(IMenuManager contextMenu, Element ele)
- {
- super.fillContextMenu(contextMenu, ele);
-
- final IMenuManager tableMenu = new MenuManager(JSFUIPlugin.getResourceString("ElementEdit.Submenu.DataTable"));//$NON-NLS-1$
- final ElementEditPart editPart = (ElementEditPart) ((IDOMElement) ele).getAdapterFor(EditPart.class);
- // ok, we passed the checking, now let's create the actions.
- tableMenu.add(EMPTY_ACTION);
- tableMenu.addMenuListener(new IMenuListener()
- {
- public void menuAboutToShow(IMenuManager manager)
- {
- tableMenu.removeAll();
- fillTableMenu(editPart, FAKE_INDEX, tableMenu);
- }
- });
-
- contextMenu.appendToGroup(PageDesignerActionConstants.GROUP_CONTAINER, tableMenu);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEdit#fillContainerContextMenu(org.eclipse.jface.action.IMenuManager, org.eclipse.jst.pagedesigner.parts.ElementEditPart, org.eclipse.jst.pagedesigner.parts.NodeEditPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean fillContainerContextMenu(IMenuManager contextMenu, final ElementEditPart elePart,
- NodeEditPart nodePart, ISelection innerSelection)
- {
- Element table = (Element) elePart.getModel();
- Node node = (Node) nodePart.getModel();
-
- DataTableUtil util = new DataTableUtil(table);
- Element columnParent = util.findHColumnParent(node);
-
- final int cellColumn = util.getColumnIndex(columnParent);
-
- final IMenuManager tableMenu = new MenuManager(JSFUIPlugin.getResourceString("ElementEdit.Submenu.DataTable"));//$NON-NLS-1$
-
- // ok, we passed the checking, now let's create the actions.
- tableMenu.add(EMPTY_ACTION);
- tableMenu.addMenuListener(new IMenuListener()
- {
- public void menuAboutToShow(IMenuManager manager)
- {
- tableMenu.removeAll();
- fillTableMenu(elePart, cellColumn, tableMenu);
- }
- });
-
- contextMenu.appendToGroup(PageDesignerActionConstants.GROUP_CONTAINER, tableMenu);
- return true;
-
- }
-
- /**
- * @param elePart
- * @param cellColumn
- * @param tableMenu
- */
- private void fillTableMenu(ElementEditPart elePart, int cellColumn, IMenuManager tableMenu)
- {
- SelectEditPartAction action = SelectEditPartAction.create(JSFUIPlugin
- .getResourceString("ElementEdit.Submenu.DataTable.SelectTable"), elePart);//$NON-NLS-1$
- tableMenu.add(action);
-
- tableMenu.add(new Separator());
-
- {
- InsertRowColumnAction insertColumnBeforeAction = new InsertRowColumnAction(JSFUIPlugin
- .getResourceString("ElementEdit.Submenu.DataTable.InsertColumnBefore"), //$NON-NLS-1$
- elePart, cellColumn, false, true);
- tableMenu.add(insertColumnBeforeAction);
-
- InsertRowColumnAction insertColumnAfterAction = new InsertRowColumnAction(JSFUIPlugin
- .getResourceString("ElementEdit.Submenu.DataTable.InsertColumnAfter"),//$NON-NLS-1$
- elePart, cellColumn, false, false);
- tableMenu.add(insertColumnAfterAction);
-
- tableMenu.add(new Separator());
- }
-
- {
- DeleteRowColumnAction deleteColumnAction = new DeleteRowColumnAction(JSFUIPlugin
- .getResourceString("ElementEdit.Submenu.DataTable.DeleteColumn"), //$NON-NLS-1$
- elePart, cellColumn, false);
- tableMenu.add(deleteColumnAction);
- tableMenu.add(new Separator());
- }
-
- {
- InsertHeaderFooterAction headerAction = new InsertHeaderFooterAction(JSFUIPlugin
- .getResourceString("ElementEdit.Submenu.InsertTableHeader"), elePart, true);//$NON-NLS-1$
- tableMenu.add(headerAction);
-
- InsertHeaderFooterAction footerAction = new InsertHeaderFooterAction(JSFUIPlugin
- .getResourceString("ElementEdit.Submenu.InsertTableFooter"), elePart, false);//$NON-NLS-1$
- tableMenu.add(footerAction);
-
- DeleteHeaderFooterAction delHeaderAction = new DeleteHeaderFooterAction(JSFUIPlugin
- .getResourceString("ElementEdit.Submenu.DeleteTableHeader"), elePart, true);//$NON-NLS-1$
- tableMenu.add(delHeaderAction);
-
- DeleteHeaderFooterAction delFooterAction = new DeleteHeaderFooterAction(JSFUIPlugin
- .getResourceString("ElementEdit.Submenu.DeleteTableFooter"), elePart, false);//$NON-NLS-1$
- tableMenu.add(delFooterAction);
- tableMenu.add(new Separator());
- }
-
- {
- InsertHColumnHeaderFooterAction hColHeaderAction = new InsertHColumnHeaderFooterAction(JSFUIPlugin
- .getResourceString("ElementEdit.Submenu.InsertColumnHeader"),//$NON-NLS-1$
- elePart, true);
- tableMenu.add(hColHeaderAction);
-
- InsertHColumnHeaderFooterAction hColFooterAction = new InsertHColumnHeaderFooterAction(JSFUIPlugin
- .getResourceString("ElementEdit.Submenu.InsertColumnFooter"),//$NON-NLS-1$
- elePart, false);
- tableMenu.add(hColFooterAction);
-
- DeleteHColumnHeaderFooterAction delColHeader = new DeleteHColumnHeaderFooterAction(JSFUIPlugin
- .getResourceString("ElementEdit.Submenu.DeleteColumnHeader"),//$NON-NLS-1$
- elePart, true);
- tableMenu.add(delColHeader);
-
- DeleteHColumnHeaderFooterAction delColFooter = new DeleteHColumnHeaderFooterAction(JSFUIPlugin
- .getResourceString("ElementEdit.Submenu.DeleteColumnFooter"),//$NON-NLS-1$
- elePart, false);
- tableMenu.add(delColFooter);
- }
- }
-
- /* (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 DataTableResizePolicy(part));
- part.installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE,
- new MyDragMoveEditPolicy());
- }
-
- static class DataTableResizePolicy extends ElementResizableEditPolicy
- {
- private static final String COLUMN_SELECT_IMAGE_FILE = "column_select.gif"; //$NON-NLS-1$
-
- ElementEditPart _part;
- Cursor _columnSelectCursor;
-
- /**
- * @param part
- */
- public DataTableResizePolicy(ElementEditPart part)
- {
- _part = part;
- }
-
- public void deactivate() {
- super.deactivate();
- if (_columnSelectCursor != null && !_columnSelectCursor.isDisposed())
- {
- _columnSelectCursor.dispose();
- _columnSelectCursor = null;
- }
- }
-
- private Cursor getColumnSelectCursor()
- {
- if (_columnSelectCursor == null)
- {
- final Image cursorImage = JSFUIPlugin.getDefault().getImage(COLUMN_SELECT_IMAGE_FILE);
- _columnSelectCursor = new Cursor(null, cursorImage.getImageData(), 2, 5);
- }
-
- return _columnSelectCursor;
- }
- /* (non-Javadoc)
- * @see org.eclipse.gef.editpolicies.ResizableEditPolicy#getCommand(org.eclipse.gef.Request)
- */
- public Command getCommand(Request request)
- {
- IHTMLGraphicalViewer viewer = (IHTMLGraphicalViewer) _part.getViewer();
- Element dataTable = (Element) _part.getIDOMNode();
- if (request instanceof TableResizeRequest)
- {
- return super.getCommand(request);
- }
- else if (request instanceof TableInsertRequest)
- {
- TableInsertRequest tableInsertRequest = (TableInsertRequest) request;
- if (tableInsertRequest.isRow())
- {
- // don't support insert row.
- return null;
- }
- int index = tableInsertRequest.getIndex() + (tableInsertRequest.isBefore() ? 0 : 1);
- return new DataTableInsertColumnCommand(viewer, dataTable, index);
- }
- else if (request instanceof InsertHeaderFooterRequest)
- {
- InsertHeaderFooterRequest req = (InsertHeaderFooterRequest) request;
- boolean isHeader = req.isHeader();
- return new DataTableInsertHeaderCommand(viewer, dataTable, isHeader);
- }
- else if (request instanceof DeleteHeaderFooterRequest)
- {
- DeleteHeaderFooterRequest req = (DeleteHeaderFooterRequest) request;
- boolean isHeader = req.isHeader();
- return new DataTableDeleteHeaderCommand(viewer, dataTable, isHeader);
- }
- else if (request instanceof InsertHColumnHeaderFooterRequest)
- {
- InsertHColumnHeaderFooterRequest req = (InsertHColumnHeaderFooterRequest) request;
- boolean isHeader = req.isHeader();
- return new DataTableInsertColumnHeaderCommand(viewer, dataTable, isHeader);
- }
- else if (request instanceof DeleteHColumnHeaderFooterRequest)
- {
- DeleteHColumnHeaderFooterRequest req = (DeleteHColumnHeaderFooterRequest) request;
- boolean isHeader = req.isHeader();
- return new DataTableDeleteColumnHeaderCommand(viewer, dataTable, isHeader);
- }
- else if (request instanceof TableRowColumnDeleteRequest)
- {
- TableRowColumnDeleteRequest deleteReq = (TableRowColumnDeleteRequest) request;
- if (deleteReq.isRow())
- {
- return null;
- }
- return new DataTableDeleteColumnCommand(viewer, dataTable, deleteReq.getIndex());
- }
- return super.getCommand(request);
- }
-
- public Cursor getSelectionToolCursor(Point mouseLocation)
- {
- if (hitTestColumnSelection(mouseLocation))
- {
- return getColumnSelectCursor();
- }
-
- return null;
- }
-
- protected DragTracker getSelectionTracker(LocationRequest request) {
- final Point mouseLocator = request.getLocation();
- if (hitTestColumnSelection(mouseLocator))
- {
- ObjectModeDragTracker dragTracker = new ObjectModeDragTracker(getHost())
- {
- protected boolean handleButtonDown(int button)
- {
- // only customize the case where we are in a column selection mode
- if (button == 1)
- {
- EditPart retarget =
- getRetargetSelectionEditPart(mouseLocator);
-
- if (retarget != null)
- {
- setSourceEditPart(retarget);
- }
- }
-
- // default
- return super.handleButtonDown(button);
- }
- };
-
- dragTracker.setDefaultCursor(getSelectionToolCursor(mouseLocator));
- return dragTracker;
- }
- return new ObjectModeDragTracker(getHost());
- }
-
- public DragTracker getSelectionDragTracker(LocationRequest request) {
- return getSelectionTracker(request);
- }
-
- /**
- * @param mouseLocation
- * @return the edit part fo the given mouse location
- */
- public EditPart getRetargetSelectionEditPart(Point mouseLocation) {
- if (hitTestColumnSelection(mouseLocation))
- {
- GraphicalEditPart editPart = (GraphicalEditPart) getHost();
- List children = editPart.getChildren();
-
- for (Iterator it = children.iterator(); it.hasNext();)
- {
- GraphicalEditPart child = (GraphicalEditPart) it.next();
-
- if (child instanceof NodeEditPart)
- {
- Node childNode = ((NodeEditPart)child).getDOMNode();
-
- if (JSFDOMUtil.isHColumn(childNode))
- {
- Point relativeMousePointer = mouseLocation.getCopy();
- IFigure hostFigure = child.getFigure();
- hostFigure.translateToRelative(relativeMousePointer);
- Rectangle hostBounds = hostFigure.getBounds();
- if (relativeMousePointer.x >= hostBounds.x
- && relativeMousePointer.x < hostBounds.x+hostBounds.width)
- {
- return child;
- }
- }
- }
- }
- }
-
- // otherwise, don't retarget
- return null;
- }
-
- private boolean hitTestColumnSelection(Point mouseLocation)
- {
- final GraphicalEditPart part = (GraphicalEditPart) getHost();
- final IFigure panelFigure = part.getFigure();
-
- Point relativeLocation = mouseLocation.getCopy();
- panelFigure.translateToRelative(relativeLocation);
-
- final int yoffsetAbs = Math.abs(panelFigure.getBounds().y - relativeLocation.y);
-
- if (yoffsetAbs <= 4)
- {
- return true;
- }
-
- return false;
- }
- }
-
- /**
- * @author cbateman
- *
- */
- public static class MyDragMoveEditPolicy extends DragMoveEditPolicy
- {
- 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 OnlyColumnsAndFacetsRule(validator.getActionData()));
- return validator;
- }
- return null;
- }
-
- private static class OnlyColumnsAndFacetsRule extends DefaultPositionRule
- {
- /**
- * @param actionData
- */
- public OnlyColumnsAndFacetsRule(ActionData actionData) {
- super(actionData);
- }
-
- public boolean isEditable(Target target) {
- if (IJSFConstants.TAG_IDENTIFIER_DATA_TABLE.isSameTagType(target.getTagWrapper()))
- {
- return isDataDroppable();
- }
-
- return true;
- }
-
- private boolean isDataDroppable()
- {
- ActionData actionData = getActionData();
- if (actionData instanceof DropActionData)
- {
- DropActionData dropActionData = (DropActionData) actionData;
- TagIdentifier tagId =
- (TagIdentifier) dropActionData.getDropData().getTagIdentifiers().get(0);
-
- if (IJSFConstants.TAG_IDENTIFIER_FACET.isSameTagType(tagId)
- || IJSFConstants.TAG_IDENTIFIER_COLUMN.isSameTagType(tagId))
- {
- return true;
- }
- }
-
- return false;
- }
- }
- }
-}

Back to the top