Helios-Commands-Core.js 34 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261
  1. define(["amber/boot", "require", "amber/core/Kernel-Objects"], 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-Core");
  4. $pkg.innerEval = function (expr) { return eval(expr); };
  5. $pkg.transport = {"type":"amd","amdNamespace":"helios"};
  6. $core.addClass("HLCommand", $globals.Object, ["input"], "Helios-Commands-Core");
  7. $core.addMethod(
  8. $core.method({
  9. selector: "asActionBinding",
  10. protocol: "converting",
  11. fn: function (){
  12. var self=this,$self=this;
  13. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  14. return $core.withContext(function($ctx1) {
  15. //>>excludeEnd("ctx");
  16. var $1;
  17. $1=$recv($globals.HLBindingAction)._on_labelled_($self._keyCode(),$self._label());
  18. $recv($1)._command_(self);
  19. return $recv($1)._yourself();
  20. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  21. }, function($ctx1) {$ctx1.fill(self,"asActionBinding",{},$globals.HLCommand)});
  22. //>>excludeEnd("ctx");
  23. },
  24. //>>excludeStart("ide", pragmas.excludeIdeData);
  25. args: [],
  26. source: "asActionBinding\x0a\x09^ (HLBindingAction on: self keyCode labelled: self label)\x0a \x09command: self;\x0a\x09\x09yourself",
  27. referencedClasses: ["HLBindingAction"],
  28. //>>excludeEnd("ide");
  29. messageSends: ["command:", "on:labelled:", "keyCode", "label", "yourself"]
  30. }),
  31. $globals.HLCommand);
  32. $core.addMethod(
  33. $core.method({
  34. selector: "asBinding",
  35. protocol: "converting",
  36. fn: function (){
  37. var self=this,$self=this;
  38. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  39. return $core.withContext(function($ctx1) {
  40. //>>excludeEnd("ctx");
  41. var $1;
  42. $1=$self._isBindingGroup();
  43. if($core.assert($1)){
  44. return $self._asGroupBinding();
  45. } else {
  46. return $self._asActionBinding();
  47. }
  48. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  49. }, function($ctx1) {$ctx1.fill(self,"asBinding",{},$globals.HLCommand)});
  50. //>>excludeEnd("ctx");
  51. },
  52. //>>excludeStart("ide", pragmas.excludeIdeData);
  53. args: [],
  54. source: "asBinding\x0a\x09^ self isBindingGroup\x0a\x09\x09ifTrue: [ self asGroupBinding ]\x0a\x09\x09ifFalse: [ self asActionBinding ]",
  55. referencedClasses: [],
  56. //>>excludeEnd("ide");
  57. messageSends: ["ifTrue:ifFalse:", "isBindingGroup", "asGroupBinding", "asActionBinding"]
  58. }),
  59. $globals.HLCommand);
  60. $core.addMethod(
  61. $core.method({
  62. selector: "asGroupBinding",
  63. protocol: "converting",
  64. fn: function (){
  65. var self=this,$self=this;
  66. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  67. return $core.withContext(function($ctx1) {
  68. //>>excludeEnd("ctx");
  69. return $recv($globals.HLBindingGroup)._on_labelled_($self._keyCode(),$self._label());
  70. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  71. }, function($ctx1) {$ctx1.fill(self,"asGroupBinding",{},$globals.HLCommand)});
  72. //>>excludeEnd("ctx");
  73. },
  74. //>>excludeStart("ide", pragmas.excludeIdeData);
  75. args: [],
  76. source: "asGroupBinding\x0a\x09^ HLBindingGroup \x0a\x09\x09on: self keyCode\x0a\x09\x09labelled: self label",
  77. referencedClasses: ["HLBindingGroup"],
  78. //>>excludeEnd("ide");
  79. messageSends: ["on:labelled:", "keyCode", "label"]
  80. }),
  81. $globals.HLCommand);
  82. $core.addMethod(
  83. $core.method({
  84. selector: "commandError:",
  85. protocol: "error handling",
  86. fn: function (aString){
  87. var self=this,$self=this;
  88. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  89. return $core.withContext(function($ctx1) {
  90. //>>excludeEnd("ctx");
  91. $self._error_(aString);
  92. return self;
  93. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  94. }, function($ctx1) {$ctx1.fill(self,"commandError:",{aString:aString},$globals.HLCommand)});
  95. //>>excludeEnd("ctx");
  96. },
  97. //>>excludeStart("ide", pragmas.excludeIdeData);
  98. args: ["aString"],
  99. source: "commandError: aString\x0a\x09self error: aString",
  100. referencedClasses: [],
  101. //>>excludeEnd("ide");
  102. messageSends: ["error:"]
  103. }),
  104. $globals.HLCommand);
  105. $core.addMethod(
  106. $core.method({
  107. selector: "defaultInput",
  108. protocol: "defaults",
  109. fn: function (){
  110. var self=this,$self=this;
  111. return "";
  112. },
  113. //>>excludeStart("ide", pragmas.excludeIdeData);
  114. args: [],
  115. source: "defaultInput\x0a\x09^ ''",
  116. referencedClasses: [],
  117. //>>excludeEnd("ide");
  118. messageSends: []
  119. }),
  120. $globals.HLCommand);
  121. $core.addMethod(
  122. $core.method({
  123. selector: "documentation",
  124. protocol: "accessing",
  125. fn: function (){
  126. var self=this,$self=this;
  127. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  128. return $core.withContext(function($ctx1) {
  129. //>>excludeEnd("ctx");
  130. return $recv($self._class())._documentation();
  131. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  132. }, function($ctx1) {$ctx1.fill(self,"documentation",{},$globals.HLCommand)});
  133. //>>excludeEnd("ctx");
  134. },
  135. //>>excludeStart("ide", pragmas.excludeIdeData);
  136. args: [],
  137. source: "documentation\x0a\x09^ self class documentation",
  138. referencedClasses: [],
  139. //>>excludeEnd("ide");
  140. messageSends: ["documentation", "class"]
  141. }),
  142. $globals.HLCommand);
  143. $core.addMethod(
  144. $core.method({
  145. selector: "execute",
  146. protocol: "executing",
  147. fn: function (){
  148. var self=this,$self=this;
  149. return self;
  150. },
  151. //>>excludeStart("ide", pragmas.excludeIdeData);
  152. args: [],
  153. source: "execute",
  154. referencedClasses: [],
  155. //>>excludeEnd("ide");
  156. messageSends: []
  157. }),
  158. $globals.HLCommand);
  159. $core.addMethod(
  160. $core.method({
  161. selector: "input",
  162. protocol: "accessing",
  163. fn: function (){
  164. var self=this,$self=this;
  165. return $self["@input"];
  166. },
  167. //>>excludeStart("ide", pragmas.excludeIdeData);
  168. args: [],
  169. source: "input\x0a\x09^ input",
  170. referencedClasses: [],
  171. //>>excludeEnd("ide");
  172. messageSends: []
  173. }),
  174. $globals.HLCommand);
  175. $core.addMethod(
  176. $core.method({
  177. selector: "input:",
  178. protocol: "accessing",
  179. fn: function (aString){
  180. var self=this,$self=this;
  181. var $1;
  182. $self["@input"]=aString;
  183. $1=$self["@input"];
  184. return $1;
  185. },
  186. //>>excludeStart("ide", pragmas.excludeIdeData);
  187. args: ["aString"],
  188. source: "input: aString\x0a\x09^ input := aString",
  189. referencedClasses: [],
  190. //>>excludeEnd("ide");
  191. messageSends: []
  192. }),
  193. $globals.HLCommand);
  194. $core.addMethod(
  195. $core.method({
  196. selector: "inputCompletion",
  197. protocol: "accessing",
  198. fn: function (){
  199. var self=this,$self=this;
  200. return [];
  201. },
  202. //>>excludeStart("ide", pragmas.excludeIdeData);
  203. args: [],
  204. source: "inputCompletion\x0a\x09^ #()",
  205. referencedClasses: [],
  206. //>>excludeEnd("ide");
  207. messageSends: []
  208. }),
  209. $globals.HLCommand);
  210. $core.addMethod(
  211. $core.method({
  212. selector: "inputLabel",
  213. protocol: "accessing",
  214. fn: function (){
  215. var self=this,$self=this;
  216. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  217. return $core.withContext(function($ctx1) {
  218. //>>excludeEnd("ctx");
  219. return $self._label();
  220. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  221. }, function($ctx1) {$ctx1.fill(self,"inputLabel",{},$globals.HLCommand)});
  222. //>>excludeEnd("ctx");
  223. },
  224. //>>excludeStart("ide", pragmas.excludeIdeData);
  225. args: [],
  226. source: "inputLabel\x0a\x09^ self label",
  227. referencedClasses: [],
  228. //>>excludeEnd("ide");
  229. messageSends: ["label"]
  230. }),
  231. $globals.HLCommand);
  232. $core.addMethod(
  233. $core.method({
  234. selector: "isAction",
  235. protocol: "testing",
  236. fn: function (){
  237. var self=this,$self=this;
  238. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  239. return $core.withContext(function($ctx1) {
  240. //>>excludeEnd("ctx");
  241. return $recv($self._isBindingGroup())._not();
  242. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  243. }, function($ctx1) {$ctx1.fill(self,"isAction",{},$globals.HLCommand)});
  244. //>>excludeEnd("ctx");
  245. },
  246. //>>excludeStart("ide", pragmas.excludeIdeData);
  247. args: [],
  248. source: "isAction\x0a\x09^ self isBindingGroup not",
  249. referencedClasses: [],
  250. //>>excludeEnd("ide");
  251. messageSends: ["not", "isBindingGroup"]
  252. }),
  253. $globals.HLCommand);
  254. $core.addMethod(
  255. $core.method({
  256. selector: "isActive",
  257. protocol: "testing",
  258. fn: function (){
  259. var self=this,$self=this;
  260. return true;
  261. },
  262. //>>excludeStart("ide", pragmas.excludeIdeData);
  263. args: [],
  264. source: "isActive\x0a\x09^ true",
  265. referencedClasses: [],
  266. //>>excludeEnd("ide");
  267. messageSends: []
  268. }),
  269. $globals.HLCommand);
  270. $core.addMethod(
  271. $core.method({
  272. selector: "isBindingGroup",
  273. protocol: "testing",
  274. fn: function (){
  275. var self=this,$self=this;
  276. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  277. return $core.withContext(function($ctx1) {
  278. //>>excludeEnd("ctx");
  279. return $recv($recv($recv($self._class())._methodDictionary())._includesKey_("execute"))._not();
  280. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  281. }, function($ctx1) {$ctx1.fill(self,"isBindingGroup",{},$globals.HLCommand)});
  282. //>>excludeEnd("ctx");
  283. },
  284. //>>excludeStart("ide", pragmas.excludeIdeData);
  285. args: [],
  286. source: "isBindingGroup\x0a\x09^ (self class methodDictionary includesKey: 'execute') not",
  287. referencedClasses: [],
  288. //>>excludeEnd("ide");
  289. messageSends: ["not", "includesKey:", "methodDictionary", "class"]
  290. }),
  291. $globals.HLCommand);
  292. $core.addMethod(
  293. $core.method({
  294. selector: "isInputRequired",
  295. protocol: "testing",
  296. fn: function (){
  297. var self=this,$self=this;
  298. return false;
  299. },
  300. //>>excludeStart("ide", pragmas.excludeIdeData);
  301. args: [],
  302. source: "isInputRequired\x0a\x09^ false",
  303. referencedClasses: [],
  304. //>>excludeEnd("ide");
  305. messageSends: []
  306. }),
  307. $globals.HLCommand);
  308. $core.addMethod(
  309. $core.method({
  310. selector: "key",
  311. protocol: "accessing",
  312. fn: function (){
  313. var self=this,$self=this;
  314. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  315. return $core.withContext(function($ctx1) {
  316. //>>excludeEnd("ctx");
  317. return $recv($self._class())._key();
  318. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  319. }, function($ctx1) {$ctx1.fill(self,"key",{},$globals.HLCommand)});
  320. //>>excludeEnd("ctx");
  321. },
  322. //>>excludeStart("ide", pragmas.excludeIdeData);
  323. args: [],
  324. source: "key\x0a\x09^ self class key",
  325. referencedClasses: [],
  326. //>>excludeEnd("ide");
  327. messageSends: ["key", "class"]
  328. }),
  329. $globals.HLCommand);
  330. $core.addMethod(
  331. $core.method({
  332. selector: "keyCode",
  333. protocol: "accessing",
  334. fn: function (){
  335. var self=this,$self=this;
  336. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  337. return $core.withContext(function($ctx1) {
  338. //>>excludeEnd("ctx");
  339. return $recv($recv($self._key())._asUppercase())._charCodeAt_((1));
  340. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  341. }, function($ctx1) {$ctx1.fill(self,"keyCode",{},$globals.HLCommand)});
  342. //>>excludeEnd("ctx");
  343. },
  344. //>>excludeStart("ide", pragmas.excludeIdeData);
  345. args: [],
  346. source: "keyCode\x0a\x09^ self key asUppercase charCodeAt: 1",
  347. referencedClasses: [],
  348. //>>excludeEnd("ide");
  349. messageSends: ["charCodeAt:", "asUppercase", "key"]
  350. }),
  351. $globals.HLCommand);
  352. $core.addMethod(
  353. $core.method({
  354. selector: "label",
  355. protocol: "accessing",
  356. fn: function (){
  357. var self=this,$self=this;
  358. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  359. return $core.withContext(function($ctx1) {
  360. //>>excludeEnd("ctx");
  361. return $recv($self._class())._label();
  362. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  363. }, function($ctx1) {$ctx1.fill(self,"label",{},$globals.HLCommand)});
  364. //>>excludeEnd("ctx");
  365. },
  366. //>>excludeStart("ide", pragmas.excludeIdeData);
  367. args: [],
  368. source: "label\x0a\x09^ self class label",
  369. referencedClasses: [],
  370. //>>excludeEnd("ide");
  371. messageSends: ["label", "class"]
  372. }),
  373. $globals.HLCommand);
  374. $core.addMethod(
  375. $core.method({
  376. selector: "menuLabel",
  377. protocol: "accessing",
  378. fn: function (){
  379. var self=this,$self=this;
  380. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  381. return $core.withContext(function($ctx1) {
  382. //>>excludeEnd("ctx");
  383. return $recv($self._class())._menuLabel();
  384. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  385. }, function($ctx1) {$ctx1.fill(self,"menuLabel",{},$globals.HLCommand)});
  386. //>>excludeEnd("ctx");
  387. },
  388. //>>excludeStart("ide", pragmas.excludeIdeData);
  389. args: [],
  390. source: "menuLabel\x0a\x09^ self class menuLabel",
  391. referencedClasses: [],
  392. //>>excludeEnd("ide");
  393. messageSends: ["menuLabel", "class"]
  394. }),
  395. $globals.HLCommand);
  396. $core.addMethod(
  397. $core.method({
  398. selector: "registerOn:",
  399. protocol: "registration",
  400. fn: function (aBinding){
  401. var self=this,$self=this;
  402. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  403. return $core.withContext(function($ctx1) {
  404. //>>excludeEnd("ctx");
  405. return $recv(aBinding)._add_($self._asBinding());
  406. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  407. }, function($ctx1) {$ctx1.fill(self,"registerOn:",{aBinding:aBinding},$globals.HLCommand)});
  408. //>>excludeEnd("ctx");
  409. },
  410. //>>excludeStart("ide", pragmas.excludeIdeData);
  411. args: ["aBinding"],
  412. source: "registerOn: aBinding\x0a\x09^ aBinding add: self asBinding",
  413. referencedClasses: [],
  414. //>>excludeEnd("ide");
  415. messageSends: ["add:", "asBinding"]
  416. }),
  417. $globals.HLCommand);
  418. $core.addMethod(
  419. $core.method({
  420. selector: "concreteClasses",
  421. protocol: "registration",
  422. fn: function (){
  423. var self=this,$self=this;
  424. var classes;
  425. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  426. return $core.withContext(function($ctx1) {
  427. //>>excludeEnd("ctx");
  428. var $1;
  429. classes=$recv($globals.OrderedCollection)._new();
  430. $1=$self._isConcrete();
  431. if($core.assert($1)){
  432. $recv(classes)._add_(self);
  433. }
  434. $recv($self._subclasses())._do_((function(each){
  435. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  436. return $core.withContext(function($ctx2) {
  437. //>>excludeEnd("ctx");
  438. return $recv(classes)._addAll_($recv(each)._concreteClasses());
  439. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  440. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)});
  441. //>>excludeEnd("ctx");
  442. }));
  443. return classes;
  444. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  445. }, function($ctx1) {$ctx1.fill(self,"concreteClasses",{classes:classes},$globals.HLCommand.a$cls)});
  446. //>>excludeEnd("ctx");
  447. },
  448. //>>excludeStart("ide", pragmas.excludeIdeData);
  449. args: [],
  450. source: "concreteClasses\x0a\x09| classes |\x0a\x09\x0a\x09classes := OrderedCollection new.\x0a\x09\x0a\x09self isConcrete\x0a\x09\x09ifTrue: [ classes add: self ].\x0a\x09\x09\x0a\x09self subclasses do: [ :each | \x0a\x09\x09classes addAll: each concreteClasses ].\x0a\x09\x09\x0a\x09^ classes",
  451. referencedClasses: ["OrderedCollection"],
  452. //>>excludeEnd("ide");
  453. messageSends: ["new", "ifTrue:", "isConcrete", "add:", "do:", "subclasses", "addAll:", "concreteClasses"]
  454. }),
  455. $globals.HLCommand.a$cls);
  456. $core.addMethod(
  457. $core.method({
  458. selector: "documentation",
  459. protocol: "accessing",
  460. fn: function (){
  461. var self=this,$self=this;
  462. return "";
  463. },
  464. //>>excludeStart("ide", pragmas.excludeIdeData);
  465. args: [],
  466. source: "documentation\x0a\x09^ ''",
  467. referencedClasses: [],
  468. //>>excludeEnd("ide");
  469. messageSends: []
  470. }),
  471. $globals.HLCommand.a$cls);
  472. $core.addMethod(
  473. $core.method({
  474. selector: "isConcrete",
  475. protocol: "testing",
  476. fn: function (){
  477. var self=this,$self=this;
  478. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  479. return $core.withContext(function($ctx1) {
  480. //>>excludeEnd("ctx");
  481. return $recv($self._key())._notNil();
  482. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  483. }, function($ctx1) {$ctx1.fill(self,"isConcrete",{},$globals.HLCommand.a$cls)});
  484. //>>excludeEnd("ctx");
  485. },
  486. //>>excludeStart("ide", pragmas.excludeIdeData);
  487. args: [],
  488. source: "isConcrete\x0a\x09^ self key notNil",
  489. referencedClasses: [],
  490. //>>excludeEnd("ide");
  491. messageSends: ["notNil", "key"]
  492. }),
  493. $globals.HLCommand.a$cls);
  494. $core.addMethod(
  495. $core.method({
  496. selector: "isValidFor:",
  497. protocol: "testing",
  498. fn: function (aModel){
  499. var self=this,$self=this;
  500. return true;
  501. },
  502. //>>excludeStart("ide", pragmas.excludeIdeData);
  503. args: ["aModel"],
  504. source: "isValidFor: aModel\x0a\x09^ true",
  505. referencedClasses: [],
  506. //>>excludeEnd("ide");
  507. messageSends: []
  508. }),
  509. $globals.HLCommand.a$cls);
  510. $core.addMethod(
  511. $core.method({
  512. selector: "key",
  513. protocol: "accessing",
  514. fn: function (){
  515. var self=this,$self=this;
  516. return nil;
  517. },
  518. //>>excludeStart("ide", pragmas.excludeIdeData);
  519. args: [],
  520. source: "key\x0a\x09\x22Answer a single character string or nil if no key\x22\x0a\x09\x0a\x09^ nil",
  521. referencedClasses: [],
  522. //>>excludeEnd("ide");
  523. messageSends: []
  524. }),
  525. $globals.HLCommand.a$cls);
  526. $core.addMethod(
  527. $core.method({
  528. selector: "label",
  529. protocol: "accessing",
  530. fn: function (){
  531. var self=this,$self=this;
  532. return "";
  533. },
  534. //>>excludeStart("ide", pragmas.excludeIdeData);
  535. args: [],
  536. source: "label\x0a\x09^ ''",
  537. referencedClasses: [],
  538. //>>excludeEnd("ide");
  539. messageSends: []
  540. }),
  541. $globals.HLCommand.a$cls);
  542. $core.addMethod(
  543. $core.method({
  544. selector: "menuLabel",
  545. protocol: "accessing",
  546. fn: function (){
  547. var self=this,$self=this;
  548. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  549. return $core.withContext(function($ctx1) {
  550. //>>excludeEnd("ctx");
  551. return $self._label();
  552. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  553. }, function($ctx1) {$ctx1.fill(self,"menuLabel",{},$globals.HLCommand.a$cls)});
  554. //>>excludeEnd("ctx");
  555. },
  556. //>>excludeStart("ide", pragmas.excludeIdeData);
  557. args: [],
  558. source: "menuLabel\x0a\x09^ self label",
  559. referencedClasses: [],
  560. //>>excludeEnd("ide");
  561. messageSends: ["label"]
  562. }),
  563. $globals.HLCommand.a$cls);
  564. $core.addMethod(
  565. $core.method({
  566. selector: "registerConcreteClassesOn:",
  567. protocol: "accessing",
  568. fn: function (aBinding){
  569. var self=this,$self=this;
  570. var newBinding;
  571. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  572. return $core.withContext(function($ctx1) {
  573. //>>excludeEnd("ctx");
  574. var $1;
  575. $1=$self._isConcrete();
  576. if($core.assert($1)){
  577. newBinding=$self._registerOn_(aBinding);
  578. newBinding;
  579. } else {
  580. newBinding=aBinding;
  581. newBinding;
  582. }
  583. $recv($self._subclasses())._do_((function(each){
  584. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  585. return $core.withContext(function($ctx2) {
  586. //>>excludeEnd("ctx");
  587. return $recv(each)._registerConcreteClassesOn_(newBinding);
  588. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  589. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,3)});
  590. //>>excludeEnd("ctx");
  591. }));
  592. return self;
  593. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  594. }, function($ctx1) {$ctx1.fill(self,"registerConcreteClassesOn:",{aBinding:aBinding,newBinding:newBinding},$globals.HLCommand.a$cls)});
  595. //>>excludeEnd("ctx");
  596. },
  597. //>>excludeStart("ide", pragmas.excludeIdeData);
  598. args: ["aBinding"],
  599. source: "registerConcreteClassesOn: aBinding\x0a\x09| newBinding |\x0a\x09\x0a\x09self isConcrete\x0a\x09\x09ifTrue: [ newBinding := self registerOn: aBinding ]\x0a\x09\x09ifFalse: [ newBinding := aBinding ].\x0a\x09\x09\x0a\x09self subclasses do: [ :each | each registerConcreteClassesOn: newBinding ]",
  600. referencedClasses: [],
  601. //>>excludeEnd("ide");
  602. messageSends: ["ifTrue:ifFalse:", "isConcrete", "registerOn:", "do:", "subclasses", "registerConcreteClassesOn:"]
  603. }),
  604. $globals.HLCommand.a$cls);
  605. $core.addMethod(
  606. $core.method({
  607. selector: "registerOn:",
  608. protocol: "registration",
  609. fn: function (aBinding){
  610. var self=this,$self=this;
  611. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  612. return $core.withContext(function($ctx1) {
  613. //>>excludeEnd("ctx");
  614. return $recv($self._new())._registerOn_(aBinding);
  615. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  616. }, function($ctx1) {$ctx1.fill(self,"registerOn:",{aBinding:aBinding},$globals.HLCommand.a$cls)});
  617. //>>excludeEnd("ctx");
  618. },
  619. //>>excludeStart("ide", pragmas.excludeIdeData);
  620. args: ["aBinding"],
  621. source: "registerOn: aBinding\x0a\x09^ self new registerOn: aBinding",
  622. referencedClasses: [],
  623. //>>excludeEnd("ide");
  624. messageSends: ["registerOn:", "new"]
  625. }),
  626. $globals.HLCommand.a$cls);
  627. $core.addClass("HLCloseTabCommand", $globals.HLCommand, [], "Helios-Commands-Core");
  628. $core.addMethod(
  629. $core.method({
  630. selector: "execute",
  631. protocol: "executing",
  632. fn: function (){
  633. var self=this,$self=this;
  634. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  635. return $core.withContext(function($ctx1) {
  636. //>>excludeEnd("ctx");
  637. $recv($recv($globals.HLManager)._current())._removeActiveTab();
  638. return self;
  639. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  640. }, function($ctx1) {$ctx1.fill(self,"execute",{},$globals.HLCloseTabCommand)});
  641. //>>excludeEnd("ctx");
  642. },
  643. //>>excludeStart("ide", pragmas.excludeIdeData);
  644. args: [],
  645. source: "execute\x0a\x09HLManager current removeActiveTab",
  646. referencedClasses: ["HLManager"],
  647. //>>excludeEnd("ide");
  648. messageSends: ["removeActiveTab", "current"]
  649. }),
  650. $globals.HLCloseTabCommand);
  651. $core.addMethod(
  652. $core.method({
  653. selector: "key",
  654. protocol: "accessing",
  655. fn: function (){
  656. var self=this,$self=this;
  657. return "w";
  658. },
  659. //>>excludeStart("ide", pragmas.excludeIdeData);
  660. args: [],
  661. source: "key\x0a\x09^ 'w'",
  662. referencedClasses: [],
  663. //>>excludeEnd("ide");
  664. messageSends: []
  665. }),
  666. $globals.HLCloseTabCommand.a$cls);
  667. $core.addMethod(
  668. $core.method({
  669. selector: "label",
  670. protocol: "accessing",
  671. fn: function (){
  672. var self=this,$self=this;
  673. return "Close tab";
  674. },
  675. //>>excludeStart("ide", pragmas.excludeIdeData);
  676. args: [],
  677. source: "label\x0a\x09^ 'Close tab'",
  678. referencedClasses: [],
  679. //>>excludeEnd("ide");
  680. messageSends: []
  681. }),
  682. $globals.HLCloseTabCommand.a$cls);
  683. $core.addClass("HLModelCommand", $globals.HLCommand, ["model"], "Helios-Commands-Core");
  684. $core.addMethod(
  685. $core.method({
  686. selector: "model",
  687. protocol: "accessing",
  688. fn: function (){
  689. var self=this,$self=this;
  690. return $self["@model"];
  691. },
  692. //>>excludeStart("ide", pragmas.excludeIdeData);
  693. args: [],
  694. source: "model\x0a\x09^ model",
  695. referencedClasses: [],
  696. //>>excludeEnd("ide");
  697. messageSends: []
  698. }),
  699. $globals.HLModelCommand);
  700. $core.addMethod(
  701. $core.method({
  702. selector: "model:",
  703. protocol: "accessing",
  704. fn: function (aModel){
  705. var self=this,$self=this;
  706. $self["@model"]=aModel;
  707. return self;
  708. },
  709. //>>excludeStart("ide", pragmas.excludeIdeData);
  710. args: ["aModel"],
  711. source: "model: aModel\x0a\x09model := aModel",
  712. referencedClasses: [],
  713. //>>excludeEnd("ide");
  714. messageSends: []
  715. }),
  716. $globals.HLModelCommand);
  717. $core.addMethod(
  718. $core.method({
  719. selector: "for:",
  720. protocol: "instance creation",
  721. fn: function (aModel){
  722. var self=this,$self=this;
  723. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  724. return $core.withContext(function($ctx1) {
  725. //>>excludeEnd("ctx");
  726. return $self._new();
  727. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  728. }, function($ctx1) {$ctx1.fill(self,"for:",{aModel:aModel},$globals.HLModelCommand.a$cls)});
  729. //>>excludeEnd("ctx");
  730. },
  731. //>>excludeStart("ide", pragmas.excludeIdeData);
  732. args: ["aModel"],
  733. source: "for: aModel\x0a\x09^ self new",
  734. referencedClasses: [],
  735. //>>excludeEnd("ide");
  736. messageSends: ["new"]
  737. }),
  738. $globals.HLModelCommand.a$cls);
  739. $core.addMethod(
  740. $core.method({
  741. selector: "registerConcreteClassesOn:for:",
  742. protocol: "registration",
  743. fn: function (aBinding,aModel){
  744. var self=this,$self=this;
  745. var newBinding;
  746. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  747. return $core.withContext(function($ctx1) {
  748. //>>excludeEnd("ctx");
  749. var $1;
  750. $1=$recv($self._isConcrete())._and_((function(){
  751. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  752. return $core.withContext(function($ctx2) {
  753. //>>excludeEnd("ctx");
  754. return $self._isValidFor_(aModel);
  755. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  756. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  757. //>>excludeEnd("ctx");
  758. }));
  759. if($core.assert($1)){
  760. newBinding=$self._registerOn_for_(aBinding,aModel);
  761. newBinding;
  762. } else {
  763. newBinding=aBinding;
  764. newBinding;
  765. }
  766. $recv($self._subclasses())._do_((function(each){
  767. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  768. return $core.withContext(function($ctx2) {
  769. //>>excludeEnd("ctx");
  770. return $recv(each)._registerConcreteClassesOn_for_(newBinding,aModel);
  771. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  772. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,4)});
  773. //>>excludeEnd("ctx");
  774. }));
  775. return self;
  776. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  777. }, function($ctx1) {$ctx1.fill(self,"registerConcreteClassesOn:for:",{aBinding:aBinding,aModel:aModel,newBinding:newBinding},$globals.HLModelCommand.a$cls)});
  778. //>>excludeEnd("ctx");
  779. },
  780. //>>excludeStart("ide", pragmas.excludeIdeData);
  781. args: ["aBinding", "aModel"],
  782. source: "registerConcreteClassesOn: aBinding for: aModel\x0a\x09| newBinding |\x0a\x09\x0a\x09(self isConcrete and: [ self isValidFor: aModel ])\x0a\x09\x09ifTrue: [ newBinding := self registerOn: aBinding for: aModel ]\x0a\x09\x09ifFalse: [ newBinding := aBinding ].\x0a\x09\x09\x0a\x09self subclasses do: [ :each |\x0a\x09\x09each registerConcreteClassesOn: newBinding for: aModel ]",
  783. referencedClasses: [],
  784. //>>excludeEnd("ide");
  785. messageSends: ["ifTrue:ifFalse:", "and:", "isConcrete", "isValidFor:", "registerOn:for:", "do:", "subclasses", "registerConcreteClassesOn:for:"]
  786. }),
  787. $globals.HLModelCommand.a$cls);
  788. $core.addMethod(
  789. $core.method({
  790. selector: "registerOn:for:",
  791. protocol: "registration",
  792. fn: function (aBinding,aModel){
  793. var self=this,$self=this;
  794. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  795. return $core.withContext(function($ctx1) {
  796. //>>excludeEnd("ctx");
  797. return $recv($self._for_(aModel))._registerOn_(aBinding);
  798. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  799. }, function($ctx1) {$ctx1.fill(self,"registerOn:for:",{aBinding:aBinding,aModel:aModel},$globals.HLModelCommand.a$cls)});
  800. //>>excludeEnd("ctx");
  801. },
  802. //>>excludeStart("ide", pragmas.excludeIdeData);
  803. args: ["aBinding", "aModel"],
  804. source: "registerOn: aBinding for: aModel\x0a\x09^ (self for: aModel) registerOn: aBinding",
  805. referencedClasses: [],
  806. //>>excludeEnd("ide");
  807. messageSends: ["registerOn:", "for:"]
  808. }),
  809. $globals.HLModelCommand.a$cls);
  810. $core.addClass("HLOpenCommand", $globals.HLCommand, [], "Helios-Commands-Core");
  811. $core.addMethod(
  812. $core.method({
  813. selector: "key",
  814. protocol: "accessing",
  815. fn: function (){
  816. var self=this,$self=this;
  817. return "o";
  818. },
  819. //>>excludeStart("ide", pragmas.excludeIdeData);
  820. args: [],
  821. source: "key\x0a\x09^ 'o'",
  822. referencedClasses: [],
  823. //>>excludeEnd("ide");
  824. messageSends: []
  825. }),
  826. $globals.HLOpenCommand.a$cls);
  827. $core.addMethod(
  828. $core.method({
  829. selector: "label",
  830. protocol: "accessing",
  831. fn: function (){
  832. var self=this,$self=this;
  833. return "Open";
  834. },
  835. //>>excludeStart("ide", pragmas.excludeIdeData);
  836. args: [],
  837. source: "label\x0a\x09^ 'Open'",
  838. referencedClasses: [],
  839. //>>excludeEnd("ide");
  840. messageSends: []
  841. }),
  842. $globals.HLOpenCommand.a$cls);
  843. $core.addClass("HLOpenBrowserCommand", $globals.HLOpenCommand, [], "Helios-Commands-Core");
  844. $core.addMethod(
  845. $core.method({
  846. selector: "execute",
  847. protocol: "executing",
  848. fn: function (){
  849. var self=this,$self=this;
  850. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  851. return $core.withContext(function($ctx1) {
  852. //>>excludeEnd("ctx");
  853. return $recv($globals.HLBrowser)._openAsTab();
  854. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  855. }, function($ctx1) {$ctx1.fill(self,"execute",{},$globals.HLOpenBrowserCommand)});
  856. //>>excludeEnd("ctx");
  857. },
  858. //>>excludeStart("ide", pragmas.excludeIdeData);
  859. args: [],
  860. source: "execute\x0a\x09^ HLBrowser openAsTab",
  861. referencedClasses: ["HLBrowser"],
  862. //>>excludeEnd("ide");
  863. messageSends: ["openAsTab"]
  864. }),
  865. $globals.HLOpenBrowserCommand);
  866. $core.addMethod(
  867. $core.method({
  868. selector: "key",
  869. protocol: "accessing",
  870. fn: function (){
  871. var self=this,$self=this;
  872. return "b";
  873. },
  874. //>>excludeStart("ide", pragmas.excludeIdeData);
  875. args: [],
  876. source: "key\x0a\x09^ 'b'",
  877. referencedClasses: [],
  878. //>>excludeEnd("ide");
  879. messageSends: []
  880. }),
  881. $globals.HLOpenBrowserCommand.a$cls);
  882. $core.addMethod(
  883. $core.method({
  884. selector: "label",
  885. protocol: "accessing",
  886. fn: function (){
  887. var self=this,$self=this;
  888. return "Browser";
  889. },
  890. //>>excludeStart("ide", pragmas.excludeIdeData);
  891. args: [],
  892. source: "label\x0a\x09^ 'Browser'",
  893. referencedClasses: [],
  894. //>>excludeEnd("ide");
  895. messageSends: []
  896. }),
  897. $globals.HLOpenBrowserCommand.a$cls);
  898. $core.addClass("HLOpenSUnitCommand", $globals.HLOpenCommand, [], "Helios-Commands-Core");
  899. $core.addMethod(
  900. $core.method({
  901. selector: "execute",
  902. protocol: "executing",
  903. fn: function (){
  904. var self=this,$self=this;
  905. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  906. return $core.withContext(function($ctx1) {
  907. //>>excludeEnd("ctx");
  908. return $recv($globals.HLSUnit)._openAsTab();
  909. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  910. }, function($ctx1) {$ctx1.fill(self,"execute",{},$globals.HLOpenSUnitCommand)});
  911. //>>excludeEnd("ctx");
  912. },
  913. //>>excludeStart("ide", pragmas.excludeIdeData);
  914. args: [],
  915. source: "execute\x0a\x09^ HLSUnit openAsTab",
  916. referencedClasses: ["HLSUnit"],
  917. //>>excludeEnd("ide");
  918. messageSends: ["openAsTab"]
  919. }),
  920. $globals.HLOpenSUnitCommand);
  921. $core.addMethod(
  922. $core.method({
  923. selector: "key",
  924. protocol: "accessing",
  925. fn: function (){
  926. var self=this,$self=this;
  927. return "s";
  928. },
  929. //>>excludeStart("ide", pragmas.excludeIdeData);
  930. args: [],
  931. source: "key\x0a\x09^ 's'",
  932. referencedClasses: [],
  933. //>>excludeEnd("ide");
  934. messageSends: []
  935. }),
  936. $globals.HLOpenSUnitCommand.a$cls);
  937. $core.addMethod(
  938. $core.method({
  939. selector: "label",
  940. protocol: "accessing",
  941. fn: function (){
  942. var self=this,$self=this;
  943. return "SUnit";
  944. },
  945. //>>excludeStart("ide", pragmas.excludeIdeData);
  946. args: [],
  947. source: "label\x0a\x09^ 'SUnit'",
  948. referencedClasses: [],
  949. //>>excludeEnd("ide");
  950. messageSends: []
  951. }),
  952. $globals.HLOpenSUnitCommand.a$cls);
  953. $core.addClass("HLOpenWorkspaceCommand", $globals.HLOpenCommand, [], "Helios-Commands-Core");
  954. $core.addMethod(
  955. $core.method({
  956. selector: "execute",
  957. protocol: "executing",
  958. fn: function (){
  959. var self=this,$self=this;
  960. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  961. return $core.withContext(function($ctx1) {
  962. //>>excludeEnd("ctx");
  963. return $recv($globals.HLWorkspace)._openAsTab();
  964. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  965. }, function($ctx1) {$ctx1.fill(self,"execute",{},$globals.HLOpenWorkspaceCommand)});
  966. //>>excludeEnd("ctx");
  967. },
  968. //>>excludeStart("ide", pragmas.excludeIdeData);
  969. args: [],
  970. source: "execute\x0a\x09^ HLWorkspace openAsTab",
  971. referencedClasses: ["HLWorkspace"],
  972. //>>excludeEnd("ide");
  973. messageSends: ["openAsTab"]
  974. }),
  975. $globals.HLOpenWorkspaceCommand);
  976. $core.addMethod(
  977. $core.method({
  978. selector: "key",
  979. protocol: "accessing",
  980. fn: function (){
  981. var self=this,$self=this;
  982. return "w";
  983. },
  984. //>>excludeStart("ide", pragmas.excludeIdeData);
  985. args: [],
  986. source: "key\x0a\x09^ 'w'",
  987. referencedClasses: [],
  988. //>>excludeEnd("ide");
  989. messageSends: []
  990. }),
  991. $globals.HLOpenWorkspaceCommand.a$cls);
  992. $core.addMethod(
  993. $core.method({
  994. selector: "label",
  995. protocol: "accessing",
  996. fn: function (){
  997. var self=this,$self=this;
  998. return "Workspace";
  999. },
  1000. //>>excludeStart("ide", pragmas.excludeIdeData);
  1001. args: [],
  1002. source: "label\x0a\x09^ 'Workspace'",
  1003. referencedClasses: [],
  1004. //>>excludeEnd("ide");
  1005. messageSends: []
  1006. }),
  1007. $globals.HLOpenWorkspaceCommand.a$cls);
  1008. $core.addClass("HLSwitchTabCommand", $globals.HLCommand, [], "Helios-Commands-Core");
  1009. $core.addMethod(
  1010. $core.method({
  1011. selector: "execute",
  1012. protocol: "executing",
  1013. fn: function (){
  1014. var self=this,$self=this;
  1015. var activeTab;
  1016. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1017. return $core.withContext(function($ctx1) {
  1018. //>>excludeEnd("ctx");
  1019. var $1;
  1020. activeTab=$self._selectedTab();
  1021. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1022. $ctx1.sendIdx["selectedTab"]=1;
  1023. //>>excludeEnd("ctx");
  1024. $1=$recv($globals.HLTabSelectionWidget)._new();
  1025. $recv($1)._tabs_($self._tabs());
  1026. $recv($1)._selectedTab_($self._selectedTab());
  1027. $recv($1)._selectCallback_((function(tab){
  1028. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1029. return $core.withContext(function($ctx2) {
  1030. //>>excludeEnd("ctx");
  1031. return $recv(tab)._activate();
  1032. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1033. $ctx2.sendIdx["activate"]=1;
  1034. //>>excludeEnd("ctx");
  1035. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1036. }, function($ctx2) {$ctx2.fillBlock({tab:tab},$ctx1,1)});
  1037. //>>excludeEnd("ctx");
  1038. }));
  1039. $recv($1)._confirmCallback_((function(tab){
  1040. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1041. return $core.withContext(function($ctx2) {
  1042. //>>excludeEnd("ctx");
  1043. return $recv(tab)._focus();
  1044. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1045. }, function($ctx2) {$ctx2.fillBlock({tab:tab},$ctx1,2)});
  1046. //>>excludeEnd("ctx");
  1047. }));
  1048. $recv($1)._cancelCallback_((function(){
  1049. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1050. return $core.withContext(function($ctx2) {
  1051. //>>excludeEnd("ctx");
  1052. return $recv(activeTab)._activate();
  1053. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1054. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)});
  1055. //>>excludeEnd("ctx");
  1056. }));
  1057. return $recv($1)._show();
  1058. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1059. }, function($ctx1) {$ctx1.fill(self,"execute",{activeTab:activeTab},$globals.HLSwitchTabCommand)});
  1060. //>>excludeEnd("ctx");
  1061. },
  1062. //>>excludeStart("ide", pragmas.excludeIdeData);
  1063. args: [],
  1064. source: "execute\x0a\x09| activeTab |\x0a\x09\x0a\x09activeTab := self selectedTab.\x0a\x09\x0a\x09^ HLTabSelectionWidget new\x0a\x09\x09tabs: self tabs;\x0a\x09\x09selectedTab: self selectedTab;\x0a\x09\x09selectCallback: [ :tab | tab activate ];\x0a\x09\x09confirmCallback: [ :tab | tab focus ];\x0a\x09\x09cancelCallback: [ activeTab activate ];\x0a\x09\x09show",
  1065. referencedClasses: ["HLTabSelectionWidget"],
  1066. //>>excludeEnd("ide");
  1067. messageSends: ["selectedTab", "tabs:", "new", "tabs", "selectedTab:", "selectCallback:", "activate", "confirmCallback:", "focus", "cancelCallback:", "show"]
  1068. }),
  1069. $globals.HLSwitchTabCommand);
  1070. $core.addMethod(
  1071. $core.method({
  1072. selector: "selectedTab",
  1073. protocol: "accessing",
  1074. fn: function (){
  1075. var self=this,$self=this;
  1076. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1077. return $core.withContext(function($ctx1) {
  1078. //>>excludeEnd("ctx");
  1079. return $recv($recv($globals.HLManager)._current())._activeTab();
  1080. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1081. }, function($ctx1) {$ctx1.fill(self,"selectedTab",{},$globals.HLSwitchTabCommand)});
  1082. //>>excludeEnd("ctx");
  1083. },
  1084. //>>excludeStart("ide", pragmas.excludeIdeData);
  1085. args: [],
  1086. source: "selectedTab\x0a\x09^ HLManager current activeTab",
  1087. referencedClasses: ["HLManager"],
  1088. //>>excludeEnd("ide");
  1089. messageSends: ["activeTab", "current"]
  1090. }),
  1091. $globals.HLSwitchTabCommand);
  1092. $core.addMethod(
  1093. $core.method({
  1094. selector: "tabs",
  1095. protocol: "accessing",
  1096. fn: function (){
  1097. var self=this,$self=this;
  1098. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1099. return $core.withContext(function($ctx1) {
  1100. //>>excludeEnd("ctx");
  1101. return $recv($recv($globals.HLManager)._current())._tabs();
  1102. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1103. }, function($ctx1) {$ctx1.fill(self,"tabs",{},$globals.HLSwitchTabCommand)});
  1104. //>>excludeEnd("ctx");
  1105. },
  1106. //>>excludeStart("ide", pragmas.excludeIdeData);
  1107. args: [],
  1108. source: "tabs\x0a\x09^ HLManager current tabs",
  1109. referencedClasses: ["HLManager"],
  1110. //>>excludeEnd("ide");
  1111. messageSends: ["tabs", "current"]
  1112. }),
  1113. $globals.HLSwitchTabCommand);
  1114. $core.addMethod(
  1115. $core.method({
  1116. selector: "key",
  1117. protocol: "accessing",
  1118. fn: function (){
  1119. var self=this,$self=this;
  1120. return "s";
  1121. },
  1122. //>>excludeStart("ide", pragmas.excludeIdeData);
  1123. args: [],
  1124. source: "key\x0a\x09^ 's'",
  1125. referencedClasses: [],
  1126. //>>excludeEnd("ide");
  1127. messageSends: []
  1128. }),
  1129. $globals.HLSwitchTabCommand.a$cls);
  1130. $core.addMethod(
  1131. $core.method({
  1132. selector: "label",
  1133. protocol: "accessing",
  1134. fn: function (){
  1135. var self=this,$self=this;
  1136. return "Switch tab";
  1137. },
  1138. //>>excludeStart("ide", pragmas.excludeIdeData);
  1139. args: [],
  1140. source: "label\x0a\x09^ 'Switch tab'",
  1141. referencedClasses: [],
  1142. //>>excludeEnd("ide");
  1143. messageSends: []
  1144. }),
  1145. $globals.HLSwitchTabCommand.a$cls);
  1146. $core.addClass("HLViewCommand", $globals.HLCommand, [], "Helios-Commands-Core");
  1147. $core.addMethod(
  1148. $core.method({
  1149. selector: "label",
  1150. protocol: "accessing",
  1151. fn: function (){
  1152. var self=this,$self=this;
  1153. return "View";
  1154. },
  1155. //>>excludeStart("ide", pragmas.excludeIdeData);
  1156. args: [],
  1157. source: "label\x0a\x09^ 'View'",
  1158. referencedClasses: [],
  1159. //>>excludeEnd("ide");
  1160. messageSends: []
  1161. }),
  1162. $globals.HLViewCommand.a$cls);
  1163. });