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

#5891 Connection/schema selector coloring

上级 6383c3e4
......@@ -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.basic.MTrimBar;
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.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
......@@ -27,6 +28,7 @@ import org.eclipse.ui.commands.ICommandService;
import org.eclipse.ui.internal.WorkbenchWindow;
import org.jkiss.dbeaver.model.DBPDataSourceContainer;
import org.jkiss.dbeaver.model.IDataSourceContainerProvider;
import org.jkiss.dbeaver.ui.UIUtils;
public class DataSourceToolbarUtils
{
......@@ -53,11 +55,23 @@ public class DataSourceToolbarUtils
if ("dbeaver-connection-selector".equals(element.getElementId())) {
boolean showConnectionSelector = false;
IEditorPart activeEditor = window.getActivePage().getActiveEditor();
DBPDataSourceContainer dataSourceContainer = null;
if (activeEditor instanceof IDataSourceContainerProvider) {
showConnectionSelector = true;
dataSourceContainer = ((IDataSourceContainerProvider) activeEditor).getDataSourceContainer();
}
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;
for (MUIElement tbItem : container.getChildren()) {
// 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.
先完成此消息的编辑!
想要评论请 注册