diff options
| author | Lars Vogel | 2014-03-12 14:42:45 +0000 |
|---|---|---|
| committer | Lars Vogel | 2014-03-12 23:47:16 +0000 |
| commit | 2cc39fc98fc6e7e4901c82cbeaab40ac60cde46b (patch) | |
| tree | c356b61f746b3d02891b3b1d4092d3786c3db22e | |
| parent | b97659ac5a6ae3424e14d5a5a5699ea6f2141677 (diff) | |
| download | eclipse.platform.ui-2cc39fc98fc6e7e4901c82cbeaab40ac60cde46b.tar.gz eclipse.platform.ui-2cc39fc98fc6e7e4901c82cbeaab40ac60cde46b.tar.xz eclipse.platform.ui-2cc39fc98fc6e7e4901c82cbeaab40ac60cde46b.zip | |
Bug 430166 - Replace view menu button with png to make it look good on a
dark background
Change-Id: Id62a0c8cbd5c1c1ead9d0138b9194118632cdee0
Signed-off-by: Lars Vogel <Lars.Vogel@gmail.com>
2 files changed, 16 insertions, 45 deletions
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/icons/full/etool16/view_dropdown.png b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/icons/full/etool16/view_dropdown.png Binary files differnew file mode 100644 index 00000000000..7919c95573f --- /dev/null +++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/icons/full/etool16/view_dropdown.png diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java index 8a9590171e5..44b6cc83f7e 100644 --- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java +++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java @@ -7,10 +7,11 @@ * * Contributors: * IBM Corporation - initial API and implementation - * Lars Vogel <Lars.Vogel@gmail.com> - Bug 429728 + * Lars Vogel <Lars.Vogel@gmail.com> - Bug 429728, 430166 *******************************************************************************/ package org.eclipse.e4.ui.workbench.renderers.swt; +import java.net.URL; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -20,6 +21,8 @@ import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import javax.inject.Inject; import javax.inject.Named; +import org.eclipse.core.runtime.FileLocator; +import org.eclipse.core.runtime.Path; import org.eclipse.e4.core.contexts.IEclipseContext; import org.eclipse.e4.core.di.annotations.Optional; import org.eclipse.e4.core.services.events.IEventBroker; @@ -57,6 +60,7 @@ import org.eclipse.e4.ui.workbench.swt.util.ISWTResourceUtilities; import org.eclipse.jface.action.IContributionItem; import org.eclipse.jface.action.LegacyActionTools; import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.SWT; import org.eclipse.swt.accessibility.ACC; import org.eclipse.swt.accessibility.Accessible; @@ -78,10 +82,7 @@ import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.events.TraverseEvent; import org.eclipse.swt.events.TraverseListener; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.RowData; @@ -97,6 +98,8 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.ToolBar; import org.eclipse.swt.widgets.ToolItem; import org.eclipse.swt.widgets.Widget; +import org.osgi.framework.Bundle; +import org.osgi.framework.FrameworkUtil; import org.osgi.service.event.Event; import org.osgi.service.event.EventHandler; import org.w3c.dom.css.CSSValue; @@ -123,9 +126,9 @@ public class StackRenderer extends LazyStackRenderer { private static final String STACK_SELECTED_PART = "stack_selected_part"; //$NON-NLS-1$ /** - * Add this tag to prevent the next tab's activation from granting focus toac - * the part. This is used to keep the focus on the CTF when traversing the - * tabs using the keyboard. + * Add this tag to prevent the next tab's activation from granting focus + * toac the part. This is used to keep the focus on the CTF when traversing + * the tabs using the keyboard. */ private static final String INHIBIT_FOCUS = "InhibitFocus"; //$NON-NLS-1$ @@ -1290,42 +1293,12 @@ public class StackRenderer extends LazyStackRenderer { private Image getViewMenuImage() { if (viewMenuImage == null) { - Display d = Display.getCurrent(); - - Image viewMenu = new Image(d, 16, 16); - Image viewMenuMask = new Image(d, 16, 16); - - Display display = Display.getCurrent(); - GC gc = new GC(viewMenu); - GC maskgc = new GC(viewMenuMask); - gc.setForeground(display - .getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW)); - gc.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND)); - - int[] shapeArray = new int[] { 6, 1, 15, 1, 11, 5, 10, 5 }; - gc.fillPolygon(shapeArray); - gc.drawPolygon(shapeArray); - - Color black = display.getSystemColor(SWT.COLOR_BLACK); - Color white = display.getSystemColor(SWT.COLOR_WHITE); - - maskgc.setBackground(black); - maskgc.fillRectangle(0, 0, 16, 16); - - maskgc.setBackground(white); - maskgc.setForeground(white); - maskgc.fillPolygon(shapeArray); - maskgc.drawPolygon(shapeArray); - gc.dispose(); - maskgc.dispose(); - - ImageData data = viewMenu.getImageData(); - data.transparentPixel = data.getPixel(0, 0); - - viewMenuImage = new Image(d, viewMenu.getImageData(), - viewMenuMask.getImageData()); - viewMenu.dispose(); - viewMenuMask.dispose(); + Bundle bundle = FrameworkUtil.getBundle(this.getClass()); + URL url = FileLocator.find(bundle, new Path( + "icons/full/etool16/view_dropdown.png"), null); //$NON-NLS-1$ + ImageDescriptor imageDescriptor = ImageDescriptor + .createFromURL(url); + viewMenuImage = imageDescriptor.createImage(); } return viewMenuImage; } @@ -1650,6 +1623,4 @@ public class StackRenderer extends LazyStackRenderer { } } - - } |
