resin 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/amber/css/amber-normalize.css +73 -73
- data/amber/css/amber-normalize.less +1 -1
- data/amber/css/amber.css +106 -106
- data/amber/css/helios.css +242 -0
- data/amber/images/hsplitter.png +0 -0
- data/amber/images/vsplitter.png +0 -0
- data/amber/js/Benchfib.deploy.js +116 -38
- data/amber/js/Benchfib.js +120 -42
- data/amber/js/Canvas.deploy.js +674 -403
- data/amber/js/Canvas.js +682 -411
- data/amber/js/Compiler-AST.deploy.js +1150 -0
- data/amber/js/Compiler-AST.js +1591 -0
- data/amber/js/Compiler-Core.deploy.js +1562 -0
- data/amber/js/Compiler-Core.js +1972 -0
- data/amber/js/Compiler-Exceptions.deploy.js +114 -0
- data/amber/js/Compiler-Exceptions.js +161 -0
- data/amber/js/Compiler-IR.deploy.js +2326 -0
- data/amber/js/Compiler-IR.js +3146 -0
- data/amber/js/Compiler-Inlining.deploy.js +1147 -0
- data/amber/js/Compiler-Inlining.js +1514 -0
- data/amber/js/Compiler-Semantic.deploy.js +1207 -0
- data/amber/js/Compiler-Semantic.js +1628 -0
- data/amber/js/Compiler-Tests.deploy.js +646 -60
- data/amber/js/Compiler-Tests.js +843 -82
- data/amber/js/Compiler.deploy.js +1097 -159
- data/amber/js/Compiler.js +1414 -161
- data/amber/js/Examples.deploy.js +31 -15
- data/amber/js/Examples.js +33 -17
- data/amber/js/Helios-Announcements.deploy.js +127 -0
- data/amber/js/Helios-Announcements.js +157 -0
- data/amber/js/Helios-Browser.deploy.js +1473 -0
- data/amber/js/Helios-Browser.js +1953 -0
- data/amber/js/Helios-Commands.deploy.js +403 -0
- data/amber/js/Helios-Commands.js +563 -0
- data/amber/js/Helios-Core.deploy.js +1070 -0
- data/amber/js/Helios-Core.js +1445 -0
- data/amber/js/Helios-Environments.deploy.js +132 -0
- data/amber/js/Helios-Environments.js +179 -0
- data/amber/js/Helios-Inspector.deploy.js +855 -0
- data/amber/js/Helios-Inspector.js +1155 -0
- data/amber/js/Helios-KeyBindings.deploy.js +753 -0
- data/amber/js/Helios-KeyBindings.js +1023 -0
- data/amber/js/Helios-Layout.deploy.js +383 -0
- data/amber/js/Helios-Layout.js +523 -0
- data/amber/js/Helios-Workspace.deploy.js +799 -0
- data/amber/js/Helios-Workspace.js +1074 -0
- data/amber/js/IDE.deploy.js +2541 -1490
- data/amber/js/IDE.js +2721 -1660
- data/amber/js/Importer-Exporter.deploy.js +671 -0
- data/amber/js/Importer-Exporter.js +816 -0
- data/amber/js/Kernel-Announcements.deploy.js +137 -20
- data/amber/js/Kernel-Announcements.js +176 -22
- data/amber/js/Kernel-Classes.deploy.js +555 -168
- data/amber/js/Kernel-Classes.js +662 -205
- data/amber/js/Kernel-Collections.deploy.js +1403 -618
- data/amber/js/Kernel-Collections.js +1545 -690
- data/amber/js/Kernel-Exceptions.deploy.js +109 -45
- data/amber/js/Kernel-Exceptions.js +123 -49
- data/amber/js/Kernel-Methods.deploy.js +196 -81
- data/amber/js/Kernel-Methods.js +214 -89
- data/amber/js/Kernel-Objects.deploy.js +1542 -1117
- data/amber/js/Kernel-Objects.js +1593 -1148
- data/amber/js/Kernel-Tests.deploy.js +1725 -772
- data/amber/js/Kernel-Tests.js +2301 -1123
- data/amber/js/Kernel-Transcript.deploy.js +23 -25
- data/amber/js/Kernel-Transcript.js +24 -26
- data/amber/js/SUnit.deploy.js +204 -131
- data/amber/js/SUnit.js +222 -139
- data/amber/js/Spaces.deploy.js +240 -0
- data/amber/js/Spaces.js +326 -0
- data/amber/js/amber.js +26 -7
- data/amber/js/boot.js +65 -47
- data/amber/js/init.js +1 -1
- data/amber/js/lib/CodeMirror/amber.css +21 -21
- data/amber/js/lib/CodeMirror/codemirror.css +119 -13
- data/amber/js/lib/CodeMirror/codemirror.js +2219 -1220
- data/amber/js/lib/CodeMirror/smalltalk.js +134 -129
- data/amber/js/lib/bootstrap/css/bootstrap.css +5837 -0
- data/amber/js/lib/bootstrap/css/bootstrap.min.css +841 -0
- data/amber/js/lib/bootstrap/img/glyphicons-halflings-white.png +0 -0
- data/amber/js/lib/bootstrap/img/glyphicons-halflings.png +0 -0
- data/amber/js/lib/bootstrap/js/bootstrap.js +2038 -0
- data/amber/js/lib/bootstrap/js/bootstrap.min.js +7 -0
- data/amber/js/lib/jQuery/jquery-1.8.2.min.js +2 -0
- data/amber/js/lib/jQuery/jquery-ui-1.8.24.custom.min.js +125 -0
- data/amber/st/Compiler-AST.st +505 -0
- data/amber/st/Compiler-Core.st +835 -0
- data/amber/st/Compiler-Exceptions.st +87 -0
- data/amber/st/Compiler-IR.st +1097 -0
- data/amber/st/Compiler-Inlining.st +650 -0
- data/amber/st/Compiler-Semantic.st +558 -0
- data/amber/st/Compiler-Tests.st +285 -381
- data/amber/st/Compiler.st +725 -2
- data/amber/st/Helios-Announcements.st +104 -0
- data/amber/st/Helios-Browser.st +708 -0
- data/amber/st/Helios-Commands.st +223 -0
- data/amber/st/Helios-Core.st +532 -0
- data/amber/st/Helios-Environments.st +98 -0
- data/amber/st/Helios-Inspector.st +367 -0
- data/amber/st/Helios-KeyBindings.st +337 -0
- data/amber/st/Helios-Layout.st +199 -0
- data/amber/st/Helios-Workspace.st +367 -0
- data/amber/st/IDE.st +75 -53
- data/amber/st/Importer-Exporter.st +386 -0
- data/amber/st/Kernel-Announcements.st +92 -0
- data/amber/st/Kernel-Classes.st +137 -15
- data/amber/st/Kernel-Collections.st +137 -47
- data/amber/st/Kernel-Exceptions.st +14 -0
- data/amber/st/Kernel-Methods.st +9 -1
- data/amber/st/Kernel-Objects.st +29 -5
- data/amber/st/Kernel-Tests.st +545 -199
- data/amber/st/SUnit.st +10 -0
- data/amber/st/Spaces.st +142 -0
- data/lib/resin/app.rb +1 -1
- metadata +86 -31
- data/amber/js/lib/jQuery/jquery-1.4.4.min.js +0 -167
- data/amber/js/lib/jQuery/jquery-1.6.4.min.js +0 -4
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
Smalltalk current createPackage: 'Helios-Environments' properties: #{}!
|
|
2
|
+
Object subclass: #HLEnvironment
|
|
3
|
+
instanceVariableNames: ''
|
|
4
|
+
package: 'Helios-Environments'!
|
|
5
|
+
!HLEnvironment commentStamp!
|
|
6
|
+
Abstract class defining common behavior for local and remote environments!
|
|
7
|
+
|
|
8
|
+
!HLEnvironment methodsFor: 'accessing'!
|
|
9
|
+
|
|
10
|
+
packages
|
|
11
|
+
|
|
12
|
+
^ self subclassResponsibility
|
|
13
|
+
! !
|
|
14
|
+
|
|
15
|
+
!HLEnvironment methodsFor: 'actions'!
|
|
16
|
+
|
|
17
|
+
eval: someCode on: aReceiver
|
|
18
|
+
|
|
19
|
+
^ self subclassResponsibility
|
|
20
|
+
! !
|
|
21
|
+
|
|
22
|
+
HLEnvironment subclass: #HLLocalEnvironment
|
|
23
|
+
instanceVariableNames: ''
|
|
24
|
+
package: 'Helios-Environments'!
|
|
25
|
+
|
|
26
|
+
!HLLocalEnvironment methodsFor: 'accessing'!
|
|
27
|
+
|
|
28
|
+
packages
|
|
29
|
+
|
|
30
|
+
^ Smalltalk current packages
|
|
31
|
+
! !
|
|
32
|
+
|
|
33
|
+
!HLLocalEnvironment methodsFor: 'actions'!
|
|
34
|
+
|
|
35
|
+
eval: someCode on: aReceiver
|
|
36
|
+
| compiler |
|
|
37
|
+
compiler := Compiler new.
|
|
38
|
+
[compiler parseExpression: someCode] on: Error do: [:ex |
|
|
39
|
+
^window alert: ex messageText].
|
|
40
|
+
^(compiler eval: (compiler compile: 'doIt ^[', someCode, '] value' forClass: DoIt)) fn applyTo: aReceiver arguments: #()
|
|
41
|
+
! !
|
|
42
|
+
|
|
43
|
+
HLEnvironment subclass: #HLRemoteEnvironment
|
|
44
|
+
instanceVariableNames: ''
|
|
45
|
+
package: 'Helios-Environments'!
|
|
46
|
+
|
|
47
|
+
!HLRemoteEnvironment methodsFor: 'accessing'!
|
|
48
|
+
|
|
49
|
+
packages
|
|
50
|
+
"Answer the remote environment's packages"
|
|
51
|
+
|
|
52
|
+
"to-do"
|
|
53
|
+
|
|
54
|
+
"Note for future self and friends:
|
|
55
|
+
the problem with remote stuff is that the answers shouldn't be expected to be
|
|
56
|
+
received in a syncrhonous fashion. Everything network is asyc, so you *are going to deal with callbacks* here"
|
|
57
|
+
! !
|
|
58
|
+
|
|
59
|
+
!HLRemoteEnvironment methodsFor: 'actions'!
|
|
60
|
+
|
|
61
|
+
eval: someCode on: aReceiver
|
|
62
|
+
|
|
63
|
+
"Note for future self and friends:
|
|
64
|
+
whatever way this compilation happens on the other side,
|
|
65
|
+
it should return a proxy to the remote resulting object"
|
|
66
|
+
|
|
67
|
+
self notYetImplemented
|
|
68
|
+
! !
|
|
69
|
+
|
|
70
|
+
Object subclass: #HLRemoteObject
|
|
71
|
+
instanceVariableNames: ''
|
|
72
|
+
package: 'Helios-Environments'!
|
|
73
|
+
!HLRemoteObject commentStamp!
|
|
74
|
+
This is a local proxy to a remote object.
|
|
75
|
+
Tipically useful for evaluating and inspecting and interacting with instances of a remote VM.!
|
|
76
|
+
|
|
77
|
+
!HLRemoteObject methodsFor: 'actions'!
|
|
78
|
+
|
|
79
|
+
doesNotUnderstand: aMessage
|
|
80
|
+
|
|
81
|
+
"to-do
|
|
82
|
+
|
|
83
|
+
aham, blah blah
|
|
84
|
+
|
|
85
|
+
super doesNotUnderstand: aMessage"
|
|
86
|
+
!
|
|
87
|
+
|
|
88
|
+
inspectOn: anInspector
|
|
89
|
+
|
|
90
|
+
"to-do"
|
|
91
|
+
|
|
92
|
+
"this is a source of so much fun..."
|
|
93
|
+
!
|
|
94
|
+
|
|
95
|
+
printString
|
|
96
|
+
^ 'this is a remote object'
|
|
97
|
+
! !
|
|
98
|
+
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
Smalltalk current createPackage: 'Helios-Inspector' properties: #{}!
|
|
2
|
+
HLWidget subclass: #HLInspector
|
|
3
|
+
instanceVariableNames: 'model variablesWidget displayWidget codeWidget label'
|
|
4
|
+
package: 'Helios-Inspector'!
|
|
5
|
+
|
|
6
|
+
!HLInspector methodsFor: 'accessing'!
|
|
7
|
+
|
|
8
|
+
codeWidget
|
|
9
|
+
^ codeWidget ifNil: [
|
|
10
|
+
codeWidget := HLCodeWidget new
|
|
11
|
+
model: model code;
|
|
12
|
+
receiver: model inspectee;
|
|
13
|
+
yourself ]
|
|
14
|
+
!
|
|
15
|
+
|
|
16
|
+
displayWidget
|
|
17
|
+
^ displayWidget ifNil: [
|
|
18
|
+
displayWidget := HLInspectorDisplayWidget new
|
|
19
|
+
model: self model;
|
|
20
|
+
yourself ]
|
|
21
|
+
!
|
|
22
|
+
|
|
23
|
+
inspectee
|
|
24
|
+
^ self model inspectee
|
|
25
|
+
!
|
|
26
|
+
|
|
27
|
+
inspectee: anObject
|
|
28
|
+
self model inspectee: anObject
|
|
29
|
+
!
|
|
30
|
+
|
|
31
|
+
label
|
|
32
|
+
^ label ifNil: [ model inspectee printString ]
|
|
33
|
+
!
|
|
34
|
+
|
|
35
|
+
model
|
|
36
|
+
^ model ifNil: [
|
|
37
|
+
self model: HLInspectorModel new.
|
|
38
|
+
model ]
|
|
39
|
+
!
|
|
40
|
+
|
|
41
|
+
model: aModel
|
|
42
|
+
model := aModel.
|
|
43
|
+
self codeWidget model: aModel code.
|
|
44
|
+
|
|
45
|
+
self
|
|
46
|
+
observeCodeWidget;
|
|
47
|
+
observeVariablesWidget;
|
|
48
|
+
observeModel
|
|
49
|
+
!
|
|
50
|
+
|
|
51
|
+
tabLabel
|
|
52
|
+
^ self label
|
|
53
|
+
!
|
|
54
|
+
|
|
55
|
+
variablesWidget
|
|
56
|
+
^ variablesWidget ifNil: [
|
|
57
|
+
variablesWidget := HLInspectorVariablesWidget new
|
|
58
|
+
model: self model;
|
|
59
|
+
yourself ]
|
|
60
|
+
! !
|
|
61
|
+
|
|
62
|
+
!HLInspector methodsFor: 'actions'!
|
|
63
|
+
|
|
64
|
+
inspect: anObject
|
|
65
|
+
self model inspect: anObject on: self.
|
|
66
|
+
|
|
67
|
+
self
|
|
68
|
+
refreshVariablesWidget;
|
|
69
|
+
refreshDisplayWidget
|
|
70
|
+
!
|
|
71
|
+
|
|
72
|
+
observeCodeWidget
|
|
73
|
+
self codeWidget announcer
|
|
74
|
+
on: HLDoItExecuted
|
|
75
|
+
do: [ self onDoneIt ]
|
|
76
|
+
!
|
|
77
|
+
|
|
78
|
+
observeModel
|
|
79
|
+
self model announcer
|
|
80
|
+
on: HLInstanceVariableSelected do: [ :ann | self onInstanceVariableSelected ]
|
|
81
|
+
!
|
|
82
|
+
|
|
83
|
+
observeVariablesWidget
|
|
84
|
+
self variablesWidget announcer
|
|
85
|
+
on: HLRefreshRequested do: [ :ann | self onRefresh ];
|
|
86
|
+
on: HLDiveRequested do:[ self onDive ]
|
|
87
|
+
!
|
|
88
|
+
|
|
89
|
+
open
|
|
90
|
+
HLManager current addTab: (HLTab on: self labelled: self tabLabel)
|
|
91
|
+
!
|
|
92
|
+
|
|
93
|
+
refresh
|
|
94
|
+
self inspect: self inspectee
|
|
95
|
+
!
|
|
96
|
+
|
|
97
|
+
refreshDisplayWidget
|
|
98
|
+
self displayWidget refresh
|
|
99
|
+
!
|
|
100
|
+
|
|
101
|
+
refreshVariablesWidget
|
|
102
|
+
self variablesWidget refresh
|
|
103
|
+
!
|
|
104
|
+
|
|
105
|
+
setLabel: aString
|
|
106
|
+
label := aString
|
|
107
|
+
!
|
|
108
|
+
|
|
109
|
+
setVariables: aDictionary
|
|
110
|
+
self model variables: aDictionary
|
|
111
|
+
! !
|
|
112
|
+
|
|
113
|
+
!HLInspector methodsFor: 'reactions'!
|
|
114
|
+
|
|
115
|
+
onDive
|
|
116
|
+
|
|
117
|
+
self inspect: self model selectedInstVarObject
|
|
118
|
+
!
|
|
119
|
+
|
|
120
|
+
onDoneIt
|
|
121
|
+
|
|
122
|
+
self refresh
|
|
123
|
+
!
|
|
124
|
+
|
|
125
|
+
onInspectIt
|
|
126
|
+
!
|
|
127
|
+
|
|
128
|
+
onInstanceVariableSelected
|
|
129
|
+
self codeWidget receiver: self model selectedInstVarObject.
|
|
130
|
+
self refreshDisplayWidget
|
|
131
|
+
!
|
|
132
|
+
|
|
133
|
+
onPrintIt
|
|
134
|
+
!
|
|
135
|
+
|
|
136
|
+
onRefresh
|
|
137
|
+
|
|
138
|
+
self refresh
|
|
139
|
+
! !
|
|
140
|
+
|
|
141
|
+
!HLInspector methodsFor: 'rendering'!
|
|
142
|
+
|
|
143
|
+
renderContentOn: html
|
|
144
|
+
html with: (HLContainer with: (HLHorizontalSplitter
|
|
145
|
+
with: (HLVerticalSplitter
|
|
146
|
+
with: self variablesWidget
|
|
147
|
+
with: self displayWidget)
|
|
148
|
+
with: self codeWidget))
|
|
149
|
+
! !
|
|
150
|
+
|
|
151
|
+
!HLInspector class methodsFor: 'accessing'!
|
|
152
|
+
|
|
153
|
+
tabLabel
|
|
154
|
+
^ 'Inspector'
|
|
155
|
+
!
|
|
156
|
+
|
|
157
|
+
tabPriority
|
|
158
|
+
^ 10
|
|
159
|
+
! !
|
|
160
|
+
|
|
161
|
+
!HLInspector class methodsFor: 'testing'!
|
|
162
|
+
|
|
163
|
+
canBeOpenAsTab
|
|
164
|
+
^ false
|
|
165
|
+
! !
|
|
166
|
+
|
|
167
|
+
HLNavigationListWidget subclass: #HLInspectorDisplayWidget
|
|
168
|
+
instanceVariableNames: 'model'
|
|
169
|
+
package: 'Helios-Inspector'!
|
|
170
|
+
|
|
171
|
+
!HLInspectorDisplayWidget methodsFor: 'accessing'!
|
|
172
|
+
|
|
173
|
+
model
|
|
174
|
+
|
|
175
|
+
^ model
|
|
176
|
+
!
|
|
177
|
+
|
|
178
|
+
model: aModel
|
|
179
|
+
|
|
180
|
+
model := aModel
|
|
181
|
+
! !
|
|
182
|
+
|
|
183
|
+
!HLInspectorDisplayWidget methodsFor: 'rendering'!
|
|
184
|
+
|
|
185
|
+
renderContentOn: html
|
|
186
|
+
|
|
187
|
+
html div with: self selectionDisplayString
|
|
188
|
+
!
|
|
189
|
+
|
|
190
|
+
selectionDisplayString
|
|
191
|
+
|selection|
|
|
192
|
+
selection := model selection.
|
|
193
|
+
^ (model variables keys includes: selection)
|
|
194
|
+
ifTrue:[(model instVarObjectAt: selection) printString]
|
|
195
|
+
ifFalse:['']
|
|
196
|
+
! !
|
|
197
|
+
|
|
198
|
+
Object subclass: #HLInspectorModel
|
|
199
|
+
instanceVariableNames: 'announcer environment inspectee code variables selection'
|
|
200
|
+
package: 'Helios-Inspector'!
|
|
201
|
+
|
|
202
|
+
!HLInspectorModel methodsFor: 'accessing'!
|
|
203
|
+
|
|
204
|
+
announcer
|
|
205
|
+
^ announcer ifNil: [announcer := Announcer new ]
|
|
206
|
+
!
|
|
207
|
+
|
|
208
|
+
code
|
|
209
|
+
"Answers the code model working for this workspace model"
|
|
210
|
+
^ code ifNil:[ code := HLCodeModel on: self environment ]
|
|
211
|
+
!
|
|
212
|
+
|
|
213
|
+
environment
|
|
214
|
+
^ environment ifNil: [ HLManager current environment ]
|
|
215
|
+
!
|
|
216
|
+
|
|
217
|
+
environment: anEnvironment
|
|
218
|
+
environment := anEnvironment
|
|
219
|
+
!
|
|
220
|
+
|
|
221
|
+
inspectee
|
|
222
|
+
^ inspectee
|
|
223
|
+
!
|
|
224
|
+
|
|
225
|
+
inspectee: anObject
|
|
226
|
+
inspectee := anObject
|
|
227
|
+
!
|
|
228
|
+
|
|
229
|
+
selectedInstVarObject
|
|
230
|
+
^ self instVarObjectAt: self selection
|
|
231
|
+
!
|
|
232
|
+
|
|
233
|
+
selection
|
|
234
|
+
^ selection ifNil:[ '' ]
|
|
235
|
+
!
|
|
236
|
+
|
|
237
|
+
selection: anObject
|
|
238
|
+
selection := anObject.
|
|
239
|
+
|
|
240
|
+
self announcer announce: (HLInstanceVariableSelected on: selection)
|
|
241
|
+
!
|
|
242
|
+
|
|
243
|
+
variables
|
|
244
|
+
^ variables
|
|
245
|
+
!
|
|
246
|
+
|
|
247
|
+
variables: aCollection
|
|
248
|
+
variables := aCollection
|
|
249
|
+
! !
|
|
250
|
+
|
|
251
|
+
!HLInspectorModel methodsFor: 'actions'!
|
|
252
|
+
|
|
253
|
+
inspect: anObject on: anInspector
|
|
254
|
+
inspectee := anObject.
|
|
255
|
+
variables := #().
|
|
256
|
+
inspectee inspectOn: anInspector
|
|
257
|
+
!
|
|
258
|
+
|
|
259
|
+
instVarObjectAt: anInstVarName
|
|
260
|
+
^ self variables at: anInstVarName
|
|
261
|
+
!
|
|
262
|
+
|
|
263
|
+
selectedInstVar: anInstVarName
|
|
264
|
+
self selection: anInstVarName
|
|
265
|
+
!
|
|
266
|
+
|
|
267
|
+
subscribe: aWidget
|
|
268
|
+
aWidget subscribeTo: self announcer
|
|
269
|
+
! !
|
|
270
|
+
|
|
271
|
+
!HLInspectorModel methodsFor: 'reactions'!
|
|
272
|
+
|
|
273
|
+
onKeyDown: anEvent
|
|
274
|
+
|
|
275
|
+
<if(anEvent.ctrlKey) {
|
|
276
|
+
if(anEvent.keyCode === 80) { //ctrl+p
|
|
277
|
+
self._printIt();
|
|
278
|
+
anEvent.preventDefault();
|
|
279
|
+
return false;
|
|
280
|
+
}
|
|
281
|
+
if(anEvent.keyCode === 68) { //ctrl+d
|
|
282
|
+
self._doIt();
|
|
283
|
+
anEvent.preventDefault();
|
|
284
|
+
return false;
|
|
285
|
+
}
|
|
286
|
+
if(anEvent.keyCode === 73) { //ctrl+i
|
|
287
|
+
self._inspectIt();
|
|
288
|
+
anEvent.preventDefault();
|
|
289
|
+
return false;
|
|
290
|
+
}
|
|
291
|
+
}>
|
|
292
|
+
! !
|
|
293
|
+
|
|
294
|
+
!HLInspectorModel class methodsFor: 'actions'!
|
|
295
|
+
|
|
296
|
+
on: anEnvironment
|
|
297
|
+
|
|
298
|
+
^ self new
|
|
299
|
+
environment: anEnvironment;
|
|
300
|
+
yourself
|
|
301
|
+
! !
|
|
302
|
+
|
|
303
|
+
HLNavigationListWidget subclass: #HLInspectorVariablesWidget
|
|
304
|
+
instanceVariableNames: 'announcer model list diveButton'
|
|
305
|
+
package: 'Helios-Inspector'!
|
|
306
|
+
|
|
307
|
+
!HLInspectorVariablesWidget methodsFor: 'accessing'!
|
|
308
|
+
|
|
309
|
+
announcer
|
|
310
|
+
^ announcer ifNil:[ announcer := Announcer new ]
|
|
311
|
+
!
|
|
312
|
+
|
|
313
|
+
model
|
|
314
|
+
^ model
|
|
315
|
+
!
|
|
316
|
+
|
|
317
|
+
model: aModel
|
|
318
|
+
model := aModel
|
|
319
|
+
!
|
|
320
|
+
|
|
321
|
+
selection
|
|
322
|
+
^ model selection
|
|
323
|
+
!
|
|
324
|
+
|
|
325
|
+
variables
|
|
326
|
+
^ model variables
|
|
327
|
+
! !
|
|
328
|
+
|
|
329
|
+
!HLInspectorVariablesWidget methodsFor: 'actions'!
|
|
330
|
+
|
|
331
|
+
refresh
|
|
332
|
+
self resetItems.
|
|
333
|
+
super refresh
|
|
334
|
+
!
|
|
335
|
+
|
|
336
|
+
resetItems
|
|
337
|
+
items := nil
|
|
338
|
+
! !
|
|
339
|
+
|
|
340
|
+
!HLInspectorVariablesWidget methodsFor: 'defaults'!
|
|
341
|
+
|
|
342
|
+
defaultItems
|
|
343
|
+
^ self model variables keys
|
|
344
|
+
! !
|
|
345
|
+
|
|
346
|
+
!HLInspectorVariablesWidget methodsFor: 'reactions'!
|
|
347
|
+
|
|
348
|
+
selectItem: anObject
|
|
349
|
+
super selectItem: anObject.
|
|
350
|
+
self model selectedInstVar: anObject
|
|
351
|
+
! !
|
|
352
|
+
|
|
353
|
+
!HLInspectorVariablesWidget methodsFor: 'rendering'!
|
|
354
|
+
|
|
355
|
+
renderButtonsOn: html
|
|
356
|
+
|
|
357
|
+
html button
|
|
358
|
+
class: 'btn';
|
|
359
|
+
with: 'Refresh';
|
|
360
|
+
onClick: [self announcer announce: HLRefreshRequested new].
|
|
361
|
+
|
|
362
|
+
diveButton := html button
|
|
363
|
+
class: 'btn';
|
|
364
|
+
with: 'Dive';
|
|
365
|
+
onClick: [self announcer announce: HLDiveRequested new]
|
|
366
|
+
! !
|
|
367
|
+
|