resin 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
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,799 @@
1
+ smalltalk.addPackage('Helios-Workspace', {});
2
+ smalltalk.addClass('HLCodeModel', smalltalk.Object, ['announcer', 'environment', 'receiver'], 'Helios-Workspace');
3
+ smalltalk.addMethod(
4
+ "_announcer",
5
+ smalltalk.method({
6
+ selector: "announcer",
7
+ fn: function () {
8
+ var self = this;
9
+ var $1;
10
+ if (($receiver = self['@announcer']) == nil || $receiver == undefined) {
11
+ self['@announcer'] = smalltalk.send(smalltalk.Announcer || Announcer, "_new", []);
12
+ $1 = self['@announcer'];
13
+ } else {
14
+ $1 = self['@announcer'];
15
+ }
16
+ return $1;
17
+ }
18
+ }),
19
+ smalltalk.HLCodeModel);
20
+
21
+ smalltalk.addMethod(
22
+ "_defaultReceiver",
23
+ smalltalk.method({
24
+ selector: "defaultReceiver",
25
+ fn: function () {
26
+ var self = this;
27
+ var $1;
28
+ $1 = smalltalk.send(smalltalk.DoIt || DoIt, "_new", []);
29
+ return $1;
30
+ }
31
+ }),
32
+ smalltalk.HLCodeModel);
33
+
34
+ smalltalk.addMethod(
35
+ "_doIt_",
36
+ smalltalk.method({
37
+ selector: "doIt:",
38
+ fn: function (someCode) {
39
+ var self = this;
40
+ var $1;
41
+ $1 = smalltalk.send(smalltalk.send(self, "_environment", []), "_eval_on_", [someCode, smalltalk.send(self, "_receiver", [])]);
42
+ return $1;
43
+ }
44
+ }),
45
+ smalltalk.HLCodeModel);
46
+
47
+ smalltalk.addMethod(
48
+ "_environment",
49
+ smalltalk.method({
50
+ selector: "environment",
51
+ fn: function () {
52
+ var self = this;
53
+ var $1;
54
+ if (($receiver = self['@environment']) == nil || $receiver == undefined) {
55
+ $1 = smalltalk.send(smalltalk.send(smalltalk.HLManager || HLManager, "_current", []), "_environment", []);
56
+ } else {
57
+ $1 = self['@environment'];
58
+ }
59
+ return $1;
60
+ }
61
+ }),
62
+ smalltalk.HLCodeModel);
63
+
64
+ smalltalk.addMethod(
65
+ "_environment_",
66
+ smalltalk.method({
67
+ selector: "environment:",
68
+ fn: function (anEnvironment) {
69
+ var self = this;
70
+ self['@environment'] = anEnvironment;
71
+ return self;
72
+ }
73
+ }),
74
+ smalltalk.HLCodeModel);
75
+
76
+ smalltalk.addMethod(
77
+ "_receiver",
78
+ smalltalk.method({
79
+ selector: "receiver",
80
+ fn: function () {
81
+ var self = this;
82
+ var $1;
83
+ if (($receiver = self['@receiver']) == nil || $receiver == undefined) {
84
+ self['@receiver'] = smalltalk.send(self, "_defaultReceiver", []);
85
+ $1 = self['@receiver'];
86
+ } else {
87
+ $1 = self['@receiver'];
88
+ }
89
+ return $1;
90
+ }
91
+ }),
92
+ smalltalk.HLCodeModel);
93
+
94
+ smalltalk.addMethod(
95
+ "_receiver_",
96
+ smalltalk.method({
97
+ selector: "receiver:",
98
+ fn: function (anObject) {
99
+ var self = this;
100
+ self['@receiver'] = anObject;
101
+ return self;
102
+ }
103
+ }),
104
+ smalltalk.HLCodeModel);
105
+
106
+ smalltalk.addMethod(
107
+ "_subscribe_",
108
+ smalltalk.method({
109
+ selector: "subscribe:",
110
+ fn: function (aWidget) {
111
+ var self = this;
112
+ smalltalk.send(aWidget, "_subscribeTo_", [smalltalk.send(self, "_announcer", [])]);
113
+ return self;
114
+ }
115
+ }),
116
+ smalltalk.HLCodeModel);
117
+
118
+
119
+ smalltalk.addMethod(
120
+ "_on_",
121
+ smalltalk.method({
122
+ selector: "on:",
123
+ fn: function (anEnvironment) {
124
+ var self = this;
125
+ var $2, $3, $1;
126
+ $2 = smalltalk.send(self, "_new", []);
127
+ smalltalk.send($2, "_environment_", [anEnvironment]);
128
+ $3 = smalltalk.send($2, "_yourself", []);
129
+ $1 = $3;
130
+ return $1;
131
+ }
132
+ }),
133
+ smalltalk.HLCodeModel.klass);
134
+
135
+
136
+ smalltalk.addClass('HLCodeWidget', smalltalk.HLWidget, ['model', 'wrapper', 'code', 'editor'], 'Helios-Workspace');
137
+ smalltalk.addMethod(
138
+ "_announcer",
139
+ smalltalk.method({
140
+ selector: "announcer",
141
+ fn: function () {
142
+ var self = this;
143
+ var $1;
144
+ $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []);
145
+ return $1;
146
+ }
147
+ }),
148
+ smalltalk.HLCodeWidget);
149
+
150
+ smalltalk.addMethod(
151
+ "_clear",
152
+ smalltalk.method({
153
+ selector: "clear",
154
+ fn: function () {
155
+ var self = this;
156
+ smalltalk.send(self, "_contents_", [""]);
157
+ return self;
158
+ }
159
+ }),
160
+ smalltalk.HLCodeWidget);
161
+
162
+ smalltalk.addMethod(
163
+ "_contents",
164
+ smalltalk.method({
165
+ selector: "contents",
166
+ fn: function (){
167
+ var self=this;
168
+ var $1;
169
+ $1=smalltalk.send(self["@editor"],"_getValue",[]);
170
+ return $1;
171
+ }
172
+ }),
173
+ smalltalk.HLCodeWidget);
174
+
175
+ smalltalk.addMethod(
176
+ "_contents_",
177
+ smalltalk.method({
178
+ selector: "contents:",
179
+ fn: function (aString){
180
+ var self=this;
181
+ smalltalk.send(self["@editor"],"_setValue_",[aString]);
182
+ return self}
183
+ }),
184
+ smalltalk.HLCodeWidget);
185
+
186
+ smalltalk.addMethod(
187
+ "_currentLine",
188
+ smalltalk.method({
189
+ selector: "currentLine",
190
+ fn: function () {
191
+ var self = this;
192
+ var $1;
193
+ $1 = smalltalk.send(self['@editor'], "_getLine_", [smalltalk.send(smalltalk.send(self['@editor'], "_getCursor", []), "_line", [])]);
194
+ return $1;
195
+ }
196
+ }),
197
+ smalltalk.HLCodeWidget);
198
+
199
+ smalltalk.addMethod(
200
+ "_currentLineOrSelection",
201
+ smalltalk.method({
202
+ selector: "currentLineOrSelection",
203
+ fn: function () {
204
+ var self = this;
205
+ var $2, $1;
206
+ $2 = smalltalk.send(self['@editor'], "_somethingSelected", []);
207
+ if (smalltalk.assert($2)) {
208
+ $1 = smalltalk.send(self, "_selection", []);
209
+ } else {
210
+ $1 = smalltalk.send(self, "_currentLine", []);
211
+ }
212
+ return $1;
213
+ }
214
+ }),
215
+ smalltalk.HLCodeWidget);
216
+
217
+ smalltalk.addMethod(
218
+ "_doIt",
219
+ smalltalk.method({
220
+ selector: "doIt",
221
+ fn: function () {
222
+ var self = this;
223
+ var result;
224
+ smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLDoItRequested || HLDoItRequested, "_on_", [self['@model']])]);
225
+ result = smalltalk.send(self['@model'], "_doIt_", [smalltalk.send(self, "_currentLineOrSelection", [])]);
226
+ smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLDoItExecuted || HLDoItExecuted, "_on_", [self['@model']])]);
227
+ return result;
228
+ }
229
+ }),
230
+ smalltalk.HLCodeWidget);
231
+
232
+ smalltalk.addMethod(
233
+ "_editor",
234
+ smalltalk.method({
235
+ selector: "editor",
236
+ fn: function () {
237
+ var self = this;
238
+ return self['@editor'];
239
+ }
240
+ }),
241
+ smalltalk.HLCodeWidget);
242
+
243
+ smalltalk.addMethod(
244
+ "_focus",
245
+ smalltalk.method({
246
+ selector: "focus",
247
+ fn: function () {
248
+ var self = this;
249
+ smalltalk.send(smalltalk.send(self, "_editor", []), "_focus", []);
250
+ return self;
251
+ }
252
+ }),
253
+ smalltalk.HLCodeWidget);
254
+
255
+ smalltalk.addMethod(
256
+ "_inspectIt",
257
+ smalltalk.method({
258
+ selector: "inspectIt",
259
+ fn: function () {
260
+ var self = this;
261
+ var newInspector;
262
+ smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLInspectItRequested || HLInspectItRequested, "_on_", [self['@model']])]);
263
+ newInspector = smalltalk.send(self, "_makeInspectorOn_", [smalltalk.send(self, "_doIt", [])]);
264
+ smalltalk.send(newInspector, "_open", []);
265
+ return self;
266
+ }
267
+ }),
268
+ smalltalk.HLCodeWidget);
269
+
270
+ smalltalk.addMethod(
271
+ "_makeInspectorOn_",
272
+ smalltalk.method({
273
+ selector: "makeInspectorOn:",
274
+ fn: function (anObject) {
275
+ var self = this;
276
+ var $2, $3, $1;
277
+ $2 = smalltalk.send(smalltalk.HLInspector || HLInspector, "_new", []);
278
+ smalltalk.send($2, "_inspect_", [anObject]);
279
+ $3 = smalltalk.send($2, "_yourself", []);
280
+ $1 = $3;
281
+ return $1;
282
+ }
283
+ }),
284
+ smalltalk.HLCodeWidget);
285
+
286
+ smalltalk.addMethod(
287
+ "_model",
288
+ smalltalk.method({
289
+ selector: "model",
290
+ fn: function () {
291
+ var self = this;
292
+ var $1;
293
+ if (($receiver = self['@model']) == nil || $receiver == undefined) {
294
+ smalltalk.send(self, "_model_", [smalltalk.send(smalltalk.HLCodeModel || HLCodeModel, "_new", [])]);
295
+ $1 = self['@model'];
296
+ } else {
297
+ $1 = self['@model'];
298
+ }
299
+ return $1;
300
+ }
301
+ }),
302
+ smalltalk.HLCodeWidget);
303
+
304
+ smalltalk.addMethod(
305
+ "_model_",
306
+ smalltalk.method({
307
+ selector: "model:",
308
+ fn: function (aModel){
309
+ var self=this;
310
+ self["@model"]=aModel;
311
+ return self}
312
+ }),
313
+ smalltalk.HLCodeWidget);
314
+
315
+ smalltalk.addMethod(
316
+ "_observeWrapper",
317
+ smalltalk.method({
318
+ selector: "observeWrapper",
319
+ fn: function () {
320
+ var self = this;
321
+ smalltalk.send(self['@wrapper'], "_onKeyDown_", [function (e) {return smalltalk.send(self, "_onKeyDown_", [e]);}]);
322
+ return self;
323
+ }
324
+ }),
325
+ smalltalk.HLCodeWidget);
326
+
327
+ smalltalk.addMethod(
328
+ "_onDoIt",
329
+ smalltalk.method({
330
+ selector: "onDoIt",
331
+ fn: function () {
332
+ var self = this;
333
+ smalltalk.send(self, "_doIt", []);
334
+ return self;
335
+ }
336
+ }),
337
+ smalltalk.HLCodeWidget);
338
+
339
+ smalltalk.addMethod(
340
+ "_onInspectIt",
341
+ smalltalk.method({
342
+ selector: "onInspectIt",
343
+ fn: function () {
344
+ var self = this;
345
+ smalltalk.send(self, "_inspectIt", []);
346
+ return self;
347
+ }
348
+ }),
349
+ smalltalk.HLCodeWidget);
350
+
351
+ smalltalk.addMethod(
352
+ "_onKeyDown_",
353
+ smalltalk.method({
354
+ selector: "onKeyDown:",
355
+ fn: function (anEvent) {
356
+ var self = this;
357
+ if (anEvent.ctrlKey) {
358
+ if (anEvent.keyCode === 80) {
359
+ self._onPrintIt();
360
+ anEvent.preventDefault();
361
+ return false;
362
+ }
363
+ if (anEvent.keyCode === 68) {
364
+ self._onDoIt();
365
+ anEvent.preventDefault();
366
+ return false;
367
+ }
368
+ if (anEvent.keyCode === 73) {
369
+ self._onInspectIt();
370
+ anEvent.preventDefault();
371
+ return false;
372
+ }
373
+ }
374
+ return self;
375
+ }
376
+ }),
377
+ smalltalk.HLCodeWidget);
378
+
379
+ smalltalk.addMethod(
380
+ "_onPrintIt",
381
+ smalltalk.method({
382
+ selector: "onPrintIt",
383
+ fn: function () {
384
+ var self = this;
385
+ smalltalk.send(self, "_printIt", []);
386
+ return self;
387
+ }
388
+ }),
389
+ smalltalk.HLCodeWidget);
390
+
391
+ smalltalk.addMethod(
392
+ "_print_",
393
+ smalltalk.method({
394
+ selector: "print:",
395
+ fn: function (aString) {
396
+ var self = this;
397
+ var start;
398
+ var stop;
399
+ start = smalltalk.send(smalltalk.HashedCollection || HashedCollection, "_new", []);
400
+ stop = smalltalk.send(smalltalk.HashedCollection || HashedCollection, "_new", []);
401
+ smalltalk.send(start, "_at_put_", ["line", smalltalk.send(smalltalk.send(self['@editor'], "_getCursor_", [false]), "_line", [])]);
402
+ smalltalk.send(start, "_at_put_", ["ch", smalltalk.send(smalltalk.send(self['@editor'], "_getCursor_", [false]), "_ch", [])]);
403
+ smalltalk.send(stop, "_at_put_", ["line", smalltalk.send(start, "_at_", ["line"])]);
404
+ smalltalk.send(stop, "_at_put_", ["ch", smalltalk.send(smalltalk.send(smalltalk.send(start, "_at_", ["ch"]), "__plus", [smalltalk.send(aString, "_size", [])]), "__plus", [2])]);
405
+ smalltalk.send(self['@editor'], "_replaceSelection_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self['@editor'], "_getSelection", []), "__comma", [" "]), "__comma", [aString]), "__comma", [" "])]);
406
+ smalltalk.send(self['@editor'], "_setCursor_", [smalltalk.send(self['@editor'], "_getCursor_", [true])]);
407
+ smalltalk.send(self['@editor'], "_setSelection_end_", [stop, start]);
408
+ return self;
409
+ }
410
+ }),
411
+ smalltalk.HLCodeWidget);
412
+
413
+ smalltalk.addMethod(
414
+ "_printIt",
415
+ smalltalk.method({
416
+ selector: "printIt",
417
+ fn: function () {
418
+ var self = this;
419
+ var result;
420
+ result = smalltalk.send(self, "_doIt", []);
421
+ smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLPrintItRequested || HLPrintItRequested, "_on_", [self['@model']])]);
422
+ smalltalk.send(self, "_print_", [smalltalk.send(result, "_printString", [])]);
423
+ smalltalk.send(self, "_focus", []);
424
+ return self;
425
+ }
426
+ }),
427
+ smalltalk.HLCodeWidget);
428
+
429
+ smalltalk.addMethod(
430
+ "_receiver",
431
+ smalltalk.method({
432
+ selector: "receiver",
433
+ fn: function () {
434
+ var self = this;
435
+ var $1;
436
+ $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_receiver", []);
437
+ return $1;
438
+ }
439
+ }),
440
+ smalltalk.HLCodeWidget);
441
+
442
+ smalltalk.addMethod(
443
+ "_receiver_",
444
+ smalltalk.method({
445
+ selector: "receiver:",
446
+ fn: function (anObject) {
447
+ var self = this;
448
+ smalltalk.send(smalltalk.send(self, "_model", []), "_receiver_", [anObject]);
449
+ return self;
450
+ }
451
+ }),
452
+ smalltalk.HLCodeWidget);
453
+
454
+ smalltalk.addMethod(
455
+ "_renderContentOn_",
456
+ smalltalk.method({
457
+ selector: "renderContentOn:",
458
+ fn: function (html){
459
+ var self=this;
460
+ self["@code"]=smalltalk.send(html,"_textarea",[]);
461
+ smalltalk.send(self,"_setEditorOn_",[smalltalk.send(self["@code"],"_element",[])]);
462
+ smalltalk.send(self,"_observeWrapper",[]);
463
+ return self}
464
+ }),
465
+ smalltalk.HLCodeWidget);
466
+
467
+ smalltalk.addMethod(
468
+ "_selection",
469
+ smalltalk.method({
470
+ selector: "selection",
471
+ fn: function () {
472
+ var self = this;
473
+ var $1;
474
+ $1 = smalltalk.send(self['@editor'], "_getSelection", []);
475
+ return $1;
476
+ }
477
+ }),
478
+ smalltalk.HLCodeWidget);
479
+
480
+ smalltalk.addMethod(
481
+ "_selectionEnd",
482
+ smalltalk.method({
483
+ selector: "selectionEnd",
484
+ fn: function () {
485
+ var self = this;
486
+ var $1;
487
+ $1 = smalltalk.send(smalltalk.send(self['@code'], "_element", []), "_selectionEnd", []);
488
+ return $1;
489
+ }
490
+ }),
491
+ smalltalk.HLCodeWidget);
492
+
493
+ smalltalk.addMethod(
494
+ "_selectionEnd_",
495
+ smalltalk.method({
496
+ selector: "selectionEnd:",
497
+ fn: function (anInteger) {
498
+ var self = this;
499
+ smalltalk.send(smalltalk.send(self['@code'], "_element", []), "_selectionEnd_", [anInteger]);
500
+ return self;
501
+ }
502
+ }),
503
+ smalltalk.HLCodeWidget);
504
+
505
+ smalltalk.addMethod(
506
+ "_selectionStart",
507
+ smalltalk.method({
508
+ selector: "selectionStart",
509
+ fn: function () {
510
+ var self = this;
511
+ var $1;
512
+ $1 = smalltalk.send(smalltalk.send(self['@code'], "_element", []), "_selectionStart", []);
513
+ return $1;
514
+ }
515
+ }),
516
+ smalltalk.HLCodeWidget);
517
+
518
+ smalltalk.addMethod(
519
+ "_selectionStart_",
520
+ smalltalk.method({
521
+ selector: "selectionStart:",
522
+ fn: function (anInteger) {
523
+ var self = this;
524
+ smalltalk.send(smalltalk.send(self['@code'], "_element", []), "_selectionStart_", [anInteger]);
525
+ return self;
526
+ }
527
+ }),
528
+ smalltalk.HLCodeWidget);
529
+
530
+ smalltalk.addMethod(
531
+ "_setEditorOn_",
532
+ smalltalk.method({
533
+ selector: "setEditorOn:",
534
+ fn: function (aTextarea) {
535
+ var self = this;
536
+ self['@editor'] = CodeMirror.fromTextArea(aTextarea, {theme: "amber", lineNumbers: true, enterMode: "flat", matchBrackets: true, electricChars: false});
537
+ return self;
538
+ }
539
+ }),
540
+ smalltalk.HLCodeWidget);
541
+
542
+
543
+
544
+ smalltalk.addClass('HLWorkspace', smalltalk.HLWidget, ['model', 'codeWidget'], 'Helios-Workspace');
545
+ smalltalk.addMethod(
546
+ "_codeWidget",
547
+ smalltalk.method({
548
+ selector: "codeWidget",
549
+ fn: function () {
550
+ var self = this;
551
+ var $2, $3, $1;
552
+ if (($receiver = self['@codeWidget']) == nil || $receiver == undefined) {
553
+ $2 = smalltalk.send(smalltalk.HLCodeWidget || HLCodeWidget, "_new", []);
554
+ smalltalk.send($2, "_model_", [smalltalk.send(smalltalk.send(self, "_model", []), "_code", [])]);
555
+ $3 = smalltalk.send($2, "_yourself", []);
556
+ self['@codeWidget'] = $3;
557
+ $1 = self['@codeWidget'];
558
+ } else {
559
+ $1 = self['@codeWidget'];
560
+ }
561
+ return $1;
562
+ }
563
+ }),
564
+ smalltalk.HLWorkspace);
565
+
566
+ smalltalk.addMethod(
567
+ "_model",
568
+ smalltalk.method({
569
+ selector: "model",
570
+ fn: function () {
571
+ var self = this;
572
+ var $1;
573
+ if (($receiver = self['@model']) == nil || $receiver == undefined) {
574
+ smalltalk.send(self, "_model_", [smalltalk.send(smalltalk.HLWorkspaceModel || HLWorkspaceModel, "_new", [])]);
575
+ $1 = self['@model'];
576
+ } else {
577
+ $1 = self['@model'];
578
+ }
579
+ return $1;
580
+ }
581
+ }),
582
+ smalltalk.HLWorkspace);
583
+
584
+ smalltalk.addMethod(
585
+ "_model_",
586
+ smalltalk.method({
587
+ selector: "model:",
588
+ fn: function (aModel) {
589
+ var self = this;
590
+ self['@model'] = aModel;
591
+ smalltalk.send(smalltalk.send(self, "_codeWidget", []), "_model_", [smalltalk.send(aModel, "_code", [])]);
592
+ smalltalk.send(self, "_observeCodeWidget", []);
593
+ return self;
594
+ }
595
+ }),
596
+ smalltalk.HLWorkspace);
597
+
598
+ smalltalk.addMethod(
599
+ "_observeCodeWidget",
600
+ smalltalk.method({
601
+ selector: "observeCodeWidget",
602
+ fn: function () {
603
+ var self = this;
604
+ return self;
605
+ }
606
+ }),
607
+ smalltalk.HLWorkspace);
608
+
609
+ smalltalk.addMethod(
610
+ "_onDoIt",
611
+ smalltalk.method({
612
+ selector: "onDoIt",
613
+ fn: function () {
614
+ var self = this;
615
+ return self;
616
+ }
617
+ }),
618
+ smalltalk.HLWorkspace);
619
+
620
+ smalltalk.addMethod(
621
+ "_onInspectIt",
622
+ smalltalk.method({
623
+ selector: "onInspectIt",
624
+ fn: function () {
625
+ var self = this;
626
+ return self;
627
+ }
628
+ }),
629
+ smalltalk.HLWorkspace);
630
+
631
+ smalltalk.addMethod(
632
+ "_onPrintIt",
633
+ smalltalk.method({
634
+ selector: "onPrintIt",
635
+ fn: function () {
636
+ var self = this;
637
+ return self;
638
+ }
639
+ }),
640
+ smalltalk.HLWorkspace);
641
+
642
+ smalltalk.addMethod(
643
+ "_renderContentOn_",
644
+ smalltalk.method({
645
+ selector: "renderContentOn:",
646
+ fn: function (html) {
647
+ var self = this;
648
+ smalltalk.send(html, "_with_", [smalltalk.send(self, "_codeWidget", [])]);
649
+ return self;
650
+ }
651
+ }),
652
+ smalltalk.HLWorkspace);
653
+
654
+
655
+ smalltalk.addMethod(
656
+ "_canBeOpenAsTab",
657
+ smalltalk.method({
658
+ selector: "canBeOpenAsTab",
659
+ fn: function () {
660
+ var self = this;
661
+ return true;
662
+ }
663
+ }),
664
+ smalltalk.HLWorkspace.klass);
665
+
666
+ smalltalk.addMethod(
667
+ "_tabLabel",
668
+ smalltalk.method({
669
+ selector: "tabLabel",
670
+ fn: function () {
671
+ var self = this;
672
+ return "Workspace";
673
+ }
674
+ }),
675
+ smalltalk.HLWorkspace.klass);
676
+
677
+ smalltalk.addMethod(
678
+ "_tabPriority",
679
+ smalltalk.method({
680
+ selector: "tabPriority",
681
+ fn: function () {
682
+ var self = this;
683
+ return 10;
684
+ }
685
+ }),
686
+ smalltalk.HLWorkspace.klass);
687
+
688
+
689
+ smalltalk.addClass('HLWorkspaceModel', smalltalk.Object, ['announcer', 'environment', 'code'], 'Helios-Workspace');
690
+ smalltalk.addMethod(
691
+ "_announcer",
692
+ smalltalk.method({
693
+ selector: "announcer",
694
+ fn: function () {
695
+ var self = this;
696
+ var $1;
697
+ if (($receiver = self['@announcer']) == nil || $receiver == undefined) {
698
+ self['@announcer'] = smalltalk.send(smalltalk.Announcer || Announcer, "_new", []);
699
+ $1 = self['@announcer'];
700
+ } else {
701
+ $1 = self['@announcer'];
702
+ }
703
+ return $1;
704
+ }
705
+ }),
706
+ smalltalk.HLWorkspaceModel);
707
+
708
+ smalltalk.addMethod(
709
+ "_code",
710
+ smalltalk.method({
711
+ selector: "code",
712
+ fn: function () {
713
+ var self = this;
714
+ var $1;
715
+ if (($receiver = self['@code']) == nil || $receiver == undefined) {
716
+ $1 = smalltalk.send(smalltalk.HLCodeModel || HLCodeModel, "_on_", [smalltalk.send(self, "_environment", [])]);
717
+ } else {
718
+ $1 = self['@code'];
719
+ }
720
+ return $1;
721
+ }
722
+ }),
723
+ smalltalk.HLWorkspaceModel);
724
+
725
+ smalltalk.addMethod(
726
+ "_environment",
727
+ smalltalk.method({
728
+ selector: "environment",
729
+ fn: function () {
730
+ var self = this;
731
+ var $1;
732
+ if (($receiver = self['@environment']) == nil || $receiver == undefined) {
733
+ $1 = smalltalk.send(smalltalk.send(smalltalk.HLManager || HLManager, "_current", []), "_environment", []);
734
+ } else {
735
+ $1 = self['@environment'];
736
+ }
737
+ return $1;
738
+ }
739
+ }),
740
+ smalltalk.HLWorkspaceModel);
741
+
742
+ smalltalk.addMethod(
743
+ "_environment_",
744
+ smalltalk.method({
745
+ selector: "environment:",
746
+ fn: function (anEnvironment) {
747
+ var self = this;
748
+ self['@environment'] = anEnvironment;
749
+ return self;
750
+ }
751
+ }),
752
+ smalltalk.HLWorkspaceModel);
753
+
754
+ smalltalk.addMethod(
755
+ "_onKeyDown_",
756
+ smalltalk.method({
757
+ selector: "onKeyDown:",
758
+ fn: function (anEvent) {
759
+ var self = this;
760
+ if (anEvent.ctrlKey) {
761
+ if (anEvent.keyCode === 80) {
762
+ self._printIt();
763
+ anEvent.preventDefault();
764
+ return false;
765
+ }
766
+ if (anEvent.keyCode === 68) {
767
+ self._doIt();
768
+ anEvent.preventDefault();
769
+ return false;
770
+ }
771
+ if (anEvent.keyCode === 73) {
772
+ self._inspectIt();
773
+ anEvent.preventDefault();
774
+ return false;
775
+ }
776
+ }
777
+ return self;
778
+ }
779
+ }),
780
+ smalltalk.HLWorkspaceModel);
781
+
782
+
783
+ smalltalk.addMethod(
784
+ "_on_",
785
+ smalltalk.method({
786
+ selector: "on:",
787
+ fn: function (anEnvironment) {
788
+ var self = this;
789
+ var $2, $3, $1;
790
+ $2 = smalltalk.send(self, "_new", []);
791
+ smalltalk.send($2, "_environment_", [anEnvironment]);
792
+ $3 = smalltalk.send($2, "_yourself", []);
793
+ $1 = $3;
794
+ return $1;
795
+ }
796
+ }),
797
+ smalltalk.HLWorkspaceModel.klass);
798
+
799
+