Helios-Workspace.deploy.js 19 KB

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