[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.modeling.gmf] Empty properties view in editor when using a ecore model with subpackages
|
Hello,
As mentionned in the title, I am having problems with a GMF diagram
editor which is based on a ecore model with subpackages (see attached file).
Whenever I select in the editor an EditPart corresponding to a EClass of
a subpackage, Its property view is always empty, this does not happen
for EClass that are defined in the main (root) package.
Any idea on how to solve this issue ?
Thanks in advance,
Steven
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage 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" name="datapath"
nsURI="datapath" nsPrefix="fr.irisa.cairn.model.datapath">
<eClassifiers xsi:type="ecore:EClass" name="Datapath" eSuperTypes="#//NamedElement ../../fr.irisa.cairn.graph/model/graph.ecore#//IGraph #//ActivableBlock #//DataFlowBlock #//FlagBearerBlock">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nonNegativeNumberOfComponents noCombinationalCycles
"/>
</eAnnotations>
<eAnnotations source="OCL">
<details key="nonEmptyComponentList" value="self.components.size()<>0"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="components" lowerBound="1"
upperBound="-1" eType="#//AbstractBlock" containment="true" eOpposite="#//AbstractBlock/parent"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="dataWires" upperBound="-1"
eType="#//wires/DataFlowWire" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="controlWires" upperBound="-1"
eType="#//wires/ControlFlowWire" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractBlock" abstract="true" eSuperTypes="#//NamedElement ../../fr.irisa.cairn.graph/model/graph.ecore#//INode">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="consistentInputPortWidth consistentOutputPortWidth hasValidSources"/>
</eAnnotations>
<eAnnotations source="OCL"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" lowerBound="1"
eType="#//Datapath" eOpposite="#//Datapath/components"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="combinational" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" changeable="false"
defaultValueLiteral="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActivableBlock" abstract="true" eSuperTypes="#//AbstractBlock">
<eStructuralFeatures xsi:type="ecore:EReference" name="activate" lowerBound="1"
upperBound="-1" eType="#//port/InControlPort" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataFlowBlock" abstract="true" eSuperTypes="#//AbstractBlock">
<eStructuralFeatures xsi:type="ecore:EReference" name="in" upperBound="-1" eType="#//port/InDataPort"
unsettable="true" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="out" upperBound="-1" eType="#//port/OutDataPort"
containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="width" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FlagBearerBlock" abstract="true" eSuperTypes="#//AbstractBlock">
<eStructuralFeatures xsi:type="ecore:EReference" name="flags" lowerBound="1" upperBound="-1"
eType="#//port/OutControlPort" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true">
<eAnnotations/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
iD="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Wire" abstract="true" eSuperTypes="#//NamedElement ../../fr.irisa.cairn.graph/model/graph.ecore#//IEdge">
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" lowerBound="1"
eType="#//Datapath"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="width" unique="false" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" changeable="false"
defaultValueLiteral="1" unsettable="true" derived="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Port" abstract="true" eSuperTypes="#//NamedElement ../../fr.irisa.cairn.graph/model/graph.ecore#//IPort">
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" lowerBound="1"
eType="#//AbstractBlock" changeable="false" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="width" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Operator" abstract="true" eSuperTypes="#//DataFlowBlock">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="consistentBitwidth
"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/ocl/examples/OCL">
<details key="consistentBitwidth" value="self.width>0"/>
<details key="consistentPortNumber" value="self.in.size()=2 and self.out.size()=1 "/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SubDatapath" eSuperTypes="#//Datapath"/>
<eClassifiers xsi:type="ecore:EClass" name="TestOp" eSuperTypes="#//Operator"/>
<eSubpackages name="port" nsURI="port" nsPrefix="port">
<eClassifiers xsi:type="ecore:EClass" name="InDataPort" eSuperTypes="#//port/InputPort">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="consistentBitwidth
"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/ocl/examples/OCL">
<details key="consistentBitwidth" value="self.sources.forall (w|w.width<=self.width)"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InputPort" abstract="true" eSuperTypes="#//Port">
<eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
eType="#//Wire"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OutputPort" abstract="true" eSuperTypes="#//Port">
<eStructuralFeatures xsi:type="ecore:EReference" name="sinks" upperBound="-1"
eType="#//Wire"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OutDataPort" eSuperTypes="#//port/OutputPort"/>
<eClassifiers xsi:type="ecore:EClass" name="InControlPort" eSuperTypes="#//port/InputPort"/>
<eClassifiers xsi:type="ecore:EClass" name="OutControlPort" eSuperTypes="#//port/OutputPort"/>
</eSubpackages>
<eSubpackages name="wires" nsURI="wires" nsPrefix="wires">
<eClassifiers xsi:type="ecore:EClass" name="DataFlowWire" eSuperTypes="#//Wire">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="consistentInputPortType consistentOutputPortType"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="source" unique="false"
lowerBound="1" eType="#//port/OutDataPort"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="sink" lowerBound="1"
eType="#//port/InDataPort"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ControlFlowWire" eSuperTypes="#//Wire">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="consistentInputPortType consistentOutputPortType"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="source" unique="false"
lowerBound="1" eType="#//port/OutControlPort"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="sink" lowerBound="1"
eType="#//port/InControlPort"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="storage" nsURI="storage" nsPrefix="storage">
<eClassifiers xsi:type="ecore:EClass" name="Register" eSuperTypes="#//ActivableBlock #//DataFlowBlock"/>
<eClassifiers xsi:type="ecore:EClass" name="CERegister" eSuperTypes="#//ActivableBlock #//DataFlowBlock"/>
<eClassifiers xsi:type="ecore:EClass" name="ShiftRegister" eSuperTypes="#//ActivableBlock #//DataFlowBlock"/>
</eSubpackages>
<eSubpackages name="operators" nsURI="operators" nsPrefix="operators">
<eClassifiers xsi:type="ecore:EEnum" name="UnaryOpcode">
<eLiterals name="sqrt"/>
<eLiterals name="inv" value="1"/>
<eLiterals name="neg" value="3"/>
<eLiterals name="not" value="4"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UnaryOperator" eSuperTypes="#//Operator">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value=" consistentPortNumber"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/ocl/examples/OCL">
<details key="consistentPortNumber" value="self.in.size()=2 and self.out.size()=1 "/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="opcode" lowerBound="1"
eType="#//operators/UnaryOpcode" defaultValueLiteral=""add""/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="BinaryOpcode">
<eLiterals name="add"/>
<eLiterals name="mul" value="1"/>
<eLiterals name="sub" value="3"/>
<eLiterals name="div" value="4"/>
<eLiterals name="mux" value="5"/>
<eLiterals name="shl" value="6"/>
<eLiterals name="shr" value="7"/>
<eLiterals name="xor" value="8"/>
<eLiterals name="and" value="9"/>
<eLiterals name="nand" value="10"/>
<eLiterals name="max" value="11"/>
<eLiterals name="min" value="12"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BinaryOperator" eSuperTypes="#//Operator">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value=" consistentPortNumber"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/ocl/examples/OCL">
<details key="consistentPortNumber" value="self.in.size()=2 and self.out.size()=1 "/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="opcode" lowerBound="1"
eType="#//operators/BinaryOpcode" defaultValueLiteral=""add""/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="TernaryOpcode">
<eLiterals name="addc"/>
<eLiterals name="muladd" value="1"/>
<eLiterals name="subc" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TernaryOperator" eSuperTypes="#//Operator">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value=" consistentPortNumber bitwidthConstraint"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/ocl/examples/OCL">
<details key="consistentPortNumber" value="self.in.size()=3 and self.out.size()=1 "/>
<details key="bitwidthConstraint" value="self.in.forall(p | p.name='S' implies p.width=1)"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="opcode" lowerBound="1"
eType="#//operators/TernaryOpcode" defaultValueLiteral=""add""/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ReductionOpcode">
<eLiterals name="prod"/>
<eLiterals name="sigma" value="1"/>
<eLiterals name="max" value="2"/>
<eLiterals name="min" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConstantValue" eSuperTypes="#//DataFlowBlock">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataFlowMux" eSuperTypes="#//DataFlowBlock"/>
<eClassifiers xsi:type="ecore:EClass" name="ControlFlowMux" eSuperTypes="#//DataFlowBlock #//ActivableBlock"/>
<eClassifiers xsi:type="ecore:EClass" name="ReductionOperator" eSuperTypes="#//Operator">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value=" consistentPortNumber"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/ocl/examples/OCL">
<details key="consistentPortNumber" value="self.in.size()=2 and self.out.size()=1 "/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="opcode" lowerBound="1"
eType="#//operators/UnaryOpcode" defaultValueLiteral=""add""/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="pads" nsURI="pads" nsPrefix="pads">
<eClassifiers xsi:type="ecore:EClass" name="DataInputPad" eSuperTypes="#//AbstractBlock">
<eStructuralFeatures xsi:type="ecore:EReference" name="parentPort" lowerBound="1"
eType="#//port/InDataPort" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="out" lowerBound="1" eType="#//port/OutDataPort"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataOutputPad" eSuperTypes="#//AbstractBlock">
<eStructuralFeatures xsi:type="ecore:EReference" name="parentPort" lowerBound="1"
eType="#//port/OutDataPort"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="in" lowerBound="1" eType="#//port/InDataPort"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ControlPad" eSuperTypes="#//AbstractBlock">
<eStructuralFeatures xsi:type="ecore:EReference" name="parentPort" lowerBound="1"
eType="#//port/InControlPort"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="out" lowerBound="1" eType="#//port/OutControlPort"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StatusPad" eSuperTypes="#//AbstractBlock">
<eStructuralFeatures xsi:type="ecore:EReference" name="parentPort" lowerBound="1"
eType="#//port/OutControlPort"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="in" lowerBound="1" eType="#//port/InControlPort"
containment="true"/>
</eClassifiers>
</eSubpackages>
</ecore:EPackage>