From 9064fd03d72e2aa2f283cd6eab7566a5970c036b Mon Sep 17 00:00:00 2001
From: Kai Brassel <mail@khbrassel.de>
Date: Thu, 12 Nov 2020 18:42:54 +0100
Subject: [PATCH 1/4] Added missing view model.

---
 .../plugin.xml                                   | 16 ++++------------
 .../viewmodels/MaterialCategory.view             | 12 ++++++++++++
 2 files changed, 16 insertions(+), 12 deletions(-)
 create mode 100644 de.hftstuttgart.buildingphysics.viewmodel/viewmodels/MaterialCategory.view

diff --git a/de.hftstuttgart.buildingphysics.viewmodel/plugin.xml b/de.hftstuttgart.buildingphysics.viewmodel/plugin.xml
index 24c828d..ba7c692 100644
--- a/de.hftstuttgart.buildingphysics.viewmodel/plugin.xml
+++ b/de.hftstuttgart.buildingphysics.viewmodel/plugin.xml
@@ -1,16 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.4"?>
 <plugin>
-   <extension
-         point="org.eclipse.emf.ecp.view.model.provider.xmi.file">
-
-
-
-
-
-
-<file filePath="viewmodels/BuildingPhysicsCatalog.view"/>
-
+	<extension point="org.eclipse.emf.ecp.view.model.provider.xmi.file">
+		<file filePath="viewmodels/MaterialCategory.view"/>
+		<file filePath="viewmodels/BuildingPhysicsCatalog.view"/>
    </extension>
-
-</plugin>
\ No newline at end of file
+</plugin>
diff --git a/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/MaterialCategory.view b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/MaterialCategory.view
new file mode 100644
index 0000000..a973780
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/MaterialCategory.view
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmlns:org.eclipse.emf.ecp.view.table.model="http://org/eclipse/emf/ecp/view/table/model/150" xmi:id="_ZY8TECUNEeux0PTSTJn6xg" name="MaterialCategory">
+  <rootEClass href="http://www.hftstuttgart.de/buildingphysics#//MaterialCategory"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.table.model:TableControl" xmi:id="_cQS6sCUNEeux0PTSTJn6xg" detailEditing="WithPanel">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.table.model:TableDomainModelReference" xmi:id="_gQbIQCUNEeux0PTSTJn6xg">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_gQbIQSUNEeux0PTSTJn6xg">
+        <domainModelEFeature xsi:type="ecore:EReference" href="http://www.hftstuttgart.de/buildingphysics#//MaterialCategory/material"/>
+      </domainModelReference>
+    </domainModelReference>
+  </children>
+  <ecorePaths>/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore</ecorePaths>
+</org.eclipse.emf.ecp.view.model:View>
-- 
GitLab


From 3ad3ff6c6dc2ef052d39769879a7c9b180286a98 Mon Sep 17 00:00:00 2001
From: Kai Brassel <mail@khbrassel.de>
Date: Fri, 13 Nov 2020 10:47:33 +0100
Subject: [PATCH 2/4] Tweak UI

---
 .../viewmodels/BuildingPhysicsCatalog.view                      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/BuildingPhysicsCatalog.view b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/BuildingPhysicsCatalog.view
index 0efb392..2ced4be 100644
--- a/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/BuildingPhysicsCatalog.view
+++ b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/BuildingPhysicsCatalog.view
@@ -41,7 +41,7 @@
     </categorizations>
     <categorizations xsi:type="org.eclipse.emf.ecp.view.categorization.model:Category" xmi:id="_jpOWECTLEeuaK-RhvCx2-Q" name="WindowTypes">
       <composite xsi:type="org.eclipse.emf.ecp.view.group.model:Group" xmi:id="_zXAdkCTLEeuaK-RhvCx2-Q">
-        <children xsi:type="org.eclipse.emf.ecp.view.group.model:Group" xmi:id="_cAtaoCTNEeuaK-RhvCx2-Q" name="Catalog Info">
+        <children xsi:type="org.eclipse.emf.ecp.view.group.model:Group" xmi:id="_cAtaoCTNEeuaK-RhvCx2-Q" name="Catalog Info" groupType="Embedded">
           <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_fSCBcCTNEeuaK-RhvCx2-Q" name="Name">
             <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_g8RbHCTNEeuaK-RhvCx2-Q">
               <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Catalog/name"/>
-- 
GitLab


