diff --git "a/org.eclipse.emf.cdo.threedee.agent/ThreeDee Agent \050Server\051.launch" "b/org.eclipse.emf.cdo.threedee.agent/ThreeDee Agent \050Server\051.launch"
index 6e3e7ac..4bc10bf 100644
--- "a/org.eclipse.emf.cdo.threedee.agent/ThreeDee Agent \050Server\051.launch"
+++ "b/org.eclipse.emf.cdo.threedee.agent/ThreeDee Agent \050Server\051.launch"
@@ -6,7 +6,7 @@
<booleanAttribute key="automaticAdd" value="false"/>
<booleanAttribute key="automaticValidate" value="false"/>
<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="org.eclipse.emf.cdo.threedee.agent"/>
+<stringAttribute key="checked" value="[NONE]"/>
<booleanAttribute key="clearConfig" value="true"/>
<booleanAttribute key="clearws" value="false"/>
<booleanAttribute key="clearwslog" value="false"/>
@@ -28,8 +28,8 @@
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx1024m -Ddebug=true -Dnet4j.config="${project_loc:/org.eclipse.emf.cdo.server.product-feature}/rootfiles/configuration" -Dorg.eclipse.emf.cdo.server.browser.port=7777 -Dorg.osgi.service.http.port=8080 -Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook -Dorg.eclipse.emf.cdo.threedee.agent.name="Server""/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<stringAttribute key="selected_target_plugins" value="org.eclipse.ui.workbench@default:default,org.eclipse.equinox.app@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.jface.databinding@default:default,org.eclipse.core.variables@default:default,org.eclipse.help@default:default,org.eclipse.core.databinding.observable@default:default,org.aspectj.runtime@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.postgresql.jdbc3@default:default,org.eclipse.core.resources@default:default,org.aspectj.weaver@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.core.expressions@default:default,org.eclipse.jface@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.osgi.services@default:default,org.h2@default:default,org.eclipse.core.contenttype@default:default,com.mysql.jdbc@default:default,com.mongodb@default:default,org.eclipse.equinox.weaving.hook@default:false,org.hsqldb@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.databinding@default:default,org.eclipse.ant.core@default:default,org.eclipse.osgi@-1:true,org.eclipse.core.databinding.property@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,javax.servlet@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.common@default:default,org.apache.derby@default:default,com.ibm.icu@default:default,org.eclipse.core.runtime@default:true,org.eclipse.equinox.weaving.aspectj@3:true,org.eclipse.team.core@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.common@2:true,org.eclipse.core.jobs@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.equinox.weaving.caching@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.ui@default:default,org.eclipse.swt@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.cdo.server.net4j@default:default,org.eclipse.net4j.util@default:default,org.eclipse.emf.cdo.server.mongodb@default:default,org.eclipse.emf.cdo.server.db@default:default,org.eclipse.net4j.db.derby@default:default,org.eclipse.net4j.db.h2@default:default,org.eclipse.net4j.db.mysql@default:default,org.eclipse.emf.cdo.server@default:default,org.eclipse.net4j.db.hsqldb@default:default,org.eclipse.net4j@default:default,org.eclipse.emf.cdo.threedee.agent@default:default,org.eclipse.emf.cdo@default:default,org.eclipse.net4j.tcp@default:default,org.eclipse.net4j.db@default:default,org.eclipse.net4j.db.postgresql@default:default,org.eclipse.emf.cdo.threedee.common@default:default,org.eclipse.emf.cdo.common@default:default"/>
+<stringAttribute key="selected_target_plugins" value="org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.weaving.caching@default:default,org.eclipse.ant.core@default:default,org.eclipse.core.databinding.observable@default:default,org.h2@default:default,org.hsqldb@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.ui@default:default,org.eclipse.help@default:default,org.aspectj.weaver@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.commands@default:default,org.eclipse.emf.common@default:default,com.ibm.icu@default:default,org.eclipse.osgi.services@default:default,javax.servlet@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.jobs@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.core.expressions@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.aspectj.runtime@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.variables@default:default,org.postgresql.jdbc3@default:default,org.eclipse.emf.ecore.change@default:default,com.mongodb@default:default,org.eclipse.team.core@default:default,org.eclipse.equinox.weaving.aspectj@3:true,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.equinox.preferences@default:default,org.eclipse.osgi@-1:true,org.eclipse.core.resources@default:default,org.eclipse.equinox.common@2:true,org.eclipse.emf.ecore@default:default,org.eclipse.jface@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.swt@default:default,org.eclipse.emf.ecore.xmi@default:default,org.apache.derby@default:default,com.mysql.jdbc@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.cdo.server.db@default:default,org.eclipse.emf.cdo.common@default:default,org.eclipse.net4j.db.hsqldb@default:default,org.eclipse.emf.cdo@default:default,org.eclipse.emf.cdo.server@default:default,org.eclipse.emf.cdo.threedee.common@default:default,org.eclipse.net4j.db.h2@default:default,org.eclipse.net4j.tcp@default:default,org.eclipse.net4j@default:default,org.eclipse.emf.cdo.threedee.agent@default:default,org.eclipse.net4j.db@default:default,org.eclipse.net4j.util@default:default,org.eclipse.net4j.db.mysql@default:default,org.eclipse.net4j.db.derby@default:default,org.eclipse.emf.cdo.server.net4j@default:default,org.eclipse.emf.cdo.server.mongodb@default:default,org.eclipse.net4j.db.postgresql@default:default"/>
<booleanAttribute key="show_selected_only" value="true"/>
<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
<booleanAttribute key="tracing" value="false"/>
diff --git a/org.eclipse.emf.cdo.threedee.ui/META-INF/MANIFEST.MF b/org.eclipse.emf.cdo.threedee.ui/META-INF/MANIFEST.MF
index 7a1fe6c..bc8f6c4 100644
--- a/org.eclipse.emf.cdo.threedee.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.emf.cdo.threedee.ui/META-INF/MANIFEST.MF
@@ -6,7 +6,8 @@
Bundle-Activator: org.eclipse.emf.cdo.threedee.ui.bundle.OM$Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
com.sun.j3d;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.emf.cdo.threedee;bundle-version="[1.0.0,2.0.0)"
+ org.eclipse.emf.cdo.threedee;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.ui
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: %providerName
diff --git a/org.eclipse.emf.cdo.threedee.ui/icons/sample.gif b/org.eclipse.emf.cdo.threedee.ui/icons/sample.gif
new file mode 100644
index 0000000..34fb3c9
--- /dev/null
+++ b/org.eclipse.emf.cdo.threedee.ui/icons/sample.gif
Binary files differ
diff --git a/org.eclipse.emf.cdo.threedee.ui/plugin.xml b/org.eclipse.emf.cdo.threedee.ui/plugin.xml
index abb64e7..78d8aca 100644
--- a/org.eclipse.emf.cdo.threedee.ui/plugin.xml
+++ b/org.eclipse.emf.cdo.threedee.ui/plugin.xml
@@ -29,5 +29,31 @@
name="Parameters">
</view>
</extension>
+ <extension
+ point="org.eclipse.ui.actionSets">
+ <actionSet
+ id="org.eclipse.emf.cdo.threedee.ui.actionSet"
+ label="Intro"
+ visible="true">
+ <menu
+ id="sampleMenu"
+ label="Sample &Menu">
+ <separator
+ name="sampleGroup">
+ </separator>
+ </menu>
+ <action
+ class="org.eclipse.emf.cdo.threedee.ui.actions.IntroAction"
+ icon="icons/world.gif"
+ id="org.eclipse.emf.cdo.threedee.ui.actions.IntroAction"
+ label="Intro"
+ menubarPath="sampleMenu/sampleGroup"
+ state="true"
+ style="push"
+ toolbarPath="sampleGroup"
+ tooltip="Intro">
+ </action>
+ </actionSet>
+ </extension>
</plugin>
diff --git a/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/ThreeDeeWorld.java b/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/ThreeDeeWorld.java
index 4053ce0..856a386 100644
--- a/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/ThreeDeeWorld.java
+++ b/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/ThreeDeeWorld.java
@@ -98,7 +98,7 @@
@SuppressWarnings("unused")
private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, ThreeDeeWorld.class);
- private static boolean PRODUCTION = false;
+ private static boolean PRODUCTION = true;
private Set<ElementDescriptor> disabledDescriptors = Collections.emptySet();
diff --git a/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/actions/IntroAction.java b/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/actions/IntroAction.java
new file mode 100644
index 0000000..d1acc1c
--- /dev/null
+++ b/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/actions/IntroAction.java
@@ -0,0 +1,67 @@
+package org.eclipse.emf.cdo.threedee.ui.actions;
+
+import org.eclipse.emf.cdo.threedee.ui.nodes.IntroPlanet;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.IWorkbenchWindowActionDelegate;
+
+/**
+ * Our sample action implements workbench action delegate. The action proxy will be created by the workbench and shown
+ * in the UI. When the user tries to use the action, this delegate will be created and execution will be delegated to
+ * it.
+ *
+ * @see IWorkbenchWindowActionDelegate
+ */
+public class IntroAction implements IWorkbenchWindowActionDelegate
+{
+ private IWorkbenchWindow window;
+
+ /**
+ * The constructor.
+ */
+ public IntroAction()
+ {
+ }
+
+ /**
+ * The action has been activated. The argument of the method represents the 'real' action sitting in the workbench UI.
+ *
+ * @see IWorkbenchWindowActionDelegate#run
+ */
+ public void run(IAction action)
+ {
+ IntroPlanet.START_LATCH.countDown();
+ // MessageDialog.openInformation(window.getShell(), "CDO Model Repository 3D UI", "Hello, Eclipse world");
+ }
+
+ /**
+ * Selection in the workbench has been changed. We can change the state of the 'real' action here if we want, but this
+ * can only happen after the delegate has been created.
+ *
+ * @see IWorkbenchWindowActionDelegate#selectionChanged
+ */
+ public void selectionChanged(IAction action, ISelection selection)
+ {
+ }
+
+ /**
+ * We can use this method to dispose of any system resources we previously allocated.
+ *
+ * @see IWorkbenchWindowActionDelegate#dispose
+ */
+ public void dispose()
+ {
+ }
+
+ /**
+ * We will cache window object in order to be able to provide parent shell for the message dialog.
+ *
+ * @see IWorkbenchWindowActionDelegate#init
+ */
+ public void init(IWorkbenchWindow window)
+ {
+ this.window = window;
+ }
+}
diff --git a/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/nodes/IntroPlanet.java b/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/nodes/IntroPlanet.java
index 373893f..bf4a027 100644
--- a/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/nodes/IntroPlanet.java
+++ b/org.eclipse.emf.cdo.threedee.ui/src/org/eclipse/emf/cdo/threedee/ui/nodes/IntroPlanet.java
@@ -56,12 +56,15 @@
import java.awt.Font;
import java.net.URL;
+import java.util.concurrent.CountDownLatch;
/**
* @author Eike Stepper
*/
public class IntroPlanet extends BranchGroup implements IColors
{
+ public static final CountDownLatch START_LATCH = new CountDownLatch(1);
+
private static final float RADIUS = 5.0f;
private static final double Y0 = 9.5;
@@ -129,8 +132,9 @@
{
try
{
- System.out.println("Press enter to start intro...");
- System.in.read();
+ START_LATCH.await();
+ // System.out.println("Press enter to start intro...");
+ // System.in.read();
}
catch (Exception ex)
{
@@ -138,7 +142,6 @@
}
IntroPlanet planet = new IntroPlanet(world);
-
planet.start();
}
}.start();
@@ -149,9 +152,9 @@
new SoundPlayer("zarathustra.wav").start();
new ChimeIn().start();
- new TextAnimation(0, 34, 400, "Eike Stepper", 1).start();
- new TextAnimation(0, 53, 500, "Martin Flügge", 1).start();
- new TextAnimation(1, 12, 600, "EclipseCon 2011", 1).start();
+ new TextAnimation(0, 34, 400, "Wahlendorf", 1).start();
+ new TextAnimation(0, 53, 500, "Paranor AG", 1).start();
+ new TextAnimation(1, 12, 600, "Eike Stepper", 1).start();
new TextAnimation(1, 34, 0, "CDO3D", 3)
{
@Override