diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/PanelGridElementEdit.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/PanelGridElementEdit.java | 322 |
1 files changed, 0 insertions, 322 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/PanelGridElementEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/PanelGridElementEdit.java deleted file mode 100644 index 671960791..000000000 --- a/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/PanelGridElementEdit.java +++ /dev/null @@ -1,322 +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 org.eclipse.draw2d.IFigure; -import org.eclipse.draw2d.geometry.Point; -import org.eclipse.gef.EditPart; -import org.eclipse.gef.EditPolicy; -import org.eclipse.gef.GraphicalEditPart; -import org.eclipse.gef.Request; -import org.eclipse.gef.SharedCursors; -import org.eclipse.gef.commands.Command; -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.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.ElementResizableEditPolicy; -import org.eclipse.jst.pagedesigner.jsf.ui.JSFUIPlugin; -import org.eclipse.jst.pagedesigner.jsf.ui.actions.DeleteHeaderFooterAction; -import org.eclipse.jst.pagedesigner.jsf.ui.actions.InsertHeaderFooterAction; -import org.eclipse.jst.pagedesigner.jsf.ui.commands.jsfhtml.DataTableDeleteHeaderCommand; -import org.eclipse.jst.pagedesigner.jsf.ui.commands.jsfhtml.PanelGridDeleteColumnCommand; -import org.eclipse.jst.pagedesigner.jsf.ui.commands.jsfhtml.PanelGridDeleteRowCommand; -import org.eclipse.jst.pagedesigner.jsf.ui.commands.jsfhtml.PanelGridInsertColumnCommand; -import org.eclipse.jst.pagedesigner.jsf.ui.commands.jsfhtml.PanelGridInsertFooterCommand; -import org.eclipse.jst.pagedesigner.jsf.ui.commands.jsfhtml.PanelGridInsertHeaderCommand; -import org.eclipse.jst.pagedesigner.jsf.ui.commands.jsfhtml.PanelGridInsertRowCommand; -import org.eclipse.jst.pagedesigner.jsf.ui.elementedit.request.DeleteHeaderFooterRequest; -import org.eclipse.jst.pagedesigner.jsf.ui.elementedit.request.InsertHeaderFooterRequest; -import org.eclipse.jst.pagedesigner.jsf.ui.elementedit.util.PanelGridUtil; -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.viewer.IHTMLGraphicalViewer; -import org.eclipse.swt.graphics.Cursor; -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 PanelGridElementEdit 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.PanelGrid"));//$NON-NLS-1$ - tableMenu.add(EMPTY_ACTION); - final ElementEditPart gridEditPart = (ElementEditPart) ((IDOMElement) ele).getAdapterFor(EditPart.class); - - // ok, we passed the checking, now let's create the actions. - tableMenu.addMenuListener(new IMenuListener() - { - public void menuAboutToShow(IMenuManager manager) - { - tableMenu.removeAll(); - fillPanelGridMenu(gridEditPart, FAKE_INDEX, 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(); - - Element childEle = null; - if (node instanceof Element) - { - childEle = (Element) node; - } - else - { - boolean hasElementParent = false; - Node nodeBackup = node; - while (!IJSFConstants.TAG_PANELGRID.equalsIgnoreCase(nodeBackup.getParentNode().getLocalName())) - { - nodeBackup = nodeBackup.getParentNode(); - if (nodeBackup instanceof Element) - { - hasElementParent = true; - break; - } - } - if (!hasElementParent) - { - return false; - } - childEle = (Element) nodeBackup; - } - - PanelGridUtil util = new PanelGridUtil(table); - final int cellRow = util.convertRowIndexFromDomToView(util.getDomRowIndex(childEle)); - final int cellColumn = util.getDomColumnIndex(childEle); - - final IMenuManager tableMenu = new MenuManager(JSFUIPlugin.getResourceString("ElementEdit.Submenu.PanelGrid"));//$NON-NLS-1$ - tableMenu.add(EMPTY_ACTION); - - // ok, we passed the checking, now let's create the actions. - tableMenu.addMenuListener(new IMenuListener() - { - public void menuAboutToShow(IMenuManager manager) - { - tableMenu.removeAll(); - fillPanelGridMenu(elePart, cellRow, cellColumn, tableMenu); - } - }); - - contextMenu.appendToGroup(PageDesignerActionConstants.GROUP_CONTAINER, tableMenu); - return true; - - } - - /** - * @param elePart - * @param cellRow - * @param cellColumn - * @param tableMenu - */ - private void fillPanelGridMenu(ElementEditPart elePart, int cellRow, int cellColumn, IMenuManager tableMenu) - { - SelectEditPartAction action = SelectEditPartAction.create(JSFUIPlugin - .getResourceString("ElementEdit.Submenu.PanelGrid.SelectTable"), elePart);//$NON-NLS-1$ - tableMenu.add(action); - - tableMenu.add(new Separator()); - - { - InsertRowColumnAction insertRowBeforeAction = new InsertRowColumnAction(JSFUIPlugin - .getResourceString("ElementEdit.Submenu.PanelGrid.InsertRowBefore"), //$NON-NLS-1$ - elePart, cellRow, true, true); - tableMenu.add(insertRowBeforeAction); - - InsertRowColumnAction insertRowAfterAction = new InsertRowColumnAction(JSFUIPlugin - .getResourceString("ElementEdit.Submenu.PanelGrid.InsertRowAfter"), //$NON-NLS-1$ - elePart, cellRow, true, false); - tableMenu.add(insertRowAfterAction); - - tableMenu.add(new Separator()); - } - - { - InsertRowColumnAction insertColumnBeforeAction = new InsertRowColumnAction(JSFUIPlugin - .getResourceString("ElementEdit.Submenu.PanelGrid.InsertColumnBefore"), //$NON-NLS-1$ - elePart, cellColumn, false, true); - tableMenu.add(insertColumnBeforeAction); - - InsertRowColumnAction insertColumnAfterAction = new InsertRowColumnAction(JSFUIPlugin - .getResourceString("ElementEdit.Submenu.PanelGrid.InsertColumnAfter"), //$NON-NLS-1$ - elePart, cellColumn, false, false); - tableMenu.add(insertColumnAfterAction); - - tableMenu.add(new Separator()); - } - - { - DeleteRowColumnAction deleteRowAction = new DeleteRowColumnAction(JSFUIPlugin - .getResourceString("ElementEdit.Submenu.PanelGrid.DeleteRow"), //$NON-NLS-1$ - elePart, cellRow, true); - tableMenu.add(deleteRowAction); - - DeleteRowColumnAction deleteColumnAction = new DeleteRowColumnAction(JSFUIPlugin - .getResourceString("ElementEdit.Submenu.PanelGrid.DeleteColumn"), //$NON-NLS-1$ - elePart, cellColumn, false); - tableMenu.add(deleteColumnAction); - tableMenu.add(new Separator()); - } - - { - InsertHeaderFooterAction headerAction = new InsertHeaderFooterAction(JSFUIPlugin - .getResourceString("ElementEdit.Submenu.PanelGrid.InsertHeader"), //$NON-NLS-1$ - elePart, true); - tableMenu.add(headerAction); - - InsertHeaderFooterAction footerAction = new InsertHeaderFooterAction(JSFUIPlugin - .getResourceString("ElementEdit.Submenu.PanelGrid.InsertFooter"), //$NON-NLS-1$ - elePart, false); - tableMenu.add(footerAction); - - DeleteHeaderFooterAction delHeaderAction = new DeleteHeaderFooterAction(JSFUIPlugin - .getResourceString("ElementEdit.Submenu.PanelGird.DeleteHeader"), elePart, true);//$NON-NLS-1$ - tableMenu.add(delHeaderAction); - - DeleteHeaderFooterAction delFooterAction = new DeleteHeaderFooterAction(JSFUIPlugin - .getResourceString("ElementEdit.Submenu.PanelGrid.DeleteFooter"), elePart, false);//$NON-NLS-1$ - tableMenu.add(delFooterAction); - } - } - - /* (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 PanelGridResizePolicy(part)); - } - - static class PanelGridResizePolicy extends ElementResizableEditPolicy - { - ElementEditPart _part; - - /** - * @param part - */ - public PanelGridResizePolicy(ElementEditPart part) - { - _part = part; - } - - public Cursor getSelectionToolCursor(Point mouseLocation) - { - final GraphicalEditPart part = (GraphicalEditPart) getHost(); - final IFigure panelFigure = part.getFigure(); - - Point relativeLocation = mouseLocation.getCopy(); - panelFigure.translateToRelative(relativeLocation); - - // row cursor if we are within +/- 2 pixels of the left side - final int xoffsetAbs = Math.abs(panelFigure.getBounds().x - relativeLocation.x); - - if (xoffsetAbs <= 2) - { - return SharedCursors.SIZEE; - } - - final int yoffsetAbs = Math.abs(panelFigure.getBounds().y - relativeLocation.y); - - if (yoffsetAbs <= 2) - { - return SharedCursors.SIZEW; - } - - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.gef.editpolicies.ResizableEditPolicy#getCommand(org.eclipse.gef.Request) - */ - public Command getCommand(Request request) - { - IHTMLGraphicalViewer viewer = (IHTMLGraphicalViewer) _part.getViewer(); - Element panelGrid = (Element) _part.getIDOMNode(); - if (request instanceof TableResizeRequest) - { - return super.getCommand(request); - } - else if (request instanceof TableInsertRequest) - { - TableInsertRequest tableInsertRequest = (TableInsertRequest) request; - if (tableInsertRequest.isRow()) - { - int index = tableInsertRequest.getIndex() + (tableInsertRequest.isBefore() ? 0 : 1); - return new PanelGridInsertRowCommand(viewer, panelGrid, index); - } - int index = tableInsertRequest.getIndex() + (tableInsertRequest.isBefore() ? 0 : 1); - return new PanelGridInsertColumnCommand(viewer, panelGrid, index); - } - else if (request instanceof InsertHeaderFooterRequest) - { - InsertHeaderFooterRequest req = (InsertHeaderFooterRequest) request; - boolean isHeader = req.isHeader(); - if (isHeader) - { - return new PanelGridInsertHeaderCommand(viewer, panelGrid); - } - return new PanelGridInsertFooterCommand(viewer, panelGrid); - } - else if (request instanceof DeleteHeaderFooterRequest) - { - DeleteHeaderFooterRequest req = (DeleteHeaderFooterRequest) request; - boolean isHeader = req.isHeader(); - return new DataTableDeleteHeaderCommand(viewer, panelGrid, isHeader); - } - else if (request instanceof TableRowColumnDeleteRequest) - { - TableRowColumnDeleteRequest deleteReq = (TableRowColumnDeleteRequest) request; - if (deleteReq.isRow()) - { - return new PanelGridDeleteRowCommand(viewer, panelGrid, deleteReq.getIndex()); - } - return new PanelGridDeleteColumnCommand(viewer, panelGrid, deleteReq.getIndex()); - } - return super.getCommand(request); - } - } -} |