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

moosetechnology / MooseIDE / 20173708639

12 Dec 2025 04:49PM UTC coverage: 65.227% (-0.02%) from 65.249%
20173708639

Pull #1556

github

web-flow
Merge 1e5355db3 into c709fd19e
Pull Request #1556: Fix Distribution map settings

11 of 15 new or added lines in 2 files covered. (73.33%)

6 existing lines in 2 files now uncovered.

21707 of 33279 relevant lines covered (65.23%)

1.3 hits per line

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

81.73
/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
        | anyEntity |
2✔
47
        self entities isEmptyOrNil ifTrue: [ ^ nil ].
2✔
48

2✔
49
        anyEntity := self entities anyOne.
2✔
50
        ^ anyEntity isMooseModel
2✔
51
                  ifTrue: [ anyEntity ]
2✔
52
                  ifFalse: [ anyEntity mooseModel ]
2✔
53
]
2✔
54

55
{ #category : 'accessing' }
56
MiAbstractModel >> defaultChildrenQuery [
2✔
57

2✔
58
        ^ self currentApplication defaultChildrenQuery
2✔
59
]
2✔
60

61
{ #category : 'settings management' }
62
MiAbstractModel >> defaultConfiguration [
63
        "Override to configure with default settings values"
64

65
        self subclassResponsibility
66
]
67

68
{ #category : 'accessing' }
69
MiAbstractModel >> doubleClickAction [
×
70
        self shouldBeImplemented.
×
71
]
×
72

73
{ #category : 'accessing' }
74
MiAbstractModel >> entities [
75
        self subclassResponsibility 
76
]
77

78
{ #category : 'testing' }
79
MiAbstractModel >> hasSettings [
2✔
80

2✔
81
        ^ false
2✔
82
]
2✔
83

84
{ #category : 'initialization' }
85
MiAbstractModel >> initializeSettings [
2✔
86

2✔
87
        "Override if necessary"
2✔
88
]
2✔
89

90
{ #category : 'accessing' }
91
MiAbstractModel >> miSelectedItem [
92

93
        self subclassResponsibility
94
]
95

96
{ #category : 'settings management' }
97
MiAbstractModel >> openSettings [
2✔
98

2✔
99
        ^ (MiSettingsPresenter on: self) openDialog
2✔
100
]
2✔
101

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

112
{ #category : 'tagging' }
113
MiAbstractModel >> privateSetTag: aTag onEntity: aMooseEntity [
2✔
114

2✔
115
        ^FamixTagEntityAssociation
2✔
116
                newForEntity: aMooseEntity
2✔
117
                tag: aTag.
2✔
118
        
2✔
119
]
2✔
120

121
{ #category : 'tagging' }
122
MiAbstractModel >> selectedTag [
2✔
123

2✔
124
        ^ selectedTag
2✔
125
]
2✔
126

127
{ #category : 'tagging' }
128
MiAbstractModel >> selectedTag: aTag [
2✔
129

2✔
130
        selectedTag := aTag
2✔
131
]
2✔
132

133
{ #category : 'settings management' }
UNCOV
134
MiAbstractModel >> settingsPresenterExtent [
×
UNCOV
135
        "Override to set a custom size"
×
UNCOV
136

×
UNCOV
137
        ^ 350 @ 300
×
UNCOV
138
]
×
139

140
{ #category : 'tagging' }
141
MiAbstractModel >> tagEntity: aMooseEntity with: aTag [
2✔
142

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

2✔
154
]
2✔
155

156
{ #category : 'tagging' }
157
MiAbstractModel >> tagList [
2✔
158

2✔
159
        ^ self currentApplication tagListForMooseModel:
2✔
160
                  self currentMooseModel
2✔
161
]
2✔
162

163
{ #category : 'tagging' }
164
MiAbstractModel >> tagSelectedEntities [
×
165

×
166
        | tag entity |
×
167
        (tag := self selectedTag) ifNil: [ ^self ].
×
168
        (entity := self miSelectedItem) ifNil: [ ^self ].
×
169

×
170
        entity isCollection
×
171
                ifTrue: [ entity do: [:each | self tagEntity: each with: tag] ]
×
172
                ifFalse: [ self tagEntity: entity with: tag ].
×
173

×
174
]
×
175

176
{ #category : 'accessing' }
177
MiAbstractModel >> toolName [
2✔
178

2✔
179
        ^ browser title
2✔
180
]
2✔
181

182
{ #category : 'settings management' }
183
MiAbstractModel >> updateFromConfiguration: aConfiguration [
184
        "Override to update"
185

186
        self subclassResponsibility
187
]
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