From f4ef52eb013b674af13f11eb3ecf5a0acbf0ccf6 Mon Sep 17 00:00:00 2001
From: Kai Brassel <mail@khbrassel.de>
Date: Fri, 13 Nov 2020 10:48:12 +0100
Subject: [PATCH 3/4] Added two projects to get an Eclipse application

---
 .../.classpath                                |   7 ++
 .../.project                                  |  28 +++++
 .../Application.e4xmi                         |  51 +++++++++
 .../META-INF/MANIFEST.MF                      |  21 ++++
 .../build.properties                          |   8 ++
 .../css/default.css                           |   0
 ...ttgart.buildingphysics.application.product |  50 +++++++++
 .../icons/home.png                            | Bin 0 -> 287 bytes
 .../icons/open_in_app.png                     | Bin 0 -> 315 bytes
 .../icons/save_edit.png                       | Bin 0 -> 367 bytes
 .../plugin.xml                                |  18 +++
 .../application/handlers/AboutHandler.java    |  12 ++
 .../application/handlers/HandlerUtils.java    |  50 +++++++++
 .../application/handlers/NewHandler.java      |  45 ++++++++
 .../application/handlers/OpenHandler.java     |  28 +++++
 .../application/handlers/QuitHandler.java     |  17 +++
 .../application/handlers/SaveHandler.java     |  21 ++++
 .../application/parts/CatalogPart.java        |  50 +++++++++
 .../.project                                  |  17 +++
 .../build.properties                          |   1 +
 .../feature.xml                               | 103 ++++++++++++++++++
 21 files changed, 527 insertions(+)
 create mode 100644 de.hftstuttgart.buildingphysics.application/.classpath
 create mode 100644 de.hftstuttgart.buildingphysics.application/.project
 create mode 100644 de.hftstuttgart.buildingphysics.application/Application.e4xmi
 create mode 100644 de.hftstuttgart.buildingphysics.application/META-INF/MANIFEST.MF
 create mode 100644 de.hftstuttgart.buildingphysics.application/build.properties
 create mode 100644 de.hftstuttgart.buildingphysics.application/css/default.css
 create mode 100644 de.hftstuttgart.buildingphysics.application/de.hftstuttgart.buildingphysics.application.product
 create mode 100644 de.hftstuttgart.buildingphysics.application/icons/home.png
 create mode 100644 de.hftstuttgart.buildingphysics.application/icons/open_in_app.png
 create mode 100644 de.hftstuttgart.buildingphysics.application/icons/save_edit.png
 create mode 100644 de.hftstuttgart.buildingphysics.application/plugin.xml
 create mode 100644 de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/AboutHandler.java
 create mode 100644 de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/HandlerUtils.java
 create mode 100644 de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/NewHandler.java
 create mode 100644 de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/OpenHandler.java
 create mode 100644 de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/QuitHandler.java
 create mode 100644 de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/SaveHandler.java
 create mode 100644 de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/parts/CatalogPart.java
 create mode 100644 de.hftstuttgart.buildingphysics.feature/.project
 create mode 100644 de.hftstuttgart.buildingphysics.feature/build.properties
 create mode 100644 de.hftstuttgart.buildingphysics.feature/feature.xml

