]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling/scl/Simantics/Issue.scl
Improvements to constraint-based issues
[simantics/platform.git] / bundles / org.simantics.modeling / scl / Simantics / Issue.scl
1 include "Simantics/Entity" hiding (nameOf)
2 import "Simantics/Model"
3 import "UI/Progress"
4 import "http://www.simantics.org/Issue-1.2" as ISSUE
5
6 type Issue = Resource
7 type Severity = Resource
8
9 issuesOf :: Model -> <ReadGraph> [Issue]
10 issuesOf model = recurse ISSUE.Issue model
11   where
12     recurse t r = do
13         cs = children r
14         issues = filter isIssue cs
15         issueGrp = filter (not . isIssue) cs
16         issues + concatMap (recurse t) issueGrp
17     isIssue r = isInstanceOf r ISSUE.Issue
18
19 importJava "org.simantics.issues.common.IssueUtils" where
20     @JavaName newUserIssueForModel
21     newUserIssueForModel :: Model -> String -> Severity -> [Resource] -> <WriteGraph> Issue
22
23 userIssueAdvanced :: Model -> String -> Severity -> [Resource] -> <WriteGraph> Issue
24 userIssueAdvanced model label severity contexts = do
25     newUserIssueForModel model label severity contexts
26
27 importJava "org.simantics.issues.common.IssueUtils" where
28     @JavaName newUserIssueForModel
29     userIssue :: () -> <WriteGraph> Issue
30
31 importJava "org.simantics.db" where
32     @JavaName Issue
33     data IssueI
34
35 importJava "org.simantics.db.layer0.validation.ValidationUtils" where
36   @JavaName validateConstraintsForDomain
37   validateDomain :: Resource -> <ReadGraph> [IssueI]
38
39 importJava "org.simantics.modeling.utils.BatchValidations" where
40   @JavaName runAll
41   runAllBatchValidations :: ProgressMonitor -> Resource -> Resource -> <Proc> ()
42
43 importJava "org.simantics.issues.common.RunActiveValidations" where
44   @JavaName run
45   runActiveValidations :: ProgressMonitor -> Resource -> <Proc> ()