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 44429 Details for
Bug 142109
TVT3.2:TCT502: AR: GMF: Tool Tips from the Popup Bar disappears.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
patch for DiagramPopupBarEditPolicy
patchDiagramPopupBarEditPolicy2.txt (text/plain), 4.30 KB, created by
Tom Macdougall
on 2006-06-14 13:38:21 EDT
(
hide
)
Description:
patch for DiagramPopupBarEditPolicy
Filename:
MIME Type:
Creator:
Tom Macdougall
Created:
2006-06-14 13:38:21 EDT
Size:
4.30 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.gmf.runtime.diagram.ui >Index: src/org/eclipse/gmf/runtime/diagram/ui/editpolicies/DiagramPopupBarEditPolicy.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui/src/org/eclipse/gmf/runtime/diagram/ui/editpolicies/DiagramPopupBarEditPolicy.java,v >retrieving revision 1.1 >diff -u -r1.1 DiagramPopupBarEditPolicy.java >--- src/org/eclipse/gmf/runtime/diagram/ui/editpolicies/DiagramPopupBarEditPolicy.java 2 Nov 2005 23:30:15 -0000 1.1 >+++ src/org/eclipse/gmf/runtime/diagram/ui/editpolicies/DiagramPopupBarEditPolicy.java 14 Jun 2006 17:39:07 -0000 >@@ -14,6 +14,7 @@ > import java.util.Iterator; > import java.util.List; > >+import org.eclipse.gef.GraphicalEditPart; > import org.eclipse.gef.Tool; > import org.eclipse.gef.palette.PaletteContainer; > import org.eclipse.gef.palette.PaletteDrawer; >@@ -27,6 +28,11 @@ > import org.eclipse.gmf.runtime.diagram.ui.tools.CreationTool; > import org.eclipse.gmf.runtime.emf.type.core.IElementType; > import org.eclipse.gmf.runtime.gef.ui.internal.palette.PaletteStack; >+import org.eclipse.jface.resource.ImageDescriptor; >+import org.eclipse.swt.SWT; >+import org.eclipse.swt.graphics.Image; >+import org.eclipse.swt.graphics.ImageData; >+import org.eclipse.swt.graphics.RGB; > > /** > * This is the default popup bar editpolicy installed on diagrams. The popup bar >@@ -162,8 +168,14 @@ > IElementType theToolType = theXtoolsTool > .getElementType(); > if ((theToolType != null)) { >- addPopupBarDescriptor(theToolType, IconService >- .getInstance().getIcon(theToolType)); >+ >+ Image image = IconService.getInstance().getIcon(theToolType); >+ >+ // Workaround for mirroring and SWT.ICON issue >+ if (image.type == SWT.ICON && isMirrored()) { >+ image = convert(image); >+ } >+ addPopupBarDescriptor(theToolType, image); > } > } > } else if (theEntry instanceof PaletteStack) { >@@ -175,6 +187,39 @@ > } > } > } >+ >+ private boolean isMirrored() { >+ return ((getHost().getViewer().getControl().getStyle() & SWT.MIRRORED) != 0); >+ } >+ >+ private Image convert( Image srcImage) { >+ int height = srcImage.getBounds().height; >+ int width = srcImage.getBounds().width; >+ >+ ImageData srcImageData = srcImage.getImageData(); >+ >+ RGB backgroundRGB = ((GraphicalEditPart) getHost()).getFigure().getBackgroundColor().getRGB(); >+ int backgroundColor = srcImageData.palette.getPixel(backgroundRGB); >+ >+ // Set the transparent pixels to the background color >+ int count = 0; >+ for (int y = 0; y < height; y++) { >+ for (int x = 0; x < width; x++) { >+ if (((srcImageData.maskData[count>>3] >> (7-(count % 8))) & 1) == 0) { >+ srcImageData.setPixel(x, y, backgroundColor); >+ } >+ count++; >+ } >+ } >+ srcImageData.maskData = null; >+ >+ Image convertedImage = ImageDescriptor.createFromImageData(srcImageData).createImage(srcImage.getDevice()); >+ >+ imagesToBeDisposed.add(convertedImage); >+ >+ return convertedImage; >+ } >+ > > /** > * Adds popup bar descriptors for all the shape tools in the palette drawer >@@ -183,17 +228,19 @@ > private void fillBasedOnOpenPaletteDrawer() { > PaletteViewer paletteViewer = getHost().getViewer().getEditDomain() > .getPaletteViewer(); >- for (Iterator iter = paletteViewer.getPaletteRoot().getChildren() >- .iterator(); iter.hasNext();) { >- Object child = iter.next(); >- if (child instanceof PaletteDrawer) { >- PaletteDrawer drawer = (PaletteDrawer) child; >- if (drawer.isInitiallyOpen()) { >- fillWithPaletteToolsInContainer(drawer); >- break; >- } >- } >- } >+ if (paletteViewer != null) { >+ for (Iterator iter = paletteViewer.getPaletteRoot().getChildren() >+ .iterator(); iter.hasNext();) { >+ Object child = iter.next(); >+ if (child instanceof PaletteDrawer) { >+ PaletteDrawer drawer = (PaletteDrawer) child; >+ if (drawer.isInitiallyOpen()) { >+ fillWithPaletteToolsInContainer(drawer); >+ break; >+ } >+ } >+ } >+ } > } > > /**
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 142109
:
41670
|
43527
|
43638
|
44166
| 44429