Helios-Commands-Browser.js 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071
  1. define(["amber/boot", "require", "helios/Helios-Commands-Tools"], function($boot,requirejs){"use strict";
  2. var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
  3. var $pkg = $core.addPackage("Helios-Commands-Browser");
  4. $pkg.innerEval = function (expr) { return eval(expr); };
  5. $pkg.transport = {"type":"amd","amdNamespace":"helios"};
  6. $core.addClass("HLBrowserCommand", $globals.HLToolCommand, [], "Helios-Commands-Browser");
  7. $core.addMethod(
  8. $core.method({
  9. selector: "isValidFor:",
  10. protocol: "testing",
  11. fn: function (aModel){
  12. var self=this,$self=this;
  13. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  14. return $core.withContext(function($ctx1) {
  15. //>>excludeEnd("ctx");
  16. return $recv(aModel)._isBrowserModel();
  17. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  18. }, function($ctx1) {$ctx1.fill(self,"isValidFor:",{aModel:aModel})});
  19. //>>excludeEnd("ctx");
  20. },
  21. //>>excludeStart("ide", pragmas.excludeIdeData);
  22. args: ["aModel"],
  23. source: "isValidFor: aModel\x0a\x09^ aModel isBrowserModel",
  24. referencedClasses: [],
  25. //>>excludeEnd("ide");
  26. pragmas: [],
  27. messageSends: ["isBrowserModel"]
  28. }),
  29. $globals.HLBrowserCommand.a$cls);
  30. $core.addClass("HLBrowserGoToCommand", $globals.HLBrowserCommand, [], "Helios-Commands-Browser");
  31. $core.addMethod(
  32. $core.method({
  33. selector: "isValidFor:",
  34. protocol: "testing",
  35. fn: function (aModel){
  36. var self=this,$self=this;
  37. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  38. return $core.withContext(function($ctx1) {
  39. //>>excludeEnd("ctx");
  40. return $recv(aModel)._isBrowserModel();
  41. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  42. }, function($ctx1) {$ctx1.fill(self,"isValidFor:",{aModel:aModel})});
  43. //>>excludeEnd("ctx");
  44. },
  45. //>>excludeStart("ide", pragmas.excludeIdeData);
  46. args: ["aModel"],
  47. source: "isValidFor: aModel\x0a\x09^ aModel isBrowserModel",
  48. referencedClasses: [],
  49. //>>excludeEnd("ide");
  50. pragmas: [],
  51. messageSends: ["isBrowserModel"]
  52. }),
  53. $globals.HLBrowserGoToCommand.a$cls);
  54. $core.addMethod(
  55. $core.method({
  56. selector: "key",
  57. protocol: "accessing",
  58. fn: function (){
  59. var self=this,$self=this;
  60. return "g";
  61. },
  62. //>>excludeStart("ide", pragmas.excludeIdeData);
  63. args: [],
  64. source: "key\x0a\x09^ 'g'",
  65. referencedClasses: [],
  66. //>>excludeEnd("ide");
  67. pragmas: [],
  68. messageSends: []
  69. }),
  70. $globals.HLBrowserGoToCommand.a$cls);
  71. $core.addMethod(
  72. $core.method({
  73. selector: "label",
  74. protocol: "accessing",
  75. fn: function (){
  76. var self=this,$self=this;
  77. return "Go to";
  78. },
  79. //>>excludeStart("ide", pragmas.excludeIdeData);
  80. args: [],
  81. source: "label\x0a\x09^ 'Go to'",
  82. referencedClasses: [],
  83. //>>excludeEnd("ide");
  84. pragmas: [],
  85. messageSends: []
  86. }),
  87. $globals.HLBrowserGoToCommand.a$cls);
  88. $core.addClass("HLGoToClassesCommand", $globals.HLBrowserGoToCommand, [], "Helios-Commands-Browser");
  89. $core.addMethod(
  90. $core.method({
  91. selector: "execute",
  92. protocol: "executing",
  93. fn: function (){
  94. var self=this,$self=this;
  95. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  96. return $core.withContext(function($ctx1) {
  97. //>>excludeEnd("ctx");
  98. $recv($self._model())._focusOnClasses();
  99. return self;
  100. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  101. }, function($ctx1) {$ctx1.fill(self,"execute",{})});
  102. //>>excludeEnd("ctx");
  103. },
  104. //>>excludeStart("ide", pragmas.excludeIdeData);
  105. args: [],
  106. source: "execute\x0a\x09self model focusOnClasses",
  107. referencedClasses: [],
  108. //>>excludeEnd("ide");
  109. pragmas: [],
  110. messageSends: ["focusOnClasses", "model"]
  111. }),
  112. $globals.HLGoToClassesCommand);
  113. $core.addMethod(
  114. $core.method({
  115. selector: "key",
  116. protocol: "accessing",
  117. fn: function (){
  118. var self=this,$self=this;
  119. return "c";
  120. },
  121. //>>excludeStart("ide", pragmas.excludeIdeData);
  122. args: [],
  123. source: "key\x0a\x09^ 'c'",
  124. referencedClasses: [],
  125. //>>excludeEnd("ide");
  126. pragmas: [],
  127. messageSends: []
  128. }),
  129. $globals.HLGoToClassesCommand.a$cls);
  130. $core.addMethod(
  131. $core.method({
  132. selector: "label",
  133. protocol: "accessing",
  134. fn: function (){
  135. var self=this,$self=this;
  136. return "Classes";
  137. },
  138. //>>excludeStart("ide", pragmas.excludeIdeData);
  139. args: [],
  140. source: "label\x0a\x09^ 'Classes'",
  141. referencedClasses: [],
  142. //>>excludeEnd("ide");
  143. pragmas: [],
  144. messageSends: []
  145. }),
  146. $globals.HLGoToClassesCommand.a$cls);
  147. $core.addClass("HLGoToDocumentationCommand", $globals.HLBrowserGoToCommand, [], "Helios-Commands-Browser");
  148. $core.addMethod(
  149. $core.method({
  150. selector: "execute",
  151. protocol: "executing",
  152. fn: function (){
  153. var self=this,$self=this;
  154. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  155. return $core.withContext(function($ctx1) {
  156. //>>excludeEnd("ctx");
  157. $recv($self._model())._focusOnDocumentation();
  158. return self;
  159. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  160. }, function($ctx1) {$ctx1.fill(self,"execute",{})});
  161. //>>excludeEnd("ctx");
  162. },
  163. //>>excludeStart("ide", pragmas.excludeIdeData);
  164. args: [],
  165. source: "execute\x0a\x09self model focusOnDocumentation",
  166. referencedClasses: [],
  167. //>>excludeEnd("ide");
  168. pragmas: [],
  169. messageSends: ["focusOnDocumentation", "model"]
  170. }),
  171. $globals.HLGoToDocumentationCommand);
  172. $core.addMethod(
  173. $core.method({
  174. selector: "key",
  175. protocol: "accessing",
  176. fn: function (){
  177. var self=this,$self=this;
  178. return "d";
  179. },
  180. //>>excludeStart("ide", pragmas.excludeIdeData);
  181. args: [],
  182. source: "key\x0a\x09^ 'd'",
  183. referencedClasses: [],
  184. //>>excludeEnd("ide");
  185. pragmas: [],
  186. messageSends: []
  187. }),
  188. $globals.HLGoToDocumentationCommand.a$cls);
  189. $core.addMethod(
  190. $core.method({
  191. selector: "label",
  192. protocol: "accessing",
  193. fn: function (){
  194. var self=this,$self=this;
  195. return "Documentation";
  196. },
  197. //>>excludeStart("ide", pragmas.excludeIdeData);
  198. args: [],
  199. source: "label\x0a\x09^ 'Documentation'",
  200. referencedClasses: [],
  201. //>>excludeEnd("ide");
  202. pragmas: [],
  203. messageSends: []
  204. }),
  205. $globals.HLGoToDocumentationCommand.a$cls);
  206. $core.addClass("HLGoToMethodsCommand", $globals.HLBrowserGoToCommand, [], "Helios-Commands-Browser");
  207. $core.addMethod(
  208. $core.method({
  209. selector: "execute",
  210. protocol: "executing",
  211. fn: function (){
  212. var self=this,$self=this;
  213. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  214. return $core.withContext(function($ctx1) {
  215. //>>excludeEnd("ctx");
  216. $recv($self._model())._focusOnMethods();
  217. return self;
  218. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  219. }, function($ctx1) {$ctx1.fill(self,"execute",{})});
  220. //>>excludeEnd("ctx");
  221. },
  222. //>>excludeStart("ide", pragmas.excludeIdeData);
  223. args: [],
  224. source: "execute\x0a\x09self model focusOnMethods",
  225. referencedClasses: [],
  226. //>>excludeEnd("ide");
  227. pragmas: [],
  228. messageSends: ["focusOnMethods", "model"]
  229. }),
  230. $globals.HLGoToMethodsCommand);
  231. $core.addMethod(
  232. $core.method({
  233. selector: "key",
  234. protocol: "accessing",
  235. fn: function (){
  236. var self=this,$self=this;
  237. return "m";
  238. },
  239. //>>excludeStart("ide", pragmas.excludeIdeData);
  240. args: [],
  241. source: "key\x0a\x09^ 'm'",
  242. referencedClasses: [],
  243. //>>excludeEnd("ide");
  244. pragmas: [],
  245. messageSends: []
  246. }),
  247. $globals.HLGoToMethodsCommand.a$cls);
  248. $core.addMethod(
  249. $core.method({
  250. selector: "label",
  251. protocol: "accessing",
  252. fn: function (){
  253. var self=this,$self=this;
  254. return "Methods";
  255. },
  256. //>>excludeStart("ide", pragmas.excludeIdeData);
  257. args: [],
  258. source: "label\x0a\x09^ 'Methods'",
  259. referencedClasses: [],
  260. //>>excludeEnd("ide");
  261. pragmas: [],
  262. messageSends: []
  263. }),
  264. $globals.HLGoToMethodsCommand.a$cls);
  265. $core.addClass("HLGoToPackagesCommand", $globals.HLBrowserGoToCommand, [], "Helios-Commands-Browser");
  266. $core.addMethod(
  267. $core.method({
  268. selector: "execute",
  269. protocol: "executing",
  270. fn: function (){
  271. var self=this,$self=this;
  272. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  273. return $core.withContext(function($ctx1) {
  274. //>>excludeEnd("ctx");
  275. $recv($self._model())._focusOnPackages();
  276. return self;
  277. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  278. }, function($ctx1) {$ctx1.fill(self,"execute",{})});
  279. //>>excludeEnd("ctx");
  280. },
  281. //>>excludeStart("ide", pragmas.excludeIdeData);
  282. args: [],
  283. source: "execute\x0a\x09self model focusOnPackages",
  284. referencedClasses: [],
  285. //>>excludeEnd("ide");
  286. pragmas: [],
  287. messageSends: ["focusOnPackages", "model"]
  288. }),
  289. $globals.HLGoToPackagesCommand);
  290. $core.addMethod(
  291. $core.method({
  292. selector: "key",
  293. protocol: "accessing",
  294. fn: function (){
  295. var self=this,$self=this;
  296. return "p";
  297. },
  298. //>>excludeStart("ide", pragmas.excludeIdeData);
  299. args: [],
  300. source: "key\x0a\x09^ 'p'",
  301. referencedClasses: [],
  302. //>>excludeEnd("ide");
  303. pragmas: [],
  304. messageSends: []
  305. }),
  306. $globals.HLGoToPackagesCommand.a$cls);
  307. $core.addMethod(
  308. $core.method({
  309. selector: "label",
  310. protocol: "accessing",
  311. fn: function (){
  312. var self=this,$self=this;
  313. return "Packages";
  314. },
  315. //>>excludeStart("ide", pragmas.excludeIdeData);
  316. args: [],
  317. source: "label\x0a\x09^ 'Packages'",
  318. referencedClasses: [],
  319. //>>excludeEnd("ide");
  320. pragmas: [],
  321. messageSends: []
  322. }),
  323. $globals.HLGoToPackagesCommand.a$cls);
  324. $core.addClass("HLGoToProtocolsCommand", $globals.HLBrowserGoToCommand, [], "Helios-Commands-Browser");
  325. $core.addMethod(
  326. $core.method({
  327. selector: "execute",
  328. protocol: "executing",
  329. fn: function (){
  330. var self=this,$self=this;
  331. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  332. return $core.withContext(function($ctx1) {
  333. //>>excludeEnd("ctx");
  334. $recv($self._model())._focusOnProtocols();
  335. return self;
  336. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  337. }, function($ctx1) {$ctx1.fill(self,"execute",{})});
  338. //>>excludeEnd("ctx");
  339. },
  340. //>>excludeStart("ide", pragmas.excludeIdeData);
  341. args: [],
  342. source: "execute\x0a\x09self model focusOnProtocols",
  343. referencedClasses: [],
  344. //>>excludeEnd("ide");
  345. pragmas: [],
  346. messageSends: ["focusOnProtocols", "model"]
  347. }),
  348. $globals.HLGoToProtocolsCommand);
  349. $core.addMethod(
  350. $core.method({
  351. selector: "key",
  352. protocol: "accessing",
  353. fn: function (){
  354. var self=this,$self=this;
  355. return "t";
  356. },
  357. //>>excludeStart("ide", pragmas.excludeIdeData);
  358. args: [],
  359. source: "key\x0a\x09^ 't'",
  360. referencedClasses: [],
  361. //>>excludeEnd("ide");
  362. pragmas: [],
  363. messageSends: []
  364. }),
  365. $globals.HLGoToProtocolsCommand.a$cls);
  366. $core.addMethod(
  367. $core.method({
  368. selector: "label",
  369. protocol: "accessing",
  370. fn: function (){
  371. var self=this,$self=this;
  372. return "Protocols";
  373. },
  374. //>>excludeStart("ide", pragmas.excludeIdeData);
  375. args: [],
  376. source: "label\x0a\x09^ 'Protocols'",
  377. referencedClasses: [],
  378. //>>excludeEnd("ide");
  379. pragmas: [],
  380. messageSends: []
  381. }),
  382. $globals.HLGoToProtocolsCommand.a$cls);
  383. $core.addClass("HLGoToSourceCodeCommand", $globals.HLBrowserGoToCommand, [], "Helios-Commands-Browser");
  384. $core.addMethod(
  385. $core.method({
  386. selector: "execute",
  387. protocol: "executing",
  388. fn: function (){
  389. var self=this,$self=this;
  390. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  391. return $core.withContext(function($ctx1) {
  392. //>>excludeEnd("ctx");
  393. $recv($self._model())._focusOnSourceCode();
  394. return self;
  395. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  396. }, function($ctx1) {$ctx1.fill(self,"execute",{})});
  397. //>>excludeEnd("ctx");
  398. },
  399. //>>excludeStart("ide", pragmas.excludeIdeData);
  400. args: [],
  401. source: "execute\x0a\x09self model focusOnSourceCode",
  402. referencedClasses: [],
  403. //>>excludeEnd("ide");
  404. pragmas: [],
  405. messageSends: ["focusOnSourceCode", "model"]
  406. }),
  407. $globals.HLGoToSourceCodeCommand);
  408. $core.addMethod(
  409. $core.method({
  410. selector: "key",
  411. protocol: "accessing",
  412. fn: function (){
  413. var self=this,$self=this;
  414. return "s";
  415. },
  416. //>>excludeStart("ide", pragmas.excludeIdeData);
  417. args: [],
  418. source: "key\x0a\x09^ 's'",
  419. referencedClasses: [],
  420. //>>excludeEnd("ide");
  421. pragmas: [],
  422. messageSends: []
  423. }),
  424. $globals.HLGoToSourceCodeCommand.a$cls);
  425. $core.addMethod(
  426. $core.method({
  427. selector: "label",
  428. protocol: "accessing",
  429. fn: function (){
  430. var self=this,$self=this;
  431. return "Source code";
  432. },
  433. //>>excludeStart("ide", pragmas.excludeIdeData);
  434. args: [],
  435. source: "label\x0a\x09^ 'Source code'",
  436. referencedClasses: [],
  437. //>>excludeEnd("ide");
  438. pragmas: [],
  439. messageSends: []
  440. }),
  441. $globals.HLGoToSourceCodeCommand.a$cls);
  442. $core.addClass("HLEditCommentCommand", $globals.HLBrowserCommand, [], "Helios-Commands-Browser");
  443. $core.addMethod(
  444. $core.method({
  445. selector: "execute",
  446. protocol: "executing",
  447. fn: function (){
  448. var self=this,$self=this;
  449. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  450. return $core.withContext(function($ctx1) {
  451. //>>excludeEnd("ctx");
  452. $recv($self._model())._editComment();
  453. return self;
  454. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  455. }, function($ctx1) {$ctx1.fill(self,"execute",{})});
  456. //>>excludeEnd("ctx");
  457. },
  458. //>>excludeStart("ide", pragmas.excludeIdeData);
  459. args: [],
  460. source: "execute\x0a\x09self model editComment",
  461. referencedClasses: [],
  462. //>>excludeEnd("ide");
  463. pragmas: [],
  464. messageSends: ["editComment", "model"]
  465. }),
  466. $globals.HLEditCommentCommand);
  467. $core.addMethod(
  468. $core.method({
  469. selector: "isActive",
  470. protocol: "testing",
  471. fn: function (){
  472. var self=this,$self=this;
  473. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  474. return $core.withContext(function($ctx1) {
  475. //>>excludeEnd("ctx");
  476. var $2,$1;
  477. $2=$self._model();
  478. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  479. $ctx1.sendIdx["model"]=1;
  480. //>>excludeEnd("ctx");
  481. $1=$recv($2)._showComment();
  482. return $recv($1)._and_((function(){
  483. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  484. return $core.withContext(function($ctx2) {
  485. //>>excludeEnd("ctx");
  486. return $recv($recv($self._model())._selectedClass())._notNil();
  487. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  488. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  489. //>>excludeEnd("ctx");
  490. }));
  491. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  492. }, function($ctx1) {$ctx1.fill(self,"isActive",{})});
  493. //>>excludeEnd("ctx");
  494. },
  495. //>>excludeStart("ide", pragmas.excludeIdeData);
  496. args: [],
  497. source: "isActive\x0a\x09^ self model showComment and: [ self model selectedClass notNil ]",
  498. referencedClasses: [],
  499. //>>excludeEnd("ide");
  500. pragmas: [],
  501. messageSends: ["and:", "showComment", "model", "notNil", "selectedClass"]
  502. }),
  503. $globals.HLEditCommentCommand);
  504. $core.addMethod(
  505. $core.method({
  506. selector: "key",
  507. protocol: "accessing",
  508. fn: function (){
  509. var self=this,$self=this;
  510. return "d";
  511. },
  512. //>>excludeStart("ide", pragmas.excludeIdeData);
  513. args: [],
  514. source: "key\x0a\x09^ 'd'",
  515. referencedClasses: [],
  516. //>>excludeEnd("ide");
  517. pragmas: [],
  518. messageSends: []
  519. }),
  520. $globals.HLEditCommentCommand.a$cls);
  521. $core.addMethod(
  522. $core.method({
  523. selector: "label",
  524. protocol: "accessing",
  525. fn: function (){
  526. var self=this,$self=this;
  527. return "Edit documentation";
  528. },
  529. //>>excludeStart("ide", pragmas.excludeIdeData);
  530. args: [],
  531. source: "label\x0a\x09^ 'Edit documentation'",
  532. referencedClasses: [],
  533. //>>excludeEnd("ide");
  534. pragmas: [],
  535. messageSends: []
  536. }),
  537. $globals.HLEditCommentCommand.a$cls);
  538. $core.addClass("HLGenerateCommand", $globals.HLBrowserCommand, [], "Helios-Commands-Browser");
  539. //>>excludeStart("ide", pragmas.excludeIdeData);
  540. $globals.HLGenerateCommand.comment="I am a group command used to gather all the commands generating code (`accessors`, `initialize`, etc)";
  541. //>>excludeEnd("ide");
  542. $core.addMethod(
  543. $core.method({
  544. selector: "key",
  545. protocol: "accessing",
  546. fn: function (){
  547. var self=this,$self=this;
  548. return "h";
  549. },
  550. //>>excludeStart("ide", pragmas.excludeIdeData);
  551. args: [],
  552. source: "key\x0a\x09^ 'h'",
  553. referencedClasses: [],
  554. //>>excludeEnd("ide");
  555. pragmas: [],
  556. messageSends: []
  557. }),
  558. $globals.HLGenerateCommand.a$cls);
  559. $core.addMethod(
  560. $core.method({
  561. selector: "label",
  562. protocol: "accessing",
  563. fn: function (){
  564. var self=this,$self=this;
  565. return "Generate";
  566. },
  567. //>>excludeStart("ide", pragmas.excludeIdeData);
  568. args: [],
  569. source: "label\x0a\x09^ 'Generate'",
  570. referencedClasses: [],
  571. //>>excludeEnd("ide");
  572. pragmas: [],
  573. messageSends: []
  574. }),
  575. $globals.HLGenerateCommand.a$cls);
  576. $core.addClass("HLCategorizeUnclassifiedCommand", $globals.HLGenerateCommand, [], "Helios-Commands-Browser");
  577. //>>excludeStart("ide", pragmas.excludeIdeData);
  578. $globals.HLCategorizeUnclassifiedCommand.comment="I am the command used to categorize unclassified methods";
  579. //>>excludeEnd("ide");
  580. $core.addMethod(
  581. $core.method({
  582. selector: "execute",
  583. protocol: "executing",
  584. fn: function (){
  585. var self=this,$self=this;
  586. var targetClass,unclassified;
  587. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  588. return $core.withContext(function($ctx1) {
  589. //>>excludeEnd("ctx");
  590. targetClass=$recv($self._model())._selectedClass();
  591. unclassified=$recv($recv(targetClass)._methods())._select_((function(e){
  592. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  593. return $core.withContext(function($ctx2) {
  594. //>>excludeEnd("ctx");
  595. return $recv($recv(e)._protocol()).__eq("as yet unclassified");
  596. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  597. }, function($ctx2) {$ctx2.fillBlock({e:e},$ctx1,1)});
  598. //>>excludeEnd("ctx");
  599. }));
  600. $recv($recv($globals.HLMethodClassifier)._new())._classifyAll_(unclassified);
  601. return self;
  602. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  603. }, function($ctx1) {$ctx1.fill(self,"execute",{targetClass:targetClass,unclassified:unclassified})});
  604. //>>excludeEnd("ctx");
  605. },
  606. //>>excludeStart("ide", pragmas.excludeIdeData);
  607. args: [],
  608. source: "execute\x0a\x09| targetClass unclassified |\x0a\x09targetClass := self model selectedClass.\x0a\x0a\x09unclassified := targetClass methods select:[ :e | e protocol = 'as yet unclassified' ].\x0a\x09\x09\x0a\x09HLMethodClassifier new\x0a\x09\x09classifyAll: unclassified",
  609. referencedClasses: ["HLMethodClassifier"],
  610. //>>excludeEnd("ide");
  611. pragmas: [],
  612. messageSends: ["selectedClass", "model", "select:", "methods", "=", "protocol", "classifyAll:", "new"]
  613. }),
  614. $globals.HLCategorizeUnclassifiedCommand);
  615. $core.addMethod(
  616. $core.method({
  617. selector: "key",
  618. protocol: "accessing",
  619. fn: function (){
  620. var self=this,$self=this;
  621. return "c";
  622. },
  623. //>>excludeStart("ide", pragmas.excludeIdeData);
  624. args: [],
  625. source: "key\x0a\x09^ 'c'",
  626. referencedClasses: [],
  627. //>>excludeEnd("ide");
  628. pragmas: [],
  629. messageSends: []
  630. }),
  631. $globals.HLCategorizeUnclassifiedCommand.a$cls);
  632. $core.addMethod(
  633. $core.method({
  634. selector: "label",
  635. protocol: "accessing",
  636. fn: function (){
  637. var self=this,$self=this;
  638. return "Categorize";
  639. },
  640. //>>excludeStart("ide", pragmas.excludeIdeData);
  641. args: [],
  642. source: "label\x0a\x09^ 'Categorize'",
  643. referencedClasses: [],
  644. //>>excludeEnd("ide");
  645. pragmas: [],
  646. messageSends: []
  647. }),
  648. $globals.HLCategorizeUnclassifiedCommand.a$cls);
  649. $core.addClass("HLGenerateAccessorsCommand", $globals.HLGenerateCommand, [], "Helios-Commands-Browser");
  650. //>>excludeStart("ide", pragmas.excludeIdeData);
  651. $globals.HLGenerateAccessorsCommand.comment="I am the command used to generate the `getter` and the `setter` methods depending of the selected class";
  652. //>>excludeEnd("ide");
  653. $core.addMethod(
  654. $core.method({
  655. selector: "execute",
  656. protocol: "executing",
  657. fn: function (){
  658. var self=this,$self=this;
  659. var targetClass,output,first;
  660. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  661. return $core.withContext(function($ctx1) {
  662. //>>excludeEnd("ctx");
  663. var $1,$2,$3;
  664. $1=$self._model();
  665. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  666. $ctx1.sendIdx["model"]=1;
  667. //>>excludeEnd("ctx");
  668. targetClass=$recv($1)._selectedClass();
  669. $2=$recv($globals.HLInitializeGenerator)._new();
  670. $recv($2)._class_(targetClass);
  671. $recv($2)._generate();
  672. output=$recv($2)._output();
  673. $recv(output)._compile();
  674. first=$recv($recv(output)._sourceCodes())._first();
  675. $3=$self._model();
  676. $recv($3)._selectedProtocol_($recv(output)._protocol());
  677. $recv($3)._selectedMethod_($recv(targetClass).__gt_gt($recv(first)._selector()));
  678. $recv($3)._focusOnSourceCode();
  679. return self;
  680. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  681. }, function($ctx1) {$ctx1.fill(self,"execute",{targetClass:targetClass,output:output,first:first})});
  682. //>>excludeEnd("ctx");
  683. },
  684. //>>excludeStart("ide", pragmas.excludeIdeData);
  685. args: [],
  686. source: "execute\x0a\x09| targetClass output first |\x0a\x09targetClass := self model selectedClass.\x0a\x0a\x09output := HLInitializeGenerator new\x0a\x09\x09class: targetClass;\x0a\x09\x09generate;\x0a\x09\x09output.\x0a\x09\x09\x0a\x09output compile.\x0a\x09first := output sourceCodes first.\x0a\x09self model\x0a\x09\x09selectedProtocol: output protocol;\x0a\x09\x09selectedMethod:(targetClass>>first selector);\x0a\x09\x09focusOnSourceCode",
  687. referencedClasses: ["HLInitializeGenerator"],
  688. //>>excludeEnd("ide");
  689. pragmas: [],
  690. messageSends: ["selectedClass", "model", "class:", "new", "generate", "output", "compile", "first", "sourceCodes", "selectedProtocol:", "protocol", "selectedMethod:", ">>", "selector", "focusOnSourceCode"]
  691. }),
  692. $globals.HLGenerateAccessorsCommand);
  693. $core.addMethod(
  694. $core.method({
  695. selector: "key",
  696. protocol: "accessing",
  697. fn: function (){
  698. var self=this,$self=this;
  699. return "i";
  700. },
  701. //>>excludeStart("ide", pragmas.excludeIdeData);
  702. args: [],
  703. source: "key\x0a\x09^ 'i'",
  704. referencedClasses: [],
  705. //>>excludeEnd("ide");
  706. pragmas: [],
  707. messageSends: []
  708. }),
  709. $globals.HLGenerateAccessorsCommand.a$cls);
  710. $core.addMethod(
  711. $core.method({
  712. selector: "label",
  713. protocol: "accessing",
  714. fn: function (){
  715. var self=this,$self=this;
  716. return "Initialize";
  717. },
  718. //>>excludeStart("ide", pragmas.excludeIdeData);
  719. args: [],
  720. source: "label\x0a\x09^ 'Initialize'",
  721. referencedClasses: [],
  722. //>>excludeEnd("ide");
  723. pragmas: [],
  724. messageSends: []
  725. }),
  726. $globals.HLGenerateAccessorsCommand.a$cls);
  727. $core.addClass("HLGenerateInitializeCommand", $globals.HLGenerateCommand, [], "Helios-Commands-Browser");
  728. //>>excludeStart("ide", pragmas.excludeIdeData);
  729. $globals.HLGenerateInitializeCommand.comment="I am the command used to generate the `initialize` method depending of the selected class";
  730. //>>excludeEnd("ide");
  731. $core.addMethod(
  732. $core.method({
  733. selector: "execute",
  734. protocol: "executing",
  735. fn: function (){
  736. var self=this,$self=this;
  737. var targetClass,output;
  738. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  739. return $core.withContext(function($ctx1) {
  740. //>>excludeEnd("ctx");
  741. var $1,$2;
  742. $1=$self._model();
  743. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  744. $ctx1.sendIdx["model"]=1;
  745. //>>excludeEnd("ctx");
  746. targetClass=$recv($1)._selectedClass();
  747. $2=$recv($globals.HLAccessorsGenerator)._new();
  748. $recv($2)._class_(targetClass);
  749. $recv($2)._generate();
  750. output=$recv($2)._output();
  751. $recv(output)._compile();
  752. $recv($self._model())._selectedProtocol_($recv(output)._protocol());
  753. return self;
  754. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  755. }, function($ctx1) {$ctx1.fill(self,"execute",{targetClass:targetClass,output:output})});
  756. //>>excludeEnd("ctx");
  757. },
  758. //>>excludeStart("ide", pragmas.excludeIdeData);
  759. args: [],
  760. source: "execute\x0a\x09| targetClass output |\x0a\x09targetClass := self model selectedClass.\x0a\x0a\x09output := HLAccessorsGenerator new\x0a\x09\x09class: targetClass;\x0a\x09\x09generate;\x0a\x09\x09output.\x0a\x09\x09\x0a\x09output compile.\x0a\x09self model selectedProtocol: output protocol",
  761. referencedClasses: ["HLAccessorsGenerator"],
  762. //>>excludeEnd("ide");
  763. pragmas: [],
  764. messageSends: ["selectedClass", "model", "class:", "new", "generate", "output", "compile", "selectedProtocol:", "protocol"]
  765. }),
  766. $globals.HLGenerateInitializeCommand);
  767. $core.addMethod(
  768. $core.method({
  769. selector: "key",
  770. protocol: "accessing",
  771. fn: function (){
  772. var self=this,$self=this;
  773. return "a";
  774. },
  775. //>>excludeStart("ide", pragmas.excludeIdeData);
  776. args: [],
  777. source: "key\x0a\x09^ 'a'",
  778. referencedClasses: [],
  779. //>>excludeEnd("ide");
  780. pragmas: [],
  781. messageSends: []
  782. }),
  783. $globals.HLGenerateInitializeCommand.a$cls);
  784. $core.addMethod(
  785. $core.method({
  786. selector: "label",
  787. protocol: "accessing",
  788. fn: function (){
  789. var self=this,$self=this;
  790. return "Accessors";
  791. },
  792. //>>excludeStart("ide", pragmas.excludeIdeData);
  793. args: [],
  794. source: "label\x0a\x09^ 'Accessors'",
  795. referencedClasses: [],
  796. //>>excludeEnd("ide");
  797. pragmas: [],
  798. messageSends: []
  799. }),
  800. $globals.HLGenerateInitializeCommand.a$cls);
  801. $core.addClass("HLToggleCommand", $globals.HLBrowserCommand, [], "Helios-Commands-Browser");
  802. $core.addMethod(
  803. $core.method({
  804. selector: "key",
  805. protocol: "accessing",
  806. fn: function (){
  807. var self=this,$self=this;
  808. return "t";
  809. },
  810. //>>excludeStart("ide", pragmas.excludeIdeData);
  811. args: [],
  812. source: "key\x0a\x09^ 't'",
  813. referencedClasses: [],
  814. //>>excludeEnd("ide");
  815. pragmas: [],
  816. messageSends: []
  817. }),
  818. $globals.HLToggleCommand.a$cls);
  819. $core.addMethod(
  820. $core.method({
  821. selector: "label",
  822. protocol: "accessing",
  823. fn: function (){
  824. var self=this,$self=this;
  825. return "Toggle";
  826. },
  827. //>>excludeStart("ide", pragmas.excludeIdeData);
  828. args: [],
  829. source: "label\x0a\x09^ 'Toggle'",
  830. referencedClasses: [],
  831. //>>excludeEnd("ide");
  832. pragmas: [],
  833. messageSends: []
  834. }),
  835. $globals.HLToggleCommand.a$cls);
  836. $core.addClass("HLToggleClassCommentCommand", $globals.HLToggleCommand, [], "Helios-Commands-Browser");
  837. $core.addMethod(
  838. $core.method({
  839. selector: "execute",
  840. protocol: "executing",
  841. fn: function (){
  842. var self=this,$self=this;
  843. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  844. return $core.withContext(function($ctx1) {
  845. //>>excludeEnd("ctx");
  846. var $1;
  847. $1=$self._model();
  848. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  849. $ctx1.sendIdx["model"]=1;
  850. //>>excludeEnd("ctx");
  851. $recv($1)._showComment_($recv($recv($self._model())._showComment())._not());
  852. return self;
  853. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  854. }, function($ctx1) {$ctx1.fill(self,"execute",{})});
  855. //>>excludeEnd("ctx");
  856. },
  857. //>>excludeStart("ide", pragmas.excludeIdeData);
  858. args: [],
  859. source: "execute\x0a\x09self model showComment: self model showComment not",
  860. referencedClasses: [],
  861. //>>excludeEnd("ide");
  862. pragmas: [],
  863. messageSends: ["showComment:", "model", "not", "showComment"]
  864. }),
  865. $globals.HLToggleClassCommentCommand);
  866. $core.addMethod(
  867. $core.method({
  868. selector: "key",
  869. protocol: "accessing",
  870. fn: function (){
  871. var self=this,$self=this;
  872. return "d";
  873. },
  874. //>>excludeStart("ide", pragmas.excludeIdeData);
  875. args: [],
  876. source: "key\x0a\x09^ 'd'",
  877. referencedClasses: [],
  878. //>>excludeEnd("ide");
  879. pragmas: [],
  880. messageSends: []
  881. }),
  882. $globals.HLToggleClassCommentCommand.a$cls);
  883. $core.addMethod(
  884. $core.method({
  885. selector: "label",
  886. protocol: "accessing",
  887. fn: function (){
  888. var self=this,$self=this;
  889. return "Documentation";
  890. },
  891. //>>excludeStart("ide", pragmas.excludeIdeData);
  892. args: [],
  893. source: "label\x0a\x09^ 'Documentation'",
  894. referencedClasses: [],
  895. //>>excludeEnd("ide");
  896. pragmas: [],
  897. messageSends: []
  898. }),
  899. $globals.HLToggleClassCommentCommand.a$cls);
  900. $core.addClass("HLToggleClassSideCommand", $globals.HLToggleCommand, [], "Helios-Commands-Browser");
  901. $core.addMethod(
  902. $core.method({
  903. selector: "execute",
  904. protocol: "executing",
  905. fn: function (){
  906. var self=this,$self=this;
  907. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  908. return $core.withContext(function($ctx1) {
  909. //>>excludeEnd("ctx");
  910. var $1;
  911. $1=$self._model();
  912. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  913. $ctx1.sendIdx["model"]=1;
  914. //>>excludeEnd("ctx");
  915. $recv($1)._showInstance_($recv($recv($self._model())._showInstance())._not());
  916. return self;
  917. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  918. }, function($ctx1) {$ctx1.fill(self,"execute",{})});
  919. //>>excludeEnd("ctx");
  920. },
  921. //>>excludeStart("ide", pragmas.excludeIdeData);
  922. args: [],
  923. source: "execute\x0a\x09self model showInstance: self model showInstance not",
  924. referencedClasses: [],
  925. //>>excludeEnd("ide");
  926. pragmas: [],
  927. messageSends: ["showInstance:", "model", "not", "showInstance"]
  928. }),
  929. $globals.HLToggleClassSideCommand);
  930. $core.addMethod(
  931. $core.method({
  932. selector: "key",
  933. protocol: "accessing",
  934. fn: function (){
  935. var self=this,$self=this;
  936. return "c";
  937. },
  938. //>>excludeStart("ide", pragmas.excludeIdeData);
  939. args: [],
  940. source: "key\x0a\x09^ 'c'",
  941. referencedClasses: [],
  942. //>>excludeEnd("ide");
  943. pragmas: [],
  944. messageSends: []
  945. }),
  946. $globals.HLToggleClassSideCommand.a$cls);
  947. $core.addMethod(
  948. $core.method({
  949. selector: "label",
  950. protocol: "accessing",
  951. fn: function (){
  952. var self=this,$self=this;
  953. return "Class side";
  954. },
  955. //>>excludeStart("ide", pragmas.excludeIdeData);
  956. args: [],
  957. source: "label\x0a\x09^ 'Class side'",
  958. referencedClasses: [],
  959. //>>excludeEnd("ide");
  960. pragmas: [],
  961. messageSends: []
  962. }),
  963. $globals.HLToggleClassSideCommand.a$cls);
  964. });