diff --git a/de.hftstuttgart.buildingphysics.application/.classpath b/de.hftstuttgart.buildingphysics.application/.classpath
new file mode 100644
index 0000000..1fa3e68
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/de.hftstuttgart.buildingphysics.application/.project b/de.hftstuttgart.buildingphysics.application/.project
new file mode 100644
index 0000000..b37826e
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>de.hftstuttgart.buildingphysics.application</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>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/de.hftstuttgart.buildingphysics.application/Application.e4xmi b/de.hftstuttgart.buildingphysics.application/Application.e4xmi
new file mode 100644
index 0000000..c902850
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/Application.e4xmi
@@ -0,0 +1,51 @@
+<?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" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmi:id="_6wlLcMgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.application" bindingContexts="_6wlLecgZEeSyMNYR5xypkQ">
+  <children xsi:type="basic:TrimmedWindow" xmi:id="_6wlLccgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.window.main" label="HfT Stuttgart - Building Physics Catalog" width="800" height="600">
+    <mainMenu xmi:id="_6wlLicgZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.main.menu">
+      <children xsi:type="menu:Menu" xmi:id="_6wlLisgZEeSyMNYR5xypkQ" elementId="file" label="File">
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_y6FesCWUEeux0PTSTJn6xg" elementId="de.hftstuttgart.buildingphysics.application.handleditem.file.new" label="New..." command="_PnX_ACWUEeux0PTSTJn6xg"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_6wlLi8gZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.handleditem.file.open" label="Open" iconURI="platform:/plugin/de.hftstuttgart.buildingphysics.application/icons/open_in_app.png" command="_6wlLgMgZEeSyMNYR5xypkQ"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_6wlLjMgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.handleditem.save" label="Save" iconURI="platform:/plugin/de.hftstuttgart.buildingphysics.application/icons/save_edit.png" command="_6wlLg8gZEeSyMNYR5xypkQ"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_6wlLjcgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.handleditem.quit" label="Quit" command="_6wlLfMgZEeSyMNYR5xypkQ"/>
+      </children>
+      <children xsi:type="menu:Menu" xmi:id="_6wlLjsgZEeSyMNYR5xypkQ" elementId="help" label="Help">
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_6wlLj8gZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.handleditem.about" label="About" command="_6wlLhsgZEeSyMNYR5xypkQ"/>
+      </children>
+    </mainMenu>
+    <trimBars xmi:id="_6wlLlcgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.trimbar.top">
+      <children xsi:type="menu:ToolBar" xmi:id="_6wlLlsgZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.main.toolbar">
+        <children xsi:type="menu:HandledToolItem" xmi:id="_rXiTQCWUEeux0PTSTJn6xg" elementId="de.hftstuttgart.buildingphysics.application.handleditem.trimbar.top.new" label="New..." command="_PnX_ACWUEeux0PTSTJn6xg"/>
+        <children xsi:type="menu:HandledToolItem" xmi:id="_6wlLl8gZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.handleditem.trimbar.top.open" iconURI="platform:/plugin/de.hftstuttgart.buildingphysics.application/icons/open_in_app.png" command="_6wlLgMgZEeSyMNYR5xypkQ"/>
+        <children xsi:type="menu:HandledToolItem" xmi:id="_6wlLmMgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.handleditem.trimbar.top.save" iconURI="platform:/plugin/de.hftstuttgart.buildingphysics.application/icons/save_edit.png" command="_6wlLg8gZEeSyMNYR5xypkQ"/>
+      </children>
+    </trimBars>
+  </children>
+  <handlers xmi:id="_LmGh8CWUEeux0PTSTJn6xg" elementId="de.hftstuttgart.buildingphysics.application.handler.newCommand" contributionURI="bundleclass://de.hftstuttgart.buildingphysics.application/de.hftstuttgart.buildingphysics.application.handlers.NewHandler" command="_PnX_ACWUEeux0PTSTJn6xg"/>
+  <handlers xmi:id="_6wlLgcgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.handler.openCommand" contributionURI="bundleclass://de.hftstuttgart.buildingphysics.application/de.hftstuttgart.buildingphysics.application.handlers.OpenHandler" command="_6wlLgMgZEeSyMNYR5xypkQ"/>
+  <handlers xmi:id="_6wlLhMgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.handler.saveCommand" contributionURI="bundleclass://de.hftstuttgart.buildingphysics.application/de.hftstuttgart.buildingphysics.application.handlers.SaveHandler" command="_6wlLg8gZEeSyMNYR5xypkQ"/>
+  <handlers xmi:id="_6wlLfcgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.handler.quitCommand" contributionURI="bundleclass://de.hftstuttgart.buildingphysics.application/de.hftstuttgart.buildingphysics.application.handlers.QuitHandler" command="_6wlLfMgZEeSyMNYR5xypkQ"/>
+  <handlers xmi:id="_6wlLh8gZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.handler.aboutCommand" contributionURI="bundleclass://de.hftstuttgart.buildingphysics.application/de.hftstuttgart.buildingphysics.application.handlers.AboutHandler" command="_6wlLhsgZEeSyMNYR5xypkQ"/>
+  <bindingTables xmi:id="_6wlLfsgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.bindingtable" bindingContext="_6wlLecgZEeSyMNYR5xypkQ">
+    <bindings xmi:id="_6wlLf8gZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.keybinding.m1q" keySequence="M1+Q" command="_6wlLfMgZEeSyMNYR5xypkQ"/>
+    <bindings xmi:id="_6wlLgsgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.keybinding.m1o" keySequence="M1+O" command="_6wlLgMgZEeSyMNYR5xypkQ"/>
+    <bindings xmi:id="_6wlLhcgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.keybinding.m1s" keySequence="M1+S" command="_6wlLg8gZEeSyMNYR5xypkQ"/>
+    <bindings xmi:id="_6wlLiMgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.buildingphysics.application.keybinding.m1a" keySequence="M1+A" command="_6wlLhsgZEeSyMNYR5xypkQ"/>
+  </bindingTables>
+  <rootContext xmi:id="_6wlLecgZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.contexts.dialogAndWindow" name="In Dialog and Windows">
+    <children xmi:id="_6wlLesgZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.contexts.window" name="In Windows"/>
+    <children xmi:id="_6wlLe8gZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.contexts.dialog" name="In Dialogs"/>
+  </rootContext>
+  <descriptors xmi:id="_d_8I0CUMEeux0PTSTJn6xg" elementId="de.hftstuttgart.buildingphysics.application.partdescriptor.catalog" allowMultiple="true" closeable="true" contributionURI="bundleclass://de.hftstuttgart.buildingphysics.application/de.hftstuttgart.buildingphysics.application.parts.CatalogPart"/>
+  <commands xmi:id="_PnX_ACWUEeux0PTSTJn6xg" elementId="org.eclipse.ui.file.new" commandName="newCommand"/>
+  <commands xmi:id="_6wlLgMgZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.file.open" commandName="openCommand"/>
+  <commands xmi:id="_6wlLg8gZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.file.save" commandName="saveCommand"/>
+  <commands xmi:id="_6wlLhsgZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.help.aboutAction" commandName="aboutCommand"/>
+  <commands xmi:id="_6wlLfMgZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.file.exit" commandName="quitCommand"/>
+  <addons xmi:id="_6wlLcsgZEeSyMNYR5xypkQ" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
+  <addons xmi:id="_6wlLc8gZEeSyMNYR5xypkQ" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
+  <addons xmi:id="_6wlLdMgZEeSyMNYR5xypkQ" elementId="org.eclipse.e4.ui.bindings.service" contributionURI="bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"/>
+  <addons xmi:id="_6wlLdcgZEeSyMNYR5xypkQ" 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="_6wlLdsgZEeSyMNYR5xypkQ" elementId="org.eclipse.e4.ui.workbench.handler.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
+  <addons xmi:id="_6wlLd8gZEeSyMNYR5xypkQ" 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="_6wlLeMgZEeSyMNYR5xypkQ" elementId="org.eclipse.e4.ui.workbench.bindings.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon"/>
+</application:Application>
diff --git a/de.hftstuttgart.buildingphysics.application/META-INF/MANIFEST.MF b/de.hftstuttgart.buildingphysics.application/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..91061fe
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Application
+Bundle-SymbolicName: de.hftstuttgart.buildingphysics.application;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Require-Bundle: javax.inject;bundle-version="0.0.0",
+ org.eclipse.core.runtime;bundle-version="0.0.0",
+ org.eclipse.swt;bundle-version="0.0.0",
+ org.eclipse.e4.ui.model.workbench;bundle-version="0.0.0",
+ org.eclipse.jface;bundle-version="0.0.0",
+ org.eclipse.e4.ui.services;bundle-version="0.0.0",
+ org.eclipse.e4.ui.workbench;bundle-version="0.0.0",
+ org.eclipse.e4.core.di;bundle-version="0.0.0",
+ org.eclipse.e4.ui.di;bundle-version="0.0.0",
+ org.eclipse.e4.core.contexts;bundle-version="0.0.0",
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.edit,
+ org.eclipse.emf.ecp.ui.view.swt
+Import-Package: de.hftstuttgart.buildingphysics,
+ javax.annotation;version="0.0.0"
+Automatic-Module-Name: de.hftstuttgart.buildingphysics.application
diff --git a/de.hftstuttgart.buildingphysics.application/build.properties b/de.hftstuttgart.buildingphysics.application/build.properties
new file mode 100644
index 0000000..04ab1e9
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+               META-INF/,\
+               .,\
+               icons/,\
+               css/default.css,\
+               Application.e4xmi
diff --git a/de.hftstuttgart.buildingphysics.application/css/default.css b/de.hftstuttgart.buildingphysics.application/css/default.css
new file mode 100644
index 0000000..e69de29
diff --git a/de.hftstuttgart.buildingphysics.application/de.hftstuttgart.buildingphysics.application.product b/de.hftstuttgart.buildingphysics.application/de.hftstuttgart.buildingphysics.application.product
new file mode 100644
index 0000000..bf6b6aa
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/de.hftstuttgart.buildingphysics.application.product
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product name="de.hftstuttgart.buildingphysics.application" uid="de.hftstuttgart.buildingphysics.application.product" id="de.hftstuttgart.buildingphysics.application.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.0.0.qualifier" useFeatures="true" includeLaunchers="true">
+
+   <configIni use="default">
+   </configIni>
+
+   <launcherArgs>
+      <programArgs>-clearPersistedState
+      </programArgs>
+      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+      </vmArgsMac>
+   </launcherArgs>
+
+   <windowImages/>
+
+   <launcher>
+      <win useIco="false">
+         <bmp/>
+      </win>
+   </launcher>
+
+   <vm>
+      <macos include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-14</macos>
+   </vm>
+
+   <plugins>
+   </plugins>
+
+   <features>
+      <feature id="de.hftstuttgart.buildingphysics.feature"/>
+      <feature id="org.eclipse.e4.rcp"/>
+      <feature id="org.eclipse.emf.ecp.emfforms.runtime.feature"/>
+      <feature id="org.eclipse.emf.common"/>
+      <feature id="org.eclipse.emf.common.ui"/>
+      <feature id="org.eclipse.emf.databinding"/>
+      <feature id="org.eclipse.emf.databinding.edit"/>
+      <feature id="org.eclipse.emf.ecore"/>
+      <feature id="org.eclipse.emf.ecore.edit"/>
+      <feature id="org.eclipse.emf.edit"/>
+      <feature id="org.eclipse.emf.edit.ui"/>
+   </features>
+
+
+   <preferencesInfo>
+      <targetfile overwrite="false"/>
+   </preferencesInfo>
+
+</product>
diff --git a/de.hftstuttgart.buildingphysics.application/icons/home.png b/de.hftstuttgart.buildingphysics.application/icons/home.png
new file mode 100644
index 0000000000000000000000000000000000000000..e9ace41c655fcbe6450482aa21e4de88f6905b04
GIT binary patch
literal 287
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf<Z~8yL>2?7
z8z9Vhe8JAOKtah8*NBqf{Irtt#G+J&^73-M%)IR4<ivthz5Jr|+3#$mfQsgLx;Tbd
z^d7xr%XP>>pzYytd7IX2W@6jE#VLk=@Y^=+HRl(Wk4)d1)IGEpo%M1OdgR8m&)^N;
z8}rYG)+L*dy*WKQER3V#VVkU)<{?$S3b#Vjbteq6gwJg}zSuRQpL^R^CPl{xeyuXI
zi>~s0Q<`@!KA?2ZpR=-ACyKk%QsVoTyAS@euDTtna6HoT$~qb5n#b+)#WSVO?@9mu
bu!4Eh6VIQP`W^v5cQSao`njxgN@xNA+l6XM

literal 0
HcmV?d00001

diff --git a/de.hftstuttgart.buildingphysics.application/icons/open_in_app.png b/de.hftstuttgart.buildingphysics.application/icons/open_in_app.png
new file mode 100644
index 0000000000000000000000000000000000000000..9df4eeb7c3b8e6d1ff41f77b6032062a0edb4695
GIT binary patch
literal 315
zcmeAS@N?(olHy`uVBq!ia0vp^!ayv*!3HG19C1kkQY^(zo*^7SP{WbZ0pxQQctjQh
z)vX6%#^h&xhk=5UC9V-A!TD(=<%vb94CUqJdYO6I#mR{Use1WE>9gP2NC6e?@N{tu
zvFLq!c_Zf`2a#hR|94N4j5!#h_dtj-IC6$*&L^$u0lP(-9tcGq(CS-Y%+i-WQA1Ox
zPvYRQ^?&>B?`^JLw5nQxRjow5e^JI{mCn~M?{nG+9N49EIwo|volnTsn)X>SE>Et6
z&X~!4c*BQ#*SvDl3gaU~uj)!P{4~n<FB6@3H{jrzZ3mbZ^xoa9W6ggw#I!c?e$6xa
z-=^2%ma_-cB<M6sUip6}Q2!TCM6bjd)&m<Ej~`)dSMO;yV2V__vIXb|22WQ%mvv4F
FO#o*oc`^V1

