Allow overriding issue hidden-ness/hiding logic in inheriting ontologies
[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 // Libraries
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 ACTIONS.Help : ACT.Action
47 ACTIONS.Hide : ACT.Action
48 ACTIONS.Unhide : ACT.Action
49
50 //--------------------------------------------------------------------------
51 // Issue Browse context
52
53 IBC = UI.IssueBrowseContext : VP.BrowseContext
54
55 // Node types
56 IBC.FatalFolder : VP.ResourceNodeType
57 IBC.ErrorFolder : VP.ResourceNodeType
58 IBC.WarningFolder : VP.ResourceNodeType
59 IBC.InfoFolder : VP.ResourceNodeType
60 IBC.NoteFolder : VP.ResourceNodeType
61 IBC.UnknownFolder : VP.ResourceNodeType
62
63 IBC.Issue : VP.NodeType
64     VP.HasContentType "Variable"
65 IBC.DynamicIssueHierarchyNode : VP.NodeType
66     VP.HasContentType "Variable"
67
68 // Rules
69 IBC.SeverityFolderRule <T VP.ChildRule
70     >-- IBC.SeverityFolderRule.HasSeverity --> ISSUE.Severity <R L0.DependsOn : L0.FunctionalRelation
71 IBC.SeverityChildRule <T VP.ChildRule
72     >-- IBC.SeverityChildRule.HasSeverity --> ISSUE.Severity <R L0.DependsOn : L0.FunctionalRelation
73 IBC.DynamicIssueSourceRule : VP.ChildRule
74     L0.HasDescription "Looks for all ISSUE.DynamicIssueSource instances from the active index roots. Produces a separate subtree out of each dynamic issue source."
75 IBC.DynamicIssueSourceHierarchyRule : VP.ChildRule
76     L0.HasDescription "Looks for all ISSUE.DynamicIssueSource instances from the active index roots. Produces a separate subtree out of each dynamic issue source."
77
78 IBC.SeverityFolderLabelRule <T VP.LabelRule
79     >-- IBC.SeverityFolderLabelRule.HasSeverity --> ISSUE.Severity <R L0.DependsOn : L0.FunctionalRelation
80 IBC.IssueLabelRule : VP.LabelRule
81 IBC.IssueImageRule : VP.ImageRule
82
83 IBC.IssueLabelDecorationRule : VP.LabelDecorationRule
84 IBC.IssueImageDecorationRule : VP.ImageDecorationRule
85 IBC.IssueContextDropAction : ACT.DropAction
86 IBC.UserIssueTest : VP.Test
87
88 // Browse context
89 IBC
90     // Structure
91     @VP.customChildRule PROJECT.Project 
92         _ : IBC.SeverityFolderRule
93             IBC.SeverityFolderRule.HasSeverity ISSUE.Severity.Note
94         IBC.NoteFolder
95     @VP.customChildRule PROJECT.Project 
96         _ : IBC.SeverityFolderRule
97             IBC.SeverityFolderRule.HasSeverity ISSUE.Severity.Fatal
98         IBC.FatalFolder
99     @VP.customChildRule PROJECT.Project 
100         _ : IBC.SeverityFolderRule
101             IBC.SeverityFolderRule.HasSeverity ISSUE.Severity.Error
102         IBC.ErrorFolder
103     @VP.customChildRule PROJECT.Project 
104         _ : IBC.SeverityFolderRule
105             IBC.SeverityFolderRule.HasSeverity ISSUE.Severity.Warning
106         IBC.WarningFolder
107     @VP.customChildRule PROJECT.Project 
108         _ : IBC.SeverityFolderRule
109             IBC.SeverityFolderRule.HasSeverity ISSUE.Severity.Info
110         IBC.InfoFolder
111     @VP.customChildRule PROJECT.Project
112         IBC.DynamicIssueSourceRule
113         IBC.DynamicIssueHierarchyNode
114     
115     // Content
116     @VP.customChildRule IBC.FatalFolder 
117         _ : IBC.SeverityChildRule
118             IBC.SeverityChildRule.HasSeverity ISSUE.Severity.Fatal
119         IBC.Issue
120     @VP.customChildRule IBC.ErrorFolder 
121         _ : IBC.SeverityChildRule
122             IBC.SeverityChildRule.HasSeverity ISSUE.Severity.Error
123         IBC.Issue
124     @VP.customChildRule IBC.WarningFolder 
125         _ : IBC.SeverityChildRule
126             IBC.SeverityChildRule.HasSeverity ISSUE.Severity.Warning
127         IBC.Issue
128     @VP.customChildRule IBC.InfoFolder 
129         _ : IBC.SeverityChildRule
130             IBC.SeverityChildRule.HasSeverity ISSUE.Severity.Info
131         IBC.Issue
132     @VP.customChildRule IBC.NoteFolder 
133         _ : IBC.SeverityChildRule
134             IBC.SeverityChildRule.HasSeverity ISSUE.Severity.Note
135         IBC.Issue
136     @VP.customChildRule IBC.DynamicIssueHierarchyNode
137         IBC.DynamicIssueSourceHierarchyRule
138         IBC.DynamicIssueHierarchyNode
139     
140     // Labels
141     @VP.customLabelRule IBC.FatalFolder 
142         _ : IBC.SeverityFolderLabelRule
143             IBC.SeverityFolderLabelRule.HasSeverity ISSUE.Severity.Fatal
144     @VP.customLabelRule IBC.ErrorFolder 
145         _ : IBC.SeverityFolderLabelRule
146             IBC.SeverityFolderLabelRule.HasSeverity ISSUE.Severity.Error
147     @VP.customLabelRule IBC.WarningFolder 
148         _ : IBC.SeverityFolderLabelRule
149             IBC.SeverityFolderLabelRule.HasSeverity ISSUE.Severity.Warning
150     @VP.customLabelRule IBC.InfoFolder 
151         _ : IBC.SeverityFolderLabelRule
152             IBC.SeverityFolderLabelRule.HasSeverity ISSUE.Severity.Info
153     @VP.customLabelRule IBC.NoteFolder 
154         _ : IBC.SeverityFolderLabelRule
155             IBC.SeverityFolderLabelRule.HasSeverity ISSUE.Severity.Note
156     @VP.customLabelRule IBC.Issue IBC.IssueLabelRule
157     @VP.customLabelRule IBC.DynamicIssueHierarchyNode IBC.IssueLabelRule
158     @VP.customVisualsRuleWithPriorityAndTest IBC.Issue VP.VariableLabelModifierRule  1.0 IBC.UserIssueTest
159     @VP.customLabelDecorationRule IBC.Issue IBC.IssueLabelDecorationRule
160     @VP.customLabelDecorationRule IBC.DynamicIssueHierarchyNode IBC.IssueLabelDecorationRule
161     
162     // Images
163     @VP.constantImageRule IBC.FatalFolder SILK.bomb
164     @VP.constantImageRule IBC.ErrorFolder SILK.exclamation
165     @VP.constantImageRule IBC.WarningFolder SILK.error
166     @VP.constantImageRule IBC.InfoFolder SILK.information
167     @VP.constantImageRule IBC.NoteFolder SILK.note
168     @VP.constantImageRule IBC.UnknownFolder SILK.help
169     @VP.customImageRule IBC.Issue IBC.IssueImageRule
170     @VP.customImageRule IBC.DynamicIssueHierarchyNode IBC.IssueImageRule
171     
172     // Drop actions
173     @VP.dropActionContribution ISSUE.Issue IBC.IssueContextDropAction 1.0
174
175 // Action context for context menu
176 IAC = UI.ActionContext : VP.BrowseContext
177     // Set severity
178     @VP.actionContribution "Fatal" IBC.Issue SILK.bomb ACTIONS.SeverityActionCategory 
179         _ : ACTIONS.SetSeverityAction
180             ACTIONS.SetSeverityAction.HasSeverity ISSUE.Severity.Fatal
181     @VP.actionContribution "Error" IBC.Issue SILK.exclamation ACTIONS.SeverityActionCategory 
182         _ : ACTIONS.SetSeverityAction
183             ACTIONS.SetSeverityAction.HasSeverity ISSUE.Severity.Error
184     @VP.actionContribution "Warning" IBC.Issue SILK.error ACTIONS.SeverityActionCategory 
185         _ : ACTIONS.SetSeverityAction
186             ACTIONS.SetSeverityAction.HasSeverity ISSUE.Severity.Warning
187     @VP.actionContribution "Info" IBC.Issue SILK.information ACTIONS.SeverityActionCategory 
188         _ : ACTIONS.SetSeverityAction
189             ACTIONS.SetSeverityAction.HasSeverity ISSUE.Severity.Info
190     @VP.actionContribution "Note" IBC.Issue SILK.note ACTIONS.SeverityActionCategory 
191         _ : ACTIONS.SetSeverityAction
192             ACTIONS.SetSeverityAction.HasSeverity ISSUE.Severity.Note
193     @VP.actionContribution "Resolve" IBC.Issue SILK.tick VP.EditActionCategory 
194         ACTIONS.Resolve : ACT.Action
195     @VP.actionContribution "Unresolve" IBC.Issue SILK.lightbulb_off VP.EditActionCategory 
196         ACTIONS.Unresolve : ACT.Action
197     @VP.actionContribution "Hide" IBC.Issue SILK.shading VP.EditActionCategory ACTIONS.Hide
198     @VP.actionContribution "Hide" IBC.DynamicIssueHierarchyNode SILK.shading VP.EditActionCategory ACTIONS.Hide
199     @VP.actionContribution "Unhide" IBC.Issue SILK.shading VP.EditActionCategory ACTIONS.Unhide
200     @VP.actionContribution "Unhide" IBC.DynamicIssueHierarchyNode SILK.shading VP.EditActionCategory ACTIONS.Unhide
201     @VP.actionContribution "Help" IBC.Issue SILK.help VP.EditActionCategory ACTIONS.Help
202     @VP.actionContribution "Help" IBC.DynamicIssueHierarchyNode SILK.help VP.EditActionCategory ACTIONS.Help
203
204 //--------------------------------------------------------------------------
205 // Batch Issue Source Browse context
206
207 BISBC = UI.BatchIssueSourceBrowseContext : VP.BrowseContext
208
209 // Rules
210 //BISBC.IssueSourceRule : VP.ChildRule
211 //BISBC.IssueSourceLabelRule : VP.LabelRule
212 BISBC.IssueSourceCheckRule : VP.CheckedStateRule
213
214 // UIpoint
215 BISBC
216     @VP.relationChildRule         SIMU.Model   L0.ConsistsOf ISSUE.IssueSource
217     @VP.customLabelRule           ISSUE.IssueSource VP.ResourceLabelLabelRule
218     @VP.customCheckedStateRule    ISSUE.IssueSource BISBC.IssueSourceCheckRule
219
220
221 //--------------------------------------------------------------------------
222 // Issue view UI definitions
223
224 UI.IssueView.Description 
225     @VIEWS.Explorer.Column.full "single" "Description" "LEFT" 150 "Description" true 1
226 UI.IssueView.Resource 
227     @VIEWS.Explorer.Column.full "Resource" "Resource" "LEFT" 60 "Resource" false 1
228 UI.IssueView.Path 
229     @VIEWS.Explorer.Column.full "Path" "Path" "LEFT" 150 "Path" false 1
230
231 UI.IssueView.BatchColumn
232     @VIEWS.Explorer.Column.full "single" "Validations" "LEFT" 150 "Validations" true 1
233
234 UI.IssueView : VIEWS.TabFolder
235     VIEWS.Control.layoutData _ : VIEWS.GridLayout.GridData
236         VIEWS.GridLayout.GridData.horizontalGrab true
237         VIEWS.GridLayout.GridData.verticalGrab true
238     SG.Node.children _ : L0.List
239         @L0.list
240             UI.IssueView.Active : VIEWS.Composite
241                 SG.Node.children _ : L0.List
242                     @L0.list
243                         UI.IssueView.Active.Explorer : VIEWS.Explorer
244                             @VIEWS.Control.style2 VIEWS.Control.Style.Constant.FullSelection VIEWS.Control.Style.Constant.Multi 
245                             VIEWS.Explorer.input VIEWS.Functions.singleResourceSelection
246                             VIEWS.Control.layoutData _ : VIEWS.GridLayout.GridData
247                                 VIEWS.GridLayout.GridData.horizontalGrab true
248                                 VIEWS.GridLayout.GridData.verticalGrab true
249                             VIEWS.Explorer.columns _ : VIEWS.Explorer.ColumnList
250                                 @L0.list
251                                     UI.IssueView.Description
252                                     UI.IssueView.Resource
253                                     UI.IssueView.Path
254                             VIEWS.Explorer.persistor MOD.Functions.standardPersistor
255                             VIEWS.Explorer.browseContext _ : VIEWS.ResourceURI
256                               VIEWS.ResourceURI.HasResource IBC
257             UI.IssueView.Batch : VIEWS.Composite
258                 SG.Node.children _ : L0.List
259                     @L0.list
260                         UI.IssueView.Batch.Explorer : VIEWS.Explorer
261                             @VIEWS.Control.style2 VIEWS.Control.Style.Constant.FullSelection VIEWS.Control.Style.Constant.Check
262                             VIEWS.Explorer.input UI.Functions.activeModel : L0.Function
263                               L0.HasValueType "a"
264                             VIEWS.Explorer.selectionListener UI.Functions.issueSourceSelected : L0.Function
265                               L0.HasValueType "a -> Boolean"
266                             VIEWS.Control.layoutData _ : VIEWS.GridLayout.GridData
267                                 VIEWS.GridLayout.GridData.horizontalGrab true
268                                 VIEWS.GridLayout.GridData.verticalGrab true
269                             VIEWS.Explorer.columns _ : VIEWS.Explorer.ColumnList
270                                 @L0.list
271                                     UI.IssueView.BatchColumn
272                             VIEWS.Explorer.browseContext _ : VIEWS.ResourceURI
273                               VIEWS.ResourceURI.HasResource BISBC