Helios-Transcript.js 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. smalltalk.addPackage('Helios-Transcript');
  2. smalltalk.addClass('HLTranscript', smalltalk.HLWidget, ['textarea'], 'Helios-Transcript');
  3. smalltalk.HLTranscript.comment="I am a widget responsible for displaying transcript contents.\x0a\x0a## Transcript API\x0a\x0a Transcript \x0a show: 'hello world';\x0a cr;\x0a show: anObject.\x0a\x0a Transcript clear.\x0a\x0aSee the `Transcript` class."
  4. smalltalk.addMethod(
  5. smalltalk.method({
  6. selector: "clear",
  7. category: 'actions',
  8. fn: function (){
  9. var self=this;
  10. return smalltalk.withContext(function($ctx1) {
  11. _st(_st(self["@textarea"])._asJQuery())._text_("");
  12. return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.HLTranscript)})},
  13. args: [],
  14. source: "clear\x0a\x09textarea asJQuery text: ''",
  15. messageSends: ["text:", "asJQuery"],
  16. referencedClasses: []
  17. }),
  18. smalltalk.HLTranscript);
  19. smalltalk.addMethod(
  20. smalltalk.method({
  21. selector: "initialize",
  22. category: 'initialization',
  23. fn: function (){
  24. var self=this;
  25. return smalltalk.withContext(function($ctx1) {
  26. smalltalk.HLWidget.fn.prototype._initialize.apply(_st(self), []);
  27. _st(self)._register();
  28. return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.HLTranscript)})},
  29. args: [],
  30. source: "initialize\x0a\x09super initialize.\x0a\x09self register",
  31. messageSends: ["initialize", "register"],
  32. referencedClasses: []
  33. }),
  34. smalltalk.HLTranscript);
  35. smalltalk.addMethod(
  36. smalltalk.method({
  37. selector: "register",
  38. category: 'registration',
  39. fn: function (){
  40. var self=this;
  41. function $HLTranscriptHandler(){return smalltalk.HLTranscriptHandler||(typeof HLTranscriptHandler=="undefined"?nil:HLTranscriptHandler)}
  42. return smalltalk.withContext(function($ctx1) {
  43. _st($HLTranscriptHandler())._register_(self);
  44. return self}, function($ctx1) {$ctx1.fill(self,"register",{},smalltalk.HLTranscript)})},
  45. args: [],
  46. source: "register\x0a\x09HLTranscriptHandler register: self",
  47. messageSends: ["register:"],
  48. referencedClasses: ["HLTranscriptHandler"]
  49. }),
  50. smalltalk.HLTranscript);
  51. smalltalk.addMethod(
  52. smalltalk.method({
  53. selector: "renderOn:",
  54. category: 'rendering',
  55. fn: function (html){
  56. var self=this;
  57. return smalltalk.withContext(function($ctx1) {
  58. var $1,$2;
  59. $1=_st(html)._div();
  60. _st($1)._class_("transcript");
  61. $2=_st($1)._with_((function(){
  62. return smalltalk.withContext(function($ctx2) {
  63. self["@textarea"]=_st(html)._textarea();
  64. return self["@textarea"];
  65. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  66. return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.HLTranscript)})},
  67. args: ["html"],
  68. source: "renderOn: html\x0a\x09html div\x0a\x09\x09class: 'transcript';\x0a\x09\x09with: [ textarea := html textarea ]",
  69. messageSends: ["class:", "div", "with:", "textarea"],
  70. referencedClasses: []
  71. }),
  72. smalltalk.HLTranscript);
  73. smalltalk.addMethod(
  74. smalltalk.method({
  75. selector: "show:",
  76. category: 'actions',
  77. fn: function (aString){
  78. var self=this;
  79. return smalltalk.withContext(function($ctx1) {
  80. _st(_st(self["@textarea"])._asJQuery())._append_(aString);
  81. return self}, function($ctx1) {$ctx1.fill(self,"show:",{aString:aString},smalltalk.HLTranscript)})},
  82. args: ["aString"],
  83. source: "show: aString\x0a\x09textarea asJQuery append: aString",
  84. messageSends: ["append:", "asJQuery"],
  85. referencedClasses: []
  86. }),
  87. smalltalk.HLTranscript);
  88. smalltalk.addMethod(
  89. smalltalk.method({
  90. selector: "unregister",
  91. category: 'registration',
  92. fn: function (){
  93. var self=this;
  94. function $HLTranscriptHandler(){return smalltalk.HLTranscriptHandler||(typeof HLTranscriptHandler=="undefined"?nil:HLTranscriptHandler)}
  95. return smalltalk.withContext(function($ctx1) {
  96. smalltalk.HLWidget.fn.prototype._unregister.apply(_st(self), []);
  97. _st($HLTranscriptHandler())._unregister_(self);
  98. return self}, function($ctx1) {$ctx1.fill(self,"unregister",{},smalltalk.HLTranscript)})},
  99. args: [],
  100. source: "unregister\x0a\x09super unregister.\x0a\x09HLTranscriptHandler unregister: self",
  101. messageSends: ["unregister", "unregister:"],
  102. referencedClasses: ["HLTranscriptHandler"]
  103. }),
  104. smalltalk.HLTranscript);
  105. smalltalk.addMethod(
  106. smalltalk.method({
  107. selector: "canBeOpenAsTab",
  108. category: 'testing',
  109. fn: function (){
  110. var self=this;
  111. return smalltalk.withContext(function($ctx1) {
  112. return true;
  113. }, function($ctx1) {$ctx1.fill(self,"canBeOpenAsTab",{},smalltalk.HLTranscript.klass)})},
  114. args: [],
  115. source: "canBeOpenAsTab\x0a\x09^ true",
  116. messageSends: [],
  117. referencedClasses: []
  118. }),
  119. smalltalk.HLTranscript.klass);
  120. smalltalk.addMethod(
  121. smalltalk.method({
  122. selector: "tabLabel",
  123. category: 'accessing',
  124. fn: function (){
  125. var self=this;
  126. return smalltalk.withContext(function($ctx1) {
  127. return "Transcript";
  128. }, function($ctx1) {$ctx1.fill(self,"tabLabel",{},smalltalk.HLTranscript.klass)})},
  129. args: [],
  130. source: "tabLabel\x0a\x09^ 'Transcript'",
  131. messageSends: [],
  132. referencedClasses: []
  133. }),
  134. smalltalk.HLTranscript.klass);
  135. smalltalk.addMethod(
  136. smalltalk.method({
  137. selector: "tabPriority",
  138. category: 'accessing',
  139. fn: function (){
  140. var self=this;
  141. return smalltalk.withContext(function($ctx1) {
  142. return (1);
  143. }, function($ctx1) {$ctx1.fill(self,"tabPriority",{},smalltalk.HLTranscript.klass)})},
  144. args: [],
  145. source: "tabPriority\x0a\x09^ 1",
  146. messageSends: [],
  147. referencedClasses: []
  148. }),
  149. smalltalk.HLTranscript.klass);
  150. smalltalk.addClass('HLTranscriptHandler', smalltalk.Object, [], 'Helios-Transcript');
  151. smalltalk.HLTranscriptHandler.comment="I handle transcript events, dispatching them to all instances of `HLTranscript`.\x0a\x0a## API\x0a\x0aOn class initialization I am automatically registered as the current transcript."
  152. smalltalk.HLTranscriptHandler.klass.iVarNames = ['transcripts'];
  153. smalltalk.addMethod(
  154. smalltalk.method({
  155. selector: "clear",
  156. category: 'registration',
  157. fn: function (){
  158. var self=this;
  159. return smalltalk.withContext(function($ctx1) {
  160. _st(_st(self)._transcripts())._do_((function(each){
  161. return smalltalk.withContext(function($ctx2) {
  162. return _st(each)._clear();
  163. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
  164. return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.HLTranscriptHandler.klass)})},
  165. args: [],
  166. source: "clear\x0a\x09self transcripts do: [ :each |\x0a\x09\x09each clear ]",
  167. messageSends: ["do:", "clear", "transcripts"],
  168. referencedClasses: []
  169. }),
  170. smalltalk.HLTranscriptHandler.klass);
  171. smalltalk.addMethod(
  172. smalltalk.method({
  173. selector: "initialize",
  174. category: 'initialization',
  175. fn: function (){
  176. var self=this;
  177. function $Transcript(){return smalltalk.Transcript||(typeof Transcript=="undefined"?nil:Transcript)}
  178. return smalltalk.withContext(function($ctx1) {
  179. _st($Transcript())._register_(self);
  180. return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.HLTranscriptHandler.klass)})},
  181. args: [],
  182. source: "initialize\x0a\x09Transcript register: self",
  183. messageSends: ["register:"],
  184. referencedClasses: ["Transcript"]
  185. }),
  186. smalltalk.HLTranscriptHandler.klass);
  187. smalltalk.addMethod(
  188. smalltalk.method({
  189. selector: "register:",
  190. category: 'registration',
  191. fn: function (aTranscript){
  192. var self=this;
  193. return smalltalk.withContext(function($ctx1) {
  194. _st(_st(self)._transcripts())._add_(aTranscript);
  195. return self}, function($ctx1) {$ctx1.fill(self,"register:",{aTranscript:aTranscript},smalltalk.HLTranscriptHandler.klass)})},
  196. args: ["aTranscript"],
  197. source: "register: aTranscript\x0a\x09self transcripts add: aTranscript",
  198. messageSends: ["add:", "transcripts"],
  199. referencedClasses: []
  200. }),
  201. smalltalk.HLTranscriptHandler.klass);
  202. smalltalk.addMethod(
  203. smalltalk.method({
  204. selector: "show:",
  205. category: 'registration',
  206. fn: function (aString){
  207. var self=this;
  208. return smalltalk.withContext(function($ctx1) {
  209. _st(_st(self)._transcripts())._do_((function(each){
  210. return smalltalk.withContext(function($ctx2) {
  211. return _st(each)._show_(aString);
  212. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
  213. return self}, function($ctx1) {$ctx1.fill(self,"show:",{aString:aString},smalltalk.HLTranscriptHandler.klass)})},
  214. args: ["aString"],
  215. source: "show: aString\x0a\x09self transcripts do: [ :each |\x0a\x09\x09each show: aString ]",
  216. messageSends: ["do:", "show:", "transcripts"],
  217. referencedClasses: []
  218. }),
  219. smalltalk.HLTranscriptHandler.klass);
  220. smalltalk.addMethod(
  221. smalltalk.method({
  222. selector: "transcripts",
  223. category: 'accessing',
  224. fn: function (){
  225. var self=this;
  226. function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
  227. return smalltalk.withContext(function($ctx1) {
  228. var $2,$1;
  229. $2=self["@transcripts"];
  230. if(($receiver = $2) == nil || $receiver == undefined){
  231. self["@transcripts"]=_st($OrderedCollection())._new();
  232. $1=self["@transcripts"];
  233. } else {
  234. $1=$2;
  235. };
  236. return $1;
  237. }, function($ctx1) {$ctx1.fill(self,"transcripts",{},smalltalk.HLTranscriptHandler.klass)})},
  238. args: [],
  239. source: "transcripts\x0a\x09^ transcripts ifNil: [ transcripts := OrderedCollection new ]",
  240. messageSends: ["ifNil:", "new"],
  241. referencedClasses: ["OrderedCollection"]
  242. }),
  243. smalltalk.HLTranscriptHandler.klass);
  244. smalltalk.addMethod(
  245. smalltalk.method({
  246. selector: "unregister:",
  247. category: 'registration',
  248. fn: function (aTranscript){
  249. var self=this;
  250. return smalltalk.withContext(function($ctx1) {
  251. _st(_st(self)._transcripts())._remove_(aTranscript);
  252. return self}, function($ctx1) {$ctx1.fill(self,"unregister:",{aTranscript:aTranscript},smalltalk.HLTranscriptHandler.klass)})},
  253. args: ["aTranscript"],
  254. source: "unregister: aTranscript\x0a\x09self transcripts remove: aTranscript",
  255. messageSends: ["remove:", "transcripts"],
  256. referencedClasses: []
  257. }),
  258. smalltalk.HLTranscriptHandler.klass);