2
0

Helios-Announcements.st 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  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. HLCodeHandled subclass: #HLDoItRequested
  48. instanceVariableNames: ''
  49. package: 'Helios-Announcements'!
  50. !HLDoItRequested commentStamp!
  51. I am emitted by a `HLCodeWidget` before a DoIt is executed.!
  52. HLCodeHandled subclass: #HLInspectItRequested
  53. instanceVariableNames: ''
  54. package: 'Helios-Announcements'!
  55. !HLInspectItRequested commentStamp!
  56. I am emitted by a `HLCodeWidget` before an object is inspected.!
  57. HLCodeHandled subclass: #HLPrintItRequested
  58. instanceVariableNames: ''
  59. package: 'Helios-Announcements'!
  60. !HLPrintItRequested commentStamp!
  61. I am emitted by a `HLCodeWidget` before an object is printed.!
  62. HLAnnouncement subclass: #HLDebuggerAnnouncement
  63. instanceVariableNames: 'context'
  64. package: 'Helios-Announcements'!
  65. !HLDebuggerAnnouncement commentStamp!
  66. I am the root class of debugger announcements, and hold onto the debugged `context`.!
  67. !HLDebuggerAnnouncement methodsFor: 'accessing'!
  68. context
  69. ^ context
  70. !
  71. context: aContext
  72. context := aContext
  73. ! !
  74. HLDebuggerAnnouncement subclass: #HLDebuggerContextSelected
  75. instanceVariableNames: ''
  76. package: 'Helios-Announcements'!
  77. !HLDebuggerContextSelected commentStamp!
  78. I am announced when a new context is selected in a debugger, to update the user interface.!
  79. !HLDebuggerContextSelected methodsFor: 'accessing'!
  80. context
  81. ^ context
  82. !
  83. context: aContext
  84. context := aContext
  85. ! !
  86. HLDebuggerAnnouncement subclass: #HLDebuggerStepped
  87. instanceVariableNames: ''
  88. package: 'Helios-Announcements'!
  89. HLDebuggerAnnouncement subclass: #HLDebuggerWhere
  90. instanceVariableNames: ''
  91. package: 'Helios-Announcements'!
  92. HLAnnouncement subclass: #HLDiveRequested
  93. instanceVariableNames: ''
  94. package: 'Helios-Announcements'!
  95. HLAnnouncement subclass: #HLEditComment
  96. instanceVariableNames: ''
  97. package: 'Helios-Announcements'!
  98. HLAnnouncement subclass: #HLErrorRaised
  99. instanceVariableNames: 'error'
  100. package: 'Helios-Announcements'!
  101. !HLErrorRaised methodsFor: 'accessing'!
  102. error
  103. ^ error
  104. !
  105. error: anError
  106. error := anError
  107. ! !
  108. HLErrorRaised subclass: #HLCompileErrorRaised
  109. instanceVariableNames: ''
  110. package: 'Helios-Announcements'!
  111. HLErrorRaised subclass: #HLParseErrorRaised
  112. instanceVariableNames: 'line column message'
  113. package: 'Helios-Announcements'!
  114. !HLParseErrorRaised methodsFor: 'accessing'!
  115. column
  116. ^ column
  117. !
  118. column: anInteger
  119. column := anInteger
  120. !
  121. line
  122. ^ line
  123. !
  124. line: anInteger
  125. line := anInteger
  126. !
  127. message
  128. ^ message
  129. !
  130. message: aString
  131. message := aString
  132. ! !
  133. HLErrorRaised subclass: #HLUnknownVariableErrorRaised
  134. instanceVariableNames: ''
  135. package: 'Helios-Announcements'!
  136. HLAnnouncement subclass: #HLFocusRequested
  137. instanceVariableNames: ''
  138. package: 'Helios-Announcements'!
  139. HLFocusRequested subclass: #HLClassesFocusRequested
  140. instanceVariableNames: ''
  141. package: 'Helios-Announcements'!
  142. HLFocusRequested subclass: #HLMethodsFocusRequested
  143. instanceVariableNames: ''
  144. package: 'Helios-Announcements'!
  145. HLFocusRequested subclass: #HLPackagesFocusRequested
  146. instanceVariableNames: ''
  147. package: 'Helios-Announcements'!
  148. HLFocusRequested subclass: #HLProtocolsFocusRequested
  149. instanceVariableNames: ''
  150. package: 'Helios-Announcements'!
  151. HLFocusRequested subclass: #HLSourceCodeFocusRequested
  152. instanceVariableNames: ''
  153. package: 'Helios-Announcements'!
  154. HLAnnouncement subclass: #HLInstVarAdded
  155. instanceVariableNames: 'theClass variableName'
  156. package: 'Helios-Announcements'!
  157. !HLInstVarAdded methodsFor: 'accessing'!
  158. theClass
  159. ^ theClass
  160. !
  161. theClass: aClass
  162. theClass := aClass
  163. !
  164. variableName
  165. ^ variableName
  166. !
  167. variableName: aString
  168. variableName := aString
  169. ! !
  170. HLAnnouncement subclass: #HLItemSelected
  171. instanceVariableNames: 'item'
  172. package: 'Helios-Announcements'!
  173. !HLItemSelected methodsFor: 'accessing'!
  174. item
  175. ^ item
  176. !
  177. item: anObject
  178. item := anObject
  179. ! !
  180. !HLItemSelected class methodsFor: 'instance creation'!
  181. on: anItem
  182. ^ self new
  183. item: anItem;
  184. yourself
  185. ! !
  186. HLItemSelected subclass: #HLClassSelected
  187. instanceVariableNames: ''
  188. package: 'Helios-Announcements'!
  189. HLItemSelected subclass: #HLInstanceVariableSelected
  190. instanceVariableNames: ''
  191. package: 'Helios-Announcements'!
  192. HLItemSelected subclass: #HLMethodSelected
  193. instanceVariableNames: ''
  194. package: 'Helios-Announcements'!
  195. HLItemSelected subclass: #HLPackageSelected
  196. instanceVariableNames: ''
  197. package: 'Helios-Announcements'!
  198. HLItemSelected subclass: #HLProtocolSelected
  199. instanceVariableNames: ''
  200. package: 'Helios-Announcements'!
  201. HLAnnouncement subclass: #HLSaveSourceCode
  202. instanceVariableNames: ''
  203. package: 'Helios-Announcements'!
  204. HLAnnouncement subclass: #HLSearchReferences
  205. instanceVariableNames: 'searchString'
  206. package: 'Helios-Announcements'!
  207. !HLSearchReferences methodsFor: 'accessing'!
  208. searchString
  209. ^ searchString
  210. !
  211. searchString: aString
  212. searchString := aString
  213. ! !
  214. HLAnnouncement subclass: #HLShowCommentToggled
  215. instanceVariableNames: ''
  216. package: 'Helios-Announcements'!
  217. HLAnnouncement subclass: #HLShowInstanceToggled
  218. instanceVariableNames: ''
  219. package: 'Helios-Announcements'!
  220. HLAnnouncement subclass: #HLShowTemplate
  221. instanceVariableNames: 'template'
  222. package: 'Helios-Announcements'!
  223. !HLShowTemplate methodsFor: 'accessing'!
  224. template
  225. ^ template
  226. !
  227. template: aString
  228. template := aString
  229. ! !
  230. HLAnnouncement subclass: #HLSourceCodeSaved
  231. instanceVariableNames: ''
  232. package: 'Helios-Announcements'!