forked from bonzini/gst-visualgst
-
Notifications
You must be signed in to change notification settings - Fork 0
/
GtkClassSUnitWidget.st
64 lines (45 loc) · 1.56 KB
/
GtkClassSUnitWidget.st
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
GtkCategorizedClassWidget subclass: GtkClassSUnitWidget [
addToModel: aClass [
(aClass superclass environment == self namespace and: [ (aClass superclass category = self category or: [ self category isEmpty ]) and: [ aClass superclass ~~ Smalltalk.TestCase ] ])
ifFalse: [ model append: aClass class ]
ifTrue: [ model append: aClass class parent: aClass superclass class ]
]
root [
<category: 'accessing'>
^ Smalltalk.TestCase
]
selectionMode [
<category: 'accessing'>
^ GTK.Gtk gtkSelectionMultiple
]
allClassNames [
<category: 'accessing'>
| classes names |
classes := self selectedClasses.
names := classes collect: [ :each | each name asString ].
^ names fold: [ :a :b | a, ', ', b ]
]
hasSelectedClass [
<category: 'testing'>
^ (classesTree treeView getSelection getSelectedRows: nil) ~= nil
]
selectedClass [
<category: 'accessing'>
^ self selectedClasses first
]
selectedClasses [
<category: 'accessing'>
self hasSelectedClass ifFalse: [ self error: 'Nothing is selected' ].
^ classesTree treeView selections collect: [:each| each asClass]
]
recategorizedEvent: anEvent [
<category: 'model event'>
(anEvent item inheritsFrom: TestCase) ifFalse: [ ^ self ].
super recategorizedEvent: anEvent
]
addEvent: anEvent [
<category: 'model event'>
(anEvent item inheritsFrom: TestCase) ifFalse: [ ^ self ].
super addEvent: anEvent
]
]