diff --git a/plugins/org.jkiss.dbeaver.core.application/plugin.xml b/plugins/org.jkiss.dbeaver.core.application/plugin.xml index 2890df520d4959f28f453c8e8915f927b7e25890..9558ef580c55b857b8a9d9e552de1a408f8c4dfa 100644 --- a/plugins/org.jkiss.dbeaver.core.application/plugin.xml +++ b/plugins/org.jkiss.dbeaver.core.application/plugin.xml @@ -46,7 +46,9 @@ + + diff --git a/plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF b/plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF index 17b330122276e3b1dfb6d8c7501de8adf09504ab..9406841457f86b462b3bd41529df1796b7df802e 100644 --- a/plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF +++ b/plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF @@ -62,6 +62,7 @@ Export-Package: org.jkiss.dbeaver, org.jkiss.dbeaver.ui.dialogs.sql, org.jkiss.dbeaver.ui.editors.object.struct, org.jkiss.dbeaver.ui.dialogs.tools, + org.jkiss.dbeaver.ui.e4, org.jkiss.dbeaver.ui.dnd, org.jkiss.dbeaver.ui.editors, org.jkiss.dbeaver.ui.editors.binary, @@ -124,6 +125,9 @@ Require-Bundle: org.eclipse.core.runtime, org.jkiss.utils;visibility:=reexport, com.jcraft.jsch, org.objectweb.asm, + org.eclipse.e4.ui.model.workbench, + org.eclipse.e4.ui.workbench.swt, + org.eclipse.e4.ui.workbench.renderers.swt, org.eclipse.e4.ui.css.core, org.eclipse.e4.ui.css.swt Bundle-Vendor: JKISS diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/e4/DBeaverRendererFactory.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/e4/DBeaverRendererFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..6afc8aac301b83c8b645af37dcc92d452111613a --- /dev/null +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/e4/DBeaverRendererFactory.java @@ -0,0 +1,25 @@ +package org.jkiss.dbeaver.ui.e4; + +import org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer; +import org.eclipse.e4.ui.model.application.ui.MUIElement; +import org.eclipse.e4.ui.model.application.ui.basic.MPartStack; +import org.eclipse.e4.ui.workbench.renderers.swt.WorkbenchRendererFactory; + +public class DBeaverRendererFactory extends WorkbenchRendererFactory { + private DBeaverStackRenderer stackRenderer; + + public DBeaverRendererFactory() { + } + + @Override + public AbstractPartRenderer getRenderer(MUIElement uiElement, Object parent) { + if (uiElement instanceof MPartStack) { + if (stackRenderer == null) { + stackRenderer = new DBeaverStackRenderer(); + super.initRenderer(stackRenderer); + } + return stackRenderer; + } + return super.getRenderer(uiElement, parent); + } +} \ No newline at end of file diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/e4/DBeaverStackRenderer.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/e4/DBeaverStackRenderer.java new file mode 100644 index 0000000000000000000000000000000000000000..7f05f0492b0684a1a51c25e9b42a242b6dd4d086 --- /dev/null +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/e4/DBeaverStackRenderer.java @@ -0,0 +1,18 @@ +package org.jkiss.dbeaver.ui.e4; + +import org.eclipse.e4.ui.model.application.ui.basic.MPart; +import org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.MenuItem; + +public class DBeaverStackRenderer extends StackRenderer { + + @Override + protected void populateTabMenu(Menu menu, MPart part) { + super.populateTabMenu(menu, part); + + new MenuItem(menu, SWT.SEPARATOR); + } + +} \ No newline at end of file