Bug 145635 - Support for debug view pin & clone
- Changed background of breadcrumb in pinned view, vs. in Debug view.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItemDetails.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItemDetails.java
index 2e8a4b0..548dabd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItemDetails.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItemDetails.java
@@ -199,10 +199,10 @@
}
public void setBackground(Color color) {
- if (color == null) {
+ if (color != null) {
color = fTextComposite.getBackground();
+ fElementText.setBackground(color);
}
- fElementText.setBackground(color);
}
public Color getForeground() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java
index 324309a..cff8d41 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java
@@ -825,10 +825,15 @@
GC gc= new GC(result);
- Color colorC= createColor(SWT.COLOR_WIDGET_BACKGROUND, SWT.COLOR_LIST_BACKGROUND, 35, display);
- Color colorD= createColor(SWT.COLOR_WIDGET_BACKGROUND, SWT.COLOR_LIST_BACKGROUND, 45, display);
- Color colorE= createColor(SWT.COLOR_WIDGET_BACKGROUND, SWT.COLOR_LIST_BACKGROUND, 80, display);
- Color colorF= createColor(SWT.COLOR_WIDGET_BACKGROUND, SWT.COLOR_LIST_BACKGROUND, 70, display);
+ boolean flat = (getStyle() & SWT.FLAT) != 0;
+
+ int blendForeground = flat ? SWT.COLOR_LIST_BACKGROUND : SWT.COLOR_WIDGET_BACKGROUND;
+ int blendBackground = flat ? SWT.COLOR_WIDGET_BACKGROUND : SWT.COLOR_WIDGET_NORMAL_SHADOW;
+
+ Color colorC= createColor(blendBackground, blendForeground, 35, display);
+ Color colorD= createColor(blendBackground, blendForeground, 45, display);
+ Color colorE= createColor(blendBackground, blendForeground, 80, display);
+ Color colorF= createColor(blendBackground, blendForeground, 70, display);
Color colorG= createColor(SWT.COLOR_WIDGET_BACKGROUND, SWT.COLOR_WHITE, 45, display);
Color colorH= createColor(SWT.COLOR_WIDGET_NORMAL_SHADOW, SWT.COLOR_LIST_BACKGROUND, 35, display);
@@ -857,7 +862,7 @@
colorG.dispose();
colorH.dispose();
}
-
+
return result;
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/AbstractLaunchViewBreadcrumb.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/AbstractLaunchViewBreadcrumb.java
index 6b1afb7..6a8394f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/AbstractLaunchViewBreadcrumb.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/AbstractLaunchViewBreadcrumb.java
@@ -516,8 +516,12 @@
}
}
+ protected int getStyle() {
+ return SWT.NONE;
+ }
+
protected BreadcrumbViewer createViewer(Composite parent) {
- fViewer = new BreadcrumbViewer(parent, SWT.NONE) {
+ fViewer = new BreadcrumbViewer(parent, getStyle()) {
protected Control createDropDown(Composite dropDownParent, IBreadcrumbDropDownSite site, TreePath path) {
return createDropDownControl(dropDownParent, site, path);
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java
index 4cb32fa..39ce4a4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java
@@ -15,6 +15,7 @@
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
+import org.eclipse.swt.SWT;
import org.eclipse.swt.events.MenuDetectEvent;
import org.eclipse.swt.events.MenuDetectListener;
import org.eclipse.swt.widgets.Menu;
@@ -46,6 +47,10 @@
return getLaunchView().isBreadcrumbVisible();
}
+ protected int getStyle() {
+ return SWT.FLAT;
+ }
+
protected void createMenuManager() {
MenuManager menuMgr = new MenuManager("#PopUp"); //$NON-NLS-1$
menuMgr.setRemoveAllWhenShown(true);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/NewViewInstanceAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/NewViewInstanceAction.java
index 7636fe3..8d53a89 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/NewViewInstanceAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/NewViewInstanceAction.java
@@ -58,7 +58,7 @@
if (fView instanceof IPinnablePart) {
createNewPart(fView);
}
- fView.getSite().getPage().showView(viewId, secondaryId, IWorkbenchPage.VIEW_VISIBLE);
+ fView.getSite().getPage().showView(viewId, secondaryId, IWorkbenchPage.VIEW_ACTIVATE);
} catch (PartInitException e) {
DebugUIPlugin.log(e);
}