From 570f687b365f675c826087dbede2bb4156da1e04 Mon Sep 17 00:00:00 2001
From: Kai Brassel <mail@khbrassel.de>
Date: Mon, 9 Nov 2020 11:45:43 +0100
Subject: [PATCH] View model project with master-detail view and tables

---
 org.example.democatalog.viewmodel/.project    | 50 +++++++++++++++
 .../META-INF/MANIFEST.MF                      |  6 ++
 .../build.properties                          |  4 ++
 org.example.democatalog.viewmodel/plugin.xml  | 10 +++
 .../viewmodels/EnergyComponentCatalog.view    | 61 +++++++++++++++++++
 5 files changed, 131 insertions(+)
 create mode 100644 org.example.democatalog.viewmodel/.project
 create mode 100644 org.example.democatalog.viewmodel/META-INF/MANIFEST.MF
 create mode 100644 org.example.democatalog.viewmodel/build.properties
 create mode 100644 org.example.democatalog.viewmodel/plugin.xml
 create mode 100644 org.example.democatalog.viewmodel/viewmodels/EnergyComponentCatalog.view

diff --git a/org.example.democatalog.viewmodel/.project b/org.example.democatalog.viewmodel/.project
new file mode 100644
index 0000000..319c0b1
--- /dev/null
+++ b/org.example.democatalog.viewmodel/.project
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<projectDescription>
+    	
+    <name>org.example.democatalog.viewmodel</name>
+    	
+    <comment/>
+    	
+    <projects>
+	</projects>
+    	
+    <buildSpec>
+        		
+        <buildCommand>
+            			
+            <name>org.eclipse.pde.ManifestBuilder</name>
+            			
+            <arguments>
+			</arguments>
+            		
+        </buildCommand>
+        		
+        <buildCommand>
+            			
+            <name>org.eclipse.pde.SchemaBuilder</name>
+            			
+            <arguments>
+			</arguments>
+            		
+        </buildCommand>
+        		
+        <buildCommand>
+            			
+            <name>org.eclipse.emfforms.ide.builder.viewModelBuilder</name>
+            			
+            <arguments>
+			</arguments>
+            		
+        </buildCommand>
+        	
+    </buildSpec>
+    	
+    <natures>
+        		
+        <nature>org.eclipse.pde.PluginNature</nature>
+        		
+        <nature>org.eclipse.emfforms.ide.builder.viewModelNature</nature>
+        	
+    </natures>
+    
+</projectDescription>
diff --git a/org.example.democatalog.viewmodel/META-INF/MANIFEST.MF b/org.example.democatalog.viewmodel/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..401e181
--- /dev/null
+++ b/org.example.democatalog.viewmodel/META-INF/MANIFEST.MF
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.example.democatalog.viewmodel
+Bundle-SymbolicName: org.example.democatalog.viewmodel;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi
diff --git a/org.example.democatalog.viewmodel/build.properties b/org.example.democatalog.viewmodel/build.properties
new file mode 100644
index 0000000..4ad6a71
--- /dev/null
+++ b/org.example.democatalog.viewmodel/build.properties
@@ -0,0 +1,4 @@
+bin.includes = META-INF/,\
+               plugin.xml,\
+               viewmodels/
+               
\ No newline at end of file
diff --git a/org.example.democatalog.viewmodel/plugin.xml b/org.example.democatalog.viewmodel/plugin.xml
new file mode 100644
index 0000000..d33317d
--- /dev/null
+++ b/org.example.democatalog.viewmodel/plugin.xml
@@ -0,0 +1,10 @@
+<?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/EnergyComponentCatalog.view"/>
+
+   </extension>
+
+</plugin>
diff --git a/org.example.democatalog.viewmodel/viewmodels/EnergyComponentCatalog.view b/org.example.democatalog.viewmodel/viewmodels/EnergyComponentCatalog.view
new file mode 100644
index 0000000..c2504a7
--- /dev/null
+++ b/org.example.democatalog.viewmodel/viewmodels/EnergyComponentCatalog.view
@@ -0,0 +1,61 @@
+<?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.categorization.model="http://org/eclipse/emf/ecp/view/categorization/model" 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="_j_7EMCJtEeucKozZIAVoVA" name="EnergyComponentCatalog">
+  <rootEClass href="http://example.org/democatalog#//EnergyComponentCatalog"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_kASQkCJtEeucKozZIAVoVA" name="Control author">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_kASQkSJtEeucKozZIAVoVA">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://example.org/democatalog#//EnergyComponentCatalog/author"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.categorization.model:CategorizationElement" xmi:id="_bgJesCJxEeucKozZIAVoVA" name="Categories">
+    <categorizations xsi:type="org.eclipse.emf.ecp.view.categorization.model:Categorization" xmi:id="_cani4CJxEeucKozZIAVoVA" name="Heat">
+      <categorizations xsi:type="org.eclipse.emf.ecp.view.categorization.model:Category" xmi:id="_cxP6MCJxEeucKozZIAVoVA" name="Boilers">
+        <composite xsi:type="org.eclipse.emf.ecp.view.table.model:TableControl" xmi:id="_dbVD4CJvEeucKozZIAVoVA" name="boilers" detailEditing="WithPanel">
+          <domainModelReference xsi:type="org.eclipse.emf.ecp.view.table.model:TableDomainModelReference" xmi:id="_sxeugCJvEeucKozZIAVoVA">
+            <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_sxeugSJvEeucKozZIAVoVA">
+              <domainModelEFeature xsi:type="ecore:EReference" href="http://example.org/democatalog#//EnergyComponentCatalog/boilers"/>
+            </domainModelReference>
+          </domainModelReference>
+        </composite>
+      </categorizations>
+      <categorizations xsi:type="org.eclipse.emf.ecp.view.categorization.model:Category" xmi:id="_dOvugCJxEeucKozZIAVoVA" name="CHPs">
+        <composite xsi:type="org.eclipse.emf.ecp.view.table.model:TableControl" xmi:id="_1TkEUCJvEeucKozZIAVoVA" name="chps" detailEditing="WithPanel">
+          <domainModelReference xsi:type="org.eclipse.emf.ecp.view.table.model:TableDomainModelReference" xmi:id="_6Og7YCJvEeucKozZIAVoVA">
+            <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_6Og7YSJvEeucKozZIAVoVA">
+              <domainModelEFeature xsi:type="ecore:EReference" href="http://example.org/democatalog#//EnergyComponentCatalog/chps"/>
+            </domainModelReference>
+          </domainModelReference>
+        </composite>
+      </categorizations>
+    </categorizations>
+    <categorizations xsi:type="org.eclipse.emf.ecp.view.categorization.model:Categorization" xmi:id="_dvr4YCJxEeucKozZIAVoVA" name="Energy">
+      <categorizations xsi:type="org.eclipse.emf.ecp.view.categorization.model:Category" xmi:id="_eFJLACJxEeucKozZIAVoVA" name="Solar Panels">
+        <composite xsi:type="org.eclipse.emf.ecp.view.table.model:TableControl" xmi:id="_bA5MUCJwEeucKozZIAVoVA" name="solarPanels" detailEditing="WithPanel">
+          <domainModelReference xsi:type="org.eclipse.emf.ecp.view.table.model:TableDomainModelReference" xmi:id="_c1yRYCJwEeucKozZIAVoVA">
+            <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_c1yRYSJwEeucKozZIAVoVA">
+              <domainModelEFeature xsi:type="ecore:EReference" href="http://example.org/democatalog#//EnergyComponentCatalog/solarPanels"/>
+            </domainModelReference>
+          </domainModelReference>
+        </composite>
+      </categorizations>
+      <categorizations xsi:type="org.eclipse.emf.ecp.view.categorization.model:Category" xmi:id="_eXffQCJxEeucKozZIAVoVA" name="Inverters">
+        <composite xsi:type="org.eclipse.emf.ecp.view.table.model:TableControl" xmi:id="_fKDaECJwEeucKozZIAVoVA" name="inverters" detailEditing="WithPanel">
+          <domainModelReference xsi:type="org.eclipse.emf.ecp.view.table.model:TableDomainModelReference" xmi:id="_hZzPICJwEeucKozZIAVoVA">
+            <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_hZzPISJwEeucKozZIAVoVA">
+              <domainModelEFeature xsi:type="ecore:EReference" href="http://example.org/democatalog#//EnergyComponentCatalog/inverters"/>
+            </domainModelReference>
+          </domainModelReference>
+        </composite>
+      </categorizations>
+    </categorizations>
+    <categorizations xsi:type="org.eclipse.emf.ecp.view.categorization.model:Category" xmi:id="_evMNkCJxEeucKozZIAVoVA" name="Manufacturers">
+      <composite xsi:type="org.eclipse.emf.ecp.view.table.model:TableControl" xmi:id="_jEVeUCJwEeucKozZIAVoVA" name="manufacturers">
+        <domainModelReference xsi:type="org.eclipse.emf.ecp.view.table.model:TableDomainModelReference" xmi:id="_lFZXICJwEeucKozZIAVoVA">
+          <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_lFZXISJwEeucKozZIAVoVA">
+            <domainModelEFeature xsi:type="ecore:EReference" href="http://example.org/democatalog#//EnergyComponentCatalog/manufacturers"/>
+          </domainModelReference>
+        </domainModelReference>
+      </composite>
+    </categorizations>
+  </children>
+  <ecorePaths>/org.example.democatalog/model/democatalog.ecore</ecorePaths>
+</org.eclipse.emf.ecp.view.model:View>
-- 
GitLab