Helios-Workspace.deploy.js 19 KB

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