literal 0
HcmV?d00001

diff --git a/de.hftstuttgart.buildingphysics.application/icons/save_edit.png b/de.hftstuttgart.buildingphysics.application/icons/save_edit.png
new file mode 100644
index 0000000000000000000000000000000000000000..b17caf5a984540e8b1448057feeecc5183c58eaa
GIT binary patch
literal 367
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf<Z~8yL>2?p
zD}XSgpwrRCKtah8*NBqf{Irtt#G+J&^73-M%)IR4<ivthz5Jr|+3#$mfQsIDx;Tbd
z^e&ye){i+*pml%du1%avUa2i%V&oG_iH&CnnZKY-K62-?9(QxoJr43rp7D$mBvLj?
zux*}gQc%A8f@fadvpdE6&WI+zv+M4te$bHjHAv*>5}niK43oDoay_VY{~%!TkJHeT
zagA#4?Mv_MdONO8`@-c@C42nbRn8AP_!%B-iNCC}_SPK1!YP-t4+zZom)=sle}nLc
z$hr2+`x<6XxumevgyEgm+wiZ&N*@$5cV5+3iDlUACp_b(m9qWQJ&_JBb5fstKF9DN
z>{9C89lu2j<{Do+ePv5${#Dzoiu+$0EI(XKkl5OKHs>F&{AoMO<{t+vf&OOjboFyt
I=akR{0M|T{IRF3v

literal 0
HcmV?d00001

diff --git a/de.hftstuttgart.buildingphysics.application/plugin.xml b/de.hftstuttgart.buildingphysics.application/plugin.xml
new file mode 100644
index 0000000..4c0f3c1
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/plugin.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+   <extension
+         id="product"
+         point="org.eclipse.core.runtime.products">
+      <product
+            application="org.eclipse.e4.ui.workbench.swt.E4Application"
+            name="de.hftstuttgart.buildingphysics.application">
+         <property
+               name="appName"
+               value="de.hftstuttgart.buildingphysics.application">
+         </property>
+      </product>
+   </extension>
+
+</plugin>
diff --git a/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/AboutHandler.java b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/AboutHandler.java
new file mode 100644
index 0000000..e848482
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/AboutHandler.java
@@ -0,0 +1,12 @@
+package de.hftstuttgart.buildingphysics.application.handlers;
+
+import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.widgets.Shell;
+
+public class AboutHandler {
+	@Execute
+	public void execute(Shell shell) {
+		MessageDialog.openInformation(shell, "About", "HfT Stuttgart - Building Physics Catalog");
+	}
+}
diff --git a/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/HandlerUtils.java b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/HandlerUtils.java
new file mode 100644
index 0000000..b302a2e
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/HandlerUtils.java
@@ -0,0 +1,50 @@
+package de.hftstuttgart.buildingphysics.application.handlers;
+
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.ui.model.application.ui.basic.MPart;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
+import org.eclipse.e4.ui.workbench.modeling.EPartService.PartState;
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Shell;
+
+class HandlerUtils {
+	static final String CATALOG_PARTDESCRIPTOR_ID = "de.hftstuttgart.buildingphysics.application.partdescriptor.catalog";
+	
+	public static String openFileDialog(Shell shell) {
+		return invokeFileDialog(new FileDialog(shell, SWT.OPEN));
+	}
+
+	public static String newFileDialog(Shell shell) {
+		return invokeFileDialog(new FileDialog(shell, SWT.SAVE));
+	}
+
+	private static String invokeFileDialog(FileDialog dialog) {
+		dialog.setFilterPath(System.getProperty("user.home"));
+		dialog.setFilterNames(new String [] {"Building Physics Catalog", "All Files (*)"});
+		dialog.setFilterExtensions(new String [] {"*.buildphys", "*"});
+		return dialog.open();
+	}
+	
+	static void createNewPartWithCatalog(IEclipseContext context, EPartService partService, Resource resource) {		
+		context.set(Resource.class, resource);
+		MPart catalogPart = partService.createPart(CATALOG_PARTDESCRIPTOR_ID);
+		catalogPart.setDirty(true); // must listen to adapter!
+		catalogPart.setLabel(resource.getURI().lastSegment());
+		partService.showPart(catalogPart, PartState.ACTIVATE);
+	}
+	
+	static AdapterFactoryEditingDomain createEditingDomain() {
+		final AdapterFactory composedAdapterFactory = new ComposedAdapterFactory(
+				ComposedAdapterFactory.Descriptor.Registry.INSTANCE); // no dispose required?
+		final AdapterFactoryEditingDomain domain = new AdapterFactoryEditingDomain(composedAdapterFactory,
+				new BasicCommandStack());
+		return domain;
+	}
+
+}
diff --git a/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/NewHandler.java b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/NewHandler.java
new file mode 100644
index 0000000..30ccd9c
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/NewHandler.java
@@ -0,0 +1,45 @@
+package de.hftstuttgart.buildingphysics.application.handlers;
+
+import de.hftstuttgart.buildingphysics.BuildingPhysicsPackage;
+import java.io.IOException;
+
+import javax.inject.Named;
+
+import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.ui.model.application.MApplication;
+import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.swt.widgets.Shell;
+
+
+public class NewHandler {
+
+	@Execute
+	public void execute(MApplication application, @Named(IServiceConstants.ACTIVE_SHELL) Shell shell,
+			EPartService partService) {
+
+		final String pathToNewCatalog = HandlerUtils.newFileDialog(shell);
+
+		if (pathToNewCatalog != null) {
+			// create new catalog with resource at above path
+			final AdapterFactoryEditingDomain domain = HandlerUtils.createEditingDomain();
+			final Resource energyCatalogResource = domain.createResource("file://" + pathToNewCatalog);
+			final EObject energyCatalog = EcoreUtil.create(BuildingPhysicsPackage.eINSTANCE.getBuildingPhysicsCatalog());
+			energyCatalogResource.getContents().add(energyCatalog);
+
+			// store new (empty) resource at selected path
+			try {
+				energyCatalogResource.save(null);
+			} catch (IOException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+
+			HandlerUtils.createNewPartWithCatalog(application.getContext(), partService, energyCatalogResource);
+		}
+	}
+}
\ No newline at end of file
diff --git a/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/OpenHandler.java b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/OpenHandler.java
new file mode 100644
index 0000000..7639f79
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/OpenHandler.java
@@ -0,0 +1,28 @@
+package de.hftstuttgart.buildingphysics.application.handlers;
+
+import javax.inject.Named;
+
+import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.ui.model.application.MApplication;
+import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.swt.widgets.Shell;
+
+
+public class OpenHandler {
+	@Execute
+	public void execute(MApplication application, @Named(IServiceConstants.ACTIVE_SHELL) Shell shell,
+			EPartService partService) {
+
+		final String pathToCatalog = HandlerUtils.openFileDialog(shell);
+
+		if (pathToCatalog != null) {
+			final AdapterFactoryEditingDomain domain = HandlerUtils.createEditingDomain();
+			System.out.println("Open catalog: " + pathToCatalog);
+			final Resource catalogResource = domain.loadResource("file://" + pathToCatalog);
+			HandlerUtils.createNewPartWithCatalog(application.getContext(), partService, catalogResource);
+		}
+	}
+}
\ No newline at end of file
diff --git a/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/QuitHandler.java b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/QuitHandler.java
new file mode 100644
index 0000000..a241914
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/QuitHandler.java
@@ -0,0 +1,17 @@
+package de.hftstuttgart.buildingphysics.application.handlers;
+
+import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.ui.workbench.IWorkbench;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.widgets.Shell;
+
+
+public class QuitHandler {
+	@Execute
+	public void execute(IWorkbench workbench, Shell shell){
+		if (MessageDialog.openConfirm(shell, "Confirmation",
+				"Do you want to exit?")) {
+			workbench.close();
+		}
+	}
+}
diff --git a/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/SaveHandler.java b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/SaveHandler.java
new file mode 100644
index 0000000..6d1aba5
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/handlers/SaveHandler.java
@@ -0,0 +1,21 @@
+package de.hftstuttgart.buildingphysics.application.handlers;
+
+import org.eclipse.e4.core.di.annotations.CanExecute;
+import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
+
+public class SaveHandler {
+
+	@CanExecute
+	public boolean canExecute(EPartService partService) {
+		if (partService != null) {
+			return !partService.getDirtyParts().isEmpty();
+		}
+		return false;
+	}
+
+	@Execute
+	public void execute(EPartService partService) {
+		partService.saveAll(false);
+	}
+}
\ No newline at end of file
diff --git a/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/parts/CatalogPart.java b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/parts/CatalogPart.java
new file mode 100644
index 0000000..6dbd106
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.application/src/de/hftstuttgart/buildingphysics/application/parts/CatalogPart.java
@@ -0,0 +1,50 @@
+package de.hftstuttgart.buildingphysics.application.parts;
+
+import java.io.IOException;
+
+import javax.annotation.PostConstruct;
+
+import org.eclipse.e4.ui.di.Persist;
+import org.eclipse.e4.ui.model.application.MApplication;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecp.ui.view.ECPRendererException;
+import org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer;
+import org.eclipse.jface.layout.GridLayoutFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Part for displaying a Forms Editor for a Building Physics Catalog.
+ */
+public class CatalogPart {
+	private Resource catalogResource;
+	
+	@PostConstruct
+	public void createComposite(MApplication application, Composite parent) {
+		catalogResource = application.getContext().get(Resource.class);
+		EObject energyCatalog = catalogResource.getContents().get(0);
+		try {
+			final Composite content = new Composite(parent, SWT.NONE);
+			content.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
+			content.setLayout(GridLayoutFactory.fillDefaults().margins(10, 10).create());
+			ECPSWTViewRenderer.INSTANCE.render(content, energyCatalog);
+			content.layout();
+		} catch (final ECPRendererException e) {
+			e.printStackTrace();
+		}
+		parent.layout();
+	}
+	
+	@Persist
+	public void save() {
+		System.out.println("Saved " + catalogResource);
+		try {
+			catalogResource.save(null);
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+
+}
\ No newline at end of file
diff --git a/de.hftstuttgart.buildingphysics.feature/.project b/de.hftstuttgart.buildingphysics.feature/.project
new file mode 100644
index 0000000..1daa037
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>de.hftstuttgart.buildingphysics.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/de.hftstuttgart.buildingphysics.feature/build.properties b/de.hftstuttgart.buildingphysics.feature/build.properties
new file mode 100644
index 0000000..64f93a9
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/de.hftstuttgart.buildingphysics.feature/feature.xml b/de.hftstuttgart.buildingphysics.feature/feature.xml
new file mode 100644
index 0000000..251cd37
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.feature/feature.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="de.hftstuttgart.buildingphysics.feature"
+      label="Feature"
+      version="1.0.0.qualifier"
+      provider-name="HfT Stuttgart">
+
+   <description url="http://www.example.com/description">
+      [Enter Feature Description here.]
+   </description>
+
+   <copyright url="http://www.example.com/copyright">
+      [Enter Copyright Description here.]
+   </copyright>
+
+   <license url="http://www.example.com/license">
+      [Enter License Description here.]
+   </license>
+
+   <plugin
+         id="de.hftstuttgart.buildingphysics.application"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.ui.views"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.ui.workbench"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.help"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.core.resources"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.core.filesystem"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jface.text"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.text"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="de.hftstuttgart.buildingphysics"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="de.hftstuttgart.buildingphysics.edit"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="de.hftstuttgart.buildingphysics.viewmodel"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+</feature>
-- 
GitLab


From a00f97a21f2381806e0bf6e291e6bdea3001f878 Mon Sep 17 00:00:00 2001
From: Kai Brassel <mail@khbrassel.de>
Date: Fri, 13 Nov 2020 12:05:23 +0100
Subject: [PATCH 4/4] Explanation of usage and reference to tutorial

---
 README.md | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 1ede228..6d3e13c 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,16 @@
-# Building Physics Catalog Editor
+# Building Physics Catalog Data Model and Editor
 
+**Important: This is a prototype and work in progress!!**
+
+## How to Use
+
+1. Ensure Java 11 or higher is available (if not, install AdoptOpenJDK 15)
+2. Install Eclipse Modeling Tools, version 2020-09 or higher
+3. Import all Eclipse projects in this GIT repository via `File -> Import... -> Projects from GIT -> Clone URI`
+4. Refresh and clean/build projects
+5. Open `de.hftstuttgart.buildingphysics.application.product` and in `Overview`, section `Testing` press `Synchronize` first and `Launch an Eclipse Application` second
+6. Press `New...` to ceate a new empty Building Physics Catalog; Save and Load buttons are also available.
+ 
+## How to Create
+
+Find background information about parameter catalogs for simulation and a tutorial on how to create them at [https://transfer.hft-stuttgart.de/gitlab/neqmodplus/parameter-catalogs-for-simulation](https://transfer.hft-stuttgart.de/gitlab/neqmodplus/parameter-catalogs-for-simulation).
-- 
GitLab