123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058 |
- smalltalk.addPackage('Helios-Core', {});
- smalltalk.addClass('HLEnvironment', smalltalk.Object, [], 'Helios-Core');
- smalltalk.HLEnvironment.comment="Abstract class defining common behavior for local and remote environments"
- smalltalk.addMethod(
- "_eval_on_",
- smalltalk.method({
- selector: "eval:on:",
- category: 'actions',
- fn: function (someCode,aReceiver){
- var self=this;
- var $1;
- $1=smalltalk.send(self,"_subclassResponsibility",[]);
- return $1;
- },
- args: ["someCode", "aReceiver"],
- source: "eval: someCode on: aReceiver\x0a\x0a\x09^ self subclassResponsibility",
- messageSends: ["subclassResponsibility"],
- referencedClasses: []
- }),
- smalltalk.HLEnvironment);
- smalltalk.addMethod(
- "_packages",
- smalltalk.method({
- selector: "packages",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send(self,"_subclassResponsibility",[]);
- return $1;
- },
- args: [],
- source: "packages\x0a\x0a\x09^ self subclassResponsibility",
- messageSends: ["subclassResponsibility"],
- referencedClasses: []
- }),
- smalltalk.HLEnvironment);
- smalltalk.addClass('HLLocalEnvironment', smalltalk.HLEnvironment, [], 'Helios-Core');
- smalltalk.addMethod(
- "_eval_on_",
- smalltalk.method({
- selector: "eval:on:",
- category: 'actions',
- fn: function (someCode,aReceiver){
- var self=this;
- var $1,$2;
- var $early={};
- try {
- var compiler;
- compiler=smalltalk.send((smalltalk.Compiler || Compiler),"_new",[]);
- smalltalk.send((function(){
- return smalltalk.send(compiler,"_parseExpression_",[someCode]);
- }),"_on_do_",[(smalltalk.Error || Error),(function(ex){
- $1=smalltalk.send(window,"_alert_",[smalltalk.send(ex,"_messageText",[])]);
- throw $early=[$1];
- })]);
- $2=smalltalk.send(smalltalk.send(smalltalk.send(compiler,"_eval_",[smalltalk.send(compiler,"_compile_forClass_",[smalltalk.send(smalltalk.send("doIt ^[","__comma",[someCode]),"__comma",["] value"]),(smalltalk.DoIt || DoIt)])]),"_fn",[]),"_applyTo_arguments_",[aReceiver,[]]);
- return $2;
- }
- catch(e) {if(e===$early)return e[0]; throw e}
- },
- args: ["someCode", "aReceiver"],
- source: "eval: someCode on: aReceiver\x0a\x09| compiler |\x0a\x09compiler := Compiler new.\x0a\x09[compiler parseExpression: someCode] on: Error do: [:ex |\x0a\x09\x09^window alert: ex messageText].\x0a\x09^(compiler eval: (compiler compile: 'doIt ^[', someCode, '] value' forClass: DoIt)) fn applyTo: aReceiver arguments: #()",
- messageSends: ["new", "on:do:", "alert:", "messageText", "parseExpression:", "applyTo:arguments:", "fn", "eval:", "compile:forClass:", ","],
- referencedClasses: ["Compiler", "Error", "DoIt"]
- }),
- smalltalk.HLLocalEnvironment);
- smalltalk.addMethod(
- "_packages",
- smalltalk.method({
- selector: "packages",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk),"_current",[]),"_packages",[]);
- return $1;
- },
- args: [],
- source: "packages\x0a\x0a\x09^ Smalltalk current packages",
- messageSends: ["packages", "current"],
- referencedClasses: ["Smalltalk"]
- }),
- smalltalk.HLLocalEnvironment);
- smalltalk.addClass('HLRemoveEnvironment', smalltalk.HLEnvironment, [], 'Helios-Core');
- smalltalk.addMethod(
- "_packages",
- smalltalk.method({
- selector: "packages",
- category: 'accessing',
- fn: function (){
- var self=this;
- return self},
- args: [],
- source: "packages\x0a\x09\x22Answer the remote environment's packages\x22\x0a \x0a\x09\x22to-do\x22\x0a \x0a \x22Note for future self and friends:\x0a the problem with remote stuff is that the answers shouldn't be expected to be\x0a received in a syncrhonous fashion. Everything network is asyc, so you *are going to deal with callbacks* here\x22",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLRemoveEnvironment);
- smalltalk.addClass('HLSourceArea', smalltalk.Widget, ['editor', 'textarea', 'div', 'receiver', 'onDoIt'], 'Helios-Core');
- smalltalk.addMethod(
- "_clear",
- smalltalk.method({
- selector: "clear",
- category: 'actions',
- fn: function (){
- var self=this;
- smalltalk.send(self,"_contents_",[""]);
- return self},
- args: [],
- source: "clear\x0a self contents: ''",
- messageSends: ["contents:"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_contents",
- smalltalk.method({
- selector: "contents",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send(self["@editor"],"_getValue",[]);
- return $1;
- },
- args: [],
- source: "contents\x0a ^editor getValue",
- messageSends: ["getValue"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_contents_",
- smalltalk.method({
- selector: "contents:",
- category: 'accessing',
- fn: function (aString){
- var self=this;
- smalltalk.send(self["@editor"],"_setValue_",[aString]);
- return self},
- args: ["aString"],
- source: "contents: aString\x0a editor setValue: aString",
- messageSends: ["setValue:"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_currentLine",
- smalltalk.method({
- selector: "currentLine",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send(self["@editor"],"_getLine_",[smalltalk.send(smalltalk.send(self["@editor"],"_getCursor",[]),"_line",[])]);
- return $1;
- },
- args: [],
- source: "currentLine\x0a ^editor getLine: (editor getCursor line)",
- messageSends: ["getLine:", "line", "getCursor"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_currentLineOrSelection",
- smalltalk.method({
- selector: "currentLineOrSelection",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $2,$1;
- $2=smalltalk.send(self["@editor"],"_somethingSelected",[]);
- if(smalltalk.assert($2)){
- $1=smalltalk.send(self,"_selection",[]);
- } else {
- $1=smalltalk.send(self,"_currentLine",[]);
- };
- return $1;
- },
- args: [],
- source: "currentLineOrSelection\x0a ^editor somethingSelected\x0a\x09ifFalse: [self currentLine]\x0a\x09ifTrue: [self selection]",
- messageSends: ["ifFalse:ifTrue:", "currentLine", "selection", "somethingSelected"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_doIt",
- smalltalk.method({
- selector: "doIt",
- category: 'actions',
- fn: function (){
- var self=this;
- var $1;
- var result;
- result=smalltalk.send(self,"_eval_",[smalltalk.send(self,"_currentLineOrSelection",[])]);
- $1=smalltalk.send(self,"_onDoIt",[]);
- if(($receiver = $1) == nil || $receiver == undefined){
- $1;
- } else {
- smalltalk.send(smalltalk.send(self,"_onDoIt",[]),"_value",[]);
- };
- return result;
- },
- args: [],
- source: "doIt\x0a | result |\x0a result := self eval: self currentLineOrSelection.\x0a self onDoIt ifNotNil: [self onDoIt value].\x0a ^result",
- messageSends: ["eval:", "currentLineOrSelection", "ifNotNil:", "value", "onDoIt"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_editor",
- smalltalk.method({
- selector: "editor",
- category: 'accessing',
- fn: function (){
- var self=this;
- return self["@editor"];
- },
- args: [],
- source: "editor\x0a\x09^editor",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_eval_",
- smalltalk.method({
- selector: "eval:",
- category: 'actions',
- fn: function (aString){
- var self=this;
- var $1,$2;
- var $early={};
- try {
- var compiler;
- compiler=smalltalk.send((smalltalk.Compiler || Compiler),"_new",[]);
- smalltalk.send((function(){
- return smalltalk.send(compiler,"_parseExpression_",[aString]);
- }),"_on_do_",[(smalltalk.Error || Error),(function(ex){
- $1=smalltalk.send(window,"_alert_",[smalltalk.send(ex,"_messageText",[])]);
- throw $early=[$1];
- })]);
- $2=smalltalk.send(smalltalk.send(smalltalk.send(compiler,"_eval_",[smalltalk.send(compiler,"_compile_forClass_",[smalltalk.send(smalltalk.send("doIt ^[","__comma",[aString]),"__comma",["] value"]),(smalltalk.DoIt || DoIt)])]),"_fn",[]),"_applyTo_arguments_",[smalltalk.send(self,"_receiver",[]),[]]);
- return $2;
- }
- catch(e) {if(e===$early)return e[0]; throw e}
- },
- args: ["aString"],
- source: "eval: aString\x0a\x09| compiler |\x0a\x09compiler := Compiler new.\x0a\x09[compiler parseExpression: aString] on: Error do: [:ex |\x0a\x09\x09^window alert: ex messageText].\x0a\x09^(compiler eval: (compiler compile: 'doIt ^[', aString, '] value' forClass: DoIt)) fn applyTo: self receiver arguments: #()",
- messageSends: ["new", "on:do:", "alert:", "messageText", "parseExpression:", "applyTo:arguments:", "receiver", "fn", "eval:", "compile:forClass:", ","],
- referencedClasses: ["Compiler", "Error", "DoIt"]
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_fileIn",
- smalltalk.method({
- selector: "fileIn",
- category: 'actions',
- fn: function (){
- var self=this;
- smalltalk.send(smalltalk.send((smalltalk.Importer || Importer),"_new",[]),"_import_",[smalltalk.send(smalltalk.send(self,"_currentLineOrSelection",[]),"_readStream",[])]);
- return self},
- args: [],
- source: "fileIn\x0a Importer new import: self currentLineOrSelection readStream",
- messageSends: ["import:", "readStream", "currentLineOrSelection", "new"],
- referencedClasses: ["Importer"]
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_handleKeyDown_",
- smalltalk.method({
- selector: "handleKeyDown:",
- category: 'actions',
- fn: function (anEvent){
- var self=this;
- if(anEvent.ctrlKey) {
- if(anEvent.keyCode === 80) { //ctrl+p
- self._printIt();
- anEvent.preventDefault();
- return false;
- }
- if(anEvent.keyCode === 68) { //ctrl+d
- self._doIt();
- anEvent.preventDefault();
- return false;
- }
- if(anEvent.keyCode === 73) { //ctrl+i
- self._inspectIt();
- anEvent.preventDefault();
- return false;
- }
- };
- ;
- return self},
- args: ["anEvent"],
- source: "handleKeyDown: anEvent\x0a <if(anEvent.ctrlKey) {\x0a\x09\x09if(anEvent.keyCode === 80) { //ctrl+p\x0a\x09\x09\x09self._printIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09\x09if(anEvent.keyCode === 68) { //ctrl+d\x0a\x09\x09\x09self._doIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09\x09if(anEvent.keyCode === 73) { //ctrl+i\x0a\x09\x09\x09self._inspectIt();\x0a\x09\x09\x09anEvent.preventDefault();\x0a\x09\x09\x09return false;\x0a\x09\x09}\x0a\x09}>",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_inspectIt",
- smalltalk.method({
- selector: "inspectIt",
- category: 'actions',
- fn: function (){
- var self=this;
- smalltalk.send(smalltalk.send(self,"_doIt",[]),"_inspect",[]);
- return self},
- args: [],
- source: "inspectIt\x0a self doIt inspect",
- messageSends: ["inspect", "doIt"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_onDoIt",
- smalltalk.method({
- selector: "onDoIt",
- category: 'accessing',
- fn: function (){
- var self=this;
- return self["@onDoIt"];
- },
- args: [],
- source: "onDoIt\x0a\x09^onDoIt",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_onDoIt_",
- smalltalk.method({
- selector: "onDoIt:",
- category: 'accessing',
- fn: function (aBlock){
- var self=this;
- self["@onDoIt"]=aBlock;
- return self},
- args: ["aBlock"],
- source: "onDoIt: aBlock\x0a\x09onDoIt := aBlock",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_onKeyDown_",
- smalltalk.method({
- selector: "onKeyDown:",
- category: 'events',
- fn: function (aBlock){
- var self=this;
- smalltalk.send(self["@div"],"_onKeyDown_",[aBlock]);
- return self},
- args: ["aBlock"],
- source: "onKeyDown: aBlock\x0a\x09div onKeyDown: aBlock",
- messageSends: ["onKeyDown:"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_onKeyUp_",
- smalltalk.method({
- selector: "onKeyUp:",
- category: 'events',
- fn: function (aBlock){
- var self=this;
- smalltalk.send(self["@div"],"_onKeyUp_",[aBlock]);
- return self},
- args: ["aBlock"],
- source: "onKeyUp: aBlock\x0a\x09div onKeyUp: aBlock",
- messageSends: ["onKeyUp:"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_print_",
- smalltalk.method({
- selector: "print:",
- category: 'actions',
- fn: function (aString){
- var self=this;
- var start;
- var stop;
- start=smalltalk.send((smalltalk.HashedCollection || HashedCollection),"_new",[]);
- stop=smalltalk.send((smalltalk.HashedCollection || HashedCollection),"_new",[]);
- smalltalk.send(start,"_at_put_",["line",smalltalk.send(smalltalk.send(self["@editor"],"_getCursor_",[false]),"_line",[])]);
- smalltalk.send(start,"_at_put_",["ch",smalltalk.send(smalltalk.send(self["@editor"],"_getCursor_",[false]),"_ch",[])]);
- smalltalk.send(stop,"_at_put_",["line",smalltalk.send(start,"_at_",["line"])]);
- smalltalk.send(stop,"_at_put_",["ch",smalltalk.send(smalltalk.send(smalltalk.send(start,"_at_",["ch"]),"__plus",[smalltalk.send(aString,"_size",[])]),"__plus",[(2)])]);
- smalltalk.send(self["@editor"],"_replaceSelection_",[smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self["@editor"],"_getSelection",[]),"__comma",[" "]),"__comma",[aString]),"__comma",[" "])]);
- smalltalk.send(self["@editor"],"_setCursor_",[smalltalk.send(self["@editor"],"_getCursor_",[true])]);
- smalltalk.send(self["@editor"],"_setSelection_end_",[stop,start]);
- return self},
- args: ["aString"],
- source: "print: aString\x0a\x09| start stop |\x0a\x09start := HashedCollection new.\x0a\x09stop := HashedCollection new.\x0a\x09start at: 'line' put: (editor getCursor: false) line.\x0a\x09start at: 'ch' put: (editor getCursor: false) ch.\x0a\x09stop at: 'line' put: (start at: 'line').\x0a\x09stop at: 'ch' put: ((start at: 'ch') + aString size + 2).\x0a\x09editor replaceSelection: (editor getSelection, ' ', aString, ' ').\x0a\x09editor setCursor: (editor getCursor: true).\x0a\x09editor setSelection: stop end: start",
- messageSends: ["new", "at:put:", "line", "getCursor:", "ch", "at:", "+", "size", "replaceSelection:", ",", "getSelection", "setCursor:", "setSelection:end:"],
- referencedClasses: ["HashedCollection"]
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_printIt",
- smalltalk.method({
- selector: "printIt",
- category: 'actions',
- fn: function (){
- var self=this;
- smalltalk.send(self,"_print_",[smalltalk.send(smalltalk.send(self,"_doIt",[]),"_printString",[])]);
- return self},
- args: [],
- source: "printIt\x0a self print: self doIt printString",
- messageSends: ["print:", "printString", "doIt"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_receiver",
- smalltalk.method({
- selector: "receiver",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- if(($receiver = self["@receiver"]) == nil || $receiver == undefined){
- $1=smalltalk.send((smalltalk.DoIt || DoIt),"_new",[]);
- } else {
- $1=self["@receiver"];
- };
- return $1;
- },
- args: [],
- source: "receiver\x0a\x09^receiver ifNil: [DoIt new]",
- messageSends: ["ifNil:", "new"],
- referencedClasses: ["DoIt"]
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_receiver_",
- smalltalk.method({
- selector: "receiver:",
- category: 'accessing',
- fn: function (anObject){
- var self=this;
- self["@receiver"]=anObject;
- return self},
- args: ["anObject"],
- source: "receiver: anObject\x0a\x09receiver := anObject",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_renderOn_",
- smalltalk.method({
- selector: "renderOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- self["@div"]=smalltalk.send(smalltalk.send(html,"_div",[]),"_class_",["source"]);
- smalltalk.send(self["@div"],"_with_",[(function(){
- self["@textarea"]=smalltalk.send(html,"_textarea",[]);
- return self["@textarea"];
- })]);
- smalltalk.send(self,"_setEditorOn_",[smalltalk.send(self["@textarea"],"_element",[])]);
- smalltalk.send(self["@div"],"_onKeyDown_",[(function(e){
- return smalltalk.send(self,"_handleKeyDown_",[e]);
- })]);
- return self},
- args: ["html"],
- source: "renderOn: html\x0a div := html div class: 'source'.\x0a div with: [textarea := html textarea].\x0a self setEditorOn: textarea element.\x0a div onKeyDown: [:e | self handleKeyDown: e]",
- messageSends: ["class:", "div", "with:", "textarea", "setEditorOn:", "element", "onKeyDown:", "handleKeyDown:"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_selection",
- smalltalk.method({
- selector: "selection",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send(self["@editor"],"_getSelection",[]);
- return $1;
- },
- args: [],
- source: "selection\x0a\x09^editor getSelection",
- messageSends: ["getSelection"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_selectionEnd",
- smalltalk.method({
- selector: "selectionEnd",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send(smalltalk.send(self["@textarea"],"_element",[]),"_selectionEnd",[]);
- return $1;
- },
- args: [],
- source: "selectionEnd\x0a ^textarea element selectionEnd",
- messageSends: ["selectionEnd", "element"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_selectionEnd_",
- smalltalk.method({
- selector: "selectionEnd:",
- category: 'accessing',
- fn: function (anInteger){
- var self=this;
- smalltalk.send(smalltalk.send(self["@textarea"],"_element",[]),"_selectionEnd_",[anInteger]);
- return self},
- args: ["anInteger"],
- source: "selectionEnd: anInteger\x0a textarea element selectionEnd: anInteger",
- messageSends: ["selectionEnd:", "element"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_selectionStart",
- smalltalk.method({
- selector: "selectionStart",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send(smalltalk.send(self["@textarea"],"_element",[]),"_selectionStart",[]);
- return $1;
- },
- args: [],
- source: "selectionStart\x0a ^textarea element selectionStart",
- messageSends: ["selectionStart", "element"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_selectionStart_",
- smalltalk.method({
- selector: "selectionStart:",
- category: 'accessing',
- fn: function (anInteger){
- var self=this;
- smalltalk.send(smalltalk.send(self["@textarea"],"_element",[]),"_selectionStart_",[anInteger]);
- return self},
- args: ["anInteger"],
- source: "selectionStart: anInteger\x0a textarea element selectionStart: anInteger",
- messageSends: ["selectionStart:", "element"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_setEditorOn_",
- smalltalk.method({
- selector: "setEditorOn:",
- category: 'accessing',
- fn: function (aTextarea){
- var self=this;
- self['@editor'] = CodeMirror.fromTextArea(aTextarea, {
- theme: 'amber',
- lineNumbers: true,
- enterMode: 'flat',
- matchBrackets: true,
- electricChars: false
- });
- ;
- return self},
- args: ["aTextarea"],
- source: "setEditorOn: aTextarea\x0a\x09<self['@editor'] = CodeMirror.fromTextArea(aTextarea, {\x0a\x09\x09theme: 'amber',\x0a lineNumbers: true,\x0a enterMode: 'flat',\x0a matchBrackets: true,\x0a electricChars: false\x0a\x09})>",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_val",
- smalltalk.method({
- selector: "val",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send(self["@editor"],"_getValue",[]);
- return $1;
- },
- args: [],
- source: "val\x0a ^editor getValue",
- messageSends: ["getValue"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addMethod(
- "_val_",
- smalltalk.method({
- selector: "val:",
- category: 'accessing',
- fn: function (aString){
- var self=this;
- smalltalk.send(self["@editor"],"_setValue_",[aString]);
- return self},
- args: ["aString"],
- source: "val: aString\x0a editor setValue: aString",
- messageSends: ["setValue:"],
- referencedClasses: []
- }),
- smalltalk.HLSourceArea);
- smalltalk.addClass('HLTab', smalltalk.Object, ['widget', 'label'], 'Helios-Core');
- smalltalk.addMethod(
- "_activate",
- smalltalk.method({
- selector: "activate",
- category: 'accessing',
- fn: function (){
- var self=this;
- smalltalk.send(smalltalk.send(self,"_manager",[]),"_activate_",[self]);
- return self},
- args: [],
- source: "activate\x0a\x09self manager activate: self",
- messageSends: ["activate:", "manager"],
- referencedClasses: []
- }),
- smalltalk.HLTab);
- smalltalk.addMethod(
- "_add",
- smalltalk.method({
- selector: "add",
- category: 'accessing',
- fn: function (){
- var self=this;
- smalltalk.send(smalltalk.send(self,"_manager",[]),"_addTab_",[self]);
- return self},
- args: [],
- source: "add\x0a\x09self manager addTab: self",
- messageSends: ["addTab:", "manager"],
- referencedClasses: []
- }),
- smalltalk.HLTab);
- smalltalk.addMethod(
- "_isActive",
- smalltalk.method({
- selector: "isActive",
- category: 'testing',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_manager",[]),"_activeTab",[]),"__eq",[self]);
- return $1;
- },
- args: [],
- source: "isActive\x0a\x09^ self manager activeTab = self",
- messageSends: ["=", "activeTab", "manager"],
- referencedClasses: []
- }),
- smalltalk.HLTab);
- smalltalk.addMethod(
- "_label",
- smalltalk.method({
- selector: "label",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- if(($receiver = self["@label"]) == nil || $receiver == undefined){
- $1="";
- } else {
- $1=self["@label"];
- };
- return $1;
- },
- args: [],
- source: "label\x0a\x09^ label ifNil: [ '' ]",
- messageSends: ["ifNil:"],
- referencedClasses: []
- }),
- smalltalk.HLTab);
- smalltalk.addMethod(
- "_label_",
- smalltalk.method({
- selector: "label:",
- category: 'accessing',
- fn: function (aString){
- var self=this;
- self["@label"]=aString;
- return self},
- args: ["aString"],
- source: "label: aString\x0a\x09label := aString",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLTab);
- smalltalk.addMethod(
- "_manager",
- smalltalk.method({
- selector: "manager",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send((smalltalk.HLManager || HLManager),"_current",[]);
- return $1;
- },
- args: [],
- source: "manager\x0a\x09^ HLManager current",
- messageSends: ["current"],
- referencedClasses: ["HLManager"]
- }),
- smalltalk.HLTab);
- smalltalk.addMethod(
- "_widget",
- smalltalk.method({
- selector: "widget",
- category: 'accessing',
- fn: function (){
- var self=this;
- return self["@widget"];
- },
- args: [],
- source: "widget\x0a\x09^ widget",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLTab);
- smalltalk.addMethod(
- "_widget_",
- smalltalk.method({
- selector: "widget:",
- category: 'accessing',
- fn: function (aWidget){
- var self=this;
- self["@widget"]=aWidget;
- return self},
- args: ["aWidget"],
- source: "widget: aWidget\x0a\x09widget := aWidget",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLTab);
- smalltalk.addMethod(
- "_on_labelled_",
- smalltalk.method({
- selector: "on:labelled:",
- category: 'instance creation',
- fn: function (aWidget,aString){
- var self=this;
- var $2,$3,$1;
- $2=smalltalk.send(self,"_new",[]);
- smalltalk.send($2,"_widget_",[aWidget]);
- smalltalk.send($2,"_label_",[aString]);
- $3=smalltalk.send($2,"_yourself",[]);
- $1=$3;
- return $1;
- },
- args: ["aWidget", "aString"],
- source: "on: aWidget labelled: aString\x0a\x09^ self new\x0a\x09\x09widget: aWidget;\x0a\x09\x09label: aString;\x0a\x09\x09yourself",
- messageSends: ["widget:", "new", "label:", "yourself"],
- referencedClasses: []
- }),
- smalltalk.HLTab.klass);
- smalltalk.addClass('HLWidget', smalltalk.Widget, ['rootDiv'], 'Helios-Core');
- smalltalk.addMethod(
- "_manager",
- smalltalk.method({
- selector: "manager",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send((smalltalk.HLManager || HLManager),"_current",[]);
- return $1;
- },
- args: [],
- source: "manager\x0a\x09^ HLManager current",
- messageSends: ["current"],
- referencedClasses: ["HLManager"]
- }),
- smalltalk.HLWidget);
- smalltalk.addMethod(
- "_refresh",
- smalltalk.method({
- selector: "refresh",
- category: 'updating',
- fn: function (){
- var self=this;
- if(($receiver = self["@rootDiv"]) == nil || $receiver == undefined){
- return self;
- } else {
- self["@rootDiv"];
- };
- smalltalk.send(smalltalk.send(self["@rootDiv"],"_asJQuery",[]),"_empty",[]);
- smalltalk.send((function(html){
- return smalltalk.send(self,"_renderContentOn_",[html]);
- }),"_appendToJQuery_",[smalltalk.send(self["@rootDiv"],"_asJQuery",[])]);
- return self},
- args: [],
- source: "refresh\x0a\x09rootDiv ifNil: [ ^ self ].\x0a \x0a\x09rootDiv asJQuery empty.\x0a [ :html | self renderContentOn: html ] appendToJQuery: rootDiv asJQuery",
- messageSends: ["ifNil:", "empty", "asJQuery", "appendToJQuery:", "renderContentOn:"],
- referencedClasses: []
- }),
- smalltalk.HLWidget);
- smalltalk.addMethod(
- "_registerBindings",
- smalltalk.method({
- selector: "registerBindings",
- category: 'keybindings',
- fn: function (){
- var self=this;
- smalltalk.send(self,"_registerBindingsOn_",[smalltalk.send(smalltalk.send(smalltalk.send(self,"_manager",[]),"_keyBinder",[]),"_bindings",[])]);
- return self},
- args: [],
- source: "registerBindings\x0a\x09self registerBindingsOn: self manager keyBinder bindings",
- messageSends: ["registerBindingsOn:", "bindings", "keyBinder", "manager"],
- referencedClasses: []
- }),
- smalltalk.HLWidget);
- smalltalk.addMethod(
- "_registerBindingsOn_",
- smalltalk.method({
- selector: "registerBindingsOn:",
- category: 'keybindings',
- fn: function (aBindingGroup){
- var self=this;
- return self},
- args: ["aBindingGroup"],
- source: "registerBindingsOn: aBindingGroup",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWidget);
- smalltalk.addMethod(
- "_renderContentOn_",
- smalltalk.method({
- selector: "renderContentOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- return self},
- args: ["html"],
- source: "renderContentOn: html\x0a",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWidget);
- smalltalk.addMethod(
- "_renderOn_",
- smalltalk.method({
- selector: "renderOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- smalltalk.send(self,"_registerBindings",[]);
- self["@rootDiv"]=smalltalk.send(smalltalk.send(html,"_div",[]),"_with_",[(function(){
- return smalltalk.send(self,"_renderContentOn_",[html]);
- })]);
- return self},
- args: ["html"],
- source: "renderOn: html\x0a self registerBindings.\x0a\x0a\x09rootDiv := html div with: [\x0a \x09self renderContentOn: html ]",
- messageSends: ["registerBindings", "with:", "renderContentOn:", "div"],
- referencedClasses: []
- }),
- smalltalk.HLWidget);
- smalltalk.addMethod(
- "_subscribeTo_",
- smalltalk.method({
- selector: "subscribeTo:",
- category: 'announcements',
- fn: function (anAnnouncer){
- var self=this;
- return self},
- args: ["anAnnouncer"],
- source: "subscribeTo: anAnnouncer",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWidget);
- smalltalk.addMethod(
- "_canBeOpenAsTab",
- smalltalk.method({
- selector: "canBeOpenAsTab",
- category: 'testing',
- fn: function (){
- var self=this;
- return false;
- },
- args: [],
- source: "canBeOpenAsTab\x0a\x09^ false",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWidget.klass);
- smalltalk.addMethod(
- "_openAsTab",
- smalltalk.method({
- selector: "openAsTab",
- category: 'accessing',
- fn: function (){
- var self=this;
- smalltalk.send(smalltalk.send((smalltalk.HLManager || HLManager),"_current",[]),"_addTab_",[smalltalk.send((smalltalk.HLTab || HLTab),"_on_labelled_",[smalltalk.send(self,"_new",[]),smalltalk.send(self,"_tabLabel",[])])]);
- return self},
- args: [],
- source: "openAsTab\x0a\x09HLManager current addTab: (HLTab on: self new labelled: self tabLabel)",
- messageSends: ["addTab:", "on:labelled:", "new", "tabLabel", "current"],
- referencedClasses: ["HLTab", "HLManager"]
- }),
- smalltalk.HLWidget.klass);
- smalltalk.addMethod(
- "_tabLabel",
- smalltalk.method({
- selector: "tabLabel",
- category: 'accessing',
- fn: function (){
- var self=this;
- return "Tab";
- },
- args: [],
- source: "tabLabel\x0a\x09^ 'Tab'",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWidget.klass);
- smalltalk.addMethod(
- "_tabPriority",
- smalltalk.method({
- selector: "tabPriority",
- category: 'accessing',
- fn: function (){
- var self=this;
- return (500);
- },
- args: [],
- source: "tabPriority\x0a\x09^ 500",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLWidget.klass);
- smalltalk.addClass('HLDebugger', smalltalk.HLWidget, [], 'Helios-Core');
- smalltalk.addClass('HLFocusableWidget', smalltalk.HLWidget, ['hiddenInput'], 'Helios-Core');
- smalltalk.addMethod(
- "_blur",
- smalltalk.method({
- selector: "blur",
- category: 'events',
- fn: function (){
- var self=this;
- smalltalk.send(smalltalk.send(self["@hiddenInput"],"_asJQuery",[]),"_blur",[]);
- return self},
- args: [],
- source: "blur\x0a\x09hiddenInput asJQuery blur",
- messageSends: ["blur", "asJQuery"],
- referencedClasses: []
- }),
- smalltalk.HLFocusableWidget);
- smalltalk.addMethod(
- "_focus",
- smalltalk.method({
- selector: "focus",
- category: 'events',
- fn: function (){
- var self=this;
- smalltalk.send(smalltalk.send(self["@hiddenInput"],"_asJQuery",[]),"_focus",[]);
- return self},
- args: [],
- source: "focus\x0a\x09hiddenInput asJQuery focus",
- messageSends: ["focus", "asJQuery"],
- referencedClasses: []
- }),
- smalltalk.HLFocusableWidget);
- smalltalk.addMethod(
- "_focusClass",
- smalltalk.method({
- selector: "focusClass",
- category: 'accessing',
- fn: function (){
- var self=this;
- return "focused";
- },
- args: [],
- source: "focusClass\x0a\x09^ 'focused'",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLFocusableWidget);
- smalltalk.addMethod(
- "_hasFocus",
- smalltalk.method({
- selector: "hasFocus",
- category: 'events',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send(smalltalk.send(self["@rootDiv"],"_notNil",[]),"_and_",[(function(){
- return smalltalk.send(smalltalk.send(self["@rootDiv"],"_asJQuery",[]),"_hasClass_",[smalltalk.send(self,"_focusClass",[])]);
- })]);
- return $1;
- },
- args: [],
- source: "hasFocus\x0a\x09^ rootDiv notNil and: [ rootDiv asJQuery hasClass: self focusClass ]",
- messageSends: ["and:", "hasClass:", "focusClass", "asJQuery", "notNil"],
- referencedClasses: []
- }),
- smalltalk.HLFocusableWidget);
- smalltalk.addMethod(
- "_renderContentOn_",
- smalltalk.method({
- selector: "renderContentOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- return self},
- args: ["html"],
- source: "renderContentOn: html",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLFocusableWidget);
- smalltalk.addMethod(
- "_renderHiddenInputOn_",
- smalltalk.method({
- selector: "renderHiddenInputOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- var $1,$2;
- $1=smalltalk.send(html,"_input",[]);
- smalltalk.send($1,"_style_",["position: absolute; left: -100000px;"]);
- smalltalk.send($1,"_onBlur_",[(function(){
- return smalltalk.send(smalltalk.send(self["@rootDiv"],"_asJQuery",[]),"_removeClass_",[smalltalk.send(self,"_focusClass",[])]);
- })]);
- $2=smalltalk.send($1,"_onFocus_",[(function(){
- return smalltalk.send(smalltalk.send(self["@rootDiv"],"_asJQuery",[]),"_addClass_",[smalltalk.send(self,"_focusClass",[])]);
- })]);
- self["@hiddenInput"]=$2;
- return self},
- args: ["html"],
- source: "renderHiddenInputOn: html\x0a\x09hiddenInput := html input\x0a \x09style: 'position: absolute; left: -100000px;';\x0a \x09onBlur: [ rootDiv asJQuery removeClass: self focusClass ];\x0a onFocus: [ rootDiv asJQuery addClass: self focusClass ]",
- messageSends: ["style:", "input", "onBlur:", "removeClass:", "focusClass", "asJQuery", "onFocus:", "addClass:"],
- referencedClasses: []
- }),
- smalltalk.HLFocusableWidget);
- smalltalk.addMethod(
- "_renderOn_",
- smalltalk.method({
- selector: "renderOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- var $1,$2;
- smalltalk.send(self,"_registerBindings",[]);
- smalltalk.send(self,"_renderHiddenInputOn_",[html]);
- $1=smalltalk.send(html,"_div",[]);
- smalltalk.send($1,"_class_",["hl_widget"]);
- smalltalk.send($1,"_onClick_",[(function(){
- return smalltalk.send(smalltalk.send(self["@hiddenInput"],"_asJQuery",[]),"_focus",[]);
- })]);
- $2=smalltalk.send($1,"_with_",[(function(){
- return smalltalk.send(self,"_renderContentOn_",[html]);
- })]);
- self["@rootDiv"]=$2;
- return self},
- args: ["html"],
- source: "renderOn: html\x0a\x09self registerBindings.\x0a\x09self renderHiddenInputOn: html.\x0a \x0a rootDiv := html div \x0a \x09class: 'hl_widget'; \x0a onClick: [ hiddenInput asJQuery focus ];\x0a with: [\x0a\x09\x09\x09self renderContentOn: html ]",
- messageSends: ["registerBindings", "renderHiddenInputOn:", "class:", "div", "onClick:", "focus", "asJQuery", "with:", "renderContentOn:"],
- referencedClasses: []
- }),
- smalltalk.HLFocusableWidget);
- smalltalk.addClass('HLListWidget', smalltalk.HLFocusableWidget, ['items', 'selectedItem'], 'Helios-Core');
- smalltalk.addMethod(
- "_activateListItem_",
- smalltalk.method({
- selector: "activateListItem:",
- category: 'actions',
- fn: function (aListItem){
- var self=this;
- var $1,$2,$3;
- var parent;
- var position;
- $1=smalltalk.send(aListItem,"_get_",[(0)]);
- if(($receiver = $1) == nil || $receiver == undefined){
- return self;
- } else {
- $1;
- };
- position = aListItem.parent().children().get().indexOf(aListItem.get(0)) + 1;
- ;
- parent=smalltalk.send(aListItem,"_parent",[]);
- smalltalk.send(smalltalk.send(parent,"_children",[]),"_removeClass_",["active"]);
- smalltalk.send(aListItem,"_addClass_",["active"]);
- $2=smalltalk.send(smalltalk.send(smalltalk.send(aListItem,"_position",[]),"_top",[]),"__lt",[(0)]);
- if(smalltalk.assert($2)){
- smalltalk.send(smalltalk.send(parent,"_get_",[(0)]),"_scrollTop_",[smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(parent,"_get_",[(0)]),"_scrollTop",[]),"__plus",[smalltalk.send(smalltalk.send(aListItem,"_position",[]),"_top",[])]),"__minus",[(10)])]);
- };
- $3=smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aListItem,"_position",[]),"_top",[]),"__plus",[smalltalk.send(aListItem,"_height",[])]),"__gt",[smalltalk.send(parent,"_height",[])]);
- if(smalltalk.assert($3)){
- smalltalk.send(smalltalk.send(parent,"_get_",[(0)]),"_scrollTop_",[smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(parent,"_get_",[(0)]),"_scrollTop",[]),"__plus",[smalltalk.send(aListItem,"_height",[])]),"__minus",[smalltalk.send(smalltalk.send(parent,"_height",[]),"__minus",[smalltalk.send(smalltalk.send(aListItem,"_position",[]),"_top",[])])]),"__plus",[(10)])]);
- };
- smalltalk.send(self,"_selectItem_",[smalltalk.send(smalltalk.send(self,"_items",[]),"_at_",[smalltalk.send(smalltalk.send(aListItem,"_attr_",["list-data"]),"_asNumber",[])])]);
- return self},
- args: ["aListItem"],
- source: "activateListItem: aListItem\x0a\x09| parent position |\x0a \x0a\x09(aListItem get: 0) ifNil: [ ^self ].\x0a\x0a\x09<position = aListItem.parent().children().get().indexOf(aListItem.get(0)) + 1>.\x0a\x0a parent := aListItem parent.\x0a\x09parent children removeClass: 'active'.\x0a\x09aListItem addClass: 'active'.\x0a \x0a \x22Move the scrollbar to show the active element\x22\x0a aListItem position top < 0 ifTrue: [\x0a\x09\x09(parent get: 0) scrollTop: ((parent get: 0) scrollTop + aListItem position top - 10) ].\x0a aListItem position top + aListItem height > parent height ifTrue: [ \x0a\x09\x09(parent get: 0) scrollTop: ((parent get: 0) scrollTop + aListItem height - (parent height - aListItem position top)) +10 ].\x0a \x0a \x22Activate the corresponding item\x22\x0a self selectItem: (self items at: (aListItem attr: 'list-data') asNumber)",
- messageSends: ["ifNil:", "get:", "parent", "removeClass:", "children", "addClass:", "ifTrue:", "scrollTop:", "-", "+", "top", "position", "scrollTop", "<", "height", ">", "selectItem:", "at:", "asNumber", "attr:", "items"],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addMethod(
- "_cssClassForItem_",
- smalltalk.method({
- selector: "cssClassForItem:",
- category: 'accessing',
- fn: function (anObject){
- var self=this;
- var $2,$1;
- $2=smalltalk.send(smalltalk.send(self,"_selectedItem",[]),"__eq",[anObject]);
- if(smalltalk.assert($2)){
- $1="active";
- } else {
- $1="inactive";
- };
- return $1;
- },
- args: ["anObject"],
- source: "cssClassForItem: anObject\x0a\x09^ self selectedItem = anObject\x0a\x09\x09\x09ifTrue: [ 'active' ]\x0a\x09\x09\x09ifFalse: [ 'inactive' ]",
- messageSends: ["ifTrue:ifFalse:", "=", "selectedItem"],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addMethod(
- "_iconForItem_",
- smalltalk.method({
- selector: "iconForItem:",
- category: 'accessing',
- fn: function (anObject){
- var self=this;
- return "";
- },
- args: ["anObject"],
- source: "iconForItem: anObject\x0a\x09^ ''",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addMethod(
- "_items",
- smalltalk.method({
- selector: "items",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- if(($receiver = self["@items"]) == nil || $receiver == undefined){
- $1=[];
- } else {
- $1=self["@items"];
- };
- return $1;
- },
- args: [],
- source: "items\x0a\x09^ items ifNil: [ #() ]",
- messageSends: ["ifNil:"],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addMethod(
- "_items_",
- smalltalk.method({
- selector: "items:",
- category: 'accessing',
- fn: function (aCollection){
- var self=this;
- self["@items"]=aCollection;
- return self},
- args: ["aCollection"],
- source: "items: aCollection\x0a\x09items := aCollection",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addMethod(
- "_renderButtonsOn_",
- smalltalk.method({
- selector: "renderButtonsOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- return self},
- args: ["html"],
- source: "renderButtonsOn: html",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addMethod(
- "_renderContentOn_",
- smalltalk.method({
- selector: "renderContentOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- var $1,$2,$3,$4;
- $1=smalltalk.send(html,"_ul",[]);
- smalltalk.send($1,"_class_",["nav nav-pills nav-stacked"]);
- $2=smalltalk.send($1,"_with_",[(function(){
- return smalltalk.send(self,"_renderListOn_",[html]);
- })]);
- $3=smalltalk.send(html,"_div",[]);
- smalltalk.send($3,"_class_",["pane_actions form-actions"]);
- $4=smalltalk.send($3,"_with_",[(function(){
- return smalltalk.send(self,"_renderButtonsOn_",[html]);
- })]);
- smalltalk.send(self,"_setupKeyBindings",[]);
- return self},
- args: ["html"],
- source: "renderContentOn: html\x0a\x09html ul \x0a \x09class: 'nav nav-pills nav-stacked';\x0a with: [ self renderListOn: html ].\x0a html div class: 'pane_actions form-actions'; with: [\x0a \x09self renderButtonsOn: html ].\x0a \x0a self setupKeyBindings",
- messageSends: ["class:", "ul", "with:", "renderListOn:", "div", "renderButtonsOn:", "setupKeyBindings"],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addMethod(
- "_renderItem_on_",
- smalltalk.method({
- selector: "renderItem:on:",
- category: 'rendering',
- fn: function (anObject,html){
- var self=this;
- var $2,$3,$1;
- var li;
- li=smalltalk.send(html,"_li",[]);
- smalltalk.send(li,"_class_",[smalltalk.send(self,"_cssClassForItem_",[anObject])]);
- smalltalk.send(li,"_at_put_",["list-data",smalltalk.send(smalltalk.send(smalltalk.send(self,"_items",[]),"_indexOf_",[anObject]),"_asString",[])]);
- $1=smalltalk.send(li,"_with_",[(function(){
- $2=smalltalk.send(html,"_a",[]);
- smalltalk.send($2,"_with_",[(function(){
- smalltalk.send(smalltalk.send(html,"_tag_",["i"]),"_class_",[smalltalk.send(self,"_iconForItem_",[anObject])]);
- return smalltalk.send(self,"_renderItemLabel_on_",[anObject,html]);
- })]);
- $3=smalltalk.send($2,"_onClick_",[(function(){
- return smalltalk.send(self,"_activateListItem_",[smalltalk.send(li,"_asJQuery",[])]);
- })]);
- return $3;
- })]);
- return self},
- args: ["anObject", "html"],
- source: "renderItem: anObject on: html\x0a\x09| li |\x0a \x0a\x09li := html li.\x0a li\x0a \x09class: (self cssClassForItem: anObject);\x0a at: 'list-data' put: (self items indexOf: anObject) asString;\x0a with: [ \x0a \x09html a\x0a \x09with: [ \x0a \x09\x09(html tag: 'i') class: (self iconForItem: anObject).\x0a \x09\x09\x09\x09\x09self renderItemLabel: anObject on: html ];\x0a\x09\x09\x09\x09onClick: [\x0a \x09self activateListItem: li asJQuery ] ]",
- messageSends: ["li", "class:", "cssClassForItem:", "at:put:", "asString", "indexOf:", "items", "with:", "iconForItem:", "tag:", "renderItemLabel:on:", "a", "onClick:", "activateListItem:", "asJQuery"],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addMethod(
- "_renderItemLabel_on_",
- smalltalk.method({
- selector: "renderItemLabel:on:",
- category: 'rendering',
- fn: function (anObject,html){
- var self=this;
- smalltalk.send(html,"_with_",[smalltalk.send(anObject,"_asString",[])]);
- return self},
- args: ["anObject", "html"],
- source: "renderItemLabel: anObject on: html\x0a\x09html with: anObject asString",
- messageSends: ["with:", "asString"],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addMethod(
- "_renderListOn_",
- smalltalk.method({
- selector: "renderListOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- smalltalk.send(smalltalk.send(self,"_items",[]),"_do_",[(function(each){
- return smalltalk.send(self,"_renderItem_on_",[each,html]);
- })]);
- return self},
- args: ["html"],
- source: "renderListOn: html\x0a\x09self items do: [ :each | \x0a \x09self renderItem: each on: html ]",
- messageSends: ["do:", "renderItem:on:", "items"],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addMethod(
- "_selectItem_",
- smalltalk.method({
- selector: "selectItem:",
- category: 'actions',
- fn: function (anObject){
- var self=this;
- smalltalk.send(self,"_selectedItem_",[anObject]);
- return self},
- args: ["anObject"],
- source: "selectItem: anObject\x0a\x09self selectedItem: anObject",
- messageSends: ["selectedItem:"],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addMethod(
- "_selectedItem",
- smalltalk.method({
- selector: "selectedItem",
- category: 'accessing',
- fn: function (){
- var self=this;
- return self["@selectedItem"];
- },
- args: [],
- source: "selectedItem\x0a\x09^ selectedItem",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addMethod(
- "_selectedItem_",
- smalltalk.method({
- selector: "selectedItem:",
- category: 'accessing',
- fn: function (anObject){
- var self=this;
- self["@selectedItem"]=anObject;
- return self},
- args: ["anObject"],
- source: "selectedItem: anObject\x0a\x09selectedItem := anObject",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addMethod(
- "_setupKeyBindings",
- smalltalk.method({
- selector: "setupKeyBindings",
- category: 'events',
- fn: function (){
- var self=this;
- var $1,$2,$3;
- var next;
- smalltalk.send(smalltalk.send(self["@hiddenInput"],"_asJQuery",[]),"_unbind_",["keydown"]);
- smalltalk.send(smalltalk.send(self["@hiddenInput"],"_asJQuery",[]),"_keydown_",[(function(e){
- var selected;
- selected=smalltalk.send(window,"_jQuery_",[".focused .nav-pills .active"]);
- selected;
- $1=smalltalk.send(smalltalk.send(e,"_which",[]),"__eq",[(38)]);
- if(smalltalk.assert($1)){
- smalltalk.send(self,"_activateListItem_",[smalltalk.send(selected,"_prev",[])]);
- };
- $2=smalltalk.send(smalltalk.send(e,"_which",[]),"__eq",[(40)]);
- if(smalltalk.assert($2)){
- next=smalltalk.send(selected,"_next",[]);
- next;
- $3=smalltalk.send(next,"_get_",[(0)]);
- if(($receiver = $3) == nil || $receiver == undefined){
- next=smalltalk.send(window,"_jQuery_",[".focused .nav-pills li:first-child"]);
- next;
- } else {
- $3;
- };
- return smalltalk.send(self,"_activateListItem_",[next]);
- };
- })]);
- return self},
- args: [],
- source: "setupKeyBindings\x0a\x09| next |\x0a\x09hiddenInput asJQuery unbind: 'keydown'.\x0a\x0a\x09hiddenInput asJQuery keydown: [ :e | | selected |\x0a \x09selected := window jQuery: '.focused .nav-pills .active'.\x0a e which = 38 ifTrue: [ \x0a \x09self activateListItem: selected prev ].\x0a \x09e which = 40 ifTrue: [\x0a \x09next := selected next.\x0a (next get: 0) ifNil: [ next := window jQuery: '.focused .nav-pills li:first-child' ].\x0a\x09\x09\x09self activateListItem: next ] ]",
- messageSends: ["unbind:", "asJQuery", "keydown:", "jQuery:", "ifTrue:", "activateListItem:", "prev", "=", "which", "next", "ifNil:", "get:"],
- referencedClasses: []
- }),
- smalltalk.HLListWidget);
- smalltalk.addClass('HLNavigationListWidget', smalltalk.HLListWidget, ['previous', 'next'], 'Helios-Core');
- smalltalk.addMethod(
- "_next",
- smalltalk.method({
- selector: "next",
- category: 'accessing',
- fn: function (){
- var self=this;
- return self["@next"];
- },
- args: [],
- source: "next\x0a\x09^ next",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLNavigationListWidget);
- smalltalk.addMethod(
- "_next_",
- smalltalk.method({
- selector: "next:",
- category: 'accessing',
- fn: function (aWidget){
- var self=this;
- var $1;
- self["@next"]=aWidget;
- $1=smalltalk.send(smalltalk.send(aWidget,"_previous",[]),"__eq",[self]);
- if(! smalltalk.assert($1)){
- smalltalk.send(aWidget,"_previous_",[self]);
- };
- return self},
- args: ["aWidget"],
- source: "next: aWidget\x0a\x09next := aWidget.\x0a aWidget previous = self ifFalse: [ aWidget previous: self ]",
- messageSends: ["ifFalse:", "previous:", "=", "previous"],
- referencedClasses: []
- }),
- smalltalk.HLNavigationListWidget);
- smalltalk.addMethod(
- "_nextFocus",
- smalltalk.method({
- selector: "nextFocus",
- category: 'actions',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send(self,"_next",[]);
- if(($receiver = $1) == nil || $receiver == undefined){
- $1;
- } else {
- smalltalk.send(smalltalk.send(self,"_next",[]),"_focus",[]);
- };
- return self},
- args: [],
- source: "nextFocus\x0a\x09self next ifNotNil: [ self next focus ]",
- messageSends: ["ifNotNil:", "focus", "next"],
- referencedClasses: []
- }),
- smalltalk.HLNavigationListWidget);
- smalltalk.addMethod(
- "_previous",
- smalltalk.method({
- selector: "previous",
- category: 'accessing',
- fn: function (){
- var self=this;
- return self["@previous"];
- },
- args: [],
- source: "previous\x0a\x09^ previous",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLNavigationListWidget);
- smalltalk.addMethod(
- "_previous_",
- smalltalk.method({
- selector: "previous:",
- category: 'accessing',
- fn: function (aWidget){
- var self=this;
- var $1;
- self["@previous"]=aWidget;
- $1=smalltalk.send(smalltalk.send(aWidget,"_next",[]),"__eq",[self]);
- if(! smalltalk.assert($1)){
- smalltalk.send(aWidget,"_next_",[self]);
- };
- return self},
- args: ["aWidget"],
- source: "previous: aWidget\x0a\x09previous := aWidget.\x0a aWidget next = self ifFalse: [ aWidget next: self ]",
- messageSends: ["ifFalse:", "next:", "=", "next"],
- referencedClasses: []
- }),
- smalltalk.HLNavigationListWidget);
- smalltalk.addMethod(
- "_previousFocus",
- smalltalk.method({
- selector: "previousFocus",
- category: 'actions',
- fn: function (){
- var self=this;
- var $1;
- $1=smalltalk.send(self,"_previous",[]);
- if(($receiver = $1) == nil || $receiver == undefined){
- $1;
- } else {
- smalltalk.send(smalltalk.send(self,"_previous",[]),"_focus",[]);
- };
- return self},
- args: [],
- source: "previousFocus\x0a\x09self previous ifNotNil: [ self previous focus ]",
- messageSends: ["ifNotNil:", "focus", "previous"],
- referencedClasses: []
- }),
- smalltalk.HLNavigationListWidget);
- smalltalk.addMethod(
- "_setupKeyBindings",
- smalltalk.method({
- selector: "setupKeyBindings",
- category: 'events',
- fn: function (){
- var self=this;
- var $1,$2;
- smalltalk.send(self,"_setupKeyBindings",[],smalltalk.HLListWidget);
- smalltalk.send(smalltalk.send(self["@hiddenInput"],"_asJQuery",[]),"_keydown_",[(function(e){
- $1=smalltalk.send(smalltalk.send(e,"_which",[]),"__eq",[(39)]);
- if(smalltalk.assert($1)){
- smalltalk.send(self,"_nextFocus",[]);
- };
- $2=smalltalk.send(smalltalk.send(e,"_which",[]),"__eq",[(37)]);
- if(smalltalk.assert($2)){
- return smalltalk.send(self,"_previousFocus",[]);
- };
- })]);
- return self},
- args: [],
- source: "setupKeyBindings\x0a\x09super setupKeyBindings.\x0a\x0a\x09hiddenInput asJQuery keydown: [ :e |\x0a e which = 39 ifTrue: [ \x0a \x09self nextFocus ].\x0a\x09\x09e which = 37 ifTrue: [ \x0a \x09self previousFocus ] ]",
- messageSends: ["setupKeyBindings", "keydown:", "ifTrue:", "nextFocus", "=", "which", "previousFocus", "asJQuery"],
- referencedClasses: []
- }),
- smalltalk.HLNavigationListWidget);
- smalltalk.addClass('HLManager', smalltalk.HLWidget, ['tabs', 'activeTab', 'keyBinder'], 'Helios-Core');
- smalltalk.addMethod(
- "_activate_",
- smalltalk.method({
- selector: "activate:",
- category: 'actions',
- fn: function (aTab){
- var self=this;
- var $1;
- smalltalk.send(smalltalk.send(self,"_keyBinder",[]),"_flushBindings",[]);
- self["@activeTab"]=aTab;
- smalltalk.send(self,"_refresh",[]);
- $1=smalltalk.send(self,"_show_",[aTab]);
- return self},
- args: ["aTab"],
- source: "activate: aTab\x0a\x09self keyBinder flushBindings.\x0a\x09activeTab := aTab.\x0a \x0a\x09self \x0a\x09\x09refresh;\x0a\x09\x09show: aTab",
- messageSends: ["flushBindings", "keyBinder", "refresh", "show:"],
- referencedClasses: []
- }),
- smalltalk.HLManager);
- smalltalk.addMethod(
- "_activeTab",
- smalltalk.method({
- selector: "activeTab",
- category: 'accessing',
- fn: function (){
- var self=this;
- return self["@activeTab"];
- },
- args: [],
- source: "activeTab\x0a\x09^ activeTab",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLManager);
- smalltalk.addMethod(
- "_addTab_",
- smalltalk.method({
- selector: "addTab:",
- category: 'actions',
- fn: function (aTab){
- var self=this;
- smalltalk.send(smalltalk.send(self,"_tabs",[]),"_add_",[aTab]);
- smalltalk.send(self,"_activate_",[aTab]);
- return self},
- args: ["aTab"],
- source: "addTab: aTab\x0a\x09self tabs add: aTab.\x0a self activate: aTab",
- messageSends: ["add:", "tabs", "activate:"],
- referencedClasses: []
- }),
- smalltalk.HLManager);
- smalltalk.addMethod(
- "_initialize",
- smalltalk.method({
- selector: "initialize",
- category: 'initialization',
- fn: function (){
- var self=this;
- smalltalk.send(self,"_initialize",[],smalltalk.HLWidget);
- smalltalk.send(smalltalk.send(self,"_keyBinder",[]),"_setupEvents",[]);
- return self},
- args: [],
- source: "initialize\x0a\x09super initialize.\x0a self keyBinder setupEvents",
- messageSends: ["initialize", "setupEvents", "keyBinder"],
- referencedClasses: []
- }),
- smalltalk.HLManager);
- smalltalk.addMethod(
- "_keyBinder",
- smalltalk.method({
- selector: "keyBinder",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- if(($receiver = self["@keyBinder"]) == nil || $receiver == undefined){
- self["@keyBinder"]=smalltalk.send((smalltalk.HLKeyBinder || HLKeyBinder),"_new",[]);
- $1=self["@keyBinder"];
- } else {
- $1=self["@keyBinder"];
- };
- return $1;
- },
- args: [],
- source: "keyBinder\x0a\x09^ keyBinder ifNil: [ keyBinder := HLKeyBinder new ]",
- messageSends: ["ifNil:", "new"],
- referencedClasses: ["HLKeyBinder"]
- }),
- smalltalk.HLManager);
- smalltalk.addMethod(
- "_refresh",
- smalltalk.method({
- selector: "refresh",
- category: 'rendering',
- fn: function (){
- var self=this;
- smalltalk.send(smalltalk.send(window,"_jQuery_",[".navbar"]),"_remove",[]);
- smalltalk.send(smalltalk.send(window,"_jQuery_",["#container"]),"_remove",[]);
- smalltalk.send(self,"_appendToJQuery_",[smalltalk.send("body","_asJQuery",[])]);
- return self},
- args: [],
- source: "refresh\x0a\x09(window jQuery: '.navbar') remove.\x0a\x09(window jQuery: '#container') remove.\x0a\x09self appendToJQuery: 'body' asJQuery",
- messageSends: ["remove", "jQuery:", "appendToJQuery:", "asJQuery"],
- referencedClasses: []
- }),
- smalltalk.HLManager);
- smalltalk.addMethod(
- "_removeTab_",
- smalltalk.method({
- selector: "removeTab:",
- category: 'actions',
- fn: function (aTab){
- var self=this;
- var $1;
- $1=smalltalk.send(smalltalk.send(self,"_tabs",[]),"_includes_",[aTab]);
- if(! smalltalk.assert($1)){
- return self;
- };
- smalltalk.send(smalltalk.send(self,"_tabs",[]),"_remove_",[aTab]);
- smalltalk.send(self,"_refresh",[]);
- return self},
- args: ["aTab"],
- source: "removeTab: aTab\x0a\x09\x22Todo: activate the previously activated tab. Keep a history of tabs selection\x22\x0a\x0a\x09(self tabs includes: aTab) ifFalse: [ ^ self ].\x0a\x0a\x09self tabs remove: aTab.\x0a\x09self refresh",
- messageSends: ["ifFalse:", "includes:", "tabs", "remove:", "refresh"],
- referencedClasses: []
- }),
- smalltalk.HLManager);
- smalltalk.addMethod(
- "_renderAddOn_",
- smalltalk.method({
- selector: "renderAddOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- var $1,$3,$4,$5,$7,$8,$6,$2;
- $1=smalltalk.send(html,"_li",[]);
- smalltalk.send($1,"_class_",["dropdown"]);
- $2=smalltalk.send($1,"_with_",[(function(){
- $3=smalltalk.send(html,"_a",[]);
- smalltalk.send($3,"_class_",["dropdown-toggle"]);
- smalltalk.send($3,"_at_put_",["data-toggle","dropdown"]);
- $4=smalltalk.send($3,"_with_",[(function(){
- smalltalk.send(html,"_with_",["Open..."]);
- return smalltalk.send(smalltalk.send(html,"_tag_",["b"]),"_class_",["caret"]);
- })]);
- $4;
- $5=smalltalk.send(html,"_ul",[]);
- smalltalk.send($5,"_class_",["dropdown-menu"]);
- $6=smalltalk.send($5,"_with_",[(function(){
- return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.HLWidget || HLWidget),"_withAllSubclasses",[]),"_select_",[(function(each){
- return smalltalk.send(each,"_canBeOpenAsTab",[]);
- })]),"_sorted_",[(function(a,b){
- return smalltalk.send(smalltalk.send(a,"_tabPriority",[]),"__lt",[smalltalk.send(b,"_tabPriority",[])]);
- })]),"_do_",[(function(each){
- return smalltalk.send(smalltalk.send(html,"_li",[]),"_with_",[(function(){
- $7=smalltalk.send(html,"_a",[]);
- smalltalk.send($7,"_with_",[smalltalk.send(each,"_tabLabel",[])]);
- $8=smalltalk.send($7,"_onClick_",[(function(){
- return smalltalk.send(each,"_openAsTab",[]);
- })]);
- return $8;
- })]);
- })]);
- })]);
- return $6;
- })]);
- return self},
- args: ["html"],
- source: "renderAddOn: html\x0a html li \x0a \x09class: 'dropdown';\x0a with: [ \x0a\x09\x09\x09html a \x0a \x09\x09class: 'dropdown-toggle';\x0a \x09 \x09at: 'data-toggle' put: 'dropdown';\x0a \x09with: [ \x0a \x09\x09html with: 'Open...'.\x0a \x09\x09\x09\x09\x09(html tag: 'b') class: 'caret' ].\x0a html ul \x0a \x09\x09class: 'dropdown-menu';\x0a with: [\x0a \x09((HLWidget withAllSubclasses\x0a \x09select: [ :each | each canBeOpenAsTab ])\x0a sorted: [ :a :b | a tabPriority < b tabPriority ])\x0a do: [ :each |\x0a \x09\x09\x09\x09\x09\x09\x09html li with: [\x0a \x09\x09\x09html a \x0a \x09with: each tabLabel;\x0a \x09\x09\x09\x09\x09\x09\x09\x09onClick: [ each openAsTab ] ] ] ] ]",
- messageSends: ["class:", "li", "with:", "a", "at:put:", "tag:", "ul", "do:", "tabLabel", "onClick:", "openAsTab", "sorted:", "<", "tabPriority", "select:", "canBeOpenAsTab", "withAllSubclasses"],
- referencedClasses: ["HLWidget"]
- }),
- smalltalk.HLManager);
- smalltalk.addMethod(
- "_renderContentOn_",
- smalltalk.method({
- selector: "renderContentOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- var $1,$3,$4,$2;
- $1=smalltalk.send(html,"_div",[]);
- smalltalk.send($1,"_class_",["navbar navbar-fixed-top"]);
- $2=smalltalk.send($1,"_with_",[(function(){
- $3=smalltalk.send(html,"_div",[]);
- smalltalk.send($3,"_class_",["navbar-inner"]);
- $4=smalltalk.send($3,"_with_",[(function(){
- return smalltalk.send(self,"_renderTabsOn_",[html]);
- })]);
- return $4;
- })]);
- smalltalk.send(smalltalk.send(html,"_div",[]),"_id_",["container"]);
- return self},
- args: ["html"],
- source: "renderContentOn: html\x0a\x09html div \x0a\x09\x09class: 'navbar navbar-fixed-top';\x0a\x09\x09with: [ html div \x0a\x09\x09\x09class: 'navbar-inner';\x0a\x09\x09\x09with: [ self renderTabsOn: html ] ].\x0a\x09html div id: 'container'",
- messageSends: ["class:", "div", "with:", "renderTabsOn:", "id:"],
- referencedClasses: []
- }),
- smalltalk.HLManager);
- smalltalk.addMethod(
- "_renderTabsOn_",
- smalltalk.method({
- selector: "renderTabsOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- var $1,$3,$5,$4,$7,$8,$6,$2;
- $1=smalltalk.send(html,"_ul",[]);
- smalltalk.send($1,"_class_",["nav"]);
- $2=smalltalk.send($1,"_with_",[(function(){
- smalltalk.send(smalltalk.send(self,"_tabs",[]),"_do_",[(function(each){
- $3=smalltalk.send(html,"_li",[]);
- $5=smalltalk.send(each,"_isActive",[]);
- if(smalltalk.assert($5)){
- $4="active";
- } else {
- $4="inactive";
- };
- smalltalk.send($3,"_class_",[$4]);
- $6=smalltalk.send($3,"_with_",[(function(){
- $7=smalltalk.send(html,"_a",[]);
- smalltalk.send($7,"_with_",[(function(){
- smalltalk.send(smalltalk.send(smalltalk.send(html,"_tag_",["i"]),"_class_",["icon-remove-circle"]),"_onClick_",[(function(){
- return smalltalk.send(self,"_removeTab_",[each]);
- })]);
- return smalltalk.send(html,"_with_",[smalltalk.send(each,"_label",[])]);
- })]);
- $8=smalltalk.send($7,"_onClick_",[(function(){
- return smalltalk.send(each,"_activate",[]);
- })]);
- return $8;
- })]);
- return $6;
- })]);
- return smalltalk.send(self,"_renderAddOn_",[html]);
- })]);
- return self},
- args: ["html"],
- source: "renderTabsOn: html\x0a\x09html ul \x0a\x09\x09class: 'nav';\x0a\x09\x09with: [ \x0a \x09self tabs do: [ :each |\x0a\x09\x09\x09\x09html li \x0a\x09\x09\x09\x09\x09class: (each isActive ifTrue: [ 'active' ] ifFalse: [ 'inactive' ]);\x0a\x09\x09\x09\x09\x09with: [\x0a\x09\x09\x09\x09\x09\x09html a\x0a\x09\x09\x09\x09\x09\x09\x09with: [\x0a \x09\x09\x09\x09\x09\x09\x09((html tag: 'i') class: 'icon-remove-circle')\x0a \x09\x09\x09\x09\x09\x09\x09\x09\x09onClick: [ self removeTab: each ].\x0a \x09html with: each label ];\x0a\x09\x09\x09\x09\x09\x09\x09onClick: [ each activate ] ] ].\x0a\x09\x09\x09self renderAddOn: html ]",
- messageSends: ["class:", "ul", "with:", "do:", "ifTrue:ifFalse:", "isActive", "li", "onClick:", "removeTab:", "tag:", "label", "a", "activate", "tabs", "renderAddOn:"],
- referencedClasses: []
- }),
- smalltalk.HLManager);
- smalltalk.addMethod(
- "_show_",
- smalltalk.method({
- selector: "show:",
- category: 'rendering',
- fn: function (aTab){
- var self=this;
- smalltalk.send(smalltalk.send(window,"_jQuery_",["#container"]),"_empty",[]);
- smalltalk.send(smalltalk.send(aTab,"_widget",[]),"_appendToJQuery_",[smalltalk.send("#container","_asJQuery",[])]);
- return self},
- args: ["aTab"],
- source: "show: aTab\x0a\x09(window jQuery: '#container') empty.\x0a\x09aTab widget appendToJQuery: '#container' asJQuery",
- messageSends: ["empty", "jQuery:", "appendToJQuery:", "asJQuery", "widget"],
- referencedClasses: []
- }),
- smalltalk.HLManager);
- smalltalk.addMethod(
- "_tabs",
- smalltalk.method({
- selector: "tabs",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- if(($receiver = self["@tabs"]) == nil || $receiver == undefined){
- self["@tabs"]=smalltalk.send((smalltalk.OrderedCollection || OrderedCollection),"_new",[]);
- $1=self["@tabs"];
- } else {
- $1=self["@tabs"];
- };
- return $1;
- },
- args: [],
- source: "tabs\x0a\x09^ tabs ifNil: [ tabs := OrderedCollection new ]",
- messageSends: ["ifNil:", "new"],
- referencedClasses: ["OrderedCollection"]
- }),
- smalltalk.HLManager);
- smalltalk.HLManager.klass.iVarNames = ['current'];
- smalltalk.addMethod(
- "_current",
- smalltalk.method({
- selector: "current",
- category: 'accessing',
- fn: function (){
- var self=this;
- var $1;
- if(($receiver = self["@current"]) == nil || $receiver == undefined){
- self["@current"]=smalltalk.send(smalltalk.send(self,"_basicNew",[]),"_initialize",[]);
- $1=self["@current"];
- } else {
- $1=self["@current"];
- };
- return $1;
- },
- args: [],
- source: "current\x0a\x09^ current ifNil: [ current := self basicNew initialize ]",
- messageSends: ["ifNil:", "initialize", "basicNew"],
- referencedClasses: []
- }),
- smalltalk.HLManager.klass);
- smalltalk.addMethod(
- "_initialize",
- smalltalk.method({
- selector: "initialize",
- category: 'initialization',
- fn: function (){
- var self=this;
- smalltalk.send(smalltalk.send(self,"_current",[]),"_appendToJQuery_",[smalltalk.send("body","_asJQuery",[])]);
- return self},
- args: [],
- source: "initialize\x0a\x09self current appendToJQuery: 'body' asJQuery",
- messageSends: ["appendToJQuery:", "asJQuery", "current"],
- referencedClasses: []
- }),
- smalltalk.HLManager.klass);
- smalltalk.addMethod(
- "_new",
- smalltalk.method({
- selector: "new",
- category: 'instance creation',
- fn: function (){
- var self=this;
- smalltalk.send(self,"_shouldNotImplement",[]);
- return self},
- args: [],
- source: "new\x0a\x09\x22Use current instead\x22\x0a\x0a\x09self shouldNotImplement",
- messageSends: ["shouldNotImplement"],
- referencedClasses: []
- }),
- smalltalk.HLManager.klass);
- smalltalk.addClass('HLSUnit', smalltalk.HLWidget, [], 'Helios-Core');
- smalltalk.addMethod(
- "_canBeOpenAsTab",
- smalltalk.method({
- selector: "canBeOpenAsTab",
- category: 'testing',
- fn: function (){
- var self=this;
- return true;
- },
- args: [],
- source: "canBeOpenAsTab\x0a\x09^ true",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLSUnit.klass);
- smalltalk.addMethod(
- "_tabLabel",
- smalltalk.method({
- selector: "tabLabel",
- category: 'accessing',
- fn: function (){
- var self=this;
- return "SUnit";
- },
- args: [],
- source: "tabLabel\x0a\x09^ 'SUnit'",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLSUnit.klass);
- smalltalk.addMethod(
- "_tabPriority",
- smalltalk.method({
- selector: "tabPriority",
- category: 'accessing',
- fn: function (){
- var self=this;
- return (1000);
- },
- args: [],
- source: "tabPriority\x0a\x09^ 1000",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLSUnit.klass);
- smalltalk.addClass('HLTranscript', smalltalk.HLWidget, [], 'Helios-Core');
- smalltalk.addMethod(
- "_canBeOpenAsTab",
- smalltalk.method({
- selector: "canBeOpenAsTab",
- category: 'testing',
- fn: function (){
- var self=this;
- return true;
- },
- args: [],
- source: "canBeOpenAsTab\x0a\x09^ true",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLTranscript.klass);
- smalltalk.addMethod(
- "_tabLabel",
- smalltalk.method({
- selector: "tabLabel",
- category: 'accessing',
- fn: function (){
- var self=this;
- return "Transcript";
- },
- args: [],
- source: "tabLabel\x0a\x09^ 'Transcript'",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLTranscript.klass);
- smalltalk.addMethod(
- "_tabPriority",
- smalltalk.method({
- selector: "tabPriority",
- category: 'accessing',
- fn: function (){
- var self=this;
- return (600);
- },
- args: [],
- source: "tabPriority\x0a\x09^ 600",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.HLTranscript.klass);
|