Helios-Workspace.js 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341
  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. category: 'accessing',
  8. fn: function (){
  9. var self=this;
  10. var $1;
  11. if(($receiver = self["@announcer"]) == nil || $receiver == undefined){
  12. $1=smalltalk.send(self,"_initializeAnnouncer",[]);
  13. } else {
  14. $1=self["@announcer"];
  15. };
  16. return $1;
  17. },
  18. args: [],
  19. source: "announcer\x0a\x09^ announcer ifNil: [ self initializeAnnouncer ]",
  20. messageSends: ["ifNil:", "initializeAnnouncer"],
  21. referencedClasses: []
  22. }),
  23. smalltalk.HLCodeModel);
  24. smalltalk.addMethod(
  25. "_doIt_do_",
  26. smalltalk.method({
  27. selector: "doIt:do:",
  28. category: 'actions',
  29. fn: function (someCode,aReaction){
  30. var self=this;
  31. var result;
  32. result=smalltalk.send(smalltalk.send(self,"_environment",[]),"_eval_on_",[someCode,smalltalk.send(self,"_receiver",[])]);
  33. smalltalk.send(aReaction,"_value_",[result]);
  34. return result;
  35. },
  36. args: ["someCode", "aReaction"],
  37. source: "doIt: someCode do: aReaction\x0a\x0a\x09| result |\x0a result := self environment eval: someCode on: self receiver.\x0a\x09aReaction value: result.\x0a ^result",
  38. messageSends: ["eval:on:", "receiver", "environment", "value:"],
  39. referencedClasses: []
  40. }),
  41. smalltalk.HLCodeModel);
  42. smalltalk.addMethod(
  43. "_environment",
  44. smalltalk.method({
  45. selector: "environment",
  46. category: 'accessing',
  47. fn: function (){
  48. var self=this;
  49. var $1;
  50. if(($receiver = self["@environment"]) == nil || $receiver == undefined){
  51. $1=smalltalk.send(self,"_initializeEnvironment",[]);
  52. } else {
  53. $1=self["@environment"];
  54. };
  55. return $1;
  56. },
  57. args: [],
  58. source: "environment\x0a\x09^ environment ifNil: [ self initializeEnvironment]",
  59. messageSends: ["ifNil:", "initializeEnvironment"],
  60. referencedClasses: []
  61. }),
  62. smalltalk.HLCodeModel);
  63. smalltalk.addMethod(
  64. "_environment_",
  65. smalltalk.method({
  66. selector: "environment:",
  67. category: 'accessing',
  68. fn: function (anEnvironment){
  69. var self=this;
  70. self["@environment"]=anEnvironment;
  71. return self},
  72. args: ["anEnvironment"],
  73. source: "environment: anEnvironment\x0a\x09environment := anEnvironment",
  74. messageSends: [],
  75. referencedClasses: []
  76. }),
  77. smalltalk.HLCodeModel);
  78. smalltalk.addMethod(
  79. "_initializeAnnouncer",
  80. smalltalk.method({
  81. selector: "initializeAnnouncer",
  82. category: 'initialization',
  83. fn: function (){
  84. var self=this;
  85. var $1;
  86. self["@announcer"]=smalltalk.send((smalltalk.Announcer || Announcer),"_new",[]);
  87. $1=self["@announcer"];
  88. return $1;
  89. },
  90. args: [],
  91. source: "initializeAnnouncer\x0a\x09^ announcer := Announcer new",
  92. messageSends: ["new"],
  93. referencedClasses: ["Announcer"]
  94. }),
  95. smalltalk.HLCodeModel);
  96. smalltalk.addMethod(
  97. "_initializeEnvironment",
  98. smalltalk.method({
  99. selector: "initializeEnvironment",
  100. category: 'initialization',
  101. fn: function (){
  102. var self=this;
  103. var $1;
  104. self["@environment"]=smalltalk.send((smalltalk.Smalltalk || Smalltalk),"_current",[]);
  105. $1=self["@environment"];
  106. return $1;
  107. },
  108. args: [],
  109. source: "initializeEnvironment\x0a\x09^ environment := Smalltalk current ",
  110. messageSends: ["current"],
  111. referencedClasses: ["Smalltalk"]
  112. }),
  113. smalltalk.HLCodeModel);
  114. smalltalk.addMethod(
  115. "_initializeReceiver",
  116. smalltalk.method({
  117. selector: "initializeReceiver",
  118. category: 'initialization',
  119. fn: function (){
  120. var self=this;
  121. var $1;
  122. self["@receiver"]=smalltalk.send((smalltalk.DoIt || DoIt),"_new",[]);
  123. $1=self["@receiver"];
  124. return $1;
  125. },
  126. args: [],
  127. source: "initializeReceiver\x0a\x09^receiver := DoIt new",
  128. messageSends: ["new"],
  129. referencedClasses: ["DoIt"]
  130. }),
  131. smalltalk.HLCodeModel);
  132. smalltalk.addMethod(
  133. "_receiver",
  134. smalltalk.method({
  135. selector: "receiver",
  136. category: 'accessing',
  137. fn: function (){
  138. var self=this;
  139. return self["@receiver"];
  140. },
  141. args: [],
  142. source: "receiver\x0a\x09^ receiver",
  143. messageSends: [],
  144. referencedClasses: []
  145. }),
  146. smalltalk.HLCodeModel);
  147. smalltalk.addMethod(
  148. "_receiver_",
  149. smalltalk.method({
  150. selector: "receiver:",
  151. category: 'accessing',
  152. fn: function (anObject){
  153. var self=this;
  154. self["@receiver"]=anObject;
  155. return self},
  156. args: ["anObject"],
  157. source: "receiver: anObject\x0a\x09receiver := anObject",
  158. messageSends: [],
  159. referencedClasses: []
  160. }),
  161. smalltalk.HLCodeModel);
  162. smalltalk.addMethod(
  163. "_subscribe_",
  164. smalltalk.method({
  165. selector: "subscribe:",
  166. category: 'actions',
  167. fn: function (aWidget){
  168. var self=this;
  169. smalltalk.send(aWidget,"_subscribeTo_",[smalltalk.send(self,"_announcer",[])]);
  170. return self},
  171. args: ["aWidget"],
  172. source: "subscribe: aWidget\x0a\x09aWidget subscribeTo: self announcer",
  173. messageSends: ["subscribeTo:", "announcer"],
  174. referencedClasses: []
  175. }),
  176. smalltalk.HLCodeModel);
  177. smalltalk.addMethod(
  178. "_on_",
  179. smalltalk.method({
  180. selector: "on:",
  181. category: 'actions',
  182. fn: function (anEnvironment){
  183. var self=this;
  184. var $2,$3,$1;
  185. $2=smalltalk.send(self,"_new",[]);
  186. smalltalk.send($2,"_environment_",[anEnvironment]);
  187. $3=smalltalk.send($2,"_yourself",[]);
  188. $1=$3;
  189. return $1;
  190. },
  191. args: ["anEnvironment"],
  192. source: "on: anEnvironment\x0a\x0a\x09^ self new\x0a \x09environment: anEnvironment;\x0a yourself",
  193. messageSends: ["environment:", "new", "yourself"],
  194. referencedClasses: []
  195. }),
  196. smalltalk.HLCodeModel.klass);
  197. smalltalk.addClass('HLCodeWidget', smalltalk.HLWidget, ['model', 'wrapper', 'code', 'editor', 'doItReaction'], 'Helios-Workspace');
  198. smalltalk.addMethod(
  199. "_announcer",
  200. smalltalk.method({
  201. selector: "announcer",
  202. category: 'accessing',
  203. fn: function (){
  204. var self=this;
  205. var $1;
  206. $1=smalltalk.send(smalltalk.send(self,"_model",[]),"_announcer",[]);
  207. return $1;
  208. },
  209. args: [],
  210. source: "announcer\x0a\x09^ self model announcer",
  211. messageSends: ["announcer", "model"],
  212. referencedClasses: []
  213. }),
  214. smalltalk.HLCodeWidget);
  215. smalltalk.addMethod(
  216. "_clear",
  217. smalltalk.method({
  218. selector: "clear",
  219. category: 'actions',
  220. fn: function (){
  221. var self=this;
  222. smalltalk.send(self,"_val_",[""]);
  223. return self},
  224. args: [],
  225. source: "clear\x0a self val: ''",
  226. messageSends: ["val:"],
  227. referencedClasses: []
  228. }),
  229. smalltalk.HLCodeWidget);
  230. smalltalk.addMethod(
  231. "_currentLine",
  232. smalltalk.method({
  233. selector: "currentLine",
  234. category: 'accessing',
  235. fn: function (){
  236. var self=this;
  237. var $1;
  238. $1=smalltalk.send(self["@editor"],"_getLine_",[smalltalk.send(smalltalk.send(self["@editor"],"_getCursor",[]),"_line",[])]);
  239. return $1;
  240. },
  241. args: [],
  242. source: "currentLine\x0a ^editor getLine: (editor getCursor line)",
  243. messageSends: ["getLine:", "line", "getCursor"],
  244. referencedClasses: []
  245. }),
  246. smalltalk.HLCodeWidget);
  247. smalltalk.addMethod(
  248. "_currentLineOrSelection",
  249. smalltalk.method({
  250. selector: "currentLineOrSelection",
  251. category: 'accessing',
  252. fn: function (){
  253. var self=this;
  254. var $2,$1;
  255. $2=smalltalk.send(self["@editor"],"_somethingSelected",[]);
  256. if(smalltalk.assert($2)){
  257. $1=smalltalk.send(self,"_selection",[]);
  258. } else {
  259. $1=smalltalk.send(self,"_currentLine",[]);
  260. };
  261. return $1;
  262. },
  263. args: [],
  264. source: "currentLineOrSelection\x0a ^editor somethingSelected\x0a\x09\x09ifFalse: [self currentLine]\x0a\x09\x09ifTrue: [self selection]",
  265. messageSends: ["ifFalse:ifTrue:", "currentLine", "selection", "somethingSelected"],
  266. referencedClasses: []
  267. }),
  268. smalltalk.HLCodeWidget);
  269. smalltalk.addMethod(
  270. "_doIt",
  271. smalltalk.method({
  272. selector: "doIt",
  273. category: 'actions',
  274. fn: function (){
  275. var self=this;
  276. var result;
  277. result=smalltalk.send(self["@model"],"_doIt_do_",[smalltalk.send(self,"_currentLineOrSelection",[]),smalltalk.send(self,"_doItReaction",[])]);
  278. smalltalk.send(smalltalk.send(self,"_announcer",[]),"_announce_",[smalltalk.send((smalltalk.HLDoItRequested || HLDoItRequested),"_on_",[self["@model"]])]);
  279. return result;
  280. },
  281. args: [],
  282. source: "doIt\x0a\x09| result |\x0a\x0a\x09result:= model \x0a \x09\x09\x09\x09doIt: self currentLineOrSelection \x0a \x09\x09\x09do: self doItReaction.\x0a \x0a\x09self announcer announce: (HLDoItRequested on: model).\x0a\x09^ result ",
  283. messageSends: ["doIt:do:", "currentLineOrSelection", "doItReaction", "announce:", "on:", "announcer"],
  284. referencedClasses: ["HLDoItRequested"]
  285. }),
  286. smalltalk.HLCodeWidget);
  287. smalltalk.addMethod(
  288. "_doItReaction",
  289. smalltalk.method({
  290. selector: "doItReaction",
  291. category: 'accessing',
  292. fn: function (){
  293. var self=this;
  294. var $1;
  295. if(($receiver = self["@doItReaction"]) == nil || $receiver == undefined){
  296. $1=smalltalk.send(self,"_initializeDoItReaction",[]);
  297. } else {
  298. $1=self["@doItReaction"];
  299. };
  300. return $1;
  301. },
  302. args: [],
  303. source: "doItReaction\x0a\x0a\x09^ doItReaction ifNil:[self initializeDoItReaction]",
  304. messageSends: ["ifNil:", "initializeDoItReaction"],
  305. referencedClasses: []
  306. }),
  307. smalltalk.HLCodeWidget);
  308. smalltalk.addMethod(
  309. "_doItReaction_",
  310. smalltalk.method({
  311. selector: "doItReaction:",
  312. category: 'accessing',
  313. fn: function (aBlock){
  314. var self=this;
  315. self["@doItReaction"]=aBlock;
  316. return self},
  317. args: ["aBlock"],
  318. source: "doItReaction: aBlock\x0a\x0a\x09doItReaction := aBlock",
  319. messageSends: [],
  320. referencedClasses: []
  321. }),
  322. smalltalk.HLCodeWidget);
  323. smalltalk.addMethod(
  324. "_editor",
  325. smalltalk.method({
  326. selector: "editor",
  327. category: 'actions',
  328. fn: function (){
  329. var self=this;
  330. return self["@editor"];
  331. },
  332. args: [],
  333. source: "editor\x0a\x09^editor",
  334. messageSends: [],
  335. referencedClasses: []
  336. }),
  337. smalltalk.HLCodeWidget);
  338. smalltalk.addMethod(
  339. "_focus",
  340. smalltalk.method({
  341. selector: "focus",
  342. category: 'actions',
  343. fn: function (){
  344. var self=this;
  345. smalltalk.send(smalltalk.send(self,"_editor",[]),"_focus",[]);
  346. return self},
  347. args: [],
  348. source: "focus\x0a self editor focus",
  349. messageSends: ["focus", "editor"],
  350. referencedClasses: []
  351. }),
  352. smalltalk.HLCodeWidget);
  353. smalltalk.addMethod(
  354. "_initializeDoItReaction",
  355. smalltalk.method({
  356. selector: "initializeDoItReaction",
  357. category: 'initialization',
  358. fn: function (){
  359. var self=this;
  360. var $1;
  361. self["@doItReaction"]=(function(){
  362. });
  363. $1=self["@doItReaction"];
  364. return $1;
  365. },
  366. args: [],
  367. source: "initializeDoItReaction\x0a\x0a\x09^ doItReaction := [\x22no-op\x22]",
  368. messageSends: [],
  369. referencedClasses: []
  370. }),
  371. smalltalk.HLCodeWidget);
  372. smalltalk.addMethod(
  373. "_inspectIt",
  374. smalltalk.method({
  375. selector: "inspectIt",
  376. category: 'actions',
  377. fn: function (){
  378. var self=this;
  379. var result;
  380. var newInspector;
  381. result=smalltalk.send(self,"_doIt",[]);
  382. smalltalk.send(smalltalk.send(self,"_announcer",[]),"_announce_",[smalltalk.send((smalltalk.HLInspectItRequested || HLInspectItRequested),"_on_",[self["@model"]])]);
  383. newInspector=smalltalk.send(self,"_makeInspectorOn_",[result]);
  384. smalltalk.send(newInspector,"_open",[]);
  385. return self},
  386. args: [],
  387. source: "inspectIt\x0a\x0a\x09| result newInspector |\x0a\x0a\x09result:= self doIt.\x0a \x0a\x09self announcer announce: (HLInspectItRequested on: model).\x0a\x09newInspector := self makeInspectorOn: result.\x0a\x09newInspector open",
  388. messageSends: ["doIt", "announce:", "on:", "announcer", "makeInspectorOn:", "open"],
  389. referencedClasses: ["HLInspectItRequested"]
  390. }),
  391. smalltalk.HLCodeWidget);
  392. smalltalk.addMethod(
  393. "_makeInspectorOn_",
  394. smalltalk.method({
  395. selector: "makeInspectorOn:",
  396. category: 'actions',
  397. fn: function (anObject){
  398. var self=this;
  399. var $2,$3,$1;
  400. $2=smalltalk.send((smalltalk.HLInspector || HLInspector),"_new",[]);
  401. smalltalk.send($2,"_inspect_",[self]);
  402. $3=smalltalk.send($2,"_yourself",[]);
  403. $1=$3;
  404. return $1;
  405. },
  406. args: ["anObject"],
  407. source: "makeInspectorOn: anObject\x0a\x0a\x09^ HLInspector new \x0a\x09\x09inspect: self;\x0a\x09\x09yourself",
  408. messageSends: ["inspect:", "new", "yourself"],
  409. referencedClasses: ["HLInspector"]
  410. }),
  411. smalltalk.HLCodeWidget);
  412. smalltalk.addMethod(
  413. "_model",
  414. smalltalk.method({
  415. selector: "model",
  416. category: 'accessing',
  417. fn: function (){
  418. var self=this;
  419. return self["@model"];
  420. },
  421. args: [],
  422. source: "model\x0a\x0a\x09^ model ",
  423. messageSends: [],
  424. referencedClasses: []
  425. }),
  426. smalltalk.HLCodeWidget);
  427. smalltalk.addMethod(
  428. "_model_",
  429. smalltalk.method({
  430. selector: "model:",
  431. category: 'accessing',
  432. fn: function (aModel){
  433. var self=this;
  434. self["@model"]=aModel;
  435. return self},
  436. args: ["aModel"],
  437. source: "model: aModel\x0a\x0a\x09model := aModel",
  438. messageSends: [],
  439. referencedClasses: []
  440. }),
  441. smalltalk.HLCodeWidget);
  442. smalltalk.addMethod(
  443. "_observeWrapper",
  444. smalltalk.method({
  445. selector: "observeWrapper",
  446. category: 'actions',
  447. fn: function (){
  448. var self=this;
  449. smalltalk.send(self["@wrapper"],"_onKeyDown_",[(function(e){
  450. return smalltalk.send(self,"_onKeyDown_",[e]);
  451. })]);
  452. return self},
  453. args: [],
  454. source: "observeWrapper\x0a\x0a wrapper onKeyDown: [:e | self onKeyDown: e]\x0a",
  455. messageSends: ["onKeyDown:"],
  456. referencedClasses: []
  457. }),
  458. smalltalk.HLCodeWidget);
  459. smalltalk.addMethod(
  460. "_onDoIt",
  461. smalltalk.method({
  462. selector: "onDoIt",
  463. category: 'reactions',
  464. fn: function (){
  465. var self=this;
  466. smalltalk.send(self,"_doIt",[]);
  467. return self},
  468. args: [],
  469. source: "onDoIt\x0a\x09\x0a self doIt",
  470. messageSends: ["doIt"],
  471. referencedClasses: []
  472. }),
  473. smalltalk.HLCodeWidget);
  474. smalltalk.addMethod(
  475. "_onInspectIt",
  476. smalltalk.method({
  477. selector: "onInspectIt",
  478. category: 'reactions',
  479. fn: function (){
  480. var self=this;
  481. smalltalk.send(self,"_inspectIt",[]);
  482. return self},
  483. args: [],
  484. source: "onInspectIt\x0a\x0a\x09self inspectIt",
  485. messageSends: ["inspectIt"],
  486. referencedClasses: []
  487. }),
  488. smalltalk.HLCodeWidget);
  489. smalltalk.addMethod(
  490. "_onKeyDown_",
  491. smalltalk.method({
  492. selector: "onKeyDown:",
  493. category: 'reactions',
  494. fn: function (anEvent){
  495. var self=this;
  496. if(anEvent.ctrlKey) {
  497. if(anEvent.keyCode === 80) { //ctrl+p
  498. self._onPrintIt();
  499. anEvent.preventDefault();
  500. return false;
  501. }
  502. if(anEvent.keyCode === 68) { //ctrl+d
  503. self._onDoIt();
  504. anEvent.preventDefault();
  505. return false;
  506. }
  507. if(anEvent.keyCode === 73) { //ctrl+i
  508. self._onInspectIt();
  509. anEvent.preventDefault();
  510. return false;
  511. }
  512. };
  513. ;
  514. return self},
  515. args: ["anEvent"],
  516. source: "onKeyDown: anEvent\x0a\x0a <if(anEvent.ctrlKey) {\x0a\x09\x09if(anEvent.keyCode === 80) { //ctrl+p\x0a\x09\x09\x09self._onPrintIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09\x09if(anEvent.keyCode === 68) { //ctrl+d\x0a\x09\x09\x09self._onDoIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09\x09if(anEvent.keyCode === 73) { //ctrl+i\x0a\x09\x09\x09self._onInspectIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09}>\x09",
  517. messageSends: [],
  518. referencedClasses: []
  519. }),
  520. smalltalk.HLCodeWidget);
  521. smalltalk.addMethod(
  522. "_onPrintIt",
  523. smalltalk.method({
  524. selector: "onPrintIt",
  525. category: 'reactions',
  526. fn: function (){
  527. var self=this;
  528. smalltalk.send(self,"_printIt",[]);
  529. return self},
  530. args: [],
  531. source: "onPrintIt\x0a\x0a\x09self printIt",
  532. messageSends: ["printIt"],
  533. referencedClasses: []
  534. }),
  535. smalltalk.HLCodeWidget);
  536. smalltalk.addMethod(
  537. "_print_",
  538. smalltalk.method({
  539. selector: "print:",
  540. category: 'actions',
  541. fn: function (aString){
  542. var self=this;
  543. var start;
  544. var stop;
  545. start=smalltalk.send((smalltalk.HashedCollection || HashedCollection),"_new",[]);
  546. stop=smalltalk.send((smalltalk.HashedCollection || HashedCollection),"_new",[]);
  547. smalltalk.send(start,"_at_put_",["line",smalltalk.send(smalltalk.send(self["@editor"],"_getCursor_",[false]),"_line",[])]);
  548. smalltalk.send(start,"_at_put_",["ch",smalltalk.send(smalltalk.send(self["@editor"],"_getCursor_",[false]),"_ch",[])]);
  549. smalltalk.send(stop,"_at_put_",["line",smalltalk.send(start,"_at_",["line"])]);
  550. smalltalk.send(stop,"_at_put_",["ch",smalltalk.send(smalltalk.send(smalltalk.send(start,"_at_",["ch"]),"__plus",[smalltalk.send(aString,"_size",[])]),"__plus",[(2)])]);
  551. smalltalk.send(self["@editor"],"_replaceSelection_",[smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self["@editor"],"_getSelection",[]),"__comma",[" "]),"__comma",[aString]),"__comma",[" "])]);
  552. smalltalk.send(self["@editor"],"_setCursor_",[smalltalk.send(self["@editor"],"_getCursor_",[true])]);
  553. smalltalk.send(self["@editor"],"_setSelection_end_",[stop,start]);
  554. return self},
  555. args: ["aString"],
  556. source: "print: aString\x0a\x09| start stop |\x0a\x09start := HashedCollection new.\x0a\x09stop := HashedCollection new.\x0a\x09start at: 'line' put: (editor getCursor: false) line.\x0a\x09start at: 'ch' put: (editor getCursor: false) ch.\x0a\x09stop at: 'line' put: (start at: 'line').\x0a\x09stop at: 'ch' put: ((start at: 'ch') + aString size + 2).\x0a\x09editor replaceSelection: (editor getSelection, ' ', aString, ' ').\x0a\x09editor setCursor: (editor getCursor: true).\x0a\x09editor setSelection: stop end: start",
  557. messageSends: ["new", "at:put:", "line", "getCursor:", "ch", "at:", "+", "size", "replaceSelection:", ",", "getSelection", "setCursor:", "setSelection:end:"],
  558. referencedClasses: ["HashedCollection"]
  559. }),
  560. smalltalk.HLCodeWidget);
  561. smalltalk.addMethod(
  562. "_printIt",
  563. smalltalk.method({
  564. selector: "printIt",
  565. category: 'actions',
  566. fn: function (){
  567. var self=this;
  568. var result;
  569. result=smalltalk.send(self,"_doIt",[]);
  570. smalltalk.send(smalltalk.send(self,"_announcer",[]),"_announce_",[smalltalk.send((smalltalk.HLPrintItRequested || HLPrintItRequested),"_on_",[self["@model"]])]);
  571. smalltalk.send(self,"_print_",[smalltalk.send(result,"_printString",[])]);
  572. smalltalk.send(self,"_focus",[]);
  573. return self},
  574. args: [],
  575. source: "printIt\x0a\x0a\x09| result |\x0a\x0a\x09result:= self doIt.\x0a \x0a\x09self announcer announce: (HLPrintItRequested on: model).\x0a\x0a self print: result printString.\x0a\x09self focus.",
  576. messageSends: ["doIt", "announce:", "on:", "announcer", "print:", "printString", "focus"],
  577. referencedClasses: ["HLPrintItRequested"]
  578. }),
  579. smalltalk.HLCodeWidget);
  580. smalltalk.addMethod(
  581. "_receiver",
  582. smalltalk.method({
  583. selector: "receiver",
  584. category: 'accessing',
  585. fn: function (){
  586. var self=this;
  587. var $1;
  588. $1=smalltalk.send(smalltalk.send(self,"_model",[]),"_receiver",[]);
  589. return $1;
  590. },
  591. args: [],
  592. source: "receiver\x0a\x09^ self model receiver",
  593. messageSends: ["receiver", "model"],
  594. referencedClasses: []
  595. }),
  596. smalltalk.HLCodeWidget);
  597. smalltalk.addMethod(
  598. "_receiver_",
  599. smalltalk.method({
  600. selector: "receiver:",
  601. category: 'accessing',
  602. fn: function (anObject){
  603. var self=this;
  604. smalltalk.send(smalltalk.send(self,"_model",[]),"_receiver_",[anObject]);
  605. return self},
  606. args: ["anObject"],
  607. source: "receiver: anObject\x0a\x09self model receiver: anObject",
  608. messageSends: ["receiver:", "model"],
  609. referencedClasses: []
  610. }),
  611. smalltalk.HLCodeWidget);
  612. smalltalk.addMethod(
  613. "_renderOn_",
  614. smalltalk.method({
  615. selector: "renderOn:",
  616. category: 'rendering',
  617. fn: function (html){
  618. var self=this;
  619. self["@wrapper"]=smalltalk.send(smalltalk.send(html,"_div",[]),"_class_",["code"]);
  620. smalltalk.send(smalltalk.send(smalltalk.send(self,"_observeWrapper",[]),"_wrapper",[]),"_with_",[(function(){
  621. self["@code"]=smalltalk.send(html,"_textarea",[]);
  622. return self["@code"];
  623. })]);
  624. smalltalk.send(self,"_setEditorOn_",[smalltalk.send(self["@code"],"_element",[])]);
  625. return self},
  626. args: ["html"],
  627. source: "renderOn: html\x0a wrapper := html div class: 'code'.\x0a self observeWrapper\x0a wrapper with: [code := html textarea].\x0a self setEditorOn: code element.\x0a \x0a",
  628. messageSends: ["class:", "div", "with:", "textarea", "wrapper", "observeWrapper", "setEditorOn:", "element"],
  629. referencedClasses: []
  630. }),
  631. smalltalk.HLCodeWidget);
  632. smalltalk.addMethod(
  633. "_selection",
  634. smalltalk.method({
  635. selector: "selection",
  636. category: 'accessing',
  637. fn: function (){
  638. var self=this;
  639. var $1;
  640. $1=smalltalk.send(self["@editor"],"_getSelection",[]);
  641. return $1;
  642. },
  643. args: [],
  644. source: "selection\x0a\x09^editor getSelection",
  645. messageSends: ["getSelection"],
  646. referencedClasses: []
  647. }),
  648. smalltalk.HLCodeWidget);
  649. smalltalk.addMethod(
  650. "_selectionEnd",
  651. smalltalk.method({
  652. selector: "selectionEnd",
  653. category: 'accessing',
  654. fn: function (){
  655. var self=this;
  656. var $1;
  657. $1=smalltalk.send(smalltalk.send(self["@code"],"_element",[]),"_selectionEnd",[]);
  658. return $1;
  659. },
  660. args: [],
  661. source: "selectionEnd\x0a ^code element selectionEnd",
  662. messageSends: ["selectionEnd", "element"],
  663. referencedClasses: []
  664. }),
  665. smalltalk.HLCodeWidget);
  666. smalltalk.addMethod(
  667. "_selectionEnd_",
  668. smalltalk.method({
  669. selector: "selectionEnd:",
  670. category: 'accessing',
  671. fn: function (anInteger){
  672. var self=this;
  673. smalltalk.send(smalltalk.send(self["@code"],"_element",[]),"_selectionEnd_",[anInteger]);
  674. return self},
  675. args: ["anInteger"],
  676. source: "selectionEnd: anInteger\x0a code element selectionEnd: anInteger",
  677. messageSends: ["selectionEnd:", "element"],
  678. referencedClasses: []
  679. }),
  680. smalltalk.HLCodeWidget);
  681. smalltalk.addMethod(
  682. "_selectionStart",
  683. smalltalk.method({
  684. selector: "selectionStart",
  685. category: 'accessing',
  686. fn: function (){
  687. var self=this;
  688. var $1;
  689. $1=smalltalk.send(smalltalk.send(self["@code"],"_element",[]),"_selectionStart",[]);
  690. return $1;
  691. },
  692. args: [],
  693. source: "selectionStart\x0a ^code element selectionStart",
  694. messageSends: ["selectionStart", "element"],
  695. referencedClasses: []
  696. }),
  697. smalltalk.HLCodeWidget);
  698. smalltalk.addMethod(
  699. "_selectionStart_",
  700. smalltalk.method({
  701. selector: "selectionStart:",
  702. category: 'accessing',
  703. fn: function (anInteger){
  704. var self=this;
  705. smalltalk.send(smalltalk.send(self["@code"],"_element",[]),"_selectionStart_",[anInteger]);
  706. return self},
  707. args: ["anInteger"],
  708. source: "selectionStart: anInteger\x0a code element selectionStart: anInteger",
  709. messageSends: ["selectionStart:", "element"],
  710. referencedClasses: []
  711. }),
  712. smalltalk.HLCodeWidget);
  713. smalltalk.addMethod(
  714. "_setEditorOn_",
  715. smalltalk.method({
  716. selector: "setEditorOn:",
  717. category: 'actions',
  718. fn: function (aTextarea){
  719. var self=this;
  720. self['@editor'] = CodeMirror.fromTextArea(aTextarea, {
  721. theme: 'amber',
  722. lineNumbers: true,
  723. enterMode: 'flat',
  724. matchBrackets: true,
  725. electricChars: false
  726. });
  727. ;
  728. return self},
  729. args: ["aTextarea"],
  730. source: "setEditorOn: aTextarea\x0a\x09<self['@editor'] = CodeMirror.fromTextArea(aTextarea, {\x0a\x09\x09theme: 'amber',\x0a lineNumbers: true,\x0a enterMode: 'flat',\x0a matchBrackets: true,\x0a electricChars: false\x0a\x09})>",
  731. messageSends: [],
  732. referencedClasses: []
  733. }),
  734. smalltalk.HLCodeWidget);
  735. smalltalk.addMethod(
  736. "_val",
  737. smalltalk.method({
  738. selector: "val",
  739. category: 'accessing',
  740. fn: function (){
  741. var self=this;
  742. var $1;
  743. $1=smalltalk.send(self["@code"],"_getValue",[]);
  744. return $1;
  745. },
  746. args: [],
  747. source: "val\x0a\x09^ code getValue",
  748. messageSends: ["getValue"],
  749. referencedClasses: []
  750. }),
  751. smalltalk.HLCodeWidget);
  752. smalltalk.addMethod(
  753. "_val_",
  754. smalltalk.method({
  755. selector: "val:",
  756. category: 'accessing',
  757. fn: function (aString){
  758. var self=this;
  759. smalltalk.send(self["@code"],"_setValue_",[aString]);
  760. return self},
  761. args: ["aString"],
  762. source: "val: aString\x0a code setValue: aString",
  763. messageSends: ["setValue:"],
  764. referencedClasses: []
  765. }),
  766. smalltalk.HLCodeWidget);
  767. smalltalk.addMethod(
  768. "_wrapper",
  769. smalltalk.method({
  770. selector: "wrapper",
  771. category: 'accessing',
  772. fn: function (){
  773. var self=this;
  774. return self["@wrapper"];
  775. },
  776. args: [],
  777. source: "wrapper\x0a\x0a\x09^ wrapper",
  778. messageSends: [],
  779. referencedClasses: []
  780. }),
  781. smalltalk.HLCodeWidget);
  782. smalltalk.addClass('HLWorkspace', smalltalk.HLWidget, ['model', 'code'], 'Helios-Workspace');
  783. smalltalk.addMethod(
  784. "_code",
  785. smalltalk.method({
  786. selector: "code",
  787. category: 'accessing',
  788. fn: function (){
  789. var self=this;
  790. var $1;
  791. if(($receiver = self["@code"]) == nil || $receiver == undefined){
  792. $1=smalltalk.send(self,"_initializeCode",[]);
  793. } else {
  794. $1=self["@code"];
  795. };
  796. return $1;
  797. },
  798. args: [],
  799. source: "code\x0a\x0a\x09^ code ifNil:[self initializeCode]",
  800. messageSends: ["ifNil:", "initializeCode"],
  801. referencedClasses: []
  802. }),
  803. smalltalk.HLWorkspace);
  804. smalltalk.addMethod(
  805. "_ensureModel",
  806. smalltalk.method({
  807. selector: "ensureModel",
  808. category: 'actions',
  809. fn: function (){
  810. var self=this;
  811. if(($receiver = self["@model"]) == nil || $receiver == undefined){
  812. smalltalk.send(self,"_model_",[smalltalk.send(self,"_model",[])]);
  813. } else {
  814. self["@model"];
  815. };
  816. return self},
  817. args: [],
  818. source: "ensureModel\x0a\x09\x22Sends the #model: initialization message if needed.\x22\x0a\x0a\x09model ifNil:[\x0a\x09\x09self model: self model]\x0a\x09",
  819. messageSends: ["ifNil:", "model:", "model"],
  820. referencedClasses: []
  821. }),
  822. smalltalk.HLWorkspace);
  823. smalltalk.addMethod(
  824. "_initializeCode",
  825. smalltalk.method({
  826. selector: "initializeCode",
  827. category: 'initialization',
  828. fn: function (){
  829. var self=this;
  830. var $1;
  831. self["@code"]=smalltalk.send(self,"_makeCode",[]);
  832. $1=self["@code"];
  833. return $1;
  834. },
  835. args: [],
  836. source: "initializeCode\x0a\x0a\x09^ code := self makeCode.",
  837. messageSends: ["makeCode"],
  838. referencedClasses: []
  839. }),
  840. smalltalk.HLWorkspace);
  841. smalltalk.addMethod(
  842. "_initializeModel",
  843. smalltalk.method({
  844. selector: "initializeModel",
  845. category: 'initialization',
  846. fn: function (){
  847. var self=this;
  848. var $1;
  849. self["@model"]=smalltalk.send((smalltalk.HLWorkspaceModel || HLWorkspaceModel),"_new",[]);
  850. $1=self["@model"];
  851. return $1;
  852. },
  853. args: [],
  854. source: "initializeModel\x0a\x0a\x09^ model := HLWorkspaceModel new",
  855. messageSends: ["new"],
  856. referencedClasses: ["HLWorkspaceModel"]
  857. }),
  858. smalltalk.HLWorkspace);
  859. smalltalk.addMethod(
  860. "_makeCode",
  861. smalltalk.method({
  862. selector: "makeCode",
  863. category: 'actions',
  864. fn: function (){
  865. var self=this;
  866. var $2,$3,$1;
  867. $2=smalltalk.send((smalltalk.HLCodeWidget || HLCodeWidget),"_new",[]);
  868. smalltalk.send($2,"_model_",[smalltalk.send(self["@model"],"_code",[])]);
  869. $3=smalltalk.send($2,"_yourself",[]);
  870. $1=$3;
  871. return $1;
  872. },
  873. args: [],
  874. source: "makeCode\x0a\x0a\x09^ HLCodeWidget new\x0a \x09model: model code;\x0a yourself",
  875. messageSends: ["model:", "code", "new", "yourself"],
  876. referencedClasses: ["HLCodeWidget"]
  877. }),
  878. smalltalk.HLWorkspace);
  879. smalltalk.addMethod(
  880. "_model",
  881. smalltalk.method({
  882. selector: "model",
  883. category: 'accessing',
  884. fn: function (){
  885. var self=this;
  886. var $1;
  887. if(($receiver = self["@model"]) == nil || $receiver == undefined){
  888. $1=smalltalk.send(self,"_initializeModel",[]);
  889. } else {
  890. $1=self["@model"];
  891. };
  892. return $1;
  893. },
  894. args: [],
  895. source: "model\x0a\x0a\x09^ model ifNil:[self initializeModel]",
  896. messageSends: ["ifNil:", "initializeModel"],
  897. referencedClasses: []
  898. }),
  899. smalltalk.HLWorkspace);
  900. smalltalk.addMethod(
  901. "_model_",
  902. smalltalk.method({
  903. selector: "model:",
  904. category: 'accessing',
  905. fn: function (aModel){
  906. var self=this;
  907. self["@model"]=aModel;
  908. smalltalk.send(smalltalk.send(self,"_code",[]),"_model_",[smalltalk.send(aModel,"_code",[])]);
  909. smalltalk.send(self,"_observeCode",[]);
  910. return self},
  911. args: ["aModel"],
  912. source: "model: aModel\x0a\x0a\x09model := aModel.\x0a \x0a self code model: aModel code.\x0a self observeCode.\x0a ",
  913. messageSends: ["model:", "code", "observeCode"],
  914. referencedClasses: []
  915. }),
  916. smalltalk.HLWorkspace);
  917. smalltalk.addMethod(
  918. "_observeCode",
  919. smalltalk.method({
  920. selector: "observeCode",
  921. category: 'actions',
  922. fn: function (){
  923. var self=this;
  924. return self},
  925. args: [],
  926. source: "observeCode\x0a\x0a",
  927. messageSends: [],
  928. referencedClasses: []
  929. }),
  930. smalltalk.HLWorkspace);
  931. smalltalk.addMethod(
  932. "_onDoIt",
  933. smalltalk.method({
  934. selector: "onDoIt",
  935. category: 'reactions',
  936. fn: function (){
  937. var self=this;
  938. return self},
  939. args: [],
  940. source: "onDoIt",
  941. messageSends: [],
  942. referencedClasses: []
  943. }),
  944. smalltalk.HLWorkspace);
  945. smalltalk.addMethod(
  946. "_onInspectIt",
  947. smalltalk.method({
  948. selector: "onInspectIt",
  949. category: 'reactions',
  950. fn: function (){
  951. var self=this;
  952. return self},
  953. args: [],
  954. source: "onInspectIt",
  955. messageSends: [],
  956. referencedClasses: []
  957. }),
  958. smalltalk.HLWorkspace);
  959. smalltalk.addMethod(
  960. "_onPrintIt",
  961. smalltalk.method({
  962. selector: "onPrintIt",
  963. category: 'reactions',
  964. fn: function (){
  965. var self=this;
  966. return self},
  967. args: [],
  968. source: "onPrintIt",
  969. messageSends: [],
  970. referencedClasses: []
  971. }),
  972. smalltalk.HLWorkspace);
  973. smalltalk.addMethod(
  974. "_renderContentOn_",
  975. smalltalk.method({
  976. selector: "renderContentOn:",
  977. category: 'rendering',
  978. fn: function (html){
  979. var self=this;
  980. smalltalk.send(self,"_ensureModel",[]);
  981. smalltalk.send(html,"_with_",[smalltalk.send(self,"_code",[])]);
  982. return self},
  983. args: ["html"],
  984. source: "renderContentOn: html\x0a\x0a\x09self ensureModel.\x0a \x0a\x09html with: self code\x0a ",
  985. messageSends: ["ensureModel", "with:", "code"],
  986. referencedClasses: []
  987. }),
  988. smalltalk.HLWorkspace);
  989. smalltalk.addMethod(
  990. "_canBeOpenAsTab",
  991. smalltalk.method({
  992. selector: "canBeOpenAsTab",
  993. category: 'testing',
  994. fn: function (){
  995. var self=this;
  996. return true;
  997. },
  998. args: [],
  999. source: "canBeOpenAsTab\x0a\x09^ true",
  1000. messageSends: [],
  1001. referencedClasses: []
  1002. }),
  1003. smalltalk.HLWorkspace.klass);
  1004. smalltalk.addMethod(
  1005. "_tabLabel",
  1006. smalltalk.method({
  1007. selector: "tabLabel",
  1008. category: 'accessing',
  1009. fn: function (){
  1010. var self=this;
  1011. return "Workspace";
  1012. },
  1013. args: [],
  1014. source: "tabLabel\x0a\x09^ 'Workspace'",
  1015. messageSends: [],
  1016. referencedClasses: []
  1017. }),
  1018. smalltalk.HLWorkspace.klass);
  1019. smalltalk.addMethod(
  1020. "_tabPriority",
  1021. smalltalk.method({
  1022. selector: "tabPriority",
  1023. category: 'accessing',
  1024. fn: function (){
  1025. var self=this;
  1026. return (10);
  1027. },
  1028. args: [],
  1029. source: "tabPriority\x0a\x09^ 10",
  1030. messageSends: [],
  1031. referencedClasses: []
  1032. }),
  1033. smalltalk.HLWorkspace.klass);
  1034. smalltalk.addClass('HLWorkspaceModel', smalltalk.Object, ['announcer', 'environment', 'code'], 'Helios-Workspace');
  1035. smalltalk.addMethod(
  1036. "_announcer",
  1037. smalltalk.method({
  1038. selector: "announcer",
  1039. category: 'accessing',
  1040. fn: function (){
  1041. var self=this;
  1042. var $1;
  1043. if(($receiver = self["@announcer"]) == nil || $receiver == undefined){
  1044. $1=smalltalk.send(self,"_initializeAnnouncer",[]);
  1045. } else {
  1046. $1=self["@announcer"];
  1047. };
  1048. return $1;
  1049. },
  1050. args: [],
  1051. source: "announcer\x0a\x09^ announcer ifNil: [ self initializeAnnouncer ]",
  1052. messageSends: ["ifNil:", "initializeAnnouncer"],
  1053. referencedClasses: []
  1054. }),
  1055. smalltalk.HLWorkspaceModel);
  1056. smalltalk.addMethod(
  1057. "_beLocal",
  1058. smalltalk.method({
  1059. selector: "beLocal",
  1060. category: 'actions',
  1061. fn: function (){
  1062. var self=this;
  1063. smalltalk.send(self,"_initializeEnvironment",[]);
  1064. return self},
  1065. args: [],
  1066. source: "beLocal\x0a\x0a\x09self initializeEnvironment\x0a",
  1067. messageSends: ["initializeEnvironment"],
  1068. referencedClasses: []
  1069. }),
  1070. smalltalk.HLWorkspaceModel);
  1071. smalltalk.addMethod(
  1072. "_beRemoteOn_port_",
  1073. smalltalk.method({
  1074. selector: "beRemoteOn:port:",
  1075. category: 'actions',
  1076. fn: function (anIPAddress,aPort){
  1077. var self=this;
  1078. return self},
  1079. args: ["anIPAddress", "aPort"],
  1080. source: "beRemoteOn: anIPAddress port: aPort\x0a\x0a\x09\x22to-do\x22\x0a \x0a \x22environment := HLRemoteEnvironment on: anIPAddress port: aPort\x0a \x0a ...kind of stuff\x22\x0a \x0a",
  1081. messageSends: [],
  1082. referencedClasses: []
  1083. }),
  1084. smalltalk.HLWorkspaceModel);
  1085. smalltalk.addMethod(
  1086. "_code",
  1087. smalltalk.method({
  1088. selector: "code",
  1089. category: 'accessing',
  1090. fn: function (){
  1091. var self=this;
  1092. var $1;
  1093. if(($receiver = self["@code"]) == nil || $receiver == undefined){
  1094. $1=smalltalk.send(self,"_initializeCode",[]);
  1095. } else {
  1096. $1=self["@code"];
  1097. };
  1098. return $1;
  1099. },
  1100. args: [],
  1101. source: "code\x0a\x09\x22Answers the code model working for this workspace model\x22\x0a\x09^ code ifNil:[self initializeCode]",
  1102. messageSends: ["ifNil:", "initializeCode"],
  1103. referencedClasses: []
  1104. }),
  1105. smalltalk.HLWorkspaceModel);
  1106. smalltalk.addMethod(
  1107. "_environment",
  1108. smalltalk.method({
  1109. selector: "environment",
  1110. category: 'accessing',
  1111. fn: function (){
  1112. var self=this;
  1113. var $1;
  1114. if(($receiver = self["@environment"]) == nil || $receiver == undefined){
  1115. $1=smalltalk.send(self,"_initializeEnvironment",[]);
  1116. } else {
  1117. $1=self["@environment"];
  1118. };
  1119. return $1;
  1120. },
  1121. args: [],
  1122. source: "environment\x0a\x09^ environment ifNil: [ self initializeEnvironment]",
  1123. messageSends: ["ifNil:", "initializeEnvironment"],
  1124. referencedClasses: []
  1125. }),
  1126. smalltalk.HLWorkspaceModel);
  1127. smalltalk.addMethod(
  1128. "_environment_",
  1129. smalltalk.method({
  1130. selector: "environment:",
  1131. category: 'accessing',
  1132. fn: function (anEnvironment){
  1133. var self=this;
  1134. self["@environment"]=anEnvironment;
  1135. return self},
  1136. args: ["anEnvironment"],
  1137. source: "environment: anEnvironment\x0a\x09environment := anEnvironment",
  1138. messageSends: [],
  1139. referencedClasses: []
  1140. }),
  1141. smalltalk.HLWorkspaceModel);
  1142. smalltalk.addMethod(
  1143. "_initializeAnnouncer",
  1144. smalltalk.method({
  1145. selector: "initializeAnnouncer",
  1146. category: 'initialization',
  1147. fn: function (){
  1148. var self=this;
  1149. var $1;
  1150. self["@announcer"]=smalltalk.send((smalltalk.Announcer || Announcer),"_new",[]);
  1151. $1=self["@announcer"];
  1152. return $1;
  1153. },
  1154. args: [],
  1155. source: "initializeAnnouncer\x0a\x09^ announcer := Announcer new",
  1156. messageSends: ["new"],
  1157. referencedClasses: ["Announcer"]
  1158. }),
  1159. smalltalk.HLWorkspaceModel);
  1160. smalltalk.addMethod(
  1161. "_initializeCode",
  1162. smalltalk.method({
  1163. selector: "initializeCode",
  1164. category: 'initialization',
  1165. fn: function (){
  1166. var self=this;
  1167. var $1;
  1168. self["@code"]=smalltalk.send((smalltalk.HLCodeModel || HLCodeModel),"_on_",[smalltalk.send(self,"_environment",[])]);
  1169. $1=self["@code"];
  1170. return $1;
  1171. },
  1172. args: [],
  1173. source: "initializeCode\x0a\x0a\x09^ code := HLCodeModel on: self environment",
  1174. messageSends: ["on:", "environment"],
  1175. referencedClasses: ["HLCodeModel"]
  1176. }),
  1177. smalltalk.HLWorkspaceModel);
  1178. smalltalk.addMethod(
  1179. "_initializeEnvironment",
  1180. smalltalk.method({
  1181. selector: "initializeEnvironment",
  1182. category: 'initialization',
  1183. fn: function (){
  1184. var self=this;
  1185. var $1;
  1186. self["@environment"]=smalltalk.send((smalltalk.HLLocalEnvironment || HLLocalEnvironment),"_new",[]);
  1187. $1=self["@environment"];
  1188. return $1;
  1189. },
  1190. args: [],
  1191. source: "initializeEnvironment\x0a\x09^ environment := HLLocalEnvironment new",
  1192. messageSends: ["new"],
  1193. referencedClasses: ["HLLocalEnvironment"]
  1194. }),
  1195. smalltalk.HLWorkspaceModel);
  1196. smalltalk.addMethod(
  1197. "_onKeyDown_",
  1198. smalltalk.method({
  1199. selector: "onKeyDown:",
  1200. category: 'reactions',
  1201. fn: function (anEvent){
  1202. var self=this;
  1203. if(anEvent.ctrlKey) {
  1204. if(anEvent.keyCode === 80) { //ctrl+p
  1205. self._printIt();
  1206. anEvent.preventDefault();
  1207. return false;
  1208. }
  1209. if(anEvent.keyCode === 68) { //ctrl+d
  1210. self._doIt();
  1211. anEvent.preventDefault();
  1212. return false;
  1213. }
  1214. if(anEvent.keyCode === 73) { //ctrl+i
  1215. self._inspectIt();
  1216. anEvent.preventDefault();
  1217. return false;
  1218. }
  1219. };
  1220. ;
  1221. return self},
  1222. args: ["anEvent"],
  1223. source: "onKeyDown: anEvent\x0a\x0a\x09<if(anEvent.ctrlKey) {\x0a\x09\x09if(anEvent.keyCode === 80) { //ctrl+p\x0a\x09\x09\x09self._printIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09\x09if(anEvent.keyCode === 68) { //ctrl+d\x0a\x09\x09\x09self._doIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09\x09if(anEvent.keyCode === 73) { //ctrl+i\x0a\x09\x09\x09self._inspectIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09}>",
  1224. messageSends: [],
  1225. referencedClasses: []
  1226. }),
  1227. smalltalk.HLWorkspaceModel);
  1228. smalltalk.addMethod(
  1229. "_subscribe_",
  1230. smalltalk.method({
  1231. selector: "subscribe:",
  1232. category: 'actions',
  1233. fn: function (aWidget){
  1234. var self=this;
  1235. smalltalk.send(aWidget,"_subscribeTo_",[smalltalk.send(self,"_announcer",[])]);
  1236. return self},
  1237. args: ["aWidget"],
  1238. source: "subscribe: aWidget\x0a\x09aWidget subscribeTo: self announcer",
  1239. messageSends: ["subscribeTo:", "announcer"],
  1240. referencedClasses: []
  1241. }),
  1242. smalltalk.HLWorkspaceModel);
  1243. smalltalk.addMethod(
  1244. "_on_",
  1245. smalltalk.method({
  1246. selector: "on:",
  1247. category: 'actions',
  1248. fn: function (anEnvironment){
  1249. var self=this;
  1250. var $2,$3,$1;
  1251. $2=smalltalk.send(self,"_new",[]);
  1252. smalltalk.send($2,"_environment_",[anEnvironment]);
  1253. $3=smalltalk.send($2,"_yourself",[]);
  1254. $1=$3;
  1255. return $1;
  1256. },
  1257. args: ["anEnvironment"],
  1258. source: "on: anEnvironment\x0a\x0a\x09^ self new\x0a \x09environment: anEnvironment;\x0a yourself",
  1259. messageSends: ["environment:", "new", "yourself"],
  1260. referencedClasses: []
  1261. }),
  1262. smalltalk.HLWorkspaceModel.klass);