Helios-Browser.deploy.js 41 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391
  1. smalltalk.addPackage('Helios-Browser', {});
  2. smalltalk.addClass('HLBrowser', smalltalk.HLWidget, ['model', 'packagesListWidget', 'classesListWidget', 'protocolsListWidget', 'methodsListWidget', 'sourceWidget'], 'Helios-Browser');
  3. smalltalk.addMethod(
  4. "_announcer",
  5. smalltalk.method({
  6. selector: "announcer",
  7. fn: function () {
  8. var self = this;
  9. var $1;
  10. $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []);
  11. return $1;
  12. }
  13. }),
  14. smalltalk.HLBrowser);
  15. smalltalk.addMethod(
  16. "_classesListWidget",
  17. smalltalk.method({
  18. selector: "classesListWidget",
  19. fn: function () {
  20. var self = this;
  21. var $1;
  22. if (($receiver = self['@classesListWidget']) == nil ||
  23. $receiver == undefined) {
  24. self['@classesListWidget'] = smalltalk.send(smalltalk.HLClassesListWidget || HLClassesListWidget, "_on_", [smalltalk.send(self, "_model", [])]);
  25. self['@classesListWidget'];
  26. $1 = smalltalk.send(self['@classesListWidget'], "_next_", [smalltalk.send(self, "_protocolsListWidget", [])]);
  27. } else {
  28. $1 = self['@classesListWidget'];
  29. }
  30. return $1;
  31. }
  32. }),
  33. smalltalk.HLBrowser);
  34. smalltalk.addMethod(
  35. "_environment",
  36. smalltalk.method({
  37. selector: "environment",
  38. fn: function () {
  39. var self = this;
  40. var $1;
  41. $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_environment", []);
  42. return $1;
  43. }
  44. }),
  45. smalltalk.HLBrowser);
  46. smalltalk.addMethod(
  47. "_methodsListWidget",
  48. smalltalk.method({
  49. selector: "methodsListWidget",
  50. fn: function () {
  51. var self = this;
  52. var $1;
  53. if (($receiver = self['@methodsListWidget']) == nil ||
  54. $receiver == undefined) {
  55. self['@methodsListWidget'] = smalltalk.send(smalltalk.HLMethodsListWidget || HLMethodsListWidget, "_on_", [smalltalk.send(self, "_model", [])]);
  56. $1 = self['@methodsListWidget'];
  57. } else {
  58. $1 = self['@methodsListWidget'];
  59. }
  60. return $1;
  61. }
  62. }),
  63. smalltalk.HLBrowser);
  64. smalltalk.addMethod(
  65. "_model",
  66. smalltalk.method({
  67. selector: "model",
  68. fn: function () {
  69. var self = this;
  70. var $1;
  71. if (($receiver = self['@model']) == nil || $receiver == undefined) {
  72. self['@model'] = smalltalk.send(smalltalk.HLBrowserModel || HLBrowserModel, "_new", []);
  73. $1 = self['@model'];
  74. } else {
  75. $1 = self['@model'];
  76. }
  77. return $1;
  78. }
  79. }),
  80. smalltalk.HLBrowser);
  81. smalltalk.addMethod(
  82. "_model_",
  83. smalltalk.method({
  84. selector: "model:",
  85. fn: function (aModel) {
  86. var self = this;
  87. self['@model'] = aModel;
  88. return self;
  89. }
  90. }),
  91. smalltalk.HLBrowser);
  92. smalltalk.addMethod(
  93. "_packagesListWidget",
  94. smalltalk.method({
  95. selector: "packagesListWidget",
  96. fn: function () {
  97. var self = this;
  98. var $1;
  99. if (($receiver = self['@packagesListWidget']) == nil ||
  100. $receiver == undefined) {
  101. self['@packagesListWidget'] = smalltalk.send(smalltalk.HLPackagesListWidget || HLPackagesListWidget, "_on_", [smalltalk.send(self, "_model", [])]);
  102. self['@packagesListWidget'];
  103. $1 = smalltalk.send(self['@packagesListWidget'], "_next_", [smalltalk.send(self, "_classesListWidget", [])]);
  104. } else {
  105. $1 = self['@packagesListWidget'];
  106. }
  107. return $1;
  108. }
  109. }),
  110. smalltalk.HLBrowser);
  111. smalltalk.addMethod(
  112. "_protocolsListWidget",
  113. smalltalk.method({
  114. selector: "protocolsListWidget",
  115. fn: function () {
  116. var self = this;
  117. var $1;
  118. if (($receiver = self['@protocolsListWidget']) == nil ||
  119. $receiver == undefined) {
  120. self['@protocolsListWidget'] = smalltalk.send(smalltalk.HLProtocolsListWidget || HLProtocolsListWidget, "_on_", [smalltalk.send(self, "_model", [])]);
  121. self['@protocolsListWidget'];
  122. $1 = smalltalk.send(self['@protocolsListWidget'], "_next_", [smalltalk.send(self, "_methodsListWidget", [])]);
  123. } else {
  124. $1 = self['@protocolsListWidget'];
  125. }
  126. return $1;
  127. }
  128. }),
  129. smalltalk.HLBrowser);
  130. smalltalk.addMethod(
  131. "_registerBindingsOn_",
  132. smalltalk.method({
  133. selector: "registerBindingsOn:",
  134. fn: function (aBindingGroup) {
  135. var self = this;
  136. var $1, $2;
  137. smalltalk.send(aBindingGroup, "_addGroupKey_labelled_", [66, "Browse"]);
  138. smalltalk.send(aBindingGroup, "_addGroupKey_labelled_", [71, "Go to"]);
  139. $1 = smalltalk.send(aBindingGroup, "_addGroupKey_labelled_", [84, "Toggle"]);
  140. smalltalk.send(smalltalk.send(smalltalk.HLBrowserCommand || HLBrowserCommand, "_withAllSubclasses", []), "_do_", [function (each) {$2 = smalltalk.send(each, "_key", []);if (($receiver = $2) == nil || $receiver == undefined) {return $2;} else {return smalltalk.send(smalltalk.send(aBindingGroup, "_at_", [smalltalk.send(each, "_bindingGroup", [])]), "_add_", [smalltalk.send(smalltalk.send(each, "_on_", [smalltalk.send(self, "_model", [])]), "_asBinding", [])]);}}]);
  141. return self;
  142. }
  143. }),
  144. smalltalk.HLBrowser);
  145. smalltalk.addMethod(
  146. "_renderContentOn_",
  147. smalltalk.method({
  148. selector: "renderContentOn:",
  149. fn: function (html) {
  150. var self = this;
  151. 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(smalltalk.HLVerticalSplitter || HLVerticalSplitter, "_with_with_", [smalltalk.send(self, "_packagesListWidget", []), smalltalk.send(self, "_classesListWidget", [])]), smalltalk.send(smalltalk.HLVerticalSplitter || HLVerticalSplitter, "_with_with_", [smalltalk.send(self, "_protocolsListWidget", []), smalltalk.send(self, "_methodsListWidget", [])])]), smalltalk.send(self, "_sourceWidget", [])])])]);
  152. return self;
  153. }
  154. }),
  155. smalltalk.HLBrowser);
  156. smalltalk.addMethod(
  157. "_sourceWidget",
  158. smalltalk.method({
  159. selector: "sourceWidget",
  160. fn: function () {
  161. var self = this;
  162. var $1;
  163. if (($receiver = self['@sourceWidget']) == nil ||
  164. $receiver == undefined) {
  165. self['@sourceWidget'] = smalltalk.send(smalltalk.HLBrowserSourceWidget || HLBrowserSourceWidget, "_on_", [smalltalk.send(self, "_model", [])]);
  166. $1 = self['@sourceWidget'];
  167. } else {
  168. $1 = self['@sourceWidget'];
  169. }
  170. return $1;
  171. }
  172. }),
  173. smalltalk.HLBrowser);
  174. smalltalk.HLBrowser.klass.iVarNames = ['nextId'];
  175. smalltalk.addMethod(
  176. "_canBeOpenAsTab",
  177. smalltalk.method({
  178. selector: "canBeOpenAsTab",
  179. fn: function () {
  180. var self = this;
  181. return true;
  182. }
  183. }),
  184. smalltalk.HLBrowser.klass);
  185. smalltalk.addMethod(
  186. "_nextId",
  187. smalltalk.method({
  188. selector: "nextId",
  189. fn: function () {
  190. var self = this;
  191. var $1;
  192. if (($receiver = self['@nextId']) == nil || $receiver == undefined) {
  193. self['@nextId'] = 0;
  194. self['@nextId'];
  195. } else {
  196. self['@nextId'];
  197. }
  198. $1 = smalltalk.send("browser_", "__comma", [smalltalk.send(smalltalk.send(self['@nextId'], "__plus", [1]), "_asString", [])]);
  199. return $1;
  200. }
  201. }),
  202. smalltalk.HLBrowser.klass);
  203. smalltalk.addMethod(
  204. "_tabLabel",
  205. smalltalk.method({
  206. selector: "tabLabel",
  207. fn: function () {
  208. var self = this;
  209. return "Browser";
  210. }
  211. }),
  212. smalltalk.HLBrowser.klass);
  213. smalltalk.addMethod(
  214. "_tabPriority",
  215. smalltalk.method({
  216. selector: "tabPriority",
  217. fn: function () {
  218. var self = this;
  219. return 0;
  220. }
  221. }),
  222. smalltalk.HLBrowser.klass);
  223. smalltalk.addClass('HLBrowserListWidget', smalltalk.HLNavigationListWidget, ['model'], 'Helios-Browser');
  224. smalltalk.addMethod(
  225. "_model",
  226. smalltalk.method({
  227. selector: "model",
  228. fn: function () {
  229. var self = this;
  230. return self['@model'];
  231. }
  232. }),
  233. smalltalk.HLBrowserListWidget);
  234. smalltalk.addMethod(
  235. "_model_",
  236. smalltalk.method({
  237. selector: "model:",
  238. fn: function (aBrowserModel) {
  239. var self = this;
  240. self['@model'] = aBrowserModel;
  241. smalltalk.send(self['@model'], "_subscribe_", [self]);
  242. return self;
  243. }
  244. }),
  245. smalltalk.HLBrowserListWidget);
  246. smalltalk.addMethod(
  247. "_on_",
  248. smalltalk.method({
  249. selector: "on:",
  250. fn: function (aModel) {
  251. var self = this;
  252. var $2, $3, $1;
  253. $2 = smalltalk.send(self, "_new", []);
  254. smalltalk.send($2, "_model_", [aModel]);
  255. $3 = smalltalk.send($2, "_yourself", []);
  256. $1 = $3;
  257. return $1;
  258. }
  259. }),
  260. smalltalk.HLBrowserListWidget.klass);
  261. smalltalk.addClass('HLClassesListWidget', smalltalk.HLBrowserListWidget, [], 'Helios-Browser');
  262. smalltalk.addMethod(
  263. "_focusMethodsListWidget",
  264. smalltalk.method({
  265. selector: "focusMethodsListWidget",
  266. fn: function () {
  267. var self = this;
  268. smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLMethodsListFocus || HLMethodsListFocus, "_new", [])]);
  269. return self;
  270. }
  271. }),
  272. smalltalk.HLClassesListWidget);
  273. smalltalk.addMethod(
  274. "_focusProtocolsListWidget",
  275. smalltalk.method({
  276. selector: "focusProtocolsListWidget",
  277. fn: function () {
  278. var self = this;
  279. smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLProtocolsListFocus || HLProtocolsListFocus, "_new", [])]);
  280. return self;
  281. }
  282. }),
  283. smalltalk.HLClassesListWidget);
  284. smalltalk.addMethod(
  285. "_getChildrenOf_",
  286. smalltalk.method({
  287. selector: "getChildrenOf:",
  288. fn: function (aClass) {
  289. var self = this;
  290. var $1;
  291. $1 = smalltalk.send(smalltalk.send(self, "_items", []), "_select_", [function (each) {return smalltalk.send(smalltalk.send(each, "_superclass", []), "__eq", [aClass]);}]);
  292. return $1;
  293. }
  294. }),
  295. smalltalk.HLClassesListWidget);
  296. smalltalk.addMethod(
  297. "_getRootClassesOf_",
  298. smalltalk.method({
  299. selector: "getRootClassesOf:",
  300. fn: function (aCollection) {
  301. var self = this;
  302. var $1;
  303. $1 = smalltalk.send(aCollection, "_select_", [function (each) {return smalltalk.send(smalltalk.send(smalltalk.send(each, "_allSuperclasses", []), "_intersection_", [aCollection]), "_isEmpty", []);}]);
  304. return $1;
  305. }
  306. }),
  307. smalltalk.HLClassesListWidget);
  308. smalltalk.addMethod(
  309. "_iconForItem_",
  310. smalltalk.method({
  311. selector: "iconForItem:",
  312. fn: function (aClass) {
  313. var self = this;
  314. var $2, $1;
  315. $2 = smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_theNonMetaClass", []), "_comment", []), "_isEmpty", []);
  316. if (smalltalk.assert($2)) {
  317. $1 = "icon-question-sign";
  318. } else {
  319. $1 = "icon-none";
  320. }
  321. return $1;
  322. }
  323. }),
  324. smalltalk.HLClassesListWidget);
  325. smalltalk.addMethod(
  326. "_packageSelected_",
  327. smalltalk.method({
  328. selector: "packageSelected:",
  329. fn: function (aPackage) {
  330. var self = this;
  331. var $1;
  332. smalltalk.send(self, "_selectedItem_", [nil]);
  333. if (($receiver = aPackage) == nil || $receiver == undefined) {
  334. $1 = [];
  335. } else {
  336. $1 = smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aPackage, "_classes", []), "_collect_", [function (each) {return smalltalk.send(each, "_theNonMetaClass", []);}]), "_asSet", []), "_asArray", []);
  337. }
  338. smalltalk.send(self, "_items_", [$1]);
  339. smalltalk.send(self, "_refresh", []);
  340. return self;
  341. }
  342. }),
  343. smalltalk.HLClassesListWidget);
  344. smalltalk.addMethod(
  345. "_renderButtonsOn_",
  346. smalltalk.method({
  347. selector: "renderButtonsOn:",
  348. fn: function (html) {
  349. var self = this;
  350. var $1, $3, $4, $5, $6, $7, $8, $2, $9, $10;
  351. $1 = smalltalk.send(html, "_div", []);
  352. smalltalk.send($1, "_class_", ["btn-group"]);
  353. smalltalk.send($1, "_at_put_", ["data-toggle", "buttons-radio"]);
  354. $2 = smalltalk.send($1, "_with_", [function () {$3 = smalltalk.send(html, "_button", []);smalltalk.send($3, "_class_", [smalltalk.send(smalltalk.String || String, "_streamContents_", [function (str) {smalltalk.send(str, "_nextPutAll_", ["btn"]);$4 = smalltalk.send(self, "_showInstance", []);if (smalltalk.assert($4)) {return smalltalk.send(str, "_nextPutAll_", [" active"]);}}])]);smalltalk.send($3, "_with_", ["Instance"]);$5 = smalltalk.send($3, "_onClick_", [function () {return smalltalk.send(self, "_showInstance_", [true]);}]);$5;$6 = smalltalk.send(html, "_button", []);smalltalk.send($6, "_class_", [smalltalk.send(smalltalk.String || String, "_streamContents_", [function (str) {smalltalk.send(str, "_nextPutAll_", ["btn"]);$7 = smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance", []);if (!smalltalk.assert($7)) {return smalltalk.send(str, "_nextPutAll_", [" active"]);}}])]);smalltalk.send($6, "_with_", ["Class"]);$8 = smalltalk.send($6, "_onClick_", [function () {return smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance_", [false]);}]);return $8;}]);
  355. $9 = smalltalk.send(html, "_button", []);
  356. smalltalk.send($9, "_class_", ["btn"]);
  357. smalltalk.send($9, "_at_put_", ["data-toggle", "button"]);
  358. $10 = smalltalk.send($9, "_with_", ["Comment"]);
  359. return self;
  360. }
  361. }),
  362. smalltalk.HLClassesListWidget);
  363. smalltalk.addMethod(
  364. "_renderItem_level_on_",
  365. smalltalk.method({
  366. selector: "renderItem:level:on:",
  367. fn: function (aClass, anInteger, html) {
  368. var self = this;
  369. var $2, $3, $1;
  370. var li;
  371. li = smalltalk.send(html, "_li", []);
  372. smalltalk.send(li, "_at_put_", ["list-data", smalltalk.send(smalltalk.send(self, "_items", []), "_indexOf_", [aClass])]);
  373. smalltalk.send(li, "_class_", [smalltalk.send(self, "_cssClassForItem_", [aClass])]);
  374. $1 = smalltalk.send(li, "_with_", [function () {$2 = smalltalk.send(html, "_a", []);smalltalk.send($2, "_with_", [function () {smalltalk.send(smalltalk.send(html, "_tag_", ["i"]), "_class_", [smalltalk.send(self, "_iconForItem_", [aClass])]);return smalltalk.send(self, "_renderItemLabel_level_on_", [aClass, anInteger, html]);}]);$3 = smalltalk.send($2, "_onClick_", [function () {return smalltalk.send(self, "_activateListItem_", [smalltalk.send(li, "_asJQuery", [])]);}]);return $3;}]);
  375. smalltalk.send(smalltalk.send(self, "_getChildrenOf_", [aClass]), "_do_", [function (each) {return smalltalk.send(self, "_renderItem_level_on_", [each, smalltalk.send(anInteger, "__plus", [1]), html]);}]);
  376. return self;
  377. }
  378. }),
  379. smalltalk.HLClassesListWidget);
  380. smalltalk.addMethod(
  381. "_renderItem_on_",
  382. smalltalk.method({
  383. selector: "renderItem:on:",
  384. fn: function (aClass, html) {
  385. var self = this;
  386. smalltalk.send(self, "_renderItem_on_", [aClass, html], smalltalk.HLBrowserListWidget);
  387. smalltalk.send(smalltalk.send(self, "_getChildrenOf_", [aClass]), "_do_", [function (each) {return smalltalk.send(self, "_renderItem_level_on_", [each, 1, html]);}]);
  388. return self;
  389. }
  390. }),
  391. smalltalk.HLClassesListWidget);
  392. smalltalk.addMethod(
  393. "_renderItemLabel_level_on_",
  394. smalltalk.method({
  395. selector: "renderItemLabel:level:on:",
  396. fn: function (aClass, anInteger, html) {
  397. var self = this;
  398. smalltalk.send(smalltalk.send(smalltalk.send(html, "_span", []), "_asJQuery", []), "_html_", [smalltalk.send(smalltalk.String || String, "_streamContents_", [function (str) {smalltalk.send(anInteger, "_timesRepeat_", [function () {return smalltalk.send(str, "_nextPutAll_", ["    "]);}]);return smalltalk.send(str, "_nextPutAll_", [smalltalk.send(aClass, "_name", [])]);}])]);
  399. return self;
  400. }
  401. }),
  402. smalltalk.HLClassesListWidget);
  403. smalltalk.addMethod(
  404. "_renderItemLabel_on_",
  405. smalltalk.method({
  406. selector: "renderItemLabel:on:",
  407. fn: function (aClass, html) {
  408. var self = this;
  409. smalltalk.send(self, "_renderItemLabel_level_on_", [aClass, 0, html]);
  410. return self;
  411. }
  412. }),
  413. smalltalk.HLClassesListWidget);
  414. smalltalk.addMethod(
  415. "_renderListOn_",
  416. smalltalk.method({
  417. selector: "renderListOn:",
  418. fn: function (html) {
  419. var self = this;
  420. smalltalk.send(smalltalk.send(self, "_getRootClassesOf_", [smalltalk.send(self, "_items", [])]), "_do_", [function (each) {return smalltalk.send(self, "_renderItem_on_", [each, html]);}]);
  421. return self;
  422. }
  423. }),
  424. smalltalk.HLClassesListWidget);
  425. smalltalk.addMethod(
  426. "_selectItem_",
  427. smalltalk.method({
  428. selector: "selectItem:",
  429. fn: function (aClass){
  430. var self=this;
  431. smalltalk.send(self,"_selectItem_",[aClass],smalltalk.HLBrowserListWidget);
  432. smalltalk.send(smalltalk.send(self,"_model",[]),"_selectedClass_",[aClass]);
  433. return self}
  434. }),
  435. smalltalk.HLClassesListWidget);
  436. smalltalk.addMethod(
  437. "_showInstance",
  438. smalltalk.method({
  439. selector: "showInstance",
  440. fn: function () {
  441. var self = this;
  442. var $1;
  443. $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance", []);
  444. return $1;
  445. }
  446. }),
  447. smalltalk.HLClassesListWidget);
  448. smalltalk.addMethod(
  449. "_showInstance_",
  450. smalltalk.method({
  451. selector: "showInstance:",
  452. fn: function (aBoolean) {
  453. var self = this;
  454. smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance_", [aBoolean]);
  455. return self;
  456. }
  457. }),
  458. smalltalk.HLClassesListWidget);
  459. smalltalk.addMethod(
  460. "_subscribeTo_",
  461. smalltalk.method({
  462. selector: "subscribeTo:",
  463. fn: function (anAnnouncer) {
  464. var self = this;
  465. smalltalk.send(anAnnouncer, "_on_do_", [smalltalk.HLPackageSelected || HLPackageSelected, function (ann) {return smalltalk.send(self, "_packageSelected_", [smalltalk.send(ann, "_item", [])]);}]);
  466. smalltalk.send(anAnnouncer, "_on_do_", [smalltalk.HLShowInstanceToggled || HLShowInstanceToggled, function (ann) {return smalltalk.send(self, "_refresh", []);}]);
  467. smalltalk.send(anAnnouncer, "_on_do_", [smalltalk.HLClassSelected || HLClassSelected, function (ann) {return smalltalk.send(self, "_focus", []);}]);
  468. return self;
  469. }
  470. }),
  471. smalltalk.HLClassesListWidget);
  472. smalltalk.addClass('HLMethodsListWidget', smalltalk.HLBrowserListWidget, ['selectorsCache'], 'Helios-Browser');
  473. smalltalk.addMethod(
  474. "_allProtocol",
  475. smalltalk.method({
  476. selector: "allProtocol",
  477. fn: function () {
  478. var self = this;
  479. var $1;
  480. $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_allProtocol", []);
  481. return $1;
  482. }
  483. }),
  484. smalltalk.HLMethodsListWidget);
  485. smalltalk.addMethod(
  486. "_flushSelectorsCache",
  487. smalltalk.method({
  488. selector: "flushSelectorsCache",
  489. fn: function () {
  490. var self = this;
  491. self['@selectorsCache'] = smalltalk.send(smalltalk.Dictionary || Dictionary, "_new", []);
  492. return self;
  493. }
  494. }),
  495. smalltalk.HLMethodsListWidget);
  496. smalltalk.addMethod(
  497. "_iconForItem_",
  498. smalltalk.method({
  499. selector: "iconForItem:",
  500. fn: function (aCompiledMethod) {
  501. var self = this;
  502. var $1;
  503. var override;
  504. var overriden;
  505. override = smalltalk.send(self, "_isOverride_", [aCompiledMethod]);
  506. overriden = smalltalk.send(self, "_isOverriden_", [aCompiledMethod]);
  507. if (smalltalk.assert(override)) {
  508. if (smalltalk.assert(overriden)) {
  509. $1 = "icon-resize-vertical";
  510. } else {
  511. $1 = "icon-arrow-up";
  512. }
  513. } else {
  514. if (smalltalk.assert(overriden)) {
  515. $1 = "icon-arrow-down";
  516. } else {
  517. $1 = "icon-none";
  518. }
  519. }
  520. return $1;
  521. }
  522. }),
  523. smalltalk.HLMethodsListWidget);
  524. smalltalk.addMethod(
  525. "_initialize",
  526. smalltalk.method({
  527. selector: "initialize",
  528. fn: function () {
  529. var self = this;
  530. smalltalk.send(self, "_initialize", [], smalltalk.HLBrowserListWidget);
  531. smalltalk.send(self, "_flushSelectorsCache", []);
  532. return self;
  533. }
  534. }),
  535. smalltalk.HLMethodsListWidget);
  536. smalltalk.addMethod(
  537. "_isOverride_",
  538. smalltalk.method({
  539. selector: "isOverride:",
  540. fn: function (aMethod) {
  541. var self = this;
  542. var $1;
  543. $1 = smalltalk.send(smalltalk.send(self, "_overrideSelectors", []), "_includes_", [smalltalk.send(aMethod, "_selector", [])]);
  544. return $1;
  545. }
  546. }),
  547. smalltalk.HLMethodsListWidget);
  548. smalltalk.addMethod(
  549. "_isOverriden_",
  550. smalltalk.method({
  551. selector: "isOverriden:",
  552. fn: function (aMethod) {
  553. var self = this;
  554. var $1;
  555. $1 = smalltalk.send(smalltalk.send(self, "_overridenSelectors", []), "_includes_", [smalltalk.send(aMethod, "_selector", [])]);
  556. return $1;
  557. }
  558. }),
  559. smalltalk.HLMethodsListWidget);
  560. smalltalk.addMethod(
  561. "_methodsInProtocol_",
  562. smalltalk.method({
  563. selector: "methodsInProtocol:",
  564. fn: function (aString) {
  565. var self = this;
  566. var $2, $1;
  567. $2 = smalltalk.send(aString, "__eq", [smalltalk.send(self, "_allProtocol", [])]);
  568. if (smalltalk.assert($2)) {
  569. $1 = smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", []), "_methods", []);
  570. } else {
  571. $1 = smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", []), "_methodsInProtocol_", [aString]);
  572. }
  573. return $1;
  574. }
  575. }),
  576. smalltalk.HLMethodsListWidget);
  577. smalltalk.addMethod(
  578. "_overrideSelectors",
  579. smalltalk.method({
  580. selector: "overrideSelectors",
  581. fn: function () {
  582. var self = this;
  583. var $2, $1;
  584. $1 = smalltalk.send(smalltalk.send(self, "_selectorsCache", []), "_at_ifAbsentPut_", ["override", function () {return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", []), "_allSuperclasses", []), "_inject_into_", [smalltalk.send(smalltalk.Set || Set, "_new", []), function (acc, each) {smalltalk.send(acc, "_addAll_", [smalltalk.send(each, "_selectors", [])]);$2 = smalltalk.send(acc, "_yourself", []);return $2;}]);}]);
  585. return $1;
  586. }
  587. }),
  588. smalltalk.HLMethodsListWidget);
  589. smalltalk.addMethod(
  590. "_overridenSelectors",
  591. smalltalk.method({
  592. selector: "overridenSelectors",
  593. fn: function () {
  594. var self = this;
  595. var $2, $1;
  596. $1 = smalltalk.send(smalltalk.send(self, "_selectorsCache", []), "_at_ifAbsentPut_", ["overriden", function () {return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", []), "_allSubclasses", []), "_inject_into_", [smalltalk.send(smalltalk.Set || Set, "_new", []), function (acc, each) {smalltalk.send(acc, "_addAll_", [smalltalk.send(each, "_selectors", [])]);$2 = smalltalk.send(acc, "_yourself", []);return $2;}]);}]);
  597. return $1;
  598. }
  599. }),
  600. smalltalk.HLMethodsListWidget);
  601. smalltalk.addMethod(
  602. "_protocolSelected_",
  603. smalltalk.method({
  604. selector: "protocolSelected:",
  605. fn: function (aString){
  606. var self=this;
  607. var $2,$1;
  608. smalltalk.send(self,"_selectedItem_",[nil]);
  609. $2=smalltalk.send(smalltalk.send(self,"_model",[]),"_selectedClass",[]);
  610. if(($receiver = $2) == nil || $receiver == undefined){
  611. $1=[];
  612. } else {
  613. if(($receiver = aString) == nil || $receiver == undefined){
  614. $1=[];
  615. } else {
  616. $1=smalltalk.send(self,"_methodsInProtocol_",[aString]);
  617. };
  618. };
  619. smalltalk.send(self,"_items_",[$1]);
  620. smalltalk.send(self,"_refresh",[]);
  621. return self}
  622. }),
  623. smalltalk.HLMethodsListWidget);
  624. smalltalk.addMethod(
  625. "_renderContentOn_",
  626. smalltalk.method({
  627. selector: "renderContentOn:",
  628. fn: function (html) {
  629. var self = this;
  630. var $1, $2, $3;
  631. $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance", []);
  632. if (smalltalk.assert($1)) {
  633. smalltalk.send(self, "_renderContentOn_", [html], smalltalk.HLBrowserListWidget);
  634. } else {
  635. $2 = smalltalk.send(html, "_div", []);
  636. smalltalk.send($2, "_class_", ["class_side"]);
  637. $3 = smalltalk.send($2, "_with_", [function () {return smalltalk.send(self, "_renderContentOn_", [html], smalltalk.HLBrowserListWidget);}]);
  638. }
  639. smalltalk.send(self, "_flushSelectorsCache", []);
  640. return self;
  641. }
  642. }),
  643. smalltalk.HLMethodsListWidget);
  644. smalltalk.addMethod(
  645. "_renderItemLabel_on_",
  646. smalltalk.method({
  647. selector: "renderItemLabel:on:",
  648. fn: function (aCompiledMethod, html) {
  649. var self = this;
  650. smalltalk.send(html, "_with_", [smalltalk.send(aCompiledMethod, "_selector", [])]);
  651. return self;
  652. }
  653. }),
  654. smalltalk.HLMethodsListWidget);
  655. smalltalk.addMethod(
  656. "_selectItem_",
  657. smalltalk.method({
  658. selector: "selectItem:",
  659. fn: function (aCompiledMethod){
  660. var self=this;
  661. smalltalk.send(self,"_selectItem_",[aCompiledMethod],smalltalk.HLBrowserListWidget);
  662. smalltalk.send(smalltalk.send(self,"_model",[]),"_selectedMethod_",[aCompiledMethod]);
  663. return self}
  664. }),
  665. smalltalk.HLMethodsListWidget);
  666. smalltalk.addMethod(
  667. "_selectorsCache",
  668. smalltalk.method({
  669. selector: "selectorsCache",
  670. fn: function () {
  671. var self = this;
  672. return self['@selectorsCache'];
  673. }
  674. }),
  675. smalltalk.HLMethodsListWidget);
  676. smalltalk.addMethod(
  677. "_subscribeTo_",
  678. smalltalk.method({
  679. selector: "subscribeTo:",
  680. fn: function (anAnnouncer) {
  681. var self = this;
  682. smalltalk.send(anAnnouncer, "_on_do_", [smalltalk.HLProtocolSelected || HLProtocolSelected, function (ann) {return smalltalk.send(self, "_protocolSelected_", [smalltalk.send(ann, "_item", [])]);}]);
  683. smalltalk.send(anAnnouncer, "_on_do_", [smalltalk.HLShowInstanceToggled || HLShowInstanceToggled, function (ann) {return smalltalk.send(self, "_protocolSelected_", [nil]);}]);
  684. smalltalk.send(anAnnouncer, "_on_do_", [smalltalk.HLMethodSelected || HLMethodSelected, function (ann) {return smalltalk.send(self, "_focus", []);}]);
  685. return self;
  686. }
  687. }),
  688. smalltalk.HLMethodsListWidget);
  689. smalltalk.addClass('HLPackagesListWidget', smalltalk.HLBrowserListWidget, [], 'Helios-Browser');
  690. smalltalk.addMethod(
  691. "_focusClassesListWidget",
  692. smalltalk.method({
  693. selector: "focusClassesListWidget",
  694. fn: function () {
  695. var self = this;
  696. smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLClassesListFocus || HLClassesListFocus, "_new", [])]);
  697. return self;
  698. }
  699. }),
  700. smalltalk.HLPackagesListWidget);
  701. smalltalk.addMethod(
  702. "_initializeItems",
  703. smalltalk.method({
  704. selector: "initializeItems",
  705. fn: function (){
  706. var self=this;
  707. var $1;
  708. self["@items"]=smalltalk.send(smalltalk.send(smalltalk.send(self,"_model",[]),"_packages",[]),"_sort_",[(function(a,b){
  709. return smalltalk.send(smalltalk.send(a,"_name",[]),"__lt",[smalltalk.send(b,"_name",[])]);
  710. })]);
  711. $1=self["@items"];
  712. return $1;
  713. }
  714. }),
  715. smalltalk.HLPackagesListWidget);
  716. smalltalk.addMethod(
  717. "_items",
  718. smalltalk.method({
  719. selector: "items",
  720. fn: function (){
  721. var self=this;
  722. var $1;
  723. if(($receiver = self["@items"]) == nil || $receiver == undefined){
  724. $1=smalltalk.send(self,"_initializeItems",[]);
  725. } else {
  726. $1=self["@items"];
  727. };
  728. return $1;
  729. }
  730. }),
  731. smalltalk.HLPackagesListWidget);
  732. smalltalk.addMethod(
  733. "_renderButtonsOn_",
  734. smalltalk.method({
  735. selector: "renderButtonsOn:",
  736. fn: function (html) {
  737. var self = this;
  738. var $1, $2, $3, $5, $6, $7, $8, $4, $9, $10;
  739. $1 = smalltalk.send(html, "_span", []);
  740. smalltalk.send($1, "_class_", ["info"]);
  741. $2 = smalltalk.send($1, "_with_", ["Auto commit"]);
  742. $3 = smalltalk.send(html, "_div", []);
  743. smalltalk.send($3, "_class_", ["btn-group switch"]);
  744. smalltalk.send($3, "_at_put_", ["data-toggle", "buttons-radio"]);
  745. $4 = smalltalk.send($3, "_with_", [function () {$5 = smalltalk.send(html, "_button", []);smalltalk.send($5, "_class_", [smalltalk.send(smalltalk.String || String, "_streamContents_", [function (str) {return smalltalk.send(str, "_nextPutAll_", ["btn"]);}])]);$6 = smalltalk.send($5, "_with_", ["On"]);$6;$7 = smalltalk.send(html, "_button", []);smalltalk.send($7, "_class_", [smalltalk.send(smalltalk.String || String, "_streamContents_", [function (str) {return smalltalk.send(str, "_nextPutAll_", ["btn active"]);}])]);$8 = smalltalk.send($7, "_with_", ["Off"]);return $8;}]);
  746. $9 = smalltalk.send(html, "_a", []);
  747. smalltalk.send($9, "_class_", ["btn"]);
  748. $10 = smalltalk.send($9, "_with_", ["Commit"]);
  749. return self;
  750. }
  751. }),
  752. smalltalk.HLPackagesListWidget);
  753. smalltalk.addMethod(
  754. "_selectItem_",
  755. smalltalk.method({
  756. selector: "selectItem:",
  757. fn: function (aPackage){
  758. var self=this;
  759. smalltalk.send(self,"_selectItem_",[aPackage],smalltalk.HLBrowserListWidget);
  760. smalltalk.send(smalltalk.send(self,"_model",[]),"_selectedPackage_",[aPackage]);
  761. return self}
  762. }),
  763. smalltalk.HLPackagesListWidget);
  764. smalltalk.addMethod(
  765. "_subscribeTo_",
  766. smalltalk.method({
  767. selector: "subscribeTo:",
  768. fn: function (anAnnouncer) {
  769. var self = this;
  770. smalltalk.send(anAnnouncer, "_on_do_", [smalltalk.HLPackageSelected || HLPackageSelected, function (ann) {return smalltalk.send(self, "_focus", []);}]);
  771. return self;
  772. }
  773. }),
  774. smalltalk.HLPackagesListWidget);
  775. smalltalk.addClass('HLProtocolsListWidget', smalltalk.HLBrowserListWidget, [], 'Helios-Browser');
  776. smalltalk.addMethod(
  777. "_allProtocol",
  778. smalltalk.method({
  779. selector: "allProtocol",
  780. fn: function () {
  781. var self = this;
  782. var $1;
  783. $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_allProtocol", []);
  784. return $1;
  785. }
  786. }),
  787. smalltalk.HLProtocolsListWidget);
  788. smalltalk.addMethod(
  789. "_classSelected_",
  790. smalltalk.method({
  791. selector: "classSelected:",
  792. fn: function (aClass) {
  793. var self = this;
  794. var $2, $3, $1;
  795. smalltalk.send(self, "_selectedItem_", [nil]);
  796. if (($receiver = aClass) == nil || $receiver == undefined) {
  797. $1 = smalltalk.send(smalltalk.Array || Array, "_with_", [smalltalk.send(self, "_allProtocol", [])]);
  798. } else {
  799. $2 = smalltalk.send(smalltalk.Array || Array, "_with_", [smalltalk.send(self, "_allProtocol", [])]);
  800. smalltalk.send($2, "_addAll_", [smalltalk.send(aClass, "_protocols", [])]);
  801. $3 = smalltalk.send($2, "_yourself", []);
  802. $1 = $3;
  803. }
  804. smalltalk.send(self, "_items_", [$1]);
  805. smalltalk.send(self, "_refresh", []);
  806. return self;
  807. }
  808. }),
  809. smalltalk.HLProtocolsListWidget);
  810. smalltalk.addMethod(
  811. "_renderContentOn_",
  812. smalltalk.method({
  813. selector: "renderContentOn:",
  814. fn: function (html) {
  815. var self = this;
  816. var $1, $2, $3;
  817. $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance", []);
  818. if (smalltalk.assert($1)) {
  819. smalltalk.send(self, "_renderContentOn_", [html], smalltalk.HLBrowserListWidget);
  820. } else {
  821. $2 = smalltalk.send(html, "_div", []);
  822. smalltalk.send($2, "_class_", ["class_side"]);
  823. $3 = smalltalk.send($2, "_with_", [function () {return smalltalk.send(self, "_renderContentOn_", [html], smalltalk.HLBrowserListWidget);}]);
  824. }
  825. return self;
  826. }
  827. }),
  828. smalltalk.HLProtocolsListWidget);
  829. smalltalk.addMethod(
  830. "_selectItem_",
  831. smalltalk.method({
  832. selector: "selectItem:",
  833. fn: function (aString){
  834. var self=this;
  835. smalltalk.send(self,"_selectItem_",[aString],smalltalk.HLBrowserListWidget);
  836. smalltalk.send(smalltalk.send(self,"_model",[]),"_selectedProtocol_",[aString]);
  837. return self}
  838. }),
  839. smalltalk.HLProtocolsListWidget);
  840. smalltalk.addMethod(
  841. "_selectedItem",
  842. smalltalk.method({
  843. selector: "selectedItem",
  844. fn: function (){
  845. var self=this;
  846. var $1;
  847. $1=smalltalk.send(self,"_selectedItem",[],smalltalk.HLBrowserListWidget);
  848. return $1;
  849. }
  850. }),
  851. smalltalk.HLProtocolsListWidget);
  852. smalltalk.addMethod(
  853. "_subscribeTo_",
  854. smalltalk.method({
  855. selector: "subscribeTo:",
  856. fn: function (anAnnouncer) {
  857. var self = this;
  858. smalltalk.send(anAnnouncer, "_on_do_", [smalltalk.HLClassSelected || HLClassSelected, function (ann) {return smalltalk.send(self, "_classSelected_", [smalltalk.send(ann, "_item", [])]);}]);
  859. smalltalk.send(anAnnouncer, "_on_do_", [smalltalk.HLShowInstanceToggled || HLShowInstanceToggled, function (ann) {return smalltalk.send(self, "_classSelected_", [smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", [])]);}]);
  860. smalltalk.send(anAnnouncer, "_on_do_", [smalltalk.HLProtocolSelected || HLProtocolSelected, function (ann) {return smalltalk.send(self, "_focus", []);}]);
  861. return self;
  862. }
  863. }),
  864. smalltalk.HLProtocolsListWidget);
  865. smalltalk.addClass('HLBrowserModel', smalltalk.Object, ['announcer', 'environment', 'selectedPackage', 'selectedClass', 'selectedProtocol', 'selectedMethod', 'showInstance', 'showComment'], 'Helios-Browser');
  866. smalltalk.addMethod(
  867. "_allProtocol",
  868. smalltalk.method({
  869. selector: "allProtocol",
  870. fn: function () {
  871. var self = this;
  872. return "-- All --";
  873. }
  874. }),
  875. smalltalk.HLBrowserModel);
  876. smalltalk.addMethod(
  877. "_announcer",
  878. smalltalk.method({
  879. selector: "announcer",
  880. fn: function () {
  881. var self = this;
  882. var $1;
  883. if (($receiver = self['@announcer']) == nil || $receiver == undefined) {
  884. self['@announcer'] = smalltalk.send(smalltalk.Announcer || Announcer, "_new", []);
  885. $1 = self['@announcer'];
  886. } else {
  887. $1 = self['@announcer'];
  888. }
  889. return $1;
  890. }
  891. }),
  892. smalltalk.HLBrowserModel);
  893. smalltalk.addMethod(
  894. "_environment",
  895. smalltalk.method({
  896. selector: "environment",
  897. fn: function () {
  898. var self = this;
  899. var $1;
  900. if (($receiver = self['@environment']) == nil || $receiver == undefined) {
  901. self['@environment'] = smalltalk.send(smalltalk.Smalltalk || Smalltalk, "_current", []);
  902. $1 = self['@environment'];
  903. } else {
  904. $1 = self['@environment'];
  905. }
  906. return $1;
  907. }
  908. }),
  909. smalltalk.HLBrowserModel);
  910. smalltalk.addMethod(
  911. "_environment_",
  912. smalltalk.method({
  913. selector: "environment:",
  914. fn: function (anEnvironment) {
  915. var self = this;
  916. self['@environment'] = anEnvironment;
  917. return self;
  918. }
  919. }),
  920. smalltalk.HLBrowserModel);
  921. smalltalk.addMethod(
  922. "_packages",
  923. smalltalk.method({
  924. selector: "packages",
  925. fn: function () {
  926. var self = this;
  927. var $1;
  928. $1 = smalltalk.send(smalltalk.send(self, "_environment", []), "_packages", []);
  929. return $1;
  930. }
  931. }),
  932. smalltalk.HLBrowserModel);
  933. smalltalk.addMethod(
  934. "_selectedClass",
  935. smalltalk.method({
  936. selector: "selectedClass",
  937. fn: function () {
  938. var self = this;
  939. return self['@selectedClass'];
  940. }
  941. }),
  942. smalltalk.HLBrowserModel);
  943. smalltalk.addMethod(
  944. "_selectedClass_",
  945. smalltalk.method({
  946. selector: "selectedClass:",
  947. fn: function (aClass){
  948. var self=this;
  949. var $1,$2,$3;
  950. $1=smalltalk.send(self["@selectedClass"],"__eq",[aClass]);
  951. if(! smalltalk.assert($1)){
  952. if(($receiver = aClass) == nil || $receiver == undefined){
  953. self["@selectedClass"]=nil;
  954. self["@selectedClass"];
  955. } else {
  956. $2=smalltalk.send(self,"_showInstance",[]);
  957. if(smalltalk.assert($2)){
  958. self["@selectedClass"]=smalltalk.send(aClass,"_theNonMetaClass",[]);
  959. self["@selectedClass"];
  960. } else {
  961. self["@selectedClass"]=smalltalk.send(aClass,"_theMetaClass",[]);
  962. self["@selectedClass"];
  963. };
  964. };
  965. smalltalk.send(self,"_selectedMethod_",[nil]);
  966. $3=smalltalk.send(self,"_selectedProtocol_",[nil]);
  967. $3;
  968. };
  969. smalltalk.send(smalltalk.send(self,"_announcer",[]),"_announce_",[smalltalk.send((smalltalk.HLClassSelected || HLClassSelected),"_on_",[smalltalk.send(self,"_selectedClass",[])])]);
  970. return self}
  971. }),
  972. smalltalk.HLBrowserModel);
  973. smalltalk.addMethod(
  974. "_selectedMethod",
  975. smalltalk.method({
  976. selector: "selectedMethod",
  977. fn: function () {
  978. var self = this;
  979. return self['@selectedMethod'];
  980. }
  981. }),
  982. smalltalk.HLBrowserModel);
  983. smalltalk.addMethod(
  984. "_selectedMethod_",
  985. smalltalk.method({
  986. selector: "selectedMethod:",
  987. fn: function (aCompiledMethod){
  988. var self=this;
  989. var $1;
  990. $1=smalltalk.send(self["@selectedMethod"],"__eq",[aCompiledMethod]);
  991. if(! smalltalk.assert($1)){
  992. self["@selectedMethod"]=aCompiledMethod;
  993. self["@selectedMethod"];
  994. };
  995. smalltalk.send(smalltalk.send(self,"_announcer",[]),"_announce_",[smalltalk.send((smalltalk.HLMethodSelected || HLMethodSelected),"_on_",[aCompiledMethod])]);
  996. return self}
  997. }),
  998. smalltalk.HLBrowserModel);
  999. smalltalk.addMethod(
  1000. "_selectedPackage",
  1001. smalltalk.method({
  1002. selector: "selectedPackage",
  1003. fn: function () {
  1004. var self = this;
  1005. return self['@selectedPackage'];
  1006. }
  1007. }),
  1008. smalltalk.HLBrowserModel);
  1009. smalltalk.addMethod(
  1010. "_selectedPackage_",
  1011. smalltalk.method({
  1012. selector: "selectedPackage:",
  1013. fn: function (aPackage){
  1014. var self=this;
  1015. var $1;
  1016. $1=smalltalk.send(self["@selectedPackage"],"__eq",[aPackage]);
  1017. if(! smalltalk.assert($1)){
  1018. self["@selectedPackage"]=aPackage;
  1019. self["@selectedPackage"];
  1020. smalltalk.send(self,"_selectedClass_",[nil]);
  1021. };
  1022. smalltalk.send(smalltalk.send(self,"_announcer",[]),"_announce_",[smalltalk.send((smalltalk.HLPackageSelected || HLPackageSelected),"_on_",[aPackage])]);
  1023. return self}
  1024. }),
  1025. smalltalk.HLBrowserModel);
  1026. smalltalk.addMethod(
  1027. "_selectedProtocol",
  1028. smalltalk.method({
  1029. selector: "selectedProtocol",
  1030. fn: function () {
  1031. var self = this;
  1032. return self['@selectedProtocol'];
  1033. }
  1034. }),
  1035. smalltalk.HLBrowserModel);
  1036. smalltalk.addMethod(
  1037. "_selectedProtocol_",
  1038. smalltalk.method({
  1039. selector: "selectedProtocol:",
  1040. fn: function (aString){
  1041. var self=this;
  1042. var $1;
  1043. $1=smalltalk.send(self["@selectedProtocol"],"__eq",[aString]);
  1044. if(! smalltalk.assert($1)){
  1045. self["@selectedProtocol"]=aString;
  1046. self["@selectedProtocol"];
  1047. smalltalk.send(self,"_selectedMethod_",[nil]);
  1048. };
  1049. smalltalk.send(smalltalk.send(self,"_announcer",[]),"_announce_",[smalltalk.send((smalltalk.HLProtocolSelected || HLProtocolSelected),"_on_",[aString])]);
  1050. return self}
  1051. }),
  1052. smalltalk.HLBrowserModel);
  1053. smalltalk.addMethod(
  1054. "_showComment",
  1055. smalltalk.method({
  1056. selector: "showComment",
  1057. fn: function () {
  1058. var self = this;
  1059. var $1;
  1060. if (($receiver = self['@showComment']) == nil || $receiver == undefined) {
  1061. $1 = false;
  1062. } else {
  1063. $1 = self['@showComment'];
  1064. }
  1065. return $1;
  1066. }
  1067. }),
  1068. smalltalk.HLBrowserModel);
  1069. smalltalk.addMethod(
  1070. "_showComment_",
  1071. smalltalk.method({
  1072. selector: "showComment:",
  1073. fn: function (aBoolean) {
  1074. var self = this;
  1075. self['@showComment'] = aBoolean;
  1076. smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLShowCommentToggled || HLShowCommentToggled, "_new", [])]);
  1077. return self;
  1078. }
  1079. }),
  1080. smalltalk.HLBrowserModel);
  1081. smalltalk.addMethod(
  1082. "_showInstance",
  1083. smalltalk.method({
  1084. selector: "showInstance",
  1085. fn: function () {
  1086. var self = this;
  1087. var $1;
  1088. if (($receiver = self['@showInstance']) == nil ||
  1089. $receiver == undefined) {
  1090. $1 = true;
  1091. } else {
  1092. $1 = self['@showInstance'];
  1093. }
  1094. return $1;
  1095. }
  1096. }),
  1097. smalltalk.HLBrowserModel);
  1098. smalltalk.addMethod(
  1099. "_showInstance_",
  1100. smalltalk.method({
  1101. selector: "showInstance:",
  1102. fn: function (aBoolean) {
  1103. var self = this;
  1104. var $1, $2;
  1105. self['@showInstance'] = aBoolean;
  1106. $1 = smalltalk.send(self, "_selectedClass", []);
  1107. if (($receiver = $1) == nil || $receiver == undefined) {
  1108. } else {
  1109. if (smalltalk.assert(aBoolean)) {
  1110. $2 = smalltalk.send(smalltalk.send(self, "_selectedClass", []), "_theNonMetaClass", []);
  1111. } else {
  1112. $2 = smalltalk.send(smalltalk.send(self, "_selectedClass", []), "_theMetaClass", []);
  1113. }
  1114. smalltalk.send(self, "_selectedClass_", [$2]);
  1115. }
  1116. smalltalk.send(smalltalk.send(self, "_announcer", []), "_announce_", [smalltalk.send(smalltalk.HLShowInstanceToggled || HLShowInstanceToggled, "_new", [])]);
  1117. return self;
  1118. }
  1119. }),
  1120. smalltalk.HLBrowserModel);
  1121. smalltalk.addMethod(
  1122. "_subscribe_",
  1123. smalltalk.method({
  1124. selector: "subscribe:",
  1125. fn: function (aWidget) {
  1126. var self = this;
  1127. smalltalk.send(aWidget, "_subscribeTo_", [smalltalk.send(self, "_announcer", [])]);
  1128. return self;
  1129. }
  1130. }),
  1131. smalltalk.HLBrowserModel);
  1132. smalltalk.addClass('HLBrowserSourceWidget', smalltalk.HLWidget, ['model', 'sourceArea'], 'Helios-Browser');
  1133. smalltalk.addMethod(
  1134. "_classSelected_",
  1135. smalltalk.method({
  1136. selector: "classSelected:",
  1137. fn: function (aClass) {
  1138. var self = this;
  1139. var $1;
  1140. if (($receiver = aClass) == nil || $receiver == undefined) {
  1141. $1 = smalltalk.send(self, "_contents_", [""]);
  1142. return $1;
  1143. } else {
  1144. }
  1145. smalltalk.send(self, "_contents_", [smalltalk.send(aClass, "_definition", [])]);
  1146. return self;
  1147. }
  1148. }),
  1149. smalltalk.HLBrowserSourceWidget);
  1150. smalltalk.addMethod(
  1151. "_contents",
  1152. smalltalk.method({
  1153. selector: "contents",
  1154. fn: function () {
  1155. var self = this;
  1156. var $1;
  1157. $1 = smalltalk.send(smalltalk.send(self, "_sourceArea", []), "_contents", []);
  1158. return $1;
  1159. }
  1160. }),
  1161. smalltalk.HLBrowserSourceWidget);
  1162. smalltalk.addMethod(
  1163. "_contents_",
  1164. smalltalk.method({
  1165. selector: "contents:",
  1166. fn: function (aString) {
  1167. var self = this;
  1168. smalltalk.send(smalltalk.send(self, "_sourceArea", []), "_contents_", [aString]);
  1169. return self;
  1170. }
  1171. }),
  1172. smalltalk.HLBrowserSourceWidget);
  1173. smalltalk.addMethod(
  1174. "_methodSelected_",
  1175. smalltalk.method({
  1176. selector: "methodSelected:",
  1177. fn: function (aCompiledMethod) {
  1178. var self = this;
  1179. var $1;
  1180. if (($receiver = aCompiledMethod) == nil || $receiver == undefined) {
  1181. $1 = smalltalk.send(self, "_contents_", [""]);
  1182. return $1;
  1183. } else {
  1184. }
  1185. smalltalk.send(self, "_contents_", [smalltalk.send(aCompiledMethod, "_source", [])]);
  1186. return self;
  1187. }
  1188. }),
  1189. smalltalk.HLBrowserSourceWidget);
  1190. smalltalk.addMethod(
  1191. "_model",
  1192. smalltalk.method({
  1193. selector: "model",
  1194. fn: function () {
  1195. var self = this;
  1196. return self['@model'];
  1197. }
  1198. }),
  1199. smalltalk.HLBrowserSourceWidget);
  1200. smalltalk.addMethod(
  1201. "_model_",
  1202. smalltalk.method({
  1203. selector: "model:",
  1204. fn: function (aBrowserModel) {
  1205. var self = this;
  1206. self['@model'] = aBrowserModel;
  1207. smalltalk.send(self['@model'], "_subscribe_", [self]);
  1208. return self;
  1209. }
  1210. }),
  1211. smalltalk.HLBrowserSourceWidget);
  1212. smalltalk.addMethod(
  1213. "_protocolSelected_",
  1214. smalltalk.method({
  1215. selector: "protocolSelected:",
  1216. fn: function (aString) {
  1217. var self = this;
  1218. var $1, $2;
  1219. $1 = smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", []);
  1220. if (($receiver = $1) == nil || $receiver == undefined) {
  1221. $2 = smalltalk.send(self, "_contents_", [""]);
  1222. return $2;
  1223. } else {
  1224. }
  1225. smalltalk.send(self, "_contents_", [smalltalk.send(smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", []), "_definition", [])]);
  1226. return self;
  1227. }
  1228. }),
  1229. smalltalk.HLBrowserSourceWidget);
  1230. smalltalk.addMethod(
  1231. "_renderContentOn_",
  1232. smalltalk.method({
  1233. selector: "renderContentOn:",
  1234. fn: function (html) {
  1235. var self = this;
  1236. smalltalk.send(smalltalk.send(self, "_sourceArea", []), "_renderOn_", [html]);
  1237. return self;
  1238. }
  1239. }),
  1240. smalltalk.HLBrowserSourceWidget);
  1241. smalltalk.addMethod(
  1242. "_sourceArea",
  1243. smalltalk.method({
  1244. selector: "sourceArea",
  1245. fn: function () {
  1246. var self = this;
  1247. var $1;
  1248. if (($receiver = self['@sourceArea']) == nil || $receiver == undefined) {
  1249. self['@sourceArea'] = smalltalk.send(smalltalk.HLSourceArea || HLSourceArea, "_new", []);
  1250. $1 = self['@sourceArea'];
  1251. } else {
  1252. $1 = self['@sourceArea'];
  1253. }
  1254. return $1;
  1255. }
  1256. }),
  1257. smalltalk.HLBrowserSourceWidget);
  1258. smalltalk.addMethod(
  1259. "_subscribeTo_",
  1260. smalltalk.method({
  1261. selector: "subscribeTo:",
  1262. fn: function (anAnnouncer) {
  1263. var self = this;
  1264. smalltalk.send(anAnnouncer, "_on_do_", [smalltalk.HLMethodSelected || HLMethodSelected, function (ann) {return smalltalk.send(self, "_methodSelected_", [smalltalk.send(ann, "_item", [])]);}]);
  1265. smalltalk.send(anAnnouncer, "_on_do_", [smalltalk.HLClassSelected || HLClassSelected, function (ann) {return smalltalk.send(self, "_classSelected_", [smalltalk.send(ann, "_item", [])]);}]);
  1266. smalltalk.send(anAnnouncer, "_on_do_", [smalltalk.HLProtocolSelected || HLProtocolSelected, function (ann) {return smalltalk.send(self, "_protocolSelected_", [smalltalk.send(ann, "_item", [])]);}]);
  1267. return self;
  1268. }
  1269. }),
  1270. smalltalk.HLBrowserSourceWidget);
  1271. smalltalk.addMethod(
  1272. "_on_",
  1273. smalltalk.method({
  1274. selector: "on:",
  1275. fn: function (aBrowserModel) {
  1276. var self = this;
  1277. var $2, $3, $1;
  1278. $2 = smalltalk.send(self, "_new", []);
  1279. smalltalk.send($2, "_model_", [aBrowserModel]);
  1280. $3 = smalltalk.send($2, "_yourself", []);
  1281. $1 = $3;
  1282. return $1;
  1283. }
  1284. }),
  1285. smalltalk.HLBrowserSourceWidget.klass);