]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.issues.ui.ontology/graph/IssueUI.pgraph
Preliminary support for purely Variable based dynamic issue sources
[simantics/platform.git] / bundles / org.simantics.issues.ui.ontology / graph / IssueUI.pgraph
1 L0 = <http://www.simantics.org/Layer0-1.1>
2 ISSUE = <http://www.simantics.org/Issue-1.2>
3 VP = <http://www.simantics.org/Viewpoint-1.2>
4 PROJECT = <http://www.simantics.org/Project-1.2>
5 SIMU = <http://www.simantics.org/Simulation-1.1>
6 ACT = <http://www.simantics.org/Action-1.1>
7 SG = <http://www.simantics.org/Scenegraph-1.1>
8 VIEWS = <http://www.simantics.org/Views-1.2>
9 SILK = <http://www.simantics.org/Silk-1.1>
10 MOD = <http://www.simantics.org/Modeling-1.2>
11
12 UI = <http://www.simantics.org/IssueUI-1.1> : L0.Ontology
13     @L0.new
14     L0.HasResourceClass "org.simantics.issues.ui.ontology.IssueUIResource"
15
16 //--------------------------------------------------------------------------
17 // Functions
18 UI.Functions : L0.Library
19
20
21 //--------------------------------------------------------------------------
22 // Preferences
23
24 UI.ShowHiddenIssues <R L0.HasProperty : L0.FunctionalRelation
25     L0.HasRange L0.Boolean
26
27 UI.ShowNormalIssues <R L0.HasProperty : L0.FunctionalRelation
28     L0.HasRange L0.Boolean
29
30 UI.ShowUserIssues <R L0.HasProperty : L0.FunctionalRelation
31     L0.HasRange L0.Boolean
32
33
34 //--------------------------------------------------------------------------
35 // ACTIONS
36
37 ACTIONS = UI.Actions : L0.Library
38
39 ACTIONS.SeverityActionCategory : VP.ActionCategory
40     L0.HasLabel "Set Severity"
41     VP.ActionCategory.IsSubmenu L0.True
42
43 ACTIONS.SetSeverityAction <T ACT.Action
44     >-- ACTIONS.SetSeverityAction.HasSeverity --> ISSUE.Severity <R L0.DependsOn : L0.FunctionalRelation
45
46
47 //--------------------------------------------------------------------------
48 // Issue Browse context
49
50 IBC = UI.IssueBrowseContext : VP.BrowseContext
51
52 // Node types
53 IBC.FatalFolder : VP.ResourceNodeType
54 IBC.ErrorFolder : VP.ResourceNodeType
55 IBC.WarningFolder : VP.ResourceNodeType
56 IBC.InfoFolder : VP.ResourceNodeType
57 IBC.NoteFolder : VP.ResourceNodeType
58 IBC.UnknownFolder : VP.ResourceNodeType
59
60 IBC.Issue : VP.NodeType
61     VP.HasContentType "Variable"
62 IBC.DynamicIssueHierarchyNode : VP.NodeType
63     VP.HasContentType "Variable"
64
65 // Rules
66 IBC.SeverityFolderRule <T VP.ChildRule
67     >-- IBC.SeverityFolderRule.HasSeverity --> ISSUE.Severity <R L0.DependsOn : L0.FunctionalRelation
68 IBC.SeverityChildRule <T VP.ChildRule
69     >-- IBC.SeverityChildRule.HasSeverity --> ISSUE.Severity <R L0.DependsOn : L0.FunctionalRelation
70 IBC.DynamicIssueSourceRule : VP.ChildRule
71     L0.HasDescription "Looks for all ISSUE.DynamicIssueSource instances from the active index roots. Produces a separate subtree out of each dynamic issue source."
72 IBC.DynamicIssueSourceHierarchyRule : VP.ChildRule
73     L0.HasDescription "Looks for all ISSUE.DynamicIssueSource instances from the active index roots. Produces a separate subtree out of each dynamic issue source."
74
75 IBC.SeverityFolderLabelRule <T VP.LabelRule
76     >-- IBC.SeverityFolderLabelRule.HasSeverity --> ISSUE.Severity <R L0.DependsOn : L0.FunctionalRelation
77 IBC.IssueLabelRule : VP.LabelRule
78 IBC.IssueImageRule : VP.ImageRule
79
80 IBC.IssueLabelDecorationRule : VP.LabelDecorationRule
81 IBC.IssueImageDecorationRule : VP.ImageDecorationRule
82 IBC.IssueContextDropAction : ACT.DropAction
83 IBC.UserIssueTest : VP.Test
84
85 // Browse context
86 IBC
87     // Structure
88     @VP.customChildRule PROJECT.Project 
89         _ : IBC.SeverityFolderRule
90             IBC.SeverityFolderRule.HasSeverity ISSUE.Severity.Note
91         IBC.NoteFolder
92     @VP.customChildRule PROJECT.Project 
93         _ : IBC.SeverityFolderRule
94             IBC.SeverityFolderRule.HasSeverity ISSUE.Severity.Fatal
95         IBC.FatalFolder
96     @VP.customChildRule PROJECT.Project 
97         _ : IBC.SeverityFolderRule
98             IBC.SeverityFolderRule.HasSeverity ISSUE.Severity.Error
99         IBC.ErrorFolder
100     @VP.customChildRule PROJECT.Project 
101         _ : IBC.SeverityFolderRule
102             IBC.SeverityFolderRule.HasSeverity ISSUE.Severity.Warning
103         IBC.WarningFolder
104     @VP.customChildRule PROJECT.Project 
105         _ : IBC.SeverityFolderRule
106             IBC.SeverityFolderRule.HasSeverity ISSUE.Severity.Info
107         IBC.InfoFolder
108     @VP.customChildRule PROJECT.Project
109         IBC.DynamicIssueSourceRule
110         IBC.DynamicIssueHierarchyNode
111     
112     // Content
113     @VP.customChildRule IBC.FatalFolder 
114         _ : IBC.SeverityChildRule
115             IBC.SeverityChildRule.HasSeverity ISSUE.Severity.Fatal
116         IBC.Issue
117     @VP.customChildRule IBC.ErrorFolder 
118         _ : IBC.SeverityChildRule
119             IBC.SeverityChildRule.HasSeverity ISSUE.Severity.Error
120         IBC.Issue
121     @VP.customChildRule IBC.WarningFolder 
122         _ : IBC.SeverityChildRule
123             IBC.SeverityChildRule.HasSeverity ISSUE.Severity.Warning
124         IBC.Issue
125     @VP.customChildRule IBC.InfoFolder 
126         _ : IBC.SeverityChildRule
127             IBC.SeverityChildRule.HasSeverity ISSUE.Severity.Info
128         IBC.Issue
129     @VP.customChildRule IBC.NoteFolder 
130         _ : IBC.SeverityChildRule
131             IBC.SeverityChildRule.HasSeverity ISSUE.Severity.Note
132         IBC.Issue
133     @VP.customChildRule IBC.DynamicIssueHierarchyNode
134         IBC.DynamicIssueSourceHierarchyRule
135         IBC.DynamicIssueHierarchyNode
136     
137     // Labels
138     @VP.customLabelRule IBC.FatalFolder 
139         _ : IBC.SeverityFolderLabelRule
140             IBC.SeverityFolderLabelRule.HasSeverity ISSUE.Severity.Fatal
141     @VP.customLabelRule IBC.ErrorFolder 
142         _ : IBC.SeverityFolderLabelRule
143             IBC.SeverityFolderLabelRule.HasSeverity ISSUE.Severity.Error
144     @VP.customLabelRule IBC.WarningFolder 
145         _ : IBC.SeverityFolderLabelRule
146             IBC.SeverityFolderLabelRule.HasSeverity ISSUE.Severity.Warning
147     @VP.customLabelRule IBC.InfoFolder 
148         _ : IBC.SeverityFolderLabelRule
149             IBC.SeverityFolderLabelRule.HasSeverity ISSUE.Severity.Info
150     @VP.customLabelRule IBC.NoteFolder 
151         _ : IBC.SeverityFolderLabelRule
152             IBC.SeverityFolderLabelRule.HasSeverity ISSUE.Severity.Note
153     @VP.customLabelRule IBC.Issue IBC.IssueLabelRule
154     @VP.customLabelRule IBC.DynamicIssueHierarchyNode IBC.IssueLabelRule
155     @VP.customVisualsRuleWithPriorityAndTest IBC.Issue VP.VariableLabelModifierRule  1.0 IBC.UserIssueTest
156     @VP.customLabelDecorationRule ISSUE.Issue IBC.IssueLabelDecorationRule
157     
158     // Images
159     @VP.constantImageRule IBC.FatalFolder SILK.bomb
160     @VP.constantImageRule IBC.ErrorFolder SILK.exclamation
161     @VP.constantImageRule IBC.WarningFolder SILK.error
162     @VP.constantImageRule IBC.InfoFolder SILK.information
163     @VP.constantImageRule IBC.NoteFolder SILK.note
164     @VP.constantImageRule IBC.UnknownFolder SILK.help
165     @VP.customImageRule IBC.Issue IBC.IssueImageRule
166     @VP.customImageRule IBC.DynamicIssueHierarchyNode IBC.IssueImageRule
167     
168     // Drop actions
169     @VP.dropActionContribution ISSUE.Issue IBC.IssueContextDropAction 1.0
170
171 // Action context for context menu
172 IAC = UI.ActionContext : VP.BrowseContext
173     // Set severity
174     @VP.actionContribution "Fatal" IBC.Issue SILK.bomb ACTIONS.SeverityActionCategory 
175         _ : ACTIONS.SetSeverityAction
176             ACTIONS.SetSeverityAction.HasSeverity ISSUE.Severity.Fatal
177     @VP.actionContribution "Error" IBC.Issue SILK.exclamation ACTIONS.SeverityActionCategory 
178         _ : ACTIONS.SetSeverityAction
179             ACTIONS.SetSeverityAction.HasSeverity ISSUE.Severity.Error
180     @VP.actionContribution "Warning" IBC.Issue SILK.error ACTIONS.SeverityActionCategory 
181         _ : ACTIONS.SetSeverityAction
182             ACTIONS.SetSeverityAction.HasSeverity ISSUE.Severity.Warning
183     @VP.actionContribution "Info" IBC.Issue SILK.information ACTIONS.SeverityActionCategory 
184         _ : ACTIONS.SetSeverityAction
185             ACTIONS.SetSeverityAction.HasSeverity ISSUE.Severity.Info
186     @VP.actionContribution "Note" IBC.Issue SILK.note ACTIONS.SeverityActionCategory 
187         _ : ACTIONS.SetSeverityAction
188             ACTIONS.SetSeverityAction.HasSeverity ISSUE.Severity.Note
189     @VP.actionContribution "Resolve" IBC.Issue SILK.tick VP.EditActionCategory 
190         ACTIONS.Resolve : ACT.Action
191     @VP.actionContribution "Unresolve" IBC.Issue SILK.lightbulb_off VP.EditActionCategory 
192         ACTIONS.Unresolve : ACT.Action
193     @VP.actionContribution "Hide" IBC.Issue SILK.shading VP.EditActionCategory 
194         ACTIONS.Hide : ACT.Action
195     @VP.actionContribution "Unhide" IBC.Issue SILK.shading VP.EditActionCategory 
196         ACTIONS.Unhide : ACT.Action
197
198
199 //--------------------------------------------------------------------------
200 // Batch Issue Source Browse context
201
202 BISBC = UI.BatchIssueSourceBrowseContext : VP.BrowseContext
203
204 // Rules
205 //BISBC.IssueSourceRule : VP.ChildRule
206 //BISBC.IssueSourceLabelRule : VP.LabelRule
207 BISBC.IssueSourceCheckRule : VP.CheckedStateRule
208
209 // UIpoint
210 BISBC
211     @VP.relationChildRule         SIMU.Model   L0.ConsistsOf ISSUE.IssueSource
212     @VP.customLabelRule           ISSUE.IssueSource VP.ResourceLabelLabelRule
213     @VP.customCheckedStateRule    ISSUE.IssueSource BISBC.IssueSourceCheckRule
214
215
216 //--------------------------------------------------------------------------
217 // Issue view UI definitions
218
219 UI.IssueView.Description 
220     @VIEWS.Explorer.Column.full "single" "Description" "LEFT" 150 "Description" true 1
221 UI.IssueView.Resource 
222     @VIEWS.Explorer.Column.full "Resource" "Resource" "LEFT" 60 "Resource" false 1
223 UI.IssueView.Path 
224     @VIEWS.Explorer.Column.full "Path" "Path" "LEFT" 150 "Path" false 1
225
226 UI.IssueView.BatchColumn
227     @VIEWS.Explorer.Column.full "single" "Validations" "LEFT" 150 "Validations" true 1
228
229 UI.IssueView : VIEWS.TabFolder
230     VIEWS.Control.layoutData _ : VIEWS.GridLayout.GridData
231         VIEWS.GridLayout.GridData.horizontalGrab true
232         VIEWS.GridLayout.GridData.verticalGrab true
233     SG.Node.children _ : L0.List
234         @L0.list
235             UI.IssueView.Active : VIEWS.Composite
236                 SG.Node.children _ : L0.List
237                     @L0.list
238                         UI.IssueView.Active.Explorer : VIEWS.Explorer
239                             @VIEWS.Control.style2 VIEWS.Control.Style.Constant.FullSelection VIEWS.Control.Style.Constant.Multi 
240                             VIEWS.Explorer.input VIEWS.Functions.singleResourceSelection
241                             VIEWS.Control.layoutData _ : VIEWS.GridLayout.GridData
242                                 VIEWS.GridLayout.GridData.horizontalGrab true
243                                 VIEWS.GridLayout.GridData.verticalGrab true
244                             VIEWS.Explorer.columns _ : VIEWS.Explorer.ColumnList
245                                 @L0.list
246                                     UI.IssueView.Description
247                                     UI.IssueView.Resource
248                                     UI.IssueView.Path
249                             VIEWS.Explorer.persistor MOD.Functions.standardPersistor
250                             VIEWS.Explorer.browseContext _ : VIEWS.ResourceURI
251                               VIEWS.ResourceURI.HasResource IBC
252             UI.IssueView.Batch : VIEWS.Composite
253                 SG.Node.children _ : L0.List
254                     @L0.list
255                         UI.IssueView.Batch.Explorer : VIEWS.Explorer
256                             @VIEWS.Control.style2 VIEWS.Control.Style.Constant.FullSelection VIEWS.Control.Style.Constant.Check
257                             VIEWS.Explorer.input UI.Functions.activeModel : L0.Function
258                               L0.HasValueType "a"
259                             VIEWS.Explorer.selectionListener UI.Functions.issueSourceSelected : L0.Function
260                               L0.HasValueType "a -> Boolean"
261                             VIEWS.Control.layoutData _ : VIEWS.GridLayout.GridData
262                                 VIEWS.GridLayout.GridData.horizontalGrab true
263                                 VIEWS.GridLayout.GridData.verticalGrab true
264                             VIEWS.Explorer.columns _ : VIEWS.Explorer.ColumnList
265                                 @L0.list
266                                     UI.IssueView.BatchColumn
267                             VIEWS.Explorer.browseContext _ : VIEWS.ResourceURI
268                               VIEWS.ResourceURI.HasResource BISBC