• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

moosetechnology / MooseIDE / 17938860495

23 Sep 2025 07:28AM UTC coverage: 66.75% (+0.4%) from 66.37%
17938860495

push

github

web-flow
Merge pull request #1423 from moosetechnology/a-good-cleaning

New settings implementation

2683 of 3100 new or added lines in 117 files covered. (86.55%)

105 existing lines in 29 files now uncovered.

20400 of 30562 relevant lines covered (66.75%)

1.33 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

85.86
/src/MooseIDE-Core/MiAbstractModel.class.st
1
"
2
An abstract model class for all MooseIDE browsers
3
IT knows its browser and have some default behavior implemented (e.g. to manage settings)
4
"
5
Class {
6
        #name : 'MiAbstractModel',
7
        #superclass : 'Object',
8
        #instVars : [
9
                'browser',
10
                'selectedTag'
11
        ],
12
        #category : 'MooseIDE-Core-Browser',
13
        #package : 'MooseIDE-Core',
14
        #tag : 'Browser'
15
}
16

17
{ #category : 'accessing' }
18
MiAbstractModel >> browser [
2✔
19

2✔
20
        ^ browser
2✔
21
]
2✔
22

23
{ #category : 'accessing' }
24
MiAbstractModel >> browser: anObject [
2✔
25

2✔
26
        browser := anObject.
2✔
27
        self initializeSettings
2✔
28
]
2✔
29

30
{ #category : 'accessing' }
31
MiAbstractModel >> currentApplication [
2✔
32

2✔
33
        ^ browser application
2✔
34
]
2✔
35

36
{ #category : 'settings management' }
37
MiAbstractModel >> currentConfiguration [
38
        "Override to configure with current settings values"
39

40
        self subclassResponsibility
41
]
42

43
{ #category : 'accessing' }
44
MiAbstractModel >> currentMooseModel [
2✔
45

2✔
46
        self entities isEmptyOrNil ifTrue: [ ^ nil ].
2✔
47

2✔
48
        ^ self entities anyOne mooseModel
2✔
49
]
2✔
50

51
{ #category : 'accessing' }
52
MiAbstractModel >> defaultChildrenQuery [
2✔
53

2✔
54
        ^ self currentApplication defaultChildrenQuery
2✔
55
]
2✔
56

57
{ #category : 'settings management' }
58
MiAbstractModel >> defaultConfiguration [
59
        "Override to configure with default settings values"
60

61
        self subclassResponsibility
62
]
63

64
{ #category : 'accessing' }
NEW
65
MiAbstractModel >> doubleClickAction [
×
NEW
66
        self shouldBeImplemented.
×
UNCOV
67
]
×
68

69
{ #category : 'accessing' }
70
MiAbstractModel >> entities [
71
        self subclassResponsibility 
72
]
73

74
{ #category : 'testing' }
75
MiAbstractModel >> hasSettings [
2✔
76

2✔
77
        ^ false
2✔
78
]
2✔
79

80
{ #category : 'initialization' }
81
MiAbstractModel >> initializeSettings [
2✔
82

2✔
83
        "Override if necessary"
2✔
84
]
2✔
85

86
{ #category : 'accessing' }
87
MiAbstractModel >> miSelectedItem [
88

89
        self subclassResponsibility
90
]
91

92
{ #category : 'settings management' }
93
MiAbstractModel >> openSettings [
2✔
94

2✔
95
        ^ (MiSettingsPresenter on: self) openDialog
2✔
96
]
2✔
97

98
{ #category : 'tagging' }
99
MiAbstractModel >> privateRemoveTag: aTag fromEntity: aMooseEntity [
2✔
100
        "should find the corresponding TagAssociation and remove it and return it
2✔
101
         does nothing for now"
2✔
102
        
2✔
103
        self flag: #FIXME.
2✔
104
        ^FamixTagEntityAssociation
2✔
105
                new
2✔
106
]
2✔
107

108
{ #category : 'tagging' }
109
MiAbstractModel >> privateSetTag: aTag onEntity: aMooseEntity [
2✔
110

2✔
111
        ^FamixTagEntityAssociation
2✔
112
                newForEntity: aMooseEntity
2✔
113
                tag: aTag.
2✔
114
        
2✔
115
]
2✔
116

117
{ #category : 'tagging' }
118
MiAbstractModel >> selectedTag [
2✔
119

2✔
120
        ^ selectedTag
2✔
121
]
2✔
122

123
{ #category : 'tagging' }
124
MiAbstractModel >> selectedTag: aTag [
2✔
125

2✔
126
        selectedTag := aTag
2✔
127
]
2✔
128

129
{ #category : 'settings management' }
130
MiAbstractModel >> settingsPresenterExtent [
2✔
131
        "Override to set a custom size"
2✔
132

2✔
133
        ^ 350 @ 300
2✔
134
]
2✔
135

136
{ #category : 'tagging' }
137
MiAbstractModel >> tagEntity: aMooseEntity with: aTag [
2✔
138

2✔
139
        | tagAssociation |
2✔
140
        (aTag = aMooseEntity) ifTrue: [ ^ self ].
2✔
141
        
2✔
142
        aTag
2✔
143
                ifNil: [
2✔
144
                        tagAssociation := self privateRemoveTag: aTag fromEntity: aMooseEntity.
2✔
145
                        browser application removeItem: tagAssociation ]
2✔
146
                ifNotNil: [
2✔
147
                        tagAssociation := self privateSetTag: aTag onEntity: aMooseEntity.
2✔
148
                        browser application consumeItem: tagAssociation ].
2✔
149

2✔
150
]
2✔
151

152
{ #category : 'tagging' }
153
MiAbstractModel >> tagList [
2✔
154

2✔
155
        ^self currentApplication tagListForMooseModel: self currentMooseModel 
2✔
156
]
2✔
157

158
{ #category : 'tagging' }
159
MiAbstractModel >> tagSelectedEntities [
×
160

×
161
        | tag entity |
×
162
        (tag := self selectedTag) ifNil: [ ^self ].
×
163
        (entity := self miSelectedItem) ifNil: [ ^self ].
×
164

×
165
        entity isCollection
×
166
                ifTrue: [ entity do: [:each | self tagEntity: each with: tag] ]
×
167
                ifFalse: [ self tagEntity: entity with: tag ].
×
168

×
169
]
×
170

171
{ #category : 'accessing' }
172
MiAbstractModel >> toolName [
2✔
173

2✔
174
        ^ browser title
2✔
175
]
2✔
176

177
{ #category : 'settings management' }
178
MiAbstractModel >> updateFromConfiguration: aConfiguration [
179
        "Override to update"
180

181
        self subclassResponsibility
182
]
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc