1
0

Helios-Workspace.js 33 KB

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