Skip to main content
summaryrefslogtreecommitdiffstats
path: root/demos
diff options
context:
space:
mode:
authorTom Schindl2015-08-16 07:05:15 -0400
committerTom Schindl2015-08-16 07:05:15 -0400
commit18c1d101d630ed6952048bafd65a8de617753199 (patch)
tree89581286672cde0cce1e1dc1cafae47201167c4f /demos
parent8e3cb44e0327b3c644426fa1558e9568e961760d (diff)
downloadorg.eclipse.efxclipse-18c1d101d630ed6952048bafd65a8de617753199.tar.gz
org.eclipse.efxclipse-18c1d101d630ed6952048bafd65a8de617753199.tar.xz
org.eclipse.efxclipse-18c1d101d630ed6952048bafd65a8de617753199.zip
adding sample application
Diffstat (limited to 'demos')
-rw-r--r--demos/org.eclipse.fx.simplycode.app.feature/.project17
-rw-r--r--demos/org.eclipse.fx.simplycode.app.feature/build.properties1
-rw-r--r--demos/org.eclipse.fx.simplycode.app.feature/feature.xml102
-rw-r--r--demos/org.eclipse.fx.simplycode.app.feature/pom.xml16
-rw-r--r--demos/org.eclipse.fx.simplycode.app.product/.project11
-rw-r--r--demos/org.eclipse.fx.simplycode.app.product/org.eclipse.fx.simplycode.app.product.product28
-rw-r--r--demos/org.eclipse.fx.simplycode.app.product/org.eclipse.fx.simplycode.app.product.product.launch38
-rw-r--r--demos/org.eclipse.fx.simplycode.app.product/pom.xml40
-rw-r--r--demos/org.eclipse.fx.simplycode.app.releng/.project11
-rw-r--r--demos/org.eclipse.fx.simplycode.app.releng/build.xml53
-rw-r--r--demos/org.eclipse.fx.simplycode.app.releng/org.eclipse.fx.ide.ant.jarbin0 -> 10727 bytes
-rw-r--r--demos/org.eclipse.fx.simplycode.app.releng/pom.xml157
-rw-r--r--demos/org.eclipse.fx.simplycode.app/.classpath7
-rw-r--r--demos/org.eclipse.fx.simplycode.app/.project33
-rw-r--r--demos/org.eclipse.fx.simplycode.app/Application.e4xmi23
-rw-r--r--demos/org.eclipse.fx.simplycode.app/META-INF/MANIFEST.MF32
-rw-r--r--demos/org.eclipse.fx.simplycode.app/OSGI-INF/services/org.eclipse.fx.simplycode.app.themes.DefaultTheme.xml9
-rw-r--r--demos/org.eclipse.fx.simplycode.app/bin/.gitignore1
-rw-r--r--demos/org.eclipse.fx.simplycode.app/build.properties8
-rw-r--r--demos/org.eclipse.fx.simplycode.app/css/default.css1
-rw-r--r--demos/org.eclipse.fx.simplycode.app/css/icons/16/filenav_nav.pngbin0 -> 618 bytes
-rw-r--r--demos/org.eclipse.fx.simplycode.app/plugin.xml15
-rw-r--r--demos/org.eclipse.fx.simplycode.app/pom.xml33
-rw-r--r--demos/org.eclipse.fx.simplycode.app/src/org/eclipse/fx/simplycode/app/parts/ProjectExplorer.java58
-rw-r--r--demos/org.eclipse.fx.simplycode.app/src/org/eclipse/fx/simplycode/app/themes/DefaultTheme.java39
25 files changed, 733 insertions, 0 deletions
diff --git a/demos/org.eclipse.fx.simplycode.app.feature/.project b/demos/org.eclipse.fx.simplycode.app.feature/.project
new file mode 100644
index 000000000..03065626e
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.fx.simplycode.app.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/demos/org.eclipse.fx.simplycode.app.feature/build.properties b/demos/org.eclipse.fx.simplycode.app.feature/build.properties
new file mode 100644
index 000000000..b045d3976
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml \ No newline at end of file
diff --git a/demos/org.eclipse.fx.simplycode.app.feature/feature.xml b/demos/org.eclipse.fx.simplycode.app.feature/feature.xml
new file mode 100644
index 000000000..4dd220ca8
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app.feature/feature.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.fx.simplycode.app.feature"
+ label="SimplyCode Application Feature"
+ version="1.0.0.qualifier"
+ provider-name="${BundleProject_bundleVendor}">
+
+ <description url="http://www.efxclipse.org">
+ TODO FILL WITH CONTENT
+ </description>
+
+ <copyright url="http://www.efxclipse.org">
+ TODO FILL WITH CONTENT
+ </copyright>
+
+ <license url="http://www.efxclipse.org">
+ TODO FILL WITH CONTENT
+ </license>
+
+ <plugin
+ id="org.eclipse.fx.simplycode.app"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.fx.code.editor"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.fx.code.editor.e4"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.fx.code.editor.fx"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.fx.code.editor.fx.e4"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.fx.code.editor.fx.themes"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.fx.code.editor.ldef"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.fx.code.editor.ldef.langs"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.fx.code.editor.ldef.text"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.fx.code.editor.ldef.text.fx"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.fx.code.editor.ldef.langs.themes"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.fx.code.editor.ldef.langs.text"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/demos/org.eclipse.fx.simplycode.app.feature/pom.xml b/demos/org.eclipse.fx.simplycode.app.feature/pom.xml
new file mode 100644
index 000000000..7e04a14c8
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app.feature/pom.xml
@@ -0,0 +1,16 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>SimplyCode - application feature</name>
+ <groupId>org.eclipse.fx.simplycode</groupId>
+ <artifactId>org.eclipse.fx.simplycode.app.feature</artifactId>
+ <packaging>eclipse-feature</packaging>
+
+ <parent>
+ <groupId>org.eclipse.fx.simplycode</groupId>
+ <artifactId>org.eclipse.fx.simplycode.app.releng</artifactId>
+ <relativePath>../org.eclipse.fx.simplycode.app.releng/pom.xml</relativePath>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+</project> \ No newline at end of file
diff --git a/demos/org.eclipse.fx.simplycode.app.product/.project b/demos/org.eclipse.fx.simplycode.app.product/.project
new file mode 100644
index 000000000..d6ae85009
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app.product/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.fx.simplycode.app.product</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/demos/org.eclipse.fx.simplycode.app.product/org.eclipse.fx.simplycode.app.product.product b/demos/org.eclipse.fx.simplycode.app.product/org.eclipse.fx.simplycode.app.product.product
new file mode 100644
index 000000000..50a36b3e2
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app.product/org.eclipse.fx.simplycode.app.product.product
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product name="SimplyCode" uid="org.eclipse.fx.simplycode.app.product" id="org.eclipse.fx.simplycode.app.product" application="org.eclipse.fx.ui.workbench.fx.application" version="1.0.0" useFeatures="true" includeLaunchers="false">
+
+ <configIni use="default">
+ </configIni>
+ <launcherArgs>
+ <programArgs>-nosplash</programArgs>
+ <vmArgs>-Dorg.osgi.framework.bundle.parent=ext</vmArgs>
+ </launcherArgs>
+
+ <windowImages/>
+
+ <features>
+ <feature id="org.eclipse.fx.simplycode.app.feature" />
+ <feature id="org.eclipse.fx.runtime.e4fx.feature" />
+ </features>
+ <configurations>
+ <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
+ <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" />
+ <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
+ <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" />
+ <plugin id="org.eclipse.osgi" autoStart="true" startLevel="-1" />
+ </configurations>
+</product>
+
diff --git a/demos/org.eclipse.fx.simplycode.app.product/org.eclipse.fx.simplycode.app.product.product.launch b/demos/org.eclipse.fx.simplycode.app.product/org.eclipse.fx.simplycode.app.product.product.launch
new file mode 100644
index 000000000..3a1315d08
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app.product/org.eclipse.fx.simplycode.app.product.product.launch
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
+<setAttribute key="additional_plugins"/>
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="true"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/org.eclipse.fx.simplycode.app.product.product"/>
+<booleanAttribute key="default" value="false"/>
+<stringAttribute key="featureDefaultLocation" value="workspace"/>
+<stringAttribute key="featurePluginResolution" value="workspace"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../runtime-org.eclipse.fx.simplycode.app.product"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nl ${target.nl} -consoleLog -nosplash"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.osgi.framework.bundle.parent=ext"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.fx.simplycode.app.product"/>
+<stringAttribute key="productFile" value="/org.eclipse.fx.simplycode.app.product/org.eclipse.fx.simplycode.app.product.product"/>
+<setAttribute key="selected_features">
+<setEntry value="org.eclipse.fx.runtime.e4fx.feature:default"/>
+<setEntry value="org.eclipse.fx.simplycode.app.feature:default"/>
+</setAttribute>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="true"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="true"/>
+<booleanAttribute key="usefeatures" value="false"/>
+</launchConfiguration>
diff --git a/demos/org.eclipse.fx.simplycode.app.product/pom.xml b/demos/org.eclipse.fx.simplycode.app.product/pom.xml
new file mode 100644
index 000000000..857887b3a
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app.product/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>SimplyCode - application product</name>
+ <groupId>org.eclipse.fx.simplycode</groupId>
+ <artifactId>org.eclipse.fx.simplycode.app.product</artifactId>
+ <packaging>eclipse-repository</packaging>
+
+ <parent>
+ <groupId>org.eclipse.fx.simplycode</groupId>
+ <artifactId>org.eclipse.fx.simplycode.app.releng</artifactId>
+ <relativePath>../org.eclipse.fx.simplycode.app.releng/pom.xml</relativePath>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-director-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>materialize-products</id>
+ <goals>
+ <goal>materialize-products</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>archive-products</id>
+ <goals>
+ <goal>archive-products</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/demos/org.eclipse.fx.simplycode.app.releng/.project b/demos/org.eclipse.fx.simplycode.app.releng/.project
new file mode 100644
index 000000000..a343d4dd2
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app.releng/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.fx.simplycode.app.releng</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/demos/org.eclipse.fx.simplycode.app.releng/build.xml b/demos/org.eclipse.fx.simplycode.app.releng/build.xml
new file mode 100644
index 000000000..cd3ed6d9f
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app.releng/build.xml
@@ -0,0 +1,53 @@
+<project name="native-build" default="do-deploy" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant">
+ <property name="eclipse-app-dir" value="../org.eclipse.fx.simplycode.app.product/target/products/org.eclipse.fx.simplycode.app.product/noenv/noenv/noenv" />
+
+ <target name="init-fx-tasks">
+ <taskdef name="fxosgilauncher" classpath="org.eclipse.fx.ide.ant.jar" classname="org.eclipse.fx.ide.ant.FXOsgiLaunchTask" />
+ <path id="fxant">
+ <filelist>
+ <file name="${java.home}\..\lib\ant-javafx.jar"/>
+ <file name="${java.home}\lib\ant-jfxrt.jar"/>
+ </filelist>
+ </path>
+ <taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
+ uri="javafx:com.sun.javafx.tools.ant"
+ classpathref="fxant"/>
+ </target>
+
+ <target name="do-deploy" depends="init-fx-tasks">
+ <fileset id="equinox-launcher" dir="../org.eclipse.fx.simplycode.app.product/target/products/org.eclipse.fx.simplycode.app.product/noenv/noenv/noenv">
+ <filename name="plugins/org.eclipse.equinox.launcher_*.jar"/>
+ </fileset>
+ <fxosgilauncher classpathref="fxant" equinoxlauncherjarref="equinox-launcher"/>
+
+ <fx:resources id="appRes">
+ <fx:fileset dir="." includes="fx-osgi-launch.jar"/>
+ <fx:fileset dir="${eclipse-app-dir}" includes="**/*"/>
+ </fx:resources>
+
+ <fx:application id="fxApplication"
+ name="SimplyCode"
+ mainClass="org.eclipse.equinox.launcher.Main"
+ toolkit="swing"
+
+ />
+
+ <fx:deploy
+ embedJNLP="false"
+ extension="false"
+ includeDT="false"
+ offlineAllowed="true"
+ outdir="${basedir}/deploy"
+ outfile="fix-ide"
+ nativeBundles="all"
+ updatemode="background"
+ >
+ <fx:platform basedir="${java.home}">
+ <fx:property name="org.osgi.framework.bundle.parent" value="ext"/>
+ </fx:platform>
+ <fx:info title="SimplyCode" vendor=""/>
+ <fx:application refid="fxApplication"/>
+ <fx:resources refid="appRes"/>
+ </fx:deploy>
+ </target>
+</project> \ No newline at end of file
diff --git a/demos/org.eclipse.fx.simplycode.app.releng/org.eclipse.fx.ide.ant.jar b/demos/org.eclipse.fx.simplycode.app.releng/org.eclipse.fx.ide.ant.jar
new file mode 100644
index 000000000..2c101871b
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app.releng/org.eclipse.fx.ide.ant.jar
Binary files differ
diff --git a/demos/org.eclipse.fx.simplycode.app.releng/pom.xml b/demos/org.eclipse.fx.simplycode.app.releng/pom.xml
new file mode 100644
index 000000000..a1439602a
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app.releng/pom.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <name>SimplyCode - releng</name>
+
+ <prerequisites>
+ <maven>3.0</maven>
+ </prerequisites>
+
+ <groupId>org.eclipse.fx.simplycode</groupId>
+ <artifactId>org.eclipse.fx.simplycode.app.releng</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <properties>
+ <tycho-version>0.21.0</tycho-version>
+ <junit-version>4.11</junit-version>
+ <mockito-version>1.8.4</mockito-version>
+ <platform-version>4.2</platform-version>
+ <efx-version>1.0.0</efx-version>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <modules>
+ <module>../org.eclipse.fx.simplycode.app</module>
+ <module>../org.eclipse.fx.simplycode.app.feature</module>
+ <module>../org.eclipse.fx.simplycode.app.product</module>
+ <module>../org.eclipse.fx.simplycode.app.jemmy</module>
+ </modules>
+
+ <repositories>
+ <repository>
+ <id>efxclipse-repo</id>
+ <layout>p2</layout>
+ <url>http://download.eclipse.org/efxclipse/runtime-nightly/site</url>
+ </repository>
+ <repository>
+ <id>efxclipse-addons</id>
+ <layout>p2</layout>
+ <url>http://downloads.efxclipse.org/efxclipse.bestsolution.at/p2-repos/addons/nightly/site/</url>
+ </repository>
+
+ </repositories>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>tycho</id>
+ <url>http://repository.sonatype.org/content/groups/sonatype-public-grid</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <build>
+
+ <!-- build plugins -->
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-maven-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <resolver>p2</resolver>
+ <pomDependencies>consider</pomDependencies>
+ <environments>
+ <environment>
+ <os>noenv</os>
+ <ws>noenv</ws>
+ <arch>noenv</arch>
+ </environment>
+ </environments>
+ </configuration>
+ </plugin>
+ </plugins>
+
+
+ <!-- defines the default settings for the used plugins -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ <source>1.7</source>
+ <target>1.7</target>
+ <extraClasspathElements>
+ <extraClasspathElement>
+ <groupId>javafx</groupId>
+ <artifactId>javafx.mvn</artifactId>
+ <version>2.2.0-SNAPSHOT</version>
+ </extraClasspathElement>
+ </extraClasspathElements>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>plugin-source</id>
+ <goals>
+ <goal>plugin-source</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-packaging-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <archive>
+ <addMavenDescriptor>false</addMavenDescriptor>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit-version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito-version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+</project> \ No newline at end of file
diff --git a/demos/org.eclipse.fx.simplycode.app/.classpath b/demos/org.eclipse.fx.simplycode.app/.classpath
new file mode 100644
index 000000000..22f30643c
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/demos/org.eclipse.fx.simplycode.app/.project b/demos/org.eclipse.fx.simplycode.app/.project
new file mode 100644
index 000000000..550d3e96f
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.fx.simplycode.app</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/demos/org.eclipse.fx.simplycode.app/Application.e4xmi b/demos/org.eclipse.fx.simplycode.app/Application.e4xmi
new file mode 100644
index 000000000..817c6a7a7
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app/Application.e4xmi
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmi:id="_5jLXkTuxEeW_pv6K11JvGw" elementId="org.eclipse.e4.application" bindingContexts="_5jLXkDuxEeW_pv6K11JvGw">
+ <children xsi:type="basic:TrimmedWindow" xmi:id="_xnrEIDuyEeW_pv6K11JvGw" elementId="org.eclipse.fx.simplycode.app.trimmedwindow.simplycode" label="Simply Code">
+ <children xsi:type="basic:PartSashContainer" xmi:id="_PK21MDuzEeW_pv6K11JvGw" elementId="org.eclipse.fx.simplycode.app.partsashcontainer.0" horizontal="true">
+ <children xsi:type="basic:Part" xmi:id="_0KUAADuyEeW_pv6K11JvGw" elementId="org.eclipse.fx.simplycode.app.part.0" containerData="30" contributionURI="bundleclass://org.eclipse.fx.simplycode.app/org.eclipse.fx.simplycode.app.parts.ProjectExplorer"/>
+ <children xsi:type="basic:PartStack" xmi:id="_zlEk8DuyEeW_pv6K11JvGw" elementId="org.eclipse.fx.simplycode.app.partstack.0" containerData="70">
+ <tags>editorContainer</tags>
+ </children>
+ </children>
+ </children>
+ <rootContext xmi:id="_5jLXkDuxEeW_pv6K11JvGw" elementId="org.eclipse.ui.contexts.dialogAndWindow" name="In Dialog and Windows">
+ <children xmi:id="_5jLXkjuxEeW_pv6K11JvGw" elementId="org.eclipse.ui.contexts.window" name="In Windows"/>
+ <children xmi:id="_5jLXkzuxEeW_pv6K11JvGw" elementId="org.eclipse.ui.contexts.dialog" name="In Dialogs"/>
+ </rootContext>
+ <addons xmi:id="_5jLXlDuxEeW_pv6K11JvGw" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
+ <addons xmi:id="_5jLXlTuxEeW_pv6K11JvGw" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
+ <addons xmi:id="_5jLXljuxEeW_pv6K11JvGw" elementId="org.eclipse.fx.ui.keybindings.e4.service" contributionURI="bundleclass://org.eclipse.fx.ui.keybindings.e4/org.eclipse.fx.ui.keybindings.e4.BindingServiceAddon"/>
+ <addons xmi:id="_5jLXlzuxEeW_pv6K11JvGw" elementId="org.eclipse.e4.ui.workbench.commands.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
+ <addons xmi:id="_5jLXmDuxEeW_pv6K11JvGw" elementId="org.eclipse.e4.ui.workbench.contexts.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
+ <addons xmi:id="_5jLXmTuxEeW_pv6K11JvGw" elementId="org.eclipse.fx.ui.keybindings.e4.model" contributionURI="bundleclass://org.eclipse.fx.ui.keybindings.e4/org.eclipse.fx.ui.keybindings.e4.BindingProcessingAddon"/>
+ <addons xmi:id="_5jLXmjuxEeW_pv6K11JvGw" elementId="org.eclipse.e4.ui.workbench.addons.HandlerProcessingAddon" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
+ <addons xmi:id="_GGjbYEBOEeWOGdqHuxjO6w" elementId="org.eclipse.fx.simplycode.app.addon.0" contributionURI="bundleclass://org.eclipse.fx.code.editor.e4/org.eclipse.fx.code.editor.e4.addons.DirtyStateTrackingAddon"/>
+</application:Application>
diff --git a/demos/org.eclipse.fx.simplycode.app/META-INF/MANIFEST.MF b/demos/org.eclipse.fx.simplycode.app/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..d0d97e8d9
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app/META-INF/MANIFEST.MF
@@ -0,0 +1,32 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: My Sample App
+Bundle-SymbolicName: org.eclipse.fx.simplycode.app; singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.fx.ui.workbench.fx,
+ org.eclipse.e4.ui.model.workbench,
+ org.eclipse.e4.core.services,
+ org.eclipse.e4.core.di,
+ org.eclipse.e4.ui.di,
+ org.eclipse.e4.core.di.extensions,
+ org.eclipse.fx.ui.theme,
+ org.eclipse.fx.ui.di,
+ org.eclipse.e4.core.contexts,
+ org.eclipse.fx.core.databinding,
+ org.eclipse.fx.ui.databinding,
+ org.eclipse.core.databinding,
+ org.eclipse.core.databinding.observable,
+ org.eclipse.core.databinding.property,
+ org.eclipse.e4.ui.workbench,
+ org.eclipse.e4.ui.services,
+ org.eclipse.fx.ui.services,
+ org.eclipse.fx.core;bundle-version="2.1.0",
+ org.eclipse.fx.code.editor;bundle-version="2.1.0",
+ org.eclipse.fx.ui.controls;bundle-version="2.1.0",
+ org.eclipse.jdt.annotation;bundle-version="2.0.100";resolution:=optional,
+ org.eclipse.osgi.services,
+ org.eclipse.fx.code.editor.e4;bundle-version="2.1.0"
+Import-Package: javax.inject;version="1.0.0"
+Service-Component: OSGI-INF/services/org.eclipse.fx.simplycode.app.themes.DefaultTheme.xml
diff --git a/demos/org.eclipse.fx.simplycode.app/OSGI-INF/services/org.eclipse.fx.simplycode.app.themes.DefaultTheme.xml b/demos/org.eclipse.fx.simplycode.app/OSGI-INF/services/org.eclipse.fx.simplycode.app.themes.DefaultTheme.xml
new file mode 100644
index 000000000..23877bf98
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app/OSGI-INF/services/org.eclipse.fx.simplycode.app.themes.DefaultTheme.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.fx.simplycode.app.themes.DefaultTheme">
+ <implementation class="org.eclipse.fx.simplycode.app.themes.DefaultTheme"/>
+ <service>
+ <provide interface="org.eclipse.fx.ui.services.theme.Theme"/>
+ </service>
+ <reference bind="registerMultiURLStylesheet" cardinality="0..n" interface="org.eclipse.fx.ui.services.theme.MultiURLStylesheet" name="registerMultiURLStylesheet" policy="dynamic" unbind="unregisterMultiURLStylesheet"/>
+ <reference bind="registerStylesheet" cardinality="0..n" interface="org.eclipse.fx.ui.services.theme.Stylesheet" name="registerStylesheet" policy="dynamic" unbind="unregisterStylesheet"/>
+</scr:component> \ No newline at end of file
diff --git a/demos/org.eclipse.fx.simplycode.app/bin/.gitignore b/demos/org.eclipse.fx.simplycode.app/bin/.gitignore
new file mode 100644
index 000000000..cf1db2eed
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app/bin/.gitignore
@@ -0,0 +1 @@
+/org/
diff --git a/demos/org.eclipse.fx.simplycode.app/build.properties b/demos/org.eclipse.fx.simplycode.app/build.properties
new file mode 100644
index 000000000..b1160c18b
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app/build.properties
@@ -0,0 +1,8 @@
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml,\
+css/,\
+ Application.e4xmi,\
+ OSGI-INF/
+
+source.. = src/
diff --git a/demos/org.eclipse.fx.simplycode.app/css/default.css b/demos/org.eclipse.fx.simplycode.app/css/default.css
new file mode 100644
index 000000000..c4ad87a47
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app/css/default.css
@@ -0,0 +1 @@
+/* JavaFX CSS - Main CSS-File */ \ No newline at end of file
diff --git a/demos/org.eclipse.fx.simplycode.app/css/icons/16/filenav_nav.png b/demos/org.eclipse.fx.simplycode.app/css/icons/16/filenav_nav.png
new file mode 100644
index 000000000..1006dbae3
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app/css/icons/16/filenav_nav.png
Binary files differ
diff --git a/demos/org.eclipse.fx.simplycode.app/plugin.xml b/demos/org.eclipse.fx.simplycode.app/plugin.xml
new file mode 100644
index 000000000..bfd4412a3
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app/plugin.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+<extension id="product" point="org.eclipse.core.runtime.products">
+ <product name="SimplyCode" application="org.eclipse.fx.ui.workbench.fx.application" >
+ <property name="appName" value="SimplyCode" />
+
+ <property name="applicationXMI" value="org.eclipse.fx.simplycode.app/Application.e4xmi" />
+
+ <property name="cssTheme" value="theme.default" />
+
+ </product>
+
+</extension>
+</plugin>
diff --git a/demos/org.eclipse.fx.simplycode.app/pom.xml b/demos/org.eclipse.fx.simplycode.app/pom.xml
new file mode 100644
index 000000000..7a5a6b04c
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app/pom.xml
@@ -0,0 +1,33 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>SimplyCode - application bundle</name>
+ <groupId>org.eclipse.fx.simplycode</groupId>
+ <artifactId>org.eclipse.fx.simplycode.app</artifactId>
+ <packaging>eclipse-plugin</packaging>
+
+ <parent>
+ <groupId>org.eclipse.fx.simplycode</groupId>
+ <artifactId>org.eclipse.fx.simplycode.app.releng</artifactId>
+ <relativePath>../org.eclipse.fx.simplycode.app.releng/pom.xml</relativePath>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>META-INF/</include>
+ </includes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/demos/org.eclipse.fx.simplycode.app/src/org/eclipse/fx/simplycode/app/parts/ProjectExplorer.java b/demos/org.eclipse.fx.simplycode.app/src/org/eclipse/fx/simplycode/app/parts/ProjectExplorer.java
new file mode 100644
index 000000000..c26365ea9
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app/src/org/eclipse/fx/simplycode/app/parts/ProjectExplorer.java
@@ -0,0 +1,58 @@
+package org.eclipse.fx.simplycode.app.parts;
+
+import java.nio.file.Paths;
+
+import javax.annotation.PostConstruct;
+import javax.inject.Inject;
+
+import org.eclipse.e4.ui.model.application.MApplication;
+import org.eclipse.e4.ui.workbench.modeling.EModelService;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
+import org.eclipse.fx.code.editor.services.TextEditorOpener;
+import org.eclipse.fx.core.URI;
+import org.eclipse.fx.ui.controls.filesystem.FileItem;
+import org.eclipse.fx.ui.controls.filesystem.ResourceEvent;
+import org.eclipse.fx.ui.controls.filesystem.ResourceItem;
+import org.eclipse.fx.ui.controls.filesystem.ResourceTreeView;
+import org.eclipse.fx.ui.services.resources.GraphicsLoader;
+
+import javafx.collections.FXCollections;
+import javafx.scene.control.Label;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.HBox;
+
+public class ProjectExplorer {
+ @Inject
+ EModelService modelService;
+
+ @Inject
+ EPartService partService;
+
+ @Inject
+ TextEditorOpener textEditorOpener;
+
+ @PostConstruct
+ public void init(BorderPane p, MApplication application, GraphicsLoader nodeProvider) {
+ HBox b = new HBox();
+ b.getStyleClass().add("tool-bar");
+ b.getChildren().add(new Label("Filesystem Explorer", nodeProvider.getGraphicsNode(URI.createPlatformPluginURI("org.eclipse.fx.simplycode.app","css/icons/16/filenav_nav.png"))));
+ p.setTop(b);
+
+ ResourceTreeView viewer = new ResourceTreeView();
+ viewer.setRootDirectories(FXCollections.observableArrayList(ResourceItem.createObservedPath(Paths.get("/Users/tomschindl/simply-code/"))));
+ viewer.addEventHandler(ResourceEvent.openResourceEvent(), this::handleEvent);
+ p.setCenter(viewer);
+ }
+
+ private void handleEvent(ResourceEvent<ResourceItem> e) {
+ e.getResourceItems()
+ .stream()
+ .filter( r -> r instanceof FileItem)
+ .map( r -> (FileItem)r)
+ .forEach(this::handle);
+ }
+
+ private void handle(FileItem item) {
+ textEditorOpener.openEditor(item.getUri());
+ }
+}
diff --git a/demos/org.eclipse.fx.simplycode.app/src/org/eclipse/fx/simplycode/app/themes/DefaultTheme.java b/demos/org.eclipse.fx.simplycode.app/src/org/eclipse/fx/simplycode/app/themes/DefaultTheme.java
new file mode 100644
index 000000000..934882748
--- /dev/null
+++ b/demos/org.eclipse.fx.simplycode.app/src/org/eclipse/fx/simplycode/app/themes/DefaultTheme.java
@@ -0,0 +1,39 @@
+package org.eclipse.fx.simplycode.app.themes;
+
+import org.eclipse.fx.ui.services.theme.MultiURLStylesheet;
+import org.eclipse.fx.ui.services.theme.Stylesheet;
+import org.eclipse.fx.ui.services.theme.Theme;
+import org.eclipse.fx.ui.theme.AbstractTheme;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
+
+@Component(service=Theme.class)
+public class DefaultTheme extends AbstractTheme {
+ public DefaultTheme() {
+ super("theme.default", "Default theme", DefaultTheme.class.getClassLoader().getResource("css/default.css"));
+ }
+
+ @Reference(cardinality=ReferenceCardinality.MULTIPLE,policy=ReferencePolicy.DYNAMIC)
+ @Override
+ public void registerStylesheet(Stylesheet stylesheet) {
+ super.registerStylesheet(stylesheet);
+ }
+
+ @Override
+ public void unregisterStylesheet(Stylesheet stylesheet) {
+ super.unregisterStylesheet(stylesheet);
+ }
+
+ @Reference(cardinality=ReferenceCardinality.MULTIPLE,policy=ReferencePolicy.DYNAMIC)
+ @Override
+ public void registerMultiURLStylesheet(MultiURLStylesheet stylesheet) {
+ super.registerMultiURLStylesheet(stylesheet);
+ }
+
+ @Override
+ public void unregisterMultiURLStylesheet(MultiURLStylesheet stylesheet) {
+ super.unregisterMultiURLStylesheet(stylesheet);
+ }
+}

Back to the top