| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151 | smalltalk.addPackage('Helios-Inspector');smalltalk.addClass('HLInspector', smalltalk.HLWidget, ['model', 'variablesWidget', 'displayWidget', 'codeWidget', 'label'], 'Helios-Inspector');smalltalk.addMethod("_codeWidget",smalltalk.method({selector: "codeWidget",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $2,$3,$4,$1;$2=self["@codeWidget"];if(($receiver = $2) == nil || $receiver == undefined){$3=_st((smalltalk.HLCodeWidget || HLCodeWidget))._new();_st($3)._model_(_st(self["@model"])._code());_st($3)._receiver_(_st(self["@model"])._inspectee());$4=_st($3)._yourself();self["@codeWidget"]=$4;$1=self["@codeWidget"];} else {$1=$2;};return $1;}, function($ctx1) {$ctx1.fill(self,"codeWidget",{}, smalltalk.HLInspector)})},args: [],source: "codeWidget\x0a\x09^ codeWidget ifNil: [\x0a\x09\x09codeWidget := HLCodeWidget new\x0a    \x09\x09model: model code;\x0a        \x09receiver: model inspectee;\x0a        \x09yourself ]",messageSends: ["ifNil:", "model:", "code", "new", "receiver:", "inspectee", "yourself"],referencedClasses: ["HLCodeWidget"]}),smalltalk.HLInspector);smalltalk.addMethod("_displayWidget",smalltalk.method({selector: "displayWidget",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $2,$3,$4,$1;$2=self["@displayWidget"];if(($receiver = $2) == nil || $receiver == undefined){$3=_st((smalltalk.HLInspectorDisplayWidget || HLInspectorDisplayWidget))._new();_st($3)._model_(_st(self)._model());$4=_st($3)._yourself();self["@displayWidget"]=$4;$1=self["@displayWidget"];} else {$1=$2;};return $1;}, function($ctx1) {$ctx1.fill(self,"displayWidget",{}, smalltalk.HLInspector)})},args: [],source: "displayWidget\x0a\x09^ displayWidget ifNil: [\x0a\x09\x09displayWidget := HLInspectorDisplayWidget new\x0a    \x09\x09model: self model;\x0a        \x09yourself ]",messageSends: ["ifNil:", "model:", "model", "new", "yourself"],referencedClasses: ["HLInspectorDisplayWidget"]}),smalltalk.HLInspector);smalltalk.addMethod("_inspect_",smalltalk.method({selector: "inspect:",category: 'actions',fn: function (anObject){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1,$2;_st(_st(self)._model())._inspect_on_(anObject,self);$1=self;_st($1)._refreshVariablesWidget();$2=_st($1)._refreshDisplayWidget();return self}, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject}, smalltalk.HLInspector)})},args: ["anObject"],source: "inspect: anObject\x0a\x09self model inspect: anObject on: self.\x0a    \x0a\x09self \x0a    \x09refreshVariablesWidget;\x0a\x09\x09refreshDisplayWidget",messageSends: ["inspect:on:", "model", "refreshVariablesWidget", "refreshDisplayWidget"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_inspectee",smalltalk.method({selector: "inspectee",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1;$1=_st(_st(self)._model())._inspectee();return $1;}, function($ctx1) {$ctx1.fill(self,"inspectee",{}, smalltalk.HLInspector)})},args: [],source: "inspectee\x0a\x09^ self model inspectee",messageSends: ["inspectee", "model"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_inspectee_",smalltalk.method({selector: "inspectee:",category: 'accessing',fn: function (anObject){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._inspectee_(anObject);return self}, function($ctx1) {$ctx1.fill(self,"inspectee:",{anObject:anObject}, smalltalk.HLInspector)})},args: ["anObject"],source: "inspectee: anObject\x0a\x09self model inspectee: anObject",messageSends: ["inspectee:", "model"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_label",smalltalk.method({selector: "label",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $2,$1;$2=self["@label"];if(($receiver = $2) == nil || $receiver == undefined){$1=_st(_st(self["@model"])._inspectee())._printString();} else {$1=$2;};return $1;}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLInspector)})},args: [],source: "label\x0a    ^ label ifNil: [ model inspectee printString ]",messageSends: ["ifNil:", "printString", "inspectee"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_model",smalltalk.method({selector: "model",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $2,$1;$2=self["@model"];if(($receiver = $2) == nil || $receiver == undefined){_st(self)._model_(_st((smalltalk.HLInspectorModel || HLInspectorModel))._new());$1=self["@model"];} else {$1=$2;};return $1;}, function($ctx1) {$ctx1.fill(self,"model",{}, smalltalk.HLInspector)})},args: [],source: "model\x0a\x09^ model ifNil: [ \x0a    \x09self model: HLInspectorModel new.\x0a\x09\x09model ]",messageSends: ["ifNil:", "model:", "new"],referencedClasses: ["HLInspectorModel"]}),smalltalk.HLInspector);smalltalk.addMethod("_model_",smalltalk.method({selector: "model:",category: 'accessing',fn: function (aModel){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1,$2;self["@model"]=aModel;_st(_st(self)._codeWidget())._model_(_st(aModel)._code());$1=self;_st($1)._observeCodeWidget();_st($1)._observeVariablesWidget();$2=_st($1)._observeModel();return self}, function($ctx1) {$ctx1.fill(self,"model:",{aModel:aModel}, smalltalk.HLInspector)})},args: ["aModel"],source: "model: aModel\x0a\x09model := aModel. \x0a    self codeWidget model: aModel code.\x0a    \x0a    self \x0a        observeCodeWidget;\x0a    \x09observeVariablesWidget;\x0a        observeModel",messageSends: ["model:", "code", "codeWidget", "observeCodeWidget", "observeVariablesWidget", "observeModel"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_observeCodeWidget",smalltalk.method({selector: "observeCodeWidget",category: 'actions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(_st(_st(self)._codeWidget())._announcer())._on_do_((smalltalk.HLDoItExecuted || HLDoItExecuted),(function(){return smalltalk.withContext(function($ctx2) {
return _st(self)._onDoneIt();}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));return self}, function($ctx1) {$ctx1.fill(self,"observeCodeWidget",{}, smalltalk.HLInspector)})},args: [],source: "observeCodeWidget\x0a\x09self codeWidget announcer \x0a    \x09on: HLDoItExecuted \x0a        do: [ self onDoneIt ]\x0a",messageSends: ["on:do:", "onDoneIt", "announcer", "codeWidget"],referencedClasses: ["HLDoItExecuted"]}),smalltalk.HLInspector);smalltalk.addMethod("_observeModel",smalltalk.method({selector: "observeModel",category: 'actions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(_st(_st(self)._model())._announcer())._on_do_((smalltalk.HLInstanceVariableSelected || HLInstanceVariableSelected),(function(ann){return smalltalk.withContext(function($ctx2) {
return _st(self)._onInstanceVariableSelected();}, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})}));return self}, function($ctx1) {$ctx1.fill(self,"observeModel",{}, smalltalk.HLInspector)})},args: [],source: "observeModel\x0a\x09self model announcer\x0a        on: HLInstanceVariableSelected do: [ :ann | self onInstanceVariableSelected ]",messageSends: ["on:do:", "onInstanceVariableSelected", "announcer", "model"],referencedClasses: ["HLInstanceVariableSelected"]}),smalltalk.HLInspector);smalltalk.addMethod("_observeVariablesWidget",smalltalk.method({selector: "observeVariablesWidget",category: 'actions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1,$2;$1=_st(_st(self)._variablesWidget())._announcer();_st($1)._on_do_((smalltalk.HLRefreshRequested || HLRefreshRequested),(function(ann){return smalltalk.withContext(function($ctx2) {
return _st(self)._onRefresh();}, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})}));$2=_st($1)._on_do_((smalltalk.HLDiveRequested || HLDiveRequested),(function(){return smalltalk.withContext(function($ctx2) {
return _st(self)._onDive();}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));return self}, function($ctx1) {$ctx1.fill(self,"observeVariablesWidget",{}, smalltalk.HLInspector)})},args: [],source: "observeVariablesWidget\x0a\x09self variablesWidget announcer \x0a    \x09on: HLRefreshRequested do: [ :ann | self onRefresh ];\x0a        on: HLDiveRequested do:[ self onDive ]\x0a        ",messageSends: ["on:do:", "onRefresh", "announcer", "variablesWidget", "onDive"],referencedClasses: ["HLRefreshRequested", "HLDiveRequested"]}),smalltalk.HLInspector);smalltalk.addMethod("_onDive",smalltalk.method({selector: "onDive",category: 'reactions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(self)._inspect_(_st(_st(self)._model())._selectedInstVarObject());return self}, function($ctx1) {$ctx1.fill(self,"onDive",{}, smalltalk.HLInspector)})},args: [],source: "onDive\x0a\x0a\x09self inspect: self model selectedInstVarObject",messageSends: ["inspect:", "selectedInstVarObject", "model"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_onDoneIt",smalltalk.method({selector: "onDoneIt",category: 'reactions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(self)._refresh();return self}, function($ctx1) {$ctx1.fill(self,"onDoneIt",{}, smalltalk.HLInspector)})},args: [],source: "onDoneIt\x0a\x0a\x09self refresh",messageSends: ["refresh"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_onInspectIt",smalltalk.method({selector: "onInspectIt",category: 'reactions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"onInspectIt",{}, smalltalk.HLInspector)})},args: [],source: "onInspectIt",messageSends: [],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_onInstanceVariableSelected",smalltalk.method({selector: "onInstanceVariableSelected",category: 'reactions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._codeWidget())._receiver_(_st(_st(self)._model())._selectedInstVarObject());_st(self)._refreshDisplayWidget();return self}, function($ctx1) {$ctx1.fill(self,"onInstanceVariableSelected",{}, smalltalk.HLInspector)})},args: [],source: "onInstanceVariableSelected\x0a\x09self codeWidget receiver: self model selectedInstVarObject.\x0a\x09self refreshDisplayWidget",messageSends: ["receiver:", "selectedInstVarObject", "model", "codeWidget", "refreshDisplayWidget"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_onPrintIt",smalltalk.method({selector: "onPrintIt",category: 'reactions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"onPrintIt",{}, smalltalk.HLInspector)})},args: [],source: "onPrintIt",messageSends: [],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_onRefresh",smalltalk.method({selector: "onRefresh",category: 'reactions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(self)._refresh();return self}, function($ctx1) {$ctx1.fill(self,"onRefresh",{}, smalltalk.HLInspector)})},args: [],source: "onRefresh\x0a\x0a\x09self refresh",messageSends: ["refresh"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_open",smalltalk.method({selector: "open",category: 'actions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(_st((smalltalk.HLManager || HLManager))._current())._addTab_(_st((smalltalk.HLTab || HLTab))._on_labelled_(self,_st(self)._tabLabel()));return self}, function($ctx1) {$ctx1.fill(self,"open",{}, smalltalk.HLInspector)})},args: [],source: "open\x0a\x09HLManager current addTab: (HLTab on: self labelled: self tabLabel)\x0a",messageSends: ["addTab:", "on:labelled:", "tabLabel", "current"],referencedClasses: ["HLTab", "HLManager"]}),smalltalk.HLInspector);smalltalk.addMethod("_refresh",smalltalk.method({selector: "refresh",category: 'actions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(self)._inspect_(_st(self)._inspectee());return self}, function($ctx1) {$ctx1.fill(self,"refresh",{}, smalltalk.HLInspector)})},args: [],source: "refresh\x0a\x09self inspect: self inspectee",messageSends: ["inspect:", "inspectee"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_refreshDisplayWidget",smalltalk.method({selector: "refreshDisplayWidget",category: 'actions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._displayWidget())._refresh();return self}, function($ctx1) {$ctx1.fill(self,"refreshDisplayWidget",{}, smalltalk.HLInspector)})},args: [],source: "refreshDisplayWidget\x0a\x09self displayWidget refresh",messageSends: ["refresh", "displayWidget"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_refreshVariablesWidget",smalltalk.method({selector: "refreshVariablesWidget",category: 'actions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._variablesWidget())._refresh();return self}, function($ctx1) {$ctx1.fill(self,"refreshVariablesWidget",{}, smalltalk.HLInspector)})},args: [],source: "refreshVariablesWidget\x0a\x09self variablesWidget refresh",messageSends: ["refresh", "variablesWidget"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_renderContentOn_",smalltalk.method({selector: "renderContentOn:",category: 'rendering',fn: function (html){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(html)._with_(_st((smalltalk.HLContainer || HLContainer))._with_(_st((smalltalk.HLHorizontalSplitter || HLHorizontalSplitter))._with_with_(_st((smalltalk.HLVerticalSplitter || HLVerticalSplitter))._with_with_(_st(self)._variablesWidget(),_st(self)._displayWidget()),_st(self)._codeWidget())));_st(_st(self)._variablesWidget())._focus();return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLInspector)})},args: ["html"],source: "renderContentOn: html\x0a   \x09html with: (HLContainer with: (HLHorizontalSplitter\x0a    \x09with: (HLVerticalSplitter \x0a            \x09\x09with: self variablesWidget\x0a            \x09    with: self displayWidget)\x0a        with: self codeWidget)).\x0a\x09\x0a\x09self variablesWidget focus\x0a ",messageSends: ["with:", "with:with:", "variablesWidget", "displayWidget", "codeWidget", "focus"],referencedClasses: ["HLVerticalSplitter", "HLHorizontalSplitter", "HLContainer"]}),smalltalk.HLInspector);smalltalk.addMethod("_setLabel_",smalltalk.method({selector: "setLabel:",category: 'actions',fn: function (aString){var self=this;return smalltalk.withContext(function($ctx1) { 
self["@label"]=aString;return self}, function($ctx1) {$ctx1.fill(self,"setLabel:",{aString:aString}, smalltalk.HLInspector)})},args: ["aString"],source: "setLabel: aString\x0a\x09label := aString",messageSends: [],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_setVariables_",smalltalk.method({selector: "setVariables:",category: 'actions',fn: function (aDictionary){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._variables_(aDictionary);return self}, function($ctx1) {$ctx1.fill(self,"setVariables:",{aDictionary:aDictionary}, smalltalk.HLInspector)})},args: ["aDictionary"],source: "setVariables: aDictionary\x0a\x09self model variables: aDictionary",messageSends: ["variables:", "model"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_tabLabel",smalltalk.method({selector: "tabLabel",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1;$1=_st(self)._label();return $1;}, function($ctx1) {$ctx1.fill(self,"tabLabel",{}, smalltalk.HLInspector)})},args: [],source: "tabLabel\x0a    ^ self label",messageSends: ["label"],referencedClasses: []}),smalltalk.HLInspector);smalltalk.addMethod("_variablesWidget",smalltalk.method({selector: "variablesWidget",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $2,$3,$4,$1;$2=self["@variablesWidget"];if(($receiver = $2) == nil || $receiver == undefined){$3=_st((smalltalk.HLInspectorVariablesWidget || HLInspectorVariablesWidget))._new();_st($3)._model_(_st(self)._model());$4=_st($3)._yourself();self["@variablesWidget"]=$4;$1=self["@variablesWidget"];} else {$1=$2;};return $1;}, function($ctx1) {$ctx1.fill(self,"variablesWidget",{}, smalltalk.HLInspector)})},args: [],source: "variablesWidget\x0a\x09^ variablesWidget ifNil: [\x0a\x09\x09variablesWidget := HLInspectorVariablesWidget new\x0a    \x09\x09model: self model;\x0a        \x09yourself ]",messageSends: ["ifNil:", "model:", "model", "new", "yourself"],referencedClasses: ["HLInspectorVariablesWidget"]}),smalltalk.HLInspector);smalltalk.addMethod("_canBeOpenAsTab",smalltalk.method({selector: "canBeOpenAsTab",category: 'testing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
return false;}, function($ctx1) {$ctx1.fill(self,"canBeOpenAsTab",{}, smalltalk.HLInspector.klass)})},args: [],source: "canBeOpenAsTab\x0a\x09^ false",messageSends: [],referencedClasses: []}),smalltalk.HLInspector.klass);smalltalk.addMethod("_tabLabel",smalltalk.method({selector: "tabLabel",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
return "Inspector";}, function($ctx1) {$ctx1.fill(self,"tabLabel",{}, smalltalk.HLInspector.klass)})},args: [],source: "tabLabel\x0a\x09^ 'Inspector'",messageSends: [],referencedClasses: []}),smalltalk.HLInspector.klass);smalltalk.addMethod("_tabPriority",smalltalk.method({selector: "tabPriority",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
return (10);}, function($ctx1) {$ctx1.fill(self,"tabPriority",{}, smalltalk.HLInspector.klass)})},args: [],source: "tabPriority\x0a\x09^ 10",messageSends: [],referencedClasses: []}),smalltalk.HLInspector.klass);smalltalk.addClass('HLInspectorDisplayWidget', smalltalk.HLNavigationListWidget, ['model'], 'Helios-Inspector');smalltalk.addMethod("_model",smalltalk.method({selector: "model",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1;$1=self["@model"];return $1;}, function($ctx1) {$ctx1.fill(self,"model",{}, smalltalk.HLInspectorDisplayWidget)})},args: [],source: "model\x0a\x0a\x09^ model",messageSends: [],referencedClasses: []}),smalltalk.HLInspectorDisplayWidget);smalltalk.addMethod("_model_",smalltalk.method({selector: "model:",category: 'accessing',fn: function (aModel){var self=this;return smalltalk.withContext(function($ctx1) { 
self["@model"]=aModel;return self}, function($ctx1) {$ctx1.fill(self,"model:",{aModel:aModel}, smalltalk.HLInspectorDisplayWidget)})},args: ["aModel"],source: "model: aModel\x0a\x0a\x09model := aModel",messageSends: [],referencedClasses: []}),smalltalk.HLInspectorDisplayWidget);smalltalk.addMethod("_renderContentOn_",smalltalk.method({selector: "renderContentOn:",category: 'rendering',fn: function (html){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(_st(html)._div())._with_(_st(self)._selectionDisplayString());return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html}, smalltalk.HLInspectorDisplayWidget)})},args: ["html"],source: "renderContentOn: html\x0a\x09\x0a    html div with: self selectionDisplayString\x0a    ",messageSends: ["with:", "selectionDisplayString", "div"],referencedClasses: []}),smalltalk.HLInspectorDisplayWidget);smalltalk.addMethod("_selectionDisplayString",smalltalk.method({selector: "selectionDisplayString",category: 'rendering',fn: function (){var self=this;var selection;return smalltalk.withContext(function($ctx1) { 
var $2,$1;selection=_st(self["@model"])._selection();$2=_st(_st(_st(self["@model"])._variables())._keys())._includes_(selection);if(smalltalk.assert($2)){$1=_st(_st(self["@model"])._instVarObjectAt_(selection))._printString();} else {$1="";};return $1;}, function($ctx1) {$ctx1.fill(self,"selectionDisplayString",{selection:selection}, smalltalk.HLInspectorDisplayWidget)})},args: [],source: "selectionDisplayString\x0a\x09|selection|\x0a\x09selection := model selection.\x0a    ^ (model variables keys includes: selection)\x0a    \x09ifTrue:[(model instVarObjectAt: selection) printString]\x0a      \x09ifFalse:['']",messageSends: ["selection", "ifTrue:ifFalse:", "printString", "instVarObjectAt:", "includes:", "keys", "variables"],referencedClasses: []}),smalltalk.HLInspectorDisplayWidget);smalltalk.addClass('HLInspectorModel', smalltalk.Object, ['announcer', 'environment', 'inspectee', 'code', 'variables', 'selection'], 'Helios-Inspector');smalltalk.addMethod("_announcer",smalltalk.method({selector: "announcer",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $2,$1;$2=self["@announcer"];if(($receiver = $2) == nil || $receiver == undefined){self["@announcer"]=_st((smalltalk.Announcer || Announcer))._new();$1=self["@announcer"];} else {$1=$2;};return $1;}, function($ctx1) {$ctx1.fill(self,"announcer",{}, smalltalk.HLInspectorModel)})},args: [],source: "announcer\x0a\x09^ announcer ifNil: [announcer := Announcer new ]",messageSends: ["ifNil:", "new"],referencedClasses: ["Announcer"]}),smalltalk.HLInspectorModel);smalltalk.addMethod("_code",smalltalk.method({selector: "code",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $2,$1;$2=self["@code"];if(($receiver = $2) == nil || $receiver == undefined){self["@code"]=_st((smalltalk.HLCodeModel || HLCodeModel))._on_(_st(self)._environment());$1=self["@code"];} else {$1=$2;};return $1;}, function($ctx1) {$ctx1.fill(self,"code",{}, smalltalk.HLInspectorModel)})},args: [],source: "code\x0a\x09\x22Answers the code model working for this workspace model\x22\x0a\x09^ code ifNil:[ code := HLCodeModel on: self environment ]",messageSends: ["ifNil:", "on:", "environment"],referencedClasses: ["HLCodeModel"]}),smalltalk.HLInspectorModel);smalltalk.addMethod("_environment",smalltalk.method({selector: "environment",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $2,$1;$2=self["@environment"];if(($receiver = $2) == nil || $receiver == undefined){$1=_st(_st((smalltalk.HLManager || HLManager))._current())._environment();} else {$1=$2;};return $1;}, function($ctx1) {$ctx1.fill(self,"environment",{}, smalltalk.HLInspectorModel)})},args: [],source: "environment\x0a\x09^ environment ifNil: [ HLManager current environment ]",messageSends: ["ifNil:", "environment", "current"],referencedClasses: ["HLManager"]}),smalltalk.HLInspectorModel);smalltalk.addMethod("_environment_",smalltalk.method({selector: "environment:",category: 'accessing',fn: function (anEnvironment){var self=this;return smalltalk.withContext(function($ctx1) { 
self["@environment"]=anEnvironment;return self}, function($ctx1) {$ctx1.fill(self,"environment:",{anEnvironment:anEnvironment}, smalltalk.HLInspectorModel)})},args: ["anEnvironment"],source: "environment: anEnvironment\x0a\x09environment := anEnvironment",messageSends: [],referencedClasses: []}),smalltalk.HLInspectorModel);smalltalk.addMethod("_inspect_on_",smalltalk.method({selector: "inspect:on:",category: 'actions',fn: function (anObject,anInspector){var self=this;return smalltalk.withContext(function($ctx1) { 
self["@inspectee"]=anObject;self["@variables"]=[];_st(self["@inspectee"])._inspectOn_(anInspector);return self}, function($ctx1) {$ctx1.fill(self,"inspect:on:",{anObject:anObject,anInspector:anInspector}, smalltalk.HLInspectorModel)})},args: ["anObject", "anInspector"],source: "inspect: anObject on: anInspector\x0a\x09inspectee := anObject.\x0a\x09variables := #().\x0a\x09inspectee inspectOn: anInspector    \x0a",messageSends: ["inspectOn:"],referencedClasses: []}),smalltalk.HLInspectorModel);smalltalk.addMethod("_inspectee",smalltalk.method({selector: "inspectee",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1;$1=self["@inspectee"];return $1;}, function($ctx1) {$ctx1.fill(self,"inspectee",{}, smalltalk.HLInspectorModel)})},args: [],source: "inspectee \x0a\x09^ inspectee ",messageSends: [],referencedClasses: []}),smalltalk.HLInspectorModel);smalltalk.addMethod("_inspectee_",smalltalk.method({selector: "inspectee:",category: 'accessing',fn: function (anObject){var self=this;return smalltalk.withContext(function($ctx1) { 
self["@inspectee"]=anObject;return self}, function($ctx1) {$ctx1.fill(self,"inspectee:",{anObject:anObject}, smalltalk.HLInspectorModel)})},args: ["anObject"],source: "inspectee: anObject \x0a\x09inspectee := anObject\x0a    ",messageSends: [],referencedClasses: []}),smalltalk.HLInspectorModel);smalltalk.addMethod("_instVarObjectAt_",smalltalk.method({selector: "instVarObjectAt:",category: 'actions',fn: function (anInstVarName){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1;$1=_st(_st(self)._variables())._at_(anInstVarName);return $1;}, function($ctx1) {$ctx1.fill(self,"instVarObjectAt:",{anInstVarName:anInstVarName}, smalltalk.HLInspectorModel)})},args: ["anInstVarName"],source: "instVarObjectAt: anInstVarName\x0a\x09^ self variables at: anInstVarName",messageSends: ["at:", "variables"],referencedClasses: []}),smalltalk.HLInspectorModel);smalltalk.addMethod("_onKeyDown_",smalltalk.method({selector: "onKeyDown:",category: 'reactions',fn: function (anEvent){var self=this;return smalltalk.withContext(function($ctx1) { 
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}, function($ctx1) {$ctx1.fill(self,"onKeyDown:",{anEvent:anEvent}, smalltalk.HLInspectorModel)})},args: ["anEvent"],source: "onKeyDown: anEvent\x0a\x0a\x09<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.HLInspectorModel);smalltalk.addMethod("_selectedInstVar_",smalltalk.method({selector: "selectedInstVar:",category: 'actions',fn: function (anInstVarName){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(self)._selection_(anInstVarName);return self}, function($ctx1) {$ctx1.fill(self,"selectedInstVar:",{anInstVarName:anInstVarName}, smalltalk.HLInspectorModel)})},args: ["anInstVarName"],source: "selectedInstVar: anInstVarName\x0a    self selection: anInstVarName",messageSends: ["selection:"],referencedClasses: []}),smalltalk.HLInspectorModel);smalltalk.addMethod("_selectedInstVarObject",smalltalk.method({selector: "selectedInstVarObject",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1;$1=_st(self)._instVarObjectAt_(_st(self)._selection());return $1;}, function($ctx1) {$ctx1.fill(self,"selectedInstVarObject",{}, smalltalk.HLInspectorModel)})},args: [],source: "selectedInstVarObject\x0a\x09^ self instVarObjectAt: self selection\x0a    ",messageSends: ["instVarObjectAt:", "selection"],referencedClasses: []}),smalltalk.HLInspectorModel);smalltalk.addMethod("_selection",smalltalk.method({selector: "selection",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $2,$1;$2=self["@selection"];if(($receiver = $2) == nil || $receiver == undefined){$1="";} else {$1=$2;};return $1;}, function($ctx1) {$ctx1.fill(self,"selection",{}, smalltalk.HLInspectorModel)})},args: [],source: "selection\x0a\x09^ selection ifNil:[ '' ] ",messageSends: ["ifNil:"],referencedClasses: []}),smalltalk.HLInspectorModel);smalltalk.addMethod("_selection_",smalltalk.method({selector: "selection:",category: 'accessing',fn: function (anObject){var self=this;return smalltalk.withContext(function($ctx1) { 
self["@selection"]=anObject;_st(_st(self)._announcer())._announce_(_st((smalltalk.HLInstanceVariableSelected || HLInstanceVariableSelected))._on_(self["@selection"]));return self}, function($ctx1) {$ctx1.fill(self,"selection:",{anObject:anObject}, smalltalk.HLInspectorModel)})},args: ["anObject"],source: "selection: anObject\x0a\x09selection := anObject.\x0a\x0a\x09self announcer announce: (HLInstanceVariableSelected on: selection)\x0a    ",messageSends: ["announce:", "on:", "announcer"],referencedClasses: ["HLInstanceVariableSelected"]}),smalltalk.HLInspectorModel);smalltalk.addMethod("_subscribe_",smalltalk.method({selector: "subscribe:",category: 'actions',fn: function (aWidget){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(aWidget)._subscribeTo_(_st(self)._announcer());return self}, function($ctx1) {$ctx1.fill(self,"subscribe:",{aWidget:aWidget}, smalltalk.HLInspectorModel)})},args: ["aWidget"],source: "subscribe: aWidget\x0a\x09aWidget subscribeTo: self announcer",messageSends: ["subscribeTo:", "announcer"],referencedClasses: []}),smalltalk.HLInspectorModel);smalltalk.addMethod("_variables",smalltalk.method({selector: "variables",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1;$1=self["@variables"];return $1;}, function($ctx1) {$ctx1.fill(self,"variables",{}, smalltalk.HLInspectorModel)})},args: [],source: "variables\x0a\x09^ variables",messageSends: [],referencedClasses: []}),smalltalk.HLInspectorModel);smalltalk.addMethod("_variables_",smalltalk.method({selector: "variables:",category: 'accessing',fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx1) { 
self["@variables"]=aCollection;return self}, function($ctx1) {$ctx1.fill(self,"variables:",{aCollection:aCollection}, smalltalk.HLInspectorModel)})},args: ["aCollection"],source: "variables: aCollection\x0a\x09variables := aCollection\x0a    ",messageSends: [],referencedClasses: []}),smalltalk.HLInspectorModel);smalltalk.addMethod("_on_",smalltalk.method({selector: "on:",category: 'actions',fn: function (anEnvironment){var self=this;return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;$2=_st(self)._new();_st($2)._environment_(anEnvironment);$3=_st($2)._yourself();$1=$3;return $1;}, function($ctx1) {$ctx1.fill(self,"on:",{anEnvironment:anEnvironment}, smalltalk.HLInspectorModel.klass)})},args: ["anEnvironment"],source: "on: anEnvironment\x0a\x0a\x09^ self new\x0a    \x09environment: anEnvironment;\x0a        yourself",messageSends: ["environment:", "new", "yourself"],referencedClasses: []}),smalltalk.HLInspectorModel.klass);smalltalk.addClass('HLInspectorVariablesWidget', smalltalk.HLNavigationListWidget, ['announcer', 'model', 'list', 'diveButton'], 'Helios-Inspector');smalltalk.addMethod("_announcer",smalltalk.method({selector: "announcer",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $2,$1;$2=self["@announcer"];if(($receiver = $2) == nil || $receiver == undefined){self["@announcer"]=_st((smalltalk.Announcer || Announcer))._new();$1=self["@announcer"];} else {$1=$2;};return $1;}, function($ctx1) {$ctx1.fill(self,"announcer",{}, smalltalk.HLInspectorVariablesWidget)})},args: [],source: "announcer\x0a\x09^ announcer ifNil:[ announcer := Announcer new ]",messageSends: ["ifNil:", "new"],referencedClasses: ["Announcer"]}),smalltalk.HLInspectorVariablesWidget);smalltalk.addMethod("_defaultItems",smalltalk.method({selector: "defaultItems",category: 'defaults',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1;$1=_st(_st(_st(self)._model())._variables())._keys();return $1;}, function($ctx1) {$ctx1.fill(self,"defaultItems",{}, smalltalk.HLInspectorVariablesWidget)})},args: [],source: "defaultItems\x0a\x09^ self model variables keys",messageSends: ["keys", "variables", "model"],referencedClasses: []}),smalltalk.HLInspectorVariablesWidget);smalltalk.addMethod("_model",smalltalk.method({selector: "model",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1;$1=self["@model"];return $1;}, function($ctx1) {$ctx1.fill(self,"model",{}, smalltalk.HLInspectorVariablesWidget)})},args: [],source: "model\x0a    ^ model\x0a        ",messageSends: [],referencedClasses: []}),smalltalk.HLInspectorVariablesWidget);smalltalk.addMethod("_model_",smalltalk.method({selector: "model:",category: 'accessing',fn: function (aModel){var self=this;return smalltalk.withContext(function($ctx1) { 
self["@model"]=aModel;return self}, function($ctx1) {$ctx1.fill(self,"model:",{aModel:aModel}, smalltalk.HLInspectorVariablesWidget)})},args: ["aModel"],source: "model: aModel\x0a    model := aModel\x0a        ",messageSends: [],referencedClasses: []}),smalltalk.HLInspectorVariablesWidget);smalltalk.addMethod("_refresh",smalltalk.method({selector: "refresh",category: 'actions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
_st(self)._resetItems();smalltalk.HLNavigationListWidget.fn.prototype._refresh.apply(_st(self), []);return self}, function($ctx1) {$ctx1.fill(self,"refresh",{}, smalltalk.HLInspectorVariablesWidget)})},args: [],source: "refresh\x0a\x09self resetItems.\x0a    super refresh\x0a    ",messageSends: ["resetItems", "refresh"],referencedClasses: []}),smalltalk.HLInspectorVariablesWidget);smalltalk.addMethod("_renderButtonsOn_",smalltalk.method({selector: "renderButtonsOn:",category: 'rendering',fn: function (html){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;$1=_st(html)._button();_st($1)._class_("btn");_st($1)._with_("Refresh");$2=_st($1)._onClick_((function(){return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._announcer())._announce_(_st((smalltalk.HLRefreshRequested || HLRefreshRequested))._new());}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));$3=_st(html)._button();_st($3)._class_("btn");_st($3)._with_("Dive");$4=_st($3)._onClick_((function(){return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._announcer())._announce_(_st((smalltalk.HLDiveRequested || HLDiveRequested))._new());}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));self["@diveButton"]=$4;return self}, function($ctx1) {$ctx1.fill(self,"renderButtonsOn:",{html:html}, smalltalk.HLInspectorVariablesWidget)})},args: ["html"],source: "renderButtonsOn: html\x0a\x0a\x09html button\x0a\x09\x09\x09class: 'btn';\x0a\x09\x09\x09with: 'Refresh';\x0a\x09\x09\x09onClick: [self announcer announce: HLRefreshRequested new].\x0a\x0a\x09diveButton := html button \x0a\x09\x09\x09\x09class: 'btn';\x0a\x09\x09\x09\x09with: 'Dive'; \x0a\x09\x09\x09\x09onClick: [self announcer announce: HLDiveRequested new]",messageSends: ["class:", "button", "with:", "onClick:", "announce:", "new", "announcer"],referencedClasses: ["HLRefreshRequested", "HLDiveRequested"]}),smalltalk.HLInspectorVariablesWidget);smalltalk.addMethod("_resetItems",smalltalk.method({selector: "resetItems",category: 'actions',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
self["@items"]=nil;return self}, function($ctx1) {$ctx1.fill(self,"resetItems",{}, smalltalk.HLInspectorVariablesWidget)})},args: [],source: "resetItems\x0a\x09items := nil",messageSends: [],referencedClasses: []}),smalltalk.HLInspectorVariablesWidget);smalltalk.addMethod("_selectItem_",smalltalk.method({selector: "selectItem:",category: 'reactions',fn: function (anObject){var self=this;return smalltalk.withContext(function($ctx1) { 
smalltalk.HLNavigationListWidget.fn.prototype._selectItem_.apply(_st(self), [anObject]);_st(_st(self)._model())._selectedInstVar_(anObject);return self}, function($ctx1) {$ctx1.fill(self,"selectItem:",{anObject:anObject}, smalltalk.HLInspectorVariablesWidget)})},args: ["anObject"],source: "selectItem: anObject\x0a\x09super selectItem: anObject.\x0a    self model selectedInstVar: anObject",messageSends: ["selectItem:", "selectedInstVar:", "model"],referencedClasses: []}),smalltalk.HLInspectorVariablesWidget);smalltalk.addMethod("_selection",smalltalk.method({selector: "selection",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1;$1=_st(self["@model"])._selection();return $1;}, function($ctx1) {$ctx1.fill(self,"selection",{}, smalltalk.HLInspectorVariablesWidget)})},args: [],source: "selection\x0a\x09^ model selection",messageSends: ["selection"],referencedClasses: []}),smalltalk.HLInspectorVariablesWidget);smalltalk.addMethod("_variables",smalltalk.method({selector: "variables",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx1) { 
var $1;$1=_st(self["@model"])._variables();return $1;}, function($ctx1) {$ctx1.fill(self,"variables",{}, smalltalk.HLInspectorVariablesWidget)})},args: [],source: "variables\x0a\x09^ model variables",messageSends: ["variables"],referencedClasses: []}),smalltalk.HLInspectorVariablesWidget);
 |