]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling.ontology/graph/ModelingViewpoint.pgraph
Merge branch 'feature/funcwrite'
[simantics/platform.git] / bundles / org.simantics.modeling.ontology / graph / ModelingViewpoint.pgraph
1 L0 = <http://www.simantics.org/Layer0-1.1>
2 L0X = <http://www.simantics.org/Layer0X-1.1>
3 VP = <http://www.simantics.org/Viewpoint-1.2>
4 SIMU = <http://www.simantics.org/Simulation-1.1>
5 STR = <http://www.simantics.org/Structural-1.2>
6 PROJECT = <http://www.simantics.org/Project-1.2>
7 MOD = <http://www.simantics.org/Modeling-1.2>
8 IMAGE = <http://www.simantics.org/Image2-1.2>
9 COLOR = <http://www.simantics.org/Color-1.1>
10 DIA = <http://www.simantics.org/Diagram-2.2>
11 ACT = <http://www.simantics.org/Action-1.1>
12 VIEW = <http://www.simantics.org/Views-1.2>
13 SILK = <http://www.simantics.org/Silk-1.1>
14 DOC = <http://www.simantics.org/Document-1.2>
15 SHEET = <http://www.simantics.org/Spreadsheet-1.2>
16
17 // Library containing all modeling viewpoint contributions
18 MOD.Contributions : L0.Library
19
20 MOD.SCLChildRule <T VP.ChildRule
21   >-- MOD.SCLChildRule.getChildren ==> "Resource -> <ReadGraph> [Resource]" <R L0.HasProperty : L0.FunctionalRelation
22
23 MOD.SCLLabelRule <T VP.ChildRule
24   >-- MOD.SCLLabelRule.getLabels ==> "Resource -> <ReadGraph> [String]" <R L0.HasProperty : L0.FunctionalRelation
25
26 MOD.SCLAction <T ACT.Action
27   --> MOD.SCLAction.action ==> "Resource -> <Proc> ()" <R L0.HasProperty : L0.FunctionalRelation 
28
29 MOD.SCLTest <T ACT.Action
30   --> MOD.SCLTest.test ==> "Resource -> <ReadGraph> Boolean" <R L0.HasProperty : L0.FunctionalRelation 
31
32 // Legacy ModelingBrowseContext
33 MBC = MOD.ModelingBrowseContext : VP.BrowseContext
34     VP.BrowseContext.IsIncludedIn PROJECT.ProjectBrowseContext
35 MAC = MOD.ModelingActionContext : VP.BrowseContext
36     VP.BrowseContext.IsIncludedIn PROJECT.ProjectActionContext
37     
38     
39 // Browse contexts
40 MOD.DefaultStructuralBrowseContext : VP.BrowseContext
41     VP.BrowseContext.HasChildContribution MOD.Contributions.ModelConfiguration
42     VP.BrowseContext.HasChildContribution MOD.Contributions.ComponentDefinition
43     VP.BrowseContext.HasChildContribution MOD.Contributions.ComponentChildRule
44     VP.BrowseContext.HasChildContribution MOD.Contributions.ComponentTypeToSymbol
45     VP.BrowseContext.HasChildContribution MOD.Contributions.LocalLibrary
46     VP.BrowseContext.HasChildContribution MOD.Contributions.LibraryChildren
47     VP.BrowseContext.HasChildContribution MOD.Contributions.ImageChildren
48     VP.BrowseContext.HasChildContribution MOD.Contributions.ElementClassChildren
49     VP.BrowseContext.HasChildContribution MOD.Contributions.ConnectionsFolder
50     VP.BrowseContext.HasChildContribution MOD.Contributions.ConfigurationBooks
51     VP.BrowseContext.HasChildContribution MOD.Contributions.BookSheets
52     VP.BrowseContext.HasChildContribution MOD.Contributions.SubscriptionItemChildren
53     VP.BrowseContext.HasChildContribution MOD.Contributions.ChildrenInActiveExperiment
54     VP.BrowseContext.HasChildContribution MOD.Contributions.VariableChildren
55     VP.BrowseContext.HasChildContribution MOD.Contributions.ConfigurationComponents
56     VP.BrowseContext.HasChildContribution MOD.Contributions.Code
57     VP.BrowseContext.Includes MOD.DefaultStructuralLabelContext
58     VP.BrowseContext.Includes MOD.DefaultStructuralLabelModifierContext
59     VP.BrowseContext.Includes MOD.DefaultStructuralImageContext
60     
61 MOD.DefaultStructuralLabelContext : VP.BrowseContext    
62     VP.BrowseContext.HasVisualsContribution MOD.Contributions.ComponentTypesLabel
63     VP.BrowseContext.HasVisualsContribution MOD.Contributions.ConfigurationLabel
64     VP.BrowseContext.HasVisualsContribution MOD.Contributions.SubscriptionsLabel
65     VP.BrowseContext.HasVisualsContribution MOD.Contributions.TerminalsLabel
66     VP.BrowseContext.HasVisualsContribution MOD.Contributions.DocumentsLabel
67     VP.BrowseContext.HasVisualsContribution MOD.Contributions.SymbolLabel
68     VP.BrowseContext.HasVisualsContribution MOD.Contributions.SubscriptionLabel
69     VP.BrowseContext.HasVisualsContribution MOD.Contributions.SubscriptionItemLabel
70     VP.BrowseContext.HasVisualsContribution MOD.Contributions.SubscriptionItemLabelDecoration
71     VP.BrowseContext.HasVisualsContribution MOD.Contributions.ConnectionRelationLabelDecoration
72     VP.BrowseContext.HasVisualsContribution MOD.Contributions.VariableLabel
73     VP.BrowseContext.HasVisualsContribution MOD.Contributions.CodeLabel
74
75 MOD.DefaultStructuralLabelModifierContext : VP.BrowseContext     
76     VP.BrowseContext.HasVisualsContribution MOD.Contributions.SymbolLabelModifier
77     VP.BrowseContext.HasVisualsContribution MOD.Contributions.SubscriptionLabelModifier
78     VP.BrowseContext.HasVisualsContribution MOD.Contributions.SubscriptionItemLabelModifier
79
80     
81 MOD.DefaultStructuralImageContext : VP.BrowseContext
82     VP.BrowseContext.HasVisualsContribution MOD.Contributions.SubscriptionImage
83     VP.BrowseContext.HasVisualsContribution MOD.Contributions.SubscriptionsImage
84     VP.BrowseContext.HasVisualsContribution MOD.Contributions.ComponentTypeImage
85     VP.BrowseContext.HasVisualsContribution MOD.Contributions.ComponentImage
86     VP.BrowseContext.HasVisualsContribution MOD.Contributions.CompositeImage
87     VP.BrowseContext.HasVisualsContribution MOD.Contributions.ConfigurationImage
88     VP.BrowseContext.HasVisualsContribution MOD.Contributions.ComponentTypesImage
89     VP.BrowseContext.HasVisualsContribution MOD.Contributions.ConnectionPointDefinitionsImage
90     VP.BrowseContext.HasVisualsContribution MOD.Contributions.SubscriptionItemImage
91     VP.BrowseContext.HasVisualsContribution MOD.Contributions.SymbolImage
92     VP.BrowseContext.HasVisualsContribution MOD.Contributions.ConnectionRelationImage
93     VP.BrowseContext.HasVisualsContribution MOD.Contributions.DocumentsImage
94     VP.BrowseContext.HasVisualsContribution MOD.Contributions.DocumentImage
95     VP.BrowseContext.HasVisualsContribution MOD.Contributions.LibraryImage
96     VP.BrowseContext.HasVisualsContribution MOD.Contributions.ProfileImage
97     VP.BrowseContext.HasVisualsContribution MOD.Contributions.ProfileEntryImage
98     VP.BrowseContext.HasVisualsContribution MOD.Contributions.StyleImage
99     VP.BrowseContext.HasVisualsContribution MOD.Contributions.GroupImage
100     VP.BrowseContext.HasVisualsContribution MOD.Contributions.VariableImage
101     VP.BrowseContext.HasVisualsContribution MOD.Contributions.ImageImage
102     VP.BrowseContext.HasVisualsContribution MOD.Contributions.CodeImage
103     
104 MOD.DefaultStructuralActionContext : VP.BrowseContext    
105
106 MOD.HasLocalLibrary <R L0.DependsOn
107     L0.HasDescription "A relation used for binding libraries to a model for UI viewing purposes. Allows the creation of specific rules for UI viewpoints."
108     L0.InverseOf MOD.IsLocalLibraryOf <R L0.IsWeaklyRelatedTo
109     <-- SIMU.Model
110     --> L0.Library
111
112 MOD.NewComposite <T ACT.Action
113 MOD.NewComposite.HasCompositeType <R L0.IsRelatedTo : L0.TotalFunction
114     L0.HasDomain MOD.NewComposite
115     L0.HasRange  L0.Type
116 MOD.NewComposite.HasDefaultName <R L0.HasProperty : L0.TotalFunction
117     L0.HasDomain MOD.NewComposite
118     L0.HasRange  L0.String
119
120 MOD.ExportModel <T ACT.Action
121     >-- MOD.ExportModel.extension --> L0.String <R L0.HasProperty : L0.FunctionalRelation
122     >-- MOD.ExportModel.format --> L0.String <R L0.HasProperty : L0.FunctionalRelation
123
124 // Rules
125 MBC.SubscriptionLabelRule : VP.LabelRule
126 MBC.SubscriptionImageRule : VP.ImageRule
127 MBC.SubscriptionItemLabelRule : VP.LabelRule
128 MBC.SubscriptionItemLabelDecorationRule : VP.LabelDecorationRule
129 MBC.ExperimentLabelRule : VP.LabelRule
130 MBC.ConnectionRelationLabelDecorationRule : VP.LabelDecorationRule
131 MBC.ConnectionRelationModifierRule : VP.ModifierRule
132
133 // Node types
134 MBC.ComponentTypesFolder : VP.ResourceNodeType
135 MBC.DocumentsFolder : VP.ResourceNodeType
136 MBC.SubscriptionsFolder : VP.ResourceNodeType
137
138 // Tests
139 MBC.IsComponent : VP.Test
140     L0.HasDescription "Returns true if the specified input Resource/Variable refers to a structural component."
141 MBC.IsUserDefinedComponentTest : VP.Test
142     L0.HasDescription "Returns true if the specified input Resource/Variable refers to an instance of a user-defined structural component type."
143
144 MOD.Contributions.ModelLibraries
145     @VP.defineRelationChildRule SIMU.Model L0.ConsistsOf L0.Library
146 MOD.Contributions.Experiments
147     @VP.defineRelationChildRule SIMU.Model L0.ConsistsOf SIMU.Experiment
148 MOD.Contributions.ExperimentRuns
149     @VP.defineRelationChildRule SIMU.Experiment L0.ConsistsOf SIMU.Run
150 MOD.Contributions.Subscriptions
151     @VP.defineRelationChildRule L0.Entity L0.ConsistsOf MOD.Subscription
152
153 // Viewpoint
154 MBC    
155     // Rules that are specific to structural models
156     @VP.namedRelationChildRule           MOD.Contributions.ModelConfiguration MOD.StructuralModel SIMU.HasConfiguration MBC.Configuration
157
158     @VP.namedRelationChildRule           MOD.Contributions.ComponentDefinition STR.ComponentType   STR.IsDefinedBy MBC.Configuration
159     VP.BrowseContext.HasChildContribution MOD.Contributions.ComponentChildRule : VP.ChildContribution
160         VP.ChildContribution.HasParentNodeType STR.Component
161         VP.ChildContribution.HasChildNodeType STR.Component
162         VP.ChildContribution.HasRule _ : VP.RelationChildRule
163             VP.RelationChildRule.HasRelation L0.ConsistsOf
164             VP.RelationChildRule.HasTest _ : VP.HasNegatedTest
165                 VP.HasNegatedTest.HasTest _ : VP.HasStatementTest
166                     VP.HasStatementTest.HasRelation MOD.HiddenComposite
167     @VP.namedRelationChildRule           MOD.Contributions.ComponentTypeToSymbol STR.ComponentType   MOD.ComponentTypeToSymbol MBC.Symbol
168     @VP.namedRelationChildRule           MOD.Contributions.ComponentTypeScript   STR.ComponentType   STR.ComponentType.hasScript STR.ComponentTypeScript
169     @VP.namedRelationChildRule           MOD.Contributions.SymbolToTerminal      MBC.Symbol L0.ConsistsOf STR.ConnectionRelation
170
171     @VP.namedRelationChildRule           MOD.Contributions.LocalLibrary MOD.StructuralModel MOD.HasLocalLibrary L0.Library
172
173     @VP.namedRelationChildRule           MOD.Contributions.LibraryChildren      L0.Library         L0.ConsistsOf   L0.Library
174     @VP.namedRelationChildRule           MOD.Contributions.ImageChildren        L0.Library         L0.ConsistsOf   IMAGE.Image
175     @VP.namedRelationChildRule           MOD.Contributions.ElementClassChildren L0.Library         L0.ConsistsOf   DIA.ElementClass
176     @VP.namedRelationChildRule           MOD.Contributions.ConfigurationBooks      MBC.Configuration L0.ConsistsOf  SHEET.Book
177     @VP.namedRelationChildRule           MOD.Contributions.LibraryBooks         L0.Library L0.ConsistsOf SHEET.Book
178     @VP.namedRelationChildRule           MOD.Contributions.BookSheets           L0.Entity L0.ConsistsOf  SHEET.Spreadsheet
179
180     @VP.namedRelationChildRule           MOD.Contributions.SCLModules L0.Entity   L0.ConsistsOf L0.SCLModule
181     
182     @VP.namedRelationChildRule           MOD.Contributions.SCLQueries L0.Library   L0.ConsistsOf MOD.SCLQuery
183     
184     @VP.namedRelationChildRule           MOD.Contributions.PGraphs L0.Ontology   L0.ConsistsOf L0.PGraph
185
186     // Contribute in product-specific browse context.
187     //@VP.relationChildRuleWithFolder MOD.StructuralModel L0.ConsistsOf   STR.ComponentType
188     //    MBC.ComponentTypesFolder
189
190     @VP.namedRelationChildRuleWithFolder MOD.Contributions.ConnectionsFolder MOD.Contributions.ConnectionRelationChildren STR.ComponentType   L0.ConsistsOf   STR.ConnectionRelation
191         MBC.ConnectionPointDefinitionsFolder : VP.ResourceNodeType
192
193     // Contribute in product-specific browse context.
194     //@VP.relationChildRuleWithFolder MOD.StructuralModel L0.ConsistsOf   MOD.Subscription
195     //    MBC.SubscriptionsFolder
196
197     @VP.namedRelationChildRule           MOD.Contributions.SubscriptionItemChildren MOD.Subscription    L0.ConsistsOf   MOD.Subscription.Item
198     
199     @VP.namedRelationChildRule           MOD.Contributions.Code STR.ProceduralComponentType STR.ProceduralComponentType.code STR.ProceduralComponentTypeCode
200
201     // Contribute in product-specific browse context.
202     //@VP.relationChildRuleWithFolder MOD.StructuralModel L0.ConsistsOf DOC.Document
203     //    MBC.DocumentsFolder
204
205     VP.BrowseContext.HasChildContribution MOD.Contributions.ChildrenInActiveExperiment : VP.ChildContribution
206         VP.ChildContribution.HasParentNodeType STR.Component    
207         VP.ChildContribution.HasChildNodeType MBC.Variable
208         VP.ChildContribution.HasRule MBC.ChildrenInActiveExperiment : VP.ChildRule
209     VP.BrowseContext.HasChildContribution MOD.Contributions.VariableChildren : VP.ChildContribution
210         VP.ChildContribution.HasParentNodeType MBC.Variable    
211         VP.ChildContribution.HasChildNodeType MBC.Variable
212         VP.ChildContribution.HasRule MBC.VariableChildRule
213     VP.BrowseContext.HasChildContribution MOD.Contributions.SharedOntologies : VP.ChildContribution
214         VP.ChildContribution.HasParentNodeType PROJECT.Project
215         VP.ChildContribution.HasChildNodeType L0.SharedOntology
216         VP.ChildContribution.HasRule MBC.SharedOntologies : MOD.SCLChildRule
217             @MOD.scl MOD.SCLChildRule.getChildren """\_ -> (getSharedOntologies ())""" "Resource -> <ReadGraph> [Resource]"
218     VP.BrowseContext.HasChildContribution MOD.Contributions.Ontologies : VP.ChildContribution
219         VP.ChildContribution.HasParentNodeType PROJECT.Project
220         VP.ChildContribution.HasChildNodeType L0.Ontology
221         VP.ChildContribution.HasRule MBC.Ontologies : MOD.SCLChildRule
222             @MOD.scl MOD.SCLChildRule.getChildren """\_ -> (getVisibleSystemOntologies ())""" "Resource -> <ReadGraph> [Resource]"
223     VP.BrowseContext.HasChildContribution MOD.Contributions.ConfigurationComponents : VP.ChildContribution
224         VP.ChildContribution.HasParentNodeType MBC.Configuration
225         VP.ChildContribution.HasChildNodeType STR.Component
226         VP.ChildContribution.HasRule _ : VP.RelationChildRule
227             VP.RelationChildRule.HasRelation L0.ConsistsOf
228             VP.RelationChildRule.HasTest _ : VP.HasNegatedTest
229                 VP.HasNegatedTest.HasTest _ : VP.HasStatementTest
230                     VP.HasStatementTest.HasRelation MOD.HiddenComposite
231
232 MBC.VariableChildRule : VP.ChildRule
233
234 MBC.VariablePropertyRule <T VP.ChildRule
235 MBC.VariablePropertyRule.RequireProperty <R L0.DependsOn
236 MBC.VariablePropertyRule.FilterProperty <R L0.DependsOn
237
238 MBC.VariableLabelRule : VP.LabelRule
239 MBC.VariableLabelRule.browseName ==> "String" <R L0.HasProperty : L0.FunctionalRelation
240     L0.HasDescription "This property can be asserted for a type to customize the label returned by VariableLabelRule. By default VariableLabelRule will return the value of Variable.getName."
241
242 MBC.Configuration : VP.ResourceNodeType
243
244 MBC.Variable : VP.NodeType
245     VP.HasContentType "Variable"
246
247 MBC.Symbol : VP.ResourceNodeType
248     // We cannot use DIA.ElementClass, because it inherits DIA.ComponentType
249     // that has already unwanted contributions.
250
251 MBC.ComponentTypeLockStatusImageDecorationRule : VP.ImageDecorationRule
252
253 // Labels
254 MBC
255     @VP.namedConstantLabelRule           MOD.Contributions.ComponentTypesLabel   MBC.ComponentTypesFolder             "User components"
256     @VP.namedConstantLabelRule           MOD.Contributions.ConfigurationLabel    MBC.Configuration                    "Configuration"
257     @VP.namedConstantLabelRule           MOD.Contributions.SubscriptionsLabel    MBC.SubscriptionsFolder              "Subscriptions"
258     @VP.namedConstantLabelRule           MOD.Contributions.TerminalsLabel        MBC.ConnectionPointDefinitionsFolder "Terminals"
259     @VP.namedConstantLabelRule           MOD.Contributions.DocumentsLabel        MBC.DocumentsFolder                  "Documents"
260     @VP.namedConstantLabelRule           MOD.Contributions.CodeLabel             STR.ProceduralComponentTypeCode      "Code"
261
262     @VP.namedCustomLabelRule             MOD.Contributions.ComponentTypeScriptLabel STR.ComponentTypeScript           VP.ResourceNameLabelRule
263     @VP.namedCustomLabelRule             MOD.Contributions.SymbolLabel           MBC.Symbol                           VP.ResourceNameLabelRule
264     @VP.namedCustomLabelRule             MOD.Contributions.SymbolLabelModifier   MBC.Symbol                           VP.ResourceNameModifierRule
265     @VP.namedCustomLabelRule             MOD.Contributions.SubscriptionLabel     MOD.Subscription                     MBC.SubscriptionLabelRule
266     @VP.namedCustomLabelRuleWithPriority MOD.Contributions.SubscriptionLabelModifier     MOD.Subscription                     VP.ResourceLabelModifierRule  1.0
267     @VP.namedCustomLabelRule             MOD.Contributions.SubscriptionItemLabel         MOD.Subscription.Item                MBC.SubscriptionItemLabelRule
268     @VP.namedCustomLabelDecorationRule   MOD.Contributions.SubscriptionItemLabelDecoration MOD.Subscription.Item                MBC.SubscriptionItemLabelDecorationRule
269     @VP.namedCustomLabelRule             MOD.Contributions.SubscriptionItemLabelModifier MOD.Subscription.Item                VP.ResourceLabelModifierRule
270     @VP.namedCustomLabelDecorationRule   MOD.Contributions.ConnectionRelationLabelDecoration STR.ConnectionRelation               MBC.ConnectionRelationLabelDecorationRule
271     @VP.namedCustomLabelRule             MOD.Contributions.ConnectionRelationModifier        STR.ConnectionRelation   MBC.ConnectionRelationModifierRule
272
273     VP.BrowseContext.HasVisualsContribution MOD.Contributions.VariableLabel : VP.VisualsContribution
274         VP.VisualsContribution.HasNodeType MBC.Variable
275         VP.VisualsContribution.HasRule MBC.VariableLabelRule
276
277
278 // Tooltips
279 MBC
280     VP.BrowseContext.HasVisualsContribution MOD.Contributions.VariableTooltip : VP.VisualsContribution
281         VP.VisualsContribution.HasNodeType MBC.Variable
282         VP.VisualsContribution.HasRule VP.DescriptionTooltipRule
283
284 // Images
285 MBC
286     @VP.namedCustomImageRule             MOD.Contributions.SubscriptionImage     MOD.Subscription                     MBC.SubscriptionImageRule
287     @VP.namedConstantImageRule           MOD.Contributions.SubscriptionsImage    MBC.SubscriptionsFolder              IMAGES.SubscriptionsFolder
288     @VP.namedConstantImageRule           MOD.Contributions.ComponentTypeImage    STR.ComponentType                    IMAGES.ComponentType
289     @VP.namedConstantImageRule           MOD.Contributions.ComponentImage        STR.Component                        SILK.brick
290     @VP.namedConstantImageRule           MOD.Contributions.CompositeImage        STR.Composite                        SILK.bricks
291     @VP.namedConstantImageRule           MOD.Contributions.ConfigurationImage    MBC.Configuration                    SILK.bricks
292     @VP.namedConstantImageRule           MOD.Contributions.ComponentTypesImage   MBC.ComponentTypesFolder             SILK.folder
293     @VP.namedConstantImageRule           MOD.Contributions.ConnectionPointDefinitionsImage MBC.ConnectionPointDefinitionsFolder SILK.folder
294     @VP.namedConstantImageRule           MOD.Contributions.SubscriptionItemImage MOD.Subscription.Item                SILK.tag_blue
295     @VP.namedConstantImageRule           MOD.Contributions.SymbolImage           MBC.Symbol                           SILK.image
296     @VP.namedConstantImageRule           MOD.Contributions.ConnectionRelationImage STR.ConnectionRelation               SILK.bullet_green
297     @VP.namedConstantImageRule           MOD.Contributions.DocumentsImage        MBC.DocumentsFolder                  SILK.folder
298     @VP.namedConstantImageRule           MOD.Contributions.DocumentImage         DOC.Document                         SILK.page_white
299     @VP.namedConstantImageRule           MOD.Contributions.UrlDocumentImage      DOC.UrlDocument                      SILK.page_white_world
300     @VP.namedConstantImageRule           MOD.Contributions.LibraryImage          L0.Library                           SILK.folder
301     @VP.namedConstantImageRule           MOD.Contributions.SharedOntologyImage   L0.SharedOntology                    SILK.folder_brick
302     @VP.namedConstantImageRule           MOD.Contributions.ProfileImage          DIA.Profile                          SILK.bullet_green
303     @VP.namedConstantImageRule           MOD.Contributions.ProfileEntryImage     DIA.ProfileEntry                     SILK.bullet_green
304     @VP.namedConstantImageRule           MOD.Contributions.StyleImage            DIA.Style                            SILK.bullet_green
305     @VP.namedConstantImageRule           MOD.Contributions.GroupImage            DIA.Group                            SILK.bullet_green
306     @VP.namedConstantImageRule           MOD.Contributions.VariableImage         MBC.Variable                         SILK.bullet_black
307     VP.BrowseContext.HasVisualsContribution MOD.Contributions.ConfiguredComponentImage : VP.VisualsContribution
308         VP.VisualsContribution.HasNodeType MBC.Variable
309         VP.VisualsContribution.HasPriority 1.0
310         VP.VisualsContribution.HasRule MOD.Contributions.ComponentImage : VP.ConstantImageRule
311             VP.ConstantImageRule.HasColumnKey "single"
312             VP.ConstantImageRule.HasImage SILK.brick
313         VP.VisualsContribution.HasCondition MBC.IsComponent
314     VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
315         VP.VisualsContribution.HasNodeType MBC.Variable
316         VP.VisualsContribution.HasPriority 2.0
317         VP.VisualsContribution.HasRule MOD.Contributions.UserDefinedComponentImage : VP.ConstantImageRule
318             VP.ConstantImageRule.HasColumnKey "single"
319             VP.ConstantImageRule.HasImage IMAGES.UserDefinedComponent
320         VP.VisualsContribution.HasCondition MBC.IsUserDefinedComponentTest
321     VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
322         VP.VisualsContribution.HasNodeType L0.Library
323         VP.VisualsContribution.HasPriority 2.0
324         VP.VisualsContribution.HasRule MOD.Contributions.FolderLockImage : VP.ConstantImageRule
325             VP.ConstantImageRule.HasColumnKey "single"
326             VP.ConstantImageRule.HasImage IMAGES.FolderLock
327         VP.VisualsContribution.HasCondition TESTS.IsPublished
328     VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
329         VP.VisualsContribution.HasNodeType STR.ComponentType
330         VP.VisualsContribution.HasPriority 2.0
331         VP.VisualsContribution.HasRule MOD.Contributions.ComponentLockImage : VP.ConstantImageRule
332             VP.ConstantImageRule.HasColumnKey "single"
333             VP.ConstantImageRule.HasImage IMAGES.ComponentLock
334         VP.VisualsContribution.HasCondition TESTS.IsPublished
335     VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution
336         VP.VisualsContribution.HasNodeType STR.Component
337         VP.VisualsContribution.HasPriority 1.0
338         VP.VisualsContribution.HasRule MOD.Contributions.UserDefinedComponentImage
339         VP.VisualsContribution.HasCondition MBC.IsUserDefinedComponentTest
340     @VP.namedConstantImageRule           MOD.Contributions.ImageImage            IMAGE.Image                          SILK.image
341     @VP.namedConstantImageRule           MOD.Contributions.ModuleImage           L0.SCLModule                         SILK.box
342     @VP.namedConstantImageRule           MOD.Contributions.PGraphImage           L0.PGraph                            SILK.box
343     @VP.namedConstantImageRule           MOD.Contributions.QueryImage            MOD.SCLQuery                         SILK.script
344     @VP.namedConstantImageRule           MOD.Contributions.CodeImage             STR.ProceduralComponentTypeCode      SILK.book_open
345     @VP.namedConstantImageRule           MOD.Contributions.ComponentTypeScriptImage STR.ComponentTypeScript           SILK.book_open
346     @VP.namedConstantImageRule           MOD.Contributions.SheetBookImage        SHEET.Book                           SILK.folder_table
347     @VP.namedConstantImageRule           MOD.Contributions.SheetImage            SHEET.Spreadsheet                    SILK.table
348     @VP.customImageDecorationRule        STR.ComponentType                       MBC.ComponentTypeLockStatusImageDecorationRule
349     
350 IMAGES = MBC.Images : L0.Library
351 IMAGES.SubscriptionsFolder : IMAGE.PngImage
352     @L0.loadBytes "images/subscriptions.png"
353 IMAGES.ComponentType : IMAGE.PngImage
354     @L0.loadBytes "images/shape_3d.png"
355 IMAGES.UserDefinedComponent : IMAGE.PngImage
356     @L0.loadBytes "images/shape_3d_gray.png"
357 IMAGES.FolderLock : IMAGE.PngImage
358     @L0.loadBytes "images/folder_lock.png"
359 IMAGES.ComponentLock : IMAGE.PngImage
360     @L0.loadBytes "images/shape_3d_lock.png"
361
362 MBC
363     @VP.dropActionContribution MOD.Subscription MAC.Actions.SubscriptionDropAction 1.0
364
365 MOD.sclAction : L0.Template
366     @template %action %expression
367         %action : MOD.SCLAction
368           MOD.SCLAction.action _ : MOD.SCLValue
369             L0.SCLValue.expression %expression
370             L0.HasValueType "Resource -> <Proc> ()"
371
372 MOD.sclTest : L0.Template
373     @template %subject %expression
374         %subject : MOD.SCLTest
375             MOD.SCLTest.test _ : MOD.SCLValue
376                 L0.SCLValue.expression %expression
377                 L0.HasValueType "Resource -> <ReadGraph> Boolean"
378
379 MOD.Contributions.NewSheetBook : VP.ActionContribution
380     L0.HasLabel "Spreadsheet"
381     VP.ActionContribution.HasImage SILK.star
382     VP.ActionContribution.HasCategory VP.NewActionCategory
383     VP.ActionContribution.HasNodeType L0.Library
384     VP.ActionContribution.HasAction ACTIONS.NewSheetBook
385
386 MOD.Contributions.ActivateModel : VP.ActionContribution
387     L0.HasLabel "Activate"
388     VP.ActionContribution.HasImage SILK.bullet_go
389     VP.ActionContribution.HasCategory VP.EditActionCategory
390     VP.ActionContribution.HasNodeType SIMU.Model
391     VP.ActionContribution.HasAction ACTIONS.ActivateModel
392
393 MOD.Contributions.Help : VP.ActionContribution
394     L0.HasLabel "Help"
395     VP.ActionContribution.HasImage SILK.help
396     VP.ActionContribution.HasCategory VP.EditActionCategory
397     VP.ActionContribution.HasNodeType L0.Entity
398     VP.ActionContribution.HasAction ACTIONS.Help
399               
400 // Actions
401 MAC    
402     VP.BrowseContext.HasActionContribution MOD.Contributions.Help
403     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
404         L0.HasLabel "Migrate"
405         VP.ActionContribution.HasImage SILK.star
406         VP.ActionContribution.HasCategory VP.EditActionCategory
407         VP.ActionContribution.HasNodeType STR.ComponentType
408         VP.ActionContribution.HasAction ACTIONS.MigrateComponentType
409     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
410         L0.HasLabel "Migrate"
411         VP.ActionContribution.HasImage SILK.star
412         VP.ActionContribution.HasCategory VP.EditActionCategory
413         VP.ActionContribution.HasNodeType L0.SharedOntology
414         VP.ActionContribution.HasAction ACTIONS.MigrateComponentType
415     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
416         L0.HasLabel "Compile Ontology Definitions"
417         VP.ActionContribution.HasImage SILK.star
418         VP.ActionContribution.HasCategory VP.EditActionCategory
419         VP.ActionContribution.HasNodeType L0.SharedOntology
420         VP.ActionContribution.HasAction ACTIONS.CompilePGraphs
421 //    VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
422 //        L0.HasLabel "Migrate"
423 //        VP.ActionContribution.HasImage SILK.star
424 //        VP.ActionContribution.HasCategory VP.EditActionCategory
425 //        VP.ActionContribution.HasNodeType MOD.MasterTypicalCompositeType
426 //        VP.ActionContribution.HasAction ACTIONS.MigrateMasterTypical
427     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
428         L0.HasLabel "Create New Version"
429         VP.ActionContribution.HasImage SILK.new
430         VP.ActionContribution.HasCategory VP.EditActionCategory
431         VP.ActionContribution.HasNodeType STR.ComponentType
432         VP.ActionContribution.HasAction ACTIONS.CreateNewVersion
433         VP.ActionContribution.IsVisibleIf TESTS.IsContainerNotPublished
434     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
435         L0.HasLabel "Create New Version"
436         VP.ActionContribution.HasImage SILK.new
437         VP.ActionContribution.HasCategory VP.EditActionCategory
438         VP.ActionContribution.HasNodeType L0.SharedOntology
439         VP.ActionContribution.HasAction ACTIONS.CreateNewVersion
440     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
441         L0.HasLabel "Finish for Publishing"
442         VP.ActionContribution.HasImage SILK.lock
443         VP.ActionContribution.HasCategory VP.EditActionCategory
444         VP.ActionContribution.HasNodeType STR.ComponentType
445         VP.ActionContribution.IsVisibleIf TESTS.IsNotPublished
446         VP.ActionContribution.HasAction ACTIONS.FinishComponentTypeForPublishing
447     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
448         L0.HasLabel "Finish for Publishing"
449         VP.ActionContribution.HasImage SILK.lock
450         VP.ActionContribution.HasCategory VP.EditActionCategory
451         VP.ActionContribution.HasNodeType L0.SharedOntology
452         VP.ActionContribution.IsVisibleIf TESTS.IsNotPublished
453         VP.ActionContribution.HasAction ACTIONS.FinishSharedOntologyForPublishing
454     VP.BrowseContext.HasActionContribution MOD.Contributions.NewSCLModule : VP.ActionContribution
455         L0.HasLabel "SCL Module"
456         VP.ActionContribution.HasImage SILK.page_white_text
457         VP.ActionContribution.HasCategory VP.NewActionCategory
458         VP.ActionContribution.HasNodeType
459             L0.Library
460             STR.ComponentType
461         VP.ActionContribution.HasAction ACTIONS.NewSCLModule
462         VP.ActionContribution.IsVisibleIf TESTS.IsContainerNotPublished
463     VP.BrowseContext.HasActionContribution MOD.Contributions.NewPGraph : VP.ActionContribution
464         L0.HasLabel "Ontology Definition File"
465         VP.ActionContribution.HasImage SILK.page_white_text
466         VP.ActionContribution.HasCategory VP.NewActionCategory
467         VP.ActionContribution.HasNodeType L0.Ontology
468         VP.ActionContribution.HasAction ACTIONS.NewPGraph
469         VP.ActionContribution.IsVisibleIf TESTS.IsContainerNotPublished
470     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
471         L0.HasLabel "SCL Query"
472         VP.ActionContribution.HasImage SILK.script_add
473         VP.ActionContribution.HasCategory VP.NewActionCategory
474         VP.ActionContribution.HasNodeType L0.Library
475         VP.ActionContribution.HasAction ACTIONS.NewSCLQuery
476         VP.ActionContribution.IsVisibleIf TESTS.IsContainerNotPublished
477     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
478         L0.HasLabel "SCL Query Type"
479         VP.ActionContribution.HasImage SILK.script_add
480         VP.ActionContribution.HasCategory VP.NewActionCategory
481         VP.ActionContribution.HasNodeType L0.Library
482         VP.ActionContribution.HasAction ACTIONS.NewSCLQueryType
483         VP.ActionContribution.IsVisibleIf TESTS.IsContainerNotPublished
484     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
485         L0.HasLabel "User Component"
486         VP.ActionContribution.HasImage IMAGES.ComponentType
487         VP.ActionContribution.HasCategory VP.NewActionCategory
488         VP.ActionContribution.HasNodeType MBC.ComponentTypesFolder
489         VP.ActionContribution.HasAction ACTIONS.NewComponentType
490     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
491         L0.HasLabel "User Component"
492         VP.ActionContribution.HasImage IMAGES.ComponentType
493         VP.ActionContribution.HasCategory VP.NewActionCategory
494         VP.ActionContribution.HasNodeType L0.Library
495         VP.ActionContribution.HasAction ACTIONS.NewComponentType
496         VP.ActionContribution.IsVisibleIf TESTS.IsContainerNotPublished
497     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
498         L0.HasLabel "Procedural User Component"
499         VP.ActionContribution.HasImage IMAGES.ComponentType
500         VP.ActionContribution.HasCategory VP.NewActionCategory
501         VP.ActionContribution.HasNodeType MBC.ComponentTypesFolder
502         VP.ActionContribution.HasAction ACTIONS.NewProceduralComponentType
503     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
504         L0.HasLabel "Procedural User Component"
505         VP.ActionContribution.HasImage IMAGES.ComponentType
506         VP.ActionContribution.HasCategory VP.NewActionCategory
507         VP.ActionContribution.HasNodeType L0.Library
508         VP.ActionContribution.HasAction ACTIONS.NewProceduralComponentType
509         VP.ActionContribution.IsVisibleIf TESTS.IsContainerNotPublished
510     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
511         L0.HasLabel "Assign Symbol Group..."
512         VP.ActionContribution.HasCategory VP.EditActionCategory
513         VP.ActionContribution.HasNodeType MBC.Symbol
514         VP.ActionContribution.HasAction ACTIONS.AssignSymbolGroup : ACT.Action
515         VP.ActionContribution.IsVisibleIf TESTS.IsContainerNotPublished
516     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
517         L0.HasLabel "Configure Connection Types..."
518         VP.ActionContribution.HasCategory VP.EditActionCategory
519         VP.ActionContribution.HasNodeType STR.ConnectionRelation
520         VP.ActionContribution.HasAction ACTIONS.ConfigureConnectionTypes : ACT.Action
521         VP.ActionContribution.IsVisibleIf TESTS.IsContainerNotPublished
522     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
523         L0.HasLabel "Document"
524         VP.ActionContribution.HasImage SILK.page_white
525         VP.ActionContribution.HasCategory VP.NewActionCategory
526         VP.ActionContribution.HasNodeType MBC.DocumentsFolder
527         VP.ActionContribution.HasAction ACTIONS.NewDocument : ACT.Action
528         VP.ActionContribution.IsVisibleIf TESTS.IsContainerNotPublished
529     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
530         L0.HasLabel "Library"
531         VP.ActionContribution.HasImage SILK.folder
532         VP.ActionContribution.HasCategory VP.NewActionCategory
533         VP.ActionContribution.HasNodeType L0.Library
534         VP.ActionContribution.HasAction ACTIONS.NewLibrary : ACT.Action
535         VP.ActionContribution.IsVisibleIf TESTS.IsContainerNotPublished
536     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
537         L0.HasLabel "Merge Flags"
538         VP.ActionContribution.HasCategory VP.EditActionCategory
539         VP.ActionContribution.HasNodeType STR.Composite
540         VP.ActionContribution.HasAction ACTIONS.MergeFlags : ACT.Action
541     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
542         L0.HasLabel "Rename Diagram Components"
543         VP.ActionContribution.HasCategory VP.EditActionCategory
544         VP.ActionContribution.HasNodeType STR.Composite
545         VP.ActionContribution.HasAction ACTIONS.RenameDiagramComponents
546     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
547         L0.HasLabel "Connection Point"
548         VP.ActionContribution.HasCategory VP.NewActionCategory
549         VP.ActionContribution.HasNodeType STR.ProceduralComponentType
550         VP.ActionContribution.HasNodeType MBC.ConnectionPointDefinitionsFolder
551         VP.ActionContribution.HasAction ACTIONS.NewConnectionPoint : ACT.Action
552     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
553         L0.HasLabel "Symbol"
554         VP.ActionContribution.HasImage SILK.image
555         VP.ActionContribution.HasCategory VP.NewActionCategory
556         VP.ActionContribution.HasNodeType STR.ComponentType
557         VP.ActionContribution.HasAction ACTIONS.NewSymbol : ACT.Action
558     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
559         L0.HasLabel "Copy"
560         VP.ActionContribution.HasImage SILK.page_copy
561         VP.ActionContribution.HasCategory VP.EditActionCategory
562         VP.ActionContribution.HasNodeType STR.ComponentType
563         VP.ActionContribution.HasAction ACTIONS.Copy : ACT.Action        
564     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
565         L0.HasLabel "Cut"
566         VP.ActionContribution.HasImage SILK.cut
567         VP.ActionContribution.HasCategory VP.EditActionCategory
568         VP.ActionContribution.HasNodeType STR.ComponentType
569         VP.ActionContribution.HasAction ACTIONS.Cut : ACT.Action        
570     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
571         L0.HasLabel "Paste"
572         VP.ActionContribution.HasImage SILK.page_paste
573         VP.ActionContribution.HasCategory VP.EditActionCategory
574         VP.ActionContribution.HasNodeType L0.Library
575         VP.ActionContribution.HasAction ACTIONS.Paste : ACT.Action        
576         VP.ActionContribution.IsVisibleIf TESTS.HasSomethingToPaste
577     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
578         L0.HasLabel "Lock"
579         VP.ActionContribution.HasImage SILK.lock
580         VP.ActionContribution.HasCategory VP.EditActionCategory
581         VP.ActionContribution.HasNodeType STR.ComponentType
582         VP.ActionContribution.HasAction ACTIONS.Lock : ACT.Action
583         VP.ActionContribution.IsVisibleIf TESTS.IsNotLocked
584     VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
585         L0.HasLabel "Unlock"
586         VP.ActionContribution.HasImage SILK.lock_open
587         VP.ActionContribution.HasCategory VP.EditActionCategory
588         VP.ActionContribution.HasNodeType STR.ComponentType
589         VP.ActionContribution.HasAction ACTIONS.Unlock : ACT.Action
590         VP.ActionContribution.IsVisibleIf TESTS.IsLocked
591     VP.BrowseContext.SupportsRemovalOf MBC.Symbol
592     VP.BrowseContext.SupportsRenamingOf MBC.Symbol
593     VP.BrowseContext.HasActionContribution
594         MOD.Contributions.NewSheetBook
595
596     @VP.renamingTestContribution
597         L0.SharedOntology
598         TESTS.CanRename
599         0.0
600
601     @VP.actionContributionWithVisibility "Images" L0.Library SILK.image VP.ImportActionCategory ACTIONS.ImportImages MAC.Tests.IsContainerNotPublished
602
603 MOD.Contributions.Delete : VP.ActionContribution
604         L0.HasLabel "Delete"
605         VP.ActionContribution.HasImage SILK.cross
606         VP.ActionContribution.HasCategory VP.EditActionCategory
607         VP.ActionContribution.HasNodeType L0.Entity
608         VP.ActionContribution.HasAction ACTIONS.Delete        
609         VP.ActionContribution.IsVisibleIf TESTS.CanDelete
610         
611 ACTIONS = MAC.Actions : L0.Library
612 ACTIONS.ImportImages : ACT.Action
613 ACTIONS.Delete : ACT.Action
614 ACTIONS.NewLocalLibrary : ACT.Action
615 ACTIONS.SubscriptionDropAction : ACT.DropAction
616 ACTIONS.FinishComponentTypeForPublishing
617   @MOD.sclAction "publishComponentTypeAction"
618 ACTIONS.FinishSharedOntologyForPublishing
619   @MOD.sclAction "publishSharedOntologyAction"
620 ACTIONS.CreateNewVersion
621   @MOD.sclAction "newVersionAction"
622 ACTIONS.NewSCLModule
623   @MOD.sclAction "createSCLModuleAction"
624 ACTIONS.NewPGraph
625   @MOD.sclAction "createPGraphAction"
626 ACTIONS.NewSCLQuery : ACT.Action
627 ACTIONS.NewSCLQueryType
628   @MOD.sclAction "createSCLQueryTypeAction"
629 ACTIONS.NewSheetBook
630   @MOD.sclAction "createSpreadsheetBookAction"
631 ACTIONS.ActivateModel
632   @MOD.sclAction "activateModelAction"
633 ACTIONS.MigrateComponentType : ACT.Action
634 ACTIONS.CompilePGraphs : ACT.Action
635 //ACTIONS.MigrateMasterTypical : ACT.Action
636 ACTIONS.RenameDiagramComponents : ACT.Action
637 ACTIONS.Help : ACT.Action
638
639 ACTIONS.NavigateToSubstructure
640   @MOD.sclAction "navigateToSubstructureAction"
641
642 ACTIONS.NewProceduralComponentType : ACT.Action
643 ACTIONS.NewComponentType : ACT.Action
644
645 TESTS = MAC.Tests : L0.Library
646 TESTS.IsNotPublished
647   @MOD.sclTest "isNotPublished"
648 TESTS.IsPublished
649   @MOD.sclTest "isPublished"
650 TESTS.IsNotLocked
651   @MOD.sclTest "isNotLocked"
652 TESTS.IsLocked
653   @MOD.sclTest "isLocked"
654 TESTS.IsContainerNotPublished
655   @MOD.sclTest "isContainerNotPublished"
656 TESTS.HasSomethingToPaste
657   @MOD.sclTest "hasSomethingToPaste"
658 TESTS.CanDelete
659   @MOD.sclTest "canDelete"
660 TESTS.CanRename
661   @MOD.sclTest "canRename"
662
663 MOD.Functions.singleVariableSelection : L0.Function
664   L0.HasValueType "a"
665 MOD.Functions.projectSelection : L0.Function
666   L0.HasValueType "a"
667 MOD.Functions.standardPersistor : L0.Function
668   L0.HasValueType "StatePersistor"
669   
670   
671 //MOD.ModelBrowser : MOD.ModelBrowser
672