Helios-Workspace.js 120 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397
  1. define(["amber/boot"
  2. //>>excludeStart("imports", pragmas.excludeImports);
  3. , "codemirror/lib/codemirror", "codemirror/addon/hint/show-hint", "codemirror/mode/smalltalk/smalltalk"
  4. //>>excludeEnd("imports");
  5. , "amber_core/Kernel-Objects", "helios/Helios-Core"], function($boot
  6. //>>excludeStart("imports", pragmas.excludeImports);
  7. ,codeMirrorLib
  8. //>>excludeEnd("imports");
  9. ){"use strict";
  10. if(!("nilAsValue" in $boot))$boot.nilAsValue=$boot.nilAsReceiver;
  11. var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
  12. var $pkg = $core.addPackage("Helios-Workspace");
  13. $pkg.innerEval = function (expr) { return eval(expr); };
  14. $pkg.imports = ["codeMirrorLib=codemirror/lib/codemirror", "codemirror/addon/hint/show-hint", "codemirror/mode/smalltalk/smalltalk"];
  15. $pkg.transport = {"type":"amd","amdNamespace":"helios"};
  16. $core.addClass("HLCodeModel", $globals.Object, ["announcer", "environment", "receiver"], "Helios-Workspace");
  17. $core.addMethod(
  18. $core.method({
  19. selector: "announcer",
  20. protocol: "accessing",
  21. fn: function (){
  22. var self=this,$self=this;
  23. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  24. return $core.withContext(function($ctx1) {
  25. //>>excludeEnd("ctx");
  26. var $1,$receiver;
  27. $1=$self["@announcer"];
  28. if(($receiver = $1) == null || $receiver.a$nil){
  29. $self["@announcer"]=$recv($globals.Announcer)._new();
  30. return $self["@announcer"];
  31. } else {
  32. return $1;
  33. }
  34. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  35. }, function($ctx1) {$ctx1.fill(self,"announcer",{},$globals.HLCodeModel)});
  36. //>>excludeEnd("ctx");
  37. },
  38. //>>excludeStart("ide", pragmas.excludeIdeData);
  39. args: [],
  40. source: "announcer\x0a\x09^ announcer ifNil: [ announcer := Announcer new ]",
  41. referencedClasses: ["Announcer"],
  42. //>>excludeEnd("ide");
  43. messageSends: ["ifNil:", "new"]
  44. }),
  45. $globals.HLCodeModel);
  46. $core.addMethod(
  47. $core.method({
  48. selector: "browse:",
  49. protocol: "actions",
  50. fn: function (anObject){
  51. var self=this,$self=this;
  52. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  53. return $core.withContext(function($ctx1) {
  54. //>>excludeEnd("ctx");
  55. $recv(anObject)._browse();
  56. return self;
  57. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  58. }, function($ctx1) {$ctx1.fill(self,"browse:",{anObject:anObject},$globals.HLCodeModel)});
  59. //>>excludeEnd("ctx");
  60. },
  61. //>>excludeStart("ide", pragmas.excludeIdeData);
  62. args: ["anObject"],
  63. source: "browse: anObject\x0a\x09anObject browse",
  64. referencedClasses: [],
  65. //>>excludeEnd("ide");
  66. messageSends: ["browse"]
  67. }),
  68. $globals.HLCodeModel);
  69. $core.addMethod(
  70. $core.method({
  71. selector: "defaultReceiver",
  72. protocol: "defaults",
  73. fn: function (){
  74. var self=this,$self=this;
  75. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  76. return $core.withContext(function($ctx1) {
  77. //>>excludeEnd("ctx");
  78. return $recv($self._environment())._doItReceiver();
  79. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  80. }, function($ctx1) {$ctx1.fill(self,"defaultReceiver",{},$globals.HLCodeModel)});
  81. //>>excludeEnd("ctx");
  82. },
  83. //>>excludeStart("ide", pragmas.excludeIdeData);
  84. args: [],
  85. source: "defaultReceiver\x0a\x09^ self environment doItReceiver",
  86. referencedClasses: [],
  87. //>>excludeEnd("ide");
  88. messageSends: ["doItReceiver", "environment"]
  89. }),
  90. $globals.HLCodeModel);
  91. $core.addMethod(
  92. $core.method({
  93. selector: "doIt:",
  94. protocol: "actions",
  95. fn: function (aString){
  96. var self=this,$self=this;
  97. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  98. return $core.withContext(function($ctx1) {
  99. //>>excludeEnd("ctx");
  100. return $recv((function(){
  101. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  102. return $core.withContext(function($ctx2) {
  103. //>>excludeEnd("ctx");
  104. return $recv($self._environment())._evaluate_for_(aString,$self._receiver());
  105. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  106. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  107. //>>excludeEnd("ctx");
  108. }))._tryCatch_((function(e){
  109. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  110. return $core.withContext(function($ctx2) {
  111. //>>excludeEnd("ctx");
  112. $recv($globals.ErrorHandler)._handleError_(e);
  113. return nil;
  114. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  115. }, function($ctx2) {$ctx2.fillBlock({e:e},$ctx1,2)});
  116. //>>excludeEnd("ctx");
  117. }));
  118. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  119. }, function($ctx1) {$ctx1.fill(self,"doIt:",{aString:aString},$globals.HLCodeModel)});
  120. //>>excludeEnd("ctx");
  121. },
  122. //>>excludeStart("ide", pragmas.excludeIdeData);
  123. args: ["aString"],
  124. source: "doIt: aString\x0a\x09\x22Evaluate aString in the receiver's `environment`.\x0a\x09\x0a\x09Note: Catch any error and handle it manually, bypassing\x0a\x09boot.js behavior to avoid the browser default action on\x0a\x09ctrl+d/ctrl+p.\x0a\x09\x0a\x09See https://lolg.it/amber/amber/issues/882\x22\x0a\x0a\x09^ [ self environment evaluate: aString for: self receiver ]\x0a\x09\x09tryCatch: [ :e | \x0a\x09\x09\x09ErrorHandler handleError: e.\x0a\x09\x09\x09nil ]",
  125. referencedClasses: ["ErrorHandler"],
  126. //>>excludeEnd("ide");
  127. messageSends: ["tryCatch:", "evaluate:for:", "environment", "receiver", "handleError:"]
  128. }),
  129. $globals.HLCodeModel);
  130. $core.addMethod(
  131. $core.method({
  132. selector: "environment",
  133. protocol: "accessing",
  134. fn: function (){
  135. var self=this,$self=this;
  136. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  137. return $core.withContext(function($ctx1) {
  138. //>>excludeEnd("ctx");
  139. var $1,$receiver;
  140. $1=$self["@environment"];
  141. if(($receiver = $1) == null || $receiver.a$nil){
  142. return $recv($recv($globals.HLManager)._current())._environment();
  143. } else {
  144. return $1;
  145. }
  146. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  147. }, function($ctx1) {$ctx1.fill(self,"environment",{},$globals.HLCodeModel)});
  148. //>>excludeEnd("ctx");
  149. },
  150. //>>excludeStart("ide", pragmas.excludeIdeData);
  151. args: [],
  152. source: "environment\x0a\x09^ environment ifNil: [ HLManager current environment ]",
  153. referencedClasses: ["HLManager"],
  154. //>>excludeEnd("ide");
  155. messageSends: ["ifNil:", "environment", "current"]
  156. }),
  157. $globals.HLCodeModel);
  158. $core.addMethod(
  159. $core.method({
  160. selector: "environment:",
  161. protocol: "accessing",
  162. fn: function (anEnvironment){
  163. var self=this,$self=this;
  164. $self["@environment"]=anEnvironment;
  165. return self;
  166. },
  167. //>>excludeStart("ide", pragmas.excludeIdeData);
  168. args: ["anEnvironment"],
  169. source: "environment: anEnvironment\x0a\x09environment := anEnvironment",
  170. referencedClasses: [],
  171. //>>excludeEnd("ide");
  172. messageSends: []
  173. }),
  174. $globals.HLCodeModel);
  175. $core.addMethod(
  176. $core.method({
  177. selector: "inspect:",
  178. protocol: "actions",
  179. fn: function (anObject){
  180. var self=this,$self=this;
  181. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  182. return $core.withContext(function($ctx1) {
  183. //>>excludeEnd("ctx");
  184. $recv($self._environment())._inspect_(anObject);
  185. return self;
  186. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  187. }, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject},$globals.HLCodeModel)});
  188. //>>excludeEnd("ctx");
  189. },
  190. //>>excludeStart("ide", pragmas.excludeIdeData);
  191. args: ["anObject"],
  192. source: "inspect: anObject\x0a\x09self environment inspect: anObject",
  193. referencedClasses: [],
  194. //>>excludeEnd("ide");
  195. messageSends: ["inspect:", "environment"]
  196. }),
  197. $globals.HLCodeModel);
  198. $core.addMethod(
  199. $core.method({
  200. selector: "receiver",
  201. protocol: "accessing",
  202. fn: function (){
  203. var self=this,$self=this;
  204. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  205. return $core.withContext(function($ctx1) {
  206. //>>excludeEnd("ctx");
  207. var $1,$receiver;
  208. $1=$self["@receiver"];
  209. if(($receiver = $1) == null || $receiver.a$nil){
  210. $self["@receiver"]=$self._defaultReceiver();
  211. return $self["@receiver"];
  212. } else {
  213. return $1;
  214. }
  215. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  216. }, function($ctx1) {$ctx1.fill(self,"receiver",{},$globals.HLCodeModel)});
  217. //>>excludeEnd("ctx");
  218. },
  219. //>>excludeStart("ide", pragmas.excludeIdeData);
  220. args: [],
  221. source: "receiver\x0a\x09^ receiver ifNil: [ receiver := self defaultReceiver ]",
  222. referencedClasses: [],
  223. //>>excludeEnd("ide");
  224. messageSends: ["ifNil:", "defaultReceiver"]
  225. }),
  226. $globals.HLCodeModel);
  227. $core.addMethod(
  228. $core.method({
  229. selector: "receiver:",
  230. protocol: "accessing",
  231. fn: function (anObject){
  232. var self=this,$self=this;
  233. $self["@receiver"]=anObject;
  234. return self;
  235. },
  236. //>>excludeStart("ide", pragmas.excludeIdeData);
  237. args: ["anObject"],
  238. source: "receiver: anObject\x0a\x09receiver := anObject",
  239. referencedClasses: [],
  240. //>>excludeEnd("ide");
  241. messageSends: []
  242. }),
  243. $globals.HLCodeModel);
  244. $core.addMethod(
  245. $core.method({
  246. selector: "on:",
  247. protocol: "actions",
  248. fn: function (anEnvironment){
  249. var self=this,$self=this;
  250. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  251. return $core.withContext(function($ctx1) {
  252. //>>excludeEnd("ctx");
  253. var $1;
  254. $1=$self._new();
  255. $recv($1)._environment_(anEnvironment);
  256. return $recv($1)._yourself();
  257. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  258. }, function($ctx1) {$ctx1.fill(self,"on:",{anEnvironment:anEnvironment},$globals.HLCodeModel.a$cls)});
  259. //>>excludeEnd("ctx");
  260. },
  261. //>>excludeStart("ide", pragmas.excludeIdeData);
  262. args: ["anEnvironment"],
  263. source: "on: anEnvironment\x0a\x0a\x09^ self new\x0a \x09environment: anEnvironment;\x0a yourself",
  264. referencedClasses: [],
  265. //>>excludeEnd("ide");
  266. messageSends: ["environment:", "new", "yourself"]
  267. }),
  268. $globals.HLCodeModel.a$cls);
  269. $core.addClass("HLCodeWidget", $globals.HLWidget, ["model", "wrapper", "code", "editor", "state"], "Helios-Workspace");
  270. $core.addMethod(
  271. $core.method({
  272. selector: "announcer",
  273. protocol: "accessing",
  274. fn: function (){
  275. var self=this,$self=this;
  276. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  277. return $core.withContext(function($ctx1) {
  278. //>>excludeEnd("ctx");
  279. return $recv($self._model())._announcer();
  280. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  281. }, function($ctx1) {$ctx1.fill(self,"announcer",{},$globals.HLCodeWidget)});
  282. //>>excludeEnd("ctx");
  283. },
  284. //>>excludeStart("ide", pragmas.excludeIdeData);
  285. args: [],
  286. source: "announcer\x0a\x09^ self model announcer",
  287. referencedClasses: [],
  288. //>>excludeEnd("ide");
  289. messageSends: ["announcer", "model"]
  290. }),
  291. $globals.HLCodeWidget);
  292. $core.addMethod(
  293. $core.method({
  294. selector: "browseIt",
  295. protocol: "actions",
  296. fn: function (){
  297. var self=this,$self=this;
  298. var result;
  299. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  300. return $core.withContext(function($ctx1) {
  301. //>>excludeEnd("ctx");
  302. var $early={};
  303. try {
  304. result=$recv((function(){
  305. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  306. return $core.withContext(function($ctx2) {
  307. //>>excludeEnd("ctx");
  308. return $self._doIt();
  309. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  310. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  311. //>>excludeEnd("ctx");
  312. }))._on_do_($globals.Error,(function(exception){
  313. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  314. return $core.withContext(function($ctx2) {
  315. //>>excludeEnd("ctx");
  316. throw $early=[$recv($globals.ErrorHandler)._handleError_(exception)];
  317. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  318. }, function($ctx2) {$ctx2.fillBlock({exception:exception},$ctx1,2)});
  319. //>>excludeEnd("ctx");
  320. }));
  321. $recv($self._model())._browse_(result);
  322. return self;
  323. }
  324. catch(e) {if(e===$early)return e[0]; throw e}
  325. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  326. }, function($ctx1) {$ctx1.fill(self,"browseIt",{result:result},$globals.HLCodeWidget)});
  327. //>>excludeEnd("ctx");
  328. },
  329. //>>excludeStart("ide", pragmas.excludeIdeData);
  330. args: [],
  331. source: "browseIt\x0a\x09| result |\x0a\x09\x0a\x09result := [ self doIt ] on: Error do: [ :exception | \x0a\x09\x09^ ErrorHandler handleError: exception ].\x0a\x09\x09\x0a\x09self model browse: result",
  332. referencedClasses: ["Error", "ErrorHandler"],
  333. //>>excludeEnd("ide");
  334. messageSends: ["on:do:", "doIt", "handleError:", "browse:", "model"]
  335. }),
  336. $globals.HLCodeWidget);
  337. $core.addMethod(
  338. $core.method({
  339. selector: "canHaveFocus",
  340. protocol: "testing",
  341. fn: function (){
  342. var self=this,$self=this;
  343. return true;
  344. },
  345. //>>excludeStart("ide", pragmas.excludeIdeData);
  346. args: [],
  347. source: "canHaveFocus\x0a\x09^ true",
  348. referencedClasses: [],
  349. //>>excludeEnd("ide");
  350. messageSends: []
  351. }),
  352. $globals.HLCodeWidget);
  353. $core.addMethod(
  354. $core.method({
  355. selector: "clear",
  356. protocol: "actions",
  357. fn: function (){
  358. var self=this,$self=this;
  359. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  360. return $core.withContext(function($ctx1) {
  361. //>>excludeEnd("ctx");
  362. $self._contents_("");
  363. return self;
  364. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  365. }, function($ctx1) {$ctx1.fill(self,"clear",{},$globals.HLCodeWidget)});
  366. //>>excludeEnd("ctx");
  367. },
  368. //>>excludeStart("ide", pragmas.excludeIdeData);
  369. args: [],
  370. source: "clear\x0a\x09self contents: ''",
  371. referencedClasses: [],
  372. //>>excludeEnd("ide");
  373. messageSends: ["contents:"]
  374. }),
  375. $globals.HLCodeWidget);
  376. $core.addMethod(
  377. $core.method({
  378. selector: "configureEditor",
  379. protocol: "actions",
  380. fn: function (){
  381. var self=this,$self=this;
  382. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  383. return $core.withContext(function($ctx1) {
  384. //>>excludeEnd("ctx");
  385. var $1,$2,$3;
  386. $1=$self._editor();
  387. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  388. $ctx1.sendIdx["editor"]=1;
  389. //>>excludeEnd("ctx");
  390. $recv($1)._at_put_("amberCodeWidget",self);
  391. $2=$self._editor();
  392. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  393. $ctx1.sendIdx["editor"]=2;
  394. //>>excludeEnd("ctx");
  395. $recv($2)._on_do_("change",(function(){
  396. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  397. return $core.withContext(function($ctx2) {
  398. //>>excludeEnd("ctx");
  399. return $self._onChange();
  400. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  401. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  402. //>>excludeEnd("ctx");
  403. }));
  404. $recv($recv($self._wrapper())._asJQuery())._on_in_do_("mousedown",".CodeMirror pre",(function(event){
  405. var position,node;
  406. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  407. return $core.withContext(function($ctx2) {
  408. //>>excludeEnd("ctx");
  409. $3=$recv(event)._at_("ctrlKey");
  410. if($core.assert($3)){
  411. position=$recv($self._editor())._coordsChar_($globals.HashedCollection._newFromPairs_(["left",$recv(event)._clientX(),"top",$recv(event)._clientY()]));
  412. $self._onCtrlClickAt_($recv($recv($recv(position)._line()).__at($recv(position)._ch())).__plus((1)));
  413. return $recv(event)._preventDefault();
  414. }
  415. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  416. }, function($ctx2) {$ctx2.fillBlock({event:event,position:position,node:node},$ctx1,2)});
  417. //>>excludeEnd("ctx");
  418. }));
  419. return self;
  420. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  421. }, function($ctx1) {$ctx1.fill(self,"configureEditor",{},$globals.HLCodeWidget)});
  422. //>>excludeEnd("ctx");
  423. },
  424. //>>excludeStart("ide", pragmas.excludeIdeData);
  425. args: [],
  426. source: "configureEditor\x0a\x09self editor at: 'amberCodeWidget' put: self.\x0a\x09self editor on: 'change' do: [ self onChange ].\x0a\x0a\x09self wrapper asJQuery on: 'mousedown' in: '.CodeMirror pre' do: [ :event | | position node |\x0a\x09\x09(event at: 'ctrlKey') ifTrue: [\x0a\x09\x09\x09position := self editor coordsChar: #{ \x0a\x09\x09\x09\x09'left' -> event clientX.\x0a\x09\x09\x09\x09'top' -> event clientY\x0a\x09\x09\x09}.\x0a\x09\x09\x09self onCtrlClickAt: (position line @ position ch) + 1.\x0a\x09\x09\x09event preventDefault ] ]",
  427. referencedClasses: [],
  428. //>>excludeEnd("ide");
  429. messageSends: ["at:put:", "editor", "on:do:", "onChange", "on:in:do:", "asJQuery", "wrapper", "ifTrue:", "at:", "coordsChar:", "clientX", "clientY", "onCtrlClickAt:", "+", "@", "line", "ch", "preventDefault"]
  430. }),
  431. $globals.HLCodeWidget);
  432. $core.addMethod(
  433. $core.method({
  434. selector: "contents",
  435. protocol: "accessing",
  436. fn: function (){
  437. var self=this,$self=this;
  438. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  439. return $core.withContext(function($ctx1) {
  440. //>>excludeEnd("ctx");
  441. return $recv($self["@editor"])._getValue();
  442. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  443. }, function($ctx1) {$ctx1.fill(self,"contents",{},$globals.HLCodeWidget)});
  444. //>>excludeEnd("ctx");
  445. },
  446. //>>excludeStart("ide", pragmas.excludeIdeData);
  447. args: [],
  448. source: "contents\x0a\x09^ editor getValue",
  449. referencedClasses: [],
  450. //>>excludeEnd("ide");
  451. messageSends: ["getValue"]
  452. }),
  453. $globals.HLCodeWidget);
  454. $core.addMethod(
  455. $core.method({
  456. selector: "contents:",
  457. protocol: "accessing",
  458. fn: function (aString){
  459. var self=this,$self=this;
  460. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  461. return $core.withContext(function($ctx1) {
  462. //>>excludeEnd("ctx");
  463. var $1,$receiver;
  464. $recv($self["@editor"])._setValue_(aString);
  465. $1=$self["@state"];
  466. if(($receiver = $1) == null || $receiver.a$nil){
  467. $1;
  468. } else {
  469. $self._updateState();
  470. }
  471. return self;
  472. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  473. }, function($ctx1) {$ctx1.fill(self,"contents:",{aString:aString},$globals.HLCodeWidget)});
  474. //>>excludeEnd("ctx");
  475. },
  476. //>>excludeStart("ide", pragmas.excludeIdeData);
  477. args: ["aString"],
  478. source: "contents: aString\x0a\x09editor setValue: aString.\x0a\x09state ifNotNil: [ self updateState ]",
  479. referencedClasses: [],
  480. //>>excludeEnd("ide");
  481. messageSends: ["setValue:", "ifNotNil:", "updateState"]
  482. }),
  483. $globals.HLCodeWidget);
  484. $core.addMethod(
  485. $core.method({
  486. selector: "currentLine",
  487. protocol: "accessing",
  488. fn: function (){
  489. var self=this,$self=this;
  490. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  491. return $core.withContext(function($ctx1) {
  492. //>>excludeEnd("ctx");
  493. return $recv($self["@editor"])._getLine_($recv($recv($self["@editor"])._getCursor())._line());
  494. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  495. }, function($ctx1) {$ctx1.fill(self,"currentLine",{},$globals.HLCodeWidget)});
  496. //>>excludeEnd("ctx");
  497. },
  498. //>>excludeStart("ide", pragmas.excludeIdeData);
  499. args: [],
  500. source: "currentLine\x0a ^editor getLine: (editor getCursor line)",
  501. referencedClasses: [],
  502. //>>excludeEnd("ide");
  503. messageSends: ["getLine:", "line", "getCursor"]
  504. }),
  505. $globals.HLCodeWidget);
  506. $core.addMethod(
  507. $core.method({
  508. selector: "currentLineOrSelection",
  509. protocol: "accessing",
  510. fn: function (){
  511. var self=this,$self=this;
  512. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  513. return $core.withContext(function($ctx1) {
  514. //>>excludeEnd("ctx");
  515. var $1;
  516. $1=$recv($self["@editor"])._somethingSelected();
  517. if($core.assert($1)){
  518. return $self._selection();
  519. } else {
  520. return $self._currentLine();
  521. }
  522. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  523. }, function($ctx1) {$ctx1.fill(self,"currentLineOrSelection",{},$globals.HLCodeWidget)});
  524. //>>excludeEnd("ctx");
  525. },
  526. //>>excludeStart("ide", pragmas.excludeIdeData);
  527. args: [],
  528. source: "currentLineOrSelection\x0a ^editor somethingSelected\x0a\x09\x09ifFalse: [ self currentLine ]\x0a\x09\x09ifTrue: [ self selection ]",
  529. referencedClasses: [],
  530. //>>excludeEnd("ide");
  531. messageSends: ["ifFalse:ifTrue:", "somethingSelected", "currentLine", "selection"]
  532. }),
  533. $globals.HLCodeWidget);
  534. $core.addMethod(
  535. $core.method({
  536. selector: "doIt",
  537. protocol: "actions",
  538. fn: function (){
  539. var self=this,$self=this;
  540. var result;
  541. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  542. return $core.withContext(function($ctx1) {
  543. //>>excludeEnd("ctx");
  544. var $1;
  545. $1=$self._model();
  546. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  547. $ctx1.sendIdx["model"]=1;
  548. //>>excludeEnd("ctx");
  549. result=$recv($1)._doIt_($self._currentLineOrSelection());
  550. $recv($recv($self._model())._announcer())._announce_($recv($globals.HLDoItExecuted)._on_($self["@model"]));
  551. return result;
  552. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  553. }, function($ctx1) {$ctx1.fill(self,"doIt",{result:result},$globals.HLCodeWidget)});
  554. //>>excludeEnd("ctx");
  555. },
  556. //>>excludeStart("ide", pragmas.excludeIdeData);
  557. args: [],
  558. source: "doIt\x0a\x09| result |\x0a\x0a\x09result := self model doIt: self currentLineOrSelection.\x0a\x09self model announcer announce: (HLDoItExecuted on: model).\x0a\x0a\x09^ result",
  559. referencedClasses: ["HLDoItExecuted"],
  560. //>>excludeEnd("ide");
  561. messageSends: ["doIt:", "model", "currentLineOrSelection", "announce:", "announcer", "on:"]
  562. }),
  563. $globals.HLCodeWidget);
  564. $core.addMethod(
  565. $core.method({
  566. selector: "editor",
  567. protocol: "actions",
  568. fn: function (){
  569. var self=this,$self=this;
  570. return $self["@editor"];
  571. },
  572. //>>excludeStart("ide", pragmas.excludeIdeData);
  573. args: [],
  574. source: "editor\x0a\x09^ editor",
  575. referencedClasses: [],
  576. //>>excludeEnd("ide");
  577. messageSends: []
  578. }),
  579. $globals.HLCodeWidget);
  580. $core.addMethod(
  581. $core.method({
  582. selector: "editorOptions",
  583. protocol: "accessing",
  584. fn: function (){
  585. var self=this,$self=this;
  586. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  587. return $core.withContext(function($ctx1) {
  588. //>>excludeEnd("ctx");
  589. var $1;
  590. $1="helios.editorTheme"._settingValueIfAbsent_("default");
  591. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  592. $ctx1.sendIdx["settingValueIfAbsent:"]=1;
  593. //>>excludeEnd("ctx");
  594. return $globals.HashedCollection._newFromPairs_(["theme",$1,"mode","text/x-stsrc","inputStyle","contenteditable","lineNumbers",true,"enterMode","flat","indentWithTabs",true,"indentUnit",(4),"matchBrackets",true,"electricChars",false,"keyMap","Amber","extraKeys",$recv($globals.HashedCollection)._with_($recv("helios.completionKey"._settingValueIfAbsent_("Shift-Space")).__minus_gt("autocomplete"))]);
  595. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  596. }, function($ctx1) {$ctx1.fill(self,"editorOptions",{},$globals.HLCodeWidget)});
  597. //>>excludeEnd("ctx");
  598. },
  599. //>>excludeStart("ide", pragmas.excludeIdeData);
  600. args: [],
  601. source: "editorOptions\x0a\x09^ #{\x0a\x09\x09'theme' -> ('helios.editorTheme' settingValueIfAbsent: 'default').\x0a\x09\x09'mode' -> 'text/x-stsrc'.\x0a\x09\x09'inputStyle' -> 'contenteditable'.\x0a 'lineNumbers' -> true.\x0a 'enterMode' -> 'flat'.\x0a 'indentWithTabs' -> true.\x0a\x09\x09'indentUnit' -> 4.\x0a 'matchBrackets' -> true.\x0a 'electricChars' -> false.\x0a\x09\x09'keyMap' -> 'Amber'.\x0a\x09\x09'extraKeys' -> (HashedCollection with: ('helios.completionKey' settingValueIfAbsent: 'Shift-Space') -> 'autocomplete')\x0a\x09}",
  602. referencedClasses: ["HashedCollection"],
  603. //>>excludeEnd("ide");
  604. messageSends: ["settingValueIfAbsent:", "with:", "->"]
  605. }),
  606. $globals.HLCodeWidget);
  607. $core.addMethod(
  608. $core.method({
  609. selector: "focus",
  610. protocol: "actions",
  611. fn: function (){
  612. var self=this,$self=this;
  613. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  614. return $core.withContext(function($ctx1) {
  615. //>>excludeEnd("ctx");
  616. $recv($self["@editor"])._focus();
  617. return self;
  618. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  619. }, function($ctx1) {$ctx1.fill(self,"focus",{},$globals.HLCodeWidget)});
  620. //>>excludeEnd("ctx");
  621. },
  622. //>>excludeStart("ide", pragmas.excludeIdeData);
  623. args: [],
  624. source: "focus\x0a\x09editor focus",
  625. referencedClasses: [],
  626. //>>excludeEnd("ide");
  627. messageSends: ["focus"]
  628. }),
  629. $globals.HLCodeWidget);
  630. $core.addMethod(
  631. $core.method({
  632. selector: "hasFocus",
  633. protocol: "testing",
  634. fn: function (){
  635. var self=this,$self=this;
  636. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  637. return $core.withContext(function($ctx1) {
  638. //>>excludeEnd("ctx");
  639. return $recv($recv($self["@code"])._asJQuery())._is_(":active");
  640. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  641. }, function($ctx1) {$ctx1.fill(self,"hasFocus",{},$globals.HLCodeWidget)});
  642. //>>excludeEnd("ctx");
  643. },
  644. //>>excludeStart("ide", pragmas.excludeIdeData);
  645. args: [],
  646. source: "hasFocus\x0a\x09^ code asJQuery is: ':active'",
  647. referencedClasses: [],
  648. //>>excludeEnd("ide");
  649. messageSends: ["is:", "asJQuery"]
  650. }),
  651. $globals.HLCodeWidget);
  652. $core.addMethod(
  653. $core.method({
  654. selector: "hasModification",
  655. protocol: "testing",
  656. fn: function (){
  657. var self=this,$self=this;
  658. return false;
  659. },
  660. //>>excludeStart("ide", pragmas.excludeIdeData);
  661. args: [],
  662. source: "hasModification\x0a\x09^ false",
  663. referencedClasses: [],
  664. //>>excludeEnd("ide");
  665. messageSends: []
  666. }),
  667. $globals.HLCodeWidget);
  668. $core.addMethod(
  669. $core.method({
  670. selector: "inspectIt",
  671. protocol: "actions",
  672. fn: function (){
  673. var self=this,$self=this;
  674. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  675. return $core.withContext(function($ctx1) {
  676. //>>excludeEnd("ctx");
  677. $recv($self._model())._inspect_($self._doIt());
  678. return self;
  679. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  680. }, function($ctx1) {$ctx1.fill(self,"inspectIt",{},$globals.HLCodeWidget)});
  681. //>>excludeEnd("ctx");
  682. },
  683. //>>excludeStart("ide", pragmas.excludeIdeData);
  684. args: [],
  685. source: "inspectIt\x0a\x09self model inspect: self doIt",
  686. referencedClasses: [],
  687. //>>excludeEnd("ide");
  688. messageSends: ["inspect:", "model", "doIt"]
  689. }),
  690. $globals.HLCodeWidget);
  691. $core.addMethod(
  692. $core.method({
  693. selector: "messageHintFor:token:",
  694. protocol: "hints",
  695. fn: function (anEditor,aToken){
  696. var self=this,$self=this;
  697. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  698. return $core.withContext(function($ctx1) {
  699. //>>excludeEnd("ctx");
  700. var $1;
  701. return $recv($recv($recv($recv($recv($globals.Smalltalk)._core())._allSelectors())._asArray())._select_((function(each){
  702. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  703. return $core.withContext(function($ctx2) {
  704. //>>excludeEnd("ctx");
  705. $1=$recv(aToken)._string();
  706. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  707. $ctx2.sendIdx["string"]=1;
  708. //>>excludeEnd("ctx");
  709. return $recv(each)._includesSubString_($1);
  710. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  711. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
  712. //>>excludeEnd("ctx");
  713. })))._reject_((function(each){
  714. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  715. return $core.withContext(function($ctx2) {
  716. //>>excludeEnd("ctx");
  717. return $recv(each).__eq($recv(aToken)._string());
  718. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  719. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)});
  720. //>>excludeEnd("ctx");
  721. }));
  722. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  723. }, function($ctx1) {$ctx1.fill(self,"messageHintFor:token:",{anEditor:anEditor,aToken:aToken},$globals.HLCodeWidget)});
  724. //>>excludeEnd("ctx");
  725. },
  726. //>>excludeStart("ide", pragmas.excludeIdeData);
  727. args: ["anEditor", "aToken"],
  728. source: "messageHintFor: anEditor token: aToken\x0a\x09^ (Smalltalk core allSelectors asArray \x0a\x09\x09select: [ :each | each includesSubString: aToken string ])\x0a\x09\x09reject: [ :each | each = aToken string ]",
  729. referencedClasses: ["Smalltalk"],
  730. //>>excludeEnd("ide");
  731. messageSends: ["reject:", "select:", "asArray", "allSelectors", "core", "includesSubString:", "string", "="]
  732. }),
  733. $globals.HLCodeWidget);
  734. $core.addMethod(
  735. $core.method({
  736. selector: "model",
  737. protocol: "accessing",
  738. fn: function (){
  739. var self=this,$self=this;
  740. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  741. return $core.withContext(function($ctx1) {
  742. //>>excludeEnd("ctx");
  743. var $1,$receiver;
  744. $1=$self["@model"];
  745. if(($receiver = $1) == null || $receiver.a$nil){
  746. $self["@model"]=$recv($globals.HLCodeModel)._new();
  747. return $self["@model"];
  748. } else {
  749. return $1;
  750. }
  751. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  752. }, function($ctx1) {$ctx1.fill(self,"model",{},$globals.HLCodeWidget)});
  753. //>>excludeEnd("ctx");
  754. },
  755. //>>excludeStart("ide", pragmas.excludeIdeData);
  756. args: [],
  757. source: "model\x0a\x09^ model ifNil: [ model := HLCodeModel new ]",
  758. referencedClasses: ["HLCodeModel"],
  759. //>>excludeEnd("ide");
  760. messageSends: ["ifNil:", "new"]
  761. }),
  762. $globals.HLCodeWidget);
  763. $core.addMethod(
  764. $core.method({
  765. selector: "model:",
  766. protocol: "accessing",
  767. fn: function (aModel){
  768. var self=this,$self=this;
  769. $self["@model"]=aModel;
  770. return self;
  771. },
  772. //>>excludeStart("ide", pragmas.excludeIdeData);
  773. args: ["aModel"],
  774. source: "model: aModel\x0a\x09model := aModel",
  775. referencedClasses: [],
  776. //>>excludeEnd("ide");
  777. messageSends: []
  778. }),
  779. $globals.HLCodeWidget);
  780. $core.addMethod(
  781. $core.method({
  782. selector: "navigateTo:",
  783. protocol: "actions",
  784. fn: function (aString){
  785. var self=this,$self=this;
  786. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  787. return $core.withContext(function($ctx1) {
  788. //>>excludeEnd("ctx");
  789. $recv($globals.Finder)._findString_(aString);
  790. return self;
  791. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  792. }, function($ctx1) {$ctx1.fill(self,"navigateTo:",{aString:aString},$globals.HLCodeWidget)});
  793. //>>excludeEnd("ctx");
  794. },
  795. //>>excludeStart("ide", pragmas.excludeIdeData);
  796. args: ["aString"],
  797. source: "navigateTo: aString\x0a\x09Finder findString: aString",
  798. referencedClasses: ["Finder"],
  799. //>>excludeEnd("ide");
  800. messageSends: ["findString:"]
  801. }),
  802. $globals.HLCodeWidget);
  803. $core.addMethod(
  804. $core.method({
  805. selector: "navigateToReference:",
  806. protocol: "actions",
  807. fn: function (aString){
  808. var self=this,$self=this;
  809. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  810. return $core.withContext(function($ctx1) {
  811. //>>excludeEnd("ctx");
  812. $recv($recv($globals.HLReferences)._openAsTab())._search_(aString);
  813. return self;
  814. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  815. }, function($ctx1) {$ctx1.fill(self,"navigateToReference:",{aString:aString},$globals.HLCodeWidget)});
  816. //>>excludeEnd("ctx");
  817. },
  818. //>>excludeStart("ide", pragmas.excludeIdeData);
  819. args: ["aString"],
  820. source: "navigateToReference: aString\x0a\x09(HLReferences openAsTab)\x0a\x09\x09search: aString",
  821. referencedClasses: ["HLReferences"],
  822. //>>excludeEnd("ide");
  823. messageSends: ["search:", "openAsTab"]
  824. }),
  825. $globals.HLCodeWidget);
  826. $core.addMethod(
  827. $core.method({
  828. selector: "onChange",
  829. protocol: "reactions",
  830. fn: function (){
  831. var self=this,$self=this;
  832. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  833. return $core.withContext(function($ctx1) {
  834. //>>excludeEnd("ctx");
  835. $self._updateState();
  836. return self;
  837. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  838. }, function($ctx1) {$ctx1.fill(self,"onChange",{},$globals.HLCodeWidget)});
  839. //>>excludeEnd("ctx");
  840. },
  841. //>>excludeStart("ide", pragmas.excludeIdeData);
  842. args: [],
  843. source: "onChange\x0a\x09self updateState",
  844. referencedClasses: [],
  845. //>>excludeEnd("ide");
  846. messageSends: ["updateState"]
  847. }),
  848. $globals.HLCodeWidget);
  849. $core.addMethod(
  850. $core.method({
  851. selector: "onCtrlClickAt:",
  852. protocol: "reactions",
  853. fn: function (aPoint){
  854. var self=this,$self=this;
  855. var ast,node;
  856. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  857. return $core.withContext(function($ctx1) {
  858. //>>excludeEnd("ctx");
  859. var $early={};
  860. try {
  861. ast=$recv((function(){
  862. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  863. return $core.withContext(function($ctx2) {
  864. //>>excludeEnd("ctx");
  865. return $recv($globals.Smalltalk)._parse_($recv($self._editor())._getValue());
  866. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  867. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  868. //>>excludeEnd("ctx");
  869. }))._on_do_($globals.Error,(function(error){
  870. throw $early=[self];
  871. }));
  872. node=$recv(ast)._navigationNodeAt_ifAbsent_(aPoint,(function(){
  873. throw $early=[nil];
  874. }));
  875. $self._navigateTo_($recv(node)._navigationLink());
  876. return self;
  877. }
  878. catch(e) {if(e===$early)return e[0]; throw e}
  879. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  880. }, function($ctx1) {$ctx1.fill(self,"onCtrlClickAt:",{aPoint:aPoint,ast:ast,node:node},$globals.HLCodeWidget)});
  881. //>>excludeEnd("ctx");
  882. },
  883. //>>excludeStart("ide", pragmas.excludeIdeData);
  884. args: ["aPoint"],
  885. source: "onCtrlClickAt: aPoint\x0a\x09| ast node |\x0a\x09\x0a\x09ast := [ Smalltalk parse: self editor getValue ] \x0a\x09\x09on: Error \x0a\x09\x09do: [ :error | ^ self ].\x0a\x09\x0a\x09node := ast \x0a\x09\x09navigationNodeAt: aPoint \x0a\x09\x09ifAbsent: [ ^ nil ].\x0a\x09\x09\x0a\x09self navigateTo: node navigationLink",
  886. referencedClasses: ["Smalltalk", "Error"],
  887. //>>excludeEnd("ide");
  888. messageSends: ["on:do:", "parse:", "getValue", "editor", "navigationNodeAt:ifAbsent:", "navigateTo:", "navigationLink"]
  889. }),
  890. $globals.HLCodeWidget);
  891. $core.addMethod(
  892. $core.method({
  893. selector: "onInspectIt",
  894. protocol: "reactions",
  895. fn: function (){
  896. var self=this,$self=this;
  897. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  898. return $core.withContext(function($ctx1) {
  899. //>>excludeEnd("ctx");
  900. $self._inspectIt();
  901. return self;
  902. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  903. }, function($ctx1) {$ctx1.fill(self,"onInspectIt",{},$globals.HLCodeWidget)});
  904. //>>excludeEnd("ctx");
  905. },
  906. //>>excludeStart("ide", pragmas.excludeIdeData);
  907. args: [],
  908. source: "onInspectIt\x0a\x0a\x09self inspectIt",
  909. referencedClasses: [],
  910. //>>excludeEnd("ide");
  911. messageSends: ["inspectIt"]
  912. }),
  913. $globals.HLCodeWidget);
  914. $core.addMethod(
  915. $core.method({
  916. selector: "onPrintIt",
  917. protocol: "reactions",
  918. fn: function (){
  919. var self=this,$self=this;
  920. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  921. return $core.withContext(function($ctx1) {
  922. //>>excludeEnd("ctx");
  923. $self._printIt();
  924. return self;
  925. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  926. }, function($ctx1) {$ctx1.fill(self,"onPrintIt",{},$globals.HLCodeWidget)});
  927. //>>excludeEnd("ctx");
  928. },
  929. //>>excludeStart("ide", pragmas.excludeIdeData);
  930. args: [],
  931. source: "onPrintIt\x0a\x0a\x09self printIt",
  932. referencedClasses: [],
  933. //>>excludeEnd("ide");
  934. messageSends: ["printIt"]
  935. }),
  936. $globals.HLCodeWidget);
  937. $core.addMethod(
  938. $core.method({
  939. selector: "onSaveIt",
  940. protocol: "reactions",
  941. fn: function (){
  942. var self=this,$self=this;
  943. return self;
  944. },
  945. //>>excludeStart("ide", pragmas.excludeIdeData);
  946. args: [],
  947. source: "onSaveIt\x0a\x09\x22I do not do anything\x22",
  948. referencedClasses: [],
  949. //>>excludeEnd("ide");
  950. messageSends: []
  951. }),
  952. $globals.HLCodeWidget);
  953. $core.addMethod(
  954. $core.method({
  955. selector: "print:",
  956. protocol: "actions",
  957. fn: function (aString){
  958. var self=this,$self=this;
  959. var start,stop,currentLine;
  960. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  961. return $core.withContext(function($ctx1) {
  962. //>>excludeEnd("ctx");
  963. var $1,$2,$4,$3,$5,$6,$7,$8,$9,$10,$12,$11;
  964. $1=$recv($self["@editor"])._getCursor_(false);
  965. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  966. $ctx1.sendIdx["getCursor:"]=1;
  967. //>>excludeEnd("ctx");
  968. currentLine=$recv($1)._line();
  969. start=$recv($globals.HashedCollection)._new();
  970. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  971. $ctx1.sendIdx["new"]=1;
  972. //>>excludeEnd("ctx");
  973. $recv(start)._at_put_("line",currentLine);
  974. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  975. $ctx1.sendIdx["at:put:"]=1;
  976. //>>excludeEnd("ctx");
  977. $2=start;
  978. $4=$recv($self["@editor"])._getCursor_(false);
  979. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  980. $ctx1.sendIdx["getCursor:"]=2;
  981. //>>excludeEnd("ctx");
  982. $3=$recv($4)._ch();
  983. $recv($2)._at_put_("ch",$3);
  984. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  985. $ctx1.sendIdx["at:put:"]=2;
  986. //>>excludeEnd("ctx");
  987. $5=$recv($self["@editor"])._getSelection();
  988. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  989. $ctx1.sendIdx["getSelection"]=1;
  990. //>>excludeEnd("ctx");
  991. $recv($5)._ifEmpty_((function(){
  992. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  993. return $core.withContext(function($ctx2) {
  994. //>>excludeEnd("ctx");
  995. $6=start;
  996. $7=$recv($recv($self["@editor"])._getLine_(currentLine))._size();
  997. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  998. $ctx2.sendIdx["size"]=1;
  999. //>>excludeEnd("ctx");
  1000. $recv($6)._at_put_("ch",$7);
  1001. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1002. $ctx2.sendIdx["at:put:"]=3;
  1003. //>>excludeEnd("ctx");
  1004. return $recv($self["@editor"])._setSelection_end_($globals.HashedCollection._newFromPairs_(["line",currentLine,"ch",(0)]),start);
  1005. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1006. $ctx2.sendIdx["setSelection:end:"]=1;
  1007. //>>excludeEnd("ctx");
  1008. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1009. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  1010. //>>excludeEnd("ctx");
  1011. }));
  1012. stop=$recv($globals.HashedCollection)._new();
  1013. $recv(stop)._at_put_("line",currentLine);
  1014. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1015. $ctx1.sendIdx["at:put:"]=4;
  1016. //>>excludeEnd("ctx");
  1017. $8=stop;
  1018. $9=$recv($recv($recv(start)._at_("ch")).__plus($recv(aString)._size())).__plus((2));
  1019. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1020. $ctx1.sendIdx["+"]=1;
  1021. //>>excludeEnd("ctx");
  1022. $recv($8)._at_put_("ch",$9);
  1023. $10=$self["@editor"];
  1024. $12=$recv($recv($recv($self["@editor"])._getSelection()).__comma(" ")).__comma(aString);
  1025. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1026. $ctx1.sendIdx[","]=2;
  1027. //>>excludeEnd("ctx");
  1028. $11=$recv($12).__comma(" ");
  1029. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1030. $ctx1.sendIdx[","]=1;
  1031. //>>excludeEnd("ctx");
  1032. $recv($10)._replaceSelection_($11);
  1033. $recv($self["@editor"])._setCursor_($recv($self["@editor"])._getCursor_(true));
  1034. $recv($self["@editor"])._setSelection_end_(stop,start);
  1035. return self;
  1036. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1037. }, function($ctx1) {$ctx1.fill(self,"print:",{aString:aString,start:start,stop:stop,currentLine:currentLine},$globals.HLCodeWidget)});
  1038. //>>excludeEnd("ctx");
  1039. },
  1040. //>>excludeStart("ide", pragmas.excludeIdeData);
  1041. args: ["aString"],
  1042. source: "print: aString\x0a\x09| start stop currentLine |\x0a currentLine := (editor getCursor: false) line.\x0a\x09start := HashedCollection new.\x0a\x09start at: 'line' put: currentLine.\x0a\x09start at: 'ch' put: (editor getCursor: false) ch.\x0a (editor getSelection) ifEmpty: [\x0a \x09\x22select current line if selection is empty\x22\x0a \x09start at: 'ch' put: (editor getLine: currentLine) size.\x0a editor setSelection: #{'line' -> currentLine. 'ch' -> 0} end: start.\x0a ].\x0a\x09stop := HashedCollection new.\x0a\x09stop at: 'line' put: currentLine.\x0a\x09stop at: 'ch' put: ((start at: 'ch') + aString size + 2).\x0a\x0a\x09editor replaceSelection: (editor getSelection, ' ', aString, ' ').\x0a\x09editor setCursor: (editor getCursor: true).\x0a\x09editor setSelection: stop end: start",
  1043. referencedClasses: ["HashedCollection"],
  1044. //>>excludeEnd("ide");
  1045. messageSends: ["line", "getCursor:", "new", "at:put:", "ch", "ifEmpty:", "getSelection", "size", "getLine:", "setSelection:end:", "+", "at:", "replaceSelection:", ",", "setCursor:"]
  1046. }),
  1047. $globals.HLCodeWidget);
  1048. $core.addMethod(
  1049. $core.method({
  1050. selector: "printIt",
  1051. protocol: "actions",
  1052. fn: function (){
  1053. var self=this,$self=this;
  1054. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1055. return $core.withContext(function($ctx1) {
  1056. //>>excludeEnd("ctx");
  1057. $self._print_($recv($self._doIt())._printString());
  1058. return self;
  1059. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1060. }, function($ctx1) {$ctx1.fill(self,"printIt",{},$globals.HLCodeWidget)});
  1061. //>>excludeEnd("ctx");
  1062. },
  1063. //>>excludeStart("ide", pragmas.excludeIdeData);
  1064. args: [],
  1065. source: "printIt\x0a\x09self print: self doIt printString",
  1066. referencedClasses: [],
  1067. //>>excludeEnd("ide");
  1068. messageSends: ["print:", "printString", "doIt"]
  1069. }),
  1070. $globals.HLCodeWidget);
  1071. $core.addMethod(
  1072. $core.method({
  1073. selector: "receiver",
  1074. protocol: "accessing",
  1075. fn: function (){
  1076. var self=this,$self=this;
  1077. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1078. return $core.withContext(function($ctx1) {
  1079. //>>excludeEnd("ctx");
  1080. return $recv($self._model())._receiver();
  1081. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1082. }, function($ctx1) {$ctx1.fill(self,"receiver",{},$globals.HLCodeWidget)});
  1083. //>>excludeEnd("ctx");
  1084. },
  1085. //>>excludeStart("ide", pragmas.excludeIdeData);
  1086. args: [],
  1087. source: "receiver\x0a\x09^ self model receiver",
  1088. referencedClasses: [],
  1089. //>>excludeEnd("ide");
  1090. messageSends: ["receiver", "model"]
  1091. }),
  1092. $globals.HLCodeWidget);
  1093. $core.addMethod(
  1094. $core.method({
  1095. selector: "receiver:",
  1096. protocol: "accessing",
  1097. fn: function (anObject){
  1098. var self=this,$self=this;
  1099. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1100. return $core.withContext(function($ctx1) {
  1101. //>>excludeEnd("ctx");
  1102. $recv($self._model())._receiver_(anObject);
  1103. return self;
  1104. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1105. }, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject},$globals.HLCodeWidget)});
  1106. //>>excludeEnd("ctx");
  1107. },
  1108. //>>excludeStart("ide", pragmas.excludeIdeData);
  1109. args: ["anObject"],
  1110. source: "receiver: anObject\x0a\x09self model receiver: anObject",
  1111. referencedClasses: [],
  1112. //>>excludeEnd("ide");
  1113. messageSends: ["receiver:", "model"]
  1114. }),
  1115. $globals.HLCodeWidget);
  1116. $core.addMethod(
  1117. $core.method({
  1118. selector: "renderButtonsOn:",
  1119. protocol: "rendering",
  1120. fn: function (html){
  1121. var self=this,$self=this;
  1122. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1123. return $core.withContext(function($ctx1) {
  1124. //>>excludeEnd("ctx");
  1125. var $1,$2,$3,$4,$5,$6,$7;
  1126. $1=$recv(html)._button();
  1127. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1128. $ctx1.sendIdx["button"]=1;
  1129. //>>excludeEnd("ctx");
  1130. $recv($1)._class_("button");
  1131. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1132. $ctx1.sendIdx["class:"]=1;
  1133. //>>excludeEnd("ctx");
  1134. $recv($1)._with_("DoIt");
  1135. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1136. $ctx1.sendIdx["with:"]=1;
  1137. //>>excludeEnd("ctx");
  1138. $2=$recv($1)._onClick_((function(){
  1139. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1140. return $core.withContext(function($ctx2) {
  1141. //>>excludeEnd("ctx");
  1142. return $self._doIt();
  1143. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1144. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  1145. //>>excludeEnd("ctx");
  1146. }));
  1147. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1148. $ctx1.sendIdx["onClick:"]=1;
  1149. //>>excludeEnd("ctx");
  1150. $3=$recv(html)._button();
  1151. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1152. $ctx1.sendIdx["button"]=2;
  1153. //>>excludeEnd("ctx");
  1154. $recv($3)._class_("button");
  1155. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1156. $ctx1.sendIdx["class:"]=2;
  1157. //>>excludeEnd("ctx");
  1158. $recv($3)._with_("PrintIt");
  1159. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1160. $ctx1.sendIdx["with:"]=2;
  1161. //>>excludeEnd("ctx");
  1162. $4=$recv($3)._onClick_((function(){
  1163. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1164. return $core.withContext(function($ctx2) {
  1165. //>>excludeEnd("ctx");
  1166. return $self._printIt();
  1167. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1168. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
  1169. //>>excludeEnd("ctx");
  1170. }));
  1171. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1172. $ctx1.sendIdx["onClick:"]=2;
  1173. //>>excludeEnd("ctx");
  1174. $5=$recv(html)._button();
  1175. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1176. $ctx1.sendIdx["button"]=3;
  1177. //>>excludeEnd("ctx");
  1178. $recv($5)._class_("button");
  1179. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1180. $ctx1.sendIdx["class:"]=3;
  1181. //>>excludeEnd("ctx");
  1182. $recv($5)._with_("InspectIt");
  1183. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1184. $ctx1.sendIdx["with:"]=3;
  1185. //>>excludeEnd("ctx");
  1186. $6=$recv($5)._onClick_((function(){
  1187. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1188. return $core.withContext(function($ctx2) {
  1189. //>>excludeEnd("ctx");
  1190. return $self._inspectIt();
  1191. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1192. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)});
  1193. //>>excludeEnd("ctx");
  1194. }));
  1195. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1196. $ctx1.sendIdx["onClick:"]=3;
  1197. //>>excludeEnd("ctx");
  1198. $7=$recv(html)._button();
  1199. $recv($7)._class_("button");
  1200. $recv($7)._with_("BrowseIt");
  1201. $recv($7)._onClick_((function(){
  1202. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1203. return $core.withContext(function($ctx2) {
  1204. //>>excludeEnd("ctx");
  1205. return $self._browseIt();
  1206. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1207. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,4)});
  1208. //>>excludeEnd("ctx");
  1209. }));
  1210. return self;
  1211. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1212. }, function($ctx1) {$ctx1.fill(self,"renderButtonsOn:",{html:html},$globals.HLCodeWidget)});
  1213. //>>excludeEnd("ctx");
  1214. },
  1215. //>>excludeStart("ide", pragmas.excludeIdeData);
  1216. args: ["html"],
  1217. source: "renderButtonsOn: html\x0a\x09html button \x0a\x09\x09class: 'button';\x0a\x09\x09with: 'DoIt';\x0a\x09\x09onClick: [ self doIt ].\x0a\x09html button \x0a\x09\x09class: 'button';\x0a\x09\x09with: 'PrintIt';\x0a\x09\x09onClick: [ self printIt ].\x0a\x09html button \x0a\x09\x09class: 'button';\x0a\x09\x09with: 'InspectIt';\x0a\x09\x09onClick: [ self inspectIt ].\x0a\x09html button \x0a\x09\x09class: 'button';\x0a\x09\x09with: 'BrowseIt';\x0a\x09\x09onClick: [ self browseIt ]",
  1218. referencedClasses: [],
  1219. //>>excludeEnd("ide");
  1220. messageSends: ["class:", "button", "with:", "onClick:", "doIt", "printIt", "inspectIt", "browseIt"]
  1221. }),
  1222. $globals.HLCodeWidget);
  1223. $core.addMethod(
  1224. $core.method({
  1225. selector: "renderContentOn:",
  1226. protocol: "rendering",
  1227. fn: function (html){
  1228. var self=this,$self=this;
  1229. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1230. return $core.withContext(function($ctx1) {
  1231. //>>excludeEnd("ctx");
  1232. var $1,$2,$3,$4;
  1233. $1=$recv(html)._div();
  1234. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1235. $ctx1.sendIdx["div"]=1;
  1236. //>>excludeEnd("ctx");
  1237. $recv($1)._class_("editor");
  1238. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1239. $ctx1.sendIdx["class:"]=1;
  1240. //>>excludeEnd("ctx");
  1241. $2=$recv($1)._with_((function(){
  1242. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1243. return $core.withContext(function($ctx2) {
  1244. //>>excludeEnd("ctx");
  1245. $self["@code"]=$recv(html)._textarea();
  1246. return $self["@code"];
  1247. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1248. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  1249. //>>excludeEnd("ctx");
  1250. }));
  1251. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1252. $ctx1.sendIdx["with:"]=1;
  1253. //>>excludeEnd("ctx");
  1254. $3=$recv(html)._div();
  1255. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1256. $ctx1.sendIdx["div"]=2;
  1257. //>>excludeEnd("ctx");
  1258. $self["@state"]=$recv($3)._class_("state");
  1259. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1260. $ctx1.sendIdx["class:"]=2;
  1261. //>>excludeEnd("ctx");
  1262. $4=$recv(html)._div();
  1263. $recv($4)._class_("buttons_bar");
  1264. $recv($4)._with_((function(){
  1265. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1266. return $core.withContext(function($ctx2) {
  1267. //>>excludeEnd("ctx");
  1268. return $self._renderButtonsOn_(html);
  1269. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1270. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
  1271. //>>excludeEnd("ctx");
  1272. }));
  1273. $self._setEditorOn_($recv($self["@code"])._asDomNode());
  1274. $self._configureEditor();
  1275. $self._updateState();
  1276. return self;
  1277. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1278. }, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},$globals.HLCodeWidget)});
  1279. //>>excludeEnd("ctx");
  1280. },
  1281. //>>excludeStart("ide", pragmas.excludeIdeData);
  1282. args: ["html"],
  1283. source: "renderContentOn: html\x0a\x09html div class: 'editor'; with: [\x0a\x09\x09code := html textarea ].\x0a\x09state := html div class: 'state'.\x0a\x09\x0a\x09html div \x0a\x09\x09class: 'buttons_bar';\x0a\x09\x09with: [ self renderButtonsOn: html ].\x0a\x09\x0a\x09self \x0a\x09\x09setEditorOn: code asDomNode;\x0a\x09\x09configureEditor;\x0a\x09\x09updateState",
  1284. referencedClasses: [],
  1285. //>>excludeEnd("ide");
  1286. messageSends: ["class:", "div", "with:", "textarea", "renderButtonsOn:", "setEditorOn:", "asDomNode", "configureEditor", "updateState"]
  1287. }),
  1288. $globals.HLCodeWidget);
  1289. $core.addMethod(
  1290. $core.method({
  1291. selector: "saveIt",
  1292. protocol: "actions",
  1293. fn: function (){
  1294. var self=this,$self=this;
  1295. return self;
  1296. },
  1297. //>>excludeStart("ide", pragmas.excludeIdeData);
  1298. args: [],
  1299. source: "saveIt\x0a\x09\x22I do not do anything\x22",
  1300. referencedClasses: [],
  1301. //>>excludeEnd("ide");
  1302. messageSends: []
  1303. }),
  1304. $globals.HLCodeWidget);
  1305. $core.addMethod(
  1306. $core.method({
  1307. selector: "selection",
  1308. protocol: "accessing",
  1309. fn: function (){
  1310. var self=this,$self=this;
  1311. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1312. return $core.withContext(function($ctx1) {
  1313. //>>excludeEnd("ctx");
  1314. return $recv($self["@editor"])._getSelection();
  1315. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1316. }, function($ctx1) {$ctx1.fill(self,"selection",{},$globals.HLCodeWidget)});
  1317. //>>excludeEnd("ctx");
  1318. },
  1319. //>>excludeStart("ide", pragmas.excludeIdeData);
  1320. args: [],
  1321. source: "selection\x0a\x09^editor getSelection",
  1322. referencedClasses: [],
  1323. //>>excludeEnd("ide");
  1324. messageSends: ["getSelection"]
  1325. }),
  1326. $globals.HLCodeWidget);
  1327. $core.addMethod(
  1328. $core.method({
  1329. selector: "selectionEnd",
  1330. protocol: "accessing",
  1331. fn: function (){
  1332. var self=this,$self=this;
  1333. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1334. return $core.withContext(function($ctx1) {
  1335. //>>excludeEnd("ctx");
  1336. return $recv($recv($self["@code"])._asDomNode())._selectionEnd();
  1337. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1338. }, function($ctx1) {$ctx1.fill(self,"selectionEnd",{},$globals.HLCodeWidget)});
  1339. //>>excludeEnd("ctx");
  1340. },
  1341. //>>excludeStart("ide", pragmas.excludeIdeData);
  1342. args: [],
  1343. source: "selectionEnd\x0a ^ code asDomNode selectionEnd",
  1344. referencedClasses: [],
  1345. //>>excludeEnd("ide");
  1346. messageSends: ["selectionEnd", "asDomNode"]
  1347. }),
  1348. $globals.HLCodeWidget);
  1349. $core.addMethod(
  1350. $core.method({
  1351. selector: "selectionEnd:",
  1352. protocol: "accessing",
  1353. fn: function (anInteger){
  1354. var self=this,$self=this;
  1355. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1356. return $core.withContext(function($ctx1) {
  1357. //>>excludeEnd("ctx");
  1358. $recv($recv($self["@code"])._asDomNode())._selectionEnd_(anInteger);
  1359. return self;
  1360. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1361. }, function($ctx1) {$ctx1.fill(self,"selectionEnd:",{anInteger:anInteger},$globals.HLCodeWidget)});
  1362. //>>excludeEnd("ctx");
  1363. },
  1364. //>>excludeStart("ide", pragmas.excludeIdeData);
  1365. args: ["anInteger"],
  1366. source: "selectionEnd: anInteger\x0a code asDomNode selectionEnd: anInteger",
  1367. referencedClasses: [],
  1368. //>>excludeEnd("ide");
  1369. messageSends: ["selectionEnd:", "asDomNode"]
  1370. }),
  1371. $globals.HLCodeWidget);
  1372. $core.addMethod(
  1373. $core.method({
  1374. selector: "selectionStart",
  1375. protocol: "accessing",
  1376. fn: function (){
  1377. var self=this,$self=this;
  1378. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1379. return $core.withContext(function($ctx1) {
  1380. //>>excludeEnd("ctx");
  1381. return $recv($recv($self["@code"])._asDomNode())._selectionStart();
  1382. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1383. }, function($ctx1) {$ctx1.fill(self,"selectionStart",{},$globals.HLCodeWidget)});
  1384. //>>excludeEnd("ctx");
  1385. },
  1386. //>>excludeStart("ide", pragmas.excludeIdeData);
  1387. args: [],
  1388. source: "selectionStart\x0a ^ code asDomNode selectionStart",
  1389. referencedClasses: [],
  1390. //>>excludeEnd("ide");
  1391. messageSends: ["selectionStart", "asDomNode"]
  1392. }),
  1393. $globals.HLCodeWidget);
  1394. $core.addMethod(
  1395. $core.method({
  1396. selector: "selectionStart:",
  1397. protocol: "accessing",
  1398. fn: function (anInteger){
  1399. var self=this,$self=this;
  1400. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1401. return $core.withContext(function($ctx1) {
  1402. //>>excludeEnd("ctx");
  1403. $recv($recv($self["@code"])._asDomNode())._selectionStart_(anInteger);
  1404. return self;
  1405. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1406. }, function($ctx1) {$ctx1.fill(self,"selectionStart:",{anInteger:anInteger},$globals.HLCodeWidget)});
  1407. //>>excludeEnd("ctx");
  1408. },
  1409. //>>excludeStart("ide", pragmas.excludeIdeData);
  1410. args: ["anInteger"],
  1411. source: "selectionStart: anInteger\x0a code asDomNode selectionStart: anInteger",
  1412. referencedClasses: [],
  1413. //>>excludeEnd("ide");
  1414. messageSends: ["selectionStart:", "asDomNode"]
  1415. }),
  1416. $globals.HLCodeWidget);
  1417. $core.addMethod(
  1418. $core.method({
  1419. selector: "setEditorOn:",
  1420. protocol: "actions",
  1421. fn: function (aTextarea){
  1422. var self=this,$self=this;
  1423. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1424. return $core.withContext(function($ctx1) {
  1425. //>>excludeEnd("ctx");
  1426. $self["@editor"] = codeMirrorLib.fromTextArea(aTextarea, $self._editorOptions());
  1427. return self;
  1428. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1429. }, function($ctx1) {$ctx1.fill(self,"setEditorOn:",{aTextarea:aTextarea},$globals.HLCodeWidget)});
  1430. //>>excludeEnd("ctx");
  1431. },
  1432. //>>excludeStart("ide", pragmas.excludeIdeData);
  1433. args: ["aTextarea"],
  1434. source: "setEditorOn: aTextarea\x0a\x09<inlineJS: '$self[\x22@editor\x22] = codeMirrorLib.fromTextArea(aTextarea, $self._editorOptions())'>",
  1435. referencedClasses: [],
  1436. //>>excludeEnd("ide");
  1437. messageSends: []
  1438. }),
  1439. $globals.HLCodeWidget);
  1440. $core.addMethod(
  1441. $core.method({
  1442. selector: "updateState",
  1443. protocol: "updating",
  1444. fn: function (){
  1445. var self=this,$self=this;
  1446. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1447. return $core.withContext(function($ctx1) {
  1448. //>>excludeEnd("ctx");
  1449. var $1,$2;
  1450. $1=$self._hasModification();
  1451. if($core.assert($1)){
  1452. $2=$recv($self["@state"])._asJQuery();
  1453. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1454. $ctx1.sendIdx["asJQuery"]=1;
  1455. //>>excludeEnd("ctx");
  1456. $recv($2)._addClass_("modified");
  1457. } else {
  1458. $recv($recv($self["@state"])._asJQuery())._removeClass_("modified");
  1459. }
  1460. return self;
  1461. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1462. }, function($ctx1) {$ctx1.fill(self,"updateState",{},$globals.HLCodeWidget)});
  1463. //>>excludeEnd("ctx");
  1464. },
  1465. //>>excludeStart("ide", pragmas.excludeIdeData);
  1466. args: [],
  1467. source: "updateState\x0a\x09self hasModification \x0a\x09\x09ifTrue: [ state asJQuery addClass: 'modified' ]\x0a\x09\x09ifFalse: [ state asJQuery removeClass: 'modified' ]",
  1468. referencedClasses: [],
  1469. //>>excludeEnd("ide");
  1470. messageSends: ["ifTrue:ifFalse:", "hasModification", "addClass:", "asJQuery", "removeClass:"]
  1471. }),
  1472. $globals.HLCodeWidget);
  1473. $core.addMethod(
  1474. $core.method({
  1475. selector: "variableHintFor:token:",
  1476. protocol: "hints",
  1477. fn: function (anEditor,aToken){
  1478. var self=this,$self=this;
  1479. var variables,classNames,pseudoVariables;
  1480. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1481. return $core.withContext(function($ctx1) {
  1482. //>>excludeEnd("ctx");
  1483. var $3,$2,$1,$8,$7,$6,$5,$9,$4;
  1484. $3=$recv($recv($recv(anEditor)._display())._wrapper())._asJQuery();
  1485. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1486. $ctx1.sendIdx["asJQuery"]=1;
  1487. //>>excludeEnd("ctx");
  1488. $2=$recv($3)._find_("span.cm-variable");
  1489. $1=$recv($2)._get();
  1490. variables=$recv($1)._collect_((function(each){
  1491. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1492. return $core.withContext(function($ctx2) {
  1493. //>>excludeEnd("ctx");
  1494. return $recv($recv(each)._asJQuery())._html();
  1495. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1496. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
  1497. //>>excludeEnd("ctx");
  1498. }));
  1499. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1500. $ctx1.sendIdx["collect:"]=1;
  1501. //>>excludeEnd("ctx");
  1502. classNames=$recv($recv($globals.Smalltalk)._classes())._collect_((function(each){
  1503. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1504. return $core.withContext(function($ctx2) {
  1505. //>>excludeEnd("ctx");
  1506. return $recv(each)._name();
  1507. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1508. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)});
  1509. //>>excludeEnd("ctx");
  1510. }));
  1511. pseudoVariables=$recv($globals.Smalltalk)._pseudoVariableNames();
  1512. $8=$recv($recv(variables).__comma(classNames)).__comma(pseudoVariables);
  1513. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1514. $ctx1.sendIdx[","]=1;
  1515. //>>excludeEnd("ctx");
  1516. $7=$recv($8)._asSet();
  1517. $6=$recv($7)._asArray();
  1518. $5=$recv($6)._sort();
  1519. $4=$recv($5)._select_((function(each){
  1520. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1521. return $core.withContext(function($ctx2) {
  1522. //>>excludeEnd("ctx");
  1523. $9=$recv(aToken)._string();
  1524. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1525. $ctx2.sendIdx["string"]=1;
  1526. //>>excludeEnd("ctx");
  1527. return $recv(each)._includesSubString_($9);
  1528. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1529. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,3)});
  1530. //>>excludeEnd("ctx");
  1531. }));
  1532. return $recv($4)._reject_((function(each){
  1533. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1534. return $core.withContext(function($ctx2) {
  1535. //>>excludeEnd("ctx");
  1536. return $recv(each).__eq($recv(aToken)._string());
  1537. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1538. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,4)});
  1539. //>>excludeEnd("ctx");
  1540. }));
  1541. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1542. }, function($ctx1) {$ctx1.fill(self,"variableHintFor:token:",{anEditor:anEditor,aToken:aToken,variables:variables,classNames:classNames,pseudoVariables:pseudoVariables},$globals.HLCodeWidget)});
  1543. //>>excludeEnd("ctx");
  1544. },
  1545. //>>excludeStart("ide", pragmas.excludeIdeData);
  1546. args: ["anEditor", "aToken"],
  1547. source: "variableHintFor: anEditor token: aToken\x0a\x09| variables classNames pseudoVariables |\x0a\x09\x0a\x09variables := (anEditor display wrapper asJQuery find: 'span.cm-variable') get\x0a\x09\x09collect: [ :each | each asJQuery html ].\x0a\x09\x0a\x09classNames := Smalltalk classes collect: [ :each | each name ].\x0a\x09pseudoVariables := Smalltalk pseudoVariableNames.\x0a\x09\x0a\x09^ ((variables, classNames, pseudoVariables) asSet asArray sort\x0a\x09\x09select: [ :each | each includesSubString: aToken string ])\x0a\x09\x09reject: [ :each | each = aToken string ]",
  1548. referencedClasses: ["Smalltalk"],
  1549. //>>excludeEnd("ide");
  1550. messageSends: ["collect:", "get", "find:", "asJQuery", "wrapper", "display", "html", "classes", "name", "pseudoVariableNames", "reject:", "select:", "sort", "asArray", "asSet", ",", "includesSubString:", "string", "="]
  1551. }),
  1552. $globals.HLCodeWidget);
  1553. $core.addMethod(
  1554. $core.method({
  1555. selector: "hintFor:options:",
  1556. protocol: "hints",
  1557. fn: function (anEditor,options){
  1558. var self=this,$self=this;
  1559. var cursor,token,completions;
  1560. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1561. return $core.withContext(function($ctx1) {
  1562. //>>excludeEnd("ctx");
  1563. var $1,$4,$3,$2,$5,$6,$8,$9,$7;
  1564. cursor=$recv(anEditor)._getCursor();
  1565. token=$recv(anEditor)._getTokenAt_(cursor);
  1566. $1=token;
  1567. $4=$recv(codeMirrorLib)._basicAt_("innerMode");
  1568. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1569. $ctx1.sendIdx["basicAt:"]=1;
  1570. //>>excludeEnd("ctx");
  1571. $3=$recv($4)._value_value_($recv(anEditor)._getMode(),$recv(token)._at_("state"));
  1572. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1573. $ctx1.sendIdx["value:value:"]=1;
  1574. //>>excludeEnd("ctx");
  1575. $2=$recv($3)._state();
  1576. $recv($1)._at_put_("state",$2);
  1577. $5=$recv($recv(token)._type()).__eq("variable");
  1578. if($core.assert($5)){
  1579. completions=$recv($globals.HLCodeWidget)._variableHintFor_token_(anEditor,token);
  1580. } else {
  1581. completions=$recv($globals.HLCodeWidget)._messageHintFor_token_(anEditor,token);
  1582. }
  1583. $6=completions;
  1584. $8=$recv(codeMirrorLib)._basicAt_("Pos");
  1585. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1586. $ctx1.sendIdx["basicAt:"]=2;
  1587. //>>excludeEnd("ctx");
  1588. $9=$recv(cursor)._line();
  1589. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1590. $ctx1.sendIdx["line"]=1;
  1591. //>>excludeEnd("ctx");
  1592. $7=$recv($8)._value_value_($9,$recv(token)._end());
  1593. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1594. $ctx1.sendIdx["value:value:"]=2;
  1595. //>>excludeEnd("ctx");
  1596. return $globals.HashedCollection._newFromPairs_(["list",$6,"from",$7,"to",$recv($recv(codeMirrorLib)._basicAt_("Pos"))._value_value_($recv(cursor)._line(),$recv(token)._start())]);
  1597. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1598. }, function($ctx1) {$ctx1.fill(self,"hintFor:options:",{anEditor:anEditor,options:options,cursor:cursor,token:token,completions:completions},$globals.HLCodeWidget.a$cls)});
  1599. //>>excludeEnd("ctx");
  1600. },
  1601. //>>excludeStart("ide", pragmas.excludeIdeData);
  1602. args: ["anEditor", "options"],
  1603. source: "hintFor: anEditor options: options\x0a\x09| cursor token completions |\x0a\x09\x0a\x09cursor := anEditor getCursor.\x0a\x09token := anEditor getTokenAt: cursor.\x0a\x09token at: 'state' put: ((codeMirrorLib basicAt: 'innerMode')\x0a\x09\x09value: anEditor getMode value: (token at: 'state')) state.\x0a\x09\x0a\x09completions := token type = 'variable' \x0a\x09\x09ifTrue: [ HLCodeWidget variableHintFor: anEditor token: token ]\x0a\x09\x09ifFalse: [ HLCodeWidget messageHintFor: anEditor token: token ].\x0a\x09\x0a\x09^ #{\x0a\x09\x09'list' -> completions.\x0a\x09\x09'from' -> ((codeMirrorLib basicAt: 'Pos') value: cursor line value: token end).\x0a\x09\x09'to' -> ((codeMirrorLib basicAt: 'Pos') value: cursor line value: token start)\x0a\x09}",
  1604. referencedClasses: ["HLCodeWidget"],
  1605. //>>excludeEnd("ide");
  1606. messageSends: ["getCursor", "getTokenAt:", "at:put:", "state", "value:value:", "basicAt:", "getMode", "at:", "ifTrue:ifFalse:", "=", "type", "variableHintFor:token:", "messageHintFor:token:", "line", "end", "start"]
  1607. }),
  1608. $globals.HLCodeWidget.a$cls);
  1609. $core.addMethod(
  1610. $core.method({
  1611. selector: "initialize",
  1612. protocol: "initialization",
  1613. fn: function (){
  1614. var self=this,$self=this;
  1615. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1616. return $core.withContext(function($ctx1) {
  1617. //>>excludeEnd("ctx");
  1618. (
  1619. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1620. $ctx1.supercall = true,
  1621. //>>excludeEnd("ctx");
  1622. ($globals.HLCodeWidget.a$cls.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($self, []));
  1623. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1624. $ctx1.supercall = false;
  1625. //>>excludeEnd("ctx");;
  1626. $self._setupCodeMirror();
  1627. $self._setupCommands();
  1628. $self._setupKeyMaps();
  1629. return self;
  1630. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1631. }, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.HLCodeWidget.a$cls)});
  1632. //>>excludeEnd("ctx");
  1633. },
  1634. //>>excludeStart("ide", pragmas.excludeIdeData);
  1635. args: [],
  1636. source: "initialize\x0a\x09super initialize.\x0a\x09self \x0a\x09\x09setupCodeMirror;\x0a\x09\x09setupCommands;\x0a\x09\x09setupKeyMaps.",
  1637. referencedClasses: [],
  1638. //>>excludeEnd("ide");
  1639. messageSends: ["initialize", "setupCodeMirror", "setupCommands", "setupKeyMaps"]
  1640. }),
  1641. $globals.HLCodeWidget.a$cls);
  1642. $core.addMethod(
  1643. $core.method({
  1644. selector: "keyMap",
  1645. protocol: "accessing",
  1646. fn: function (){
  1647. var self=this,$self=this;
  1648. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1649. return $core.withContext(function($ctx1) {
  1650. //>>excludeEnd("ctx");
  1651. var $1;
  1652. $1=$recv($recv($recv($globals.HLManager)._current())._keyBinder())._systemIsMac();
  1653. if($core.assert($1)){
  1654. return $self._macKeyMap();
  1655. } else {
  1656. return $self._pcKeyMap();
  1657. }
  1658. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1659. }, function($ctx1) {$ctx1.fill(self,"keyMap",{},$globals.HLCodeWidget.a$cls)});
  1660. //>>excludeEnd("ctx");
  1661. },
  1662. //>>excludeStart("ide", pragmas.excludeIdeData);
  1663. args: [],
  1664. source: "keyMap\x0a\x09^ HLManager current keyBinder systemIsMac\x0a\x09\x09ifTrue: [ self macKeyMap ]\x0a\x09\x09ifFalse: [ self pcKeyMap ]",
  1665. referencedClasses: ["HLManager"],
  1666. //>>excludeEnd("ide");
  1667. messageSends: ["ifTrue:ifFalse:", "systemIsMac", "keyBinder", "current", "macKeyMap", "pcKeyMap"]
  1668. }),
  1669. $globals.HLCodeWidget.a$cls);
  1670. $core.addMethod(
  1671. $core.method({
  1672. selector: "macKeyMap",
  1673. protocol: "accessing",
  1674. fn: function (){
  1675. var self=this,$self=this;
  1676. return $globals.HashedCollection._newFromPairs_(["Alt-Backspace","delWordBefore","Alt-Delete","delWordAfter","Alt-Left","goWordLeft","Alt-Right","goWordRight","Cmd-A","selectAll","Cmd-Alt-F","replace","Cmd-D","doIt","Cmd-B","browseIt","Cmd-Down","goDocEnd","Cmd-End","goDocEnd","Cmd-F","find","Cmd-G","findNext","Cmd-I","inspectIt","Cmd-Left","goLineStart","Cmd-P","printIt","Cmd-Right","goLineEnd","Cmd-S","saveIt","Cmd-Up","goDocStart","Cmd-Y","redo","Cmd-Z","undo","Cmd-[","indentLess","Cmd-]","indentMore","Ctrl-Alt-Backspace","delWordAfter","Shift-Cmd-Alt-F","replaceAll","Shift-Cmd-G","findPrev","Shift-Cmd-Z","redo","fallthrough",["basic","emacsy"]]);
  1677. },
  1678. //>>excludeStart("ide", pragmas.excludeIdeData);
  1679. args: [],
  1680. source: "macKeyMap\x0a\x09^ #{\x0a\x09\x09'Alt-Backspace'\x09\x09\x09-> 'delWordBefore'.\x0a\x09\x09'Alt-Delete'\x09\x09\x09-> 'delWordAfter'. \x0a\x09\x09'Alt-Left'\x09\x09\x09\x09-> 'goWordLeft'.\x0a\x09\x09'Alt-Right'\x09\x09\x09\x09-> 'goWordRight'. \x0a\x09\x09'Cmd-A'\x09\x09\x09\x09\x09-> 'selectAll'. \x0a\x09\x09'Cmd-Alt-F'\x09\x09\x09\x09-> 'replace'. \x0a\x09\x09'Cmd-D'\x09\x09\x09\x09\x09-> 'doIt'. \x0a\x09\x09'Cmd-B'\x09\x09\x09\x09\x09-> 'browseIt'. \x0a\x09\x09'Cmd-Down'\x09\x09\x09\x09-> 'goDocEnd'. \x0a\x09\x09'Cmd-End'\x09\x09\x09\x09-> 'goDocEnd'. \x0a\x09\x09'Cmd-F'\x09\x09\x09\x09\x09-> 'find'.\x0a\x09\x09'Cmd-G'\x09\x09\x09\x09\x09-> 'findNext'. \x0a\x09\x09'Cmd-I'\x09\x09\x09\x09\x09-> 'inspectIt'. \x0a\x09\x09'Cmd-Left'\x09\x09\x09\x09-> 'goLineStart'. \x0a\x09\x09'Cmd-P'\x09\x09\x09\x09\x09-> 'printIt'. \x0a\x09\x09'Cmd-Right'\x09\x09\x09\x09-> 'goLineEnd'. \x0a\x09\x09'Cmd-S'\x09\x09\x09\x09\x09-> 'saveIt'. \x0a\x09\x09'Cmd-Up'\x09\x09\x09\x09-> 'goDocStart'. \x0a\x09\x09'Cmd-Y'\x09\x09\x09\x09\x09-> 'redo'.\x0a\x09\x09'Cmd-Z'\x09\x09\x09\x09\x09-> 'undo'. \x0a\x09\x09'Cmd-['\x09\x09\x09\x09\x09-> 'indentLess'. \x0a\x09\x09'Cmd-]'\x09\x09\x09\x09\x09-> 'indentMore'.\x0a\x09\x09'Ctrl-Alt-Backspace'\x09-> 'delWordAfter'. \x0a\x09\x09'Shift-Cmd-Alt-F'\x09\x09-> 'replaceAll'.\x0a\x09\x09'Shift-Cmd-G'\x09\x09\x09-> 'findPrev'. \x0a\x09\x09'Shift-Cmd-Z'\x09\x09\x09-> 'redo'. \x0a \x09'fallthrough' \x09\x09\x09-> { 'basic'. 'emacsy' }\x0a }",
  1681. referencedClasses: [],
  1682. //>>excludeEnd("ide");
  1683. messageSends: []
  1684. }),
  1685. $globals.HLCodeWidget.a$cls);
  1686. $core.addMethod(
  1687. $core.method({
  1688. selector: "messageHintFor:token:",
  1689. protocol: "hints",
  1690. fn: function (anEditor,aToken){
  1691. var self=this,$self=this;
  1692. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1693. return $core.withContext(function($ctx1) {
  1694. //>>excludeEnd("ctx");
  1695. return $recv($recv(anEditor)._at_("amberCodeWidget"))._messageHintFor_token_(anEditor,aToken);
  1696. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1697. }, function($ctx1) {$ctx1.fill(self,"messageHintFor:token:",{anEditor:anEditor,aToken:aToken},$globals.HLCodeWidget.a$cls)});
  1698. //>>excludeEnd("ctx");
  1699. },
  1700. //>>excludeStart("ide", pragmas.excludeIdeData);
  1701. args: ["anEditor", "aToken"],
  1702. source: "messageHintFor: anEditor token: aToken\x0a\x09^ (anEditor at: 'amberCodeWidget')\x0a\x09\x09messageHintFor: anEditor token: aToken",
  1703. referencedClasses: [],
  1704. //>>excludeEnd("ide");
  1705. messageSends: ["messageHintFor:token:", "at:"]
  1706. }),
  1707. $globals.HLCodeWidget.a$cls);
  1708. $core.addMethod(
  1709. $core.method({
  1710. selector: "pcKeyMap",
  1711. protocol: "accessing",
  1712. fn: function (){
  1713. var self=this,$self=this;
  1714. return $globals.HashedCollection._newFromPairs_(["Alt-Left","goLineStart","Alt-Right","goLineEnd","Alt-Up","goDocStart","Ctrl-A","selectAll","Ctrl-Backspace","delWordBefore","Ctrl-D","doIt","Ctrl-B","browseIt","Ctrl-Delete","delWordAfter","Ctrl-Down","goDocEnd","Ctrl-End","goDocEnd","Ctrl-F","find","Ctrl-G","findNext","Ctrl-I","inspectIt","Ctrl-Home","goDocStart","Ctrl-Left","goWordLeft","Ctrl-P","printIt","Ctrl-Right","goWordRight","Ctrl-S","saveIt","Ctrl-Y","redo","Ctrl-Z","undo","Ctrl-[","indentLess","Ctrl-]","indentMore","Shift-Ctrl-F","replace","Shift-Ctrl-G","findPrev","Shift-Ctrl-R","replaceAll","Shift-Ctrl-Z","redo","fallthrough",["basic"]]);
  1715. },
  1716. //>>excludeStart("ide", pragmas.excludeIdeData);
  1717. args: [],
  1718. source: "pcKeyMap\x0a\x09^ #{\x0a\x09\x09'Alt-Left' -> \x09\x09'goLineStart'. \x0a\x09\x09'Alt-Right' -> \x09\x09'goLineEnd'.\x0a\x09\x09'Alt-Up' -> \x09\x09'goDocStart'. \x0a\x09\x09'Ctrl-A' -> \x09\x09'selectAll'. \x0a\x09\x09'Ctrl-Backspace' -> 'delWordBefore'. \x0a\x09\x09'Ctrl-D' -> \x09\x09'doIt'. \x0a\x09\x09'Ctrl-B' -> \x09\x09'browseIt'. \x0a\x09\x09'Ctrl-Delete' -> \x09\x09'delWordAfter'. \x0a\x09\x09'Ctrl-Down' -> \x09\x09'goDocEnd'.\x0a\x09\x09'Ctrl-End' -> \x09\x09'goDocEnd'. \x0a\x09\x09'Ctrl-F' -> \x09\x09'find'.\x0a\x09\x09'Ctrl-G' -> \x09\x09'findNext'. \x0a\x09\x09'Ctrl-I' -> \x09\x09'inspectIt'.\x0a\x09\x09'Ctrl-Home' -> \x09\x09'goDocStart'. \x0a\x09\x09'Ctrl-Left' -> \x09\x09'goWordLeft'. \x0a\x09\x09'Ctrl-P' -> \x09\x09'printIt'.\x0a\x09\x09'Ctrl-Right' -> \x09'goWordRight'. \x0a\x09\x09'Ctrl-S' -> \x09\x09'saveIt'. \x0a\x09\x09'Ctrl-Y' -> \x09\x09'redo'.\x0a\x09\x09'Ctrl-Z' -> \x09\x09'undo'. \x0a\x09\x09'Ctrl-[' -> \x09\x09'indentLess'. \x0a\x09\x09'Ctrl-]' -> \x09\x09'indentMore'.\x0a\x09\x09'Shift-Ctrl-F' -> \x09'replace'. \x0a\x09\x09'Shift-Ctrl-G' -> \x09'findPrev'. \x0a\x09\x09'Shift-Ctrl-R' -> \x09'replaceAll'.\x0a\x09\x09'Shift-Ctrl-Z' -> \x09'redo'. \x0a\x09\x09'fallthrough' -> \x09#('basic')\x0a}",
  1719. referencedClasses: [],
  1720. //>>excludeEnd("ide");
  1721. messageSends: []
  1722. }),
  1723. $globals.HLCodeWidget.a$cls);
  1724. $core.addMethod(
  1725. $core.method({
  1726. selector: "setupCodeMirror",
  1727. protocol: "initialization",
  1728. fn: function (){
  1729. var self=this,$self=this;
  1730. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1731. return $core.withContext(function($ctx1) {
  1732. //>>excludeEnd("ctx");
  1733. codeMirrorLib.keyMap["default"].fallthrough = ["basic"];
  1734. codeMirrorLib.commands.autocomplete = function(cm) {
  1735. codeMirrorLib.showHint(cm, $self._hintFor_options_.bind($self));
  1736. }
  1737. ;
  1738. return self;
  1739. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1740. }, function($ctx1) {$ctx1.fill(self,"setupCodeMirror",{},$globals.HLCodeWidget.a$cls)});
  1741. //>>excludeEnd("ctx");
  1742. },
  1743. //>>excludeStart("ide", pragmas.excludeIdeData);
  1744. args: [],
  1745. source: "setupCodeMirror\x0a\x09<inlineJS: '\x0a\x09\x09codeMirrorLib.keyMap[\x22default\x22].fallthrough = [\x22basic\x22];\x0a\x09\x09codeMirrorLib.commands.autocomplete = function(cm) {\x0a\x09\x09\x09codeMirrorLib.showHint(cm, $self._hintFor_options_.bind($self));\x0a\x09\x09}\x0a\x09'>",
  1746. referencedClasses: [],
  1747. //>>excludeEnd("ide");
  1748. messageSends: []
  1749. }),
  1750. $globals.HLCodeWidget.a$cls);
  1751. $core.addMethod(
  1752. $core.method({
  1753. selector: "setupCommands",
  1754. protocol: "initialization",
  1755. fn: function (){
  1756. var self=this,$self=this;
  1757. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1758. return $core.withContext(function($ctx1) {
  1759. //>>excludeEnd("ctx");
  1760. var $1,$2,$3,$4,$5;
  1761. $1=$recv(codeMirrorLib)._basicAt_("commands");
  1762. $recv($1)._at_put_("doIt",(function(cm){
  1763. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1764. return $core.withContext(function($ctx2) {
  1765. //>>excludeEnd("ctx");
  1766. $2=$recv(cm)._amberCodeWidget();
  1767. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1768. $ctx2.sendIdx["amberCodeWidget"]=1;
  1769. //>>excludeEnd("ctx");
  1770. return $recv($2)._doIt();
  1771. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1772. }, function($ctx2) {$ctx2.fillBlock({cm:cm},$ctx1,1)});
  1773. //>>excludeEnd("ctx");
  1774. }));
  1775. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1776. $ctx1.sendIdx["at:put:"]=1;
  1777. //>>excludeEnd("ctx");
  1778. $recv($1)._at_put_("inspectIt",(function(cm){
  1779. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1780. return $core.withContext(function($ctx2) {
  1781. //>>excludeEnd("ctx");
  1782. $3=$recv(cm)._amberCodeWidget();
  1783. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1784. $ctx2.sendIdx["amberCodeWidget"]=2;
  1785. //>>excludeEnd("ctx");
  1786. return $recv($3)._inspectIt();
  1787. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1788. }, function($ctx2) {$ctx2.fillBlock({cm:cm},$ctx1,2)});
  1789. //>>excludeEnd("ctx");
  1790. }));
  1791. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1792. $ctx1.sendIdx["at:put:"]=2;
  1793. //>>excludeEnd("ctx");
  1794. $recv($1)._at_put_("printIt",(function(cm){
  1795. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1796. return $core.withContext(function($ctx2) {
  1797. //>>excludeEnd("ctx");
  1798. $4=$recv(cm)._amberCodeWidget();
  1799. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1800. $ctx2.sendIdx["amberCodeWidget"]=3;
  1801. //>>excludeEnd("ctx");
  1802. return $recv($4)._printIt();
  1803. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1804. }, function($ctx2) {$ctx2.fillBlock({cm:cm},$ctx1,3)});
  1805. //>>excludeEnd("ctx");
  1806. }));
  1807. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1808. $ctx1.sendIdx["at:put:"]=3;
  1809. //>>excludeEnd("ctx");
  1810. $recv($1)._at_put_("saveIt",(function(cm){
  1811. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1812. return $core.withContext(function($ctx2) {
  1813. //>>excludeEnd("ctx");
  1814. $5=$recv(cm)._amberCodeWidget();
  1815. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1816. $ctx2.sendIdx["amberCodeWidget"]=4;
  1817. //>>excludeEnd("ctx");
  1818. return $recv($5)._saveIt();
  1819. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1820. }, function($ctx2) {$ctx2.fillBlock({cm:cm},$ctx1,4)});
  1821. //>>excludeEnd("ctx");
  1822. }));
  1823. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1824. $ctx1.sendIdx["at:put:"]=4;
  1825. //>>excludeEnd("ctx");
  1826. $recv($1)._at_put_("browseIt",(function(cm){
  1827. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1828. return $core.withContext(function($ctx2) {
  1829. //>>excludeEnd("ctx");
  1830. return $recv($recv(cm)._amberCodeWidget())._browseIt();
  1831. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1832. }, function($ctx2) {$ctx2.fillBlock({cm:cm},$ctx1,5)});
  1833. //>>excludeEnd("ctx");
  1834. }));
  1835. return self;
  1836. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1837. }, function($ctx1) {$ctx1.fill(self,"setupCommands",{},$globals.HLCodeWidget.a$cls)});
  1838. //>>excludeEnd("ctx");
  1839. },
  1840. //>>excludeStart("ide", pragmas.excludeIdeData);
  1841. args: [],
  1842. source: "setupCommands\x0a\x09(codeMirrorLib basicAt: 'commands') \x0a\x09\x09at: 'doIt' put: [ :cm | cm amberCodeWidget doIt ];\x0a\x09\x09at: 'inspectIt' put: [ :cm | cm amberCodeWidget inspectIt ];\x0a\x09\x09at: 'printIt' put: [ :cm | cm amberCodeWidget printIt ];\x0a\x09\x09at: 'saveIt' put: [ :cm | cm amberCodeWidget saveIt ];\x0a\x09\x09at: 'browseIt' put: [ :cm | cm amberCodeWidget browseIt ]",
  1843. referencedClasses: [],
  1844. //>>excludeEnd("ide");
  1845. messageSends: ["at:put:", "basicAt:", "doIt", "amberCodeWidget", "inspectIt", "printIt", "saveIt", "browseIt"]
  1846. }),
  1847. $globals.HLCodeWidget.a$cls);
  1848. $core.addMethod(
  1849. $core.method({
  1850. selector: "setupKeyMaps",
  1851. protocol: "initialization",
  1852. fn: function (){
  1853. var self=this,$self=this;
  1854. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1855. return $core.withContext(function($ctx1) {
  1856. //>>excludeEnd("ctx");
  1857. codeMirrorLib.keyMap["Amber"] = $self._keyMap();
  1858. return self;
  1859. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1860. }, function($ctx1) {$ctx1.fill(self,"setupKeyMaps",{},$globals.HLCodeWidget.a$cls)});
  1861. //>>excludeEnd("ctx");
  1862. },
  1863. //>>excludeStart("ide", pragmas.excludeIdeData);
  1864. args: [],
  1865. source: "setupKeyMaps\x0a\x09<inlineJS: 'codeMirrorLib.keyMap[\x22Amber\x22] = $self._keyMap()'>",
  1866. referencedClasses: [],
  1867. //>>excludeEnd("ide");
  1868. messageSends: []
  1869. }),
  1870. $globals.HLCodeWidget.a$cls);
  1871. $core.addMethod(
  1872. $core.method({
  1873. selector: "variableHintFor:token:",
  1874. protocol: "hints",
  1875. fn: function (anEditor,aToken){
  1876. var self=this,$self=this;
  1877. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1878. return $core.withContext(function($ctx1) {
  1879. //>>excludeEnd("ctx");
  1880. return $recv($recv(anEditor)._at_("amberCodeWidget"))._variableHintFor_token_(anEditor,aToken);
  1881. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1882. }, function($ctx1) {$ctx1.fill(self,"variableHintFor:token:",{anEditor:anEditor,aToken:aToken},$globals.HLCodeWidget.a$cls)});
  1883. //>>excludeEnd("ctx");
  1884. },
  1885. //>>excludeStart("ide", pragmas.excludeIdeData);
  1886. args: ["anEditor", "aToken"],
  1887. source: "variableHintFor: anEditor token: aToken\x0a\x09^ (anEditor at: 'amberCodeWidget')\x0a\x09\x09variableHintFor: anEditor token: aToken",
  1888. referencedClasses: [],
  1889. //>>excludeEnd("ide");
  1890. messageSends: ["variableHintFor:token:", "at:"]
  1891. }),
  1892. $globals.HLCodeWidget.a$cls);
  1893. $core.addClass("HLNavigationCodeWidget", $globals.HLCodeWidget, ["methodContents"], "Helios-Workspace");
  1894. $core.addMethod(
  1895. $core.method({
  1896. selector: "configureEditor",
  1897. protocol: "accessing",
  1898. fn: function (){
  1899. var self=this,$self=this;
  1900. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1901. return $core.withContext(function($ctx1) {
  1902. //>>excludeEnd("ctx");
  1903. (
  1904. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1905. $ctx1.supercall = true,
  1906. //>>excludeEnd("ctx");
  1907. ($globals.HLNavigationCodeWidget.superclass||$boot.nilAsClass).fn.prototype._configureEditor.apply($self, []));
  1908. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1909. $ctx1.supercall = false;
  1910. //>>excludeEnd("ctx");;
  1911. $self._contents_($self._methodContents());
  1912. return self;
  1913. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1914. }, function($ctx1) {$ctx1.fill(self,"configureEditor",{},$globals.HLNavigationCodeWidget)});
  1915. //>>excludeEnd("ctx");
  1916. },
  1917. //>>excludeStart("ide", pragmas.excludeIdeData);
  1918. args: [],
  1919. source: "configureEditor\x0a\x09super configureEditor.\x0a\x09self contents: self methodContents",
  1920. referencedClasses: [],
  1921. //>>excludeEnd("ide");
  1922. messageSends: ["configureEditor", "contents:", "methodContents"]
  1923. }),
  1924. $globals.HLNavigationCodeWidget);
  1925. $core.addMethod(
  1926. $core.method({
  1927. selector: "contents:",
  1928. protocol: "accessing",
  1929. fn: function (aString){
  1930. var self=this,$self=this;
  1931. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1932. return $core.withContext(function($ctx1) {
  1933. //>>excludeEnd("ctx");
  1934. $self._methodContents_(aString);
  1935. (
  1936. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1937. $ctx1.supercall = true,
  1938. //>>excludeEnd("ctx");
  1939. ($globals.HLNavigationCodeWidget.superclass||$boot.nilAsClass).fn.prototype._contents_.apply($self, [aString]));
  1940. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1941. $ctx1.supercall = false;
  1942. //>>excludeEnd("ctx");;
  1943. return self;
  1944. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1945. }, function($ctx1) {$ctx1.fill(self,"contents:",{aString:aString},$globals.HLNavigationCodeWidget)});
  1946. //>>excludeEnd("ctx");
  1947. },
  1948. //>>excludeStart("ide", pragmas.excludeIdeData);
  1949. args: ["aString"],
  1950. source: "contents: aString\x0a\x09self methodContents: aString.\x0a\x09super contents: aString",
  1951. referencedClasses: [],
  1952. //>>excludeEnd("ide");
  1953. messageSends: ["methodContents:", "contents:"]
  1954. }),
  1955. $globals.HLNavigationCodeWidget);
  1956. $core.addMethod(
  1957. $core.method({
  1958. selector: "hasModification",
  1959. protocol: "testing",
  1960. fn: function (){
  1961. var self=this,$self=this;
  1962. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1963. return $core.withContext(function($ctx1) {
  1964. //>>excludeEnd("ctx");
  1965. return $recv($recv($self._methodContents()).__eq($self._contents()))._not();
  1966. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1967. }, function($ctx1) {$ctx1.fill(self,"hasModification",{},$globals.HLNavigationCodeWidget)});
  1968. //>>excludeEnd("ctx");
  1969. },
  1970. //>>excludeStart("ide", pragmas.excludeIdeData);
  1971. args: [],
  1972. source: "hasModification\x0a\x09^ (self methodContents = self contents) not",
  1973. referencedClasses: [],
  1974. //>>excludeEnd("ide");
  1975. messageSends: ["not", "=", "methodContents", "contents"]
  1976. }),
  1977. $globals.HLNavigationCodeWidget);
  1978. $core.addMethod(
  1979. $core.method({
  1980. selector: "methodContents",
  1981. protocol: "accessing",
  1982. fn: function (){
  1983. var self=this,$self=this;
  1984. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1985. return $core.withContext(function($ctx1) {
  1986. //>>excludeEnd("ctx");
  1987. var $1,$receiver;
  1988. $1=$self["@methodContents"];
  1989. if(($receiver = $1) == null || $receiver.a$nil){
  1990. return "";
  1991. } else {
  1992. return $1;
  1993. }
  1994. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1995. }, function($ctx1) {$ctx1.fill(self,"methodContents",{},$globals.HLNavigationCodeWidget)});
  1996. //>>excludeEnd("ctx");
  1997. },
  1998. //>>excludeStart("ide", pragmas.excludeIdeData);
  1999. args: [],
  2000. source: "methodContents\x0a\x09^ methodContents ifNil: [ '' ]",
  2001. referencedClasses: [],
  2002. //>>excludeEnd("ide");
  2003. messageSends: ["ifNil:"]
  2004. }),
  2005. $globals.HLNavigationCodeWidget);
  2006. $core.addMethod(
  2007. $core.method({
  2008. selector: "methodContents:",
  2009. protocol: "accessing",
  2010. fn: function (aString){
  2011. var self=this,$self=this;
  2012. var $1;
  2013. $self["@methodContents"]=aString;
  2014. $1=$self["@methodContents"];
  2015. return $1;
  2016. },
  2017. //>>excludeStart("ide", pragmas.excludeIdeData);
  2018. args: ["aString"],
  2019. source: "methodContents: aString\x0a\x09^ methodContents := aString",
  2020. referencedClasses: [],
  2021. //>>excludeEnd("ide");
  2022. messageSends: []
  2023. }),
  2024. $globals.HLNavigationCodeWidget);
  2025. $core.addMethod(
  2026. $core.method({
  2027. selector: "previous",
  2028. protocol: "accessing",
  2029. fn: function (){
  2030. var self=this,$self=this;
  2031. return self;
  2032. },
  2033. //>>excludeStart("ide", pragmas.excludeIdeData);
  2034. args: [],
  2035. source: "previous\x0a\x09\x22for browser lists widget\x22",
  2036. referencedClasses: [],
  2037. //>>excludeEnd("ide");
  2038. messageSends: []
  2039. }),
  2040. $globals.HLNavigationCodeWidget);
  2041. $core.addMethod(
  2042. $core.method({
  2043. selector: "previous:",
  2044. protocol: "accessing",
  2045. fn: function (aWidget){
  2046. var self=this,$self=this;
  2047. return self;
  2048. },
  2049. //>>excludeStart("ide", pragmas.excludeIdeData);
  2050. args: ["aWidget"],
  2051. source: "previous: aWidget\x0a\x09\x22for browser lists widget\x22",
  2052. referencedClasses: [],
  2053. //>>excludeEnd("ide");
  2054. messageSends: []
  2055. }),
  2056. $globals.HLNavigationCodeWidget);
  2057. $core.addMethod(
  2058. $core.method({
  2059. selector: "canBeOpenAsTab",
  2060. protocol: "testing",
  2061. fn: function (){
  2062. var self=this,$self=this;
  2063. return false;
  2064. },
  2065. //>>excludeStart("ide", pragmas.excludeIdeData);
  2066. args: [],
  2067. source: "canBeOpenAsTab\x0a\x09^ false",
  2068. referencedClasses: [],
  2069. //>>excludeEnd("ide");
  2070. messageSends: []
  2071. }),
  2072. $globals.HLNavigationCodeWidget.a$cls);
  2073. $core.addMethod(
  2074. $core.method({
  2075. selector: "on:",
  2076. protocol: "instance creation",
  2077. fn: function (aBrowserModel){
  2078. var self=this,$self=this;
  2079. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2080. return $core.withContext(function($ctx1) {
  2081. //>>excludeEnd("ctx");
  2082. var $1;
  2083. $1=$self._new();
  2084. $recv($1)._browserModel_(aBrowserModel);
  2085. return $recv($1)._yourself();
  2086. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2087. }, function($ctx1) {$ctx1.fill(self,"on:",{aBrowserModel:aBrowserModel},$globals.HLNavigationCodeWidget.a$cls)});
  2088. //>>excludeEnd("ctx");
  2089. },
  2090. //>>excludeStart("ide", pragmas.excludeIdeData);
  2091. args: ["aBrowserModel"],
  2092. source: "on: aBrowserModel\x0a\x09^ self new\x0a\x09\x09browserModel: aBrowserModel;\x0a\x09\x09yourself",
  2093. referencedClasses: [],
  2094. //>>excludeEnd("ide");
  2095. messageSends: ["browserModel:", "new", "yourself"]
  2096. }),
  2097. $globals.HLNavigationCodeWidget.a$cls);
  2098. $core.addClass("HLBrowserCodeWidget", $globals.HLNavigationCodeWidget, ["browserModel"], "Helios-Workspace");
  2099. $core.addMethod(
  2100. $core.method({
  2101. selector: "browserModel",
  2102. protocol: "accessing",
  2103. fn: function (){
  2104. var self=this,$self=this;
  2105. return $self["@browserModel"];
  2106. },
  2107. //>>excludeStart("ide", pragmas.excludeIdeData);
  2108. args: [],
  2109. source: "browserModel\x0a\x09^ browserModel",
  2110. referencedClasses: [],
  2111. //>>excludeEnd("ide");
  2112. messageSends: []
  2113. }),
  2114. $globals.HLBrowserCodeWidget);
  2115. $core.addMethod(
  2116. $core.method({
  2117. selector: "browserModel:",
  2118. protocol: "accessing",
  2119. fn: function (aBrowserModel){
  2120. var self=this,$self=this;
  2121. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2122. return $core.withContext(function($ctx1) {
  2123. //>>excludeEnd("ctx");
  2124. $self["@browserModel"]=aBrowserModel;
  2125. $self._observeSystem();
  2126. $self._observeBrowserModel();
  2127. return self;
  2128. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2129. }, function($ctx1) {$ctx1.fill(self,"browserModel:",{aBrowserModel:aBrowserModel},$globals.HLBrowserCodeWidget)});
  2130. //>>excludeEnd("ctx");
  2131. },
  2132. //>>excludeStart("ide", pragmas.excludeIdeData);
  2133. args: ["aBrowserModel"],
  2134. source: "browserModel: aBrowserModel\x0a\x09browserModel := aBrowserModel.\x0a\x09self \x0a\x09\x09observeSystem;\x0a\x09\x09observeBrowserModel",
  2135. referencedClasses: [],
  2136. //>>excludeEnd("ide");
  2137. messageSends: ["observeSystem", "observeBrowserModel"]
  2138. }),
  2139. $globals.HLBrowserCodeWidget);
  2140. $core.addMethod(
  2141. $core.method({
  2142. selector: "observeBrowserModel",
  2143. protocol: "actions",
  2144. fn: function (){
  2145. var self=this,$self=this;
  2146. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2147. return $core.withContext(function($ctx1) {
  2148. //>>excludeEnd("ctx");
  2149. var $1;
  2150. $1=$recv($self._browserModel())._announcer();
  2151. $recv($1)._on_send_to_($globals.HLSaveSourceCode,"onSaveIt",self);
  2152. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2153. $ctx1.sendIdx["on:send:to:"]=1;
  2154. //>>excludeEnd("ctx");
  2155. $recv($1)._on_send_to_($globals.HLShowInstanceToggled,"onShowInstanceToggled",self);
  2156. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2157. $ctx1.sendIdx["on:send:to:"]=2;
  2158. //>>excludeEnd("ctx");
  2159. $recv($1)._on_send_to_($globals.HLSourceCodeSaved,"onSourceCodeSaved",self);
  2160. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2161. $ctx1.sendIdx["on:send:to:"]=3;
  2162. //>>excludeEnd("ctx");
  2163. $recv($1)._on_send_to_($globals.HLAboutToChange,"onBrowserAboutToChange:",self);
  2164. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2165. $ctx1.sendIdx["on:send:to:"]=4;
  2166. //>>excludeEnd("ctx");
  2167. $recv($1)._on_send_to_($globals.HLParseErrorRaised,"onParseError:",self);
  2168. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2169. $ctx1.sendIdx["on:send:to:"]=5;
  2170. //>>excludeEnd("ctx");
  2171. $recv($1)._on_send_to_($globals.HLCompileErrorRaised,"onCompileError:",self);
  2172. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2173. $ctx1.sendIdx["on:send:to:"]=6;
  2174. //>>excludeEnd("ctx");
  2175. $recv($1)._on_send_to_($globals.HLUnknownVariableErrorRaised,"onUnknownVariableError:",self);
  2176. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2177. $ctx1.sendIdx["on:send:to:"]=7;
  2178. //>>excludeEnd("ctx");
  2179. $recv($1)._on_send_to_($globals.HLInstVarAdded,"onInstVarAdded",self);
  2180. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2181. $ctx1.sendIdx["on:send:to:"]=8;
  2182. //>>excludeEnd("ctx");
  2183. $recv($1)._on_send_to_($globals.HLMethodSelected,"onMethodSelected:",self);
  2184. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2185. $ctx1.sendIdx["on:send:to:"]=9;
  2186. //>>excludeEnd("ctx");
  2187. $recv($1)._on_send_to_($globals.HLClassSelected,"onClassSelected:",self);
  2188. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2189. $ctx1.sendIdx["on:send:to:"]=10;
  2190. //>>excludeEnd("ctx");
  2191. $recv($1)._on_send_to_($globals.HLPackageSelected,"onPackageSelected:",self);
  2192. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2193. $ctx1.sendIdx["on:send:to:"]=11;
  2194. //>>excludeEnd("ctx");
  2195. $recv($1)._on_send_to_($globals.HLProtocolSelected,"onProtocolSelected:",self);
  2196. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2197. $ctx1.sendIdx["on:send:to:"]=12;
  2198. //>>excludeEnd("ctx");
  2199. $recv($1)._on_send_to_($globals.HLSourceCodeFocusRequested,"onSourceCodeFocusRequested",self);
  2200. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2201. $ctx1.sendIdx["on:send:to:"]=13;
  2202. //>>excludeEnd("ctx");
  2203. $recv($1)._on_send_to_($globals.HLShowTemplate,"onShowTemplate:",self);
  2204. return self;
  2205. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2206. }, function($ctx1) {$ctx1.fill(self,"observeBrowserModel",{},$globals.HLBrowserCodeWidget)});
  2207. //>>excludeEnd("ctx");
  2208. },
  2209. //>>excludeStart("ide", pragmas.excludeIdeData);
  2210. args: [],
  2211. source: "observeBrowserModel\x0a\x09self browserModel announcer\x0a\x09\x09on: HLSaveSourceCode\x0a\x09\x09send: #onSaveIt\x0a\x09\x09to: self;\x0a\x09\x09\x0a\x09\x09on: HLShowInstanceToggled\x0a\x09\x09send: #onShowInstanceToggled\x0a\x09\x09to: self;\x0a\x09\x09\x0a\x09\x09on: HLSourceCodeSaved\x0a\x09\x09send: #onSourceCodeSaved\x0a\x09\x09to: self;\x0a\x09\x09\x0a\x09\x09on: HLAboutToChange\x0a\x09\x09send: #onBrowserAboutToChange:\x0a\x09\x09to: self;\x0a\x09\x09\x0a\x09\x09on: HLParseErrorRaised\x0a\x09\x09send: #onParseError:\x0a\x09\x09to: self;\x0a\x09\x09\x0a\x09\x09on: HLCompileErrorRaised\x0a\x09\x09send: #onCompileError:\x0a\x09\x09to: self;\x0a\x09\x09\x0a\x09\x09on: HLUnknownVariableErrorRaised\x0a\x09\x09send: #onUnknownVariableError:\x0a\x09\x09to: self;\x0a\x09\x09\x0a\x09\x09on: HLInstVarAdded \x0a\x09\x09send: #onInstVarAdded\x0a\x09\x09to: self;\x0a\x09\x09\x0a\x09\x09on: HLMethodSelected \x0a\x09\x09send: #onMethodSelected:\x0a\x09\x09to: self;\x0a\x09\x09\x0a \x09on: HLClassSelected \x0a\x09\x09send: #onClassSelected:\x0a\x09\x09to: self;\x0a\x09\x09\x0a\x09\x09on: HLPackageSelected \x0a\x09\x09send: #onPackageSelected:\x0a\x09\x09to: self;\x0a\x09\x09\x0a \x09on: HLProtocolSelected \x0a\x09\x09send: #onProtocolSelected: \x0a\x09\x09to: self;\x0a\x09\x09\x0a\x09\x09on: HLSourceCodeFocusRequested \x0a\x09\x09send: #onSourceCodeFocusRequested\x0a\x09\x09to: self;\x0a\x09\x09\x0a\x09\x09on: HLShowTemplate\x0a\x09\x09send: #onShowTemplate:\x0a\x09\x09to: self",
  2212. referencedClasses: ["HLSaveSourceCode", "HLShowInstanceToggled", "HLSourceCodeSaved", "HLAboutToChange", "HLParseErrorRaised", "HLCompileErrorRaised", "HLUnknownVariableErrorRaised", "HLInstVarAdded", "HLMethodSelected", "HLClassSelected", "HLPackageSelected", "HLProtocolSelected", "HLSourceCodeFocusRequested", "HLShowTemplate"],
  2213. //>>excludeEnd("ide");
  2214. messageSends: ["on:send:to:", "announcer", "browserModel"]
  2215. }),
  2216. $globals.HLBrowserCodeWidget);
  2217. $core.addMethod(
  2218. $core.method({
  2219. selector: "observeSystem",
  2220. protocol: "actions",
  2221. fn: function (){
  2222. var self=this,$self=this;
  2223. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2224. return $core.withContext(function($ctx1) {
  2225. //>>excludeEnd("ctx");
  2226. $recv($recv($self._browserModel())._systemAnnouncer())._on_send_to_($globals.MethodModified,"onMethodModified:",self);
  2227. return self;
  2228. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2229. }, function($ctx1) {$ctx1.fill(self,"observeSystem",{},$globals.HLBrowserCodeWidget)});
  2230. //>>excludeEnd("ctx");
  2231. },
  2232. //>>excludeStart("ide", pragmas.excludeIdeData);
  2233. args: [],
  2234. source: "observeSystem\x0a\x09self browserModel systemAnnouncer\x0a \x09on: MethodModified\x0a send: #onMethodModified:\x0a\x09\x09to: self",
  2235. referencedClasses: ["MethodModified"],
  2236. //>>excludeEnd("ide");
  2237. messageSends: ["on:send:to:", "systemAnnouncer", "browserModel"]
  2238. }),
  2239. $globals.HLBrowserCodeWidget);
  2240. $core.addMethod(
  2241. $core.method({
  2242. selector: "onBrowserAboutToChange:",
  2243. protocol: "reactions",
  2244. fn: function (anAnnouncement){
  2245. var self=this,$self=this;
  2246. var block;
  2247. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2248. return $core.withContext(function($ctx1) {
  2249. //>>excludeEnd("ctx");
  2250. var $1;
  2251. block=$recv(anAnnouncement)._actionBlock();
  2252. $1=$self._hasModification();
  2253. if($core.assert($1)){
  2254. $self._confirm_ifTrue_("Changes have not been saved. Do you want to discard these changes?",(function(){
  2255. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2256. return $core.withContext(function($ctx2) {
  2257. //>>excludeEnd("ctx");
  2258. $self._methodContents_($self._contents());
  2259. return $recv(block)._value();
  2260. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2261. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
  2262. //>>excludeEnd("ctx");
  2263. }));
  2264. $recv($globals.HLChangeForbidden)._signal();
  2265. }
  2266. return self;
  2267. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2268. }, function($ctx1) {$ctx1.fill(self,"onBrowserAboutToChange:",{anAnnouncement:anAnnouncement,block:block},$globals.HLBrowserCodeWidget)});
  2269. //>>excludeEnd("ctx");
  2270. },
  2271. //>>excludeStart("ide", pragmas.excludeIdeData);
  2272. args: ["anAnnouncement"],
  2273. source: "onBrowserAboutToChange: anAnnouncement\x0a\x09| block |\x0a\x09\x0a\x09block := anAnnouncement actionBlock.\x0a\x09\x0a\x09self hasModification\x0a\x09\x09ifTrue: [\x0a\x09\x09\x09self \x0a\x09\x09\x09\x09confirm: 'Changes have not been saved. Do you want to discard these changes?' \x0a\x09\x09\x09\x09ifTrue: [\x0a\x09\x09\x09\x09\x09\x22Don't ask twice\x22\x0a\x09\x09\x09\x09\x09self methodContents: self contents.\x0a\x09\x09\x09\x09\x09block value ].\x0a\x09\x09\x09\x0a\x09\x09\x09\x0a\x09\x09\x09HLChangeForbidden signal ]",
  2274. referencedClasses: ["HLChangeForbidden"],
  2275. //>>excludeEnd("ide");
  2276. messageSends: ["actionBlock", "ifTrue:", "hasModification", "confirm:ifTrue:", "methodContents:", "contents", "value", "signal"]
  2277. }),
  2278. $globals.HLBrowserCodeWidget);
  2279. $core.addMethod(
  2280. $core.method({
  2281. selector: "onClassSelected:",
  2282. protocol: "reactions",
  2283. fn: function (anAnnouncement){
  2284. var self=this,$self=this;
  2285. var class_;
  2286. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2287. return $core.withContext(function($ctx1) {
  2288. //>>excludeEnd("ctx");
  2289. var $1,$2,$receiver;
  2290. class_=$recv(anAnnouncement)._item();
  2291. $1=class_;
  2292. if(($receiver = $1) == null || $receiver.a$nil){
  2293. $2=$self._contents_("");
  2294. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2295. $ctx1.sendIdx["contents:"]=1;
  2296. //>>excludeEnd("ctx");
  2297. return $2;
  2298. } else {
  2299. $1;
  2300. }
  2301. $self._contents_($recv(class_)._definition());
  2302. return self;
  2303. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2304. }, function($ctx1) {$ctx1.fill(self,"onClassSelected:",{anAnnouncement:anAnnouncement,class_:class_},$globals.HLBrowserCodeWidget)});
  2305. //>>excludeEnd("ctx");
  2306. },
  2307. //>>excludeStart("ide", pragmas.excludeIdeData);
  2308. args: ["anAnnouncement"],
  2309. source: "onClassSelected: anAnnouncement\x0a\x09| class |\x0a\x09\x0a\x09class:= anAnnouncement item.\x0a\x09\x0a\x09class ifNil: [ ^ self contents: '' ].\x0a\x09self contents: class definition",
  2310. referencedClasses: [],
  2311. //>>excludeEnd("ide");
  2312. messageSends: ["item", "ifNil:", "contents:", "definition"]
  2313. }),
  2314. $globals.HLBrowserCodeWidget);
  2315. $core.addMethod(
  2316. $core.method({
  2317. selector: "onCompileError:",
  2318. protocol: "reactions",
  2319. fn: function (anAnnouncement){
  2320. var self=this,$self=this;
  2321. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2322. return $core.withContext(function($ctx1) {
  2323. //>>excludeEnd("ctx");
  2324. $recv($globals.Terminal)._alert_($recv($recv(anAnnouncement)._error())._messageText());
  2325. return self;
  2326. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2327. }, function($ctx1) {$ctx1.fill(self,"onCompileError:",{anAnnouncement:anAnnouncement},$globals.HLBrowserCodeWidget)});
  2328. //>>excludeEnd("ctx");
  2329. },
  2330. //>>excludeStart("ide", pragmas.excludeIdeData);
  2331. args: ["anAnnouncement"],
  2332. source: "onCompileError: anAnnouncement\x0a\x09Terminal alert: anAnnouncement error messageText",
  2333. referencedClasses: ["Terminal"],
  2334. //>>excludeEnd("ide");
  2335. messageSends: ["alert:", "messageText", "error"]
  2336. }),
  2337. $globals.HLBrowserCodeWidget);
  2338. $core.addMethod(
  2339. $core.method({
  2340. selector: "onInstVarAdded",
  2341. protocol: "reactions",
  2342. fn: function (){
  2343. var self=this,$self=this;
  2344. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2345. return $core.withContext(function($ctx1) {
  2346. //>>excludeEnd("ctx");
  2347. $recv($self._browserModel())._save_($self._contents());
  2348. return self;
  2349. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2350. }, function($ctx1) {$ctx1.fill(self,"onInstVarAdded",{},$globals.HLBrowserCodeWidget)});
  2351. //>>excludeEnd("ctx");
  2352. },
  2353. //>>excludeStart("ide", pragmas.excludeIdeData);
  2354. args: [],
  2355. source: "onInstVarAdded\x0a\x09self browserModel save: self contents",
  2356. referencedClasses: [],
  2357. //>>excludeEnd("ide");
  2358. messageSends: ["save:", "browserModel", "contents"]
  2359. }),
  2360. $globals.HLBrowserCodeWidget);
  2361. $core.addMethod(
  2362. $core.method({
  2363. selector: "onMethodModified:",
  2364. protocol: "reactions",
  2365. fn: function (anAnnouncement){
  2366. var self=this,$self=this;
  2367. var method;
  2368. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2369. return $core.withContext(function($ctx1) {
  2370. //>>excludeEnd("ctx");
  2371. var $3,$2,$1,$5,$4,$7,$6,$receiver;
  2372. method=$recv(anAnnouncement)._method();
  2373. $3=$self._browserModel();
  2374. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2375. $ctx1.sendIdx["browserModel"]=1;
  2376. //>>excludeEnd("ctx");
  2377. $2=$recv($3)._selectedClass();
  2378. $1=$recv($2).__eq($recv(method)._methodClass());
  2379. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2380. $ctx1.sendIdx["="]=1;
  2381. //>>excludeEnd("ctx");
  2382. if(!$core.assert($1)){
  2383. return self;
  2384. }
  2385. $5=$self._browserModel();
  2386. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2387. $ctx1.sendIdx["browserModel"]=2;
  2388. //>>excludeEnd("ctx");
  2389. $4=$recv($5)._selectedMethod();
  2390. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2391. $ctx1.sendIdx["selectedMethod"]=1;
  2392. //>>excludeEnd("ctx");
  2393. if(($receiver = $4) == null || $receiver.a$nil){
  2394. return self;
  2395. } else {
  2396. $4;
  2397. }
  2398. $7=$recv($recv($self._browserModel())._selectedMethod())._selector();
  2399. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2400. $ctx1.sendIdx["selector"]=1;
  2401. //>>excludeEnd("ctx");
  2402. $6=$recv($7).__eq($recv(method)._selector());
  2403. if(!$core.assert($6)){
  2404. return self;
  2405. }
  2406. $self._refresh();
  2407. return self;
  2408. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2409. }, function($ctx1) {$ctx1.fill(self,"onMethodModified:",{anAnnouncement:anAnnouncement,method:method},$globals.HLBrowserCodeWidget)});
  2410. //>>excludeEnd("ctx");
  2411. },
  2412. //>>excludeStart("ide", pragmas.excludeIdeData);
  2413. args: ["anAnnouncement"],
  2414. source: "onMethodModified: anAnnouncement\x0a\x09| method |\x0a\x09\x0a\x09method := anAnnouncement method.\x0a\x09\x0a\x09self browserModel selectedClass = method methodClass ifFalse: [ ^ self ].\x0a\x09self browserModel selectedMethod ifNil: [ ^ self ].\x0a\x09self browserModel selectedMethod selector = method selector ifFalse: [ ^ self ].\x0a\x0a\x09self refresh",
  2415. referencedClasses: [],
  2416. //>>excludeEnd("ide");
  2417. messageSends: ["method", "ifFalse:", "=", "selectedClass", "browserModel", "methodClass", "ifNil:", "selectedMethod", "selector", "refresh"]
  2418. }),
  2419. $globals.HLBrowserCodeWidget);
  2420. $core.addMethod(
  2421. $core.method({
  2422. selector: "onMethodSelected:",
  2423. protocol: "reactions",
  2424. fn: function (anAnnouncement){
  2425. var self=this,$self=this;
  2426. var method;
  2427. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2428. return $core.withContext(function($ctx1) {
  2429. //>>excludeEnd("ctx");
  2430. var $1,$2,$receiver;
  2431. method=$recv(anAnnouncement)._item();
  2432. $1=method;
  2433. if(($receiver = $1) == null || $receiver.a$nil){
  2434. $2=$self._contents_("");
  2435. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2436. $ctx1.sendIdx["contents:"]=1;
  2437. //>>excludeEnd("ctx");
  2438. return $2;
  2439. } else {
  2440. $1;
  2441. }
  2442. $self._contents_($recv(method)._source());
  2443. return self;
  2444. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2445. }, function($ctx1) {$ctx1.fill(self,"onMethodSelected:",{anAnnouncement:anAnnouncement,method:method},$globals.HLBrowserCodeWidget)});
  2446. //>>excludeEnd("ctx");
  2447. },
  2448. //>>excludeStart("ide", pragmas.excludeIdeData);
  2449. args: ["anAnnouncement"],
  2450. source: "onMethodSelected: anAnnouncement\x0a\x09| method |\x0a\x09\x0a\x09method := anAnnouncement item.\x0a\x09\x0a\x09method ifNil: [ ^ self contents: '' ].\x0a\x09self contents: method source",
  2451. referencedClasses: [],
  2452. //>>excludeEnd("ide");
  2453. messageSends: ["item", "ifNil:", "contents:", "source"]
  2454. }),
  2455. $globals.HLBrowserCodeWidget);
  2456. $core.addMethod(
  2457. $core.method({
  2458. selector: "onPackageSelected:",
  2459. protocol: "reactions",
  2460. fn: function (anAnnouncement){
  2461. var self=this,$self=this;
  2462. var package_;
  2463. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2464. return $core.withContext(function($ctx1) {
  2465. //>>excludeEnd("ctx");
  2466. var $1,$2,$receiver;
  2467. package_=$recv(anAnnouncement)._item();
  2468. $1=package_;
  2469. if(($receiver = $1) == null || $receiver.a$nil){
  2470. $2=$self._contents_("");
  2471. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2472. $ctx1.sendIdx["contents:"]=1;
  2473. //>>excludeEnd("ctx");
  2474. return $2;
  2475. } else {
  2476. $1;
  2477. }
  2478. $self._contents_($recv(package_)._definition());
  2479. return self;
  2480. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2481. }, function($ctx1) {$ctx1.fill(self,"onPackageSelected:",{anAnnouncement:anAnnouncement,package_:package_},$globals.HLBrowserCodeWidget)});
  2482. //>>excludeEnd("ctx");
  2483. },
  2484. //>>excludeStart("ide", pragmas.excludeIdeData);
  2485. args: ["anAnnouncement"],
  2486. source: "onPackageSelected: anAnnouncement\x0a\x09| package |\x0a\x09\x0a\x09package := anAnnouncement item.\x0a\x09\x0a\x09package ifNil: [ ^ self contents: '' ].\x0a\x09self contents: package definition",
  2487. referencedClasses: [],
  2488. //>>excludeEnd("ide");
  2489. messageSends: ["item", "ifNil:", "contents:", "definition"]
  2490. }),
  2491. $globals.HLBrowserCodeWidget);
  2492. $core.addMethod(
  2493. $core.method({
  2494. selector: "onParseError:",
  2495. protocol: "reactions",
  2496. fn: function (anAnnouncement){
  2497. var self=this,$self=this;
  2498. var lineIndex,newContents;
  2499. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2500. return $core.withContext(function($ctx1) {
  2501. //>>excludeEnd("ctx");
  2502. var $1,$3,$2,$6,$5,$4;
  2503. lineIndex=(1);
  2504. $self._contents_($recv($globals.String)._streamContents_((function(stream){
  2505. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2506. return $core.withContext(function($ctx2) {
  2507. //>>excludeEnd("ctx");
  2508. return $recv($self._contents())._linesDo_((function(each){
  2509. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2510. return $core.withContext(function($ctx3) {
  2511. //>>excludeEnd("ctx");
  2512. $1=$recv(lineIndex).__eq($recv(anAnnouncement)._line());
  2513. if($core.assert($1)){
  2514. $3=$recv(anAnnouncement)._column();
  2515. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2516. $ctx3.sendIdx["column"]=1;
  2517. //>>excludeEnd("ctx");
  2518. $2=$recv(each)._copyFrom_to_((1),$3);
  2519. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2520. $ctx3.sendIdx["copyFrom:to:"]=1;
  2521. //>>excludeEnd("ctx");
  2522. $recv(stream)._nextPutAll_($2);
  2523. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2524. $ctx3.sendIdx["nextPutAll:"]=1;
  2525. //>>excludeEnd("ctx");
  2526. $recv(stream)._nextPutAll_("<- ");
  2527. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2528. $ctx3.sendIdx["nextPutAll:"]=2;
  2529. //>>excludeEnd("ctx");
  2530. $recv(stream)._nextPutAll_($recv(anAnnouncement)._message());
  2531. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2532. $ctx3.sendIdx["nextPutAll:"]=3;
  2533. //>>excludeEnd("ctx");
  2534. $recv(stream)._nextPutAll_(" ");
  2535. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2536. $ctx3.sendIdx["nextPutAll:"]=4;
  2537. //>>excludeEnd("ctx");
  2538. $6=$recv($recv(anAnnouncement)._column()).__plus((1));
  2539. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2540. $ctx3.sendIdx["+"]=1;
  2541. //>>excludeEnd("ctx");
  2542. $5=$recv(each)._copyFrom_to_($6,$recv(each)._size());
  2543. $4=$recv(stream)._nextPutAll_($5);
  2544. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2545. $ctx3.sendIdx["nextPutAll:"]=5;
  2546. //>>excludeEnd("ctx");
  2547. $4;
  2548. } else {
  2549. $recv(stream)._nextPutAll_(each);
  2550. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2551. $ctx3.sendIdx["nextPutAll:"]=6;
  2552. //>>excludeEnd("ctx");
  2553. }
  2554. $recv(stream)._nextPutAll_($recv($globals.String)._cr());
  2555. lineIndex=$recv(lineIndex).__plus((1));
  2556. return lineIndex;
  2557. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2558. }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2,2)});
  2559. //>>excludeEnd("ctx");
  2560. }));
  2561. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2562. }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1,1)});
  2563. //>>excludeEnd("ctx");
  2564. })));
  2565. return self;
  2566. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2567. }, function($ctx1) {$ctx1.fill(self,"onParseError:",{anAnnouncement:anAnnouncement,lineIndex:lineIndex,newContents:newContents},$globals.HLBrowserCodeWidget)});
  2568. //>>excludeEnd("ctx");
  2569. },
  2570. //>>excludeStart("ide", pragmas.excludeIdeData);
  2571. args: ["anAnnouncement"],
  2572. source: "onParseError: anAnnouncement\x0a\x09| lineIndex newContents |\x0a\x09\x0a\x09lineIndex := 1.\x0a\x09\x0a\x09self contents: (String streamContents: [ :stream |\x0a\x09\x09self contents linesDo: [ :each |\x0a\x09\x09\x09lineIndex = anAnnouncement line \x0a\x09\x09\x09\x09ifTrue: [ \x0a\x09\x09\x09\x09\x09stream \x0a\x09\x09\x09\x09\x09\x09nextPutAll: (each copyFrom: 1 to: anAnnouncement column);\x0a\x09\x09\x09\x09\x09\x09nextPutAll: '<- ';\x0a\x09\x09\x09\x09\x09\x09nextPutAll: anAnnouncement message;\x0a\x09\x09\x09\x09\x09\x09nextPutAll: ' ';\x0a\x09\x09\x09\x09\x09\x09nextPutAll: (each copyFrom: anAnnouncement column + 1 to: each size) ]\x0a\x09\x09\x09\x09ifFalse: [ stream nextPutAll: each ].\x0a\x09\x09\x09stream nextPutAll: String cr.\x0a\x09\x09\x09lineIndex := lineIndex + 1 ] ])",
  2573. referencedClasses: ["String"],
  2574. //>>excludeEnd("ide");
  2575. messageSends: ["contents:", "streamContents:", "linesDo:", "contents", "ifTrue:ifFalse:", "=", "line", "nextPutAll:", "copyFrom:to:", "column", "message", "+", "size", "cr"]
  2576. }),
  2577. $globals.HLBrowserCodeWidget);
  2578. $core.addMethod(
  2579. $core.method({
  2580. selector: "onProtocolSelected:",
  2581. protocol: "reactions",
  2582. fn: function (anAnnouncement){
  2583. var self=this,$self=this;
  2584. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2585. return $core.withContext(function($ctx1) {
  2586. //>>excludeEnd("ctx");
  2587. var $2,$1,$3,$receiver;
  2588. $2=$self._browserModel();
  2589. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2590. $ctx1.sendIdx["browserModel"]=1;
  2591. //>>excludeEnd("ctx");
  2592. $1=$recv($2)._selectedClass();
  2593. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2594. $ctx1.sendIdx["selectedClass"]=1;
  2595. //>>excludeEnd("ctx");
  2596. if(($receiver = $1) == null || $receiver.a$nil){
  2597. $3=$self._contents_("");
  2598. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2599. $ctx1.sendIdx["contents:"]=1;
  2600. //>>excludeEnd("ctx");
  2601. return $3;
  2602. } else {
  2603. $1;
  2604. }
  2605. $self._contents_($recv($recv($self._browserModel())._selectedClass())._definition());
  2606. return self;
  2607. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2608. }, function($ctx1) {$ctx1.fill(self,"onProtocolSelected:",{anAnnouncement:anAnnouncement},$globals.HLBrowserCodeWidget)});
  2609. //>>excludeEnd("ctx");
  2610. },
  2611. //>>excludeStart("ide", pragmas.excludeIdeData);
  2612. args: ["anAnnouncement"],
  2613. source: "onProtocolSelected: anAnnouncement\x0a\x09self browserModel selectedClass ifNil: [ ^ self contents: '' ].\x0a\x09self contents: self browserModel selectedClass definition",
  2614. referencedClasses: [],
  2615. //>>excludeEnd("ide");
  2616. messageSends: ["ifNil:", "selectedClass", "browserModel", "contents:", "definition"]
  2617. }),
  2618. $globals.HLBrowserCodeWidget);
  2619. $core.addMethod(
  2620. $core.method({
  2621. selector: "onSaveIt",
  2622. protocol: "reactions",
  2623. fn: function (){
  2624. var self=this,$self=this;
  2625. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2626. return $core.withContext(function($ctx1) {
  2627. //>>excludeEnd("ctx");
  2628. $recv($self._browserModel())._save_($self._contents());
  2629. return self;
  2630. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2631. }, function($ctx1) {$ctx1.fill(self,"onSaveIt",{},$globals.HLBrowserCodeWidget)});
  2632. //>>excludeEnd("ctx");
  2633. },
  2634. //>>excludeStart("ide", pragmas.excludeIdeData);
  2635. args: [],
  2636. source: "onSaveIt\x0a\x09self browserModel save: self contents",
  2637. referencedClasses: [],
  2638. //>>excludeEnd("ide");
  2639. messageSends: ["save:", "browserModel", "contents"]
  2640. }),
  2641. $globals.HLBrowserCodeWidget);
  2642. $core.addMethod(
  2643. $core.method({
  2644. selector: "onShowInstanceToggled",
  2645. protocol: "reactions",
  2646. fn: function (){
  2647. var self=this,$self=this;
  2648. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2649. return $core.withContext(function($ctx1) {
  2650. //>>excludeEnd("ctx");
  2651. var $2,$1,$3,$receiver;
  2652. $2=$self._browserModel();
  2653. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2654. $ctx1.sendIdx["browserModel"]=1;
  2655. //>>excludeEnd("ctx");
  2656. $1=$recv($2)._selectedClass();
  2657. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2658. $ctx1.sendIdx["selectedClass"]=1;
  2659. //>>excludeEnd("ctx");
  2660. if(($receiver = $1) == null || $receiver.a$nil){
  2661. $3=$self._contents_("");
  2662. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2663. $ctx1.sendIdx["contents:"]=1;
  2664. //>>excludeEnd("ctx");
  2665. return $3;
  2666. } else {
  2667. $1;
  2668. }
  2669. $self._contents_($recv($recv($self._browserModel())._selectedClass())._definition());
  2670. return self;
  2671. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2672. }, function($ctx1) {$ctx1.fill(self,"onShowInstanceToggled",{},$globals.HLBrowserCodeWidget)});
  2673. //>>excludeEnd("ctx");
  2674. },
  2675. //>>excludeStart("ide", pragmas.excludeIdeData);
  2676. args: [],
  2677. source: "onShowInstanceToggled\x0a\x09self browserModel selectedClass ifNil: [ ^ self contents: '' ].\x0a \x0a\x09self contents: self browserModel selectedClass definition",
  2678. referencedClasses: [],
  2679. //>>excludeEnd("ide");
  2680. messageSends: ["ifNil:", "selectedClass", "browserModel", "contents:", "definition"]
  2681. }),
  2682. $globals.HLBrowserCodeWidget);
  2683. $core.addMethod(
  2684. $core.method({
  2685. selector: "onShowTemplate:",
  2686. protocol: "reactions",
  2687. fn: function (anAnnouncement){
  2688. var self=this,$self=this;
  2689. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2690. return $core.withContext(function($ctx1) {
  2691. //>>excludeEnd("ctx");
  2692. $self._contents_($recv(anAnnouncement)._template());
  2693. return self;
  2694. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2695. }, function($ctx1) {$ctx1.fill(self,"onShowTemplate:",{anAnnouncement:anAnnouncement},$globals.HLBrowserCodeWidget)});
  2696. //>>excludeEnd("ctx");
  2697. },
  2698. //>>excludeStart("ide", pragmas.excludeIdeData);
  2699. args: ["anAnnouncement"],
  2700. source: "onShowTemplate: anAnnouncement\x0a\x09self contents: anAnnouncement template",
  2701. referencedClasses: [],
  2702. //>>excludeEnd("ide");
  2703. messageSends: ["contents:", "template"]
  2704. }),
  2705. $globals.HLBrowserCodeWidget);
  2706. $core.addMethod(
  2707. $core.method({
  2708. selector: "onSourceCodeFocusRequested",
  2709. protocol: "reactions",
  2710. fn: function (){
  2711. var self=this,$self=this;
  2712. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2713. return $core.withContext(function($ctx1) {
  2714. //>>excludeEnd("ctx");
  2715. $self._focus();
  2716. return self;
  2717. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2718. }, function($ctx1) {$ctx1.fill(self,"onSourceCodeFocusRequested",{},$globals.HLBrowserCodeWidget)});
  2719. //>>excludeEnd("ctx");
  2720. },
  2721. //>>excludeStart("ide", pragmas.excludeIdeData);
  2722. args: [],
  2723. source: "onSourceCodeFocusRequested\x0a\x09self focus",
  2724. referencedClasses: [],
  2725. //>>excludeEnd("ide");
  2726. messageSends: ["focus"]
  2727. }),
  2728. $globals.HLBrowserCodeWidget);
  2729. $core.addMethod(
  2730. $core.method({
  2731. selector: "onSourceCodeSaved",
  2732. protocol: "reactions",
  2733. fn: function (){
  2734. var self=this,$self=this;
  2735. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2736. return $core.withContext(function($ctx1) {
  2737. //>>excludeEnd("ctx");
  2738. $self._methodContents_($self._contents());
  2739. $self._updateState();
  2740. return self;
  2741. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2742. }, function($ctx1) {$ctx1.fill(self,"onSourceCodeSaved",{},$globals.HLBrowserCodeWidget)});
  2743. //>>excludeEnd("ctx");
  2744. },
  2745. //>>excludeStart("ide", pragmas.excludeIdeData);
  2746. args: [],
  2747. source: "onSourceCodeSaved\x0a\x09self methodContents: self contents.\x0a\x09self updateState",
  2748. referencedClasses: [],
  2749. //>>excludeEnd("ide");
  2750. messageSends: ["methodContents:", "contents", "updateState"]
  2751. }),
  2752. $globals.HLBrowserCodeWidget);
  2753. $core.addMethod(
  2754. $core.method({
  2755. selector: "onUnknownVariableError:",
  2756. protocol: "reactions",
  2757. fn: function (anAnnouncement){
  2758. var self=this,$self=this;
  2759. var error;
  2760. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2761. return $core.withContext(function($ctx1) {
  2762. //>>excludeEnd("ctx");
  2763. error=$recv(anAnnouncement)._error();
  2764. $self._confirm_ifTrue_($recv($globals.String)._streamContents_((function(stream){
  2765. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2766. return $core.withContext(function($ctx2) {
  2767. //>>excludeEnd("ctx");
  2768. $recv(stream)._nextPutAll_($recv(error)._messageText());
  2769. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2770. $ctx2.sendIdx["nextPutAll:"]=1;
  2771. //>>excludeEnd("ctx");
  2772. $recv(stream)._nextPutAll_($recv($globals.String)._cr());
  2773. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2774. $ctx2.sendIdx["nextPutAll:"]=2;
  2775. //>>excludeEnd("ctx");
  2776. return $recv(stream)._nextPutAll_("Would you like to define an instance variable?");
  2777. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2778. }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1,1)});
  2779. //>>excludeEnd("ctx");
  2780. })),(function(){
  2781. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2782. return $core.withContext(function($ctx2) {
  2783. //>>excludeEnd("ctx");
  2784. return $recv($self._browserModel())._addInstVarNamed_($recv(error)._variableName());
  2785. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2786. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
  2787. //>>excludeEnd("ctx");
  2788. }));
  2789. return self;
  2790. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2791. }, function($ctx1) {$ctx1.fill(self,"onUnknownVariableError:",{anAnnouncement:anAnnouncement,error:error},$globals.HLBrowserCodeWidget)});
  2792. //>>excludeEnd("ctx");
  2793. },
  2794. //>>excludeStart("ide", pragmas.excludeIdeData);
  2795. args: ["anAnnouncement"],
  2796. source: "onUnknownVariableError: anAnnouncement\x0a\x09| error |\x0a\x09\x0a\x09error := anAnnouncement error.\x0a\x09\x0a\x09self \x0a\x09\x09confirm: (String streamContents: [ :stream |\x0a\x09\x09\x09stream \x0a\x09\x09\x09\x09nextPutAll: error messageText;\x0a\x09\x09\x09\x09nextPutAll: String cr;\x0a\x09\x09\x09\x09nextPutAll: 'Would you like to define an instance variable?' ])\x0a\x09\x09ifTrue: [\x0a\x09\x09\x09self browserModel addInstVarNamed: error variableName ]",
  2797. referencedClasses: ["String"],
  2798. //>>excludeEnd("ide");
  2799. messageSends: ["error", "confirm:ifTrue:", "streamContents:", "nextPutAll:", "messageText", "cr", "addInstVarNamed:", "browserModel", "variableName"]
  2800. }),
  2801. $globals.HLBrowserCodeWidget);
  2802. $core.addMethod(
  2803. $core.method({
  2804. selector: "refresh",
  2805. protocol: "actions",
  2806. fn: function (){
  2807. var self=this,$self=this;
  2808. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2809. return $core.withContext(function($ctx1) {
  2810. //>>excludeEnd("ctx");
  2811. var $1,$2;
  2812. $1=$self._hasModification();
  2813. if($core.assert($1)){
  2814. return self;
  2815. }
  2816. $2=$self._hasFocus();
  2817. if($core.assert($2)){
  2818. return self;
  2819. }
  2820. $self._contents_($recv($recv($self._browserModel())._selectedMethod())._source());
  2821. return self;
  2822. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2823. }, function($ctx1) {$ctx1.fill(self,"refresh",{},$globals.HLBrowserCodeWidget)});
  2824. //>>excludeEnd("ctx");
  2825. },
  2826. //>>excludeStart("ide", pragmas.excludeIdeData);
  2827. args: [],
  2828. source: "refresh\x0a\x09self hasModification ifTrue: [ ^ self ].\x0a self hasFocus ifTrue: [ ^ self ].\x0a\x0a\x09self contents: self browserModel selectedMethod source",
  2829. referencedClasses: [],
  2830. //>>excludeEnd("ide");
  2831. messageSends: ["ifTrue:", "hasModification", "hasFocus", "contents:", "source", "selectedMethod", "browserModel"]
  2832. }),
  2833. $globals.HLBrowserCodeWidget);
  2834. $core.addMethod(
  2835. $core.method({
  2836. selector: "renderButtonsOn:",
  2837. protocol: "actions",
  2838. fn: function (html){
  2839. var self=this,$self=this;
  2840. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2841. return $core.withContext(function($ctx1) {
  2842. //>>excludeEnd("ctx");
  2843. var $1;
  2844. $1=$recv(html)._button();
  2845. $recv($1)._class_("button");
  2846. $recv($1)._with_("SaveIt");
  2847. $recv($1)._onClick_((function(){
  2848. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2849. return $core.withContext(function($ctx2) {
  2850. //>>excludeEnd("ctx");
  2851. return $self._saveIt();
  2852. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2853. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  2854. //>>excludeEnd("ctx");
  2855. }));
  2856. (
  2857. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2858. $ctx1.supercall = true,
  2859. //>>excludeEnd("ctx");
  2860. ($globals.HLBrowserCodeWidget.superclass||$boot.nilAsClass).fn.prototype._renderButtonsOn_.apply($self, [html]));
  2861. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2862. $ctx1.supercall = false;
  2863. //>>excludeEnd("ctx");;
  2864. return self;
  2865. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2866. }, function($ctx1) {$ctx1.fill(self,"renderButtonsOn:",{html:html},$globals.HLBrowserCodeWidget)});
  2867. //>>excludeEnd("ctx");
  2868. },
  2869. //>>excludeStart("ide", pragmas.excludeIdeData);
  2870. args: ["html"],
  2871. source: "renderButtonsOn: html\x0a\x09html button \x0a\x09\x09class: 'button';\x0a\x09\x09with: 'SaveIt';\x0a\x09\x09onClick: [ self saveIt ].\x0a\x09super renderButtonsOn: html",
  2872. referencedClasses: [],
  2873. //>>excludeEnd("ide");
  2874. messageSends: ["class:", "button", "with:", "onClick:", "saveIt", "renderButtonsOn:"]
  2875. }),
  2876. $globals.HLBrowserCodeWidget);
  2877. $core.addMethod(
  2878. $core.method({
  2879. selector: "saveIt",
  2880. protocol: "actions",
  2881. fn: function (){
  2882. var self=this,$self=this;
  2883. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2884. return $core.withContext(function($ctx1) {
  2885. //>>excludeEnd("ctx");
  2886. $recv($self._browserModel())._saveSourceCode();
  2887. return self;
  2888. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2889. }, function($ctx1) {$ctx1.fill(self,"saveIt",{},$globals.HLBrowserCodeWidget)});
  2890. //>>excludeEnd("ctx");
  2891. },
  2892. //>>excludeStart("ide", pragmas.excludeIdeData);
  2893. args: [],
  2894. source: "saveIt\x0a\x09self browserModel saveSourceCode",
  2895. referencedClasses: [],
  2896. //>>excludeEnd("ide");
  2897. messageSends: ["saveSourceCode", "browserModel"]
  2898. }),
  2899. $globals.HLBrowserCodeWidget);
  2900. $core.addMethod(
  2901. $core.method({
  2902. selector: "unregister",
  2903. protocol: "actions",
  2904. fn: function (){
  2905. var self=this,$self=this;
  2906. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2907. return $core.withContext(function($ctx1) {
  2908. //>>excludeEnd("ctx");
  2909. var $2,$1;
  2910. (
  2911. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2912. $ctx1.supercall = true,
  2913. //>>excludeEnd("ctx");
  2914. ($globals.HLBrowserCodeWidget.superclass||$boot.nilAsClass).fn.prototype._unregsiter.apply($self, []));
  2915. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2916. $ctx1.supercall = false;
  2917. //>>excludeEnd("ctx");;
  2918. $2=$self._browserModel();
  2919. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2920. $ctx1.sendIdx["browserModel"]=1;
  2921. //>>excludeEnd("ctx");
  2922. $1=$recv($2)._announcer();
  2923. $recv($1)._unsubscribe_(self);
  2924. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2925. $ctx1.sendIdx["unsubscribe:"]=1;
  2926. //>>excludeEnd("ctx");
  2927. $recv($recv($self._browserModel())._systemAnnouncer())._unsubscribe_(self);
  2928. return self;
  2929. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2930. }, function($ctx1) {$ctx1.fill(self,"unregister",{},$globals.HLBrowserCodeWidget)});
  2931. //>>excludeEnd("ctx");
  2932. },
  2933. //>>excludeStart("ide", pragmas.excludeIdeData);
  2934. args: [],
  2935. source: "unregister\x0a\x09super unregsiter.\x0a\x09\x0a\x09self browserModel announcer unsubscribe: self.\x0a\x09self browserModel systemAnnouncer unsubscribe: self",
  2936. referencedClasses: [],
  2937. //>>excludeEnd("ide");
  2938. messageSends: ["unregsiter", "unsubscribe:", "announcer", "browserModel", "systemAnnouncer"]
  2939. }),
  2940. $globals.HLBrowserCodeWidget);
  2941. $core.addMethod(
  2942. $core.method({
  2943. selector: "canBeOpenAsTab",
  2944. protocol: "testing",
  2945. fn: function (){
  2946. var self=this,$self=this;
  2947. return false;
  2948. },
  2949. //>>excludeStart("ide", pragmas.excludeIdeData);
  2950. args: [],
  2951. source: "canBeOpenAsTab\x0a\x09^ false",
  2952. referencedClasses: [],
  2953. //>>excludeEnd("ide");
  2954. messageSends: []
  2955. }),
  2956. $globals.HLBrowserCodeWidget.a$cls);
  2957. $core.addMethod(
  2958. $core.method({
  2959. selector: "on:",
  2960. protocol: "instance creation",
  2961. fn: function (aBrowserModel){
  2962. var self=this,$self=this;
  2963. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2964. return $core.withContext(function($ctx1) {
  2965. //>>excludeEnd("ctx");
  2966. var $1;
  2967. $1=$self._new();
  2968. $recv($1)._browserModel_(aBrowserModel);
  2969. return $recv($1)._yourself();
  2970. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2971. }, function($ctx1) {$ctx1.fill(self,"on:",{aBrowserModel:aBrowserModel},$globals.HLBrowserCodeWidget.a$cls)});
  2972. //>>excludeEnd("ctx");
  2973. },
  2974. //>>excludeStart("ide", pragmas.excludeIdeData);
  2975. args: ["aBrowserModel"],
  2976. source: "on: aBrowserModel\x0a\x09^ self new\x0a\x09\x09browserModel: aBrowserModel;\x0a\x09\x09yourself",
  2977. referencedClasses: [],
  2978. //>>excludeEnd("ide");
  2979. messageSends: ["browserModel:", "new", "yourself"]
  2980. }),
  2981. $globals.HLBrowserCodeWidget.a$cls);
  2982. $core.addClass("HLWorkspace", $globals.HLWidget, ["codeWidget", "transcript"], "Helios-Workspace");
  2983. $core.addMethod(
  2984. $core.method({
  2985. selector: "canHaveFocus",
  2986. protocol: "testing",
  2987. fn: function (){
  2988. var self=this,$self=this;
  2989. return true;
  2990. },
  2991. //>>excludeStart("ide", pragmas.excludeIdeData);
  2992. args: [],
  2993. source: "canHaveFocus\x0a\x09^ true",
  2994. referencedClasses: [],
  2995. //>>excludeEnd("ide");
  2996. messageSends: []
  2997. }),
  2998. $globals.HLWorkspace);
  2999. $core.addMethod(
  3000. $core.method({
  3001. selector: "codeWidget",
  3002. protocol: "accessing",
  3003. fn: function (){
  3004. var self=this,$self=this;
  3005. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3006. return $core.withContext(function($ctx1) {
  3007. //>>excludeEnd("ctx");
  3008. var $1,$receiver;
  3009. $1=$self["@codeWidget"];
  3010. if(($receiver = $1) == null || $receiver.a$nil){
  3011. $self["@codeWidget"]=$recv($globals.HLCodeWidget)._new();
  3012. return $self["@codeWidget"];
  3013. } else {
  3014. return $1;
  3015. }
  3016. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3017. }, function($ctx1) {$ctx1.fill(self,"codeWidget",{},$globals.HLWorkspace)});
  3018. //>>excludeEnd("ctx");
  3019. },
  3020. //>>excludeStart("ide", pragmas.excludeIdeData);
  3021. args: [],
  3022. source: "codeWidget\x0a\x09^ codeWidget ifNil: [ codeWidget := HLCodeWidget new ]",
  3023. referencedClasses: ["HLCodeWidget"],
  3024. //>>excludeEnd("ide");
  3025. messageSends: ["ifNil:", "new"]
  3026. }),
  3027. $globals.HLWorkspace);
  3028. $core.addMethod(
  3029. $core.method({
  3030. selector: "focus",
  3031. protocol: "actions",
  3032. fn: function (){
  3033. var self=this,$self=this;
  3034. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3035. return $core.withContext(function($ctx1) {
  3036. //>>excludeEnd("ctx");
  3037. return $recv($self._codeWidget())._focus();
  3038. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3039. }, function($ctx1) {$ctx1.fill(self,"focus",{},$globals.HLWorkspace)});
  3040. //>>excludeEnd("ctx");
  3041. },
  3042. //>>excludeStart("ide", pragmas.excludeIdeData);
  3043. args: [],
  3044. source: "focus\x0a\x09^ self codeWidget focus",
  3045. referencedClasses: [],
  3046. //>>excludeEnd("ide");
  3047. messageSends: ["focus", "codeWidget"]
  3048. }),
  3049. $globals.HLWorkspace);
  3050. $core.addMethod(
  3051. $core.method({
  3052. selector: "renderContentOn:",
  3053. protocol: "rendering",
  3054. fn: function (html){
  3055. var self=this,$self=this;
  3056. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3057. return $core.withContext(function($ctx1) {
  3058. //>>excludeEnd("ctx");
  3059. $recv(html)._with_($recv($globals.HLContainer)._with_($recv($globals.HLHorizontalSplitter)._with_with_($self._codeWidget(),(function(canvas){
  3060. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3061. return $core.withContext(function($ctx2) {
  3062. //>>excludeEnd("ctx");
  3063. return $self._renderTranscriptOn_(canvas);
  3064. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3065. }, function($ctx2) {$ctx2.fillBlock({canvas:canvas},$ctx1,1)});
  3066. //>>excludeEnd("ctx");
  3067. }))));
  3068. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3069. $ctx1.sendIdx["with:"]=1;
  3070. //>>excludeEnd("ctx");
  3071. return self;
  3072. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3073. }, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},$globals.HLWorkspace)});
  3074. //>>excludeEnd("ctx");
  3075. },
  3076. //>>excludeStart("ide", pragmas.excludeIdeData);
  3077. args: ["html"],
  3078. source: "renderContentOn: html\x0a\x09html with: (HLContainer with: (HLHorizontalSplitter\x0a\x09\x09with: self codeWidget\x0a\x09\x09with: [ :canvas | self renderTranscriptOn: canvas ]))",
  3079. referencedClasses: ["HLContainer", "HLHorizontalSplitter"],
  3080. //>>excludeEnd("ide");
  3081. messageSends: ["with:", "with:with:", "codeWidget", "renderTranscriptOn:"]
  3082. }),
  3083. $globals.HLWorkspace);
  3084. $core.addMethod(
  3085. $core.method({
  3086. selector: "renderTranscriptOn:",
  3087. protocol: "rendering",
  3088. fn: function (html){
  3089. var self=this,$self=this;
  3090. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3091. return $core.withContext(function($ctx1) {
  3092. //>>excludeEnd("ctx");
  3093. var $1,$3,$2;
  3094. $1=$recv(html)._div();
  3095. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3096. $ctx1.sendIdx["div"]=1;
  3097. //>>excludeEnd("ctx");
  3098. $recv($1)._class_("transcript-container");
  3099. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3100. $ctx1.sendIdx["class:"]=1;
  3101. //>>excludeEnd("ctx");
  3102. $2=$recv($1)._with_((function(){
  3103. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3104. return $core.withContext(function($ctx2) {
  3105. //>>excludeEnd("ctx");
  3106. $3=$recv(html)._div();
  3107. $recv($3)._class_("list-label");
  3108. $recv($3)._with_("Transcript");
  3109. return $recv($self._transcript())._renderOn_(html);
  3110. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3111. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  3112. //>>excludeEnd("ctx");
  3113. }));
  3114. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3115. $ctx1.sendIdx["with:"]=1;
  3116. //>>excludeEnd("ctx");
  3117. return self;
  3118. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3119. }, function($ctx1) {$ctx1.fill(self,"renderTranscriptOn:",{html:html},$globals.HLWorkspace)});
  3120. //>>excludeEnd("ctx");
  3121. },
  3122. //>>excludeStart("ide", pragmas.excludeIdeData);
  3123. args: ["html"],
  3124. source: "renderTranscriptOn: html\x0a\x09html div \x0a\x09\x09class: 'transcript-container';\x0a\x09\x09with: [\x0a\x09\x09\x09html div\x0a\x09\x09\x09\x09class: 'list-label';\x0a\x09\x09\x09\x09with: 'Transcript'.\x0a\x09\x09\x09self transcript renderOn: html ]",
  3125. referencedClasses: [],
  3126. //>>excludeEnd("ide");
  3127. messageSends: ["class:", "div", "with:", "renderOn:", "transcript"]
  3128. }),
  3129. $globals.HLWorkspace);
  3130. $core.addMethod(
  3131. $core.method({
  3132. selector: "transcript",
  3133. protocol: "accessing",
  3134. fn: function (){
  3135. var self=this,$self=this;
  3136. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3137. return $core.withContext(function($ctx1) {
  3138. //>>excludeEnd("ctx");
  3139. var $1,$receiver;
  3140. $1=$self["@transcript"];
  3141. if(($receiver = $1) == null || $receiver.a$nil){
  3142. $self["@transcript"]=$recv($globals.HLTranscript)._new();
  3143. return $self["@transcript"];
  3144. } else {
  3145. return $1;
  3146. }
  3147. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3148. }, function($ctx1) {$ctx1.fill(self,"transcript",{},$globals.HLWorkspace)});
  3149. //>>excludeEnd("ctx");
  3150. },
  3151. //>>excludeStart("ide", pragmas.excludeIdeData);
  3152. args: [],
  3153. source: "transcript\x0a\x09^ transcript ifNil: [ transcript := HLTranscript new ]",
  3154. referencedClasses: ["HLTranscript"],
  3155. //>>excludeEnd("ide");
  3156. messageSends: ["ifNil:", "new"]
  3157. }),
  3158. $globals.HLWorkspace);
  3159. $core.addMethod(
  3160. $core.method({
  3161. selector: "unregister",
  3162. protocol: "actions",
  3163. fn: function (){
  3164. var self=this,$self=this;
  3165. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3166. return $core.withContext(function($ctx1) {
  3167. //>>excludeEnd("ctx");
  3168. (
  3169. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3170. $ctx1.supercall = true,
  3171. //>>excludeEnd("ctx");
  3172. ($globals.HLWorkspace.superclass||$boot.nilAsClass).fn.prototype._unregister.apply($self, []));
  3173. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3174. $ctx1.supercall = false;
  3175. //>>excludeEnd("ctx");;
  3176. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3177. $ctx1.sendIdx["unregister"]=1;
  3178. //>>excludeEnd("ctx");
  3179. $recv($self._transcript())._unregister();
  3180. return self;
  3181. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3182. }, function($ctx1) {$ctx1.fill(self,"unregister",{},$globals.HLWorkspace)});
  3183. //>>excludeEnd("ctx");
  3184. },
  3185. //>>excludeStart("ide", pragmas.excludeIdeData);
  3186. args: [],
  3187. source: "unregister\x0a\x09super unregister.\x0a\x09self transcript unregister",
  3188. referencedClasses: [],
  3189. //>>excludeEnd("ide");
  3190. messageSends: ["unregister", "transcript"]
  3191. }),
  3192. $globals.HLWorkspace);
  3193. $core.addMethod(
  3194. $core.method({
  3195. selector: "canBeOpenAsTab",
  3196. protocol: "testing",
  3197. fn: function (){
  3198. var self=this,$self=this;
  3199. return true;
  3200. },
  3201. //>>excludeStart("ide", pragmas.excludeIdeData);
  3202. args: [],
  3203. source: "canBeOpenAsTab\x0a\x09^ true",
  3204. referencedClasses: [],
  3205. //>>excludeEnd("ide");
  3206. messageSends: []
  3207. }),
  3208. $globals.HLWorkspace.a$cls);
  3209. $core.addMethod(
  3210. $core.method({
  3211. selector: "tabClass",
  3212. protocol: "accessing",
  3213. fn: function (){
  3214. var self=this,$self=this;
  3215. return "workspace";
  3216. },
  3217. //>>excludeStart("ide", pragmas.excludeIdeData);
  3218. args: [],
  3219. source: "tabClass\x0a\x09^ 'workspace'",
  3220. referencedClasses: [],
  3221. //>>excludeEnd("ide");
  3222. messageSends: []
  3223. }),
  3224. $globals.HLWorkspace.a$cls);
  3225. $core.addMethod(
  3226. $core.method({
  3227. selector: "tabLabel",
  3228. protocol: "accessing",
  3229. fn: function (){
  3230. var self=this,$self=this;
  3231. return "Workspace";
  3232. },
  3233. //>>excludeStart("ide", pragmas.excludeIdeData);
  3234. args: [],
  3235. source: "tabLabel\x0a\x09^ 'Workspace'",
  3236. referencedClasses: [],
  3237. //>>excludeEnd("ide");
  3238. messageSends: []
  3239. }),
  3240. $globals.HLWorkspace.a$cls);
  3241. $core.addMethod(
  3242. $core.method({
  3243. selector: "tabPriority",
  3244. protocol: "accessing",
  3245. fn: function (){
  3246. var self=this,$self=this;
  3247. return (10);
  3248. },
  3249. //>>excludeStart("ide", pragmas.excludeIdeData);
  3250. args: [],
  3251. source: "tabPriority\x0a\x09^ 10",
  3252. referencedClasses: [],
  3253. //>>excludeEnd("ide");
  3254. messageSends: []
  3255. }),
  3256. $globals.HLWorkspace.a$cls);
  3257. });