2
0

Helios-Announcements.st 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  1. Smalltalk createPackage: 'Helios-Announcements'!
  2. Object subclass: #HLAboutToChange
  3. instanceVariableNames: 'actionBlock'
  4. package: 'Helios-Announcements'!
  5. !HLAboutToChange commentStamp!
  6. I am announced whenever a change of context is about to be made, and unsaved changes could be lost.
  7. I am used within `HLModel` to handle such user actions. See `HLModel >> withChangesDo:`.!
  8. !HLAboutToChange methodsFor: 'accessing'!
  9. actionBlock
  10. ^ actionBlock
  11. !
  12. actionBlock: aBlock
  13. actionBlock := aBlock
  14. ! !
  15. Object subclass: #HLAnnouncement
  16. instanceVariableNames: ''
  17. package: 'Helios-Announcements'!
  18. !HLAnnouncement commentStamp!
  19. I am the root of the announcement class hierarchy used in the Helios UI.!
  20. !HLAnnouncement class methodsFor: 'helios'!
  21. heliosClass
  22. ^ 'announcement'
  23. ! !
  24. HLAnnouncement subclass: #HLCodeHandled
  25. instanceVariableNames: 'code'
  26. package: 'Helios-Announcements'!
  27. !HLCodeHandled commentStamp!
  28. I am the root class of announcements emitted by `HLCodeWidget`s!
  29. !HLCodeHandled methodsFor: 'accessing'!
  30. code
  31. ^ code
  32. !
  33. code: aModel
  34. code := aModel
  35. ! !
  36. !HLCodeHandled class methodsFor: 'actions'!
  37. on: aCodeModel
  38. ^ self new
  39. code: aCodeModel;
  40. yourself
  41. ! !
  42. HLCodeHandled subclass: #HLDoItExecuted
  43. instanceVariableNames: ''
  44. package: 'Helios-Announcements'!
  45. !HLDoItExecuted commentStamp!
  46. I am emitted by a `HLCodeWidget` after a DoIt has been executed.!
  47. HLAnnouncement subclass: #HLDebuggerAnnouncement
  48. instanceVariableNames: 'context'
  49. package: 'Helios-Announcements'!
  50. !HLDebuggerAnnouncement commentStamp!
  51. I am the root class of debugger announcements, and hold onto the debugged `context`.!
  52. !HLDebuggerAnnouncement methodsFor: 'accessing'!
  53. context
  54. ^ context
  55. !
  56. context: aContext
  57. context := aContext
  58. ! !
  59. HLDebuggerAnnouncement subclass: #HLDebuggerContextSelected
  60. instanceVariableNames: ''
  61. package: 'Helios-Announcements'!
  62. !HLDebuggerContextSelected commentStamp!
  63. I am announced when a new context is selected in a debugger, to update the user interface.!
  64. !HLDebuggerContextSelected methodsFor: 'accessing'!
  65. context
  66. ^ context
  67. !
  68. context: aContext
  69. context := aContext
  70. ! !
  71. HLDebuggerAnnouncement subclass: #HLDebuggerProceeded
  72. instanceVariableNames: ''
  73. package: 'Helios-Announcements'!
  74. HLDebuggerAnnouncement subclass: #HLDebuggerStepped
  75. instanceVariableNames: ''
  76. package: 'Helios-Announcements'!
  77. HLDebuggerAnnouncement subclass: #HLDebuggerWhere
  78. instanceVariableNames: ''
  79. package: 'Helios-Announcements'!
  80. HLAnnouncement subclass: #HLDiveRequested
  81. instanceVariableNames: ''
  82. package: 'Helios-Announcements'!
  83. HLAnnouncement subclass: #HLEditComment
  84. instanceVariableNames: ''
  85. package: 'Helios-Announcements'!
  86. HLAnnouncement subclass: #HLErrorRaised
  87. instanceVariableNames: 'error'
  88. package: 'Helios-Announcements'!
  89. !HLErrorRaised methodsFor: 'accessing'!
  90. error
  91. ^ error
  92. !
  93. error: anError
  94. error := anError
  95. ! !
  96. HLErrorRaised subclass: #HLCompileErrorRaised
  97. instanceVariableNames: ''
  98. package: 'Helios-Announcements'!
  99. HLErrorRaised subclass: #HLParseErrorRaised
  100. instanceVariableNames: 'line column message'
  101. package: 'Helios-Announcements'!
  102. !HLParseErrorRaised methodsFor: 'accessing'!
  103. column
  104. ^ column
  105. !
  106. column: anInteger
  107. column := anInteger
  108. !
  109. line
  110. ^ line
  111. !
  112. line: anInteger
  113. line := anInteger
  114. !
  115. message
  116. ^ message
  117. !
  118. message: aString
  119. message := aString
  120. ! !
  121. HLErrorRaised subclass: #HLUnknownVariableErrorRaised
  122. instanceVariableNames: ''
  123. package: 'Helios-Announcements'!
  124. HLAnnouncement subclass: #HLFocusRequested
  125. instanceVariableNames: ''
  126. package: 'Helios-Announcements'!
  127. HLFocusRequested subclass: #HLClassesFocusRequested
  128. instanceVariableNames: ''
  129. package: 'Helios-Announcements'!
  130. HLFocusRequested subclass: #HLDocumentationFocusRequested
  131. instanceVariableNames: ''
  132. package: 'Helios-Announcements'!
  133. HLFocusRequested subclass: #HLMethodsFocusRequested
  134. instanceVariableNames: ''
  135. package: 'Helios-Announcements'!
  136. HLFocusRequested subclass: #HLPackagesFocusRequested
  137. instanceVariableNames: ''
  138. package: 'Helios-Announcements'!
  139. HLFocusRequested subclass: #HLProtocolsFocusRequested
  140. instanceVariableNames: ''
  141. package: 'Helios-Announcements'!
  142. HLFocusRequested subclass: #HLSourceCodeFocusRequested
  143. instanceVariableNames: ''
  144. package: 'Helios-Announcements'!
  145. HLAnnouncement subclass: #HLInstVarAdded
  146. instanceVariableNames: 'theClass variableName'
  147. package: 'Helios-Announcements'!
  148. !HLInstVarAdded methodsFor: 'accessing'!
  149. theClass
  150. ^ theClass
  151. !
  152. theClass: aClass
  153. theClass := aClass
  154. !
  155. variableName
  156. ^ variableName
  157. !
  158. variableName: aString
  159. variableName := aString
  160. ! !
  161. HLAnnouncement subclass: #HLItemSelected
  162. instanceVariableNames: 'item'
  163. package: 'Helios-Announcements'!
  164. !HLItemSelected methodsFor: 'accessing'!
  165. item
  166. ^ item
  167. !
  168. item: anObject
  169. item := anObject
  170. ! !
  171. !HLItemSelected class methodsFor: 'instance creation'!
  172. on: anItem
  173. ^ self new
  174. item: anItem;
  175. yourself
  176. ! !
  177. HLItemSelected subclass: #HLClassSelected
  178. instanceVariableNames: ''
  179. package: 'Helios-Announcements'!
  180. HLItemSelected subclass: #HLInstanceVariableSelected
  181. instanceVariableNames: ''
  182. package: 'Helios-Announcements'!
  183. HLItemSelected subclass: #HLMethodSelected
  184. instanceVariableNames: ''
  185. package: 'Helios-Announcements'!
  186. HLItemSelected subclass: #HLPackageSelected
  187. instanceVariableNames: ''
  188. package: 'Helios-Announcements'!
  189. HLItemSelected subclass: #HLProtocolSelected
  190. instanceVariableNames: ''
  191. package: 'Helios-Announcements'!
  192. HLAnnouncement subclass: #HLItemUnselected
  193. instanceVariableNames: 'item'
  194. package: 'Helios-Announcements'!
  195. !HLItemUnselected methodsFor: 'accessing'!
  196. item
  197. ^ item
  198. !
  199. item: anObject
  200. item := anObject
  201. ! !
  202. !HLItemUnselected class methodsFor: 'instance creation'!
  203. on: anItem
  204. ^ self new
  205. item: anItem;
  206. yourself
  207. ! !
  208. HLItemUnselected subclass: #HLClassUnselected
  209. instanceVariableNames: ''
  210. package: 'Helios-Announcements'!
  211. HLItemUnselected subclass: #HLPackageUnselected
  212. instanceVariableNames: ''
  213. package: 'Helios-Announcements'!
  214. HLAnnouncement subclass: #HLRunTests
  215. instanceVariableNames: 'testSuiteRunner'
  216. package: 'Helios-Announcements'!
  217. !HLRunTests methodsFor: 'accessing'!
  218. testSuiteRunner
  219. ^ testSuiteRunner
  220. !
  221. testSuiteRunner: anObject
  222. testSuiteRunner := anObject
  223. ! !
  224. !HLRunTests class methodsFor: 'instance creation'!
  225. on: aTestSuiteRunner
  226. ^self new
  227. testSuiteRunner: aTestSuiteRunner;
  228. yourself
  229. ! !
  230. HLAnnouncement subclass: #HLSaveSourceCode
  231. instanceVariableNames: ''
  232. package: 'Helios-Announcements'!
  233. HLAnnouncement subclass: #HLSearchReferences
  234. instanceVariableNames: 'searchString'
  235. package: 'Helios-Announcements'!
  236. !HLSearchReferences methodsFor: 'accessing'!
  237. searchString
  238. ^ searchString
  239. !
  240. searchString: aString
  241. searchString := aString
  242. ! !
  243. HLAnnouncement subclass: #HLShowCommentToggled
  244. instanceVariableNames: ''
  245. package: 'Helios-Announcements'!
  246. HLAnnouncement subclass: #HLShowInstanceToggled
  247. instanceVariableNames: ''
  248. package: 'Helios-Announcements'!
  249. HLAnnouncement subclass: #HLShowTemplate
  250. instanceVariableNames: 'template'
  251. package: 'Helios-Announcements'!
  252. !HLShowTemplate methodsFor: 'accessing'!
  253. template
  254. ^ template
  255. !
  256. template: aString
  257. template := aString
  258. ! !
  259. HLAnnouncement subclass: #HLSourceCodeSaved
  260. instanceVariableNames: ''
  261. package: 'Helios-Announcements'!
  262. HLAnnouncement subclass: #HLTabLabelChanged
  263. instanceVariableNames: 'label widget'
  264. package: 'Helios-Announcements'!
  265. !HLTabLabelChanged methodsFor: 'accessing'!
  266. label
  267. ^ label
  268. !
  269. label: aString
  270. label := aString
  271. !
  272. widget
  273. ^ widget
  274. !
  275. widget: aWidget
  276. widget := aWidget
  277. ! !