Helios-Commands-Browser.st 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692
  1. Smalltalk current createPackage: 'Helios-Commands-Browser'!
  2. HLModelCommand subclass: #HLBrowserCommand
  3. instanceVariableNames: ''
  4. package: 'Helios-Commands-Browser'!
  5. !HLBrowserCommand methodsFor: 'accessing'!
  6. category
  7. ^ nil
  8. ! !
  9. !HLBrowserCommand class methodsFor: 'instance creation'!
  10. for: aBrowserModel
  11. ^ self new
  12. model: aBrowserModel;
  13. yourself
  14. ! !
  15. HLBrowserCommand subclass: #HLBrowserGoToCommand
  16. instanceVariableNames: ''
  17. package: 'Helios-Commands-Browser'!
  18. !HLBrowserGoToCommand class methodsFor: 'accessing'!
  19. key
  20. ^ 'g'
  21. !
  22. label
  23. ^ 'Go to'
  24. ! !
  25. HLBrowserGoToCommand subclass: #HLGoToClassesCommand
  26. instanceVariableNames: ''
  27. package: 'Helios-Commands-Browser'!
  28. !HLGoToClassesCommand methodsFor: 'executing'!
  29. execute
  30. self model focusOnClasses
  31. ! !
  32. !HLGoToClassesCommand class methodsFor: 'accessing'!
  33. key
  34. ^ 'c'
  35. !
  36. label
  37. ^ 'Classes'
  38. ! !
  39. HLBrowserGoToCommand subclass: #HLGoToMethodsCommand
  40. instanceVariableNames: ''
  41. package: 'Helios-Commands-Browser'!
  42. !HLGoToMethodsCommand methodsFor: 'executing'!
  43. execute
  44. self model focusOnMethods
  45. ! !
  46. !HLGoToMethodsCommand class methodsFor: 'accessing'!
  47. key
  48. ^ 'm'
  49. !
  50. label
  51. ^ 'Methods'
  52. ! !
  53. HLBrowserGoToCommand subclass: #HLGoToPackagesCommand
  54. instanceVariableNames: ''
  55. package: 'Helios-Commands-Browser'!
  56. !HLGoToPackagesCommand methodsFor: 'executing'!
  57. execute
  58. self model focusOnPackages
  59. ! !
  60. !HLGoToPackagesCommand class methodsFor: 'accessing'!
  61. key
  62. ^ 'p'
  63. !
  64. label
  65. ^ 'Packages'
  66. ! !
  67. HLBrowserGoToCommand subclass: #HLGoToProtocolsCommand
  68. instanceVariableNames: ''
  69. package: 'Helios-Commands-Browser'!
  70. !HLGoToProtocolsCommand methodsFor: 'executing'!
  71. execute
  72. self model focusOnProtocols
  73. ! !
  74. !HLGoToProtocolsCommand class methodsFor: 'accessing'!
  75. key
  76. ^ 't'
  77. !
  78. label
  79. ^ 'Protocols'
  80. ! !
  81. HLBrowserGoToCommand subclass: #HLGoToSourceCodeCommand
  82. instanceVariableNames: ''
  83. package: 'Helios-Commands-Browser'!
  84. !HLGoToSourceCodeCommand methodsFor: 'executing'!
  85. execute
  86. self model focusOnSourceCode
  87. ! !
  88. !HLGoToSourceCodeCommand class methodsFor: 'accessing'!
  89. key
  90. ^ 's'
  91. !
  92. label
  93. ^ 'Source code'
  94. ! !
  95. HLBrowserCommand subclass: #HLCommitPackageCommand
  96. instanceVariableNames: ''
  97. package: 'Helios-Commands-Browser'!
  98. !HLCommitPackageCommand methodsFor: 'accessing'!
  99. category
  100. ^ 'Packages'
  101. ! !
  102. !HLCommitPackageCommand methodsFor: 'executing'!
  103. execute
  104. self model commitPackage
  105. ! !
  106. !HLCommitPackageCommand methodsFor: 'testing'!
  107. isActive
  108. ^ true
  109. " slf model isPackageDirty"
  110. ! !
  111. !HLCommitPackageCommand class methodsFor: 'accessing'!
  112. key
  113. ^ 'k'
  114. !
  115. label
  116. ^ 'Commit'
  117. ! !
  118. HLBrowserCommand subclass: #HLCopyCommand
  119. instanceVariableNames: ''
  120. package: 'Helios-Commands-Browser'!
  121. !HLCopyCommand class methodsFor: 'accessing'!
  122. key
  123. ^ 'c'
  124. !
  125. label
  126. ^ 'Copy'
  127. ! !
  128. HLCopyCommand subclass: #HLCopyClassCommand
  129. instanceVariableNames: ''
  130. package: 'Helios-Commands-Browser'!
  131. !HLCopyClassCommand methodsFor: 'accessing'!
  132. category
  133. ^ 'Classes'
  134. !
  135. displayLabel
  136. ^ 'New class name:'
  137. ! !
  138. !HLCopyClassCommand methodsFor: 'executing'!
  139. execute
  140. self model copyClassTo: self input
  141. ! !
  142. !HLCopyClassCommand methodsFor: 'testing'!
  143. isActive
  144. ^ self model selectedClass notNil
  145. !
  146. isInputRequired
  147. ^ true
  148. ! !
  149. !HLCopyClassCommand class methodsFor: 'accessing'!
  150. key
  151. ^ 'c'
  152. !
  153. label
  154. ^ 'Class'
  155. !
  156. menuLabel
  157. ^ 'Copy class...'
  158. ! !
  159. HLBrowserCommand subclass: #HLFindCommand
  160. instanceVariableNames: ''
  161. package: 'Helios-Commands-Browser'!
  162. !HLFindCommand class methodsFor: 'accessing'!
  163. key
  164. ^ 'f'
  165. !
  166. label
  167. ^ 'Find'
  168. ! !
  169. HLFindCommand subclass: #HLFindClassCommand
  170. instanceVariableNames: ''
  171. package: 'Helios-Commands-Browser'!
  172. !HLFindClassCommand methodsFor: 'accessing'!
  173. displayLabel
  174. ^ 'select a class'
  175. !
  176. inputCompletion
  177. ^ self model availableClassNames
  178. !
  179. inputLabel
  180. ^ 'Find a class'
  181. ! !
  182. !HLFindClassCommand methodsFor: 'executing'!
  183. execute
  184. self model openClassNamed: self input
  185. ! !
  186. !HLFindClassCommand methodsFor: 'testing'!
  187. isInputRequired
  188. ^ true
  189. ! !
  190. !HLFindClassCommand class methodsFor: 'accessing'!
  191. key
  192. ^ 'c'
  193. !
  194. label
  195. ^ 'Class'
  196. ! !
  197. HLBrowserCommand subclass: #HLMoveToCommand
  198. instanceVariableNames: ''
  199. package: 'Helios-Commands-Browser'!
  200. !HLMoveToCommand class methodsFor: 'accessing'!
  201. key
  202. ^ 'm'
  203. !
  204. label
  205. ^ 'Move'
  206. ! !
  207. HLMoveToCommand subclass: #HLMoveClassToCommand
  208. instanceVariableNames: ''
  209. package: 'Helios-Commands-Browser'!
  210. !HLMoveClassToCommand methodsFor: 'testing'!
  211. isActive
  212. ^ self model selectedClass notNil
  213. ! !
  214. !HLMoveClassToCommand class methodsFor: 'accessing'!
  215. key
  216. ^ 'c'
  217. !
  218. label
  219. ^ 'Class'
  220. ! !
  221. HLMoveClassToCommand subclass: #HLMoveClassToPackageCommand
  222. instanceVariableNames: ''
  223. package: 'Helios-Commands-Browser'!
  224. !HLMoveClassToPackageCommand methodsFor: 'accessing'!
  225. category
  226. ^ 'Classes'
  227. !
  228. displayLabel
  229. ^ 'select a package'
  230. !
  231. inputCompletion
  232. ^ self model availablePackageNames
  233. !
  234. inputLabel
  235. ^ 'Move class to package:'
  236. ! !
  237. !HLMoveClassToPackageCommand methodsFor: 'executing'!
  238. execute
  239. self model moveClassToPackage: self input
  240. ! !
  241. !HLMoveClassToPackageCommand methodsFor: 'testing'!
  242. isInputRequired
  243. ^ true
  244. ! !
  245. !HLMoveClassToPackageCommand class methodsFor: 'accessing'!
  246. key
  247. ^ 'p'
  248. !
  249. label
  250. ^ 'to package'
  251. !
  252. menuLabel
  253. ^ 'Move to package...'
  254. ! !
  255. HLMoveToCommand subclass: #HLMoveMethodToCommand
  256. instanceVariableNames: ''
  257. package: 'Helios-Commands-Browser'!
  258. !HLMoveMethodToCommand methodsFor: 'accessing'!
  259. category
  260. ^ 'Methods'
  261. ! !
  262. !HLMoveMethodToCommand methodsFor: 'testing'!
  263. isActive
  264. ^ self model selectedMethod notNil
  265. ! !
  266. !HLMoveMethodToCommand class methodsFor: 'accessing'!
  267. key
  268. ^ 'm'
  269. !
  270. label
  271. ^ 'Method'
  272. ! !
  273. HLMoveMethodToCommand subclass: #HLMoveMethodToClassCommand
  274. instanceVariableNames: ''
  275. package: 'Helios-Commands-Browser'!
  276. !HLMoveMethodToClassCommand methodsFor: 'accessing'!
  277. displayLabel
  278. ^ 'select a class'
  279. !
  280. inputCompletion
  281. ^ self model availableClassNames
  282. !
  283. inputLabel
  284. ^ 'Move method to class:'
  285. ! !
  286. !HLMoveMethodToClassCommand methodsFor: 'executing'!
  287. execute
  288. self model moveMethodToClass: self input
  289. ! !
  290. !HLMoveMethodToClassCommand methodsFor: 'testing'!
  291. isInputRequired
  292. ^ true
  293. ! !
  294. !HLMoveMethodToClassCommand class methodsFor: 'accessing'!
  295. key
  296. ^ 'c'
  297. !
  298. label
  299. ^ 'to class'
  300. !
  301. menuLabel
  302. ^ 'Move to class...'
  303. ! !
  304. HLMoveMethodToCommand subclass: #HLMoveMethodToProtocolCommand
  305. instanceVariableNames: ''
  306. package: 'Helios-Commands-Browser'!
  307. !HLMoveMethodToProtocolCommand methodsFor: 'accessing'!
  308. displayLabel
  309. ^ 'select a protocol'
  310. !
  311. inputCompletion
  312. ^ self model availableProtocols
  313. !
  314. inputLabel
  315. ^ 'Move method to a protocol:'
  316. ! !
  317. !HLMoveMethodToProtocolCommand methodsFor: 'executing'!
  318. execute
  319. self model moveMethodToProtocol: self input
  320. ! !
  321. !HLMoveMethodToProtocolCommand methodsFor: 'testing'!
  322. isInputRequired
  323. ^ true
  324. ! !
  325. !HLMoveMethodToProtocolCommand class methodsFor: 'accessing'!
  326. key
  327. ^ 't'
  328. !
  329. label
  330. ^ 'to protocol'
  331. !
  332. menuLabel
  333. ^ 'Move to protocol...'
  334. ! !
  335. HLBrowserCommand subclass: #HLRemoveCommand
  336. instanceVariableNames: ''
  337. package: 'Helios-Commands-Browser'!
  338. !HLRemoveCommand class methodsFor: 'accessing'!
  339. key
  340. ^ 'x'
  341. !
  342. label
  343. ^ 'Remove'
  344. ! !
  345. HLRemoveCommand subclass: #HLRemoveClassCommand
  346. instanceVariableNames: ''
  347. package: 'Helios-Commands-Browser'!
  348. !HLRemoveClassCommand methodsFor: 'accessing'!
  349. category
  350. ^ 'Classes'
  351. ! !
  352. !HLRemoveClassCommand methodsFor: 'executing'!
  353. execute
  354. self model removeClass
  355. ! !
  356. !HLRemoveClassCommand methodsFor: 'testing'!
  357. isActive
  358. ^ self model selectedClass notNil
  359. ! !
  360. !HLRemoveClassCommand class methodsFor: 'accessing'!
  361. key
  362. ^ 'c'
  363. !
  364. label
  365. ^ 'Class'
  366. !
  367. menuLabel
  368. ^ 'Remove class'
  369. ! !
  370. HLRemoveCommand subclass: #HLRemoveMethodCommand
  371. instanceVariableNames: ''
  372. package: 'Helios-Commands-Browser'!
  373. !HLRemoveMethodCommand methodsFor: 'accessing'!
  374. category
  375. ^ 'Methods'
  376. ! !
  377. !HLRemoveMethodCommand methodsFor: 'executing'!
  378. execute
  379. self model removeMethod
  380. ! !
  381. !HLRemoveMethodCommand methodsFor: 'testing'!
  382. isActive
  383. ^ self model selectedMethod notNil
  384. ! !
  385. !HLRemoveMethodCommand class methodsFor: 'accessing'!
  386. key
  387. ^ 'm'
  388. !
  389. label
  390. ^ 'Method'
  391. !
  392. menuLabel
  393. ^ 'Remove method'
  394. ! !
  395. HLBrowserCommand subclass: #HLRenameCommand
  396. instanceVariableNames: ''
  397. package: 'Helios-Commands-Browser'!
  398. !HLRenameCommand class methodsFor: 'accessing'!
  399. key
  400. ^ 'r'
  401. !
  402. label
  403. ^ 'Rename'
  404. ! !
  405. HLRenameCommand subclass: #HLRenameClassCommand
  406. instanceVariableNames: ''
  407. package: 'Helios-Commands-Browser'!
  408. !HLRenameClassCommand methodsFor: 'accessing'!
  409. category
  410. ^ 'Classes'
  411. !
  412. displayLabel
  413. ^ 'Rename class to:'
  414. ! !
  415. !HLRenameClassCommand methodsFor: 'executing'!
  416. execute
  417. self model renameClassTo: self input
  418. ! !
  419. !HLRenameClassCommand methodsFor: 'testing'!
  420. isActive
  421. ^ self model selectedClass notNil
  422. !
  423. isInputRequired
  424. ^ true
  425. ! !
  426. !HLRenameClassCommand class methodsFor: 'accessing'!
  427. key
  428. ^ 'c'
  429. !
  430. label
  431. ^ 'Class'
  432. !
  433. menuLabel
  434. ^ 'Rename class...'
  435. ! !
  436. HLBrowserCommand subclass: #HLToggleCommand
  437. instanceVariableNames: ''
  438. package: 'Helios-Commands-Browser'!
  439. !HLToggleCommand class methodsFor: 'accessing'!
  440. key
  441. ^ 't'
  442. !
  443. label
  444. ^ 'Toggle'
  445. ! !
  446. HLToggleCommand subclass: #HLToggleClassCommentCommand
  447. instanceVariableNames: ''
  448. package: 'Helios-Commands-Browser'!
  449. !HLToggleClassCommentCommand methodsFor: 'executing'!
  450. execute
  451. self model showComment: true
  452. ! !
  453. !HLToggleClassCommentCommand class methodsFor: 'accessing'!
  454. key
  455. ^ 'd'
  456. !
  457. label
  458. ^ 'Documentation'
  459. ! !
  460. HLToggleCommand subclass: #HLToggleClassSideCommand
  461. instanceVariableNames: ''
  462. package: 'Helios-Commands-Browser'!
  463. !HLToggleClassSideCommand methodsFor: 'executing'!
  464. execute
  465. self model showInstance: false
  466. ! !
  467. !HLToggleClassSideCommand class methodsFor: 'accessing'!
  468. key
  469. ^ 'c'
  470. !
  471. label
  472. ^ 'Class side'
  473. ! !
  474. HLToggleCommand subclass: #HLToggleInstanceSideCommand
  475. instanceVariableNames: ''
  476. package: 'Helios-Commands-Browser'!
  477. !HLToggleInstanceSideCommand methodsFor: 'executing'!
  478. execute
  479. self model showInstance: true
  480. ! !
  481. !HLToggleInstanceSideCommand class methodsFor: 'accessing'!
  482. key
  483. ^ 'i'
  484. !
  485. label
  486. ^ 'Instance side'
  487. ! !