Helios-Commands-Core.js 34 KB

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