]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling.template2d.ontology/graph/DrawingTemplateVP.pgraph
Fix annoying editor focus jumping with Ctrl+Shift+D/M
[simantics/platform.git] / bundles / org.simantics.modeling.template2d.ontology / graph / DrawingTemplateVP.pgraph
1 L0 = <http://www.simantics.org/Layer0-1.1>
2 L0X = <http://www.simantics.org/Layer0X-1.1>
3 STR = <http://www.simantics.org/Structural-1.2>
4 DIA = <http://www.simantics.org/Diagram-2.2>
5 MOD = <http://www.simantics.org/Modeling-1.2>
6 TEMPLATE2D = <http://www.simantics.org/ModelingTemplate2d-1.0>
7 IMAGE = <http://www.simantics.org/Image2-1.2>
8 VP = <http://www.simantics.org/Viewpoint-1.2>
9 PROJ = <http://www.simantics.org/Project-1.2>
10 ACT = <http://www.simantics.org/Action-1.1>
11 G2D = <http://www.simantics.org/G2D-1.1>
12 SG = <http://www.simantics.org/Scenegraph-1.1>
13 SEL = <http://www.simantics.org/SelectionView-1.2>
14 SEL_UI = <http://www.simantics.org/SelectionViewUI-1.1>
15 ANNO = <http://www.simantics.org/Annotation-1.0>
16
17 DIAGRAM_TEMPLATE_BC = TEMPLATE2D.DiagramTemplateBC : VP.BrowseContext
18 //    VP.BrowseContext.IsIncludedIn MOD.ModelingBrowseContext
19 //    VP.BrowseContext.IsIncludedIn PROJ.ProjectBrowseContext
20
21
22 TEMPLATE2D.BrowseNode <T L0.Entity
23 TEMPLATE2D.DrawingTemplateLibraryUI <T TEMPLATE2D.BrowseNode
24 TEMPLATE2D.DrawingTemplateUI <T TEMPLATE2D.BrowseNode <T L0.Library
25 TEMPLATE2D.BorderUI <T TEMPLATE2D.BrowseNode
26 TEMPLATE2D.TextTemplateUI <T TEMPLATE2D.BrowseNode
27 TEMPLATE2D.FlagTableUI <T TEMPLATE2D.BrowseNode
28 TEMPLATE2D.FlagTypeVisualUI <T TEMPLATE2D.BrowseNode
29 TEMPLATE2D.FlagTypeVisual.FilterUI <T TEMPLATE2D.BrowseNode
30 TEMPLATE2D.FlagTableUI.ColumnUI <T TEMPLATE2D.BrowseNode
31 TEMPLATE2D.FlagTableUI.ColumnUI.DataUI <T TEMPLATE2D.BrowseNode
32 TEMPLATE2D.FlagTableUI.ColumnUI.HeaderUI <T TEMPLATE2D.BrowseNode
33 TEMPLATE2D.CompositeUI <T TEMPLATE2D.BrowseNode
34
35 TEMPLATE2D.TemplateTabContribution : SEL.TypedVariableTabContribution
36     SEL.TypedVariableTabContribution.HasType SG.Node
37     SEL.VariableTabContribution.HasView SEL_UI.StandardProperties
38     SEL.VariableTabContribution.HasPriority 1
39     L0.HasLabel "Parameters"
40
41 TEMPLATE2D.DiagramTemplateBC.ScenegraphChildren : VP.ChildRule
42     VP.RelationChildRule.HasRelation SG.Node.children
43
44 DIAGRAM_TEMPLATE_BC
45     // Produces drawing template library/libraries under model
46     @VP.relationChildRule MOD.StructuralModel TEMPLATE2D.HasDrawingTemplateRoot TEMPLATE2D.BrowseNode
47
48     // Produces BrowseNode hierarchy through L0.ConsistsOf but leaves out
49     // CompositeUI instances. Those are contributed separately.
50     VP.BrowseContext.HasChildContribution _ : VP.ChildContribution
51         VP.ChildContribution.HasParentNodeType TEMPLATE2D.BrowseNode
52         VP.ChildContribution.HasChildNodeType  TEMPLATE2D.BrowseNode 
53         VP.ChildContribution.HasRule           _ : VP.RelationChildRule
54             VP.RelationChildRule.HasRelation       L0.ConsistsOf
55             VP.RelationChildRule.HasTest           _ : VP.HasNegatedTest
56                 VP.HasNegatedTest.HasTest              _ : VP.OrTest
57                     VP.OrTest.HasTest
58                         _ : VP.HasInstanceOfTest
59                             VP.HasInstanceOfTest.IsInstanceOf TEMPLATE2D.CompositeUI
60                         _ : VP.HasInstanceOfTest
61                             VP.HasInstanceOfTest.IsInstanceOf TEMPLATE2D.FlagTableUI
62
63     // Produce root-level VisualComposites under drawing template.
64     @VP.relationChildRule TEMPLATE2D.DrawingTemplateUI L0.ConsistsOf DIA.Scenegraph.Composite
65
66     // Produces filters under scene graph nodes in flag type visuals
67     @VP.relationChildRule SG.Node L0.ConsistsOf TEMPLATE2D.FlagTypeVisual.Filter
68
69     // Produces scene graph node hiearchy under DIA.Scenegraph.Composite instances
70     VP.BrowseContext.HasChildContribution _ : VP.ChildContribution
71         VP.ChildContribution.HasParentNodeType DIA.Scenegraph.Composite
72         VP.ChildContribution.HasChildNodeType  DIA.Scenegraph.Node
73         VP.ChildContribution.HasRule           TEMPLATE2D.DiagramTemplateBC.ScenegraphChildren
74
75     VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
76         VP.VisualsContribution.HasNodeType DIA.Scenegraph.Composite
77         VP.VisualsContribution.HasRule VP.PassThruSorterRule
78
79     VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
80         VP.VisualsContribution.HasNodeType TEMPLATE2D.CompositeUI
81         VP.VisualsContribution.HasRule VP.PassThruSorterRule
82
83     VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
84         VP.VisualsContribution.HasNodeType TEMPLATE2D.FlagTableUI
85         VP.VisualsContribution.HasRule VP.PassThruSorterRule
86
87     VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
88         VP.VisualsContribution.HasNodeType TEMPLATE2D.FlagTypeVisualUI
89         VP.VisualsContribution.HasRule VP.PassThruSorterRule
90
91 DIAGRAM_TEMPLATE_BC
92     @VP.customLabelRule             TEMPLATE2D.BrowseNode       VP.StandardNameLabelRule
93     @VP.customLabelRule             TEMPLATE2D.PageOrientation  VP.ResourceNameLabelRule
94
95 DIAGRAM_TEMPLATE_BC
96     @VP.constantImageRule           TEMPLATE2D.BrowseNode                       IMAGES.DiagramTemplateLibrary
97     @VP.constantImageRule           TEMPLATE2D.BorderUI                         IMAGES.BorderIcon
98     @VP.constantImageRule           TEMPLATE2D.FlagTable                        IMAGES.FlagTableIcon
99     @VP.constantImageRule           TEMPLATE2D.FlagTableUI                      IMAGES.FlagTableIcon
100     @VP.constantImageRule           TEMPLATE2D.FlagTableUI.ColumnUI.DataUI      IMAGES.DiagramTemplateDataIcon
101     @VP.constantImageRule           TEMPLATE2D.FlagTableUI.ColumnUI.HeaderUI    IMAGES.DiagramTemplateHeaderIcon
102     @VP.constantImageRule           TEMPLATE2D.FlagTypeVisual                   IMAGES.FlagTypeVisualIcon
103     @VP.constantImageRule           TEMPLATE2D.FlagTypeVisualUI                 IMAGES.FlagTypeVisualIcon
104     @VP.constantImageRule           TEMPLATE2D.FlagTypeVisual.Filter            IMAGES.FilterIcon
105     @VP.constantImageRule           TEMPLATE2D.FlagTypeVisual.FilterUI          IMAGES.FilterIcon
106     @VP.constantImageRule           TEMPLATE2D.FlagTableUI.ColumnUI             IMAGES.FlagTableColumnIcon
107     @VP.constantImageRule           TEMPLATE2D.FlagTable.RowNumberColumn        IMAGES.FlagTableNumberingColumnIcon
108     @VP.constantImageRule           TEMPLATE2D.Page                             IMAGES.PageIcon
109     @VP.constantImageRule           SG.Node                                     IMAGES.ScenegraphNode
110     @VP.constantImageRule           TEMPLATE2D.CompositeUI                      IMAGES.VisualCompositeIcon
111     @VP.constantImageRule           DIA.Scenegraph.Composite                    IMAGES.VisualCompositeIcon
112     @VP.constantImageRule           DIA.Scenegraph.Text                         IMAGES.TextIcon
113     @VP.constantImageRule           DIA.Scenegraph.Monitor                      IMAGES.MonitorIcon
114     @VP.constantImageRule           DIA.Scenegraph.SVGImage                     IMAGES.SVGImageIcon
115
116 DIAGRAM_TEMPLATE_AC = TEMPLATE2D.DiagramTemplateAC : VP.BrowseContext
117     VP.BrowseContext.IsIncludedIn MOD.ModelingActionContext
118     //MOD.ModelingActionContext
119
120 TEMPLATE2D.DiagramTemplateAC.IsInModelTest : VP.Test
121
122 DIAGRAM_TEMPLATE_AC
123     @VP.actionContribution "Diagram Template" TEMPLATE2D.DrawingTemplateLibraryUI IMAGES.NewDrawingTemplate VP.NewActionCategory ACTIONS.NewDrawingTemplate
124     @VP.actionContribution "VisualComposite" TEMPLATE2D.DrawingTemplateUI IMAGES.VisualCompositeIcon VP.NewActionCategory ACTIONS.NewScenegraph
125     @VP.actionContribution "VisualComposite" DIA.Scenegraph.Composite IMAGES.VisualCompositeIcon VP.NewActionCategory ACTIONS.NewScenegraph
126     @VP.actionContribution "FlagTable" TEMPLATE2D.DrawingTemplateUI IMAGES.FlagTableIcon VP.NewActionCategory ACTIONS.NewFlagTable
127     @VP.actionContribution "FlagTypeVisual" TEMPLATE2D.FlagTable IMAGES.FlagTypeVisualIcon VP.NewActionCategory ACTIONS.NewFlagTypeVisual
128     @VP.actionContribution "Filter" DIA.Scenegraph.Node IMAGES.FilterIcon VP.NewActionCategory ACTIONS.NewFlagTypeVisualFilter
129     @VP.actionContribution "Column" TEMPLATE2D.FlagTableUI IMAGES.FlagTableColumnIcon VP.NewActionCategory ACTIONS.NewFlagTableColumn
130     @VP.actionContribution "Data" TEMPLATE2D.FlagTableUI.ColumnUI IMAGES.DiagramTemplateDataIcon VP.NewActionCategory ACTIONS.NewFlagTableColumnData
131     @VP.actionContribution "Header" TEMPLATE2D.FlagTableUI.ColumnUI IMAGES.DiagramTemplateHeaderIcon VP.NewActionCategory ACTIONS.NewFlagTableColumnHeader
132     @VP.actionContribution "Row Numbering" TEMPLATE2D.FlagTableUI IMAGES.FlagTableNumberingColumnIcon VP.NewActionCategory ACTIONS.NewFlagTableRowNumberColumn
133     @VP.actionContribution "SVGImage" DIA.Scenegraph.Composite IMAGES.SVGImageIcon VP.NewActionCategory ACTIONS.NewSVGImage
134     @VP.actionContribution "SVGImage" TEMPLATE2D.FlagTableUI.ColumnUI IMAGES.SVGImageIcon VP.NewActionCategory ACTIONS.NewSVGImage
135     @VP.actionContribution "Monitor" DIA.Scenegraph.Composite IMAGES.MonitorIcon VP.NewActionCategory ACTIONS.NewMonitor
136     @VP.actionContribution "Text" DIA.Scenegraph.Composite IMAGES.TextIcon VP.NewActionCategory ACTIONS.NewText
137     @VP.actionContribution "Move Up" DIA.Scenegraph.Node IMAGES.MoveUpIcon ACTIONS.NoActionCategory ACTIONS.MoveUp
138     @VP.actionContribution "Move Down" DIA.Scenegraph.Node IMAGES.MoveDownIcon ACTIONS.NoActionCategory ACTIONS.MoveDown
139     @VP.actionContribution "Move Up" TEMPLATE2D.FlagTableUI.ColumnUI IMAGES.MoveUpIcon ACTIONS.NoActionCategory ACTIONS.MoveUp
140     @VP.actionContribution "Move Down" TEMPLATE2D.FlagTableUI.ColumnUI IMAGES.MoveDownIcon ACTIONS.NoActionCategory ACTIONS.MoveDown
141     @VP.actionContribution "Move up" TEMPLATE2D.FlagTypeVisual.FilterUI IMAGES.MoveUpIcon ACTIONS.NoActionCategory ACTIONS.MoveUp
142     @VP.actionContribution "Move Down" TEMPLATE2D.FlagTypeVisual.FilterUI IMAGES.MoveDownIcon ACTIONS.NoActionCategory ACTIONS.MoveDown
143     // This was just a temporary hack for fixing broken linked lists caused by the lack of NodeRemover.
144     //@VP.actionContribution "Fix Linked List" DIA.Scenegraph.Composite IMAGES.MoveDownIcon ACTIONS.NoActionCategory ACTIONS.FixLinkedList
145
146     @VP.actionContribution "Set Color" TEMPLATE2D.BorderUI IMAGES.Action ACTIONS.NoActionCategory ACTIONS.SetBorderColor
147     //@VP.actionContribution "Set font" TEMPLATE2D.TextTemplateUI IMAGES.Action ACTIONS.NoActionCategory ACTIONS.SetTextTemplateFont
148     @VP.actionContributionWithVisibility "Assign Diagram Template" STR.Composite IMAGES.Action VP.EditActionCategory ACTIONS.AssignDrawingTemplate TEMPLATE2D.DiagramTemplateAC.IsInModelTest
149
150 ACTIONS = TEMPLATE2D.Actions : L0.Library
151 ACTIONS.AssignDrawingTemplate : ACT.Action
152 ACTIONS.NewDrawingTemplate : ACT.Action
153 ACTIONS.SetBorderColor : ACT.Action
154 ACTIONS.NewScenegraph : ACT.Action
155 ACTIONS.NewFlagTable : ACT.Action
156 ACTIONS.NewFlagTypeVisual : ACT.Action
157 ACTIONS.NewFlagTypeVisualFilter : ACT.Action
158 ACTIONS.NewFlagTableColumn : ACT.Action
159 ACTIONS.NewFlagTableRowNumberColumn : ACT.Action
160 ACTIONS.NewFlagTableColumnData : ACT.Action
161 ACTIONS.NewFlagTableColumnHeader : ACT.Action
162 ACTIONS.NewMonitor : ACT.Action
163 ACTIONS.NewText : ACT.Action
164 ACTIONS.NewSVGImage : ACT.Action
165 ACTIONS.MoveUp : ACT.Action
166 ACTIONS.MoveDown : ACT.Action
167 //ACTIONS.FixLinkedList : ACT.Action
168
169 ACTIONS.NoActionCategory : VP.ActionCategory
170     L0.HasLabel "Root"
171     VP.ActionCategory.IsSubmenu L0.False
172
173 IMAGES = TEMPLATE2D.Images : L0.Library
174 IMAGES.Action : IMAGE.PngImage
175     @L0.loadBytes "images/action.png"
176 IMAGES.NewDrawingTemplate : IMAGE.PngImage
177     @L0.loadBytes "images/layout_add.png"
178 IMAGES.ScenegraphNode : IMAGE.PngImage
179     @L0.loadBytes "images/shape_square.png"
180 IMAGES.DiagramTemplateLibrary : IMAGE.PngImage
181     @L0.loadBytes "images/folder_page.png"
182 IMAGES.DiagramTemplate : IMAGE.PngImage
183     @L0.loadBytes "images/layout_sidebar.png"
184 IMAGES.DiagramTemplateDataIcon : IMAGE.PngImage
185     @L0.loadBytes "images/templateData.png"
186 IMAGES.DiagramTemplateHeaderIcon : IMAGE.PngImage
187     @L0.loadBytes "images/templateHeader.png"
188 IMAGES.MonitorIcon : IMAGE.PngImage
189     @L0.loadBytes "images/text_complete.png"
190 IMAGES.TextIcon : IMAGE.PngImage
191     @L0.loadBytes "images/textfield.png"
192 IMAGES.VisualCompositeIcon : IMAGE.PngImage
193     @L0.loadBytes "images/layout_content.png"
194 IMAGES.FlagTableIcon : IMAGE.PngImage
195     @L0.loadBytes "images/slottable.png"
196 IMAGES.FlagTableColumnIcon : IMAGE.PngImage
197     @L0.loadBytes "images/slottable_column.png"
198 IMAGES.FlagTableNumberingColumnIcon : IMAGE.PngImage
199     @L0.loadBytes "images/slottable_numbering_column.png"
200 IMAGES.FlagTypeVisualIcon: IMAGE.PngImage
201     @L0.loadBytes "images/flagtypevisual.png"
202 IMAGES.SVGImageIcon : IMAGE.PngImage
203     @L0.loadBytes "images/image.png"
204 IMAGES.BorderIcon : IMAGE.PngImage
205     @L0.loadBytes "images/border_outer.png"
206 IMAGES.ColumnIcon : IMAGE.PngImage
207     @L0.loadBytes "images/border_outer.png"
208 IMAGES.MoveUpIcon : IMAGE.PngImage
209     @L0.loadBytes "images/arrow_up.png"
210 IMAGES.MoveDownIcon : IMAGE.PngImage
211     @L0.loadBytes "images/arrow_down.png"
212 IMAGES.PageIcon : IMAGE.PngImage
213     @L0.loadBytes "images/page_white_horizontal.png"
214 IMAGES.FilterIcon: IMAGE.PngImage
215     @L0.loadBytes "images/basket_put.png"