Helios-Announcements.st 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  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: #HLSaveSourceCode
  193. instanceVariableNames: ''
  194. package: 'Helios-Announcements'!
  195. HLAnnouncement subclass: #HLSearchReferences
  196. instanceVariableNames: 'searchString'
  197. package: 'Helios-Announcements'!
  198. !HLSearchReferences methodsFor: 'accessing'!
  199. searchString
  200. ^ searchString
  201. !
  202. searchString: aString
  203. searchString := aString
  204. ! !
  205. HLAnnouncement subclass: #HLShowCommentToggled
  206. instanceVariableNames: ''
  207. package: 'Helios-Announcements'!
  208. HLAnnouncement subclass: #HLShowInstanceToggled
  209. instanceVariableNames: ''
  210. package: 'Helios-Announcements'!
  211. HLAnnouncement subclass: #HLShowTemplate
  212. instanceVariableNames: 'template'
  213. package: 'Helios-Announcements'!
  214. !HLShowTemplate methodsFor: 'accessing'!
  215. template
  216. ^ template
  217. !
  218. template: aString
  219. template := aString
  220. ! !
  221. HLAnnouncement subclass: #HLSourceCodeSaved
  222. instanceVariableNames: ''
  223. package: 'Helios-Announcements'!
  224. HLAnnouncement subclass: #HLTabLabelChanged
  225. instanceVariableNames: 'label widget'
  226. package: 'Helios-Announcements'!
  227. !HLTabLabelChanged methodsFor: 'accessing'!
  228. label
  229. ^ label
  230. !
  231. label: aString
  232. label := aString
  233. !
  234. widget
  235. ^ widget
  236. !
  237. widget: aWidget
  238. widget := aWidget
  239. ! !