Merge "Bug 553226 - [Robotics, Usability] Avoid generic "robotics" tab and disable new-child tab"
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.properties/plugin.xml b/plugins/customization/org.eclipse.papyrus.robotics.properties/plugin.xml
index faa4767..428e2f5 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.properties/plugin.xml
+++ b/plugins/customization/org.eclipse.papyrus.robotics.properties/plugin.xml
@@ -14,11 +14,13 @@
 		</context>
 	</extension>
 
+<!--
 	<extension point="org.eclipse.papyrus.infra.properties.contexts">
 		<context
 			contextModel="properties/robotics/robotics.ctx">
 		</context>
 	</extension>
+-->
 
 	<extension point="org.eclipse.papyrus.infra.properties.contexts">
 		<context
@@ -38,13 +40,18 @@
 		</context>
 	</extension>
 
-	
 	<extension point="org.eclipse.papyrus.infra.properties.contexts">
 		<context
 			contextModel="properties/activities/activities.ctx">
 		</context>
 	</extension>
 
+    <extension point="org.eclipse.papyrus.infra.properties.contexts">
+		<context
+			contextModel="properties/instances/instances.ctx">
+		</context>
+	</extension>
+
 	<extension point="org.eclipse.papyrus.infra.properties.contexts">
 		<context
 			contextModel="properties/marte/marte.ctx">
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/instances/instances.ctx b/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/instances/instances.ctx
new file mode 100644
index 0000000..d179832
--- /dev/null
+++ b/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/instances/instances.ctx
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="ASCII"?>
+<contexts:Context
+  xmi:version="2.0"
+  xmlns:xmi="http://www.omg.org/XMI"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:constraints="http://www.eclipse.org/papyrus/constraints/0.9"
+  xmlns:contexts="http://www.eclipse.org/papyrus/properties/contexts/0.9"
+  xmi:id="org.eclipse.papyrus.robotics.properties.instances"
+  name="Instances">
+  <dependencies href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_69QJkKDJEeSZxfCXzZz3-w"/>
+  <dependencies href="ppe:/context/org.eclipse.papyrus.robotics.properties/properties/robotics/robotics.ctx#_NcDrkCXJEeiyk8lv-B0xsw"/>
+  <tabs
+    xmi:id="org.eclipse.papyrus.robotics.properties.instances.tab.Instances"
+    label="Instances"
+    id="org.eclipse.papyrus.robotics.properties.instances.tab.Instances"
+    priority="100">
+    <afterTab href="ppe:/context/org.eclipse.papyrus.robotics.properties/properties/id/id.ctx#_kWGgQM33Eee3Tq5d85ujcg"/>
+    <sections
+      xmi:id="org.eclipse.papyrus.robotics.properties.instances.tab.Instances.sections.System"
+      name="Single System Component Instances"
+      sectionFile="ui/SingleSystem-instances.xwt">
+      <widget href="ui/SingleSystem-instances.xwt#/"/>
+    </sections>
+  </tabs>
+  <views xmi:id="org.eclipse.papyrus.robotics.properties.instances.tab.Instances.views.System" name="Single ComponentInstance"
+    sections="org.eclipse.papyrus.robotics.properties.instances.tab.Instances.sections.System"
+    automaticContext="true">
+    <constraints
+      xsi:type="constraints:SimpleConstraint"
+      xmi:id="org.eclipse.papyrus.robotics.properties.instances.tab.Instances.views.System.constraints.isSingleSystem"
+      name="isSingleSystem">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+      <properties
+        xsi:type="constraints:ValueProperty"
+        xmi:id="org.eclipse.papyrus.robotics.properties.instances.tab.Instances.views.System.constraints.isSingleSystem.vp"
+        name="stereotypeName"
+        value="robotics::components::System"/>
+    </constraints>
+    <datacontexts href="ppe:/context/org.eclipse.papyrus.robotics.properties/properties/robotics/robotics.ctx#_NcDsHyXJEeiyk8lv-B0xsw"/>
+  </views>
+</contexts:Context>
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/instances/ui/SingleSystem-instances.xwt b/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/instances/ui/SingleSystem-instances.xwt
new file mode 100644
index 0000000..9415cb2
--- /dev/null
+++ b/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/instances/ui/SingleSystem-instances.xwt
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite
+    xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:pprms="clr-namespace:org.eclipse.papyrus.robotics.properties.widgets"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference
+		    input="{Binding}"
+			property="robotics:components:System:instances"
+			readOnly="true"
+			customLabel="Component Instances"></ppe:MultiReference>
+	</Composite>
+</Composite>