提交 69ee5c20 编写于 作者: S Serge Rider

#5891 Connection/schema selector coloring

上级 6383c3e4
...@@ -20,6 +20,7 @@ import org.eclipse.e4.ui.model.application.ui.MElementContainer; ...@@ -20,6 +20,7 @@ import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement; import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.basic.MTrimBar; import org.eclipse.e4.ui.model.application.ui.basic.MTrimBar;
import org.eclipse.e4.ui.model.application.ui.basic.MTrimElement; import org.eclipse.e4.ui.model.application.ui.basic.MTrimElement;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI; import org.eclipse.ui.PlatformUI;
...@@ -27,6 +28,7 @@ import org.eclipse.ui.commands.ICommandService; ...@@ -27,6 +28,7 @@ import org.eclipse.ui.commands.ICommandService;
import org.eclipse.ui.internal.WorkbenchWindow; import org.eclipse.ui.internal.WorkbenchWindow;
import org.jkiss.dbeaver.model.DBPDataSourceContainer; import org.jkiss.dbeaver.model.DBPDataSourceContainer;
import org.jkiss.dbeaver.model.IDataSourceContainerProvider; import org.jkiss.dbeaver.model.IDataSourceContainerProvider;
import org.jkiss.dbeaver.ui.UIUtils;
public class DataSourceToolbarUtils public class DataSourceToolbarUtils
{ {
...@@ -53,11 +55,23 @@ public class DataSourceToolbarUtils ...@@ -53,11 +55,23 @@ public class DataSourceToolbarUtils
if ("dbeaver-connection-selector".equals(element.getElementId())) { if ("dbeaver-connection-selector".equals(element.getElementId())) {
boolean showConnectionSelector = false; boolean showConnectionSelector = false;
IEditorPart activeEditor = window.getActivePage().getActiveEditor(); IEditorPart activeEditor = window.getActivePage().getActiveEditor();
DBPDataSourceContainer dataSourceContainer = null;
if (activeEditor instanceof IDataSourceContainerProvider) { if (activeEditor instanceof IDataSourceContainerProvider) {
showConnectionSelector = true; showConnectionSelector = true;
dataSourceContainer = ((IDataSourceContainerProvider) activeEditor).getDataSourceContainer();
} }
if (element instanceof MElementContainer) { if (element instanceof MElementContainer) {
Object widget = element.getWidget();
if (widget instanceof Composite) {
Composite controlsPanel = (Composite) widget;
if (dataSourceContainer == null) {
controlsPanel.setBackground(null);
} else {
controlsPanel.setBackground(UIUtils.getConnectionTypeColor(dataSourceContainer.getConnectionConfiguration().getConnectionType()));
}
}
MElementContainer<? extends MUIElement> container = (MElementContainer<? extends MUIElement>)element; MElementContainer<? extends MUIElement> container = (MElementContainer<? extends MUIElement>)element;
for (MUIElement tbItem : container.getChildren()) { for (MUIElement tbItem : container.getChildren()) {
// Handle Eclipse bug. By default it doesn't update contents of main toolbar elements // Handle Eclipse bug. By default it doesn't update contents of main toolbar elements
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册