Helios-Announcements.st 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  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: #HLDebuggerStepped
  72. instanceVariableNames: ''
  73. package: 'Helios-Announcements'!
  74. HLDebuggerAnnouncement subclass: #HLDebuggerWhere
  75. instanceVariableNames: ''
  76. package: 'Helios-Announcements'!
  77. HLAnnouncement subclass: #HLDiveRequested
  78. instanceVariableNames: ''
  79. package: 'Helios-Announcements'!
  80. HLAnnouncement subclass: #HLEditComment
  81. instanceVariableNames: ''
  82. package: 'Helios-Announcements'!
  83. HLAnnouncement subclass: #HLErrorRaised
  84. instanceVariableNames: 'error'
  85. package: 'Helios-Announcements'!
  86. !HLErrorRaised methodsFor: 'accessing'!
  87. error
  88. ^ error
  89. !
  90. error: anError
  91. error := anError
  92. ! !
  93. HLErrorRaised subclass: #HLCompileErrorRaised
  94. instanceVariableNames: ''
  95. package: 'Helios-Announcements'!
  96. HLErrorRaised subclass: #HLParseErrorRaised
  97. instanceVariableNames: 'line column message'
  98. package: 'Helios-Announcements'!
  99. !HLParseErrorRaised methodsFor: 'accessing'!
  100. column
  101. ^ column
  102. !
  103. column: anInteger
  104. column := anInteger
  105. !
  106. line
  107. ^ line
  108. !
  109. line: anInteger
  110. line := anInteger
  111. !
  112. message
  113. ^ message
  114. !
  115. message: aString
  116. message := aString
  117. ! !
  118. HLErrorRaised subclass: #HLUnknownVariableErrorRaised
  119. instanceVariableNames: ''
  120. package: 'Helios-Announcements'!
  121. HLAnnouncement subclass: #HLFocusRequested
  122. instanceVariableNames: ''
  123. package: 'Helios-Announcements'!
  124. HLFocusRequested subclass: #HLClassesFocusRequested
  125. instanceVariableNames: ''
  126. package: 'Helios-Announcements'!
  127. HLFocusRequested subclass: #HLDocumentationFocusRequested
  128. instanceVariableNames: ''
  129. package: 'Helios-Announcements'!
  130. HLFocusRequested subclass: #HLMethodsFocusRequested
  131. instanceVariableNames: ''
  132. package: 'Helios-Announcements'!
  133. HLFocusRequested subclass: #HLPackagesFocusRequested
  134. instanceVariableNames: ''
  135. package: 'Helios-Announcements'!
  136. HLFocusRequested subclass: #HLProtocolsFocusRequested
  137. instanceVariableNames: ''
  138. package: 'Helios-Announcements'!
  139. HLFocusRequested subclass: #HLSourceCodeFocusRequested
  140. instanceVariableNames: ''
  141. package: 'Helios-Announcements'!
  142. HLAnnouncement subclass: #HLInstVarAdded
  143. instanceVariableNames: 'theClass variableName'
  144. package: 'Helios-Announcements'!
  145. !HLInstVarAdded methodsFor: 'accessing'!
  146. theClass
  147. ^ theClass
  148. !
  149. theClass: aClass
  150. theClass := aClass
  151. !
  152. variableName
  153. ^ variableName
  154. !
  155. variableName: aString
  156. variableName := aString
  157. ! !
  158. HLAnnouncement subclass: #HLItemSelected
  159. instanceVariableNames: 'item'
  160. package: 'Helios-Announcements'!
  161. !HLItemSelected methodsFor: 'accessing'!
  162. item
  163. ^ item
  164. !
  165. item: anObject
  166. item := anObject
  167. ! !
  168. !HLItemSelected class methodsFor: 'instance creation'!
  169. on: anItem
  170. ^ self new
  171. item: anItem;
  172. yourself
  173. ! !
  174. HLItemSelected subclass: #HLClassSelected
  175. instanceVariableNames: ''
  176. package: 'Helios-Announcements'!
  177. HLItemSelected subclass: #HLInstanceVariableSelected
  178. instanceVariableNames: ''
  179. package: 'Helios-Announcements'!
  180. HLItemSelected subclass: #HLMethodSelected
  181. instanceVariableNames: ''
  182. package: 'Helios-Announcements'!
  183. HLItemSelected subclass: #HLPackageSelected
  184. instanceVariableNames: ''
  185. package: 'Helios-Announcements'!
  186. HLItemSelected subclass: #HLProtocolSelected
  187. instanceVariableNames: ''
  188. package: 'Helios-Announcements'!
  189. HLAnnouncement subclass: #HLSaveSourceCode
  190. instanceVariableNames: ''
  191. package: 'Helios-Announcements'!
  192. HLAnnouncement subclass: #HLSearchReferences
  193. instanceVariableNames: 'searchString'
  194. package: 'Helios-Announcements'!
  195. !HLSearchReferences methodsFor: 'accessing'!
  196. searchString
  197. ^ searchString
  198. !
  199. searchString: aString
  200. searchString := aString
  201. ! !
  202. HLAnnouncement subclass: #HLShowCommentToggled
  203. instanceVariableNames: ''
  204. package: 'Helios-Announcements'!
  205. HLAnnouncement subclass: #HLShowInstanceToggled
  206. instanceVariableNames: ''
  207. package: 'Helios-Announcements'!
  208. HLAnnouncement subclass: #HLShowTemplate
  209. instanceVariableNames: 'template'
  210. package: 'Helios-Announcements'!
  211. !HLShowTemplate methodsFor: 'accessing'!
  212. template
  213. ^ template
  214. !
  215. template: aString
  216. template := aString
  217. ! !
  218. HLAnnouncement subclass: #HLSourceCodeSaved
  219. instanceVariableNames: ''
  220. package: 'Helios-Announcements'!