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.
Files changed (117) hide show
  1. data/amber/css/amber-normalize.css +73 -73
  2. data/amber/css/amber-normalize.less +1 -1
  3. data/amber/css/amber.css +106 -106
  4. data/amber/css/helios.css +242 -0
  5. data/amber/images/hsplitter.png +0 -0
  6. data/amber/images/vsplitter.png +0 -0
  7. data/amber/js/Benchfib.deploy.js +116 -38
  8. data/amber/js/Benchfib.js +120 -42
  9. data/amber/js/Canvas.deploy.js +674 -403
  10. data/amber/js/Canvas.js +682 -411
  11. data/amber/js/Compiler-AST.deploy.js +1150 -0
  12. data/amber/js/Compiler-AST.js +1591 -0
  13. data/amber/js/Compiler-Core.deploy.js +1562 -0
  14. data/amber/js/Compiler-Core.js +1972 -0
  15. data/amber/js/Compiler-Exceptions.deploy.js +114 -0
  16. data/amber/js/Compiler-Exceptions.js +161 -0
  17. data/amber/js/Compiler-IR.deploy.js +2326 -0
  18. data/amber/js/Compiler-IR.js +3146 -0
  19. data/amber/js/Compiler-Inlining.deploy.js +1147 -0
  20. data/amber/js/Compiler-Inlining.js +1514 -0
  21. data/amber/js/Compiler-Semantic.deploy.js +1207 -0
  22. data/amber/js/Compiler-Semantic.js +1628 -0
  23. data/amber/js/Compiler-Tests.deploy.js +646 -60
  24. data/amber/js/Compiler-Tests.js +843 -82
  25. data/amber/js/Compiler.deploy.js +1097 -159
  26. data/amber/js/Compiler.js +1414 -161
  27. data/amber/js/Examples.deploy.js +31 -15
  28. data/amber/js/Examples.js +33 -17
  29. data/amber/js/Helios-Announcements.deploy.js +127 -0
  30. data/amber/js/Helios-Announcements.js +157 -0
  31. data/amber/js/Helios-Browser.deploy.js +1473 -0
  32. data/amber/js/Helios-Browser.js +1953 -0
  33. data/amber/js/Helios-Commands.deploy.js +403 -0
  34. data/amber/js/Helios-Commands.js +563 -0
  35. data/amber/js/Helios-Core.deploy.js +1070 -0
  36. data/amber/js/Helios-Core.js +1445 -0
  37. data/amber/js/Helios-Environments.deploy.js +132 -0
  38. data/amber/js/Helios-Environments.js +179 -0
  39. data/amber/js/Helios-Inspector.deploy.js +855 -0
  40. data/amber/js/Helios-Inspector.js +1155 -0
  41. data/amber/js/Helios-KeyBindings.deploy.js +753 -0
  42. data/amber/js/Helios-KeyBindings.js +1023 -0
  43. data/amber/js/Helios-Layout.deploy.js +383 -0
  44. data/amber/js/Helios-Layout.js +523 -0
  45. data/amber/js/Helios-Workspace.deploy.js +799 -0
  46. data/amber/js/Helios-Workspace.js +1074 -0
  47. data/amber/js/IDE.deploy.js +2541 -1490
  48. data/amber/js/IDE.js +2721 -1660
  49. data/amber/js/Importer-Exporter.deploy.js +671 -0
  50. data/amber/js/Importer-Exporter.js +816 -0
  51. data/amber/js/Kernel-Announcements.deploy.js +137 -20
  52. data/amber/js/Kernel-Announcements.js +176 -22
  53. data/amber/js/Kernel-Classes.deploy.js +555 -168
  54. data/amber/js/Kernel-Classes.js +662 -205
  55. data/amber/js/Kernel-Collections.deploy.js +1403 -618
  56. data/amber/js/Kernel-Collections.js +1545 -690
  57. data/amber/js/Kernel-Exceptions.deploy.js +109 -45
  58. data/amber/js/Kernel-Exceptions.js +123 -49
  59. data/amber/js/Kernel-Methods.deploy.js +196 -81
  60. data/amber/js/Kernel-Methods.js +214 -89
  61. data/amber/js/Kernel-Objects.deploy.js +1542 -1117
  62. data/amber/js/Kernel-Objects.js +1593 -1148
  63. data/amber/js/Kernel-Tests.deploy.js +1725 -772
  64. data/amber/js/Kernel-Tests.js +2301 -1123
  65. data/amber/js/Kernel-Transcript.deploy.js +23 -25
  66. data/amber/js/Kernel-Transcript.js +24 -26
  67. data/amber/js/SUnit.deploy.js +204 -131
  68. data/amber/js/SUnit.js +222 -139
  69. data/amber/js/Spaces.deploy.js +240 -0
  70. data/amber/js/Spaces.js +326 -0
  71. data/amber/js/amber.js +26 -7
  72. data/amber/js/boot.js +65 -47
  73. data/amber/js/init.js +1 -1
  74. data/amber/js/lib/CodeMirror/amber.css +21 -21
  75. data/amber/js/lib/CodeMirror/codemirror.css +119 -13
  76. data/amber/js/lib/CodeMirror/codemirror.js +2219 -1220
  77. data/amber/js/lib/CodeMirror/smalltalk.js +134 -129
  78. data/amber/js/lib/bootstrap/css/bootstrap.css +5837 -0
  79. data/amber/js/lib/bootstrap/css/bootstrap.min.css +841 -0
  80. data/amber/js/lib/bootstrap/img/glyphicons-halflings-white.png +0 -0
  81. data/amber/js/lib/bootstrap/img/glyphicons-halflings.png +0 -0
  82. data/amber/js/lib/bootstrap/js/bootstrap.js +2038 -0
  83. data/amber/js/lib/bootstrap/js/bootstrap.min.js +7 -0
  84. data/amber/js/lib/jQuery/jquery-1.8.2.min.js +2 -0
  85. data/amber/js/lib/jQuery/jquery-ui-1.8.24.custom.min.js +125 -0
  86. data/amber/st/Compiler-AST.st +505 -0
  87. data/amber/st/Compiler-Core.st +835 -0
  88. data/amber/st/Compiler-Exceptions.st +87 -0
  89. data/amber/st/Compiler-IR.st +1097 -0
  90. data/amber/st/Compiler-Inlining.st +650 -0
  91. data/amber/st/Compiler-Semantic.st +558 -0
  92. data/amber/st/Compiler-Tests.st +285 -381
  93. data/amber/st/Compiler.st +725 -2
  94. data/amber/st/Helios-Announcements.st +104 -0
  95. data/amber/st/Helios-Browser.st +708 -0
  96. data/amber/st/Helios-Commands.st +223 -0
  97. data/amber/st/Helios-Core.st +532 -0
  98. data/amber/st/Helios-Environments.st +98 -0
  99. data/amber/st/Helios-Inspector.st +367 -0
  100. data/amber/st/Helios-KeyBindings.st +337 -0
  101. data/amber/st/Helios-Layout.st +199 -0
  102. data/amber/st/Helios-Workspace.st +367 -0
  103. data/amber/st/IDE.st +75 -53
  104. data/amber/st/Importer-Exporter.st +386 -0
  105. data/amber/st/Kernel-Announcements.st +92 -0
  106. data/amber/st/Kernel-Classes.st +137 -15
  107. data/amber/st/Kernel-Collections.st +137 -47
  108. data/amber/st/Kernel-Exceptions.st +14 -0
  109. data/amber/st/Kernel-Methods.st +9 -1
  110. data/amber/st/Kernel-Objects.st +29 -5
  111. data/amber/st/Kernel-Tests.st +545 -199
  112. data/amber/st/SUnit.st +10 -0
  113. data/amber/st/Spaces.st +142 -0
  114. data/lib/resin/app.rb +1 -1
  115. metadata +86 -31
  116. data/amber/js/lib/jQuery/jquery-1.4.4.min.js +0 -167
  117. data/amber/js/lib/jQuery/jquery-1.6.4.min.js +0 -4
