diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/table/TableActionGroup.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/table/TableActionGroup.java | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/table/TableActionGroup.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/table/TableActionGroup.java deleted file mode 100644 index ebbcc2b01..000000000 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/table/TableActionGroup.java +++ /dev/null @@ -1,196 +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.actions.table; - -import org.eclipse.gef.EditPart; -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.jface.viewers.IStructuredSelection; -import org.eclipse.jst.pagedesigner.PDPlugin; -import org.eclipse.jst.pagedesigner.actions.single.SelectEditPartAction; -import org.eclipse.jst.pagedesigner.editors.PageDesignerActionConstants; -import org.eclipse.jst.pagedesigner.parts.ElementEditPart; -import org.eclipse.jst.pagedesigner.range.RangeUtil; -import org.eclipse.jst.pagedesigner.tableedit.DeleteRowColumnAction; -import org.eclipse.jst.pagedesigner.tableedit.InsertRowColumnAction; -import org.eclipse.jst.pagedesigner.viewer.DesignPosition; -import org.eclipse.jst.pagedesigner.viewer.DesignRange; -import org.eclipse.ui.actions.ActionGroup; -import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement; - -/** - * - * @author mengbo - * @version 1.5 - */ -public class TableActionGroup extends ActionGroup { - // TODO: I think there's a pattern emerging... - private final static Action action = new Action() { - // create an empty no-op - }; - - /* - * (non-Javadoc) - * - * @see org.eclipse.ui.actions.ActionGroup#fillContextMenu(org.eclipse.jface.action.IMenuManager) - */ - public void fillContextMenu(IMenuManager menu) { - ISelection selection = this.getContext().getSelection(); - - EditPart part = findCommonAncesterPart(selection); - if (part == null) { - return; - } - - TableOperationContext context = TableOperationContext - .getTableOperationContext(part); - if (context == null) { - return; - } - - final ElementEditPart tablePart = context._tablePart; - - if (tablePart == null || !supportTableActions(tablePart)) { - return; - } - - final int cellRow = context._rowIndex; - final int cellColumn = context._columnIndex; - - String tag = ((IDOMElement) tablePart.getIDOMNode()).getLocalName(); - final IMenuManager tableMenu = new MenuManager(tag); - - // ok, we passed the checking, now let's create the actions. - tableMenu.add(action); - tableMenu.addMenuListener(new IMenuListener() { - - public void menuAboutToShow(IMenuManager manager) { - tableMenu.removeAll(); - fillTableMenu(tablePart, cellRow, cellColumn, tableMenu); - } - }); - menu.appendToGroup(PageDesignerActionConstants.GROUP_CONTAINER, - tableMenu); - } - - /** - * @param tablePart - * @param cellRow - * @param cellColumn - * @param tableMenu - */ - private void fillTableMenu(ElementEditPart tablePart, int cellRow, - int cellColumn, IMenuManager tableMenu) { - SelectEditPartAction action1 = new SelectEditPartAction( - PDPlugin - .getResourceString("TableActionGroup.Submenu.SelectTable"), tablePart);//$NON-NLS-1$ - tableMenu.add(action1); - - tableMenu.add(new Separator()); - - { - InsertRowColumnAction insertRowBeforeAction = new InsertRowColumnAction( - PDPlugin - .getResourceString("TableActionGroup.Submenu.InsertRowBefore"),//$NON-NLS-1$ - tablePart, cellRow, true, true); - tableMenu.add(insertRowBeforeAction); - - InsertRowColumnAction insertRowAfterAction = new InsertRowColumnAction( - PDPlugin - .getResourceString("TableActionGroup.Submenu.InsertRowAfter"),//$NON-NLS-1$ - tablePart, cellRow, true, false); - tableMenu.add(insertRowAfterAction); - - tableMenu.add(new Separator()); - } - - { - InsertRowColumnAction insertColumnBeforeAction = new InsertRowColumnAction( - PDPlugin - .getResourceString("TableActionGroup.Submenu.InsertColumnBefore"),//$NON-NLS-1$ - tablePart, cellColumn, true, true); - tableMenu.add(insertColumnBeforeAction); - - InsertRowColumnAction insertColumnAfterAction = new InsertRowColumnAction( - PDPlugin - .getResourceString("TableActionGroup.Submenu.InsertColumnAfter"),//$NON-NLS-1$ - tablePart, cellColumn, true, false); - tableMenu.add(insertColumnAfterAction); - - tableMenu.add(new Separator()); - } - - { - DeleteRowColumnAction deleteRowAction = new DeleteRowColumnAction( - PDPlugin - .getResourceString("TableActionGroup.Submenu.DeleteRow"),//$NON-NLS-1$ - tablePart, cellRow, true); - tableMenu.add(deleteRowAction); - - DeleteRowColumnAction deleteColumnAction = new DeleteRowColumnAction( - PDPlugin - .getResourceString("TableActionGroup.Submenu.DeleteColumn"),//$NON-NLS-1$ - tablePart, cellColumn, false); - tableMenu.add(deleteColumnAction); - } - } - - /** - * @param tablePart - * @return - */ - private boolean supportTableActions(ElementEditPart tablePart) { - // TODO: what's the point of this method? - // it's only used in one place and always resolves to the same value.. - return true; - } - - /** - * Give a selection, find a single common container node as start for table - * related operations. - * - * @param selection - * @return - */ - private EditPart findCommonAncesterPart(ISelection selection) { - if (selection instanceof IStructuredSelection) { - IStructuredSelection structsel = (IStructuredSelection) selection; - if (structsel.size() != 1) { - return null; - } else if (structsel.getFirstElement() instanceof EditPart) { - return (EditPart) structsel.getFirstElement(); - } else { - return null; - } - } else if (selection instanceof DesignRange) { - DesignRange range = (DesignRange) selection; - if (!range.isValid()) { - return null; - } - if (range.isEmpty()) { - DesignPosition position = range.getStartPosition(); - if (position.getOffset() == 0) { - return position.getContainerPart(); - } - return position.getSiblingEditPart(true); - } - return RangeUtil.findCommonAncestor(range); - } else { - return null; - } - } - -} |