Fixed a typo in Viewpoint ontology
[simantics/platform.git] / bundles / org.simantics.viewpoint.ontology / graph / Viewpoint.pgraph
1 L0 = <http://www.simantics.org/Layer0-1.1>
2 IMAGE = <http://www.simantics.org/Image2-1.2>
3 COLOR = <http://www.simantics.org/Color-1.1>
4
5 VP = <http://www.simantics.org/Viewpoint-1.2> : L0.Ontology
6     @L0.new
7     L0.HasResourceClass "org.simantics.viewpoint.ontology.ViewpointResource"
8
9 VP.NodeType <T L0.Entity
10     @L0.singleProperty VP.HasContentType
11     @L0.optionalProperty VP.HasBundle
12 VP.HasBundle <R L0.HasProperty : L0.FunctionalRelation
13     L0.HasDescription """Bundle specifies the symbolic ID of the bundle which should be used for loading the class pointed to by HasContentType. This needs to be used if a class is not loadable by bundle org.simantics.browsing.ui.model."""
14     L0.HasRange L0.String
15 VP.HasContentType <R L0.HasProperty : L0.FunctionalRelation
16     L0.HasDescription """Content type specifies the (SCL) type of the node content, if the subject is used as a node type. If not specified the content type is Resource."""
17     L0.HasRange L0.String
18 VP.ResourceNodeType <T VP.NodeType
19     @L0.assert VP.HasContentType "Resource"
20     
21 VP.BrowseContext <T L0.Entity
22     L0.HasDescription """All viewpoint contributions are associated with a browse context. They can be used to control which contributions are enabled for a specific browsing component. Browse contexts form a hierarchy: by enabling a super context also the contexts inherited from it are enabled."""
23 VP.BrowseContext.Includes <R L0.IsRelatedTo
24     L0.HasDomain VP.BrowseContext
25     L0.HasRange VP.BrowseContext
26     L0.InverseOf VP.BrowseContext.IsIncludedIn <R L0.IsRelatedTo
27 VP.BrowseContext.HasChildContribution <R L0.IsRelatedTo
28     L0.HasDomain VP.BrowseContext
29     L0.HasRange VP.ChildContribution
30 VP.BrowseContext.HasVisualsContribution <R L0.IsRelatedTo
31     L0.HasDomain VP.BrowseContext
32     L0.HasRange VP.VisualsContribution
33
34 VP.BrowseContextContribution <T L0.Entity
35     >-- VP.BrowseContextContribution.HasType --> L0.Type <R L0.IsRelatedTo
36     >-- VP.BrowseContextContribution.HasBrowseContext --> VP.BrowseContext <R L0.IsRelatedTo
37     >-- VP.BrowseContextContribution.allowedUIContexts --> L0.StringArray <R L0.HasProperty : L0.FunctionalRelation
38
39 VP.ActionBrowseContextContribution <T L0.Entity
40     >-- VP.ActionBrowseContextContribution.HasType --> L0.Type <R L0.IsRelatedTo
41     >-- VP.ActionBrowseContextContribution.HasTest --> VP.Test <R L0.IsRelatedTo
42     >-- VP.ActionBrowseContextContribution.HasActionBrowseContext --> VP.BrowseContext <R L0.IsRelatedTo
43     >-- VP.ActionBrowseContextContribution.allowedUIContexts --> L0.StringArray <R L0.HasProperty : L0.FunctionalRelation
44
45 VP.ChildContribution <T L0.Entity
46     L0.HasDescription """A child contribution is adds child nodes to the instances of a specific node type."""
47     >-- VP.ChildContribution.HasParentNodeType --> L0.Entity <R L0.IsRelatedTo : L0.TotalFunction
48     >-- VP.ChildContribution.HasChildNodeType --> L0.Entity <R L0.IsRelatedTo : L0.TotalFunction
49     >-- VP.ChildContribution.HasRule --> L0.Entity <R L0.IsRelatedTo : L0.TotalFunction
50     >-- VP.ChildContribution.identifier --> L0.String <R L0.HasProperty : L0.TotalFunction
51     >-- VP.ChildContribution.priority --> L0.Double <R L0.HasProperty : L0.TotalFunction
52     @L0.assert VP.ChildContribution.identifier "" 
53     @L0.assert VP.ChildContribution.priority 0.0 
54
55 VP.ChildRule <T L0.Entity
56     L0.HasDescription """A child rule is a part of child contribution that tells how the child nodes are found."""
57 VP.EqualContentChildRule <T VP.ChildRule
58     L0.HasDescription """A child rule that says that there is exactly one child node whose content is equal to the content of the parent.
59 There is an optional condition restricting when the rule is applied."""
60 VP.EqualContentChildRule.HasCondition <R L0.IsRelatedTo : L0.FunctionalRelation
61     L0.HasDomain VP.EqualContentChildRule
62     L0.HasRange VP.Test
63 VP.RelationChildRule <T VP.ChildRule
64     L0.HasDescription """A child rule that follows the given relation. Content type of both parent and child node types must be Resources."""
65     >-- VP.RelationChildRule.HasRelation --> L0.Relation <R L0.IsRelatedTo : L0.TotalFunction
66     >-- VP.RelationChildRule.HasTest --> VP.Test <R L0.IsRelatedTo : L0.FunctionalRelation
67 VP.RelationStatementRule <T VP.ChildRule
68     L0.HasDescription """A child rule that follows the given relation. Content type of parent must be Resource. Content type of child must be Statement."""
69     >-- VP.RelationStatementRule.HasRelation --> L0.Relation <R L0.IsRelatedTo : L0.TotalFunction
70     >-- VP.RelationStatementRule.HasTest --> VP.Test <R L0.IsRelatedTo : L0.FunctionalRelation
71 VP.CompositeChildRule <T VP.ChildRule
72     L0.HasDescription """A child rule composed of other child rules."""
73 VP.CompositeChildRule.HasChildRules <R L0.IsComposedOf : L0.TotalFunction
74     L0.HasDomain VP.CompositeChildRule
75     L0.HasRange L0.OrderedSet
76 VP.ConstantChildRule <T VP.ChildRule
77     L0.HasDescription """Says that a certain constant resource is a child of the parent."""
78 VP.ConstantChildRule.HasChild <R L0.IsComposedOf
79     L0.HasDomain VP.ConstantChildRule
80     
81 VP.VisualsContribution <T L0.Entity
82     L0.HasDescription """A visuals contribution adds visual properties to the instances of a specific node type."""
83 VP.VisualsContribution.HasNodeType <R L0.IsRelatedTo : L0.TotalFunction
84     L0.HasDomain VP.VisualsContribution
85     L0.HasRange L0.Entity    
86 VP.VisualsContribution.HasRule <R L0.IsRelatedTo
87     L0.HasDomain VP.VisualsContribution
88     L0.HasRange VP.VisualsRule
89 VP.VisualsContribution.HasPriority <R L0.HasProperty : L0.FunctionalRelation
90     L0.HasDomain VP.VisualsContribution
91     L0.HasRange L0.Double
92 VP.VisualsContribution.HasCondition <R L0.IsRelatedTo : L0.FunctionalRelation
93     L0.HasDomain VP.VisualsContribution
94     L0.HasRange VP.Test    
95     
96 VP.VisualsRule <T L0.Entity   
97     
98 VP.LabelRule <T VP.VisualsRule
99     L0.HasDescription """Label rule gives a label to a node."""
100 VP.ConstantLabelRule <T VP.LabelRule     
101     L0.HasDescription """Constant label rule gives a fixed label to a node."""
102 VP.ConstantLabelRule.HasLabel <R L0.HasProperty : L0.TotalFunction            
103     L0.HasDomain VP.ConstantLabelRule
104     L0.HasRange L0.String
105 VP.ConstantLabelRule.HasColumnKey <R L0.HasProperty : L0.TotalFunction            
106     L0.HasDomain VP.ConstantLabelRule
107     L0.HasRange L0.String
108 VP.StandardNameLabelRule : VP.LabelRule     
109     L0.HasDescription """Label rule based on resource names and labels controlled by PlatformUI.hasNameLabelMode."""
110 VP.ResourceNameLabelRule : VP.LabelRule     
111     L0.HasDescription """Label rule based on resource names."""
112 VP.ResourceLabelLabelRule : VP.LabelRule
113     L0.HasDescription """Label rule based on resource labels."""
114
115 VP.TooltipRule <T VP.VisualsRule
116     L0.HasDescription """Tooltip rule gives a tooltip to a node."""
117 VP.DescriptionTooltipRule : VP.TooltipRule
118     L0.HasDescription """Tooltip rule that reads tooltip from node's L0.HasDescription."""
119
120 VP.ModifierRule <T VP.VisualsRule
121     L0.HasDescription """Modifier rule gives a modifier to a node."""
122 VP.NoModifierRule : VP.ModifierRule
123     L0.HasDescription """Modifier rule that denies modifications."""
124 VP.ResourceNameModifierRule : VP.ModifierRule
125     L0.HasDescription """Modifier rule based on resource names."""
126 VP.ResourceLabelModifierRule : VP.ModifierRule
127     L0.HasDescription """Modifier rule based on resource labels."""
128 VP.VariableLabelModifierRule : VP.ModifierRule
129     L0.HasDescription """Modifier rule based on variable labels."""
130
131 VP.ImageRule <T VP.VisualsRule
132     L0.HasDescription """Label rule gives an image to a node."""
133 VP.ConstantImageRule <T VP.ImageRule
134     L0.HasDescription """Constant label rule gives a fixed image to a node."""
135 VP.ConstantImageRule.HasImage <R L0.HasProperty : L0.TotalFunction            
136     L0.HasDomain VP.ConstantLabelRule
137     L0.HasRange IMAGE.Image
138 VP.ConstantImageRule.HasColumnKey <R L0.HasProperty : L0.TotalFunction            
139     L0.HasDomain VP.ConstantLabelRule
140     L0.HasRange IMAGE.Image
141
142 VP.LabelDecorationRule <T VP.VisualsRule
143     L0.HasDescription """Label decoration rule decorates the label of a node."""    
144 VP.ConstantLabelDecorationRule <T VP.LabelDecorationRule
145 VP.ConstantLabelDecorationRule.HasFormat <R L0.HasProperty : L0.FunctionalRelation            
146     L0.HasDomain VP.ConstantLabelDecorationRule
147     L0.HasRange L0.String
148 VP.ConstantLabelDecorationRule.HasForegroundColor <R L0.HasProperty : L0.FunctionalRelation            
149     L0.HasDomain VP.ConstantLabelDecorationRule
150     L0.HasRange COLOR.RGB
151 VP.ConstantLabelDecorationRule.HasBackgroundColor <R L0.HasProperty : L0.FunctionalRelation        
152     L0.HasDomain VP.ConstantLabelDecorationRule
153     L0.HasRange COLOR.RGB
154 VP.ConstantLabelDecorationRule.HasFont <R L0.HasProperty : L0.FunctionalRelation            
155     L0.HasDomain VP.ConstantLabelDecorationRule
156     L0.HasRange L0.String
157 VP.ConstantLabelDecorationRule.HasStyle <R L0.HasProperty : L0.FunctionalRelation            
158     L0.HasDomain VP.ConstantLabelDecorationRule
159     L0.HasRange L0.String
160
161 VP.FlatNodeRule : VP.VisualsRule
162
163 VP.ImageDecorationRule <T VP.VisualsRule
164     L0.HasDescription """Image decoration rule decorates the image of a node."""
165
166 VP.SorterRule <T VP.VisualsRule
167 VP.PassThruSorterRule : VP.SorterRule
168 VP.AlphanumericSorterRule : VP.SorterRule
169 VP.LinkedListSorterRule : VP.SorterRule
170
171 VP.CheckedStateRule <T VP.VisualsRule
172
173 VP.Test <T L0.Entity
174     L0.HasDescription """Tests may be used to control if contributions are enabled for specific node content."""  
175             
176 // Templates 
177 VP.relationChildRule : L0.Template
178     @template %browseContext %parentType %relation %childType
179         %browseContext
180             VP.BrowseContext.HasChildContribution _ : VP.ChildContribution
181                 VP.ChildContribution.HasParentNodeType %parentType
182                 VP.ChildContribution.HasChildNodeType %childType
183                 VP.ChildContribution.HasRule _ : VP.RelationChildRule
184                     VP.RelationChildRule.HasRelation %relation
185
186 VP.relationStatementRule : L0.Template
187     @template %browseContext %parentType %relation %childType
188         %browseContext
189             VP.BrowseContext.HasChildContribution _ : VP.ChildContribution
190                 VP.ChildContribution.HasParentNodeType %parentType
191                 VP.ChildContribution.HasChildNodeType %childType
192                 VP.ChildContribution.HasRule _ : VP.RelationStatementRule
193                     VP.RelationStatementRule.HasRelation %relation
194
195 VP.equalContentChildRule : L0.Template
196     @template %browseContext %parentType %childType
197         %browseContext
198             VP.BrowseContext.HasChildContribution _ : VP.ChildContribution
199                 VP.ChildContribution.HasParentNodeType %parentType
200                 VP.ChildContribution.HasChildNodeType %childType
201                 VP.ChildContribution.HasRule _ : VP.EqualContentChildRule
202
203 VP.constantChildRule : L0.Template
204     @template %browseContext %parentType %child
205         %browseContext
206             VP.BrowseContext.HasChildContribution _ : VP.ChildContribution
207                 VP.ChildContribution.HasParentNodeType %parentType
208                 VP.ChildContribution.HasChildNodeType L0.Entity
209                 VP.ChildContribution.HasRule _ : VP.ConstantChildRule
210                     VP.ConstantChildRule.HasChild %child                    
211                 
212 VP.customChildRule : L0.Template
213     @template %browseContext %parentType %childRule %childType
214         %browseContext
215             VP.BrowseContext.HasChildContribution _ : VP.ChildContribution
216                 VP.ChildContribution.HasParentNodeType %parentType
217                 VP.ChildContribution.HasChildNodeType %childType
218                 VP.ChildContribution.HasRule %childRule
219
220 VP.customModifierRule : L0.Template
221     @template %browseContext %parentType %modifierRule
222         %browseContext
223             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
224                 VP.VisualsContribution.HasNodeType %parentType
225                 VP.VisualsContribution.HasRule %modifierRule
226
227 VP.customVisualsRule : L0.Template
228     @template %browseContext %parentType %labelRule
229         %browseContext
230             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
231                 VP.VisualsContribution.HasNodeType %parentType
232                 VP.VisualsContribution.HasRule %labelRule
233
234 VP.customVisualsRuleWithPriority : L0.Template
235     @template %browseContext %parentType %labelRule %priority
236         %browseContext
237             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
238                 VP.VisualsContribution.HasNodeType %parentType
239                 VP.VisualsContribution.HasRule %labelRule
240                 VP.VisualsContribution.HasPriority %priority
241
242 VP.customVisualsRuleWithPriorityAndTest : L0.Template
243     @template %browseContext %parentType %labelRule %priority %condition
244         %browseContext
245             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
246                 VP.VisualsContribution.HasNodeType %parentType
247                 VP.VisualsContribution.HasRule %labelRule
248                 VP.VisualsContribution.HasPriority %priority
249                 VP.VisualsContribution.HasCondition %condition
250
251 VP.constantLabelRule : L0.Template
252     @template %browseContext %parentType %label
253         %browseContext
254             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
255                 VP.VisualsContribution.HasNodeType %parentType
256                 VP.VisualsContribution.HasRule _ : VP.ConstantLabelRule
257                     VP.ConstantLabelRule.HasLabel %label
258                     VP.ConstantLabelRule.HasColumnKey "single"
259
260 VP.constantLabelRuleWithColumn : L0.Template
261     @template %browseContext %parentType %key %label
262         %browseContext
263             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
264                 VP.VisualsContribution.HasNodeType %parentType
265                 VP.VisualsContribution.HasRule _ : VP.ConstantLabelRule
266                     VP.ConstantLabelRule.HasLabel %label
267                     VP.ConstantLabelRule.HasColumnKey %key
268
269 VP.customLabelRule : L0.Template
270     @template %browseContext %parentType %labelRule
271         %browseContext
272             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
273                 VP.VisualsContribution.HasNodeType %parentType
274                 VP.VisualsContribution.HasRule %labelRule
275
276 VP.customLabelRuleWithPriority : L0.Template
277     @template %browseContext %parentType %labelRule %priority
278         %browseContext
279             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
280                 VP.VisualsContribution.HasNodeType %parentType
281                 VP.VisualsContribution.HasRule %labelRule
282                 VP.VisualsContribution.HasPriority %priority
283
284 VP.constantImageRule : L0.Template
285     @template %browseContext %parentType %image
286         %browseContext
287             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
288                 VP.VisualsContribution.HasNodeType %parentType
289                 VP.VisualsContribution.HasRule _ : VP.ConstantImageRule
290                     VP.ConstantImageRule.HasColumnKey "single"
291                     VP.ConstantImageRule.HasImage %image
292
293 VP.constantImageRuleWithColumn : L0.Template
294     @template %browseContext %parentType %columnKey %image
295         %browseContext
296             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
297                 VP.VisualsContribution.HasNodeType %parentType
298                 VP.VisualsContribution.HasRule _ : VP.ConstantImageRule
299                     VP.ConstantImageRule.HasColumnKey %columnKey
300                     VP.ConstantImageRule.HasImage %image
301
302 VP.customImageRule : L0.Template
303     @template %browseContext %parentType %imageRule
304         %browseContext
305             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
306                 VP.VisualsContribution.HasNodeType %parentType
307                 VP.VisualsContribution.HasRule %imageRule
308
309 VP.customCheckedStateRule : L0.Template
310     @template %browseContext %parentType %stateRule
311         %browseContext
312             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
313                 VP.VisualsContribution.HasNodeType %parentType
314                 VP.VisualsContribution.HasRule %stateRule
315
316 VP.relationChildRuleWithFolder : L0.Template
317     @template %browseContext %parentType %relation %childType %folder 
318         %browseContext
319             VP.BrowseContext.HasChildContribution _ : VP.ChildContribution
320                 VP.ChildContribution.HasParentNodeType %parentType
321                 VP.ChildContribution.HasChildNodeType %folder
322                 VP.ChildContribution.HasRule _ : VP.EqualContentChildRule
323             VP.BrowseContext.HasChildContribution _ : VP.ChildContribution
324                 VP.ChildContribution.HasParentNodeType %folder
325                 VP.ChildContribution.HasChildNodeType %childType
326                 VP.ChildContribution.HasRule _ : VP.RelationChildRule
327                     VP.RelationChildRule.HasRelation %relation
328
329 VP.customLabelDecorationRule : L0.Template
330     @template %browseContext %parentType %decorationRule
331         %browseContext
332             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
333                 VP.VisualsContribution.HasNodeType %parentType
334                 VP.VisualsContribution.HasRule %decorationRule 
335
336 VP.customImageDecorationRule : L0.Template
337     @template %browseContext %parentType %decorationRule
338         %browseContext
339             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
340                 VP.VisualsContribution.HasNodeType %parentType
341                 VP.VisualsContribution.HasRule %decorationRule 
342
343 VP.defineRelationChildRule : L0.Template
344     @template %rule %parentType %relation %childType
345         %rule : VP.ChildContribution
346             VP.ChildContribution.HasParentNodeType %parentType
347             VP.ChildContribution.HasChildNodeType %childType
348             VP.ChildContribution.HasRule _ : VP.RelationChildRule
349                 VP.RelationChildRule.HasRelation %relation
350
351 // Templates for named rules 
352 VP.namedRelationChildRule : L0.Template
353     @template %browseContext %name %parentType %relation %childType
354         %browseContext
355             VP.BrowseContext.HasChildContribution %name : VP.ChildContribution
356                 VP.ChildContribution.HasParentNodeType %parentType
357                 VP.ChildContribution.HasChildNodeType %childType
358                 VP.ChildContribution.HasRule _ : VP.RelationChildRule
359                     VP.RelationChildRule.HasRelation %relation
360
361 VP.namedRelationStatementRule : L0.Template
362     @template %browseContext %name %parentType %relation %childType
363         %browseContext
364             VP.BrowseContext.HasChildContribution %name : VP.ChildContribution
365                 VP.ChildContribution.HasParentNodeType %parentType
366                 VP.ChildContribution.HasChildNodeType %childType
367                 VP.ChildContribution.HasRule _ : VP.RelationStatementRule
368                     VP.RelationStatementRule.HasRelation %relation
369
370 VP.namedEqualContentChildRule : L0.Template
371     @template %browseContext %name %parentType %childType
372         %browseContext
373             VP.BrowseContext.HasChildContribution %name : VP.ChildContribution
374                 VP.ChildContribution.HasParentNodeType %parentType
375                 VP.ChildContribution.HasChildNodeType %childType
376                 VP.ChildContribution.HasRule _ : VP.EqualContentChildRule
377
378 VP.namedConstantChildRule : L0.Template
379     @template %browseContext %name %parentType %child
380         %browseContext
381             VP.BrowseContext.HasChildContribution %name : VP.ChildContribution
382                 VP.ChildContribution.HasParentNodeType %parentType
383                 VP.ChildContribution.HasChildNodeType L0.Entity
384                 VP.ChildContribution.HasRule _ : VP.ConstantChildRule
385                     VP.ConstantChildRule.HasChild %child                    
386                 
387 VP.namedCustomChildRule : L0.Template
388     @template %browseContext %name %parentType %childRule %childType
389         %browseContext
390             VP.BrowseContext.HasChildContribution %name : VP.ChildContribution
391                 VP.ChildContribution.HasParentNodeType %parentType
392                 VP.ChildContribution.HasChildNodeType %childType
393                 VP.ChildContribution.HasRule %childRule
394
395 VP.namedCustomModifierRule : L0.Template
396     @template %browseContext %name %parentType %modifierRule
397         %browseContext
398             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
399                 VP.VisualsContribution.HasNodeType %parentType
400                 VP.VisualsContribution.HasRule %modifierRule
401
402 VP.namedCustomVisualsRule : L0.Template
403     @template %browseContext %name %parentType %labelRule
404         %browseContext
405             VP.BrowseContext.HasVisualsContribution %name : VP.VisualsContribution
406                 VP.VisualsContribution.HasNodeType %parentType
407                 VP.VisualsContribution.HasRule %labelRule
408
409 VP.namedCustomVisualsRuleWithPriority : L0.Template
410     @template %browseContext %name %parentType %labelRule %priority
411         %browseContext
412             VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
413                 VP.VisualsContribution.HasNodeType %parentType
414                 VP.VisualsContribution.HasRule %labelRule
415                 VP.VisualsContribution.HasPriority %priority
416
417 VP.namedCustomVisualsRuleWithPriorityAndTest : L0.Template
418     @template %browseContext %name %parentType %labelRule %priority %condition
419         %browseContext
420             VP.BrowseContext.HasVisualsContribution %name : VP.VisualsContribution
421                 VP.VisualsContribution.HasNodeType %parentType
422                 VP.VisualsContribution.HasRule %labelRule
423                 VP.VisualsContribution.HasPriority %priority
424                 VP.VisualsContribution.HasCondition %condition
425
426 VP.namedConstantLabelRule : L0.Template
427     @template %browseContext %name %parentType %label
428         %browseContext
429             VP.BrowseContext.HasVisualsContribution %name : VP.VisualsContribution
430                 VP.VisualsContribution.HasNodeType %parentType
431                 VP.VisualsContribution.HasRule _ : VP.ConstantLabelRule
432                     VP.ConstantLabelRule.HasLabel %label
433                     VP.ConstantLabelRule.HasColumnKey "single"
434
435 VP.namedConstantLabelRuleWithColumn : L0.Template
436     @template %browseContext %name %parentType %key %label
437         %browseContext
438             VP.BrowseContext.HasVisualsContribution %name : VP.VisualsContribution
439                 VP.VisualsContribution.HasNodeType %parentType
440                 VP.VisualsContribution.HasRule _ : VP.ConstantLabelRule
441                     VP.ConstantLabelRule.HasLabel %label
442                     VP.ConstantLabelRule.HasColumnKey %key
443
444 VP.namedCustomLabelRule : L0.Template
445     @template %browseContext %name %parentType %labelRule
446         %browseContext
447             VP.BrowseContext.HasVisualsContribution %name : VP.VisualsContribution
448                 VP.VisualsContribution.HasNodeType %parentType
449                 VP.VisualsContribution.HasRule %labelRule
450
451 VP.namedCustomLabelRuleWithPriority : L0.Template
452     @template %browseContext %name %parentType %labelRule %priority
453         %browseContext
454             VP.BrowseContext.HasVisualsContribution %name : VP.VisualsContribution
455                 VP.VisualsContribution.HasNodeType %parentType
456                 VP.VisualsContribution.HasRule %labelRule
457                 VP.VisualsContribution.HasPriority %priority
458
459 VP.namedConstantImageRule : L0.Template
460     @template %browseContext %name %parentType %image
461         %browseContext
462             VP.BrowseContext.HasVisualsContribution %name : VP.VisualsContribution
463                 VP.VisualsContribution.HasNodeType %parentType
464                 VP.VisualsContribution.HasRule _ : VP.ConstantImageRule
465                     VP.ConstantImageRule.HasColumnKey "single"
466                     VP.ConstantImageRule.HasImage %image
467
468 VP.namedConstantImageRuleWithColumn : L0.Template
469     @template %browseContext %name %parentType %columnKey %image
470         %browseContext
471             VP.BrowseContext.HasVisualsContribution %name : VP.VisualsContribution
472                 VP.VisualsContribution.HasNodeType %parentType
473                 VP.VisualsContribution.HasRule _ : VP.ConstantImageRule
474                     VP.ConstantImageRule.HasColumnKey %columnKey
475                     VP.ConstantImageRule.HasImage %image
476
477 VP.namedCustomImageRule : L0.Template
478     @template %browseContext %name %parentType %imageRule
479         %browseContext
480             VP.BrowseContext.HasVisualsContribution %name : VP.VisualsContribution
481                 VP.VisualsContribution.HasNodeType %parentType
482                 VP.VisualsContribution.HasRule %imageRule
483
484 VP.namedCustomCheckedStateRule : L0.Template
485     @template %browseContext %name %parentType %stateRule
486         %browseContext
487             VP.BrowseContext.HasVisualsContribution %name : VP.VisualsContribution
488                 VP.VisualsContribution.HasNodeType %parentType
489                 VP.VisualsContribution.HasRule %stateRule
490
491 VP.namedRelationChildRuleWithFolder : L0.Template
492     @template %browseContext %folderName %folderChildrenName %parentType %relation %childType %folder 
493         %browseContext
494             VP.BrowseContext.HasChildContribution %folderName : VP.ChildContribution
495                 VP.ChildContribution.HasParentNodeType %parentType
496                 VP.ChildContribution.HasChildNodeType %folder
497                 VP.ChildContribution.HasRule _ : VP.EqualContentChildRule
498             VP.BrowseContext.HasChildContribution %folderChildrenName : VP.ChildContribution
499                 VP.ChildContribution.HasParentNodeType %folder
500                 VP.ChildContribution.HasChildNodeType %childType
501                 VP.ChildContribution.HasRule _ : VP.RelationChildRule
502                     VP.RelationChildRule.HasRelation %relation
503
504 VP.namedCustomLabelDecorationRule : L0.Template
505     @template %browseContext %name %parentType %decorationRule
506         %browseContext
507             VP.BrowseContext.HasVisualsContribution %name : VP.VisualsContribution
508                 VP.VisualsContribution.HasNodeType %parentType
509                 VP.VisualsContribution.HasRule %decorationRule 
510
511 VP.namedCustomImageDecorationRule : L0.Template
512     @template %browseContext %name %parentType %decorationRule
513         %browseContext
514             VP.BrowseContext.HasVisualsContribution %name : VP.VisualsContribution
515                 VP.VisualsContribution.HasNodeType %parentType
516                 VP.VisualsContribution.HasRule %decorationRule 
517