@@ -0,0 +1,1953 @@
1
+ smalltalk.addPackage('Helios-Browser', {});
2
+ smalltalk.addClass('HLBrowser', smalltalk.HLWidget, ['model', 'packagesListWidget', 'classesListWidget', 'protocolsListWidget', 'methodsListWidget', 'sourceWidget'], 'Helios-Browser');
3
+ smalltalk.addMethod(
4
+ "_announcer",
5
+ smalltalk.method({
6
+ selector: "announcer",
7
+ category: 'accessing',
8
+ fn: function () {
9
+ var self = this;
10
+ var $1;
11
+ $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []);
12
+ return $1;
13
+ },
14
+ args: [],
15
+ source: "announcer\x0a\x09^ self model announcer",
16
+ messageSends: ["announcer", "model"],
17
+ referencedClasses: []
18
+ }),
19
+ smalltalk.HLBrowser);
20
+
21
+ smalltalk.addMethod(
22
+ "_classesListWidget",
23
+ smalltalk.method({
24
+ selector: "classesListWidget",
25
+ category: 'widgets',
26
+ fn: function () {
27
+ var self = this;
28
+ var $1;
29
+ if (($receiver = self['@classesListWidget']) == nil ||
30
+ $receiver == undefined) {
31
+ self['@classesListWidget'] = smalltalk.send(smalltalk.HLClassesListWidget || HLClassesListWidget, "_on_", [smalltalk.send(self, "_model", [])]);
32
+ self['@classesListWidget'];
33
+ $1 = smalltalk.send(self['@classesListWidget'], "_next_", [smalltalk.send(self, "_protocolsListWidget", [])]);
34
+ } else {
35
+ $1 = self['@classesListWidget'];
36
+ }
37
+ return $1;
38
+ },
39
+ args: [],
40
+ source: "classesListWidget\x0a\x09^ classesListWidget ifNil: [\x0a \x09classesListWidget := HLClassesListWidget on: self model.\x0a\x09\x09classesListWidget next: self protocolsListWidget ]",
41
+ messageSends: ["ifNil:", "on:", "model", "next:", "protocolsListWidget"],
42
+ referencedClasses: ["HLClassesListWidget"]
43
+ }),
44
+ smalltalk.HLBrowser);
45
+
46
+ smalltalk.addMethod(
47
+ "_environment",
48
+ smalltalk.method({
49
+ selector: "environment",
50
+ category: 'accessing',
51
+ fn: function () {
52
+ var self = this;
53
+ var $1;
54
+ $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_environment", []);
55
+ return $1;
56
+ },
57
+ args: [],
58
+ source: "environment\x0a\x09^ self model environment",
59
+ messageSends: ["environment", "model"],
60
+ referencedClasses: []
61
+ }),
62
+ smalltalk.HLBrowser);
63
+
64
+ smalltalk.addMethod(
65
+ "_methodsListWidget",
66
+ smalltalk.method({
67
+ selector: "methodsListWidget",
68
+ category: 'widgets',
69
+ fn: function () {
70
+ var self = this;
71
+ var $1;
72
+ if (($receiver = self['@methodsListWidget']) == nil ||
73
+ $receiver == undefined) {
74
+ self['@methodsListWidget'] = smalltalk.send(smalltalk.HLMethodsListWidget || HLMethodsListWidget, "_on_", [smalltalk.send(self, "_model", [])]);
75
+ $1 = self['@methodsListWidget'];
76
+ } else {
77
+ $1 = self['@methodsListWidget'];
78
+ }
79
+ return $1;
80
+ },
81
+ args: [],
82
+ source: "methodsListWidget\x0a\x09^ methodsListWidget ifNil: [\x0a \x09methodsListWidget := HLMethodsListWidget on: self model ]",
83
+ messageSends: ["ifNil:", "on:", "model"],
84
+ referencedClasses: ["HLMethodsListWidget"]
85
+ }),
86
+ smalltalk.HLBrowser);
87
+
88
+ smalltalk.addMethod(
89
+ "_model",
90
+ smalltalk.method({
91
+ selector: "model",
92
+ category: 'accessing',
93
+ fn: function () {
94
+ var self = this;
95
+ var $1;
96
+ if (($receiver = self['@model']) == nil || $receiver == undefined) {
97
+ self['@model'] = smalltalk.send(smalltalk.HLBrowserModel || HLBrowserModel, "_new", []);
98
+ $1 = self['@model'];
99
+ } else {
100
+ $1 = self['@model'];
101
+ }
102
+ return $1;
103
+ },
104
+ args: [],
105
+ source: "model\x0a\x09^ model ifNil: [ model := HLBrowserModel new ]",
106
+ messageSends: ["ifNil:", "new"],
107
+ referencedClasses: ["HLBrowserModel"]
108
+ }),
109
+ smalltalk.HLBrowser);
110
+
111
+ smalltalk.addMethod(
112
+ "_model_",
113
+ smalltalk.method({
114
+ selector: "model:",
115
+ category: 'accessing',
116
+ fn: function (aModel) {
117
+ var self = this;
118
+ self['@model'] = aModel;
119
+ return self;
120
+ },
121
+ args: ["aModel"],
122
+ source: "model: aModel\x0a\x09model := aModel",
123
+ messageSends: [],
124
+ referencedClasses: []
125
+ }),
126
+ smalltalk.HLBrowser);
127
+
128
+ smalltalk.addMethod(
129
+ "_packagesListWidget",
130
+ smalltalk.method({
131
+ selector: "packagesListWidget",
132
+ category: 'widgets',
133
+ fn: function () {
134
+ var self = this;
135
+ var $1;
136
+ if (($receiver = self['@packagesListWidget']) == nil ||
137
+ $receiver == undefined) {
138
+ self['@packagesListWidget'] = smalltalk.send(smalltalk.HLPackagesListWidget || HLPackagesListWidget, "_on_", [smalltalk.send(self, "_model", [])]);
139
+ self['@packagesListWidget'];
140
+ $1 = smalltalk.send(self['@packagesListWidget'], "_next_", [smalltalk.send(self, "_classesListWidget", [])]);
141
+ } else {
142
+ $1 = self['@packagesListWidget'];
143
+ }
144
+ return $1;
145
+ },
146
+ args: [],
147
+ source: "packagesListWidget\x0a\x09^ packagesListWidget ifNil: [\x0a \x09packagesListWidget := HLPackagesListWidget on: self model.\x0a\x09\x09packagesListWidget next: self classesListWidget ]",
148
+ messageSends: ["ifNil:", "on:", "model", "next:", "classesListWidget"],
149
+ referencedClasses: ["HLPackagesListWidget"]
150
+ }),
151
+ smalltalk.HLBrowser);
152
+
153
+ smalltalk.addMethod(
154
+ "_protocolsListWidget",
155
+ smalltalk.method({
156
+ selector: "protocolsListWidget",
157
+ category: 'widgets',
158
+ fn: function () {
159
+ var self = this;
160
+ var $1;
161
+ if (($receiver = self['@protocolsListWidget']) == nil ||
162
+ $receiver == undefined) {
163
+ self['@protocolsListWidget'] = smalltalk.send(smalltalk.HLProtocolsListWidget || HLProtocolsListWidget, "_on_", [smalltalk.send(self, "_model", [])]);
164
+ self['@protocolsListWidget'];
165
+ $1 = smalltalk.send(self['@protocolsListWidget'], "_next_", [smalltalk.send(self, "_methodsListWidget", [])]);
166
+ } else {
167
+ $1 = self['@protocolsListWidget'];
168
+ }
169
+ return $1;
170
+ },
171
+ args: [],
172
+ source: "protocolsListWidget\x0a\x09^ protocolsListWidget ifNil: [\x0a \x09protocolsListWidget := HLProtocolsListWidget on: self model.\x0a\x09\x09protocolsListWidget next: self methodsListWidget ]",
173
+ messageSends: ["ifNil:", "on:", "model", "next:", "methodsListWidget"],
174
+ referencedClasses: ["HLProtocolsListWidget"]
175
+ }),
176
+ smalltalk.HLBrowser);
177
+
178
+ smalltalk.addMethod(
179
+ "_registerBindingsOn_",
180
+ smalltalk.method({
181
+ selector: "registerBindingsOn:",
182
+ category: 'keybindings',
183
+ fn: function (aBindingGroup) {
184
+ var self = this;
185
+ var $1, $2;
186
+ smalltalk.send(aBindingGroup, "_addGroupKey_labelled_", [66, "Browse"]);
187
+ smalltalk.send(aBindingGroup, "_addGroupKey_labelled_", [71, "Go to"]);
188
+ $1 = smalltalk.send(aBindingGroup, "_addGroupKey_labelled_", [84, "Toggle"]);
189
+ smalltalk.send(smalltalk.send(smalltalk.HLBrowserCommand || HLBrowserCommand, "_withAllSubclasses", []), "_do_", [function (each) {$2 = smalltalk.send(each, "_key", []);if (($receiver = $2) == nil || $receiver == undefined) {return $2;} else {return smalltalk.send(smalltalk.send(aBindingGroup, "_at_", [smalltalk.send(each, "_bindingGroup", [])]), "_add_", [smalltalk.send(smalltalk.send(each, "_on_", [smalltalk.send(self, "_model", [])]), "_asBinding", [])]);}}]);
190
+ return self;
191
+ },
192
+ args: ["aBindingGroup"],
193
+ source: "registerBindingsOn: aBindingGroup\x0a\x09aBindingGroup \x0a \x09addGroupKey: 66 labelled: 'Browse';\x0a addGroupKey: 71 labelled: 'Go to';\x0a addGroupKey: 84 labelled: 'Toggle'.\x0a \x0a \x09HLBrowserCommand withAllSubclasses do: [ :each |\x0a \x09\x09each key ifNotNil: [\x0a \x09\x09\x09(aBindingGroup at: each bindingGroup) \x0a \x09\x09\x09\x09add: (each on: self model) asBinding ] ]",
194
+ messageSends: ["addGroupKey:labelled:", "do:", "ifNotNil:", "add:", "asBinding", "on:", "model", "at:", "bindingGroup", "key", "withAllSubclasses"],
195
+ referencedClasses: ["HLBrowserCommand"]
196
+ }),
197
+ smalltalk.HLBrowser);
198
+
199
+ smalltalk.addMethod(
200
+ "_renderContentOn_",
201
+ smalltalk.method({
202
+ selector: "renderContentOn:",
203
+ category: 'rendering',
204
+ fn: function (html) {
205
+ var self = this;
206
+ smalltalk.send(html, "_with_", [smalltalk.send(smalltalk.HLContainer || HLContainer, "_with_", [smalltalk.send(smalltalk.HLHorizontalSplitter || HLHorizontalSplitter, "_with_with_", [smalltalk.send(smalltalk.HLVerticalSplitter || HLVerticalSplitter, "_with_with_", [smalltalk.send(smalltalk.HLVerticalSplitter || HLVerticalSplitter, "_with_with_", [smalltalk.send(self, "_packagesListWidget", []), smalltalk.send(self, "_classesListWidget", [])]), smalltalk.send(smalltalk.HLVerticalSplitter || HLVerticalSplitter, "_with_with_", [smalltalk.send(self, "_protocolsListWidget", []), smalltalk.send(self, "_methodsListWidget", [])])]), smalltalk.send(self, "_sourceWidget", [])])])]);
207
+ return self;
208
+ },
209
+ args: ["html"],
210
+ source: "renderContentOn: html\x0a\x09html with: (HLContainer with: (HLHorizontalSplitter \x0a \x09with: (HLVerticalSplitter\x0a \x09with: (HLVerticalSplitter\x0a \x09with: self packagesListWidget\x0a with: self classesListWidget)\x0a with: (HLVerticalSplitter\x0a \x09with: self protocolsListWidget\x0a with: self methodsListWidget)) \x0a with: self sourceWidget))",
211
+ messageSends: ["with:", "with:with:", "packagesListWidget", "classesListWidget", "protocolsListWidget", "methodsListWidget", "sourceWidget"],
212
+ referencedClasses: ["HLVerticalSplitter", "HLHorizontalSplitter", "HLContainer"]
213
+ }),
214
+ smalltalk.HLBrowser);
215
+
216
+ smalltalk.addMethod(
217
+ "_sourceWidget",
218
+ smalltalk.method({
219
+ selector: "sourceWidget",
220
+ category: 'widgets',
221
+ fn: function () {
222
+ var self = this;
223
+ var $1;
224
+ if (($receiver = self['@sourceWidget']) == nil ||
225
+ $receiver == undefined) {
226
+ self['@sourceWidget'] = smalltalk.send(smalltalk.HLBrowserSourceWidget || HLBrowserSourceWidget, "_on_", [smalltalk.send(self, "_model", [])]);
227
+ $1 = self['@sourceWidget'];
228
+ } else {
229
+ $1 = self['@sourceWidget'];
230
+ }
231
+ return $1;
232
+ },
233
+ args: [],
234
+ source: "sourceWidget\x0a\x09^ sourceWidget ifNil: [\x0a \x09sourceWidget := HLBrowserSourceWidget on: self model ]",
235
+ messageSends: ["ifNil:", "on:", "model"],
236
+ referencedClasses: ["HLBrowserSourceWidget"]
237
+ }),
238
+ smalltalk.HLBrowser);
239
+
240
+
241
+ smalltalk.HLBrowser.klass.iVarNames = ['nextId'];
242
+ smalltalk.addMethod(
243
+ "_canBeOpenAsTab",
244
+ smalltalk.method({
245
+ selector: "canBeOpenAsTab",
246
+ category: 'testing',
247
+ fn: function () {
248
+ var self = this;
249
+ return true;
250
+ },
251
+ args: [],
252
+ source: "canBeOpenAsTab\x0a\x09^ true",
253
+ messageSends: [],
254
+ referencedClasses: []
255
+ }),
256
+ smalltalk.HLBrowser.klass);
257
+
258
+ smalltalk.addMethod(
259
+ "_nextId",
260
+ smalltalk.method({
261
+ selector: "nextId",
262
+ category: 'accessing',
263
+ fn: function () {
264
+ var self = this;
265
+ var $1;
266
+ if (($receiver = self['@nextId']) == nil || $receiver == undefined) {
267
+ self['@nextId'] = 0;
268
+ self['@nextId'];
269
+ } else {
270
+ self['@nextId'];
271
+ }
272
+ $1 = smalltalk.send("browser_", "__comma", [smalltalk.send(smalltalk.send(self['@nextId'], "__plus", [1]), "_asString", [])]);
273
+ return $1;
274
+ },
275
+ args: [],
276
+ source: "nextId\x0a\x09nextId ifNil: [ nextId := 0 ].\x0a ^ 'browser_', (nextId + 1) asString",
277
+ messageSends: ["ifNil:", ",", "asString", "+"],
278
+ referencedClasses: []
279
+ }),
280
+ smalltalk.HLBrowser.klass);
281
+
282
+ smalltalk.addMethod(
283
+ "_tabLabel",
284
+ smalltalk.method({
285
+ selector: "tabLabel",
286
+ category: 'accessing',
287
+ fn: function () {
288
+ var self = this;
289
+ return "Browser";
290
+ },
291
+ args: [],
292
+ source: "tabLabel\x0a\x09^ 'Browser'",
293
+ messageSends: [],
294
+ referencedClasses: []
295
+ }),
296
+ smalltalk.HLBrowser.klass);
297
+
298
+ smalltalk.addMethod(
299
+ "_tabPriority",
300
+ smalltalk.method({
301
+ selector: "tabPriority",
302
+ category: 'accessing',
303
+ fn: function () {
304
+ var self = this;
305
+ return 0;
306
+ },
307
+ args: [],
308
+ source: "tabPriority\x0a\x09^ 0",
309
+ messageSends: [],
310
+ referencedClasses: []
311
+ }),
312
+ smalltalk.HLBrowser.klass);
313
+
314
+
315
+ smalltalk.addClass('HLBrowserListWidget', smalltalk.HLNavigationListWidget, ['model'], 'Helios-Browser');
316
+ smalltalk.addMethod(
317
+ "_model",
318
+ smalltalk.method({
319
+ selector: "model",
320
+ category: 'accessing',
321
+ fn: function () {
322
+ var self = this;
323
+ return self['@model'];
324
+ },
325
+ args: [],
326
+ source: "model\x0a\x09^ model",
327
+ messageSends: [],
328
+ referencedClasses: []
329
+ }),
330
+ smalltalk.HLBrowserListWidget);
331
+
332
+ smalltalk.addMethod(
333
+ "_model_",
334
+ smalltalk.method({
335
+ selector: "model:",
336
+ category: 'accessing',
337
+ fn: function (aBrowserModel) {
338
+ var self = this;
339
+ self['@model'] = aBrowserModel;
340
+ smalltalk.send(self, "_observeModel", []);
341
+ return self;
342
+ },
343
+ args: ["aBrowserModel"],
344
+ source: "model: aBrowserModel\x0a\x09model := aBrowserModel.\x0a \x0a self observeModel",
345
+ messageSends: ["observeModel"],
346
+ referencedClasses: []
347
+ }),
348
+ smalltalk.HLBrowserListWidget);
349
+
350
+ smalltalk.addMethod(
351
+ "_observeModel",
352
+ smalltalk.method({
353
+ selector: "observeModel",
354
+ category: 'actions',
355
+ fn: function () {
356
+ var self = this;
357
+ return self;
358
+ },
359
+ args: [],
360
+ source: "observeModel",
361
+ messageSends: [],
362
+ referencedClasses: []
363
+ }),
364
+ smalltalk.HLBrowserListWidget);
365
+
366
+
367
+ smalltalk.addMethod(
368
+ "_on_",
369
+ smalltalk.method({
370
+ selector: "on:",
371
+ category: 'instance creation',
372
+ fn: function (aModel) {
373
+ var self = this;
374
+ var $2, $3, $1;
375
+ $2 = smalltalk.send(self, "_new", []);
376
+ smalltalk.send($2, "_model_", [aModel]);
377
+ $3 = smalltalk.send($2, "_yourself", []);
378
+ $1 = $3;
379
+ return $1;
380
+ },
381
+ args: ["aModel"],
382
+ source: "on: aModel\x0a\x09^ self new \x0a \x09model: aModel;\x0a yourself",
383
+ messageSends: ["model:", "new", "yourself"],
384
+ referencedClasses: []
385
+ }),
386
+ smalltalk.HLBrowserListWidget.klass);
387
+
388
+
389
+ smalltalk.addClass('HLClassesListWidget', smalltalk.HLBrowserListWidget, [], 'Helios-Browser');
390
+ smalltalk.addMethod(
391
+ "_focusMethodsListWidget",
392
+ smalltalk.method({
393
+ selector: "focusMethodsListWidget",
394
+ category: 'actions',
395
+ fn: function () {
396
+ var self = this;
397
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLMethodsListFocus || HLMethodsListFocus, "_new", [])]);
398
+ return self;
399
+ },
400
+ args: [],
401
+ source: "focusMethodsListWidget\x0a\x09self model announcer announce: HLMethodsListFocus new",
402
+ messageSends: ["announce:", "new", "announcer", "model"],
403
+ referencedClasses: ["HLMethodsListFocus"]
404
+ }),
405
+ smalltalk.HLClassesListWidget);
406
+
407
+ smalltalk.addMethod(
408
+ "_focusProtocolsListWidget",
409
+ smalltalk.method({
410
+ selector: "focusProtocolsListWidget",
411
+ category: 'actions',
412
+ fn: function () {
413
+ var self = this;
414
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLProtocolsListFocus || HLProtocolsListFocus, "_new", [])]);
415
+ return self;
416
+ },
417
+ args: [],
418
+ source: "focusProtocolsListWidget\x0a\x09self model announcer announce: HLProtocolsListFocus new",
419
+ messageSends: ["announce:", "new", "announcer", "model"],
420
+ referencedClasses: ["HLProtocolsListFocus"]
421
+ }),
422
+ smalltalk.HLClassesListWidget);
423
+
424
+ smalltalk.addMethod(
425
+ "_getChildrenOf_",
426
+ smalltalk.method({
427
+ selector: "getChildrenOf:",
428
+ category: 'accessing',
429
+ fn: function (aClass) {
430
+ var self = this;
431
+ var $1;
432
+ $1 = smalltalk.send(smalltalk.send(self, "_items", []), "_select_", [function (each) {return smalltalk.send(smalltalk.send(each, "_superclass", []), "__eq", [aClass]);}]);
433
+ return $1;
434
+ },
435
+ args: ["aClass"],
436
+ source: "getChildrenOf: aClass\x0a\x09^ self items select: [ :each | each superclass = aClass ]",
437
+ messageSends: ["select:", "=", "superclass", "items"],
438
+ referencedClasses: []
439
+ }),
440
+ smalltalk.HLClassesListWidget);
441
+
442
+ smalltalk.addMethod(
443
+ "_getRootClassesOf_",
444
+ smalltalk.method({
445
+ selector: "getRootClassesOf:",
446
+ category: 'accessing',
447
+ fn: function (aCollection) {
448
+ var self = this;
449
+ var $1;
450
+ $1 = smalltalk.send(aCollection, "_select_", [function (each) {return smalltalk.send(smalltalk.send(smalltalk.send(each, "_allSuperclasses", []), "_intersection_", [aCollection]), "_isEmpty", []);}]);
451
+ return $1;
452
+ },
453
+ args: ["aCollection"],
454
+ source: "getRootClassesOf: aCollection\x0a\x09^ aCollection select: [ :each |\x0a \x09(each allSuperclasses intersection: aCollection) isEmpty ]",
455
+ messageSends: ["select:", "isEmpty", "intersection:", "allSuperclasses"],
456
+ referencedClasses: []
457
+ }),
458
+ smalltalk.HLClassesListWidget);
459
+
460
+ smalltalk.addMethod(
461
+ "_iconForItem_",
462
+ smalltalk.method({
463
+ selector: "iconForItem:",
464
+ category: 'accessing',
465
+ fn: function (aClass) {
466
+ var self = this;
467
+ var $2, $1;
468
+ $2 = smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_theNonMetaClass", []), "_comment", []), "_isEmpty", []);
469
+ if (smalltalk.assert($2)) {
470
+ $1 = "icon-question-sign";
471
+ } else {
472
+ $1 = "icon-none";
473
+ }
474
+ return $1;
475
+ },
476
+ args: ["aClass"],
477
+ source: "iconForItem: aClass\x0a\x09^ aClass theNonMetaClass comment isEmpty\x0a \x09ifFalse: [ 'icon-none' ]\x0a \x09ifTrue: [ 'icon-question-sign' ]",
478
+ messageSends: ["ifFalse:ifTrue:", "isEmpty", "comment", "theNonMetaClass"],
479
+ referencedClasses: []
480
+ }),
481
+ smalltalk.HLClassesListWidget);
482
+
483
+ smalltalk.addMethod(
484
+ "_observeModel",
485
+ smalltalk.method({
486
+ selector: "observeModel",
487
+ category: 'actions',
488
+ fn: function () {
489
+ var self = this;
490
+ var $1, $2;
491
+ $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []);
492
+ smalltalk.send($1, "_on_do_", [smalltalk.HLPackageSelected || HLPackageSelected, function (ann) {return smalltalk.send(self, "_onPackageSelected_", [smalltalk.send(ann, "_item", [])]);}]);
493
+ smalltalk.send($1, "_on_do_", [smalltalk.HLShowInstanceToggled || HLShowInstanceToggled, function (ann) {return smalltalk.send(self, "_onShowInstanceToggled", []);}]);
494
+ $2 = smalltalk.send($1, "_on_do_", [smalltalk.HLClassSelected || HLClassSelected, function (ann) {return smalltalk.send(self, "_onClassSelected_", [smalltalk.send(ann, "_item", [])]);}]);
495
+ return self;
496
+ },
497
+ args: [],
498
+ source: "observeModel\x0a\x09self model announcer \x0a \x09on: HLPackageSelected do: [ :ann | self onPackageSelected: ann item ];\x0a \x09on: HLShowInstanceToggled do: [ :ann | self onShowInstanceToggled ];\x0a\x09\x09on: HLClassSelected do: [ :ann | self onClassSelected: ann item ]",
499
+ messageSends: ["on:do:", "onPackageSelected:", "item", "announcer", "model", "onShowInstanceToggled", "onClassSelected:"],
500
+ referencedClasses: ["HLPackageSelected", "HLShowInstanceToggled", "HLClassSelected"]
501
+ }),
502
+ smalltalk.HLClassesListWidget);
503
+
504
+ smalltalk.addMethod(
505
+ "_onClassSelected_",
506
+ smalltalk.method({
507
+ selector: "onClassSelected:",
508
+ category: 'reactions',
509
+ fn: function (aClass) {
510
+ var self = this;
511
+ smalltalk.send(self, "_focus", []);
512
+ return self;
513
+ },
514
+ args: ["aClass"],
515
+ source: "onClassSelected: aClass\x0a\x09self focus",
516
+ messageSends: ["focus"],
517
+ referencedClasses: []
518
+ }),
519
+ smalltalk.HLClassesListWidget);
520
+
521
+ smalltalk.addMethod(
522
+ "_onPackageSelected_",
523
+ smalltalk.method({
524
+ selector: "onPackageSelected:",
525
+ category: 'reactions',
526
+ fn: function (aPackage) {
527
+ var self = this;
528
+ var $1;
529
+ smalltalk.send(self, "_selectedItem_", [nil]);
530
+ if (($receiver = aPackage) == nil || $receiver == undefined) {
531
+ $1 = [];
532
+ } else {
533
+ $1 = smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aPackage, "_classes", []), "_collect_", [function (each) {return smalltalk.send(each, "_theNonMetaClass", []);}]), "_asSet", []), "_asArray", []);
534
+ }
535
+ smalltalk.send(self, "_items_", [$1]);
536
+ smalltalk.send(self, "_refresh", []);
537
+ return self;
538
+ },
539
+ args: ["aPackage"],
540
+ source: "onPackageSelected: aPackage\x0a self selectedItem: nil.\x0a \x0a self items: (aPackage \x0a \x09ifNil: [ #() ]\x0a \x09\x09ifNotNil: [ (aPackage classes \x0a \x09collect: [ :each | each theNonMetaClass ]) asSet asArray ]).\x0a\x0a self refresh",
541
+ messageSends: ["selectedItem:", "items:", "ifNil:ifNotNil:", "asArray", "asSet", "collect:", "theNonMetaClass", "classes", "refresh"],
542
+ referencedClasses: []
543
+ }),
544
+ smalltalk.HLClassesListWidget);
545
+
546
+ smalltalk.addMethod(
547
+ "_onShowInstanceToggled",
548
+ smalltalk.method({
549
+ selector: "onShowInstanceToggled",
550
+ category: 'reactions',
551
+ fn: function () {
552
+ var self = this;
553
+ smalltalk.send(self, "_refresh", []);
554
+ return self;
555
+ },
556
+ args: [],
557
+ source: "onShowInstanceToggled\x0a\x09self refresh",
558
+ messageSends: ["refresh"],
559
+ referencedClasses: []
560
+ }),
561
+ smalltalk.HLClassesListWidget);
562
+
563
+ smalltalk.addMethod(
564
+ "_renderButtonsOn_",
565
+ smalltalk.method({
566
+ selector: "renderButtonsOn:",
567
+ category: 'rendering',
568
+ fn: function (html) {
569
+ var self = this;
570
+ var $1, $3, $4, $5, $6, $7, $8, $2, $9, $10;
571
+ $1 = smalltalk.send(html, "_div", []);
572
+ smalltalk.send($1, "_class_", ["btn-group"]);
573
+ smalltalk.send($1, "_at_put_", ["data-toggle", "buttons-radio"]);
574
+ $2 = smalltalk.send($1, "_with_", [function () {$3 = smalltalk.send(html, "_button", []);smalltalk.send($3, "_class_", [smalltalk.send(smalltalk.String || String, "_streamContents_", [function (str) {smalltalk.send(str, "_nextPutAll_", ["btn"]);$4 = smalltalk.send(self, "_showInstance", []);if (smalltalk.assert($4)) {return smalltalk.send(str, "_nextPutAll_", [" active"]);}}])]);smalltalk.send($3, "_with_", ["Instance"]);$5 = smalltalk.send($3, "_onClick_", [function () {return smalltalk.send(self, "_showInstance_", [true]);}]);$5;$6 = smalltalk.send(html, "_button", []);smalltalk.send($6, "_class_", [smalltalk.send(smalltalk.String || String, "_streamContents_", [function (str) {smalltalk.send(str, "_nextPutAll_", ["btn"]);$7 = smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance", []);if (!smalltalk.assert($7)) {return smalltalk.send(str, "_nextPutAll_", [" active"]);}}])]);smalltalk.send($6, "_with_", ["Class"]);$8 = smalltalk.send($6, "_onClick_", [function () {return smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance_", [false]);}]);return $8;}]);
575
+ $9 = smalltalk.send(html, "_button", []);
576
+ smalltalk.send($9, "_class_", ["btn"]);
577
+ smalltalk.send($9, "_at_put_", ["data-toggle", "button"]);
578
+ $10 = smalltalk.send($9, "_with_", ["Comment"]);
579
+ return self;
580
+ },
581
+ args: ["html"],
582
+ source: "renderButtonsOn: html\x0a\x09html div \x0a class: 'btn-group';\x0a\x09\x09at: 'data-toggle' put: 'buttons-radio';\x0a\x09\x09with: [ \x0a \x09html button \x0a class: (String streamContents: [ :str |\x0a \x09str nextPutAll: 'btn'.\x0a self showInstance ifTrue: [ \x0a \x09str nextPutAll: ' active'] ]);\x0a \x09\x09\x09\x09with: 'Instance';\x0a onClick: [ self showInstance: true ].\x0a \x09\x09\x09html button\x0a \x09\x09\x09\x09class: (String streamContents: [ :str |\x0a \x09str nextPutAll: 'btn'.\x0a self model showInstance ifFalse: [ \x0a \x09str nextPutAll: ' active'] ]);\x0a \x09\x09\x09\x09with: 'Class';\x0a\x09\x09\x09\x09onClick: [ self model showInstance: false ] ].\x0a \x0a \x09html button \x0a \x09class: 'btn';\x0a at: 'data-toggle' put: 'button';\x0a \x09\x09\x09with: 'Comment'",
583
+ messageSends: ["class:", "div", "at:put:", "with:", "streamContents:", "nextPutAll:", "ifTrue:", "showInstance", "button", "onClick:", "showInstance:", "ifFalse:", "model"],
584
+ referencedClasses: ["String"]
585
+ }),
586
+ smalltalk.HLClassesListWidget);
587
+
588
+ smalltalk.addMethod(
589
+ "_renderItem_level_on_",
590
+ smalltalk.method({
591
+ selector: "renderItem:level:on:",
592
+ category: 'rendering',
593
+ fn: function (aClass, anInteger, html) {
594
+ var self = this;
595
+ var $2, $3, $1;
596
+ var li;
597
+ li = smalltalk.send(html, "_li", []);
598
+ smalltalk.send(li, "_at_put_", ["list-data", smalltalk.send(smalltalk.send(self, "_items", []), "_indexOf_", [aClass])]);
599
+ smalltalk.send(li, "_class_", [smalltalk.send(self, "_cssClassForItem_", [aClass])]);
600
+ $1 = smalltalk.send(li, "_with_", [function () {$2 = smalltalk.send(html, "_a", []);smalltalk.send($2, "_with_", [function () {smalltalk.send(smalltalk.send(html, "_tag_", ["i"]), "_class_", [smalltalk.send(self, "_iconForItem_", [aClass])]);return smalltalk.send(self, "_renderItemLabel_level_on_", [aClass, anInteger, html]);}]);$3 = smalltalk.send($2, "_onClick_", [function () {return smalltalk.send(self, "_activateListItem_", [smalltalk.send(li, "_asJQuery", [])]);}]);return $3;}]);
601
+ smalltalk.send(smalltalk.send(self, "_getChildrenOf_", [aClass]), "_do_", [function (each) {return smalltalk.send(self, "_renderItem_level_on_", [each, smalltalk.send(anInteger, "__plus", [1]), html]);}]);
602
+ return self;
603
+ },
604
+ args: ["aClass", "anInteger", "html"],
605
+ source: "renderItem: aClass level: anInteger on: html\x0a\x09| li |\x0a \x0a\x09li := html li.\x0a li\x0a \x09at: 'list-data' put: (self items indexOf: aClass);\x0a \x09class: (self cssClassForItem: aClass);\x0a with: [ \x0a \x09html a\x0a \x09with: [ \x0a \x09\x09(html tag: 'i') class: (self iconForItem: aClass).\x0a \x09\x09\x09\x09\x09self renderItemLabel: aClass level: anInteger on: html ];\x0a\x09\x09\x09\x09onClick: [\x0a \x09self activateListItem: li asJQuery ] ].\x0a \x0a (self getChildrenOf: aClass) do: [ :each |\x0a \x09self renderItem: each level: anInteger + 1 on: html ]",
606
+ messageSends: ["li", "at:put:", "indexOf:", "items", "class:", "cssClassForItem:", "with:", "iconForItem:", "tag:", "renderItemLabel:level:on:", "a", "onClick:", "activateListItem:", "asJQuery", "do:", "renderItem:level:on:", "+", "getChildrenOf:"],
607
+ referencedClasses: []
608
+ }),
609
+ smalltalk.HLClassesListWidget);
610
+
611
+ smalltalk.addMethod(
612
+ "_renderItem_on_",
613
+ smalltalk.method({
614
+ selector: "renderItem:on:",
615
+ category: 'rendering',
616
+ fn: function (aClass, html) {
617
+ var self = this;
618
+ smalltalk.send(self, "_renderItem_on_", [aClass, html], smalltalk.HLBrowserListWidget);
619
+ smalltalk.send(smalltalk.send(self, "_getChildrenOf_", [aClass]), "_do_", [function (each) {return smalltalk.send(self, "_renderItem_level_on_", [each, 1, html]);}]);
620
+ return self;
621
+ },
622
+ args: ["aClass", "html"],
623
+ source: "renderItem: aClass on: html\x0a\x09super renderItem: aClass on: html.\x0a \x09(self getChildrenOf: aClass) do: [ :each |\x0a \x09\x09self renderItem: each level: 1 on: html ]",
624
+ messageSends: ["renderItem:on:", "do:", "renderItem:level:on:", "getChildrenOf:"],
625
+ referencedClasses: []
626
+ }),
627
+ smalltalk.HLClassesListWidget);
628
+
629
+ smalltalk.addMethod(
630
+ "_renderItemLabel_level_on_",
631
+ smalltalk.method({
632
+ selector: "renderItemLabel:level:on:",
633
+ category: 'rendering',
634
+ fn: function (aClass, anInteger, html) {
635
+ var self = this;
636
+ smalltalk.send(smalltalk.send(smalltalk.send(html, "_span", []), "_asJQuery", []), "_html_", [smalltalk.send(smalltalk.String || String, "_streamContents_", [function (str) {smalltalk.send(anInteger, "_timesRepeat_", [function () {return smalltalk.send(str, "_nextPutAll_", ["    "]);}]);return smalltalk.send(str, "_nextPutAll_", [smalltalk.send(aClass, "_name", [])]);}])]);
637
+ return self;
638
+ },
639
+ args: ["aClass", "anInteger", "html"],
640
+ source: "renderItemLabel: aClass level: anInteger on: html\x0a\x09html span asJQuery html: (String streamContents: [ :str |\x0a\x09\x09anInteger timesRepeat: [\x0a\x09\x09\x09str nextPutAll: '    '].\x0a\x09\x09\x09str nextPutAll: aClass name ])",
641
+ messageSends: ["html:", "streamContents:", "timesRepeat:", "nextPutAll:", "name", "asJQuery", "span"],
642
+ referencedClasses: ["String"]
643
+ }),
644
+ smalltalk.HLClassesListWidget);
645
+
646
+ smalltalk.addMethod(
647
+ "_renderItemLabel_on_",
648
+ smalltalk.method({
649
+ selector: "renderItemLabel:on:",
650
+ category: 'rendering',
651
+ fn: function (aClass, html) {
652
+ var self = this;
653
+ smalltalk.send(self, "_renderItemLabel_level_on_", [aClass, 0, html]);
654
+ return self;
655
+ },
656
+ args: ["aClass", "html"],
657
+ source: "renderItemLabel: aClass on: html\x0a\x09self renderItemLabel: aClass level: 0 on: html",
658
+ messageSends: ["renderItemLabel:level:on:"],
659
+ referencedClasses: []
660
+ }),
661
+ smalltalk.HLClassesListWidget);
662
+
663
+ smalltalk.addMethod(
664
+ "_renderListOn_",
665
+ smalltalk.method({
666
+ selector: "renderListOn:",
667
+ category: 'rendering',
668
+ fn: function (html) {
669
+ var self = this;
670
+ smalltalk.send(smalltalk.send(self, "_getRootClassesOf_", [smalltalk.send(self, "_items", [])]), "_do_", [function (each) {return smalltalk.send(self, "_renderItem_on_", [each, html]);}]);
671
+ return self;
672
+ },
673
+ args: ["html"],
674
+ source: "renderListOn: html\x0a\x09(self getRootClassesOf: self items)\x0a \x09do: [ :each | self renderItem: each on: html ]",
675
+ messageSends: ["do:", "renderItem:on:", "getRootClassesOf:", "items"],
676
+ referencedClasses: []
677
+ }),
678
+ smalltalk.HLClassesListWidget);
679
+
680
+ smalltalk.addMethod(
681
+ "_selectItem_",
682
+ smalltalk.method({
683
+ selector: "selectItem:",
684
+ category: 'actions',
685
+ fn: function (aClass) {
686
+ var self = this;
687
+ smalltalk.send(self, "_selectItem_", [aClass], smalltalk.HLBrowserListWidget);
688
+ smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass_", [aClass]);
689
+ return self;
690
+ },
691
+ args: ["aClass"],
692
+ source: "selectItem: aClass\x0a\x09super selectItem: aClass.\x0a self model selectedClass: aClass",
693
+ messageSends: ["selectItem:", "selectedClass:", "model"],
694
+ referencedClasses: []
695
+ }),
696
+ smalltalk.HLClassesListWidget);
697
+
698
+ smalltalk.addMethod(
699
+ "_showInstance",
700
+ smalltalk.method({
701
+ selector: "showInstance",
702
+ category: 'accessing',
703
+ fn: function () {
704
+ var self = this;
705
+ var $1;
706
+ $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance", []);
707
+ return $1;
708
+ },
709
+ args: [],
710
+ source: "showInstance\x0a\x09^ self model showInstance",
711
+ messageSends: ["showInstance", "model"],
712
+ referencedClasses: []
713
+ }),
714
+ smalltalk.HLClassesListWidget);
715
+
716
+ smalltalk.addMethod(
717
+ "_showInstance_",
718
+ smalltalk.method({
719
+ selector: "showInstance:",
720
+ category: 'actions',
721
+ fn: function (aBoolean) {
722
+ var self = this;
723
+ smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance_", [aBoolean]);
724
+ return self;
725
+ },
726
+ args: ["aBoolean"],
727
+ source: "showInstance: aBoolean\x0a\x09self model showInstance: aBoolean",
728
+ messageSends: ["showInstance:", "model"],
729
+ referencedClasses: []
730
+ }),
731
+ smalltalk.HLClassesListWidget);
732
+
733
+
734
+
735
+ smalltalk.addClass('HLMethodsListWidget', smalltalk.HLBrowserListWidget, ['selectorsCache'], 'Helios-Browser');
736
+ smalltalk.addMethod(
737
+ "_allProtocol",
738
+ smalltalk.method({
739
+ selector: "allProtocol",
740
+ category: 'accessing',
741
+ fn: function () {
742
+ var self = this;
743
+ var $1;
744
+ $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_allProtocol", []);
745
+ return $1;
746
+ },
747
+ args: [],
748
+ source: "allProtocol\x0a\x09^ self model allProtocol",
749
+ messageSends: ["allProtocol", "model"],
750
+ referencedClasses: []
751
+ }),
752
+ smalltalk.HLMethodsListWidget);
753
+
754
+ smalltalk.addMethod(
755
+ "_flushSelectorsCache",
756
+ smalltalk.method({
757
+ selector: "flushSelectorsCache",
758
+ category: 'cache',
759
+ fn: function () {
760
+ var self = this;
761
+ self['@selectorsCache'] = smalltalk.send(smalltalk.Dictionary || Dictionary, "_new", []);
762
+ return self;
763
+ },
764
+ args: [],
765
+ source: "flushSelectorsCache\x0a\x09selectorsCache := Dictionary new",
766
+ messageSends: ["new"],
767
+ referencedClasses: ["Dictionary"]
768
+ }),
769
+ smalltalk.HLMethodsListWidget);
770
+
771
+ smalltalk.addMethod(
772
+ "_iconForItem_",
773
+ smalltalk.method({
774
+ selector: "iconForItem:",
775
+ category: 'accessing',
776
+ fn: function (aCompiledMethod) {
777
+ var self = this;
778
+ var $1;
779
+ var override;
780
+ var overriden;
781
+ override = smalltalk.send(self, "_isOverride_", [aCompiledMethod]);
782
+ overriden = smalltalk.send(self, "_isOverriden_", [aCompiledMethod]);
783
+ if (smalltalk.assert(override)) {
784
+ if (smalltalk.assert(overriden)) {
785
+ $1 = "icon-resize-vertical";
786
+ } else {
787
+ $1 = "icon-arrow-up";
788
+ }
789
+ } else {
790
+ if (smalltalk.assert(overriden)) {
791
+ $1 = "icon-arrow-down";
792
+ } else {
793
+ $1 = "icon-none";
794
+ }
795
+ }
796
+ return $1;
797
+ },
798
+ args: ["aCompiledMethod"],
799
+ source: "iconForItem: aCompiledMethod\x0a\x09| override overriden |\x0a \x0a override := self isOverride: aCompiledMethod.\x0a overriden := self isOverriden: aCompiledMethod.\x0a \x0a\x09^ override\x0a \x09ifTrue: [ overriden\x0a\x09\x09\x09ifTrue: [ 'icon-resize-vertical' ]\x0a\x09\x09\x09ifFalse: [ 'icon-arrow-up' ] ]\x0a\x09\x09ifFalse: [\x0a\x09\x09\x09overriden\x0a\x09\x09\x09ifTrue: [ 'icon-arrow-down' ]\x0a\x09\x09\x09ifFalse: [ 'icon-none' ] ]",
800
+ messageSends: ["isOverride:", "isOverriden:", "ifTrue:ifFalse:"],
801
+ referencedClasses: []
802
+ }),
803
+ smalltalk.HLMethodsListWidget);
804
+
805
+ smalltalk.addMethod(
806
+ "_initialize",
807
+ smalltalk.method({
808
+ selector: "initialize",
809
+ category: 'initialization',
810
+ fn: function () {
811
+ var self = this;
812
+ smalltalk.send(self, "_initialize", [], smalltalk.HLBrowserListWidget);
813
+ smalltalk.send(self, "_flushSelectorsCache", []);
814
+ return self;
815
+ },
816
+ args: [],
817
+ source: "initialize\x0a\x09super initialize.\x0a self flushSelectorsCache",
818
+ messageSends: ["initialize", "flushSelectorsCache"],
819
+ referencedClasses: []
820
+ }),
821
+ smalltalk.HLMethodsListWidget);
822
+
823
+ smalltalk.addMethod(
824
+ "_isOverride_",
825
+ smalltalk.method({
826
+ selector: "isOverride:",
827
+ category: 'testing',
828
+ fn: function (aMethod) {
829
+ var self = this;
830
+ var $1;
831
+ $1 = smalltalk.send(smalltalk.send(self, "_overrideSelectors", []), "_includes_", [smalltalk.send(aMethod, "_selector", [])]);
832
+ return $1;
833
+ },
834
+ args: ["aMethod"],
835
+ source: "isOverride: aMethod\x0a\x0a ^ self overrideSelectors includes: aMethod selector",
836
+ messageSends: ["includes:", "selector", "overrideSelectors"],
837
+ referencedClasses: []
838
+ }),
839
+ smalltalk.HLMethodsListWidget);
840
+
841
+ smalltalk.addMethod(
842
+ "_isOverriden_",
843
+ smalltalk.method({
844
+ selector: "isOverriden:",
845
+ category: 'testing',
846
+ fn: function (aMethod) {
847
+ var self = this;
848
+ var $1;
849
+ $1 = smalltalk.send(smalltalk.send(self, "_overridenSelectors", []), "_includes_", [smalltalk.send(aMethod, "_selector", [])]);
850
+ return $1;
851
+ },
852
+ args: ["aMethod"],
853
+ source: "isOverriden: aMethod\x0a\x0a ^ self overridenSelectors includes: aMethod selector",
854
+ messageSends: ["includes:", "selector", "overridenSelectors"],
855
+ referencedClasses: []
856
+ }),
857
+ smalltalk.HLMethodsListWidget);
858
+
859
+ smalltalk.addMethod(
860
+ "_methodsInProtocol_",
861
+ smalltalk.method({
862
+ selector: "methodsInProtocol:",
863
+ category: 'accessing',
864
+ fn: function (aString) {
865
+ var self = this;
866
+ var $2, $1;
867
+ $2 = smalltalk.send(aString, "__eq", [smalltalk.send(self, "_allProtocol", [])]);
868
+ if (smalltalk.assert($2)) {
869
+ $1 = smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", []), "_methods", []);
870
+ } else {
871
+ $1 = smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", []), "_methodsInProtocol_", [aString]);
872
+ }
873
+ return $1;
874
+ },
875
+ args: ["aString"],
876
+ source: "methodsInProtocol: aString\x0a\x09^ aString = self allProtocol\x0a \x09ifTrue: [ self model selectedClass methods ]\x0a \x09ifFalse: [ self model selectedClass methodsInProtocol: aString ]",
877
+ messageSends: ["ifTrue:ifFalse:", "methods", "selectedClass", "model", "methodsInProtocol:", "=", "allProtocol"],
878
+ referencedClasses: []
879
+ }),
880
+ smalltalk.HLMethodsListWidget);
881
+
882
+ smalltalk.addMethod(
883
+ "_observeModel",
884
+ smalltalk.method({
885
+ selector: "observeModel",
886
+ category: 'actions',
887
+ fn: function () {
888
+ var self = this;
889
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_on_do_", [smalltalk.HLProtocolSelected || HLProtocolSelected, function (ann) {return smalltalk.send(self, "_onProtocolSelected_", [smalltalk.send(ann, "_item", [])]);}]);
890
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_on_do_", [smalltalk.HLShowInstanceToggled || HLShowInstanceToggled, function (ann) {return smalltalk.send(self, "_onProtocolSelected_", [nil]);}]);
891
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_on_do_", [smalltalk.HLMethodSelected || HLMethodSelected, function (ann) {return smalltalk.send(self, "_onMethodSelected_", [smalltalk.send(ann, "_item", [])]);}]);
892
+ return self;
893
+ },
894
+ args: [],
895
+ source: "observeModel\x0a\x09self model announcer on: HLProtocolSelected do: [ :ann |\x0a \x09self onProtocolSelected: ann item ].\x0a self model announcer on: HLShowInstanceToggled do: [ :ann |\x0a \x09self onProtocolSelected: nil ].\x0a self model announcer on: HLMethodSelected do: [ :ann |\x0a \x09self onMethodSelected: ann item ]",
896
+ messageSends: ["on:do:", "onProtocolSelected:", "item", "announcer", "model", "onMethodSelected:"],
897
+ referencedClasses: ["HLProtocolSelected", "HLShowInstanceToggled", "HLMethodSelected"]
898
+ }),
899
+ smalltalk.HLMethodsListWidget);
900
+
901
+ smalltalk.addMethod(
902
+ "_onMethodSelected_",
903
+ smalltalk.method({
904
+ selector: "onMethodSelected:",
905
+ category: 'reactions',
906
+ fn: function (aMethod) {
907
+ var self = this;
908
+ smalltalk.send(self, "_focus", []);
909
+ return self;
910
+ },
911
+ args: ["aMethod"],
912
+ source: "onMethodSelected: aMethod\x0a\x09self focus",
913
+ messageSends: ["focus"],
914
+ referencedClasses: []
915
+ }),
916
+ smalltalk.HLMethodsListWidget);
917
+
918
+ smalltalk.addMethod(
919
+ "_onProtocolSelected_",
920
+ smalltalk.method({
921
+ selector: "onProtocolSelected:",
922
+ category: 'reactions',
923
+ fn: function (aString) {
924
+ var self = this;
925
+ var $2, $1;
926
+ smalltalk.send(self, "_selectedItem_", [nil]);
927
+ $2 = smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", []);
928
+ if (($receiver = $2) == nil || $receiver == undefined) {
929
+ $1 = [];
930
+ } else {
931
+ if (($receiver = aString) == nil || $receiver == undefined) {
932
+ $1 = [];
933
+ } else {
934
+ $1 = smalltalk.send(self, "_methodsInProtocol_", [aString]);
935
+ }
936
+ }
937
+ smalltalk.send(self, "_items_", [$1]);
938
+ smalltalk.send(self, "_refresh", []);
939
+ return self;
940
+ },
941
+ args: ["aString"],
942
+ source: "onProtocolSelected: aString\x0a self selectedItem: nil.\x0a \x0a self items: (self model selectedClass \x0a \x09ifNil: [ #() ]\x0a \x09ifNotNil: [ aString\x0a \x09\x09ifNil: [ #() ]\x0a \x09\x09ifNotNil: [ self methodsInProtocol: aString ] ]).\x0a \x0a self refresh",
943
+ messageSends: ["selectedItem:", "items:", "ifNil:ifNotNil:", "methodsInProtocol:", "selectedClass", "model", "refresh"],
944
+ referencedClasses: []
945
+ }),
946
+ smalltalk.HLMethodsListWidget);
947
+
948
+ smalltalk.addMethod(
949
+ "_overrideSelectors",
950
+ smalltalk.method({
951
+ selector: "overrideSelectors",
952
+ category: 'accessing',
953
+ fn: function () {
954
+ var self = this;
955
+ var $2, $1;
956
+ $1 = smalltalk.send(smalltalk.send(self, "_selectorsCache", []), "_at_ifAbsentPut_", ["override", function () {return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", []), "_allSuperclasses", []), "_inject_into_", [smalltalk.send(smalltalk.Set || Set, "_new", []), function (acc, each) {smalltalk.send(acc, "_addAll_", [smalltalk.send(each, "_selectors", [])]);$2 = smalltalk.send(acc, "_yourself", []);return $2;}]);}]);
957
+ return $1;
958
+ },
959
+ args: [],
960
+ source: "overrideSelectors\x0a\x09^ self selectorsCache \x0a \x09at: 'override'\x0a ifAbsentPut: [ \x0a \x09self model selectedClass allSuperclasses\x0a\x09\x09\x09\x09inject: Set new into: [ :acc :each | acc addAll: each selectors; yourself ] ]",
961
+ messageSends: ["at:ifAbsentPut:", "inject:into:", "new", "addAll:", "selectors", "yourself", "allSuperclasses", "selectedClass", "model", "selectorsCache"],
962
+ referencedClasses: ["Set"]
963
+ }),
964
+ smalltalk.HLMethodsListWidget);
965
+
966
+ smalltalk.addMethod(
967
+ "_overridenSelectors",
968
+ smalltalk.method({
969
+ selector: "overridenSelectors",
970
+ category: 'accessing',
971
+ fn: function () {
972
+ var self = this;
973
+ var $2, $1;
974
+ $1 = smalltalk.send(smalltalk.send(self, "_selectorsCache", []), "_at_ifAbsentPut_", ["overriden", function () {return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", []), "_allSubclasses", []), "_inject_into_", [smalltalk.send(smalltalk.Set || Set, "_new", []), function (acc, each) {smalltalk.send(acc, "_addAll_", [smalltalk.send(each, "_selectors", [])]);$2 = smalltalk.send(acc, "_yourself", []);return $2;}]);}]);
975
+ return $1;
976
+ },
977
+ args: [],
978
+ source: "overridenSelectors\x0a\x09^ self selectorsCache \x0a \x09at: 'overriden'\x0a ifAbsentPut: [ \x0a \x09self model selectedClass allSubclasses\x0a\x09\x09\x09\x09inject: Set new into: [ :acc :each | acc addAll: each selectors; yourself ] ]",
979
+ messageSends: ["at:ifAbsentPut:", "inject:into:", "new", "addAll:", "selectors", "yourself", "allSubclasses", "selectedClass", "model", "selectorsCache"],
980
+ referencedClasses: ["Set"]
981
+ }),
982
+ smalltalk.HLMethodsListWidget);
983
+
984
+ smalltalk.addMethod(
985
+ "_renderContentOn_",
986
+ smalltalk.method({
987
+ selector: "renderContentOn:",
988
+ category: 'rendering',
989
+ fn: function (html) {
990
+ var self = this;
991
+ var $1, $2, $3;
992
+ $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance", []);
993
+ if (smalltalk.assert($1)) {
994
+ smalltalk.send(self, "_renderContentOn_", [html], smalltalk.HLBrowserListWidget);
995
+ } else {
996
+ $2 = smalltalk.send(html, "_div", []);
997
+ smalltalk.send($2, "_class_", ["class_side"]);
998
+ $3 = smalltalk.send($2, "_with_", [function () {return smalltalk.send(self, "_renderContentOn_", [html], smalltalk.HLBrowserListWidget);}]);
999
+ }
1000
+ smalltalk.send(self, "_flushSelectorsCache", []);
1001
+ return self;
1002
+ },
1003
+ args: ["html"],
1004
+ source: "renderContentOn: html\x0a\x09self model showInstance\x0a \x09ifFalse: [ html div \x0a \x09class: 'class_side'; \x0a with: [ super renderContentOn: html ] ]\x0a \x09ifTrue: [ super renderContentOn: html ].\x0a \x0a self flushSelectorsCache",
1005
+ messageSends: ["ifFalse:ifTrue:", "class:", "div", "with:", "renderContentOn:", "showInstance", "model", "flushSelectorsCache"],
1006
+ referencedClasses: []
1007
+ }),
1008
+ smalltalk.HLMethodsListWidget);
1009
+
1010
+ smalltalk.addMethod(
1011
+ "_renderItemLabel_on_",
1012
+ smalltalk.method({
1013
+ selector: "renderItemLabel:on:",
1014
+ category: 'rendering',
1015
+ fn: function (aCompiledMethod, html) {
1016
+ var self = this;
1017
+ smalltalk.send(html, "_with_", [smalltalk.send(aCompiledMethod, "_selector", [])]);
1018
+ return self;
1019
+ },
1020
+ args: ["aCompiledMethod", "html"],
1021
+ source: "renderItemLabel: aCompiledMethod on: html\x0a\x09html with: aCompiledMethod selector",
1022
+ messageSends: ["with:", "selector"],
1023
+ referencedClasses: []
1024
+ }),
1025
+ smalltalk.HLMethodsListWidget);
1026
+
1027
+ smalltalk.addMethod(
1028
+ "_selectItem_",
1029
+ smalltalk.method({
1030
+ selector: "selectItem:",
1031
+ category: 'actions',
1032
+ fn: function (aCompiledMethod) {
1033
+ var self = this;
1034
+ smalltalk.send(self, "_selectItem_", [aCompiledMethod], smalltalk.HLBrowserListWidget);
1035
+ smalltalk.send(smalltalk.send(self, "_model", []), "_selectedMethod_", [aCompiledMethod]);
1036
+ return self;
1037
+ },
1038
+ args: ["aCompiledMethod"],
1039
+ source: "selectItem: aCompiledMethod\x0a\x09super selectItem: aCompiledMethod.\x0a \x09self model selectedMethod: aCompiledMethod",
1040
+ messageSends: ["selectItem:", "selectedMethod:", "model"],
1041
+ referencedClasses: []
1042
+ }),
1043
+ smalltalk.HLMethodsListWidget);
1044
+
1045
+ smalltalk.addMethod(
1046
+ "_selectorsCache",
1047
+ smalltalk.method({
1048
+ selector: "selectorsCache",
1049
+ category: 'accessing',
1050
+ fn: function () {
1051
+ var self = this;
1052
+ return self['@selectorsCache'];
1053
+ },
1054
+ args: [],
1055
+ source: "selectorsCache\x0a\x09^ selectorsCache",
1056
+ messageSends: [],
1057
+ referencedClasses: []
1058
+ }),
1059
+ smalltalk.HLMethodsListWidget);
1060
+
1061
+
1062
+
1063
+ smalltalk.addClass('HLPackagesListWidget', smalltalk.HLBrowserListWidget, [], 'Helios-Browser');
1064
+ smalltalk.addMethod(
1065
+ "_focusClassesListWidget",
1066
+ smalltalk.method({
1067
+ selector: "focusClassesListWidget",
1068
+ category: 'actions',
1069
+ fn: function () {
1070
+ var self = this;
1071
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLClassesListFocus || HLClassesListFocus, "_new", [])]);
1072
+ return self;
1073
+ },
1074
+ args: [],
1075
+ source: "focusClassesListWidget\x0a\x09self model announcer announce: HLClassesListFocus new",
1076
+ messageSends: ["announce:", "new", "announcer", "model"],
1077
+ referencedClasses: ["HLClassesListFocus"]
1078
+ }),
1079
+ smalltalk.HLPackagesListWidget);
1080
+
1081
+ smalltalk.addMethod(
1082
+ "_initializeItems",
1083
+ smalltalk.method({
1084
+ selector: "initializeItems",
1085
+ category: 'accessing',
1086
+ fn: function () {
1087
+ var self = this;
1088
+ var $1;
1089
+ self['@items'] = smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_packages", []), "_sort_", [function (a, b) {return smalltalk.send(smalltalk.send(a, "_name", []), "__lt", [smalltalk.send(b, "_name", [])]);}]);
1090
+ $1 = self['@items'];
1091
+ return $1;
1092
+ },
1093
+ args: [],
1094
+ source: "initializeItems\x0a\x09^ items := self model packages sort:[:a :b|\x0a\x09\x09\x09\x09\x09\x09a name < b name]",
1095
+ messageSends: ["sort:", "<", "name", "packages", "model"],
1096
+ referencedClasses: []
1097
+ }),
1098
+ smalltalk.HLPackagesListWidget);
1099
+
1100
+ smalltalk.addMethod(
1101
+ "_items",
1102
+ smalltalk.method({
1103
+ selector: "items",
1104
+ category: 'accessing',
1105
+ fn: function () {
1106
+ var self = this;
1107
+ var $1;
1108
+ if (($receiver = self['@items']) == nil || $receiver == undefined) {
1109
+ $1 = smalltalk.send(self, "_initializeItems", []);
1110
+ } else {
1111
+ $1 = self['@items'];
1112
+ }
1113
+ return $1;
1114
+ },
1115
+ args: [],
1116
+ source: "items\x0a\x09^ items ifNil: [self initializeItems]",
1117
+ messageSends: ["ifNil:", "initializeItems"],
1118
+ referencedClasses: []
1119
+ }),
1120
+ smalltalk.HLPackagesListWidget);
1121
+
1122
+ smalltalk.addMethod(
1123
+ "_observeModel",
1124
+ smalltalk.method({
1125
+ selector: "observeModel",
1126
+ category: 'actions',
1127
+ fn: function () {
1128
+ var self = this;
1129
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_on_do_", [smalltalk.HLPackageSelected || HLPackageSelected, function (ann) {return smalltalk.send(self, "_onPackageSelected_", [smalltalk.send(ann, "_item", [])]);}]);
1130
+ return self;
1131
+ },
1132
+ args: [],
1133
+ source: "observeModel\x0a self model announcer on: HLPackageSelected do: [ :ann |\x0a \x09self onPackageSelected: ann item ]",
1134
+ messageSends: ["on:do:", "onPackageSelected:", "item", "announcer", "model"],
1135
+ referencedClasses: ["HLPackageSelected"]
1136
+ }),
1137
+ smalltalk.HLPackagesListWidget);
1138
+
1139
+ smalltalk.addMethod(
1140
+ "_onPackageSelected_",
1141
+ smalltalk.method({
1142
+ selector: "onPackageSelected:",
1143
+ category: 'reactions',
1144
+ fn: function (aPackage) {
1145
+ var self = this;
1146
+ smalltalk.send(self, "_focus", []);
1147
+ return self;
1148
+ },
1149
+ args: ["aPackage"],
1150
+ source: "onPackageSelected: aPackage\x0a\x09self focus",
1151
+ messageSends: ["focus"],
1152
+ referencedClasses: []
1153
+ }),
1154
+ smalltalk.HLPackagesListWidget);
1155
+
1156
+ smalltalk.addMethod(
1157
+ "_renderButtonsOn_",
1158
+ smalltalk.method({
1159
+ selector: "renderButtonsOn:",
1160
+ category: 'rendering',
1161
+ fn: function (html) {
1162
+ var self = this;
1163
+ var $1, $2, $3, $5, $6, $7, $8, $4, $9, $10;
1164
+ $1 = smalltalk.send(html, "_span", []);
1165
+ smalltalk.send($1, "_class_", ["info"]);
1166
+ $2 = smalltalk.send($1, "_with_", ["Auto commit"]);
1167
+ $3 = smalltalk.send(html, "_div", []);
1168
+ smalltalk.send($3, "_class_", ["btn-group switch"]);
1169
+ smalltalk.send($3, "_at_put_", ["data-toggle", "buttons-radio"]);
1170
+ $4 = smalltalk.send($3, "_with_", [function () {$5 = smalltalk.send(html, "_button", []);smalltalk.send($5, "_class_", [smalltalk.send(smalltalk.String || String, "_streamContents_", [function (str) {return smalltalk.send(str, "_nextPutAll_", ["btn"]);}])]);$6 = smalltalk.send($5, "_with_", ["On"]);$6;$7 = smalltalk.send(html, "_button", []);smalltalk.send($7, "_class_", [smalltalk.send(smalltalk.String || String, "_streamContents_", [function (str) {return smalltalk.send(str, "_nextPutAll_", ["btn active"]);}])]);$8 = smalltalk.send($7, "_with_", ["Off"]);return $8;}]);
1171
+ $9 = smalltalk.send(html, "_a", []);
1172
+ smalltalk.send($9, "_class_", ["btn"]);
1173
+ $10 = smalltalk.send($9, "_with_", ["Commit"]);
1174
+ return self;
1175
+ },
1176
+ args: ["html"],
1177
+ source: "renderButtonsOn: html\x0a\x0a\x09html span class: 'info'; with: 'Auto commit'.\x0a\x09html div \x0a class: 'btn-group switch';\x0a\x09\x09at: 'data-toggle' put: 'buttons-radio';\x0a\x09\x09with: [ \x0a \x09html button \x0a class: (String streamContents: [ :str |\x0a \x09str nextPutAll: 'btn' ]);\x0a \x09\x09\x09\x09with: 'On'.\x0a \x09\x09\x09html button\x0a \x09\x09\x09\x09class: (String streamContents: [ :str |\x0a \x09str nextPutAll: 'btn active' ]);\x0a \x09\x09\x09\x09with: 'Off' ].\x0a \x0a html a \x0a \x09class: 'btn';\x0a\x09\x09\x09with: 'Commit'.",
1178
+ messageSends: ["class:", "span", "with:", "div", "at:put:", "streamContents:", "nextPutAll:", "button", "a"],
1179
+ referencedClasses: ["String"]
1180
+ }),
1181
+ smalltalk.HLPackagesListWidget);
1182
+
1183
+ smalltalk.addMethod(
1184
+ "_selectItem_",
1185
+ smalltalk.method({
1186
+ selector: "selectItem:",
1187
+ category: 'actions',
1188
+ fn: function (aPackage) {
1189
+ var self = this;
1190
+ smalltalk.send(self, "_selectItem_", [aPackage], smalltalk.HLBrowserListWidget);
1191
+ smalltalk.send(smalltalk.send(self, "_model", []), "_selectedPackage_", [aPackage]);
1192
+ return self;
1193
+ },
1194
+ args: ["aPackage"],
1195
+ source: "selectItem: aPackage\x0a\x09super selectItem: aPackage.\x0a self model selectedPackage: aPackage",
1196
+ messageSends: ["selectItem:", "selectedPackage:", "model"],
1197
+ referencedClasses: []
1198
+ }),
1199
+ smalltalk.HLPackagesListWidget);
1200
+
1201
+
1202
+
1203
+ smalltalk.addClass('HLProtocolsListWidget', smalltalk.HLBrowserListWidget, [], 'Helios-Browser');
1204
+ smalltalk.addMethod(
1205
+ "_allProtocol",
1206
+ smalltalk.method({
1207
+ selector: "allProtocol",
1208
+ category: 'accessing',
1209
+ fn: function () {
1210
+ var self = this;
1211
+ var $1;
1212
+ $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_allProtocol", []);
1213
+ return $1;
1214
+ },
1215
+ args: [],
1216
+ source: "allProtocol\x0a\x09^ self model allProtocol",
1217
+ messageSends: ["allProtocol", "model"],
1218
+ referencedClasses: []
1219
+ }),
1220
+ smalltalk.HLProtocolsListWidget);
1221
+
1222
+ smalltalk.addMethod(
1223
+ "_observeModel",
1224
+ smalltalk.method({
1225
+ selector: "observeModel",
1226
+ category: 'actions',
1227
+ fn: function () {
1228
+ var self = this;
1229
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_on_do_", [smalltalk.HLClassSelected || HLClassSelected, function (ann) {return smalltalk.send(self, "_onClassSelected_", [smalltalk.send(ann, "_item", [])]);}]);
1230
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_on_do_", [smalltalk.HLShowInstanceToggled || HLShowInstanceToggled, function (ann) {return smalltalk.send(self, "_onClassSelected_", [smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", [])]);}]);
1231
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_on_do_", [smalltalk.HLProtocolSelected || HLProtocolSelected, function (ann) {return smalltalk.send(self, "_onProtocolSelected_", [smalltalk.send(ann, "_item", [])]);}]);
1232
+ return self;
1233
+ },
1234
+ args: [],
1235
+ source: "observeModel\x0a\x09self model announcer on: HLClassSelected do: [ :ann |\x0a \x09self onClassSelected: ann item ].\x0a self model announcer on: HLShowInstanceToggled do: [ :ann |\x0a \x09self onClassSelected: self model selectedClass ].\x0a self model announcer on: HLProtocolSelected do: [ :ann |\x0a \x09self onProtocolSelected: ann item ]",
1236
+ messageSends: ["on:do:", "onClassSelected:", "item", "announcer", "model", "selectedClass", "onProtocolSelected:"],
1237
+ referencedClasses: ["HLClassSelected", "HLShowInstanceToggled", "HLProtocolSelected"]
1238
+ }),
1239
+ smalltalk.HLProtocolsListWidget);
1240
+
1241
+ smalltalk.addMethod(
1242
+ "_onClassSelected_",
1243
+ smalltalk.method({
1244
+ selector: "onClassSelected:",
1245
+ category: 'reactions',
1246
+ fn: function (aClass) {
1247
+ var self = this;
1248
+ var $2, $3, $1;
1249
+ smalltalk.send(self, "_selectedItem_", [nil]);
1250
+ if (($receiver = aClass) == nil || $receiver == undefined) {
1251
+ $1 = smalltalk.send(smalltalk.Array || Array, "_with_", [smalltalk.send(self, "_allProtocol", [])]);
1252
+ } else {
1253
+ $2 = smalltalk.send(smalltalk.Array || Array, "_with_", [smalltalk.send(self, "_allProtocol", [])]);
1254
+ smalltalk.send($2, "_addAll_", [smalltalk.send(aClass, "_protocols", [])]);
1255
+ $3 = smalltalk.send($2, "_yourself", []);
1256
+ $1 = $3;
1257
+ }
1258
+ smalltalk.send(self, "_items_", [$1]);
1259
+ smalltalk.send(self, "_refresh", []);
1260
+ return self;
1261
+ },
1262
+ args: ["aClass"],
1263
+ source: "onClassSelected: aClass\x0a self selectedItem: nil.\x0a \x0a self items: (aClass\x0a \x09ifNil: [ Array with: self allProtocol ]\x0a \x09ifNotNil: [ \x0a \x09(Array with: self allProtocol) \x0a \x09addAll: aClass protocols; \x0a yourself ]).\x0a\x0a self refresh",
1264
+ messageSends: ["selectedItem:", "items:", "ifNil:ifNotNil:", "with:", "allProtocol", "addAll:", "protocols", "yourself", "refresh"],
1265
+ referencedClasses: ["Array"]
1266
+ }),
1267
+ smalltalk.HLProtocolsListWidget);
1268
+
1269
+ smalltalk.addMethod(
1270
+ "_onProtocolSelected_",
1271
+ smalltalk.method({
1272
+ selector: "onProtocolSelected:",
1273
+ category: 'reactions',
1274
+ fn: function (aString) {
1275
+ var self = this;
1276
+ smalltalk.send(self, "_focus", []);
1277
+ return self;
1278
+ },
1279
+ args: ["aString"],
1280
+ source: "onProtocolSelected: aString\x0a\x09self focus",
1281
+ messageSends: ["focus"],
1282
+ referencedClasses: []
1283
+ }),
1284
+ smalltalk.HLProtocolsListWidget);
1285
+
1286
+ smalltalk.addMethod(
1287
+ "_renderContentOn_",
1288
+ smalltalk.method({
1289
+ selector: "renderContentOn:",
1290
+ category: 'rendering',
1291
+ fn: function (html) {
1292
+ var self = this;
1293
+ var $1, $2, $3;
1294
+ $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance", []);
1295
+ if (smalltalk.assert($1)) {
1296
+ smalltalk.send(self, "_renderContentOn_", [html], smalltalk.HLBrowserListWidget);
1297
+ } else {
1298
+ $2 = smalltalk.send(html, "_div", []);
1299
+ smalltalk.send($2, "_class_", ["class_side"]);
1300
+ $3 = smalltalk.send($2, "_with_", [function () {return smalltalk.send(self, "_renderContentOn_", [html], smalltalk.HLBrowserListWidget);}]);
1301
+ }
1302
+ return self;
1303
+ },
1304
+ args: ["html"],
1305
+ source: "renderContentOn: html\x0a\x09self model showInstance\x0a \x09ifFalse: [ html div \x0a \x09class: 'class_side'; \x0a with: [ super renderContentOn: html ] ]\x0a \x09ifTrue: [ super renderContentOn: html ]",
1306
+ messageSends: ["ifFalse:ifTrue:", "class:", "div", "with:", "renderContentOn:", "showInstance", "model"],
1307
+ referencedClasses: []
1308
+ }),
1309
+ smalltalk.HLProtocolsListWidget);
1310
+
1311
+ smalltalk.addMethod(
1312
+ "_selectItem_",
1313
+ smalltalk.method({
1314
+ selector: "selectItem:",
1315
+ category: 'actions',
1316
+ fn: function (aString) {
1317
+ var self = this;
1318
+ smalltalk.send(self, "_selectItem_", [aString], smalltalk.HLBrowserListWidget);
1319
+ smalltalk.send(smalltalk.send(self, "_model", []), "_selectedProtocol_", [aString]);
1320
+ return self;
1321
+ },
1322
+ args: ["aString"],
1323
+ source: "selectItem: aString\x0a\x09super selectItem: aString.\x0a self model selectedProtocol: aString",
1324
+ messageSends: ["selectItem:", "selectedProtocol:", "model"],
1325
+ referencedClasses: []
1326
+ }),
1327
+ smalltalk.HLProtocolsListWidget);
1328
+
1329
+ smalltalk.addMethod(
1330
+ "_selectedItem",
1331
+ smalltalk.method({
1332
+ selector: "selectedItem",
1333
+ category: 'accessing',
1334
+ fn: function () {
1335
+ var self = this;
1336
+ var $1;
1337
+ $1 = smalltalk.send(self, "_selectedItem", [], smalltalk.HLBrowserListWidget);
1338
+ return $1;
1339
+ },
1340
+ args: [],
1341
+ source: "selectedItem\x0a\x09^ super selectedItem\x22 ifNil: [ self allProtocol ]\x22",
1342
+ messageSends: ["selectedItem"],
1343
+ referencedClasses: []
1344
+ }),
1345
+ smalltalk.HLProtocolsListWidget);
1346
+
1347
+
1348
+
1349
+ smalltalk.addClass('HLBrowserModel', smalltalk.Object, ['announcer', 'environment', 'selectedPackage', 'selectedClass', 'selectedProtocol', 'selectedMethod', 'showInstance', 'showComment'], 'Helios-Browser');
1350
+ smalltalk.addMethod(
1351
+ "_allProtocol",
1352
+ smalltalk.method({
1353
+ selector: "allProtocol",
1354
+ category: 'accessing',
1355
+ fn: function () {
1356
+ var self = this;
1357
+ return "-- All --";
1358
+ },
1359
+ args: [],
1360
+ source: "allProtocol\x0a\x09^ '-- All --'",
1361
+ messageSends: [],
1362
+ referencedClasses: []
1363
+ }),
1364
+ smalltalk.HLBrowserModel);
1365
+
1366
+ smalltalk.addMethod(
1367
+ "_announcer",
1368
+ smalltalk.method({
1369
+ selector: "announcer",
1370
+ category: 'accessing',
1371
+ fn: function () {
1372
+ var self = this;
1373
+ var $1;
1374
+ if (($receiver = self['@announcer']) == nil || $receiver == undefined) {
1375
+ self['@announcer'] = smalltalk.send(smalltalk.Announcer || Announcer, "_new", []);
1376
+ $1 = self['@announcer'];
1377
+ } else {
1378
+ $1 = self['@announcer'];
1379
+ }
1380
+ return $1;
1381
+ },
1382
+ args: [],
1383
+ source: "announcer\x0a\x09^ announcer ifNil: [ announcer := Announcer new ]",
1384
+ messageSends: ["ifNil:", "new"],
1385
+ referencedClasses: ["Announcer"]
1386
+ }),
1387
+ smalltalk.HLBrowserModel);
1388
+
1389
+ smalltalk.addMethod(
1390
+ "_environment",
1391
+ smalltalk.method({
1392
+ selector: "environment",
1393
+ category: 'accessing',
1394
+ fn: function () {
1395
+ var self = this;
1396
+ var $1;
1397
+ if (($receiver = self['@environment']) == nil || $receiver == undefined) {
1398
+ $1 = smalltalk.send(smalltalk.send(smalltalk.HLManager || HLManager, "_current", []), "_environment", []);
1399
+ } else {
1400
+ $1 = self['@environment'];
1401
+ }
1402
+ return $1;
1403
+ },
1404
+ args: [],
1405
+ source: "environment\x0a\x09^ environment ifNil: [ HLManager current environment ]",
1406
+ messageSends: ["ifNil:", "environment", "current"],
1407
+ referencedClasses: ["HLManager"]
1408
+ }),
1409
+ smalltalk.HLBrowserModel);
1410
+
1411
+ smalltalk.addMethod(
1412
+ "_environment_",
1413
+ smalltalk.method({
1414
+ selector: "environment:",
1415
+ category: 'accessing',
1416
+ fn: function (anEnvironment) {
1417
+ var self = this;
1418
+ self['@environment'] = anEnvironment;
1419
+ return self;
1420
+ },
1421
+ args: ["anEnvironment"],
1422
+ source: "environment: anEnvironment\x0a\x09environment := anEnvironment",
1423
+ messageSends: [],
1424
+ referencedClasses: []
1425
+ }),
1426
+ smalltalk.HLBrowserModel);
1427
+
1428
+ smalltalk.addMethod(
1429
+ "_packages",
1430
+ smalltalk.method({
1431
+ selector: "packages",
1432
+ category: 'accessing',
1433
+ fn: function () {
1434
+ var self = this;
1435
+ var $1;
1436
+ $1 = smalltalk.send(smalltalk.send(self, "_environment", []), "_packages", []);
1437
+ return $1;
1438
+ },
1439
+ args: [],
1440
+ source: "packages\x0a\x09^ self environment packages",
1441
+ messageSends: ["packages", "environment"],
1442
+ referencedClasses: []
1443
+ }),
1444
+ smalltalk.HLBrowserModel);
1445
+
1446
+ smalltalk.addMethod(
1447
+ "_selectedClass",
1448
+ smalltalk.method({
1449
+ selector: "selectedClass",
1450
+ category: 'accessing',
1451
+ fn: function () {
1452
+ var self = this;
1453
+ return self['@selectedClass'];
1454
+ },
1455
+ args: [],
1456
+ source: "selectedClass\x0a\x09^ selectedClass",
1457
+ messageSends: [],
1458
+ referencedClasses: []
1459
+ }),
1460
+ smalltalk.HLBrowserModel);
1461
+
1462
+ smalltalk.addMethod(
1463
+ "_selectedClass_",
1464
+ smalltalk.method({
1465
+ selector: "selectedClass:",
1466
+ category: 'accessing',
1467
+ fn: function (aClass) {
1468
+ var self = this;
1469
+ var $1, $2, $3;
1470
+ $1 = smalltalk.send(self['@selectedClass'], "__eq", [aClass]);
1471
+ if (!smalltalk.assert($1)) {
1472
+ if (($receiver = aClass) == nil || $receiver == undefined) {
1473
+ self['@selectedClass'] = nil;
1474
+ self['@selectedClass'];
1475
+ } else {
1476
+ $2 = smalltalk.send(self, "_showInstance", []);
1477
+ if (smalltalk.assert($2)) {
1478
+ self['@selectedClass'] = smalltalk.send(aClass, "_theNonMetaClass", []);
1479
+ self['@selectedClass'];
1480
+ } else {
1481
+ self['@selectedClass'] = smalltalk.send(aClass, "_theMetaClass", []);
1482
+ self['@selectedClass'];
1483
+ }
1484
+ }
1485
+ smalltalk.send(self, "_selectedMethod_", [nil]);
1486
+ $3 = smalltalk.send(self, "_selectedProtocol_", [nil]);
1487
+ }
1488
+ smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLClassSelected || HLClassSelected, "_on_", [smalltalk.send(self, "_selectedClass", [])])]);
1489
+ return self;
1490
+ },
1491
+ args: ["aClass"],
1492
+ source: "selectedClass: aClass\x0a\x09selectedClass = aClass ifFalse: [\x0a\x09\x09aClass \x0a \x09\x09ifNil: [ selectedClass := nil ]\x0a \x09\x09ifNotNil: [\x0a\x09\x09\x09\x09self showInstance \x0a \x09\x09\x09\x09ifTrue: [ selectedClass := aClass theNonMetaClass ]\x0a \x09\x09\x09\x09ifFalse: [ selectedClass := aClass theMetaClass ] ].\x0a \x0a \x09\x09self \x0a \x09\x09selectedMethod: nil;\x0a \x09 \x09selectedProtocol: nil ].\x0a \x0a self announcer announce: (HLClassSelected on: self selectedClass)",
1493
+ messageSends: ["ifFalse:", "ifNil:ifNotNil:", "ifTrue:ifFalse:", "theNonMetaClass", "theMetaClass", "showInstance", "selectedMethod:", "selectedProtocol:", "=", "announce:", "on:", "selectedClass", "announcer"],
1494
+ referencedClasses: ["HLClassSelected"]
1495
+ }),
1496
+ smalltalk.HLBrowserModel);
1497
+
1498
+ smalltalk.addMethod(
1499
+ "_selectedMethod",
1500
+ smalltalk.method({
1501
+ selector: "selectedMethod",
1502
+ category: 'accessing',
1503
+ fn: function () {
1504
+ var self = this;
1505
+ return self['@selectedMethod'];
1506
+ },
1507
+ args: [],
1508
+ source: "selectedMethod\x0a\x09^ selectedMethod",
1509
+ messageSends: [],
1510
+ referencedClasses: []
1511
+ }),
1512
+ smalltalk.HLBrowserModel);
1513
+
1514
+ smalltalk.addMethod(
1515
+ "_selectedMethod_",
1516
+ smalltalk.method({
1517
+ selector: "selectedMethod:",
1518
+ category: 'accessing',
1519
+ fn: function (aCompiledMethod) {
1520
+ var self = this;
1521
+ var $1;
1522
+ $1 = smalltalk.send(self['@selectedMethod'], "__eq", [aCompiledMethod]);
1523
+ if (!smalltalk.assert($1)) {
1524
+ self['@selectedMethod'] = aCompiledMethod;
1525
+ self['@selectedMethod'];
1526
+ }
1527
+ smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLMethodSelected || HLMethodSelected, "_on_", [aCompiledMethod])]);
1528
+ return self;
1529
+ },
1530
+ args: ["aCompiledMethod"],
1531
+ source: "selectedMethod: aCompiledMethod\x0a\x09selectedMethod = aCompiledMethod ifFalse: [\x0a\x09\x09selectedMethod := aCompiledMethod ].\x0a \x0a self announcer announce: (HLMethodSelected on: aCompiledMethod)",
1532
+ messageSends: ["ifFalse:", "=", "announce:", "on:", "announcer"],
1533
+ referencedClasses: ["HLMethodSelected"]
1534
+ }),
1535
+ smalltalk.HLBrowserModel);
1536
+
1537
+ smalltalk.addMethod(
1538
+ "_selectedPackage",
1539
+ smalltalk.method({
1540
+ selector: "selectedPackage",
1541
+ category: 'accessing',
1542
+ fn: function () {
1543
+ var self = this;
1544
+ return self['@selectedPackage'];
1545
+ },
1546
+ args: [],
1547
+ source: "selectedPackage\x0a\x09^ selectedPackage",
1548
+ messageSends: [],
1549
+ referencedClasses: []
1550
+ }),
1551
+ smalltalk.HLBrowserModel);
1552
+
1553
+ smalltalk.addMethod(
1554
+ "_selectedPackage_",
1555
+ smalltalk.method({
1556
+ selector: "selectedPackage:",
1557
+ category: 'accessing',
1558
+ fn: function (aPackage) {
1559
+ var self = this;
1560
+ var $1;
1561
+ $1 = smalltalk.send(self['@selectedPackage'], "__eq", [aPackage]);
1562
+ if (!smalltalk.assert($1)) {
1563
+ self['@selectedPackage'] = aPackage;
1564
+ self['@selectedPackage'];
1565
+ smalltalk.send(self, "_selectedClass_", [nil]);
1566
+ }
1567
+ smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLPackageSelected || HLPackageSelected, "_on_", [aPackage])]);
1568
+ return self;
1569
+ },
1570
+ args: ["aPackage"],
1571
+ source: "selectedPackage: aPackage\x0a\x09selectedPackage = aPackage ifFalse: [\x0a\x09\x09selectedPackage := aPackage.\x0a \x09self selectedClass: nil ].\x0a \x0a self announcer announce: (HLPackageSelected on: aPackage)",
1572
+ messageSends: ["ifFalse:", "selectedClass:", "=", "announce:", "on:", "announcer"],
1573
+ referencedClasses: ["HLPackageSelected"]
1574
+ }),
1575
+ smalltalk.HLBrowserModel);
1576
+
1577
+ smalltalk.addMethod(
1578
+ "_selectedProtocol",
1579
+ smalltalk.method({
1580
+ selector: "selectedProtocol",
1581
+ category: 'accessing',
1582
+ fn: function () {
1583
+ var self = this;
1584
+ return self['@selectedProtocol'];
1585
+ },
1586
+ args: [],
1587
+ source: "selectedProtocol\x0a\x09^ selectedProtocol",
1588
+ messageSends: [],
1589
+ referencedClasses: []
1590
+ }),
1591
+ smalltalk.HLBrowserModel);
1592
+
1593
+ smalltalk.addMethod(
1594
+ "_selectedProtocol_",
1595
+ smalltalk.method({
1596
+ selector: "selectedProtocol:",
1597
+ category: 'accessing',
1598
+ fn: function (aString) {
1599
+ var self = this;
1600
+ var $1;
1601
+ $1 = smalltalk.send(self['@selectedProtocol'], "__eq", [aString]);
1602
+ if (!smalltalk.assert($1)) {
1603
+ self['@selectedProtocol'] = aString;
1604
+ self['@selectedProtocol'];
1605
+ smalltalk.send(self, "_selectedMethod_", [nil]);
1606
+ }
1607
+ smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLProtocolSelected || HLProtocolSelected, "_on_", [aString])]);
1608
+ return self;
1609
+ },
1610
+ args: ["aString"],
1611
+ source: "selectedProtocol: aString\x0a\x09selectedProtocol = aString ifFalse: [\x0a \x09selectedProtocol := aString.\x0a \x09self selectedMethod: nil ].\x0a \x0a self announcer announce: (HLProtocolSelected on: aString)",
1612
+ messageSends: ["ifFalse:", "selectedMethod:", "=", "announce:", "on:", "announcer"],
1613
+ referencedClasses: ["HLProtocolSelected"]
1614
+ }),
1615
+ smalltalk.HLBrowserModel);
1616
+
1617
+ smalltalk.addMethod(
1618
+ "_showComment",
1619
+ smalltalk.method({
1620
+ selector: "showComment",
1621
+ category: 'accessing',
1622
+ fn: function () {
1623
+ var self = this;
1624
+ var $1;
1625
+ if (($receiver = self['@showComment']) == nil || $receiver == undefined) {
1626
+ $1 = false;
1627
+ } else {
1628
+ $1 = self['@showComment'];
1629
+ }
1630
+ return $1;
1631
+ },
1632
+ args: [],
1633
+ source: "showComment\x0a\x09^ showComment ifNil: [ false ]",
1634
+ messageSends: ["ifNil:"],
1635
+ referencedClasses: []
1636
+ }),
1637
+ smalltalk.HLBrowserModel);
1638
+
1639
+ smalltalk.addMethod(
1640
+ "_showComment_",
1641
+ smalltalk.method({
1642
+ selector: "showComment:",
1643
+ category: 'accessing',
1644
+ fn: function (aBoolean) {
1645
+ var self = this;
1646
+ self['@showComment'] = aBoolean;
1647
+ smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLShowCommentToggled || HLShowCommentToggled, "_new", [])]);
1648
+ return self;
1649
+ },
1650
+ args: ["aBoolean"],
1651
+ source: "showComment: aBoolean\x0a\x09showComment := aBoolean.\x0a \x0a self announcer announce: HLShowCommentToggled new",
1652
+ messageSends: ["announce:", "new", "announcer"],
1653
+ referencedClasses: ["HLShowCommentToggled"]
1654
+ }),
1655
+ smalltalk.HLBrowserModel);
1656
+
1657
+ smalltalk.addMethod(
1658
+ "_showInstance",
1659
+ smalltalk.method({
1660
+ selector: "showInstance",
1661
+ category: 'accessing',
1662
+ fn: function () {
1663
+ var self = this;
1664
+ var $1;
1665
+ if (($receiver = self['@showInstance']) == nil ||
1666
+ $receiver == undefined) {
1667
+ $1 = true;
1668
+ } else {
1669
+ $1 = self['@showInstance'];
1670
+ }
1671
+ return $1;
1672
+ },
1673
+ args: [],
1674
+ source: "showInstance\x0a\x09^ showInstance ifNil: [ true ]",
1675
+ messageSends: ["ifNil:"],
1676
+ referencedClasses: []
1677
+ }),
1678
+ smalltalk.HLBrowserModel);
1679
+
1680
+ smalltalk.addMethod(
1681
+ "_showInstance_",
1682
+ smalltalk.method({
1683
+ selector: "showInstance:",
1684
+ category: 'accessing',
1685
+ fn: function (aBoolean) {
1686
+ var self = this;
1687
+ var $1, $2;
1688
+ self['@showInstance'] = aBoolean;
1689
+ $1 = smalltalk.send(self, "_selectedClass", []);
1690
+ if (($receiver = $1) == nil || $receiver == undefined) {
1691
+ } else {
1692
+ if (smalltalk.assert(aBoolean)) {
1693
+ $2 = smalltalk.send(smalltalk.send(self, "_selectedClass", []), "_theNonMetaClass", []);
1694
+ } else {
1695
+ $2 = smalltalk.send(smalltalk.send(self, "_selectedClass", []), "_theMetaClass", []);
1696
+ }
1697
+ smalltalk.send(self, "_selectedClass_", [$2]);
1698
+ }
1699
+ smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLShowInstanceToggled || HLShowInstanceToggled, "_new", [])]);
1700
+ return self;
1701
+ },
1702
+ args: ["aBoolean"],
1703
+ source: "showInstance: aBoolean\x0a\x09showInstance := aBoolean.\x0a \x0a self selectedClass ifNotNil: [\x0a \x09self selectedClass: (aBoolean\x0a \x09\x09ifTrue: [self selectedClass theNonMetaClass ]\x0a \x09 \x09ifFalse: [ self selectedClass theMetaClass ]) ].\x0a \x0a self announcer announce: HLShowInstanceToggled new",
1704
+ messageSends: ["ifNotNil:", "selectedClass:", "ifTrue:ifFalse:", "theNonMetaClass", "selectedClass", "theMetaClass", "announce:", "new", "announcer"],
1705
+ referencedClasses: ["HLShowInstanceToggled"]
1706
+ }),
1707
+ smalltalk.HLBrowserModel);
1708
+
1709
+
1710
+ smalltalk.addMethod(
1711
+ "_on_",
1712
+ smalltalk.method({
1713
+ selector: "on:",
1714
+ category: 'actions',
1715
+ fn: function (anEnvironment) {
1716
+ var self = this;
1717
+ var $2, $3, $1;
1718
+ $2 = smalltalk.send(self, "_new", []);
1719
+ smalltalk.send($2, "_environment_", [anEnvironment]);
1720
+ $3 = smalltalk.send($2, "_yourself", []);
1721
+ $1 = $3;
1722
+ return $1;
1723
+ },
1724
+ args: ["anEnvironment"],
1725
+ source: "on: anEnvironment\x0a\x0a\x09^ self new\x0a \x09environment: anEnvironment;\x0a yourself",
1726
+ messageSends: ["environment:", "new", "yourself"],
1727
+ referencedClasses: []
1728
+ }),
1729
+ smalltalk.HLBrowserModel.klass);
1730
+
1731
+
1732
+ smalltalk.addClass('HLBrowserSourceWidget', smalltalk.HLWidget, ['model', 'codeWidget'], 'Helios-Browser');
1733
+ smalltalk.addMethod(
1734
+ "_codeWidget",
1735
+ smalltalk.method({
1736
+ selector: "codeWidget",
1737
+ category: 'accessing',
1738
+ fn: function () {
1739
+ var self = this;
1740
+ var $1;
1741
+ if (($receiver = self['@codeWidget']) == nil || $receiver == undefined) {
1742
+ self['@codeWidget'] = smalltalk.send(smalltalk.HLCodeWidget || HLCodeWidget, "_new", []);
1743
+ $1 = self['@codeWidget'];
1744
+ } else {
1745
+ $1 = self['@codeWidget'];
1746
+ }
1747
+ return $1;
1748
+ },
1749
+ args: [],
1750
+ source: "codeWidget\x0a\x09^ codeWidget ifNil: [ codeWidget := HLCodeWidget new ]",
1751
+ messageSends: ["ifNil:", "new"],
1752
+ referencedClasses: ["HLCodeWidget"]
1753
+ }),
1754
+ smalltalk.HLBrowserSourceWidget);
1755
+
1756
+ smalltalk.addMethod(
1757
+ "_contents",
1758
+ smalltalk.method({
1759
+ selector: "contents",
1760
+ category: 'accessing',
1761
+ fn: function () {
1762
+ var self = this;
1763
+ var $1;
1764
+ $1 = smalltalk.send(smalltalk.send(self, "_sourceArea", []), "_contents", []);
1765
+ return $1;
1766
+ },
1767
+ args: [],
1768
+ source: "contents\x0a\x09^ self sourceArea contents",
1769
+ messageSends: ["contents", "sourceArea"],
1770
+ referencedClasses: []
1771
+ }),
1772
+ smalltalk.HLBrowserSourceWidget);
1773
+
1774
+ smalltalk.addMethod(
1775
+ "_contents_",
1776
+ smalltalk.method({
1777
+ selector: "contents:",
1778
+ category: 'accessing',
1779
+ fn: function (aString) {
1780
+ var self = this;
1781
+ smalltalk.send(smalltalk.send(self, "_codeWidget", []), "_contents_", [aString]);
1782
+ return self;
1783
+ },
1784
+ args: ["aString"],
1785
+ source: "contents: aString\x0a\x09self codeWidget contents: aString",
1786
+ messageSends: ["contents:", "codeWidget"],
1787
+ referencedClasses: []
1788
+ }),
1789
+ smalltalk.HLBrowserSourceWidget);
1790
+
1791
+ smalltalk.addMethod(
1792
+ "_model",
1793
+ smalltalk.method({
1794
+ selector: "model",
1795
+ category: 'accessing',
1796
+ fn: function () {
1797
+ var self = this;
1798
+ return self['@model'];
1799
+ },
1800
+ args: [],
1801
+ source: "model\x0a\x09^ model",
1802
+ messageSends: [],
1803
+ referencedClasses: []
1804
+ }),
1805
+ smalltalk.HLBrowserSourceWidget);
1806
+
1807
+ smalltalk.addMethod(
1808
+ "_model_",
1809
+ smalltalk.method({
1810
+ selector: "model:",
1811
+ category: 'accessing',
1812
+ fn: function (aBrowserModel) {
1813
+ var self = this;
1814
+ self['@model'] = aBrowserModel;
1815
+ smalltalk.send(self, "_observeModel", []);
1816
+ return self;
1817
+ },
1818
+ args: ["aBrowserModel"],
1819
+ source: "model: aBrowserModel\x0a\x09model := aBrowserModel.\x0a \x0a self observeModel",
1820
+ messageSends: ["observeModel"],
1821
+ referencedClasses: []
1822
+ }),
1823
+ smalltalk.HLBrowserSourceWidget);
1824
+
1825
+ smalltalk.addMethod(
1826
+ "_observeModel",
1827
+ smalltalk.method({
1828
+ selector: "observeModel",
1829
+ category: 'actions',
1830
+ fn: function () {
1831
+ var self = this;
1832
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_on_do_", [smalltalk.HLMethodSelected || HLMethodSelected, function (ann) {return smalltalk.send(self, "_onMethodSelected_", [smalltalk.send(ann, "_item", [])]);}]);
1833
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_on_do_", [smalltalk.HLClassSelected || HLClassSelected, function (ann) {return smalltalk.send(self, "_onClassSelected_", [smalltalk.send(ann, "_item", [])]);}]);
1834
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_on_do_", [smalltalk.HLProtocolSelected || HLProtocolSelected, function (ann) {return smalltalk.send(self, "_onProtocolSelected_", [smalltalk.send(ann, "_item", [])]);}]);
1835
+ return self;
1836
+ },
1837
+ args: [],
1838
+ source: "observeModel\x0a\x09self model announcer on: HLMethodSelected do: [ :ann |\x0a \x09self onMethodSelected: ann item ].\x0a self model announcer on: HLClassSelected do: [ :ann |\x0a \x09self onClassSelected: ann item ].\x0a self model announcer on: HLProtocolSelected do: [ :ann |\x0a \x09self onProtocolSelected: ann item ]",
1839
+ messageSends: ["on:do:", "onMethodSelected:", "item", "announcer", "model", "onClassSelected:", "onProtocolSelected:"],
1840
+ referencedClasses: ["HLMethodSelected", "HLClassSelected", "HLProtocolSelected"]
1841
+ }),
1842
+ smalltalk.HLBrowserSourceWidget);
1843
+
1844
+ smalltalk.addMethod(
1845
+ "_onClassSelected_",
1846
+ smalltalk.method({
1847
+ selector: "onClassSelected:",
1848
+ category: 'reactions',
1849
+ fn: function (aClass) {
1850
+ var self = this;
1851
+ var $1;
1852
+ if (($receiver = aClass) == nil || $receiver == undefined) {
1853
+ $1 = smalltalk.send(self, "_contents_", [""]);
1854
+ return $1;
1855
+ } else {
1856
+ }
1857
+ smalltalk.send(self, "_contents_", [smalltalk.send(aClass, "_definition", [])]);
1858
+ return self;
1859
+ },
1860
+ args: ["aClass"],
1861
+ source: "onClassSelected: aClass\x0a\x09aClass ifNil: [ ^ self contents: '' ].\x0a \x0a self contents: aClass definition",
1862
+ messageSends: ["ifNil:", "contents:", "definition"],
1863
+ referencedClasses: []
1864
+ }),
1865
+ smalltalk.HLBrowserSourceWidget);
1866
+
1867
+ smalltalk.addMethod(
1868
+ "_onMethodSelected_",
1869
+ smalltalk.method({
1870
+ selector: "onMethodSelected:",
1871
+ category: 'reactions',
1872
+ fn: function (aCompiledMethod) {
1873
+ var self = this;
1874
+ var $1;
1875
+ if (($receiver = aCompiledMethod) == nil || $receiver == undefined) {
1876
+ $1 = smalltalk.send(self, "_contents_", [""]);
1877
+ return $1;
1878
+ } else {
1879
+ }
1880
+ smalltalk.send(self, "_contents_", [smalltalk.send(aCompiledMethod, "_source", [])]);
1881
+ return self;
1882
+ },
1883
+ args: ["aCompiledMethod"],
1884
+ source: "onMethodSelected: aCompiledMethod\x0a\x09aCompiledMethod ifNil: [ ^ self contents: '' ].\x0a \x0a self contents: aCompiledMethod source",
1885
+ messageSends: ["ifNil:", "contents:", "source"],
1886
+ referencedClasses: []
1887
+ }),
1888
+ smalltalk.HLBrowserSourceWidget);
1889
+
1890
+ smalltalk.addMethod(
1891
+ "_onProtocolSelected_",
1892
+ smalltalk.method({
1893
+ selector: "onProtocolSelected:",
1894
+ category: 'reactions',
1895
+ fn: function (aString) {
1896
+ var self = this;
1897
+ var $1, $2;
1898
+ $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", []);
1899
+ if (($receiver = $1) == nil || $receiver == undefined) {
1900
+ $2 = smalltalk.send(self, "_contents_", [""]);
1901
+ return $2;
1902
+ } else {
1903
+ }
1904
+ smalltalk.send(self, "_contents_", [smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", []), "_definition", [])]);
1905
+ return self;
1906
+ },
1907
+ args: ["aString"],
1908
+ source: "onProtocolSelected: aString\x0a\x09self model selectedClass ifNil: [ ^ self contents: '' ].\x0a \x0a self contents: self model selectedClass definition",
1909
+ messageSends: ["ifNil:", "contents:", "selectedClass", "model", "definition"],
1910
+ referencedClasses: []
1911
+ }),
1912
+ smalltalk.HLBrowserSourceWidget);
1913
+
1914
+ smalltalk.addMethod(
1915
+ "_renderContentOn_",
1916
+ smalltalk.method({
1917
+ selector: "renderContentOn:",
1918
+ category: 'rendering',
1919
+ fn: function (html) {
1920
+ var self = this;
1921
+ smalltalk.send(smalltalk.send(self, "_codeWidget", []), "_renderOn_", [html]);
1922
+ return self;
1923
+ },
1924
+ args: ["html"],
1925
+ source: "renderContentOn: html\x0a\x09self codeWidget renderOn: html",
1926
+ messageSends: ["renderOn:", "codeWidget"],
1927
+ referencedClasses: []
1928
+ }),
1929
+ smalltalk.HLBrowserSourceWidget);
1930
+
1931
+
1932
+ smalltalk.addMethod(
1933
+ "_on_",
1934
+ smalltalk.method({
1935
+ selector: "on:",
1936
+ category: 'instance creation',
1937
+ fn: function (aBrowserModel) {
1938
+ var self = this;
1939
+ var $2, $3, $1;
1940
+ $2 = smalltalk.send(self, "_new", []);
1941
+ smalltalk.send($2, "_model_", [aBrowserModel]);
1942
+ $3 = smalltalk.send($2, "_yourself", []);
1943
+ $1 = $3;
1944
+ return $1;
1945
+ },
1946
+ args: ["aBrowserModel"],
1947
+ source: "on: aBrowserModel\x0a\x09^ self new\x0a \x09model: aBrowserModel;\x0a yourself",
1948
+ messageSends: ["model:", "new", "yourself"],
1949
+ referencedClasses: []
1950
+ }),
1951
+ smalltalk.HLBrowserSourceWidget.klass);
1952
+
1953
+