Helios-Commands-Core.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894
  1. smalltalk.addPackage('Helios-Commands-Core');
  2. smalltalk.addClass('HLCommand', smalltalk.Object, ['input'], 'Helios-Commands-Core');
  3. smalltalk.addMethod(
  4. smalltalk.method({
  5. selector: "asActionBinding",
  6. category: 'converting',
  7. fn: function (){
  8. var self=this;
  9. function $HLBindingAction(){return smalltalk.HLBindingAction||(typeof HLBindingAction=="undefined"?nil:HLBindingAction)}
  10. return smalltalk.withContext(function($ctx1) {
  11. var $2,$3,$1;
  12. $2=_st($HLBindingAction())._on_labelled_(_st(self)._keyCode(),_st(self)._label());
  13. _st($2)._command_(self);
  14. $3=_st($2)._yourself();
  15. $1=$3;
  16. return $1;
  17. }, function($ctx1) {$ctx1.fill(self,"asActionBinding",{},smalltalk.HLCommand)})},
  18. args: [],
  19. source: "asActionBinding\x0a\x09^ (HLBindingAction on: self keyCode labelled: self label)\x0a \x09command: self;\x0a\x09\x09yourself",
  20. messageSends: ["command:", "on:labelled:", "keyCode", "label", "yourself"],
  21. referencedClasses: ["HLBindingAction"]
  22. }),
  23. smalltalk.HLCommand);
  24. smalltalk.addMethod(
  25. smalltalk.method({
  26. selector: "asBinding",
  27. category: 'converting',
  28. fn: function (){
  29. var self=this;
  30. return smalltalk.withContext(function($ctx1) {
  31. var $2,$1;
  32. $2=_st(self)._isBindingGroup();
  33. if(smalltalk.assert($2)){
  34. $1=_st(self)._asGroupBinding();
  35. } else {
  36. $1=_st(self)._asActionBinding();
  37. };
  38. return $1;
  39. }, function($ctx1) {$ctx1.fill(self,"asBinding",{},smalltalk.HLCommand)})},
  40. args: [],
  41. source: "asBinding\x0a\x09^ self isBindingGroup\x0a\x09\x09ifTrue: [ self asGroupBinding ]\x0a\x09\x09ifFalse: [ self asActionBinding ]",
  42. messageSends: ["ifTrue:ifFalse:", "asGroupBinding", "asActionBinding", "isBindingGroup"],
  43. referencedClasses: []
  44. }),
  45. smalltalk.HLCommand);
  46. smalltalk.addMethod(
  47. smalltalk.method({
  48. selector: "asGroupBinding",
  49. category: 'converting',
  50. fn: function (){
  51. var self=this;
  52. function $HLBindingGroup(){return smalltalk.HLBindingGroup||(typeof HLBindingGroup=="undefined"?nil:HLBindingGroup)}
  53. return smalltalk.withContext(function($ctx1) {
  54. var $1;
  55. $1=_st($HLBindingGroup())._on_labelled_(_st(self)._keyCode(),_st(self)._label());
  56. return $1;
  57. }, function($ctx1) {$ctx1.fill(self,"asGroupBinding",{},smalltalk.HLCommand)})},
  58. args: [],
  59. source: "asGroupBinding\x0a\x09^ HLBindingGroup \x0a\x09\x09on: self keyCode\x0a\x09\x09labelled: self label",
  60. messageSends: ["on:labelled:", "keyCode", "label"],
  61. referencedClasses: ["HLBindingGroup"]
  62. }),
  63. smalltalk.HLCommand);
  64. smalltalk.addMethod(
  65. smalltalk.method({
  66. selector: "commandError:",
  67. category: 'error handling',
  68. fn: function (aString){
  69. var self=this;
  70. return smalltalk.withContext(function($ctx1) {
  71. _st(self)._error_(aString);
  72. return self}, function($ctx1) {$ctx1.fill(self,"commandError:",{aString:aString},smalltalk.HLCommand)})},
  73. args: ["aString"],
  74. source: "commandError: aString\x0a\x09self error: aString",
  75. messageSends: ["error:"],
  76. referencedClasses: []
  77. }),
  78. smalltalk.HLCommand);
  79. smalltalk.addMethod(
  80. smalltalk.method({
  81. selector: "documentation",
  82. category: 'accessing',
  83. fn: function (){
  84. var self=this;
  85. return smalltalk.withContext(function($ctx1) {
  86. var $1;
  87. $1=_st(_st(self)._class())._documentation();
  88. return $1;
  89. }, function($ctx1) {$ctx1.fill(self,"documentation",{},smalltalk.HLCommand)})},
  90. args: [],
  91. source: "documentation\x0a\x09^ self class documentation",
  92. messageSends: ["documentation", "class"],
  93. referencedClasses: []
  94. }),
  95. smalltalk.HLCommand);
  96. smalltalk.addMethod(
  97. smalltalk.method({
  98. selector: "execute",
  99. category: 'executing',
  100. fn: function (){
  101. var self=this;
  102. return smalltalk.withContext(function($ctx1) {
  103. return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLCommand)})},
  104. args: [],
  105. source: "execute\x0a\x09",
  106. messageSends: [],
  107. referencedClasses: []
  108. }),
  109. smalltalk.HLCommand);
  110. smalltalk.addMethod(
  111. smalltalk.method({
  112. selector: "input",
  113. category: 'accessing',
  114. fn: function (){
  115. var self=this;
  116. return smalltalk.withContext(function($ctx1) {
  117. var $1;
  118. $1=self["@input"];
  119. return $1;
  120. }, function($ctx1) {$ctx1.fill(self,"input",{},smalltalk.HLCommand)})},
  121. args: [],
  122. source: "input\x0a\x09^ input",
  123. messageSends: [],
  124. referencedClasses: []
  125. }),
  126. smalltalk.HLCommand);
  127. smalltalk.addMethod(
  128. smalltalk.method({
  129. selector: "input:",
  130. category: 'accessing',
  131. fn: function (aString){
  132. var self=this;
  133. return smalltalk.withContext(function($ctx1) {
  134. var $1;
  135. self["@input"]=aString;
  136. $1=self["@input"];
  137. return $1;
  138. }, function($ctx1) {$ctx1.fill(self,"input:",{aString:aString},smalltalk.HLCommand)})},
  139. args: ["aString"],
  140. source: "input: aString\x0a\x09^ input := aString",
  141. messageSends: [],
  142. referencedClasses: []
  143. }),
  144. smalltalk.HLCommand);
  145. smalltalk.addMethod(
  146. smalltalk.method({
  147. selector: "inputCompletion",
  148. category: 'accessing',
  149. fn: function (){
  150. var self=this;
  151. return smalltalk.withContext(function($ctx1) {
  152. var $1;
  153. $1=[];
  154. return $1;
  155. }, function($ctx1) {$ctx1.fill(self,"inputCompletion",{},smalltalk.HLCommand)})},
  156. args: [],
  157. source: "inputCompletion\x0a\x09^ #()",
  158. messageSends: [],
  159. referencedClasses: []
  160. }),
  161. smalltalk.HLCommand);
  162. smalltalk.addMethod(
  163. smalltalk.method({
  164. selector: "inputLabel",
  165. category: 'accessing',
  166. fn: function (){
  167. var self=this;
  168. return smalltalk.withContext(function($ctx1) {
  169. var $1;
  170. $1=_st(self)._label();
  171. return $1;
  172. }, function($ctx1) {$ctx1.fill(self,"inputLabel",{},smalltalk.HLCommand)})},
  173. args: [],
  174. source: "inputLabel\x0a\x09^ self label",
  175. messageSends: ["label"],
  176. referencedClasses: []
  177. }),
  178. smalltalk.HLCommand);
  179. smalltalk.addMethod(
  180. smalltalk.method({
  181. selector: "isAction",
  182. category: 'testing',
  183. fn: function (){
  184. var self=this;
  185. return smalltalk.withContext(function($ctx1) {
  186. var $1;
  187. $1=_st(_st(self)._isBindingGroup())._not();
  188. return $1;
  189. }, function($ctx1) {$ctx1.fill(self,"isAction",{},smalltalk.HLCommand)})},
  190. args: [],
  191. source: "isAction\x0a\x09^ self isBindingGroup not",
  192. messageSends: ["not", "isBindingGroup"],
  193. referencedClasses: []
  194. }),
  195. smalltalk.HLCommand);
  196. smalltalk.addMethod(
  197. smalltalk.method({
  198. selector: "isActive",
  199. category: 'testing',
  200. fn: function (){
  201. var self=this;
  202. return smalltalk.withContext(function($ctx1) {
  203. return true;
  204. }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLCommand)})},
  205. args: [],
  206. source: "isActive\x0a\x09^ true",
  207. messageSends: [],
  208. referencedClasses: []
  209. }),
  210. smalltalk.HLCommand);
  211. smalltalk.addMethod(
  212. smalltalk.method({
  213. selector: "isBindingGroup",
  214. category: 'testing',
  215. fn: function (){
  216. var self=this;
  217. return smalltalk.withContext(function($ctx1) {
  218. var $1;
  219. $1=_st(_st(_st(_st(self)._class())._methodDictionary())._includesKey_("execute"))._not();
  220. return $1;
  221. }, function($ctx1) {$ctx1.fill(self,"isBindingGroup",{},smalltalk.HLCommand)})},
  222. args: [],
  223. source: "isBindingGroup\x0a\x09^ (self class methodDictionary includesKey: 'execute') not",
  224. messageSends: ["not", "includesKey:", "methodDictionary", "class"],
  225. referencedClasses: []
  226. }),
  227. smalltalk.HLCommand);
  228. smalltalk.addMethod(
  229. smalltalk.method({
  230. selector: "isInputRequired",
  231. category: 'testing',
  232. fn: function (){
  233. var self=this;
  234. return smalltalk.withContext(function($ctx1) {
  235. return false;
  236. }, function($ctx1) {$ctx1.fill(self,"isInputRequired",{},smalltalk.HLCommand)})},
  237. args: [],
  238. source: "isInputRequired\x0a\x09^ false",
  239. messageSends: [],
  240. referencedClasses: []
  241. }),
  242. smalltalk.HLCommand);
  243. smalltalk.addMethod(
  244. smalltalk.method({
  245. selector: "key",
  246. category: 'accessing',
  247. fn: function (){
  248. var self=this;
  249. return smalltalk.withContext(function($ctx1) {
  250. var $1;
  251. $1=_st(_st(self)._class())._key();
  252. return $1;
  253. }, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLCommand)})},
  254. args: [],
  255. source: "key\x0a\x09^ self class key",
  256. messageSends: ["key", "class"],
  257. referencedClasses: []
  258. }),
  259. smalltalk.HLCommand);
  260. smalltalk.addMethod(
  261. smalltalk.method({
  262. selector: "keyCode",
  263. category: 'accessing',
  264. fn: function (){
  265. var self=this;
  266. return smalltalk.withContext(function($ctx1) {
  267. var $1;
  268. $1=_st(_st(_st(self)._key())._asUppercase())._charCodeAt_((1));
  269. return $1;
  270. }, function($ctx1) {$ctx1.fill(self,"keyCode",{},smalltalk.HLCommand)})},
  271. args: [],
  272. source: "keyCode\x0a\x09^ self key asUppercase charCodeAt: 1",
  273. messageSends: ["charCodeAt:", "asUppercase", "key"],
  274. referencedClasses: []
  275. }),
  276. smalltalk.HLCommand);
  277. smalltalk.addMethod(
  278. smalltalk.method({
  279. selector: "label",
  280. category: 'accessing',
  281. fn: function (){
  282. var self=this;
  283. return smalltalk.withContext(function($ctx1) {
  284. var $1;
  285. $1=_st(_st(self)._class())._label();
  286. return $1;
  287. }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLCommand)})},
  288. args: [],
  289. source: "label\x0a\x09^ self class label",
  290. messageSends: ["label", "class"],
  291. referencedClasses: []
  292. }),
  293. smalltalk.HLCommand);
  294. smalltalk.addMethod(
  295. smalltalk.method({
  296. selector: "menuLabel",
  297. category: 'accessing',
  298. fn: function (){
  299. var self=this;
  300. return smalltalk.withContext(function($ctx1) {
  301. var $1;
  302. $1=_st(_st(self)._class())._menuLabel();
  303. return $1;
  304. }, function($ctx1) {$ctx1.fill(self,"menuLabel",{},smalltalk.HLCommand)})},
  305. args: [],
  306. source: "menuLabel\x0a\x09^ self class menuLabel",
  307. messageSends: ["menuLabel", "class"],
  308. referencedClasses: []
  309. }),
  310. smalltalk.HLCommand);
  311. smalltalk.addMethod(
  312. smalltalk.method({
  313. selector: "registerOn:",
  314. category: 'registration',
  315. fn: function (aBinding){
  316. var self=this;
  317. return smalltalk.withContext(function($ctx1) {
  318. var $1;
  319. $1=_st(aBinding)._add_(_st(self)._asBinding());
  320. return $1;
  321. }, function($ctx1) {$ctx1.fill(self,"registerOn:",{aBinding:aBinding},smalltalk.HLCommand)})},
  322. args: ["aBinding"],
  323. source: "registerOn: aBinding\x0a\x09^ aBinding add: self asBinding",
  324. messageSends: ["add:", "asBinding"],
  325. referencedClasses: []
  326. }),
  327. smalltalk.HLCommand);
  328. smalltalk.addMethod(
  329. smalltalk.method({
  330. selector: "concreteClasses",
  331. category: 'registration',
  332. fn: function (){
  333. var self=this;
  334. var classes;
  335. function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
  336. return smalltalk.withContext(function($ctx1) {
  337. var $1,$2;
  338. classes=_st($OrderedCollection())._new();
  339. $1=_st(self)._isConcrete();
  340. if(smalltalk.assert($1)){
  341. _st(classes)._add_(self);
  342. };
  343. _st(_st(self)._subclasses())._do_((function(each){
  344. return smalltalk.withContext(function($ctx2) {
  345. return _st(classes)._addAll_(_st(each)._concreteClasses());
  346. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
  347. $2=classes;
  348. return $2;
  349. }, function($ctx1) {$ctx1.fill(self,"concreteClasses",{classes:classes},smalltalk.HLCommand.klass)})},
  350. args: [],
  351. 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",
  352. messageSends: ["new", "ifTrue:", "add:", "isConcrete", "do:", "addAll:", "concreteClasses", "subclasses"],
  353. referencedClasses: ["OrderedCollection"]
  354. }),
  355. smalltalk.HLCommand.klass);
  356. smalltalk.addMethod(
  357. smalltalk.method({
  358. selector: "documentation",
  359. category: 'accessing',
  360. fn: function (){
  361. var self=this;
  362. return smalltalk.withContext(function($ctx1) {
  363. return "";
  364. }, function($ctx1) {$ctx1.fill(self,"documentation",{},smalltalk.HLCommand.klass)})},
  365. args: [],
  366. source: "documentation\x0a\x09^ ''",
  367. messageSends: [],
  368. referencedClasses: []
  369. }),
  370. smalltalk.HLCommand.klass);
  371. smalltalk.addMethod(
  372. smalltalk.method({
  373. selector: "isConcrete",
  374. category: 'testing',
  375. fn: function (){
  376. var self=this;
  377. return smalltalk.withContext(function($ctx1) {
  378. var $1;
  379. $1=_st(_st(self)._key())._notNil();
  380. return $1;
  381. }, function($ctx1) {$ctx1.fill(self,"isConcrete",{},smalltalk.HLCommand.klass)})},
  382. args: [],
  383. source: "isConcrete\x0a\x09^ self key notNil",
  384. messageSends: ["notNil", "key"],
  385. referencedClasses: []
  386. }),
  387. smalltalk.HLCommand.klass);
  388. smalltalk.addMethod(
  389. smalltalk.method({
  390. selector: "isValidFor:",
  391. category: 'testing',
  392. fn: function (aModel){
  393. var self=this;
  394. return smalltalk.withContext(function($ctx1) {
  395. return false;
  396. }, function($ctx1) {$ctx1.fill(self,"isValidFor:",{aModel:aModel},smalltalk.HLCommand.klass)})},
  397. args: ["aModel"],
  398. source: "isValidFor: aModel\x0a\x09^ false",
  399. messageSends: [],
  400. referencedClasses: []
  401. }),
  402. smalltalk.HLCommand.klass);
  403. smalltalk.addMethod(
  404. smalltalk.method({
  405. selector: "key",
  406. category: 'accessing',
  407. fn: function (){
  408. var self=this;
  409. return smalltalk.withContext(function($ctx1) {
  410. return nil;
  411. }, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLCommand.klass)})},
  412. args: [],
  413. source: "key\x0a\x09\x22Answer a single character string or nil if no key\x22\x0a\x09\x0a\x09^ nil",
  414. messageSends: [],
  415. referencedClasses: []
  416. }),
  417. smalltalk.HLCommand.klass);
  418. smalltalk.addMethod(
  419. smalltalk.method({
  420. selector: "label",
  421. category: 'accessing',
  422. fn: function (){
  423. var self=this;
  424. return smalltalk.withContext(function($ctx1) {
  425. return "";
  426. }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLCommand.klass)})},
  427. args: [],
  428. source: "label\x0a\x09^ ''",
  429. messageSends: [],
  430. referencedClasses: []
  431. }),
  432. smalltalk.HLCommand.klass);
  433. smalltalk.addMethod(
  434. smalltalk.method({
  435. selector: "menuLabel",
  436. category: 'accessing',
  437. fn: function (){
  438. var self=this;
  439. return smalltalk.withContext(function($ctx1) {
  440. var $1;
  441. $1=_st(self)._label();
  442. return $1;
  443. }, function($ctx1) {$ctx1.fill(self,"menuLabel",{},smalltalk.HLCommand.klass)})},
  444. args: [],
  445. source: "menuLabel\x0a\x09^ self label",
  446. messageSends: ["label"],
  447. referencedClasses: []
  448. }),
  449. smalltalk.HLCommand.klass);
  450. smalltalk.addMethod(
  451. smalltalk.method({
  452. selector: "registerConcreteClassesOn:",
  453. category: 'accessing',
  454. fn: function (aBinding){
  455. var self=this;
  456. var newBinding;
  457. return smalltalk.withContext(function($ctx1) {
  458. var $1;
  459. $1=_st(self)._isConcrete();
  460. if(smalltalk.assert($1)){
  461. newBinding=_st(self)._registerOn_(aBinding);
  462. newBinding;
  463. } else {
  464. newBinding=aBinding;
  465. newBinding;
  466. };
  467. _st(_st(self)._subclasses())._do_((function(each){
  468. return smalltalk.withContext(function($ctx2) {
  469. return _st(each)._registerConcreteClassesOn_(newBinding);
  470. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
  471. return self}, function($ctx1) {$ctx1.fill(self,"registerConcreteClassesOn:",{aBinding:aBinding,newBinding:newBinding},smalltalk.HLCommand.klass)})},
  472. args: ["aBinding"],
  473. 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 ]",
  474. messageSends: ["ifTrue:ifFalse:", "registerOn:", "isConcrete", "do:", "registerConcreteClassesOn:", "subclasses"],
  475. referencedClasses: []
  476. }),
  477. smalltalk.HLCommand.klass);
  478. smalltalk.addMethod(
  479. smalltalk.method({
  480. selector: "registerOn:",
  481. category: 'registration',
  482. fn: function (aBinding){
  483. var self=this;
  484. return smalltalk.withContext(function($ctx1) {
  485. var $1;
  486. $1=_st(_st(self)._new())._registerOn_(aBinding);
  487. return $1;
  488. }, function($ctx1) {$ctx1.fill(self,"registerOn:",{aBinding:aBinding},smalltalk.HLCommand.klass)})},
  489. args: ["aBinding"],
  490. source: "registerOn: aBinding\x0a\x09^ self new registerOn: aBinding",
  491. messageSends: ["registerOn:", "new"],
  492. referencedClasses: []
  493. }),
  494. smalltalk.HLCommand.klass);
  495. smalltalk.addClass('HLCloseTabCommand', smalltalk.HLCommand, [], 'Helios-Commands-Core');
  496. smalltalk.addMethod(
  497. smalltalk.method({
  498. selector: "execute",
  499. category: 'executing',
  500. fn: function (){
  501. var self=this;
  502. function $HLManager(){return smalltalk.HLManager||(typeof HLManager=="undefined"?nil:HLManager)}
  503. return smalltalk.withContext(function($ctx1) {
  504. _st(_st($HLManager())._current())._removeActiveTab();
  505. return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLCloseTabCommand)})},
  506. args: [],
  507. source: "execute\x0a\x09HLManager current removeActiveTab",
  508. messageSends: ["removeActiveTab", "current"],
  509. referencedClasses: ["HLManager"]
  510. }),
  511. smalltalk.HLCloseTabCommand);
  512. smalltalk.addMethod(
  513. smalltalk.method({
  514. selector: "key",
  515. category: 'accessing',
  516. fn: function (){
  517. var self=this;
  518. return smalltalk.withContext(function($ctx1) {
  519. return "w";
  520. }, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLCloseTabCommand.klass)})},
  521. args: [],
  522. source: "key\x0a\x09^ 'w'",
  523. messageSends: [],
  524. referencedClasses: []
  525. }),
  526. smalltalk.HLCloseTabCommand.klass);
  527. smalltalk.addMethod(
  528. smalltalk.method({
  529. selector: "label",
  530. category: 'accessing',
  531. fn: function (){
  532. var self=this;
  533. return smalltalk.withContext(function($ctx1) {
  534. return "Close tab";
  535. }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLCloseTabCommand.klass)})},
  536. args: [],
  537. source: "label\x0a\x09^ 'Close tab'",
  538. messageSends: [],
  539. referencedClasses: []
  540. }),
  541. smalltalk.HLCloseTabCommand.klass);
  542. smalltalk.addClass('HLModelCommand', smalltalk.HLCommand, ['model'], 'Helios-Commands-Core');
  543. smalltalk.addMethod(
  544. smalltalk.method({
  545. selector: "model",
  546. category: 'accessing',
  547. fn: function (){
  548. var self=this;
  549. return smalltalk.withContext(function($ctx1) {
  550. var $1;
  551. $1=self["@model"];
  552. return $1;
  553. }, function($ctx1) {$ctx1.fill(self,"model",{},smalltalk.HLModelCommand)})},
  554. args: [],
  555. source: "model\x0a\x09^ model",
  556. messageSends: [],
  557. referencedClasses: []
  558. }),
  559. smalltalk.HLModelCommand);
  560. smalltalk.addMethod(
  561. smalltalk.method({
  562. selector: "model:",
  563. category: 'accessing',
  564. fn: function (aModel){
  565. var self=this;
  566. return smalltalk.withContext(function($ctx1) {
  567. self["@model"]=aModel;
  568. return self}, function($ctx1) {$ctx1.fill(self,"model:",{aModel:aModel},smalltalk.HLModelCommand)})},
  569. args: ["aModel"],
  570. source: "model: aModel\x0a\x09model := aModel",
  571. messageSends: [],
  572. referencedClasses: []
  573. }),
  574. smalltalk.HLModelCommand);
  575. smalltalk.addMethod(
  576. smalltalk.method({
  577. selector: "for:",
  578. category: 'instance creation',
  579. fn: function (aModel){
  580. var self=this;
  581. return smalltalk.withContext(function($ctx1) {
  582. var $1;
  583. $1=_st(self)._new();
  584. return $1;
  585. }, function($ctx1) {$ctx1.fill(self,"for:",{aModel:aModel},smalltalk.HLModelCommand.klass)})},
  586. args: ["aModel"],
  587. source: "for: aModel\x0a\x09^ self new",
  588. messageSends: ["new"],
  589. referencedClasses: []
  590. }),
  591. smalltalk.HLModelCommand.klass);
  592. smalltalk.addMethod(
  593. smalltalk.method({
  594. selector: "registerConcreteClassesOn:for:",
  595. category: 'registration',
  596. fn: function (aBinding,aModel){
  597. var self=this;
  598. var newBinding;
  599. return smalltalk.withContext(function($ctx1) {
  600. var $1;
  601. $1=_st(self)._isConcrete();
  602. if(smalltalk.assert($1)){
  603. newBinding=_st(self)._registerOn_for_(aBinding,aModel);
  604. newBinding;
  605. } else {
  606. newBinding=aBinding;
  607. newBinding;
  608. };
  609. _st(_st(self)._subclasses())._do_((function(each){
  610. return smalltalk.withContext(function($ctx2) {
  611. return _st(each)._registerConcreteClassesOn_for_(newBinding,aModel);
  612. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
  613. return self}, function($ctx1) {$ctx1.fill(self,"registerConcreteClassesOn:for:",{aBinding:aBinding,aModel:aModel,newBinding:newBinding},smalltalk.HLModelCommand.klass)})},
  614. args: ["aBinding", "aModel"],
  615. source: "registerConcreteClassesOn: aBinding for: aModel\x0a\x09| newBinding |\x0a\x09\x0a\x09self isConcrete\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 ]",
  616. messageSends: ["ifTrue:ifFalse:", "registerOn:for:", "isConcrete", "do:", "registerConcreteClassesOn:for:", "subclasses"],
  617. referencedClasses: []
  618. }),
  619. smalltalk.HLModelCommand.klass);
  620. smalltalk.addMethod(
  621. smalltalk.method({
  622. selector: "registerOn:for:",
  623. category: 'registration',
  624. fn: function (aBinding,aModel){
  625. var self=this;
  626. return smalltalk.withContext(function($ctx1) {
  627. var $1;
  628. $1=_st(_st(self)._for_(aModel))._registerOn_(aBinding);
  629. return $1;
  630. }, function($ctx1) {$ctx1.fill(self,"registerOn:for:",{aBinding:aBinding,aModel:aModel},smalltalk.HLModelCommand.klass)})},
  631. args: ["aBinding", "aModel"],
  632. source: "registerOn: aBinding for: aModel\x0a\x09^ (self for: aModel) registerOn: aBinding",
  633. messageSends: ["registerOn:", "for:"],
  634. referencedClasses: []
  635. }),
  636. smalltalk.HLModelCommand.klass);
  637. smalltalk.addClass('HLOpenCommand', smalltalk.HLCommand, [], 'Helios-Commands-Core');
  638. smalltalk.addMethod(
  639. smalltalk.method({
  640. selector: "key",
  641. category: 'accessing',
  642. fn: function (){
  643. var self=this;
  644. return smalltalk.withContext(function($ctx1) {
  645. return "o";
  646. }, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLOpenCommand.klass)})},
  647. args: [],
  648. source: "key\x0a\x09^ 'o'",
  649. messageSends: [],
  650. referencedClasses: []
  651. }),
  652. smalltalk.HLOpenCommand.klass);
  653. smalltalk.addMethod(
  654. smalltalk.method({
  655. selector: "label",
  656. category: 'accessing',
  657. fn: function (){
  658. var self=this;
  659. return smalltalk.withContext(function($ctx1) {
  660. return "Open";
  661. }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLOpenCommand.klass)})},
  662. args: [],
  663. source: "label\x0a\x09^ 'Open'",
  664. messageSends: [],
  665. referencedClasses: []
  666. }),
  667. smalltalk.HLOpenCommand.klass);
  668. smalltalk.addClass('HLOpenBrowserCommand', smalltalk.HLOpenCommand, [], 'Helios-Commands-Core');
  669. smalltalk.addMethod(
  670. smalltalk.method({
  671. selector: "execute",
  672. category: 'executing',
  673. fn: function (){
  674. var self=this;
  675. function $HLBrowser(){return smalltalk.HLBrowser||(typeof HLBrowser=="undefined"?nil:HLBrowser)}
  676. return smalltalk.withContext(function($ctx1) {
  677. var $1;
  678. $1=_st($HLBrowser())._openAsTab();
  679. return $1;
  680. }, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLOpenBrowserCommand)})},
  681. args: [],
  682. source: "execute\x0a\x09^ HLBrowser openAsTab",
  683. messageSends: ["openAsTab"],
  684. referencedClasses: ["HLBrowser"]
  685. }),
  686. smalltalk.HLOpenBrowserCommand);
  687. smalltalk.addMethod(
  688. smalltalk.method({
  689. selector: "key",
  690. category: 'accessing',
  691. fn: function (){
  692. var self=this;
  693. return smalltalk.withContext(function($ctx1) {
  694. return "b";
  695. }, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLOpenBrowserCommand.klass)})},
  696. args: [],
  697. source: "key\x0a\x09^ 'b'",
  698. messageSends: [],
  699. referencedClasses: []
  700. }),
  701. smalltalk.HLOpenBrowserCommand.klass);
  702. smalltalk.addMethod(
  703. smalltalk.method({
  704. selector: "label",
  705. category: 'accessing',
  706. fn: function (){
  707. var self=this;
  708. return smalltalk.withContext(function($ctx1) {
  709. return "Browser";
  710. }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLOpenBrowserCommand.klass)})},
  711. args: [],
  712. source: "label\x0a\x09^ 'Browser'",
  713. messageSends: [],
  714. referencedClasses: []
  715. }),
  716. smalltalk.HLOpenBrowserCommand.klass);
  717. smalltalk.addClass('HLOpenTranscriptCommand', smalltalk.HLOpenCommand, [], 'Helios-Commands-Core');
  718. smalltalk.addMethod(
  719. smalltalk.method({
  720. selector: "execute",
  721. category: 'executing',
  722. fn: function (){
  723. var self=this;
  724. function $HLTranscript(){return smalltalk.HLTranscript||(typeof HLTranscript=="undefined"?nil:HLTranscript)}
  725. return smalltalk.withContext(function($ctx1) {
  726. var $1;
  727. $1=_st($HLTranscript())._openAsTab();
  728. return $1;
  729. }, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLOpenTranscriptCommand)})},
  730. args: [],
  731. source: "execute\x0a\x09^ HLTranscript openAsTab",
  732. messageSends: ["openAsTab"],
  733. referencedClasses: ["HLTranscript"]
  734. }),
  735. smalltalk.HLOpenTranscriptCommand);
  736. smalltalk.addMethod(
  737. smalltalk.method({
  738. selector: "key",
  739. category: 'accessing',
  740. fn: function (){
  741. var self=this;
  742. return smalltalk.withContext(function($ctx1) {
  743. return "t";
  744. }, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLOpenTranscriptCommand.klass)})},
  745. args: [],
  746. source: "key\x0a\x09^ 't'",
  747. messageSends: [],
  748. referencedClasses: []
  749. }),
  750. smalltalk.HLOpenTranscriptCommand.klass);
  751. smalltalk.addMethod(
  752. smalltalk.method({
  753. selector: "label",
  754. category: 'accessing',
  755. fn: function (){
  756. var self=this;
  757. return smalltalk.withContext(function($ctx1) {
  758. return "Transcript";
  759. }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLOpenTranscriptCommand.klass)})},
  760. args: [],
  761. source: "label\x0a\x09^ 'Transcript'",
  762. messageSends: [],
  763. referencedClasses: []
  764. }),
  765. smalltalk.HLOpenTranscriptCommand.klass);
  766. smalltalk.addClass('HLOpenWorkspaceCommand', smalltalk.HLOpenCommand, [], 'Helios-Commands-Core');
  767. smalltalk.addMethod(
  768. smalltalk.method({
  769. selector: "execute",
  770. category: 'executing',
  771. fn: function (){
  772. var self=this;
  773. function $HLWorkspace(){return smalltalk.HLWorkspace||(typeof HLWorkspace=="undefined"?nil:HLWorkspace)}
  774. return smalltalk.withContext(function($ctx1) {
  775. var $1;
  776. $1=_st($HLWorkspace())._openAsTab();
  777. return $1;
  778. }, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLOpenWorkspaceCommand)})},
  779. args: [],
  780. source: "execute\x0a\x09^ HLWorkspace openAsTab",
  781. messageSends: ["openAsTab"],
  782. referencedClasses: ["HLWorkspace"]
  783. }),
  784. smalltalk.HLOpenWorkspaceCommand);
  785. smalltalk.addMethod(
  786. smalltalk.method({
  787. selector: "key",
  788. category: 'accessing',
  789. fn: function (){
  790. var self=this;
  791. return smalltalk.withContext(function($ctx1) {
  792. return "w";
  793. }, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLOpenWorkspaceCommand.klass)})},
  794. args: [],
  795. source: "key\x0a\x09^ 'w'",
  796. messageSends: [],
  797. referencedClasses: []
  798. }),
  799. smalltalk.HLOpenWorkspaceCommand.klass);
  800. smalltalk.addMethod(
  801. smalltalk.method({
  802. selector: "label",
  803. category: 'accessing',
  804. fn: function (){
  805. var self=this;
  806. return smalltalk.withContext(function($ctx1) {
  807. return "Workspace";
  808. }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLOpenWorkspaceCommand.klass)})},
  809. args: [],
  810. source: "label\x0a\x09^ 'Workspace'",
  811. messageSends: [],
  812. referencedClasses: []
  813. }),
  814. smalltalk.HLOpenWorkspaceCommand.klass);
  815. smalltalk.addClass('HLViewCommand', smalltalk.HLCommand, [], 'Helios-Commands-Core');
  816. smalltalk.addMethod(
  817. smalltalk.method({
  818. selector: "label",
  819. category: 'accessing',
  820. fn: function (){
  821. var self=this;
  822. return smalltalk.withContext(function($ctx1) {
  823. return "View";
  824. }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLViewCommand.klass)})},
  825. args: [],
  826. source: "label\x0a\x09^ 'View'",
  827. messageSends: [],
  828. referencedClasses: []
  829. }),
  830. smalltalk.HLViewCommand.klass);