From 04949b733c9f5c12df51174572f0239723a7960d Mon Sep 17 00:00:00 2001 From: mbaudier Date: Tue, 3 Jul 2018 12:27:00 +0200 Subject: [PATCH] Introduce RAP main shell addon --- org.argeo.suite.e4.rap/build.properties | 4 ++- .../e4xmi/argeo-suite-rap-addons.e4xmi | 6 +++++ org.argeo.suite.e4.rap/plugin.xml | 12 +++++++++ .../argeo/suite/e4/rap/RapMainShellAddon.java | 26 +++++++++++++++++++ org.argeo.suite.e4/e4xmi/argeo-office.e4xmi | 2 -- 5 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 org.argeo.suite.e4.rap/e4xmi/argeo-suite-rap-addons.e4xmi create mode 100644 org.argeo.suite.e4.rap/plugin.xml create mode 100644 org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/RapMainShellAddon.java diff --git a/org.argeo.suite.e4.rap/build.properties b/org.argeo.suite.e4.rap/build.properties index 5cd4588..8a9000c 100644 --- a/org.argeo.suite.e4.rap/build.properties +++ b/org.argeo.suite.e4.rap/build.properties @@ -4,5 +4,7 @@ bin.includes = META-INF/,\ OSGI-INF/systemE4Service.xml,\ OSGI-INF/activitiesE4Service.xml,\ OSGI-INF/peopleE4Service.xml,\ - OSGI-INF/documentsE4Service.xml + OSGI-INF/documentsE4Service.xml,\ + e4xmi/argeo-suite-rap-addons.e4xmi,\ + plugin.xml source.. = src/ diff --git a/org.argeo.suite.e4.rap/e4xmi/argeo-suite-rap-addons.e4xmi b/org.argeo.suite.e4.rap/e4xmi/argeo-suite-rap-addons.e4xmi new file mode 100644 index 0000000..fe4dfc8 --- /dev/null +++ b/org.argeo.suite.e4.rap/e4xmi/argeo-suite-rap-addons.e4xmi @@ -0,0 +1,6 @@ + + + + + + diff --git a/org.argeo.suite.e4.rap/plugin.xml b/org.argeo.suite.e4.rap/plugin.xml new file mode 100644 index 0000000..27fe8b9 --- /dev/null +++ b/org.argeo.suite.e4.rap/plugin.xml @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/RapMainShellAddon.java b/org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/RapMainShellAddon.java new file mode 100644 index 0000000..4564e11 --- /dev/null +++ b/org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/RapMainShellAddon.java @@ -0,0 +1,26 @@ +package org.argeo.suite.e4.rap; + +import javax.annotation.PostConstruct; + +import org.eclipse.e4.ui.model.application.MApplication; +import org.eclipse.e4.ui.model.application.ui.basic.MWindow; +import org.eclipse.e4.ui.workbench.modeling.EModelService; +import org.eclipse.swt.SWT; + +public class RapMainShellAddon { + private final static String STYLE_OVERRIDE = "styleOverride"; + private final static String SHELL_MAXIMIZED = "shellMaximized"; + + @PostConstruct + void init(EModelService modelService, MApplication application) { + MWindow window = (MWindow) modelService.find("org.argeo.suite.e4.trimmedwindow.main", application); + String currentStyle = window.getPersistedState().get(STYLE_OVERRIDE); + int style = 8; + if (currentStyle != null) { + style = Integer.parseInt(currentStyle); + } + style = style | SWT.NO_TRIM; + window.getPersistedState().put(STYLE_OVERRIDE, Integer.toString(style)); + window.getTags().add(SHELL_MAXIMIZED); + } +} diff --git a/org.argeo.suite.e4/e4xmi/argeo-office.e4xmi b/org.argeo.suite.e4/e4xmi/argeo-office.e4xmi index 21bf78e..62a5a08 100644 --- a/org.argeo.suite.e4/e4xmi/argeo-office.e4xmi +++ b/org.argeo.suite.e4/e4xmi/argeo-office.e4xmi @@ -1,8 +1,6 @@ - - shellMaximized -- 2.30.2