Skip to content
This repository has been archived by the owner on Jul 16, 2023. It is now read-only.

Commit

Permalink
View menu fix
Browse files Browse the repository at this point in the history
  • Loading branch information
cncgoko committed Aug 1, 2017
1 parent f5d5d57 commit cbedef1
Show file tree
Hide file tree
Showing 17 changed files with 140 additions and 7 deletions.
34 changes: 30 additions & 4 deletions Goko/src/goko/contribution/ViewMenuDynamicContribution.java
Expand Up @@ -11,6 +11,7 @@
import java.util.Map;

import javax.inject.Inject;
import javax.inject.Named;

import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
Expand All @@ -25,12 +26,15 @@
import org.eclipse.e4.ui.model.application.commands.MParameter;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
import org.eclipse.e4.ui.model.application.ui.menu.MMenu;
import org.eclipse.e4.ui.model.application.ui.menu.MMenuElement;
import org.eclipse.e4.ui.model.application.ui.menu.MMenuFactory;
import org.eclipse.e4.ui.workbench.modeling.EModelService;
import org.eclipse.e4.ui.workbench.modeling.EPartService;
import org.goko.core.log.GkLog;

public class ViewMenuDynamicContribution {
private static GkLog LOG = GkLog.getLogger(ViewMenuDynamicContribution.class);
public static final String VIEW_MENU_ENTRY_TAG = "view";
public static final String VIEW_NAME_PARAMETER = "org.goko.commands.toggleView.viewName";

Expand All @@ -43,22 +47,28 @@ public class ViewMenuDynamicContribution {
private MApplication application;
@Inject
private ECommandService commandService;
@Inject
@Optional
@Named("goko.menu.window")
private MMenu menu;

@AboutToHide
public void aboutToHide(List<MMenuElement> items) {

}

@AboutToShow
public void aboutToShow(List<MMenuElement> items) {

public void aboutToShow(List<MMenuElement> items) {
Collection<MPart> parts = partService.getParts();

Iterator<MPart> iterator = parts.iterator();

List<MMenuElement> children = new ArrayList<MMenuElement>();
List<String> existingChidlrenIds = new ArrayList<String>();
List<String> existingChidlrenIds = new ArrayList<String>();

MMenu viewMenu = getViewMenu(); // Get existing items. Dirty hack against eclipse bug ?
for (MMenuElement windowsElement : viewMenu.getChildren()) {
existingChidlrenIds.add(windowsElement.getElementId());
}
List<MCommand> commands = modelService.findElements(application, "goko.command.toggleView", MCommand.class, null);

if(CollectionUtils.isNotEmpty(commands)){
Expand Down Expand Up @@ -95,6 +105,22 @@ public void aboutToShow(List<MMenuElement> items) {
//viewSubmenu.getChildren().addAll(children);
}
}

private MMenu getViewMenu(){
List<MMenuElement> mainMenus = application.getChildren().get(0).getMainMenu().getChildren();
for (MMenuElement mMenuElement : mainMenus) {
if(StringUtils.equals(mMenuElement.getElementId(), "goko.menu.window")){
MMenu windowsMenu = (MMenu) mMenuElement;

for (MMenuElement windowsElement : windowsMenu.getChildren()) {
if(StringUtils.equals(windowsElement.getElementId(), "goko.menu.window.view")){
return (MMenu) windowsElement;
}
}
}
}
return null;
}
}


Expand Down
2 changes: 1 addition & 1 deletion GokoFeature/launch/Launch Goko.launch
Expand Up @@ -23,7 +23,7 @@
<stringAttribute key="product" value="Goko.product"/>
<stringAttribute key="productFile" value="\GokoFeature\GokoFeature.product"/>
<stringAttribute key="selected_target_plugins" value="ch.qos.logback.classic@default:default,ch.qos.logback.core@default:default,ch.qos.logback.slf4j@default:false,com.google.guava@default:default,com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet*3.1.0.v201410161800@default:default,javax.xml@default:default,org.apache.batik.css@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.commons.jxpath@default:default,org.apache.log4j@default:default,org.apache.lucene.analysis@default:default,org.apache.lucene.core@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.apache.xml.serializer@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86_64@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ecf@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.equinox.p2.publisher.eclipse@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.transport.ecf@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.jem.util@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.osgi.compatibility.plugins@default:false,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64*3.104.2.v20160212-1350@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.wst.common.core@default:default,org.eclipse.wst.common.emf@default:default,org.eclipse.wst.common.emfworkbench.integration@default:default,org.eclipse.wst.common.environment@default:default,org.eclipse.wst.common.frameworks@default:default,org.eclipse.wst.common.project.facet.core@default:default,org.eclipse.wst.common.uriresolver@default:default,org.eclipse.wst.sse.core@default:default,org.eclipse.wst.validation@default:default,org.eclipse.wst.xml.core@default:default,org.eclipse.wst.xsd.core@default:default,org.eclipse.xsd@default:default,org.hamcrest.core@default:default,org.jogamp.jogl-windows-amd64@default:false,org.jogamp.jogl@default:default,org.junit@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.slf4j.api@default:default,org.slf4j.impl.log4j12@default:false,org.tukaani.xz@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
<stringAttribute key="selected_workspace_plugins" value="Goko@default:default,com.eclipsesource.json@default:default,org.goko.controller.g2core@default:default,org.goko.controller.grbl.commons@default:default,org.goko.controller.grbl.v08@default:default,org.goko.controller.grbl.v09@default:default,org.goko.controller.grbl.v11@default:default,org.goko.controller.tinyg.commons@default:default,org.goko.controller.tinyg@default:default,org.goko.core.execution.monitor@default:default,org.goko.core.workspace@default:default,org.goko.core@default:default,org.goko.gcode.rs274ngcv3.jogl@default:default,org.goko.gcode.rs274ngcv3.ui@default:default,org.goko.gcode.rs274ngcv3.xml@default:default,org.goko.gcode.rs274ngcv3@default:default,org.goko.log.ui@default:default,org.goko.log@default:default,org.goko.tools.autoleveler@default:default,org.goko.tools.camera@default:default,org.goko.tools.centerfinder@default:default,org.goko.tools.commandpanel@default:default,org.goko.tools.dro@default:default,org.goko.tools.editor@default:default,org.goko.tools.macro@default:default,org.goko.tools.serial.jssc@default:default,org.goko.tools.shuttlexpress@default:default,org.goko.tools.viewer.jogl@default:default"/>
<stringAttribute key="selected_workspace_plugins" value="Goko@default:default,com.eclipsesource.json@default:default,org.goko.controller.g2core@default:default,org.goko.controller.grbl.commons@default:default,org.goko.controller.grbl.v08@default:default,org.goko.controller.grbl.v09@default:default,org.goko.controller.grbl.v11@default:default,org.goko.controller.tinyg.commons@default:default,org.goko.controller.tinyg@default:default,org.goko.core.execution.monitor@default:default,org.goko.core.workspace@default:default,org.goko.core@default:default,org.goko.gcode.rs274ngcv3.jogl@default:default,org.goko.gcode.rs274ngcv3.ui@default:default,org.goko.gcode.rs274ngcv3.xml@default:default,org.goko.gcode.rs274ngcv3@default:default,org.goko.log.ui@default:default,org.goko.log@default:default,org.goko.tools.autoleveler@default:default,org.goko.tools.camera@default:default,org.goko.tools.centerfinder@default:default,org.goko.tools.commandpanel@default:default,org.goko.tools.dro@default:default,org.goko.tools.editor@default:default,org.goko.tools.macro@default:default,org.goko.tools.serial.jssc@default:default,org.goko.tools.shuttlexpress@default:default,org.goko.tools.viewer.jogl@default:default,org.goko.tools.zeroprobe@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
Expand Down
1 change: 1 addition & 0 deletions org.goko.tools.zeroprobe/META-INF/MANIFEST.MF
Expand Up @@ -31,3 +31,4 @@ Import-Package: javax.annotation;version="1.2.0",
org.eclipse.core.runtime;version="3.5.0",
org.eclipse.e4.core.contexts,
org.osgi.framework;version="1.3.0"
Bundle-ActivationPolicy: lazy
3 changes: 2 additions & 1 deletion org.goko.tools.zeroprobe/build.properties
@@ -1,6 +1,7 @@
output.. = bin/
bin.includes = META-INF/,\
.,\
resources/
resources/,\
plugin.xml
source.. = src/,\
ui/
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ASCII"?>
<fragment:ModelFragments xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:fragment="http://www.eclipse.org/ui/2010/UIModel/fragment" xmi:id="_RvuSUHUTEeesZtZGYK0vtQ">
<fragments xsi:type="fragment:StringModelFragment" xmi:id="_hbavIHUTEeesZtZGYK0vtQ" featurename="children" parentElementId="goko.partstack.d">
<elements xsi:type="basic:Part" xmi:id="_lLnDQHUTEeesZtZGYK0vtQ" elementId="org.goko.tools.zeroprobe.part.probezero" contributionURI="bundleclass://org.goko.tools.zeroprobe/org.goko.tools.zeroprobe.ZeroProbePart" label="Probe Zero">
<elements xsi:type="basic:Part" xmi:id="_lLnDQHUTEeesZtZGYK0vtQ" elementId="org.goko.tools.zeroprobe.part.probezero" contributionURI="bundleclass://org.goko.tools.zeroprobe/org.goko.tools.zeroprobe.ZeroProbePart" label="Probe Zero" iconURI="platform:/plugin/org.goko.tools.zeroprobe/resources/icons/shape_align_left.png">
<tags>view</tags>
</elements>
</fragments>
Expand Down
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 26 additions & 0 deletions org.goko.tools.zeroprobe/target/MANIFEST.MF
@@ -0,0 +1,26 @@
Manifest-Version: 1.0
Bundle-SymbolicName: org.goko.tools.zeroprobe;singleton:=true
Bundle-Name: ZeropProbe
Bundle-Version: 0.3.5.201708012217
Require-Bundle: org.goko.core;bundle-version="0.0.1",org.eclipse.e4.co
re.di;bundle-version="1.1.0",org.eclipse.e4.ui.workbench.renderers.sw
t;bundle-version="0.10.2",org.eclipse.e4.ui.workbench;bundle-version=
"0.10.3",org.eclipse.e4.ui.services;bundle-version="0.10.2",org.eclip
se.e4.ui.di;bundle-version="0.10.1",org.eclipse.swt;bundle-version="3
.100.1",org.eclipse.core.commands;bundle-version="3.6.2",org.eclipse.
jface;bundle-version="3.8.102",javax.inject;bundle-version="1.0.0",or
g.eclipse.core.databinding;bundle-version="1.4.1",org.eclipse.core.da
tabinding.beans;bundle-version="1.2.200",org.eclipse.core.databinding
.observable;bundle-version="1.4.1",org.eclipse.core.databinding.prope
rty;bundle-version="1.4.200",org.eclipse.jface.databinding;bundle-ver
sion="1.6.200",com.ibm.icu,Goko;bundle-version="0.0.1",org.eclipse.e4
.ui.model.workbench,org.eclipse.e4.core.di.extensions,org.eclipse.equ
inox.preferences,org.goko.tools.viewer.jogl;bundle-version="0.0.2",or
g.jogamp.jogl;bundle-version="2.0.2",org.goko.gcode.rs274ngcv3
Bundle-ManifestVersion: 2
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Import-Package: javax.annotation;version="1.2.0",org.eclipse.core.runt
ime;version="3.5.0",org.eclipse.e4.core.contexts,org.osgi.framework;v
ersion="1.3.0"

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
4 changes: 4 additions & 0 deletions org.goko.tools.zeroprobe/target/local-artifacts.properties
@@ -0,0 +1,4 @@
#Wed Aug 02 00:17:43 CEST 2017
artifact.attached.p2metadata=G\:\\Git\\Goko\\org.goko.tools.zeroprobe\\target\\p2content.xml
artifact.main=G\:\\Git\\Goko\\org.goko.tools.zeroprobe\\target\\org.goko.tools.zeroprobe-0.3.5-SNAPSHOT.jar
artifact.attached.p2artifacts=G\:\\Git\\Goko\\org.goko.tools.zeroprobe\\target\\p2artifacts.xml
5 changes: 5 additions & 0 deletions org.goko.tools.zeroprobe/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
#Generated by Maven
#Wed Aug 02 00:17:43 CEST 2017
version=0.3.5-SNAPSHOT
groupId=org.goko
artifactId=org.goko.tools.zeroprobe
Binary file not shown.
13 changes: 13 additions & 0 deletions org.goko.tools.zeroprobe/target/p2artifacts.xml
@@ -0,0 +1,13 @@
<?xml version='1.0' encoding='UTF-8'?>
<?artifactRepository version='1.1.0'?>
<artifacts size='1'>
<artifact classifier='osgi.bundle' id='org.goko.tools.zeroprobe' version='0.3.5.201708012217'>
<properties size='5'>
<property name='artifact.size' value='17462'/>
<property name='download.size' value='17462'/>
<property name='maven-groupId' value='org.goko'/>
<property name='maven-artifactId' value='org.goko.tools.zeroprobe'/>
<property name='maven-version' value='0.3.5-SNAPSHOT'/>
</properties>
</artifact>
</artifacts>

0 comments on commit cbedef1

Please sign in to comment.