1
0

Helios-Inspector.deploy.js 23 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030
  1. smalltalk.addPackage('Helios-Inspector', {});
  2. smalltalk.addClass('HLInspector', smalltalk.HLWidget, ['model', 'variables', 'display', 'code', 'label'], 'Helios-Inspector');
  3. smalltalk.addMethod(
  4. "_code",
  5. smalltalk.method({
  6. selector: "code",
  7. fn: function () {
  8. var self = this;
  9. var $1;
  10. if (($receiver = self['@code']) == nil || $receiver == undefined) {
  11. $1 = smalltalk.send(self, "_initializeCode", []);
  12. } else {
  13. $1 = self['@code'];
  14. }
  15. return $1;
  16. }
  17. }),
  18. smalltalk.HLInspector);
  19. smalltalk.addMethod(
  20. "_display",
  21. smalltalk.method({
  22. selector: "display",
  23. fn: function () {
  24. var self = this;
  25. var $1;
  26. if (($receiver = self['@display']) == nil || $receiver == undefined) {
  27. $1 = smalltalk.send(self, "_initializeDisplay", []);
  28. } else {
  29. $1 = self['@display'];
  30. }
  31. return $1;
  32. }
  33. }),
  34. smalltalk.HLInspector);
  35. smalltalk.addMethod(
  36. "_ensureModel",
  37. smalltalk.method({
  38. selector: "ensureModel",
  39. fn: function () {
  40. var self = this;
  41. smalltalk.send(self, "_observeVariables", []);
  42. if (($receiver = self['@model']) == nil || $receiver == undefined) {
  43. smalltalk.send(self, "_model_", [smalltalk.send(self, "_model", [])]);
  44. } else {
  45. self['@model'];
  46. }
  47. return self;
  48. }
  49. }),
  50. smalltalk.HLInspector);
  51. smalltalk.addMethod(
  52. "_initializeCode",
  53. smalltalk.method({
  54. selector: "initializeCode",
  55. fn: function () {
  56. var self = this;
  57. var $1;
  58. self['@code'] = smalltalk.send(self, "_makeCode", []);
  59. $1 = self['@code'];
  60. return $1;
  61. }
  62. }),
  63. smalltalk.HLInspector);
  64. smalltalk.addMethod(
  65. "_initializeDisplay",
  66. smalltalk.method({
  67. selector: "initializeDisplay",
  68. fn: function () {
  69. var self = this;
  70. var $1;
  71. self['@display'] = smalltalk.send(self, "_makeDisplay", []);
  72. $1 = self['@display'];
  73. return $1;
  74. }
  75. }),
  76. smalltalk.HLInspector);
  77. smalltalk.addMethod(
  78. "_initializeLabel",
  79. smalltalk.method({
  80. selector: "initializeLabel",
  81. fn: function () {
  82. var self = this;
  83. var $1;
  84. self['@label'] = smalltalk.send(smalltalk.send(self['@model'], "_inspectee", []), "_printString", []);
  85. $1 = self['@label'];
  86. return $1;
  87. }
  88. }),
  89. smalltalk.HLInspector);
  90. smalltalk.addMethod(
  91. "_initializeModel",
  92. smalltalk.method({
  93. selector: "initializeModel",
  94. fn: function () {
  95. var self = this;
  96. var $1;
  97. self['@model'] = smalltalk.send(smalltalk.HLInspectorModel || HLInspectorModel, "_new", []);
  98. $1 = self['@model'];
  99. return $1;
  100. }
  101. }),
  102. smalltalk.HLInspector);
  103. smalltalk.addMethod(
  104. "_initializeVariables",
  105. smalltalk.method({
  106. selector: "initializeVariables",
  107. fn: function () {
  108. var self = this;
  109. var $1;
  110. self['@variables'] = smalltalk.send(self, "_makeVariables", []);
  111. $1 = self['@variables'];
  112. return $1;
  113. }
  114. }),
  115. smalltalk.HLInspector);
  116. smalltalk.addMethod(
  117. "_inspect_",
  118. smalltalk.method({
  119. selector: "inspect:",
  120. fn: function (anObject) {
  121. var self = this;
  122. var $1;
  123. smalltalk.send(smalltalk.send(self, "_model", []), "_inspect_on_", [anObject, self]);
  124. smalltalk.send(self, "_refreshVariables", []);
  125. smalltalk.send(self, "_refreshDisplay", []);
  126. $1 = smalltalk.send(self, "_yourself", []);
  127. return self;
  128. }
  129. }),
  130. smalltalk.HLInspector);
  131. smalltalk.addMethod(
  132. "_inspectee",
  133. smalltalk.method({
  134. selector: "inspectee",
  135. fn: function () {
  136. var self = this;
  137. var $1;
  138. $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_inspectee", []);
  139. return $1;
  140. }
  141. }),
  142. smalltalk.HLInspector);
  143. smalltalk.addMethod(
  144. "_inspectee_",
  145. smalltalk.method({
  146. selector: "inspectee:",
  147. fn: function (anObject) {
  148. var self = this;
  149. smalltalk.send(smalltalk.send(self, "_model", []), "_inspectee_", [anObject]);
  150. return self;
  151. }
  152. }),
  153. smalltalk.HLInspector);
  154. smalltalk.addMethod(
  155. "_label",
  156. smalltalk.method({
  157. selector: "label",
  158. fn: function () {
  159. var self = this;
  160. var $1;
  161. if (($receiver = self['@label']) == nil || $receiver == undefined) {
  162. $1 = smalltalk.send(self, "_initializeLabel", []);
  163. } else {
  164. $1 = self['@label'];
  165. }
  166. return $1;
  167. }
  168. }),
  169. smalltalk.HLInspector);
  170. smalltalk.addMethod(
  171. "_makeCode",
  172. smalltalk.method({
  173. selector: "makeCode",
  174. fn: function () {
  175. var self = this;
  176. var $2, $3, $1;
  177. $2 = smalltalk.send(smalltalk.HLCodeWidget || HLCodeWidget, "_new", []);
  178. smalltalk.send($2, "_model_", [smalltalk.send(self['@model'], "_code", [])]);
  179. smalltalk.send($2, "_receiver_", [smalltalk.send(self['@model'], "_inspectee", [])]);
  180. $3 = smalltalk.send($2, "_yourself", []);
  181. $1 = $3;
  182. return $1;
  183. }
  184. }),
  185. smalltalk.HLInspector);
  186. smalltalk.addMethod(
  187. "_makeDisplay",
  188. smalltalk.method({
  189. selector: "makeDisplay",
  190. fn: function () {
  191. var self = this;
  192. var $2, $3, $1;
  193. $2 = smalltalk.send(smalltalk.HLInspectorDisplay || HLInspectorDisplay, "_new", []);
  194. smalltalk.send($2, "_model_", [smalltalk.send(self, "_model", [])]);
  195. $3 = smalltalk.send($2, "_yourself", []);
  196. $1 = $3;
  197. return $1;
  198. }
  199. }),
  200. smalltalk.HLInspector);
  201. smalltalk.addMethod(
  202. "_makeVariables",
  203. smalltalk.method({
  204. selector: "makeVariables",
  205. fn: function () {
  206. var self = this;
  207. var $2, $3, $1;
  208. $2 = smalltalk.send(smalltalk.HLInspectorVariables || HLInspectorVariables, "_new", []);
  209. smalltalk.send($2, "_model_", [smalltalk.send(self, "_model", [])]);
  210. $3 = smalltalk.send($2, "_yourself", []);
  211. $1 = $3;
  212. return $1;
  213. }
  214. }),
  215. smalltalk.HLInspector);
  216. smalltalk.addMethod(
  217. "_model",
  218. smalltalk.method({
  219. selector: "model",
  220. fn: function () {
  221. var self = this;
  222. var $1;
  223. if (($receiver = self['@model']) == nil || $receiver == undefined) {
  224. $1 = smalltalk.send(self, "_initializeModel", []);
  225. } else {
  226. $1 = self['@model'];
  227. }
  228. return $1;
  229. }
  230. }),
  231. smalltalk.HLInspector);
  232. smalltalk.addMethod(
  233. "_model_",
  234. smalltalk.method({
  235. selector: "model:",
  236. fn: function (aModel) {
  237. var self = this;
  238. self['@model'] = aModel;
  239. smalltalk.send(smalltalk.send(self, "_code", []), "_model_", [smalltalk.send(aModel, "_code", [])]);
  240. smalltalk.send(self, "_observeCode", []);
  241. return self;
  242. }
  243. }),
  244. smalltalk.HLInspector);
  245. smalltalk.addMethod(
  246. "_observeCode",
  247. smalltalk.method({
  248. selector: "observeCode",
  249. fn: function () {
  250. var self = this;
  251. smalltalk.send(smalltalk.send(smalltalk.send(self, "_code", []), "_announcer", []), "_on_do_", [smalltalk.HLDoItExecuted || HLDoItExecuted, function () {return smalltalk.send(self, "_onDoneIt", []);}]);
  252. return self;
  253. }
  254. }),
  255. smalltalk.HLInspector);
  256. smalltalk.addMethod(
  257. "_observeVariables",
  258. smalltalk.method({
  259. selector: "observeVariables",
  260. fn: function () {
  261. var self = this;
  262. var $1, $2, $3, $4;
  263. $1 = smalltalk.send(smalltalk.send(self, "_variables", []), "_announcer", []);
  264. smalltalk.send($1, "_on_do_", [smalltalk.HLRefreshRequested || HLRefreshRequested, function (ann) {return smalltalk.send(self, "_onRefresh", []);}]);
  265. smalltalk.send($1, "_on_do_", [smalltalk.HLDiveRequested || HLDiveRequested, function () {return smalltalk.send(self, "_onDive", []);}]);
  266. $2 = smalltalk.send($1, "_yourself", []);
  267. $3 = smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []);
  268. smalltalk.send($3, "_on_do_", [smalltalk.HLInstanceVariableSelected || HLInstanceVariableSelected, function (ann) {return smalltalk.send(self, "_onInstanceVariableSelected", []);}]);
  269. $4 = smalltalk.send($3, "_yourself", []);
  270. return self;
  271. }
  272. }),
  273. smalltalk.HLInspector);
  274. smalltalk.addMethod(
  275. "_onDive",
  276. smalltalk.method({
  277. selector: "onDive",
  278. fn: function () {
  279. var self = this;
  280. smalltalk.send(self, "_inspect_", [smalltalk.send(smalltalk.send(self, "_model", []), "_selectedInstVarObject", [])]);
  281. return self;
  282. }
  283. }),
  284. smalltalk.HLInspector);
  285. smalltalk.addMethod(
  286. "_onDoIt",
  287. smalltalk.method({
  288. selector: "onDoIt",
  289. fn: function () {
  290. var self = this;
  291. return self;
  292. }
  293. }),
  294. smalltalk.HLInspector);
  295. smalltalk.addMethod(
  296. "_onDoneIt",
  297. smalltalk.method({
  298. selector: "onDoneIt",
  299. fn: function () {
  300. var self = this;
  301. smalltalk.send(self, "_refresh", []);
  302. return self;
  303. }
  304. }),
  305. smalltalk.HLInspector);
  306. smalltalk.addMethod(
  307. "_onInspectIt",
  308. smalltalk.method({
  309. selector: "onInspectIt",
  310. fn: function () {
  311. var self = this;
  312. return self;
  313. }
  314. }),
  315. smalltalk.HLInspector);
  316. smalltalk.addMethod(
  317. "_onInstanceVariableSelected",
  318. smalltalk.method({
  319. selector: "onInstanceVariableSelected",
  320. fn: function () {
  321. var self = this;
  322. smalltalk.send(smalltalk.send(self, "_code", []), "_receiver_", [smalltalk.send(smalltalk.send(self, "_model", []), "_selectedInstVarObject", [])]);
  323. smalltalk.send(self, "_refreshDisplay", []);
  324. return self;
  325. }
  326. }),
  327. smalltalk.HLInspector);
  328. smalltalk.addMethod(
  329. "_onPrintIt",
  330. smalltalk.method({
  331. selector: "onPrintIt",
  332. fn: function () {
  333. var self = this;
  334. return self;
  335. }
  336. }),
  337. smalltalk.HLInspector);
  338. smalltalk.addMethod(
  339. "_onRefresh",
  340. smalltalk.method({
  341. selector: "onRefresh",
  342. fn: function () {
  343. var self = this;
  344. smalltalk.send(self, "_refresh", []);
  345. return self;
  346. }
  347. }),
  348. smalltalk.HLInspector);
  349. smalltalk.addMethod(
  350. "_open",
  351. smalltalk.method({
  352. selector: "open",
  353. fn: function () {
  354. var self = this;
  355. smalltalk.send(smalltalk.send(smalltalk.HLManager || HLManager, "_current", []), "_addTab_", [smalltalk.send(smalltalk.HLTab || HLTab, "_on_labelled_", [self, smalltalk.send(self, "_tabLabel", [])])]);
  356. return self;
  357. }
  358. }),
  359. smalltalk.HLInspector);
  360. smalltalk.addMethod(
  361. "_refresh",
  362. smalltalk.method({
  363. selector: "refresh",
  364. fn: function () {
  365. var self = this;
  366. smalltalk.send(self, "_inspect_", [smalltalk.send(self, "_inspectee", [])]);
  367. return self;
  368. }
  369. }),
  370. smalltalk.HLInspector);
  371. smalltalk.addMethod(
  372. "_refreshDisplay",
  373. smalltalk.method({
  374. selector: "refreshDisplay",
  375. fn: function () {
  376. var self = this;
  377. smalltalk.send(smalltalk.send(self, "_display", []), "_refresh", []);
  378. return self;
  379. }
  380. }),
  381. smalltalk.HLInspector);
  382. smalltalk.addMethod(
  383. "_refreshVariables",
  384. smalltalk.method({
  385. selector: "refreshVariables",
  386. fn: function () {
  387. var self = this;
  388. smalltalk.send(smalltalk.send(self, "_variables", []), "_refresh", []);
  389. return self;
  390. }
  391. }),
  392. smalltalk.HLInspector);
  393. smalltalk.addMethod(
  394. "_renderContentOn_",
  395. smalltalk.method({
  396. selector: "renderContentOn:",
  397. fn: function (html) {
  398. var self = this;
  399. smalltalk.send(self, "_ensureModel", []);
  400. smalltalk.send(html, "_with_", [smalltalk.send(smalltalk.HLContainer || HLContainer, "_with_", [smalltalk.send(smalltalk.HLHorizontalSplitter || HLHorizontalSplitter, "_with_with_", [smalltalk.send(smalltalk.HLVerticalSplitter || HLVerticalSplitter, "_with_with_", [smalltalk.send(self, "_variables", []), smalltalk.send(self, "_display", [])]), smalltalk.send(self, "_code", [])])])]);
  401. return self;
  402. }
  403. }),
  404. smalltalk.HLInspector);
  405. smalltalk.addMethod(
  406. "_setLabel_",
  407. smalltalk.method({
  408. selector: "setLabel:",
  409. fn: function (aString) {
  410. var self = this;
  411. self['@label'] = aString;
  412. return self;
  413. }
  414. }),
  415. smalltalk.HLInspector);
  416. smalltalk.addMethod(
  417. "_setVariables_",
  418. smalltalk.method({
  419. selector: "setVariables:",
  420. fn: function (aDictionary) {
  421. var self = this;
  422. smalltalk.send(smalltalk.send(self, "_model", []), "_variables_", [aDictionary]);
  423. return self;
  424. }
  425. }),
  426. smalltalk.HLInspector);
  427. smalltalk.addMethod(
  428. "_tabLabel",
  429. smalltalk.method({
  430. selector: "tabLabel",
  431. fn: function () {
  432. var self = this;
  433. var $1;
  434. $1 = smalltalk.send(self, "_label", []);
  435. return $1;
  436. }
  437. }),
  438. smalltalk.HLInspector);
  439. smalltalk.addMethod(
  440. "_variables",
  441. smalltalk.method({
  442. selector: "variables",
  443. fn: function () {
  444. var self = this;
  445. var $1;
  446. if (($receiver = self['@variables']) == nil || $receiver == undefined) {
  447. $1 = smalltalk.send(self, "_initializeVariables", []);
  448. } else {
  449. $1 = self['@variables'];
  450. }
  451. return $1;
  452. }
  453. }),
  454. smalltalk.HLInspector);
  455. smalltalk.addMethod(
  456. "_canBeOpenAsTab",
  457. smalltalk.method({
  458. selector: "canBeOpenAsTab",
  459. fn: function () {
  460. var self = this;
  461. return false;
  462. }
  463. }),
  464. smalltalk.HLInspector.klass);
  465. smalltalk.addMethod(
  466. "_tabLabel",
  467. smalltalk.method({
  468. selector: "tabLabel",
  469. fn: function () {
  470. var self = this;
  471. return "Inspector";
  472. }
  473. }),
  474. smalltalk.HLInspector.klass);
  475. smalltalk.addMethod(
  476. "_tabPriority",
  477. smalltalk.method({
  478. selector: "tabPriority",
  479. fn: function () {
  480. var self = this;
  481. return 10;
  482. }
  483. }),
  484. smalltalk.HLInspector.klass);
  485. smalltalk.addClass('HLInspectorDisplay', smalltalk.HLNavigationListWidget, ['model'], 'Helios-Inspector');
  486. smalltalk.addMethod(
  487. "_model",
  488. smalltalk.method({
  489. selector: "model",
  490. fn: function () {
  491. var self = this;
  492. return self['@model'];
  493. }
  494. }),
  495. smalltalk.HLInspectorDisplay);
  496. smalltalk.addMethod(
  497. "_model_",
  498. smalltalk.method({
  499. selector: "model:",
  500. fn: function (aModel) {
  501. var self = this;
  502. self['@model'] = aModel;
  503. return self;
  504. }
  505. }),
  506. smalltalk.HLInspectorDisplay);
  507. smalltalk.addMethod(
  508. "_renderContentOn_",
  509. smalltalk.method({
  510. selector: "renderContentOn:",
  511. fn: function (html) {
  512. var self = this;
  513. smalltalk.send(smalltalk.send(html, "_div", []), "_with_", [smalltalk.send(self, "_selectionDisplayString", [])]);
  514. return self;
  515. }
  516. }),
  517. smalltalk.HLInspectorDisplay);
  518. smalltalk.addMethod(
  519. "_selectionDisplayString",
  520. smalltalk.method({
  521. selector: "selectionDisplayString",
  522. fn: function () {
  523. var self = this;
  524. var $2, $1;
  525. var selection;
  526. selection = smalltalk.send(self['@model'], "_selection", []);
  527. $2 = smalltalk.send(smalltalk.send(smalltalk.send(self['@model'], "_variables", []), "_keys", []), "_includes_", [selection]);
  528. if (smalltalk.assert($2)) {
  529. $1 = smalltalk.send(smalltalk.send(self['@model'], "_instVarObjectAt_", [selection]), "_printString", []);
  530. } else {
  531. $1 = "";
  532. }
  533. return $1;
  534. }
  535. }),
  536. smalltalk.HLInspectorDisplay);
  537. smalltalk.addClass('HLInspectorModel', smalltalk.Object, ['announcer', 'environment', 'inspectee', 'code', 'variables', 'selection'], 'Helios-Inspector');
  538. smalltalk.addMethod(
  539. "_announcer",
  540. smalltalk.method({
  541. selector: "announcer",
  542. fn: function () {
  543. var self = this;
  544. var $1;
  545. if (($receiver = self['@announcer']) == nil || $receiver == undefined) {
  546. $1 = smalltalk.send(self, "_initializeAnnouncer", []);
  547. } else {
  548. $1 = self['@announcer'];
  549. }
  550. return $1;
  551. }
  552. }),
  553. smalltalk.HLInspectorModel);
  554. smalltalk.addMethod(
  555. "_code",
  556. smalltalk.method({
  557. selector: "code",
  558. fn: function () {
  559. var self = this;
  560. var $1;
  561. if (($receiver = self['@code']) == nil || $receiver == undefined) {
  562. $1 = smalltalk.send(self, "_initializeCode", []);
  563. } else {
  564. $1 = self['@code'];
  565. }
  566. return $1;
  567. }
  568. }),
  569. smalltalk.HLInspectorModel);
  570. smalltalk.addMethod(
  571. "_environment",
  572. smalltalk.method({
  573. selector: "environment",
  574. fn: function () {
  575. var self = this;
  576. var $1;
  577. if (($receiver = self['@environment']) == nil || $receiver == undefined) {
  578. $1 = smalltalk.send(smalltalk.send(smalltalk.HLManager || HLManager, "_current", []), "_environment", []);
  579. } else {
  580. $1 = self['@environment'];
  581. }
  582. return $1;
  583. }
  584. }),
  585. smalltalk.HLInspectorModel);
  586. smalltalk.addMethod(
  587. "_environment_",
  588. smalltalk.method({
  589. selector: "environment:",
  590. fn: function (anEnvironment) {
  591. var self = this;
  592. self['@environment'] = anEnvironment;
  593. return self;
  594. }
  595. }),
  596. smalltalk.HLInspectorModel);
  597. smalltalk.addMethod(
  598. "_initializeAnnouncer",
  599. smalltalk.method({
  600. selector: "initializeAnnouncer",
  601. fn: function () {
  602. var self = this;
  603. var $1;
  604. self['@announcer'] = smalltalk.send(smalltalk.Announcer || Announcer, "_new", []);
  605. $1 = self['@announcer'];
  606. return $1;
  607. }
  608. }),
  609. smalltalk.HLInspectorModel);
  610. smalltalk.addMethod(
  611. "_initializeCode",
  612. smalltalk.method({
  613. selector: "initializeCode",
  614. fn: function () {
  615. var self = this;
  616. var $1;
  617. self['@code'] = smalltalk.send(smalltalk.HLCodeModel || HLCodeModel, "_on_", [smalltalk.send(self, "_environment", [])]);
  618. $1 = self['@code'];
  619. return $1;
  620. }
  621. }),
  622. smalltalk.HLInspectorModel);
  623. smalltalk.addMethod(
  624. "_initializeSelection",
  625. smalltalk.method({
  626. selector: "initializeSelection",
  627. fn: function () {
  628. var self = this;
  629. var $1;
  630. self['@selection'] = "";
  631. $1 = self['@selection'];
  632. return $1;
  633. }
  634. }),
  635. smalltalk.HLInspectorModel);
  636. smalltalk.addMethod(
  637. "_inspect_on_",
  638. smalltalk.method({
  639. selector: "inspect:on:",
  640. fn: function (anObject, anInspector) {
  641. var self = this;
  642. self['@inspectee'] = anObject;
  643. self['@variables'] = [];
  644. smalltalk.send(self['@inspectee'], "_inspectOn_", [anInspector]);
  645. return self;
  646. }
  647. }),
  648. smalltalk.HLInspectorModel);
  649. smalltalk.addMethod(
  650. "_inspectee",
  651. smalltalk.method({
  652. selector: "inspectee",
  653. fn: function () {
  654. var self = this;
  655. return self['@inspectee'];
  656. }
  657. }),
  658. smalltalk.HLInspectorModel);
  659. smalltalk.addMethod(
  660. "_inspectee_",
  661. smalltalk.method({
  662. selector: "inspectee:",
  663. fn: function (anObject) {
  664. var self = this;
  665. self['@inspectee'] = anObject;
  666. return self;
  667. }
  668. }),
  669. smalltalk.HLInspectorModel);
  670. smalltalk.addMethod(
  671. "_instVarObjectAt_",
  672. smalltalk.method({
  673. selector: "instVarObjectAt:",
  674. fn: function (anInstVarName) {
  675. var self = this;
  676. var $1;
  677. $1 = smalltalk.send(smalltalk.send(self, "_variables", []), "_at_", [anInstVarName]);
  678. return $1;
  679. }
  680. }),
  681. smalltalk.HLInspectorModel);
  682. smalltalk.addMethod(
  683. "_onKeyDown_",
  684. smalltalk.method({
  685. selector: "onKeyDown:",
  686. fn: function (anEvent) {
  687. var self = this;
  688. if (anEvent.ctrlKey) {
  689. if (anEvent.keyCode === 80) {
  690. self._printIt();
  691. anEvent.preventDefault();
  692. return false;
  693. }
  694. if (anEvent.keyCode === 68) {
  695. self._doIt();
  696. anEvent.preventDefault();
  697. return false;
  698. }
  699. if (anEvent.keyCode === 73) {
  700. self._inspectIt();
  701. anEvent.preventDefault();
  702. return false;
  703. }
  704. }
  705. return self;
  706. }
  707. }),
  708. smalltalk.HLInspectorModel);
  709. smalltalk.addMethod(
  710. "_selectedInstVar_",
  711. smalltalk.method({
  712. selector: "selectedInstVar:",
  713. fn: function (anInstVarName) {
  714. var self = this;
  715. smalltalk.send(self, "_selection_", [anInstVarName]);
  716. return self;
  717. }
  718. }),
  719. smalltalk.HLInspectorModel);
  720. smalltalk.addMethod(
  721. "_selectedInstVarObject",
  722. smalltalk.method({
  723. selector: "selectedInstVarObject",
  724. fn: function () {
  725. var self = this;
  726. var $1;
  727. $1 = smalltalk.send(self, "_instVarObjectAt_", [smalltalk.send(self, "_selection", [])]);
  728. return $1;
  729. }
  730. }),
  731. smalltalk.HLInspectorModel);
  732. smalltalk.addMethod(
  733. "_selection",
  734. smalltalk.method({
  735. selector: "selection",
  736. fn: function () {
  737. var self = this;
  738. var $1;
  739. if (($receiver = self['@selection']) == nil || $receiver == undefined) {
  740. $1 = smalltalk.send(self, "_initializeSelection", []);
  741. } else {
  742. $1 = self['@selection'];
  743. }
  744. return $1;
  745. }
  746. }),
  747. smalltalk.HLInspectorModel);
  748. smalltalk.addMethod(
  749. "_selection_",
  750. smalltalk.method({
  751. selector: "selection:",
  752. fn: function (anObject) {
  753. var self = this;
  754. self['@selection'] = anObject;
  755. smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLInstanceVariableSelected || HLInstanceVariableSelected, "_on_", [self['@selection']])]);
  756. return self;
  757. }
  758. }),
  759. smalltalk.HLInspectorModel);
  760. smalltalk.addMethod(
  761. "_subscribe_",
  762. smalltalk.method({
  763. selector: "subscribe:",
  764. fn: function (aWidget) {
  765. var self = this;
  766. smalltalk.send(aWidget, "_subscribeTo_", [smalltalk.send(self, "_announcer", [])]);
  767. return self;
  768. }
  769. }),
  770. smalltalk.HLInspectorModel);
  771. smalltalk.addMethod(
  772. "_variables",
  773. smalltalk.method({
  774. selector: "variables",
  775. fn: function () {
  776. var self = this;
  777. return self['@variables'];
  778. }
  779. }),
  780. smalltalk.HLInspectorModel);
  781. smalltalk.addMethod(
  782. "_variables_",
  783. smalltalk.method({
  784. selector: "variables:",
  785. fn: function (aCollection) {
  786. var self = this;
  787. self['@variables'] = aCollection;
  788. return self;
  789. }
  790. }),
  791. smalltalk.HLInspectorModel);
  792. smalltalk.addMethod(
  793. "_on_",
  794. smalltalk.method({
  795. selector: "on:",
  796. fn: function (anEnvironment) {
  797. var self = this;
  798. var $2, $3, $1;
  799. $2 = smalltalk.send(self, "_new", []);
  800. smalltalk.send($2, "_environment_", [anEnvironment]);
  801. $3 = smalltalk.send($2, "_yourself", []);
  802. $1 = $3;
  803. return $1;
  804. }
  805. }),
  806. smalltalk.HLInspectorModel.klass);
  807. smalltalk.addClass('HLInspectorVariables', smalltalk.HLNavigationListWidget, ['announcer', 'model', 'list', 'diveButton'], 'Helios-Inspector');
  808. smalltalk.addMethod(
  809. "_announcer",
  810. smalltalk.method({
  811. selector: "announcer",
  812. fn: function () {
  813. var self = this;
  814. var $1;
  815. if (($receiver = self['@announcer']) == nil || $receiver == undefined) {
  816. $1 = smalltalk.send(self, "_initializeAnnouncer", []);
  817. } else {
  818. $1 = self['@announcer'];
  819. }
  820. return $1;
  821. }
  822. }),
  823. smalltalk.HLInspectorVariables);
  824. smalltalk.addMethod(
  825. "_initializeAnnouncer",
  826. smalltalk.method({
  827. selector: "initializeAnnouncer",
  828. fn: function () {
  829. var self = this;
  830. var $1;
  831. self['@announcer'] = smalltalk.send(smalltalk.Announcer || Announcer, "_new", []);
  832. $1 = self['@announcer'];
  833. return $1;
  834. }
  835. }),
  836. smalltalk.HLInspectorVariables);
  837. smalltalk.addMethod(
  838. "_initializeItems",
  839. smalltalk.method({
  840. selector: "initializeItems",
  841. fn: function () {
  842. var self = this;
  843. var $1;
  844. self['@items'] = smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_variables", []), "_keys", []);
  845. $1 = self['@items'];
  846. return $1;
  847. }
  848. }),
  849. smalltalk.HLInspectorVariables);
  850. smalltalk.addMethod(
  851. "_model",
  852. smalltalk.method({
  853. selector: "model",
  854. fn: function () {
  855. var self = this;
  856. return self['@model'];
  857. }
  858. }),
  859. smalltalk.HLInspectorVariables);
  860. smalltalk.addMethod(
  861. "_model_",
  862. smalltalk.method({
  863. selector: "model:",
  864. fn: function (aModel) {
  865. var self = this;
  866. self['@model'] = aModel;
  867. return self;
  868. }
  869. }),
  870. smalltalk.HLInspectorVariables);
  871. smalltalk.addMethod(
  872. "_refresh",
  873. smalltalk.method({
  874. selector: "refresh",
  875. fn: function () {
  876. var self = this;
  877. smalltalk.send(self, "_resetItems", []);
  878. smalltalk.send(self, "_refresh", [], smalltalk.HLNavigationListWidget);
  879. return self;
  880. }
  881. }),
  882. smalltalk.HLInspectorVariables);
  883. smalltalk.addMethod(
  884. "_renderButtonsOn_",
  885. smalltalk.method({
  886. selector: "renderButtonsOn:",
  887. fn: function (html) {
  888. var self = this;
  889. var $1, $2, $3, $4;
  890. $1 = smalltalk.send(html, "_button", []);
  891. smalltalk.send($1, "_class_", ["btn"]);
  892. smalltalk.send($1, "_with_", ["Refresh"]);
  893. $2 = smalltalk.send($1, "_onClick_", [function () {return smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLRefreshRequested || HLRefreshRequested, "_new", [])]);}]);
  894. $3 = smalltalk.send(html, "_button", []);
  895. smalltalk.send($3, "_class_", ["btn"]);
  896. smalltalk.send($3, "_with_", ["Dive"]);
  897. $4 = smalltalk.send($3, "_onClick_", [function () {return smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLDiveRequested || HLDiveRequested, "_new", [])]);}]);
  898. self['@diveButton'] = $4;
  899. return self;
  900. }
  901. }),
  902. smalltalk.HLInspectorVariables);
  903. smalltalk.addMethod(
  904. "_resetItems",
  905. smalltalk.method({
  906. selector: "resetItems",
  907. fn: function () {
  908. var self = this;
  909. self['@items'] = nil;
  910. return self;
  911. }
  912. }),
  913. smalltalk.HLInspectorVariables);
  914. smalltalk.addMethod(
  915. "_selectItem_",
  916. smalltalk.method({
  917. selector: "selectItem:",
  918. fn: function (anObject) {
  919. var self = this;
  920. smalltalk.send(self, "_selectItem_", [anObject], smalltalk.HLNavigationListWidget);
  921. smalltalk.send(smalltalk.send(self, "_model", []), "_selectedInstVar_", [anObject]);
  922. return self;
  923. }
  924. }),
  925. smalltalk.HLInspectorVariables);
  926. smalltalk.addMethod(
  927. "_selection",
  928. smalltalk.method({
  929. selector: "selection",
  930. fn: function () {
  931. var self = this;
  932. var $1;
  933. $1 = smalltalk.send(self['@model'], "_selection", []);
  934. return $1;
  935. }
  936. }),
  937. smalltalk.HLInspectorVariables);
  938. smalltalk.addMethod(
  939. "_variables",
  940. smalltalk.method({
  941. selector: "variables",
  942. fn: function () {
  943. var self = this;
  944. var $1;
  945. $1 = smalltalk.send(self['@model'], "_variables", []);
  946. return $1;
  947. }
  948. }),
  949. smalltalk.HLInspectorVariables);