]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.diagram.ontology/graph/DiagramFlags.pgraph
Sync git svn branch with SVN repository r33196.
[simantics/platform.git] / bundles / org.simantics.diagram.ontology / graph / DiagramFlags.pgraph
1 L0 = <http://www.simantics.org/Layer0-1.1>\r
2 STR = <http://www.simantics.org/Structural-1.2>\r
3 G2D = <http://www.simantics.org/G2D-1.1>\r
4 DIA = <http://www.simantics.org/Diagram-2.2>\r
5 SEL = <http://www.simantics.org/SelectionView-1.2>\r
6 \r
7 DIA.HasFlagType <R L0.IsRelatedTo : L0.FunctionalRelation\r
8     L0.HasLabel "Flag Type"\r
9     --> DIA.FlagType\r
10 \r
11 DIA.FlagType <T L0.Property\r
12     L0.HasDescription "Connection flag type (input or output)"\r
13     @L0.tag L0.Enumeration\r
14 DIA.FlagType.InputFlag : DIA.FlagType\r
15 DIA.FlagType.OutputFlag : DIA.FlagType\r
16 \r
17 DIA.FlagLabel <T L0.String\r
18     L0.HasDescription "This specialized label type exists because we need to attach a custom StringModifier to it."\r
19 \r
20 DIA.Flag <T DIA.DefinedElement\r
21     L0.HasDescription "Flags are used on diagrams for cutting connections and continuing them elsewhere."\r
22     @L0.singleProperty DIA.HasFlagType\r
23     @L0.property DIA.ExternalFlag\r
24     >-- DIA.Flag.HasIOTableBinding --> L0.String <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType\r
25         L0.HasLabel "I/O Table Binding"\r
26     >-- DIA.Flag.HasIOTableRowIndex --> L0.Integer <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType\r
27         L0.HasLabel "I/O Table Row Index"\r
28     @L0.assert DIA.Flag.HasIOTableRowIndex\r
29         -1 : L0.Integer\r
30     @L0.assert DIA.Flag.HasIOTableBinding\r
31         "" : L0.String\r
32     @L0.property DIA.FlagIsJoinedBy\r
33     @L0.optionalProperty L0.HasLabel\r
34     @L0.assert DIA.HasFlagType DIA.FlagType.InputFlag\r
35     @L0.assert L0.HasLabel\r
36         "" : DIA.FlagLabel\r
37     STR.IsDefinedBy _ : DIA.Composite\r
38         @L0.orderedSet\r
39             DIA.Flag.Terminal : DIA.Terminal\r
40                 DIA.HasTransform [1,0,0,1,0,0] : G2D.Transform\r
41                 DIA.HasConnectionPoint DIA.Flag.ConnectionPoint\r
42                     <-- DIA.Flag\r
43     @L0.assert DIA.HasDynamicTransform\r
44         DIA.Functions.flagTransform : L0.Function\r
45 \r
46 DIA.Flag.ConnectionPoint <R STR.IsConnectedTo : L0.FunctionalRelation\r
47 \r
48 DIA.ExternalFlag\r
49     @L0.defTag \r
50     L0.HasDescription "Used for tagging flags as external flows. External flows cannot be continued on the same or other diagrams of the same model."\r
51     <-- DIA.Flag\r
52     --> DIA.Flag\r
53 \r
54 \r
55 DIA.JoinsFlag <R L0.IsRelatedTo \r
56     L0.InverseOf DIA.FlagIsJoinedBy <R L0.IsRelatedTo\r
57         @L0.tag L0.SharedRange\r
58         <-- DIA.Flag\r
59         --> STR.ConnectionJoin\r
60 \r
61 DIA.IsLiftedAs <R L0.IsRelatedTo : L0.FunctionalRelation\r
62     <-- DIA.Flag\r
63     --> STR.ConnectionRelation\r
64     L0.InverseOf DIA.Lifts <R L0.IsRelatedTo : L0.FunctionalRelation\r
65 \r
66 \r
67 //// Preferences for labeling diagram flags\r
68 \r
69 DIA.UsesLocalFlagLabelingScheme <R L0.IsRelatedTo\r
70 \r
71 DIA.FlagLabelingScheme <T L0.Entity\r
72     @L0.tag L0.Enumeration\r
73 DIA.FlagLabelingScheme.Alphabetical : DIA.FlagLabelingScheme\r
74     L0.HasLabel "Alphabetical"\r
75     L0.HasDescription "Alphabetical labeling scheme. A, B; C, ..., X, Y, Z, AA, AB, AC, ..."\r
76 DIA.FlagLabelingScheme.Numeric : DIA.FlagLabelingScheme\r
77     L0.HasLabel "Numeric"\r
78     L0.HasDescription "Numeric labeling scheme. 1, 2, 3, ..."\r