Hallo zusammen,
ich hätte sicher tausend Sachen, die ich noch gern machen würde, wie z.B. EMF, xText, und neue Appkikationen auf Basis von e4 erstellen, aber zunächst einmal möchte ich mich daran versuchen eine bestehende Anwendung auf e4 Laufen zu bringen.
Ich habe mir einen älteren Blogeintrag (11.2010) herausgesucht, der das zum Thema hatte und es einmal ausprobiert:
1) Kopieren der Legacy.e4xmi in meine Anwendung.
2) Anpassen dieser Datei, so dass sie das Menü und die Toolbar enthält. Sowie den Perspective Stack natürlich.
3) CSS und images spassenshalber kopiert.
4) plugin.xml angepasst, um die CSS zu registrieren und das Produkt anzupassen
5) neues product angelegt und IMHO alle dependencies hinzugefügt (also wenn ich jetzt "add required plugins" drücke, kommt nichts neues mehr hinzu).
6) Programm gestartet............... CRASH!?
Das Programm zeigt kurz den Splash-Screen, ich sehe auch eine der Log-Meldungen des Activators, dann aber beendet sich das Programm ohne weitere Meldungen. Keine Exceptions. Nichts. Ich kann auch nicht verifizieren, ob die JVM abgestürzt ist, da keine der typischen Files im meinem Home-Verzeichnis liegen.
Das ist nicht sehr hilfreich. Weder für mich, noch für euch, aber vielleicht habt ihr das ja schon mal hin bekommen und könnt mir Tips geben. Ansonsten - mal sehen, vielleicht antwortet ja der Blogger noch mal - ich hab da auch schon einen Kommentar hinterlassen ;-)
Wie auch immer: Danke im voraus!
Daniel
ich hätte sicher tausend Sachen, die ich noch gern machen würde, wie z.B. EMF, xText, und neue Appkikationen auf Basis von e4 erstellen, aber zunächst einmal möchte ich mich daran versuchen eine bestehende Anwendung auf e4 Laufen zu bringen.
Ich habe mir einen älteren Blogeintrag (11.2010) herausgesucht, der das zum Thema hatte und es einmal ausprobiert:
1) Kopieren der Legacy.e4xmi in meine Anwendung.
2) Anpassen dieser Datei, so dass sie das Menü und die Toolbar enthält. Sowie den Perspective Stack natürlich.
Code:
<?xml version="1.0" encoding="ASCII"?>
<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:advanced="http://www.eclipse.org/ui/2010/UIModel/application/ui/advanced" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmi:id="org.eclipse.e4.legacy.ide.application" elementId="org.eclipse.e4.legacy.ide.application" bindingContexts="_SeXUHO8EEd6BC9cDb6iV7y">
<children xsi:type="basic:TrimmedWindow" xmi:id="_xXmqQJ1-EeCU_Zqrapwoxg" elementId="PCPWindow" label="PFS Customer Platform" iconURI="platform:/plugin/com.ipoque.p2p.tracker.rcp.pfs.ssdtool/icons/ipqlogo_16.gif" width="1024" height="768">
<children xsi:type="advanced:PerspectiveStack" xmi:id="_foJJcJ1_EeCU_Zqrapwoxg">
<children xsi:type="advanced:Perspective" xmi:id="_wVcQYJ2DEeCU_Zqrapwoxg" elementId="com.ipoque.p2p.tracker.rcp.pfs.ssdtool.ui.reportConfigurationPerspective" label="PFS Customer Perspective" iconURI="platform:/plugin/com.ipoque.p2p.tracker.rcp.pfs.ssdtool/icons/ipqlogo_16.gif"/>
</children>
<mainMenu xmi:id="_3qoukJ1-EeCU_Zqrapwoxg" elementId="menu:org.eclipse.ui.main.menu"/>
<trimBars xmi:id="_JqHy8J1_EeCU_Zqrapwoxg">
<children xsi:type="menu:ToolBar" xmi:id="_OpDyIJ1_EeCU_Zqrapwoxg" elementId="toolbar:org.eclipse.ui.main.toolbar"/>
</trimBars>
</children>
<handlers xmi:id="_UW9TY_r3Ed6gmo7caOxU9g" elementId="_UW9TY_r3Ed6gmo7caOxU9g" contributionURI="platform:/plugin/org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.ExitHandler" command="e4.exit"/>
<handlers xmi:id="_BESTZfr3Ed6gmo7caOxU04" elementId="_BESTZfr3Ed6gmo7caOxU04" contributionURI="platform:/plugin/org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.internal.workbench.swt.handlers.ShowViewHandler" command="e4.show.view"/>
<handlers xmi:id="_eTBRgAFSEd-Z8rQksLwRYw" elementId="org.eclipse.e4.ui.saveHandler" contributionURI="platform:/plugin/org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.handlers.SaveHandler" command="_jR5mUAFSEd-Z8rQksLwRYw"/>
<handlers xmi:id="_eTBRgAFSEd-Z8rQksLwRYx" elementId="org.eclipse.e4.ui.saveAllHandler" contributionURI="platform:/plugin/org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.handlers.SaveAllHandler" command="_jR5mUAFSEd-Z8rQksLwRYx"/>
<bindingTables xmi:id="_SeXUEO8EEd6FC9cDb6iV7x" bindingContext="_SeXUHO8EEd6BC9cDb6iV7y">
<bindings xmi:id="_UW9TZfr3Ed6gmo7caOxU9g" elementId="_UW9TZfr3Ed6gmo7caOxU9g" keySequence="CTRL+Q" command="e4.exit"/>
<bindings xmi:id="_oRr6EAFSEd-Z8rQksLwRYw" elementId="_oRr6EAFSEd-Z8rQksLwRYw" keySequence="CTRL+S" command="_jR5mUAFSEd-Z8rQksLwRYw"/>
<bindings xmi:id="_oRr6EAFSEd-Z8rQksLwRYx" keySequence="CTRL+SHIFT+S" command="_jR5mUAFSEd-Z8rQksLwRYx"/>
</bindingTables>
<rootContext xmi:id="_SeXUHO8EEd6BC9cDb6iV7y" elementId="org.eclipse.ui.contexts.dialogAndWindow" name="In Dialog and Windows">
<children xmi:id="_SeXUEO8EEd6FC9cDb6iV7w" elementId="org.eclipse.ui.contexts.window" name="In Windows">
<children xmi:id="_SeXUEO8EEd6FC9cDb6yV7x" elementId="org.eclipse.e4.ui.contexts.views" name="In Binding View"/>
</children>
<children xmi:id="_SeXUEO8EEd6FC9cDb6iV7x" elementId="org.eclipse.ui.contexts.dialog" name="In Dialogs"/>
</rootContext>
<commands xmi:id="e4.exit" elementId="e4.exit" commandName="Exit" description=""/>
<commands xmi:id="e4.show.view" elementId="e4.show.view" commandName="Show View">
<parameters xmi:id="_oRr6EAFSEd-Z8rQksLwRYz" elementId="org.eclipse.ui.views.showView.viewId" name="View"/>
</commands>
<commands xmi:id="_jR5mUAFSEd-Z8rQksLwRYw" elementId="org.eclipse.e4.ui.saveCommands" commandName="Save"/>
<commands xmi:id="_jR5mUAFSEd-Z8rQksLwRYx" elementId="org.eclipse.e4.ui.saveAllCommands" commandName="Save All"/>
<addons xmi:id="_XGB3wPZlEd-XstlTZ6nTXg" elementId="org.eclipse.e4.core.commands.service" contributionURI="platform:/plugin/org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
<addons xmi:id="_XGB3wPZlEd-XstlTZ6nTXh" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="platform:/plugin/org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
<addons xmi:id="_XGB3wPZlEd-XstlTZ6nTXi" elementId="org.eclipse.e4.ui.bindings.service" contributionURI="platform:/plugin/org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"/>
<addons xmi:id="_LK0NgPZmEd-XstlTZ6nTXj" elementId="org.eclipse.e4.ui.workbench.commands.model" contributionURI="platform:/plugin/org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
<addons xmi:id="_LK0NgPZmEd-XstlTZ6nTXk" elementId="org.eclipse.e4.ui.workbench.contexts.model" contributionURI="platform:/plugin/org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
<addons xmi:id="_LK0NgPZmEd-XstlTZ6nTXl" elementId="org.eclipse.e4.ui.workbench.bindings.model" contributionURI="platform:/plugin/org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon"/>
<addons xmi:id="_XwQYkE2EEd-DfN2vYY4Lew" elementId="Cleanup Addon" contributionURI="platform:/plugin/org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.cleanupaddon.CleanupAddon"/>
<addons xmi:id="_bqcWME2EEd-DfN2vYY4Lew" elementId="DnD Addon" contributionURI="platform:/plugin/org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.dndaddon.DnDAddon"/>
<addons xmi:id="_7GC6sGp-Ed-QyNZjH9g15Q" elementId="MinMax Addon" contributionURI="platform:/plugin/org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.MinMaxAddon"/>
</application:Application>
4) plugin.xml angepasst, um die CSS zu registrieren und das Produkt anzupassen
Code:
...
<extension
id="product"
point="org.eclipse.core.runtime.products">
<product
application="myrcp.application"
name="My RCP">
<property
name="windowImages"
value="icons/ipqlogo_16.gif,icons/ipqlogo_32.gif,icons/ipqlogo_64.gif,icons/ipqlogo_128.gif">
</property>
<property
name="appName"
value="My RCP">
</property>
<property
name="preferenceCustomization"
value="plugin_customization.ini">
</property>
<property
name="startupForegroundColor"
value="000000">
</property>
<property
name="startupMessageRect"
value="100,20,350,20">
</property>
<property
name="startupProgressRect"
value="100,40,350,15">
</property>
<property
name="aboutImage"
value="icons/ipqlogo_128.gif">
</property>
<property
name="applicationXMI"
value="org.eclipse.platform/LegacyIDE.e4xmi">
</property>
<property
name="cssTheme"
value="org.eclipse.e4.ui.css.theme.e4_default">
</property>
<property
name="applicationCSSResources"
value="platform:/plugin/myrcp.pfs.ssdtool/images/">
</property>
</product>
</extension>
...
<extension
point="org.eclipse.e4.ui.css.swt.theme">
<theme
basestylesheeturi="css/e4_default.css"
id="org.eclipse.e4.ui.css.theme.e4_default.noos"
label="Default Theme">
</theme>
<theme
basestylesheeturi="css/e4_classic_winxp.css"
id="org.eclipse.e4.ui.css.theme.e4_classic"
label="Classic">
</theme>
<theme
basestylesheeturi="css/e4_default_gtk.css"
id="org.eclipse.e4.ui.css.theme.e4_default"
label="GTK"
os="linux">
</theme>
<theme
basestylesheeturi="css/e4_default_mac.css"
id="org.eclipse.e4.ui.css.theme.e4_default"
label="Mac"
os="macosx">
</theme>
<theme
basestylesheeturi="css/e4_default_win7.css"
id="org.eclipse.e4.ui.css.theme.e4_default"
label="Win7"
os="win32"
os_version="6.1">
</theme>
<theme
basestylesheeturi="css/e4_default_winxp_blu.css"
id="org.eclipse.e4.ui.css.theme.e4_default"
label="Win XP Blue"
os="win32">
</theme>
<theme
basestylesheeturi="css/e4_default_winxp_olv.css"
id="org.eclipse.e4.ui.css.theme.e4_default.xpolive"
label="Win XP Olive"
os="win32">
</theme>
<theme
basestylesheeturi="css/e4_classic_win7.css"
id="org.eclipse.e4.ui.css.theme.e4_classic"
label="Win 7 Classic"
os="win32"
os_version="6.1">
</theme>
<theme
basestylesheeturi="css/e4_default_gtk.css"
id="org.eclipse.e4.ui.css.theme.e4_default"
label="Solaris"
os="solaris">
</theme>
<theme
basestylesheeturi="css/e4_default_gtk.css"
id="org.eclipse.e4.ui.css.theme.e4_default"
label="AIX"
os="aix">
</theme>
<theme
basestylesheeturi="css/e4_classic_winxp.css"
id="org.eclipse.e4.ui.css.theme.e4_default"
label="HPUX"
os="hpux">
</theme>
</extension>
...
6) Programm gestartet............... CRASH!?
Das Programm zeigt kurz den Splash-Screen, ich sehe auch eine der Log-Meldungen des Activators, dann aber beendet sich das Programm ohne weitere Meldungen. Keine Exceptions. Nichts. Ich kann auch nicht verifizieren, ob die JVM abgestürzt ist, da keine der typischen Files im meinem Home-Verzeichnis liegen.
Das ist nicht sehr hilfreich. Weder für mich, noch für euch, aber vielleicht habt ihr das ja schon mal hin bekommen und könnt mir Tips geben. Ansonsten - mal sehen, vielleicht antwortet ja der Blogger noch mal - ich hab da auch schon einen Kommentar hinterlassen ;-)
Wie auch immer: Danke im voraus!
Daniel