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

moosetechnology / MooseIDE / 18165837346

01 Oct 2025 02:39PM UTC coverage: 66.941% (+0.08%) from 66.86%
18165837346

push

github

web-flow
Merge pull request #1439 from moosetechnology/1421-tag-browser-tag-creation-should-open-a-popup

1421 tag browser tag creation should open a popup

fix #1421

237 of 263 new or added lines in 10 files covered. (90.11%)

33 existing lines in 4 files now uncovered.

20585 of 30751 relevant lines covered (66.94%)

1.34 hits per line

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

69.48
/src/MooseIDE-Tagging/MiTagBrowser.class.st
1
"
2
A tool to manage tags
3

4
Allows to create new tag, give them name, put them in a hierarchy of tags, give them a color, and of course add or remove entities carrying a tag.
5

6
Accepted entities: a MooseObject.
7

8
"
9
Class {
10
        #name : 'MiTagBrowser',
11
        #superclass : 'MiAbstractBrowser',
12
        #instVars : [
13
                'tagManagementPage'
14
        ],
15
        #category : 'MooseIDE-Tagging-Browser',
16
        #package : 'MooseIDE-Tagging',
17
        #tag : 'Browser'
18
}
19

20
{ #category : 'keymaps' }
21
MiTagBrowser class >> browserKey [
×
22

×
23
        ^ $t
×
24
]
×
25

26
{ #category : 'world menu' }
27
MiTagBrowser class >> menuCommandOn: aBuilder [
×
28

×
29
        <worldMenu>
×
30
        <miBrowsersMenu>
×
31
        ^ self buildMenuItemIn: aBuilder
×
32
]
×
33

34
{ #category : 'world menu' }
35
MiTagBrowser class >> menuItem [
×
36

×
37
        ^ #FilesBrowser
×
38
]
×
39

40
{ #category : 'world menu' }
41
MiTagBrowser class >> menuPriority [
×
42

×
43
        ^ self menuMainToolsPriority + 4
×
44
]
×
45

46
{ #category : 'instance creation' }
47
MiTagBrowser class >> mostRecentModel [
×
48

×
49
        ^ self currentApplication defaultBus logger mostRecentEntity
×
50
                  ifNotNil: [ :entity | entity mooseModel ]
×
51
                  ifNil: [ MooseModel new ]
×
52
]
×
53

54
{ #category : 'instance creation' }
55
MiTagBrowser class >> newModel [
2✔
56

2✔
57
        ^ MiTagBrowserModel new
2✔
58
]
2✔
59

60
{ #category : 'instance creation' }
61
MiTagBrowser class >> open [
×
62

×
63
        <script>
×
64
        ^ super open
×
65
]
×
66

67
{ #category : 'specs' }
68
MiTagBrowser class >> preferredExtent [
2✔
69

2✔
70
        ^ 700 @ 475
2✔
71
]
2✔
72

73
{ #category : 'specs' }
74
MiTagBrowser class >> title [
2✔
75

2✔
76
        ^ 'Tag browser'
2✔
77
]
2✔
78

79
{ #category : 'initialization' }
80
MiTagBrowser >> browserClosed [
2✔
81

2✔
82
        super browserClosed.
2✔
83

2✔
84
        application unregisterProducer: self.
2✔
85
        application unregisterConsumer: self
2✔
86
]
2✔
87

88
{ #category : 'testing' }
89
MiTagBrowser >> canFollowEntity: anObject [
2✔
90

2✔
91
        ^ anObject isMooseObject
2✔
92
]
2✔
93

94
{ #category : 'testing' }
95
MiTagBrowser >> canTagEntities [
2✔
96
        "tagging done in the browser main window, not through the toolbar"
2✔
97

2✔
98
        ^false
2✔
99
]
2✔
100

101
{ #category : 'testing' }
102
MiTagBrowser >> consume: anObject [
2✔
103
        anObject class = FamixTag ifTrue: [ 
2✔
104
                tagManagementPage refreshTagList
2✔
105
        ].
2✔
106
        
2✔
107
        anObject class = FamixTagAssociation ifTrue: [ 
2✔
108
                specModel currentTag = anObject tag 
2✔
109
                        ifTrue: [ tagManagementPage refreshTaggedEntitiesList ] ]
2✔
110
]
2✔
111

112
{ #category : 'accessing' }
113
MiTagBrowser >> descriptionPage [
2✔
114

2✔
115
        ^ tagManagementPage descriptionPage
2✔
116
]
2✔
117

118
{ #category : 'actions' }
119
MiTagBrowser >> followEntity: anEntity [
2✔
120

2✔
121
        specModel entities: anEntity asMooseGroup.
2✔
122
        specModel mooseModel
2✔
123
                ifNil: [ self showNoMooseModel ].
2✔
124
        tagManagementPage refresh
2✔
125
]
2✔
126

127
{ #category : 'initialization' }
128
MiTagBrowser >> initialize [
2✔
129

2✔
130
        super initialize.
2✔
131
        application registerProducer: self for: MiDynamicTag.
2✔
132
        application registerProducer: self for: FamixTag.
2✔
133
        application registerConsumer: self for: FamixTag.
2✔
134
        application registerConsumer: self for: FamixTagAssociation.
2✔
135
]
2✔
136

137
{ #category : 'initialization' }
138
MiTagBrowser >> initializeLayout [
2✔
139

2✔
140
        self layout: (SpScrollableLayout with: tagManagementPage).
2✔
141
        "At start browser has no moose model"
2✔
142
        self showNoMooseModel
2✔
143
        
2✔
144
]
2✔
145

146
{ #category : 'initialization' }
147
MiTagBrowser >> initializePresenters [
2✔
148

2✔
149
        tagManagementPage := MiTagManagementPage newApplication: self application owner: self model: specModel.
2✔
150

2✔
151
        self initializeLayout
2✔
152
]
2✔
153

154
{ #category : 'brokerage' }
155
MiTagBrowser >> itemsFor: aClass [
×
156

×
157
        aClass = MiDynamicTag ifTrue: [ ^ specModel dynamicTags ].
×
158
        aClass = FamixTag ifTrue: [ ^ specModel allTags ].
×
159
        ^ #(  )
×
160
]
×
161

162
{ #category : 'accessing' }
163
MiTagBrowser >> miSelectedItem [
2✔
164

2✔
165
        ^ specModel miSelectedItem
2✔
166
]
2✔
167

168
{ #category : 'testing' }
169
MiTagBrowser >> newTagSelected [
2✔
170

2✔
171
        self updateToolbar
2✔
172
]
2✔
173

174
{ #category : 'initialization' }
175
MiTagBrowser >> openTagCreationForm [
2✔
176
        "returning the MiTagCreationForm allows to test it"
2✔
177

2✔
178
        ^MiTagCreationForm new 
2✔
179
                tagBrowser: self ;
2✔
180
                open ;
2✔
181
                yourself
2✔
182
]
2✔
183

184
{ #category : 'initialization' }
185
MiTagBrowser >> openTagEditionForm [
×
NEW
186
        "returning the MiTagCreationForm allows to test it"
×
187

×
NEW
188
        ^MiTagEditionForm new 
×
NEW
189
                tagBrowser: self ;
×
NEW
190
                open ;
×
NEW
191
                yourself
×
UNCOV
192
]
×
193

194
{ #category : 'accessing' }
195
MiTagBrowser >> refreshDescriptionPage [
×
196

×
197
        tagManagementPage refreshDescriptionPage
×
198
]
×
199

200
{ #category : 'refreshing' }
201
MiTagBrowser >> refreshTagList [
2✔
202

2✔
203
        tagManagementPage refreshTagList
2✔
204
]
2✔
205

206
{ #category : 'testing' }
207
MiTagBrowser >> remove: aTagAssociation [
2✔
208

2✔
209
        tagManagementPage refreshTaggedEntitiesList 
2✔
210
]
2✔
211

212
{ #category : 'initialization' }
213
MiTagBrowser >> setTagTo: aTag [
2✔
214

2✔
215
        self specModel currentTag: aTag.
2✔
216
        self updateToolbar
2✔
217
]
2✔
218

219
{ #category : 'initialization' }
220
MiTagBrowser >> showNoMooseModel [
2✔
221

2✔
222
        tagManagementPage showNoMooseModel 
2✔
223
]
2✔
224

225
{ #category : 'accessing' }
226
MiTagBrowser >> tagManagementPage [
2✔
227
        "see `MiTagManagementPage` : left part of the browser allowing to create, select, or remove tags"
2✔
228

2✔
229
        ^ tagManagementPage
2✔
230
]
2✔
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