diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementMenuBar.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementMenuBar.java | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementMenuBar.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementMenuBar.java deleted file mode 100644 index ee61b03d6..000000000 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementMenuBar.java +++ /dev/null @@ -1,231 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2007 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.pagedesigner.editpolicies; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import org.eclipse.draw2d.Figure; -import org.eclipse.draw2d.Graphics; -import org.eclipse.draw2d.ToolbarLayout; -import org.eclipse.gef.EditPart; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.ISelectionProvider; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.jst.pagedesigner.parts.ElementEditPart; -import org.eclipse.jst.pagedesigner.parts.NonVisualComponentEditPart; - -/** - * A menu bar for a specific element edit part - * - * @author cbateman - * - */ -public class ElementMenuBar extends Figure implements ISelectionProvider, ISelectionChangedListener -{ - private ElementEditPart _hostPart; - /** - * Should always be accessed for use through getChildParts(). Not automatically - * allocated because of high probability that a host part will have no children of interest - */ - private Set _childParts; - private List _selectionListeners; - private IStructuredSelection _selection; - - /** - * @param hostPart - */ - public ElementMenuBar(ElementEditPart hostPart) - { - hostPart.getViewer().addSelectionChangedListener(this); - - _hostPart = hostPart; - ToolbarLayout layout = new ToolbarLayout(false); - layout.setSpacing(4); - setLayoutManager(layout); - } - - /** - * @return true if there are child parts in the menu - */ - public boolean hasChildParts() - { - return _childParts != null &&_childParts.size() > 0; - } - - /** - * - */ - public void dispose() - { - _hostPart.getViewer().removeSelectionChangedListener(this); - if (_childParts != null) - { - _childParts.clear(); - _childParts = null; - } - - if (_selectionListeners != null) - { - _selectionListeners.clear(); - _selectionListeners = null; - } - - _selection = null; - } - - /** - * @param editpart - */ - public void addNonVisualChild(NonVisualComponentEditPart editpart) - { - add(editpart.getFigure()); - getChildParts().add(editpart); - } - - /** - * Removes editpart from the list of non-visual edit parts that this menu - * bar is managing the visuals for. - * @param editpart - */ - public void removeNonVisualChild(final NonVisualComponentEditPart editpart) - { - // TODO: I have relaxed the checking to see if editpart is valid - // child because of the way ElementEditPart refreshes itself - // when the model changes. It's possible this will get called more - // than once for the same editpart argument - getChildParts().remove(editpart); - if (editpart.getFigure().getParent() == this) - { - remove(editpart.getFigure()); - } - } - - /** - * @return true if a member of the menu bar has edit part focus - */ - public boolean hasEditPartFocus() - { - for (Iterator it = getChildParts().iterator(); it.hasNext();) - { - EditPart editPart = (EditPart) it.next(); - - if (editPart.getSelected() == EditPart.SELECTED_PRIMARY) - { - return true; - } - } - return false; - } - - private Set getChildParts() - { - if (_childParts == null) - { - _childParts = new HashSet(); - } - - return _childParts; - } - - protected void paintChildren(Graphics graphics) - { - // force all children to paint with my alpha setting - graphics.setAlpha(getAlpha()); - //push the current state so it is what the children revert to - graphics.pushState(); - super.paintChildren(graphics); - // pop that state we pushed above - graphics.popState(); - } - - private int getAlpha() - { - return isEnabled() ? 255 : 75; - } - - public void addSelectionChangedListener(ISelectionChangedListener listener) { - List listeners = getSelectionListeners(); - - if (!listeners.contains(listener)) - { - listeners.add(listener); - } - } - - public ISelection getSelection() { - return _selection; - } - - public void removeSelectionChangedListener( - ISelectionChangedListener listener) { - getSelectionListeners().remove(listener); - } - - public void setSelection(ISelection selection) { - // no external selection change supported - } - - private List getSelectionListeners() - { - if (_selectionListeners == null) - { - _selectionListeners = new ArrayList(1); - } - - return _selectionListeners; - } - - private void fireSelectionChanged() - { - for (final Iterator it = _selectionListeners.iterator(); it.hasNext();) - { - ISelectionChangedListener listener = (ISelectionChangedListener) it.next(); - listener.selectionChanged(new SelectionChangedEvent(this, _selection)); - } - } - - public void selectionChanged(SelectionChangedEvent event) { - ISelection selection = event.getSelection(); - - if (selection instanceof IStructuredSelection) - { - // the number of selections we care about will be no bigger than the total number of selections - final List mySelections = new ArrayList(((IStructuredSelection)selection).size()); - - if (_childParts != null) - { - for (final Iterator it = ((IStructuredSelection)selection).iterator() - ; it.hasNext();) - { - Object selectedObj = it.next(); - if (_childParts.contains(selectedObj)) - { - mySelections.add(selectedObj); - } - } - } - - _selection = new StructuredSelection(mySelections); - - fireSelectionChanged(); - } - } -}
\ No newline at end of file |