Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 80706 Details for
Bug 206800
Cannot extend the GEF Palette
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Patch for GEF extensibility
palette.txt (text/plain), 50.25 KB, created by
Anthony Hunter
on 2007-10-18 17:15:39 EDT
(
hide
)
Description:
Patch for GEF extensibility
Filename:
MIME Type:
Creator:
Anthony Hunter
Created:
2007-10-18 17:15:39 EDT
Size:
50.25 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.gef >Index: src/org/eclipse/gef/internal/ui/palette/editparts/ToolEntryEditPart.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.gef/src/org/eclipse/gef/internal/ui/palette/editparts/ToolEntryEditPart.java,v >retrieving revision 1.27 >diff -u -r1.27 ToolEntryEditPart.java >--- src/org/eclipse/gef/internal/ui/palette/editparts/ToolEntryEditPart.java 25 Jun 2005 03:56:56 -0000 1.27 >+++ src/org/eclipse/gef/internal/ui/palette/editparts/ToolEntryEditPart.java 18 Oct 2007 21:14:19 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2005 IBM Corporation and others. >+ * Copyright (c) 2000, 2007 IBM 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 >@@ -38,6 +38,7 @@ > import org.eclipse.gef.palette.PaletteEntry; > import org.eclipse.gef.palette.ToolEntry; > import org.eclipse.gef.ui.palette.PaletteViewerPreferences; >+import org.eclipse.gef.ui.palette.editparts.PaletteEditPart; > > public class ToolEntryEditPart > extends PaletteEditPart >@@ -266,7 +267,7 @@ > } > > /** >- * @see org.eclipse.gef.internal.ui.palette.editparts.PaletteEditPart#deactivate() >+ * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#deactivate() > */ > public void deactivate() { > customLabel.dispose(); >@@ -302,7 +303,7 @@ > } > > /** >- * @see org.eclipse.gef.internal.ui.palette.editparts.PaletteEditPart#getToolTipText() >+ * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#getToolTipText() > */ > protected String getToolTipText() { > String result = null; >Index: src/org/eclipse/gef/internal/ui/palette/editparts/GroupEditPart.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.gef/src/org/eclipse/gef/internal/ui/palette/editparts/GroupEditPart.java,v >retrieving revision 1.8 >diff -u -r1.8 GroupEditPart.java >--- src/org/eclipse/gef/internal/ui/palette/editparts/GroupEditPart.java 30 Mar 2005 21:27:03 -0000 1.8 >+++ src/org/eclipse/gef/internal/ui/palette/editparts/GroupEditPart.java 18 Oct 2007 21:14:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2005 IBM Corporation and others. >+ * Copyright (c) 2000, 2007 IBM 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 >@@ -17,6 +17,7 @@ > > import org.eclipse.gef.palette.PaletteContainer; > import org.eclipse.gef.ui.palette.PaletteViewerPreferences; >+import org.eclipse.gef.ui.palette.editparts.PaletteEditPart; > > public class GroupEditPart > extends PaletteEditPart >@@ -28,6 +29,9 @@ > super(group); > } > >+/** >+ * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure() >+ */ > public IFigure createFigure() { > return new GroupFigure(); > } >Index: src/org/eclipse/gef/internal/ui/palette/editparts/SliderPaletteEditPart.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.gef/src/org/eclipse/gef/internal/ui/palette/editparts/SliderPaletteEditPart.java,v >retrieving revision 1.12 >diff -u -r1.12 SliderPaletteEditPart.java >--- src/org/eclipse/gef/internal/ui/palette/editparts/SliderPaletteEditPart.java 30 Nov 2005 16:02:33 -0000 1.12 >+++ src/org/eclipse/gef/internal/ui/palette/editparts/SliderPaletteEditPart.java 18 Oct 2007 21:14:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2005 IBM Corporation and others. >+ * Copyright (c) 2000, 2007 IBM 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 >@@ -17,6 +17,9 @@ > > import org.eclipse.gef.palette.PaletteRoot; > import org.eclipse.gef.ui.palette.PaletteViewer; >+import org.eclipse.gef.ui.palette.editparts.PaletteAnimator; >+import org.eclipse.gef.ui.palette.editparts.PaletteEditPart; >+import org.eclipse.gef.ui.palette.editparts.PaletteToolbarLayout; > > public class SliderPaletteEditPart > extends PaletteEditPart >Index: src/org/eclipse/gef/internal/ui/palette/editparts/SeparatorEditPart.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.gef/src/org/eclipse/gef/internal/ui/palette/editparts/SeparatorEditPart.java,v >retrieving revision 1.10 >diff -u -r1.10 SeparatorEditPart.java >--- src/org/eclipse/gef/internal/ui/palette/editparts/SeparatorEditPart.java 30 Mar 2005 21:27:03 -0000 1.10 >+++ src/org/eclipse/gef/internal/ui/palette/editparts/SeparatorEditPart.java 18 Oct 2007 21:14:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2005 IBM Corporation and others. >+ * Copyright (c) 2000, 2007 IBM 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 >@@ -19,6 +19,7 @@ > import org.eclipse.draw2d.geometry.Rectangle; > > import org.eclipse.gef.palette.PaletteSeparator; >+import org.eclipse.gef.ui.palette.editparts.PaletteEditPart; > > /** > * EditPart for the PaletteSeparator >@@ -45,7 +46,7 @@ > } > > /** >- * @see org.eclipse.gef.internal.ui.palette.editparts.PaletteEditPart#getToolTipText() >+ * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#getToolTipText() > */ > protected String getToolTipText() { > return null; >Index: src/org/eclipse/gef/internal/ui/palette/editparts/PaletteStackEditPart.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.gef/src/org/eclipse/gef/internal/ui/palette/editparts/PaletteStackEditPart.java,v >retrieving revision 1.14 >diff -u -r1.14 PaletteStackEditPart.java >--- src/org/eclipse/gef/internal/ui/palette/editparts/PaletteStackEditPart.java 27 May 2005 19:01:59 -0000 1.14 >+++ src/org/eclipse/gef/internal/ui/palette/editparts/PaletteStackEditPart.java 18 Oct 2007 21:14:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2005 IBM Corporation and others. >+ * Copyright (c) 2000, 2007 IBM 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 >@@ -48,6 +48,7 @@ > import org.eclipse.gef.ui.actions.SetActivePaletteToolAction; > import org.eclipse.gef.ui.palette.PaletteViewer; > import org.eclipse.gef.ui.palette.PaletteViewerPreferences; >+import org.eclipse.gef.ui.palette.editparts.PaletteEditPart; > > /** > * The EditPart for a PaletteStack. >Index: src/org/eclipse/gef/internal/ui/palette/editparts/PaletteAnimator.java >=================================================================== >RCS file: src/org/eclipse/gef/internal/ui/palette/editparts/PaletteAnimator.java >diff -N src/org/eclipse/gef/internal/ui/palette/editparts/PaletteAnimator.java >--- src/org/eclipse/gef/internal/ui/palette/editparts/PaletteAnimator.java 1 Dec 2005 20:23:09 -0000 1.2 >+++ /dev/null 1 Jan 1970 00:00:00 -0000 >@@ -1,110 +0,0 @@ >-/******************************************************************************* >- * Copyright (c) 2000, 2005 IBM 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: >- * IBM Corporation - initial API and implementation >- *******************************************************************************/ >-package org.eclipse.gef.internal.ui.palette.editparts; >- >-import java.util.ArrayList; >-import java.util.Iterator; >-import java.util.List; >- >-import org.eclipse.draw2d.LayoutAnimator; >-import org.eclipse.draw2d.IFigure; >- >-import org.eclipse.gef.ui.palette.PaletteViewerPreferences; >- >-/** >- * @author Randy Hudson, Pratik Shah >- */ >-public class PaletteAnimator extends LayoutAnimator { >- >-private List drawers = new ArrayList(); >-private PaletteViewerPreferences prefs; >- >-/** >- * Constructor >- */ >-public PaletteAnimator(PaletteViewerPreferences prefs) { >- this.prefs = prefs; >-} >- >-public void addDrawer(DrawerEditPart drawer) { >- drawers.add(drawer.getFigure()); >-} >- >-protected void autoCollapse(DrawerFigure openDrawer) { >- int autoCollapseMode = prefs.getAutoCollapseSetting(); >- >- // Collapse never >- if (autoCollapseMode == PaletteViewerPreferences.COLLAPSE_NEVER) >- return; >- >- DrawerFigure drawer; >- >- // Collapse always >- if (autoCollapseMode == PaletteViewerPreferences.COLLAPSE_ALWAYS) { >- for (Iterator iter = drawers.iterator(); iter.hasNext();) { >- drawer = (DrawerFigure) iter.next(); >- if (drawer != openDrawer) >- drawer.setExpanded(false); >- } >- return; >- } >- >- // Collapse as needed >- int wHint = openDrawer.getParent().getClientArea().width; >- int availableHeight = openDrawer.getParent().getSize().height; >- int requiredHeight = 0; >- List closable = new ArrayList(); >- for (Iterator iter = openDrawer.getParent().getChildren().iterator(); iter.hasNext();) { >- IFigure sibling = (IFigure) iter.next(); >- int height = sibling.getPreferredSize(wHint, -1).height; >- requiredHeight += height; >- if (!(sibling instanceof DrawerFigure) || sibling == openDrawer) >- continue; >- drawer = (DrawerFigure)sibling; >- if (drawer.isExpanded() && !drawer.isPinnedOpen()) >- closable.add(drawer); >- } >- >- //Start closing until requiredHeight <= available >- for (int i = closable.size() - 1; i >= 0 && requiredHeight > availableHeight; i--) { >- drawer = (DrawerFigure)closable.get(i); >- int expandedHeight = drawer.getPreferredSize(wHint, -1).height; >- drawer.setExpanded(false); >- int collapsedHeight = drawer.getPreferredSize(wHint, -1).height; >- requiredHeight -= (expandedHeight - collapsedHeight); >- } >-} >- >-public void playbackStarting(IFigure figure) { >- if (figure instanceof DrawerFigure) >- ((DrawerFigure)figure).setAnimating(true); >-} >- >-public void removeDrawer(DrawerEditPart drawer) { >- drawers.remove(drawer.getFigure()); >-} >- >-public void init(IFigure figure) { >- if (figure instanceof DrawerFigure) { >- DrawerFigure drawer = (DrawerFigure) figure; >- if (drawer.isExpanded()) >- autoCollapse(drawer); >- return; >- } >- super.init(figure); >-} >- >-public void tearDown(IFigure figure) { >- if (figure instanceof DrawerFigure) >- ((DrawerFigure) figure).setAnimating(false); >-} >- >-} >Index: src/org/eclipse/gef/internal/ui/palette/editparts/DrawerFigure.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.gef/src/org/eclipse/gef/internal/ui/palette/editparts/DrawerFigure.java,v >retrieving revision 1.39 >diff -u -r1.39 DrawerFigure.java >--- src/org/eclipse/gef/internal/ui/palette/editparts/DrawerFigure.java 20 Dec 2005 16:16:33 -0000 1.39 >+++ src/org/eclipse/gef/internal/ui/palette/editparts/DrawerFigure.java 18 Oct 2007 21:14:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2005 IBM Corporation and others. >+ * Copyright (c) 2000, 2007 IBM 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 >@@ -52,6 +52,7 @@ > import org.eclipse.gef.internal.Internal; > import org.eclipse.gef.ui.palette.PaletteMessages; > import org.eclipse.gef.ui.palette.PaletteViewerPreferences; >+import org.eclipse.gef.ui.palette.editparts.PaletteToolbarLayout; > > /** > * @author Pratik Shah >Index: src/org/eclipse/gef/internal/ui/palette/editparts/PaletteEditPart.java >=================================================================== >RCS file: src/org/eclipse/gef/internal/ui/palette/editparts/PaletteEditPart.java >diff -N src/org/eclipse/gef/internal/ui/palette/editparts/PaletteEditPart.java >--- src/org/eclipse/gef/internal/ui/palette/editparts/PaletteEditPart.java 29 Mar 2005 23:57:35 -0000 1.26 >+++ /dev/null 1 Jan 1970 00:00:00 -0000 >@@ -1,341 +0,0 @@ >-/******************************************************************************* >- * Copyright (c) 2000, 2005 IBM 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: >- * IBM Corporation - initial API and implementation >- *******************************************************************************/ >-package org.eclipse.gef.internal.ui.palette.editparts; >- >-import java.beans.PropertyChangeEvent; >-import java.beans.PropertyChangeListener; >-import java.util.ArrayList; >-import java.util.Collections; >-import java.util.HashMap; >-import java.util.Iterator; >-import java.util.List; >-import java.util.Map; >- >-import org.eclipse.swt.graphics.Image; >-import org.eclipse.swt.widgets.Display; >- >-import org.eclipse.jface.resource.ImageDescriptor; >-import org.eclipse.ui.IMemento; >- >-import org.eclipse.draw2d.Border; >-import org.eclipse.draw2d.IFigure; >-import org.eclipse.draw2d.MarginBorder; >-import org.eclipse.draw2d.geometry.Dimension; >-import org.eclipse.draw2d.text.FlowPage; >-import org.eclipse.draw2d.text.TextFlow; >- >-import org.eclipse.gef.AccessibleEditPart; >-import org.eclipse.gef.DragTracker; >-import org.eclipse.gef.Request; >-import org.eclipse.gef.editparts.AbstractGraphicalEditPart; >-import org.eclipse.gef.palette.PaletteContainer; >-import org.eclipse.gef.palette.PaletteEntry; >-import org.eclipse.gef.palette.PaletteSeparator; >-import org.eclipse.gef.tools.SelectEditPartTracker; >-import org.eclipse.gef.ui.palette.PaletteMessages; >-import org.eclipse.gef.ui.palette.PaletteViewer; >-import org.eclipse.gef.ui.palette.PaletteViewerPreferences; >- >-public abstract class PaletteEditPart >- extends AbstractGraphicalEditPart >- implements PropertyChangeListener >-{ >- >-public static final String XML_NAME = "entry"; //$NON-NLS-1$ >-private static final Border TOOLTIP_BORDER = new MarginBorder(0, 2, 1, 0); >-private static ImageCache globalImageCache; >-private AccessibleEditPart acc; >-private PropertyChangeListener childListener = new PropertyChangeListener() { >- public void propertyChange(PropertyChangeEvent evt) { >- if (evt.getPropertyName().equals(PaletteEntry.PROPERTY_VISIBLE)) { >- refreshChildren(); >- } >- } >-}; >-private Image image; >-private ImageDescriptor imgDescriptor; >- >-public PaletteEditPart(PaletteEntry model) { >- setModel(model); >-} >- >-/** >- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate() >- */ >-public void activate() { >- super.activate(); >- PaletteEntry model = (PaletteEntry)getModel(); >- model.addPropertyChangeListener(this); >- traverseChildren(model, true); >-} >- >-/** >- * returns the AccessibleEditPart for this EditPart. This method is called lazily from >- * {@link #getAccessibleEditPart()}. >- */ >-protected AccessibleEditPart createAccessible() { >- return null; >-} >- >-public void createEditPolicies() { } >- >-protected IFigure createToolTip() { >- String message = getToolTipText(); >- if (message == null || message.length() == 0) >- return null; >- >- FlowPage fp = new FlowPage() { >- public Dimension getPreferredSize(int w, int h) { >- Dimension d = super.getPreferredSize(-1, -1); >- if (d.width > 150) >- d = super.getPreferredSize(150, -1); >- return d; >- } >- }; >- fp.setOpaque(true); >- fp.setBorder(TOOLTIP_BORDER); >- TextFlow tf = new TextFlow(); >- tf.setText(message); >- fp.add(tf); >- return fp; >-} >- >-/** >- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate() >- */ >-public void deactivate() { >- PaletteEntry model = (PaletteEntry)getModel(); >- model.removePropertyChangeListener(this); >- traverseChildren(model, false); >- if (image != null) { >- image.dispose(); >- image = null; >- } >- super.deactivate(); >-} >- >- >-protected AccessibleEditPart getAccessibleEditPart() { >- if (acc == null) >- acc = createAccessible(); >- return acc; >-} >- >-class SingleSelectionTracker extends SelectEditPartTracker { >- SingleSelectionTracker() { >- super(PaletteEditPart.this); >- } >- protected void performSelection() { >- if (hasSelectionOccurred()) >- return; >- setFlag(FLAG_SELECTION_PERFORMED, true); >- getCurrentViewer().select(getSourceEditPart()); >- } >-} >- >-/** >- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getDragTracker(Request) >- */ >-public DragTracker getDragTracker(Request request) { >- return new SingleSelectionTracker(); >-} >- >-/** >- * Returns the image cache. >- * The cache is global, and is shared by all palette edit parts. This has the disadvantage >- * that once an image is allocated, it is never freed until the display is disposed. >- * However, it has the advantage that the same image in different palettes is >- * only ever created once. >- */ >-protected static ImageCache getImageCache() { >- ImageCache cache = globalImageCache; >- if (cache == null) { >- globalImageCache = cache = new ImageCache(); >- Display display = Display.getDefault(); >- if (display != null) { >- display.disposeExec(new Runnable() { >- public void run() { >- if (globalImageCache != null) { >- globalImageCache.dispose(); >- globalImageCache = null; >- } >- } >- }); >- } >- } >- return cache; >-} >- >-/** >- * @see org.eclipse.gef.editparts.AbstractEditPart#getModelChildren() >- */ >-public List getModelChildren() { >- List modelChildren; >- if (getModel() instanceof PaletteContainer) >- modelChildren = new ArrayList(((PaletteContainer)getModel()).getChildren()); >- else >- return Collections.EMPTY_LIST; >- >- PaletteEntry prevVisibleEntry = null; >- for (Iterator iter = modelChildren.iterator(); iter.hasNext();) { >- PaletteEntry entry = (PaletteEntry) iter.next(); >- if (!entry.isVisible()) >- // not visible >- iter.remove(); >- else if (entry instanceof PaletteSeparator && prevVisibleEntry == null) >- // first visible item in a group is a separator, don't need it >- iter.remove(); >- else if (entry instanceof PaletteSeparator && prevVisibleEntry instanceof PaletteSeparator) >- // previous visible entry was a separator, don't need it >- iter.remove(); >- else >- prevVisibleEntry = entry; >- } >- // check to see if last visible entry was a separator, and thus should be hidden >- if (prevVisibleEntry instanceof PaletteSeparator) >- modelChildren.remove(prevVisibleEntry); >- >- return modelChildren; >-} >- >-protected PaletteEntry getPaletteEntry() { >- return (PaletteEntry)getModel(); >-} >- >-PaletteViewer getPaletteViewer() { >- return (PaletteViewer)getViewer(); >-} >- >-protected PaletteViewerPreferences getPreferenceSource() { >- return ((PaletteViewer)getViewer()).getPaletteViewerPreferences(); >-} >- >-protected IFigure getToolTipFigure() { >- return getFigure(); >-} >- >-protected String getToolTipText() { >- String text = null; >- PaletteEntry entry = (PaletteEntry)getModel(); >- String desc = entry.getDescription(); >- boolean needName = nameNeededInToolTip(); >- if (desc == null >- || desc.trim().equals(entry.getLabel()) >- || desc.trim().equals("")) { //$NON-NLS-1$ >- if (needName) >- text = entry.getLabel(); >- } else { >- if (needName) >- text = entry.getLabel() + " " //$NON-NLS-1$ >- + PaletteMessages.NAME_DESCRIPTION_SEPARATOR + " " + desc; //$NON-NLS-1$ >- else >- text = desc; >- } >- if (text != null && text.trim().equals(""))//$NON-NLS-1$ >- return null; >- return text; >-} >- >-protected boolean nameNeededInToolTip() { >- return getPreferenceSource().getLayoutSetting() >- == PaletteViewerPreferences.LAYOUT_ICONS; >-} >- >-/** >- * @see java.beans.PropertyChangeListener#propertyChange(PropertyChangeEvent) >- */ >-public void propertyChange(PropertyChangeEvent evt) { >- String property = evt.getPropertyName(); >- if (property.equals(PaletteContainer.PROPERTY_CHILDREN)) { >- traverseChildren((List)evt.getOldValue(), false); >- refreshChildren(); >- traverseChildren((List)evt.getNewValue(), true); >- } else if (property.equals(PaletteEntry.PROPERTY_LABEL) >- || property.equals(PaletteEntry.PROPERTY_SMALL_ICON) >- || property.equals(PaletteEntry.PROPERTY_LARGE_ICON) >- || property.equals(PaletteEntry.PROPERTY_DESCRIPTION)) >- refreshVisuals(); >-} >- >-public void restoreState(IMemento memento) { >- Iterator iter = getChildren().iterator(); >- IMemento[] childMementos = memento.getChildren(XML_NAME); >- int index = 0; >- while (iter.hasNext()) >- ((PaletteEditPart)iter.next()).restoreState(childMementos[index++]); >-} >- >-public void saveState(IMemento memento) { >- Iterator iter = getChildren().iterator(); >- while (iter.hasNext()) >- ((PaletteEditPart)iter.next()).saveState(memento.createChild(XML_NAME)); >-} >- >-protected void setImageDescriptor(ImageDescriptor desc) { >- if (desc == imgDescriptor) >- return; >- imgDescriptor = desc; >- setImageInFigure(getImageCache().getImage(imgDescriptor)); >-} >- >-protected void setImageInFigure(Image image) { } >- >-private void traverseChildren(PaletteEntry parent, boolean add) { >- if (!(parent instanceof PaletteContainer)) >- return; >- PaletteContainer container = (PaletteContainer)parent; >- traverseChildren(container.getChildren(), add); >-} >- >-private void traverseChildren(List children, boolean add) { >- for (Iterator iter = children.iterator(); iter.hasNext();) { >- PaletteEntry entry = (PaletteEntry) iter.next(); >- if (add) { >- entry.addPropertyChangeListener(childListener); >- } else { >- entry.removePropertyChangeListener(childListener); >- } >- } >-} >- >-protected static class ImageCache { >- /** Map from ImageDescriptor to Image */ >- private Map images = new HashMap(11); >- >- Image getImage(ImageDescriptor desc) { >- if (desc == null) { >- return null; >- } >- Image img = null; >- Object obj = images.get(desc); >- if (obj != null) { >- img = (Image)obj; >- } else { >- img = desc.createImage(); >- images.put(desc, img); >- } >- return img; >- } >- >- Image getMissingImage() { >- return getImage(ImageDescriptor.getMissingImageDescriptor()); >- } >- >- void dispose() { >- for (Iterator i = images.values().iterator(); i.hasNext();) { >- Image img = (Image) i.next(); >- img.dispose(); >- } >- images.clear(); >- } >-} >- >-} >Index: src/org/eclipse/gef/internal/ui/palette/editparts/DrawerEditPart.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.gef/src/org/eclipse/gef/internal/ui/palette/editparts/DrawerEditPart.java,v >retrieving revision 1.23 >diff -u -r1.23 DrawerEditPart.java >--- src/org/eclipse/gef/internal/ui/palette/editparts/DrawerEditPart.java 30 Nov 2005 16:02:33 -0000 1.23 >+++ src/org/eclipse/gef/internal/ui/palette/editparts/DrawerEditPart.java 18 Oct 2007 21:14:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2005 IBM Corporation and others. >+ * Copyright (c) 2000, 2007 IBM 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 >@@ -35,6 +35,8 @@ > import org.eclipse.gef.palette.PaletteDrawer; > import org.eclipse.gef.palette.PaletteTemplateEntry; > import org.eclipse.gef.ui.palette.PaletteViewerPreferences; >+import org.eclipse.gef.ui.palette.editparts.PaletteAnimator; >+import org.eclipse.gef.ui.palette.editparts.PaletteEditPart; > > /** > * EditPart for a PaletteDrawer >@@ -141,7 +143,7 @@ > } > > /** >- * @see org.eclipse.gef.internal.ui.palette.editparts.PaletteEditPart#nameNeededInToolTip() >+ * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#nameNeededInToolTip() > */ > protected boolean nameNeededInToolTip() { > return false; >@@ -156,6 +158,9 @@ > return getDrawerFigure().isPinShowing(); > } > >+/** >+ * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#createAccessible() >+ */ > protected AccessibleEditPart createAccessible() { > return new AccessibleGraphicalEditPart() { > public void getDescription(AccessibleEvent e) { >@@ -210,6 +215,9 @@ > getFigure().addLayoutListener(getPaletteAnimator()); > } > >+/** >+ * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#restoreState(org.eclipse.ui.IMemento) >+ */ > public void restoreState(IMemento memento) { > setExpanded(new Boolean(memento.getString(PROPERTY_EXPANSION_STATE)).booleanValue()); > setPinnedOpen(new Boolean(memento.getString(PROPERTY_PINNED_STATE)).booleanValue()); >@@ -222,6 +230,9 @@ > super.restoreState(memento); > } > >+/** >+ * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#saveState(org.eclipse.ui.IMemento) >+ */ > public void saveState(IMemento memento) { > memento.putString(PROPERTY_EXPANSION_STATE, new Boolean(isExpanded()).toString()); > memento.putString(PROPERTY_PINNED_STATE, new Boolean(isPinnedOpen()).toString()); >@@ -244,7 +255,7 @@ > } > > /** >- * @see org.eclipse.gef.internal.ui.palette.editparts.PaletteEditPart#setImageInFigure(Image) >+ * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#setImageInFigure(Image) > */ > protected void setImageInFigure(Image image) { > getDrawerFigure().setTitleIcon(image); >Index: src/org/eclipse/gef/internal/ui/palette/editparts/TemplateEditPart.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.gef/src/org/eclipse/gef/internal/ui/palette/editparts/TemplateEditPart.java,v >retrieving revision 1.14 >diff -u -r1.14 TemplateEditPart.java >--- src/org/eclipse/gef/internal/ui/palette/editparts/TemplateEditPart.java 27 May 2005 19:01:59 -0000 1.14 >+++ src/org/eclipse/gef/internal/ui/palette/editparts/TemplateEditPart.java 18 Oct 2007 21:14:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2005 IBM Corporation and others. >+ * Copyright (c) 2000, 2007 IBM 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 >@@ -27,6 +27,7 @@ > import org.eclipse.gef.palette.PaletteEntry; > import org.eclipse.gef.palette.PaletteTemplateEntry; > import org.eclipse.gef.ui.palette.PaletteViewerPreferences; >+import org.eclipse.gef.ui.palette.editparts.PaletteEditPart; > > /** > * @author Eric Bordeau, Pratik Shah >@@ -49,7 +50,7 @@ > } > > /** >- * @see org.eclipse.gef.internal.ui.palette.editparts.PaletteEditPart#createAccessible() >+ * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#createAccessible() > */ > protected AccessibleEditPart createAccessible() { > return new AccessibleGraphicalEditPart () { >@@ -81,7 +82,7 @@ > } > > /** >- * @see org.eclipse.gef.internal.ui.palette.editparts.PaletteEditPart#deactivate() >+ * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#deactivate() > */ > public void deactivate() { > ((DetailedLabelFigure)getFigure()).dispose(); >@@ -89,7 +90,7 @@ > } > > /** >- * @see org.eclipse.gef.internal.ui.palette.editparts.PaletteEditPart#getDragTracker(Request) >+ * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#getDragTracker(Request) > */ > public DragTracker getDragTracker(Request request) { > return new SingleSelectionTracker() { >@@ -105,7 +106,7 @@ > } > > /** >- * @see org.eclipse.gef.internal.ui.palette.editparts.PaletteEditPart#getToolTipText() >+ * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#getToolTipText() > */ > protected String getToolTipText() { > String result = null; >@@ -159,7 +160,7 @@ > } > > /** >- * @see org.eclipse.gef.internal.ui.palette.editparts.PaletteEditPart#setImageInFigure(Image) >+ * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#setImageInFigure(Image) > */ > protected void setImageInFigure(Image image) { > DetailedLabelFigure fig = (DetailedLabelFigure)getFigure(); >Index: src/org/eclipse/gef/internal/ui/palette/editparts/PaletteToolbarLayout.java >=================================================================== >RCS file: src/org/eclipse/gef/internal/ui/palette/editparts/PaletteToolbarLayout.java >diff -N src/org/eclipse/gef/internal/ui/palette/editparts/PaletteToolbarLayout.java >--- src/org/eclipse/gef/internal/ui/palette/editparts/PaletteToolbarLayout.java 30 Nov 2005 16:02:33 -0000 1.20 >+++ /dev/null 1 Jan 1970 00:00:00 -0000 >@@ -1,181 +0,0 @@ >-/******************************************************************************* >- * Copyright (c) 2000, 2005 IBM 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: >- * IBM Corporation - initial API and implementation >- *******************************************************************************/ >-package org.eclipse.gef.internal.ui.palette.editparts; >- >-import java.util.ArrayList; >-import java.util.Iterator; >-import java.util.List; >- >-import org.eclipse.draw2d.IFigure; >-import org.eclipse.draw2d.ToolbarLayout; >-import org.eclipse.draw2d.geometry.Dimension; >-import org.eclipse.draw2d.geometry.Rectangle; >- >-/** >- * A ToolbarLayout-like layout for the palette. This layout is palette-specific and >- * should not be used externally. This layout only works when vertically oriented. >- * >- * @author Pratik Shah >- */ >-public class PaletteToolbarLayout >- extends ToolbarLayout >-{ >- >-/** >- * A figure is growing if it's an expanded drawer. >- * >- * @param child The figure that is to be marked as growing or non-growing >- * @return <code>true</code> if the given child is considered growing >- */ >-protected boolean isChildGrowing(IFigure child) { >- return child instanceof DrawerFigure && ((DrawerFigure)child).isExpanded(); >-} >- >-public void layout(IFigure parent) { >- List children = parent.getChildren(); >- List childrenGrabbingVertical = new ArrayList(); >- int numChildren = children.size(); >- Rectangle clientArea = parent.getClientArea(); >- int x = clientArea.x; >- int y = clientArea.y; >- int availableHeight = clientArea.height; >- boolean stretching; >- Dimension prefSizes [] = new Dimension[numChildren]; >- Dimension minSizes [] = new Dimension[numChildren]; >- int totalHeight = 0, totalMinHeight = 0, heightOfNonGrowingChildren = 0, >- heightPerChild = 0, excessHeight = 0; >- >- /* >- * Determine hints. >- */ >- int wHint = clientArea.width; >- int hHint = -1; >- >- /* >- * Store the preferred and minimum sizes of all figures. Determine which figures can >- * be stretched/shrunk. >- */ >- for (int i = 0; i < numChildren; i++) { >- IFigure child = (IFigure)children.get(i); >- >- prefSizes[i] = child.getPreferredSize(wHint, hHint); >- minSizes[i] = child.getMinimumSize(wHint, hHint); >- >- totalHeight += prefSizes[i].height; >- totalMinHeight += minSizes[i].height; >- >- if (isChildGrowing(child)) { >- childrenGrabbingVertical.add(child); >- } else { >- heightOfNonGrowingChildren += prefSizes[i].height; >- } >- } >- totalHeight += (numChildren - 1) * getSpacing(); >- totalMinHeight += (numChildren - 1) * getSpacing(); >- >- /* >- * This is the algorithm that determines which figures need to be compressed/stretched >- * and by how much. >- */ >- stretching = totalHeight - Math.max(availableHeight, totalMinHeight) < 0; >- if (stretching) { >- /* >- * We only want the last child to stretch. So, we mark all but the last >- * growing child as non-growing. >- */ >- for (int i = 0; i < childrenGrabbingVertical.size() - 1; i++) { >- int index = children.indexOf(childrenGrabbingVertical.get(i)); >- heightOfNonGrowingChildren += prefSizes[index].height; >- } >- if (!childrenGrabbingVertical.isEmpty()) { >- Object last = childrenGrabbingVertical >- .get(childrenGrabbingVertical.size() - 1); >- childrenGrabbingVertical.clear(); >- childrenGrabbingVertical.add(last); >- heightPerChild = availableHeight - heightOfNonGrowingChildren; >- } >- } else if (!childrenGrabbingVertical.isEmpty()) { >- /* >- * So long as there is at least one child that can be grown, figure out how much >- * height should be given to each growing child. >- */ >- boolean childrenDiscarded; >- // spaceToConsume is the space height available on the palette that is to be >- // shared by the growing children. >- int spaceToConsume = availableHeight - heightOfNonGrowingChildren; >- // heightPerChild is the height that each growing child is to be grown up to >- heightPerChild = spaceToConsume / childrenGrabbingVertical.size(); >- // excessHeight is the space leftover at the bottom of the palette after each >- // growing child has been grown by heightPerChild. >- excessHeight = spaceToConsume - (heightPerChild * childrenGrabbingVertical.size()); >- do { >- childrenDiscarded = false; >- for (Iterator iter = childrenGrabbingVertical.iterator(); iter.hasNext();) { >- IFigure childFig = (IFigure)iter.next(); >- int i = childFig.getParent().getChildren().indexOf(childFig); >- // In the case of shrinking, if the child's height is less than >- // heightPerChild, mark that child as non-growing >- if (prefSizes[i].height < heightPerChild) { >- spaceToConsume -= prefSizes[i].height; >- heightOfNonGrowingChildren += prefSizes[i].height; >- iter.remove(); >- if (!childrenGrabbingVertical.isEmpty()) { >- childrenDiscarded = true; >- heightPerChild = spaceToConsume / childrenGrabbingVertical.size(); >- excessHeight = spaceToConsume >- - (heightPerChild * childrenGrabbingVertical.size()); >- } >- break; >- } >- } >- } while (childrenDiscarded); >- } >- >- /* >- * Do the actual layout, i.e. set the bounds of all the figures. >- */ >- for (int i = 0; i < numChildren; i++) { >- IFigure child = (IFigure)children.get(i); >- Rectangle newBounds = new Rectangle(x, y, prefSizes[i].width, prefSizes[i].height); >- >- if (childrenGrabbingVertical.contains(child)) { >- // Set the height of growing children. If this is the last one, give it >- // the excess height. >- childrenGrabbingVertical.remove(child); >- if (childrenGrabbingVertical.isEmpty()) >- newBounds.height = heightPerChild + excessHeight; >- else >- newBounds.height = heightPerChild; >- } >- >- if (getStretchMinorAxis()) >- newBounds.width = clientArea.width; >- else >- newBounds.width = Math.min(prefSizes[i].width, clientArea.width); >- >- int adjust = clientArea.width - newBounds.width; >- switch (getMinorAlignment()) { >- case ALIGN_TOPLEFT: >- adjust = 0; >- break; >- case ALIGN_CENTER: >- adjust /= 2; >- break; >- case ALIGN_BOTTOMRIGHT: >- break; >- } >- newBounds.x += adjust; >- child.setBounds(newBounds); >- y += newBounds.height + getSpacing(); >- } >-} >- >-} >Index: src/org/eclipse/gef/ui/palette/editparts/PaletteEditPart.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.gef/src/org/eclipse/gef/ui/palette/editparts/PaletteEditPart.java,v >retrieving revision 1.26 >diff -u -r1.26 PaletteEditPart.java >--- src/org/eclipse/gef/ui/palette/editparts/PaletteEditPart.java 29 Mar 2005 23:57:35 -0000 1.26 >+++ src/org/eclipse/gef/ui/palette/editparts/PaletteEditPart.java 18 Oct 2007 21:14:19 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2005 IBM Corporation and others. >+ * Copyright (c) 2000, 2007 IBM 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 >@@ -8,7 +8,7 @@ > * Contributors: > * IBM Corporation - initial API and implementation > *******************************************************************************/ >-package org.eclipse.gef.internal.ui.palette.editparts; >+package org.eclipse.gef.ui.palette.editparts; > > import java.beans.PropertyChangeEvent; > import java.beans.PropertyChangeListener; >@@ -44,11 +44,18 @@ > import org.eclipse.gef.ui.palette.PaletteViewer; > import org.eclipse.gef.ui.palette.PaletteViewerPreferences; > >+/** >+ * The abstract implementation of palette edit parts. All edit parts used in >+ * the palette must extend this class. >+ */ > public abstract class PaletteEditPart > extends AbstractGraphicalEditPart > implements PropertyChangeListener > { > >+/** >+ * The name of each entry in the palette, used to restore the state. >+ */ > public static final String XML_NAME = "entry"; //$NON-NLS-1$ > private static final Border TOOLTIP_BORDER = new MarginBorder(0, 2, 1, 0); > private static ImageCache globalImageCache; >@@ -63,6 +70,10 @@ > private Image image; > private ImageDescriptor imgDescriptor; > >+/** >+ * Constructor for the PaletteEditPart. >+ * @param model The model element for this edit part. >+ */ > public PaletteEditPart(PaletteEntry model) { > setModel(model); > } >@@ -80,13 +91,21 @@ > /** > * returns the AccessibleEditPart for this EditPart. This method is called lazily from > * {@link #getAccessibleEditPart()}. >+ * @return the AccessibleEditPart. > */ > protected AccessibleEditPart createAccessible() { > return null; > } > >+/** >+ * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies() >+ */ > public void createEditPolicies() { } > >+/** >+ * Create the tool tip for this palette edit part. >+ * @return the tool tip figure. >+ */ > protected IFigure createToolTip() { > String message = getToolTipText(); > if (message == null || message.length() == 0) >@@ -122,17 +141,28 @@ > super.deactivate(); > } > >- >+/** >+ * @see org.eclipse.gef.editparts.AbstractEditPart#getAccessibleEditPart() >+ */ > protected AccessibleEditPart getAccessibleEditPart() { > if (acc == null) > acc = createAccessible(); > return acc; > } > >-class SingleSelectionTracker extends SelectEditPartTracker { >- SingleSelectionTracker() { >+/** >+ * A selection tracker for the edit part. >+ */ >+public class SingleSelectionTracker extends SelectEditPartTracker { >+ /** >+ * Constructor for a SingleSelectionTracker. >+ */ >+ public SingleSelectionTracker() { > super(PaletteEditPart.this); > } >+ /** >+ * @see org.eclipse.gef.tools.SelectEditPartTracker#performSelection() >+ */ > protected void performSelection() { > if (hasSelectionOccurred()) > return; >@@ -154,6 +184,7 @@ > * that once an image is allocated, it is never freed until the display is disposed. > * However, it has the advantage that the same image in different palettes is > * only ever created once. >+ * @return the image cache. > */ > protected static ImageCache getImageCache() { > ImageCache cache = globalImageCache; >@@ -206,22 +237,42 @@ > return modelChildren; > } > >+/** >+ * Get the model element for this palette edit part. >+ * @return the model element. >+ */ > protected PaletteEntry getPaletteEntry() { > return (PaletteEntry)getModel(); > } > >-PaletteViewer getPaletteViewer() { >+/** >+ * Get the palette viewer for this palette edit part. >+ * @return the palette viewer. >+ */ >+protected PaletteViewer getPaletteViewer() { > return (PaletteViewer)getViewer(); > } > >+/** >+ * Get the palette viewer preferences for this palette edit part. >+ * @return the palette viewer preferences. >+ */ > protected PaletteViewerPreferences getPreferenceSource() { > return ((PaletteViewer)getViewer()).getPaletteViewerPreferences(); > } > >+/** >+ * Get the tool tip figure for this palette edit part. >+ * @return the tool tip figure. >+ */ > protected IFigure getToolTipFigure() { > return getFigure(); > } > >+/** >+ * Get the tool tip text for this palette edit part. >+ * @return the tool tip text. >+ */ > protected String getToolTipText() { > String text = null; > PaletteEntry entry = (PaletteEntry)getModel(); >@@ -244,6 +295,11 @@ > return text; > } > >+/** >+ * Determine if the name is needed in the tool tip. >+ * @return <code>true</code> if the name is needed in the tool tip. >+ * @since 3.2 >+ */ > protected boolean nameNeededInToolTip() { > return getPreferenceSource().getLayoutSetting() > == PaletteViewerPreferences.LAYOUT_ICONS; >@@ -265,6 +321,10 @@ > refreshVisuals(); > } > >+/** >+ * Restore the state of the palette entry. >+ * @param memento the saved state of the palette entry. >+ */ > public void restoreState(IMemento memento) { > Iterator iter = getChildren().iterator(); > IMemento[] childMementos = memento.getChildren(XML_NAME); >@@ -273,12 +333,20 @@ > ((PaletteEditPart)iter.next()).restoreState(childMementos[index++]); > } > >+/** >+ * Save the state of the palette entry. >+ * @param memento the saved state of the palette entry. >+ */ > public void saveState(IMemento memento) { > Iterator iter = getChildren().iterator(); > while (iter.hasNext()) > ((PaletteEditPart)iter.next()).saveState(memento.createChild(XML_NAME)); > } > >+/** >+ * Set the image for this palette edit part. >+ * @param desc the image descriptor. >+ */ > protected void setImageDescriptor(ImageDescriptor desc) { > if (desc == imgDescriptor) > return; >@@ -286,6 +354,10 @@ > setImageInFigure(getImageCache().getImage(imgDescriptor)); > } > >+/** >+ * Set the image to be used in the figure for this edit edit. >+ * @param image the image >+ */ > protected void setImageInFigure(Image image) { } > > private void traverseChildren(PaletteEntry parent, boolean add) { >@@ -306,6 +378,9 @@ > } > } > >+/** >+ * The image cache for this edit part. >+ */ > protected static class ImageCache { > /** Map from ImageDescriptor to Image */ > private Map images = new HashMap(11); >Index: src/org/eclipse/gef/ui/palette/editparts/PaletteAnimator.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.gef/src/org/eclipse/gef/ui/palette/editparts/PaletteAnimator.java,v >retrieving revision 1.2 >diff -u -r1.2 PaletteAnimator.java >--- src/org/eclipse/gef/ui/palette/editparts/PaletteAnimator.java 1 Dec 2005 20:23:09 -0000 1.2 >+++ src/org/eclipse/gef/ui/palette/editparts/PaletteAnimator.java 18 Oct 2007 21:14:19 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2005 IBM Corporation and others. >+ * Copyright (c) 2000, 2007 IBM 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 >@@ -8,18 +8,22 @@ > * Contributors: > * IBM Corporation - initial API and implementation > *******************************************************************************/ >-package org.eclipse.gef.internal.ui.palette.editparts; >+package org.eclipse.gef.ui.palette.editparts; > > import java.util.ArrayList; > import java.util.Iterator; > import java.util.List; > >-import org.eclipse.draw2d.LayoutAnimator; > import org.eclipse.draw2d.IFigure; >+import org.eclipse.draw2d.LayoutAnimator; > >+import org.eclipse.gef.internal.ui.palette.editparts.DrawerEditPart; >+import org.eclipse.gef.internal.ui.palette.editparts.DrawerFigure; > import org.eclipse.gef.ui.palette.PaletteViewerPreferences; > > /** >+ * An animator for the layout of the palette. >+ * > * @author Randy Hudson, Pratik Shah > */ > public class PaletteAnimator extends LayoutAnimator { >@@ -28,16 +32,26 @@ > private PaletteViewerPreferences prefs; > > /** >- * Constructor >+ * Constructor for a PaletteAnimator >+ * @param prefs The palette PaletteViewerPreferencesPreferences > */ > public PaletteAnimator(PaletteViewerPreferences prefs) { > this.prefs = prefs; > } > >+/** >+ * Add a drawer to the palette. >+ * @param drawer the drawer. >+ */ > public void addDrawer(DrawerEditPart drawer) { > drawers.add(drawer.getFigure()); > } > >+/** >+ * Collapse the provided drawer if the automatoc collapse setting is enabled. >+ * @param openDrawer The drawer to collapse. >+ * @since 3.2 >+ */ > protected void autoCollapse(DrawerFigure openDrawer) { > int autoCollapseMode = prefs.getAutoCollapseSetting(); > >@@ -83,15 +97,25 @@ > } > } > >+/** >+ * @see org.eclipse.draw2d.Animator#playbackStarting(org.eclipse.draw2d.IFigure) >+ */ > public void playbackStarting(IFigure figure) { > if (figure instanceof DrawerFigure) > ((DrawerFigure)figure).setAnimating(true); > } > >+/** >+ * Remove the drawer. >+ * @param drawer the drawer. >+ */ > public void removeDrawer(DrawerEditPart drawer) { > drawers.remove(drawer.getFigure()); > } > >+/** >+ * @see org.eclipse.draw2d.Animator#init(org.eclipse.draw2d.IFigure) >+ */ > public void init(IFigure figure) { > if (figure instanceof DrawerFigure) { > DrawerFigure drawer = (DrawerFigure) figure; >@@ -102,6 +126,9 @@ > super.init(figure); > } > >+/** >+ * @see org.eclipse.draw2d.Animator#tearDown(org.eclipse.draw2d.IFigure) >+ */ > public void tearDown(IFigure figure) { > if (figure instanceof DrawerFigure) > ((DrawerFigure) figure).setAnimating(false); >Index: src/org/eclipse/gef/ui/palette/editparts/PaletteToolbarLayout.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.gef/src/org/eclipse/gef/ui/palette/editparts/PaletteToolbarLayout.java,v >retrieving revision 1.20 >diff -u -r1.20 PaletteToolbarLayout.java >--- src/org/eclipse/gef/ui/palette/editparts/PaletteToolbarLayout.java 30 Nov 2005 16:02:33 -0000 1.20 >+++ src/org/eclipse/gef/ui/palette/editparts/PaletteToolbarLayout.java 18 Oct 2007 21:14:19 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2005 IBM Corporation and others. >+ * Copyright (c) 2000, 2007 IBM 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 >@@ -8,7 +8,7 @@ > * Contributors: > * IBM Corporation - initial API and implementation > *******************************************************************************/ >-package org.eclipse.gef.internal.ui.palette.editparts; >+package org.eclipse.gef.ui.palette.editparts; > > import java.util.ArrayList; > import java.util.Iterator; >@@ -19,9 +19,11 @@ > import org.eclipse.draw2d.geometry.Dimension; > import org.eclipse.draw2d.geometry.Rectangle; > >+import org.eclipse.gef.internal.ui.palette.editparts.DrawerFigure; >+ > /** >- * A ToolbarLayout-like layout for the palette. This layout is palette-specific and >- * should not be used externally. This layout only works when vertically oriented. >+ * A ToolbarLayout-like layout for the palette. This layout only works when >+ * vertically oriented. > * > * @author Pratik Shah > */ >@@ -39,6 +41,9 @@ > return child instanceof DrawerFigure && ((DrawerFigure)child).isExpanded(); > } > >+/** >+ * @see org.eclipse.draw2d.ToolbarLayout#layout(org.eclipse.draw2d.IFigure) >+ */ > public void layout(IFigure parent) { > List children = parent.getChildren(); > List childrenGrabbingVertical = new ArrayList(); >Index: src/org/eclipse/gef/ui/palette/PaletteViewer.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.gef/src/org/eclipse/gef/ui/palette/PaletteViewer.java,v >retrieving revision 1.42 >diff -u -r1.42 PaletteViewer.java >--- src/org/eclipse/gef/ui/palette/PaletteViewer.java 29 Sep 2005 21:40:06 -0000 1.42 >+++ src/org/eclipse/gef/ui/palette/PaletteViewer.java 18 Oct 2007 21:14:19 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2005 IBM Corporation and others. >+ * Copyright (c) 2000, 2007 IBM 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 >@@ -32,7 +32,6 @@ > import org.eclipse.gef.editparts.SimpleRootEditPart; > import org.eclipse.gef.internal.ui.palette.PaletteSelectionTool; > import org.eclipse.gef.internal.ui.palette.editparts.DrawerEditPart; >-import org.eclipse.gef.internal.ui.palette.editparts.PaletteEditPart; > import org.eclipse.gef.internal.ui.palette.editparts.PaletteStackEditPart; > import org.eclipse.gef.internal.ui.palette.editparts.ToolEntryEditPart; > import org.eclipse.gef.palette.PaletteDrawer; >@@ -42,6 +41,7 @@ > import org.eclipse.gef.palette.PaletteStack; > import org.eclipse.gef.palette.ToolEntry; > import org.eclipse.gef.ui.palette.customize.PaletteCustomizerDialog; >+import org.eclipse.gef.ui.palette.editparts.PaletteEditPart; > import org.eclipse.gef.ui.parts.PaletteViewerKeyHandler; > import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer; > >Index: META-INF/MANIFEST.MF >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.gef/META-INF/MANIFEST.MF,v >retrieving revision 1.20 >diff -u -r1.20 MANIFEST.MF >--- META-INF/MANIFEST.MF 14 Aug 2007 18:34:04 -0000 1.20 >+++ META-INF/MANIFEST.MF 18 Oct 2007 21:14:18 -0000 >@@ -28,6 +28,7 @@ > org.eclipse.gef.ui.console.icons, > org.eclipse.gef.ui.palette, > org.eclipse.gef.ui.palette.customize, >+ org.eclipse.gef.ui.palette.editparts, > org.eclipse.gef.ui.parts, > org.eclipse.gef.ui.properties, > org.eclipse.gef.ui.rulers,
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 206800
: 80706