| 
					
				 | 
			
			
				@@ -3351,7 +3351,7 @@ globals.HLInformationWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addClass('HLManager', globals.HLWidget, ['tabs', 'activeTab', 'environment', 'history', 'announcer'], 'Helios-Core'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addClass('HLManager', globals.HLWidget, ['tabsWidget', 'environment', 'history', 'announcer'], 'Helios-Core'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "activate:", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3359,91 +3359,11 @@ protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aTab){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self._keyBinder())._flushBindings(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(aTab)._registerBindings(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self["@activeTab"]=aTab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._refresh(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._addToHistory_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=self._show_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(self._tabsWidget())._activate_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"activate:",{aTab:aTab},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "activate: aTab\x0a\x09self keyBinder flushBindings.\x0a\x09aTab registerBindings.\x0a\x09activeTab := aTab.\x0a\x09\x0a\x09self \x0a\x09\x09refresh;\x0a\x09\x09addToHistory: aTab;\x0a\x09\x09show: aTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["flushBindings", "keyBinder", "registerBindings", "refresh", "addToHistory:", "show:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "activateNextTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var nextTab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2,$5,$4,$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $early={}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["tabs"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._ifEmpty_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-throw $early=[self]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["tabs"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["tabs"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=_st($5)._indexOf_(self._activeTab()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st($4).__plus((1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-nextTab=_st($2)._at_ifAbsent_($3,(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(self._tabs())._first(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._activate_(nextTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-catch(e) {if(e===$early)return e[0]; throw e} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx1) {$ctx1.fill(self,"activateNextTab",{nextTab:nextTab},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "activateNextTab\x0a\x09| nextTab |\x0a\x09\x0a\x09self tabs ifEmpty: [ ^ self ].\x0a\x09\x0a\x09nextTab := self tabs \x0a\x09\x09at: (self tabs indexOf: self activeTab) + 1 \x0a\x09\x09ifAbsent: [ self tabs first ].\x0a\x09\x09\x0a\x09self activate: nextTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["ifEmpty:", "tabs", "at:ifAbsent:", "+", "indexOf:", "activeTab", "first", "activate:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "activatePreviousTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var previousTab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2,$5,$4,$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $early={}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["tabs"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._ifEmpty_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-throw $early=[self]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["tabs"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["tabs"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=_st($5)._indexOf_(self._activeTab()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st($4).__minus((1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-previousTab=_st($2)._at_ifAbsent_($3,(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(self._tabs())._last(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._activate_(previousTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-catch(e) {if(e===$early)return e[0]; throw e} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx1) {$ctx1.fill(self,"activatePreviousTab",{previousTab:previousTab},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "activatePreviousTab\x0a\x09| previousTab |\x0a\x09\x0a\x09self tabs ifEmpty: [ ^ self ].\x0a\x09\x0a\x09previousTab := self tabs \x0a\x09\x09at: (self tabs indexOf: self activeTab) - 1 \x0a\x09\x09ifAbsent: [ self tabs last ].\x0a\x09\x09\x0a\x09self activate: previousTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["ifEmpty:", "tabs", "at:ifAbsent:", "-", "indexOf:", "activeTab", "last", "activate:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "activate: aTab\x0a\x09self tabsWidget activate: aTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["activate:", "tabsWidget"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLManager); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3454,13 +3374,14 @@ selector: "activeTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 protocol: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=self["@activeTab"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st(self._tabsWidget())._activeTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx1) {$ctx1.fill(self,"activeTab",{},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "activeTab\x0a\x09^ activeTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "activeTab\x0a\x09^ self tabsWidget activeTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["activeTab", "tabsWidget"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLManager); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3472,29 +3393,11 @@ protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aTab){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self._tabs())._add_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._activate_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(self._tabsWidget())._addTab_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"addTab:",{aTab:aTab},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "addTab: aTab\x0a\x09self tabs add: aTab.\x0a    self activate: aTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["add:", "tabs", "activate:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "addToHistory:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aTab){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._removeFromHistory_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self._history())._add_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"addToHistory:",{aTab:aTab},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: ["aTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "addToHistory: aTab\x0a\x09self removeFromHistory: aTab.\x0a\x09self history add: aTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["removeFromHistory:", "add:", "history"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "addTab: aTab\x0a\x09self tabsWidget addTab: aTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["addTab:", "tabsWidget"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLManager); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3876,384 +3779,130 @@ protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._removeTab_(self._activeTab()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(self._tabsWidget())._removeActiveTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"removeActiveTab",{},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "removeActiveTab\x0a\x09self removeTab: self activeTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["removeTab:", "activeTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "removeActiveTab\x0a\x09self tabsWidget removeActiveTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["removeActiveTab", "tabsWidget"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "removeFromHistory:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "renderContentOn:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'rendering', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (html){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function $HLWelcomeWidget(){return globals.HLWelcomeWidget||(typeof HLWelcomeWidget=="undefined"?nil:HLWelcomeWidget)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(html)._with_(self._tabsWidget()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["with:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(html)._with_(_st($HLWelcomeWidget())._new()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["html"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "renderContentOn: html\x0a\x09html with: self tabsWidget.\x0a\x09html with: HLWelcomeWidget new", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["with:", "tabsWidget", "new"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: ["HLWelcomeWidget"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "request:do:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aTab){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aString,aBlock){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._history_(_st(self._history())._reject_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(each).__eq_eq(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"removeFromHistory:",{aTab:aTab},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: ["aTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "removeFromHistory: aTab\x0a\x09self history: (self history reject: [ :each | each == aTab ])", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["history:", "reject:", "history", "=="], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._request_value_do_(aString,"",aBlock); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"request:do:",{aString:aString,aBlock:aBlock},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["aString", "aBlock"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "request: aString do: aBlock\x0a\x09self \x0a\x09\x09request: aString\x0a\x09\x09value: ''\x0a\x09\x09do: aBlock", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["request:value:do:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "removeTab:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "request:value:do:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aTab){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aString,valueString,aBlock){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function $HLRequestWidget(){return globals.HLRequestWidget||(typeof HLRequestWidget=="undefined"?nil:HLRequestWidget)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $2,$1,$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["tabs"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st($2)._includes_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(! smalltalk.assert($1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._removeFromHistory_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self._tabs())._remove_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self._keyBinder())._flushBindings(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(aTab)._remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._refresh(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=self._history(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["history"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($3)._ifNotEmpty_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(_st(self._history())._last())._activate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"removeTab:",{aTab:aTab},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: ["aTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "removeTab: aTab\x0a\x09(self tabs includes: aTab) ifFalse: [ ^ self ].\x0a\x0a\x09self removeFromHistory: aTab.\x0a\x09self tabs remove: aTab.\x0a\x09self keyBinder flushBindings.\x0a\x09aTab remove.\x0a\x09self refresh.\x0a\x09self history ifNotEmpty: [\x0a\x09\x09self history last activate ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["ifFalse:", "includes:", "tabs", "removeFromHistory:", "remove:", "flushBindings", "keyBinder", "remove", "refresh", "ifNotEmpty:", "history", "activate", "last"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st($HLRequestWidget())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._confirmationString_(aString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._actionBlock_(aBlock); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._value_(valueString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st($1)._show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"request:value:do:",{aString:aString,valueString:valueString,aBlock:aBlock},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["aString", "valueString", "aBlock"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "request: aString value: valueString do: aBlock\x0a\x09HLRequestWidget new\x0a\x09\x09confirmationString: aString;\x0a\x09\x09actionBlock: aBlock;\x0a\x09\x09value: valueString;\x0a\x09\x09show", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["confirmationString:", "new", "actionBlock:", "value:", "show"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: ["HLRequestWidget"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "renderAddOn:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol: 'rendering', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (html){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "setup", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'initialization', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function $HLWidget(){return globals.HLWidget||(typeof HLWidget=="undefined"?nil:HLWidget)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$3,$4,$5,$7,$8,$9,$6,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(html)._li(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["li"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._class_("dropdown"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["class:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st($1)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st(html)._a(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx2.sendIdx["a"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($3)._class_("new_tab dropdown-toggle"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx2.sendIdx["class:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($3)._at_put_("data-toggle","dropdown"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=_st($3)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(html)._with_("Open..."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx3.sendIdx["with:"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(_st(html)._tag_("b"))._class_("caret"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx3.sendIdx["class:"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx2.sendIdx["with:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=_st(html)._ul(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($5)._class_("dropdown-menu"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=_st($5)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(_st(_st(_st($HLWidget())._withAllSubclasses())._select_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(each)._canBeOpenAsTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx4) {$ctx4.fillBlock({each:each},$ctx3,4)})})))._sorted_((function(a,b){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7=_st(a)._tabPriority(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx4.sendIdx["tabPriority"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st($7).__lt(_st(b)._tabPriority()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx3,5)})})))._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(_st(html)._li())._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx5) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8=_st(html)._a(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($8)._with_(_st(each)._tabLabel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9=_st($8)._onClick_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx6) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(each)._openAsTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx6) {$ctx6.fillBlock({},$ctx5,8)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx5) {$ctx5.fillBlock({},$ctx4,7)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx4.sendIdx["with:"]=5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx4) {$ctx4.fillBlock({each:each},$ctx3,6)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx3) {$ctx3.fillBlock({},$ctx2,3)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx2.sendIdx["with:"]=4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["with:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"renderAddOn:",{html:html},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: ["html"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "renderAddOn: html\x0a    html li \x0a    \x09class: 'dropdown';\x0a        with: [ \x0a\x09\x09\x09html a \x0a        \x09\x09class: 'new_tab 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:", "sorted:", "select:", "withAllSubclasses", "canBeOpenAsTab", "<", "tabPriority", "tabLabel", "onClick:", "openAsTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: ["HLWidget"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._registerServices(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=self._setupEvents(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["setupEvents"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(self._keyBinder())._setupEvents(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["setupEvents"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(self._tabsWidget())._setupEvents(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st("#helper"._asJQuery())._fadeOut(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"setup",{},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "setup\x0a\x09self \x0a\x09\x09registerServices;\x0a\x09\x09setupEvents.\x0a    self keyBinder setupEvents.\x0a\x09self tabsWidget setupEvents.\x0a\x09\x0a\x09\x0a\x09'#helper' asJQuery fadeOut", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["registerServices", "setupEvents", "keyBinder", "tabsWidget", "fadeOut", "asJQuery"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "renderContentOn:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol: 'rendering', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (html){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "setupEvents", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'private', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function $HLWelcomeWidget(){return globals.HLWelcomeWidget||(typeof HLWelcomeWidget=="undefined"?nil:HLWelcomeWidget)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$3,$4,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(html)._div(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["div"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._class_("navbar navbar-fixed-top"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["class:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st($1)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st(html)._div(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($3)._class_("navbar-inner"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=_st($3)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self._renderTabsOn_(html); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx2.sendIdx["with:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["with:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(html)._with_(_st($HLWelcomeWidget())._new()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-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\x09\x0a\x09html with: HLWelcomeWidget new", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["class:", "div", "with:", "renderTabsOn:", "new"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: ["HLWelcomeWidget"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "renderTabsOn:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol: 'rendering', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (html){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$3,$4,$5,$6,$8,$7,$10,$11,$12,$13,$14,$9,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(html)._ul(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._class_("nav"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["class:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st($1)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self._tabs())._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st(html)._li(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=_st("width: ".__comma(_st(self._tabWidth())._asString())).__comma("px"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx3.sendIdx[","]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($4)._style_($5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8=_st(each)._isActive(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(smalltalk.assert($8)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7="tab active"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7="tab inactive"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($6)._class_($7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx3.sendIdx["class:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9=_st($3)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$10=_st(html)._a(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($10)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx5) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$11=_st(_st(html)._tag_("i"))._class_("close"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx5.sendIdx["class:"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($11)._onClick_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx6) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self._removeTab_(each); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx6) {$ctx6.fillBlock({},$ctx5,7)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx5.sendIdx["onClick:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$12=_st(html)._span(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($12)._class_(_st(each)._cssClass()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$13=_st($12)._with_(_st(each)._displayLabel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $13; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx5) {$ctx5.fillBlock({},$ctx4,6)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx4.sendIdx["with:"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$14=_st($10)._onClick_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx5) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(each)._activate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx5) {$ctx5.fillBlock({},$ctx4,8)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $14; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx4) {$ctx4.fillBlock({},$ctx3,5)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx3.sendIdx["with:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self._renderAddOn_(html); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["with:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"renderTabsOn:",{html:html},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-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\x09style: 'width: ', self tabWidth asString, 'px';\x0a\x09\x09\x09\x09\x09class: (each isActive ifTrue: [ 'tab active' ] ifFalse: [ 'tab 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: 'close')\x0a  \x09\x09\x09\x09\x09\x09\x09\x09\x09onClick: [ self removeTab: each ].\x0a                              \x09html span \x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09class: each cssClass;\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09with: each displayLabel ];\x0a\x09\x09\x09\x09\x09\x09\x09onClick: [ each activate ] ] ].\x0a\x09\x09\x09self renderAddOn: html ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["class:", "ul", "with:", "do:", "tabs", "style:", "li", ",", "asString", "tabWidth", "ifTrue:ifFalse:", "isActive", "a", "onClick:", "tag:", "removeTab:", "span", "cssClass", "displayLabel", "activate", "renderAddOn:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "request:do:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aString,aBlock){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._request_value_do_(aString,"",aBlock); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"request:do:",{aString:aString,aBlock:aBlock},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: ["aString", "aBlock"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "request: aString do: aBlock\x0a\x09self \x0a\x09\x09request: aString\x0a\x09\x09value: ''\x0a\x09\x09do: aBlock", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["request:value:do:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "request:value:do:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aString,valueString,aBlock){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function $HLRequestWidget(){return globals.HLRequestWidget||(typeof HLRequestWidget=="undefined"?nil:HLRequestWidget)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st($HLRequestWidget())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._confirmationString_(aString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._actionBlock_(aBlock); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._value_(valueString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st($1)._show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"request:value:do:",{aString:aString,valueString:valueString,aBlock:aBlock},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: ["aString", "valueString", "aBlock"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "request: aString value: valueString do: aBlock\x0a\x09HLRequestWidget new\x0a\x09\x09confirmationString: aString;\x0a\x09\x09actionBlock: aBlock;\x0a\x09\x09value: valueString;\x0a\x09\x09show", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["confirmationString:", "new", "actionBlock:", "value:", "show"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: ["HLRequestWidget"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "setup", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol: 'initialization', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._registerServices(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=self._setupEvents(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["setupEvents"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self._keyBinder())._setupEvents(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st("#helper"._asJQuery())._fadeOut(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"setup",{},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "setup\x0a\x09self \x0a\x09\x09registerServices;\x0a\x09\x09setupEvents.\x0a    self keyBinder setupEvents.\x0a\x09\x0a\x09\x0a\x09'#helper' asJQuery fadeOut", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["registerServices", "setupEvents", "keyBinder", "fadeOut", "asJQuery"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "setupEvents", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol: 'private', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$3,$4,$5,$2,$7,$6,$8,$9,$10,$11,$12; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2,$3,$4,$5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1="body"._asJQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["asJQuery"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._keypress_((function(event){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._keydown_((function(event){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st(event)._ctrlKey(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx2.sendIdx["ctrlKey"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st($3)._and_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=_st(event)._which(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx3.sendIdx["which"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5="<"._asciiValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx3.sendIdx["asciiValue"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st($4).__eq($5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx3.sendIdx["="]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx2.sendIdx["and:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st(event)._ctrlKey(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(smalltalk.assert($2)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._activatePreviousTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(event)._preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx2.sendIdx["preventDefault"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7=_st(event)._ctrlKey(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx2.sendIdx["ctrlKey"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=_st($7)._and_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(_st(event)._which()).__eq(">"._asciiValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx3) {$ctx3.fillBlock({},$ctx2,4)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(smalltalk.assert($6)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._activateNextTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(event)._preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3="body"._asJQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["asJQuery"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st($3)._addClass_("navigation"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8="body"._asJQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["asJQuery"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($8)._keydown_((function(event){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9=_st(event)._ctrlKey(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(smalltalk.assert($9)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$10="body"._asJQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx2.sendIdx["asJQuery"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st($10)._addClass_("navigation"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,6)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$11="body"._asJQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["asJQuery"]=4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($11)._keyup_((function(event){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4="body"._asJQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["asJQuery"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($4)._keyup_((function(event){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$12="body"._asJQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx2.sendIdx["asJQuery"]=5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st($12)._removeClass_("navigation"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,8)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5="body"._asJQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["asJQuery"]=4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st($5)._removeClass_("navigation"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,3)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(_st(window)._asJQuery())._resize_((function(event){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self._refresh(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,9)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,4)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"setupEvents",{},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "setupEvents\x0a\x09'body' asJQuery keypress: [ :event |\x0a\x09\x0a\x09\x09\x22ctrl+> and ctrl+<\x22\x0a\x09\x09(event ctrlKey and: [ event which = '<' asciiValue ]) ifTrue: [\x0a\x09\x09\x09self activatePreviousTab.\x0a\x09\x09\x09event preventDefault ].\x0a\x09\x09(event ctrlKey and: [ event which = '>' asciiValue ]) ifTrue: [\x0a\x09\x09\x09self activateNextTab.\x0a\x09\x09\x09event preventDefault ] ].\x0a\x0a\x09'body' asJQuery keydown: [ :event |\x0a\x09\x09\x09\x0a\x09\x09\x22On ctrl keydown, adds a 'navigation' css class to <body>\x0a\x09\x09for the CodeMirror navigation links. See `HLCodeWidget`.\x22\x0a\x09\x09event ctrlKey ifTrue: [\x0a\x09\x09\x09'body' asJQuery addClass: 'navigation' ] ].\x0a\x09\x09\x09\x0a\x09'body' asJQuery keyup: [ :event |\x0a\x09\x09'body' asJQuery removeClass: 'navigation' ].\x0a\x09\x09\x0a\x09window asJQuery resize: [ :event |\x0a\x09\x09self refresh ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["keypress:", "asJQuery", "ifTrue:", "and:", "ctrlKey", "=", "which", "asciiValue", "activatePreviousTab", "preventDefault", "activateNextTab", "keydown:", "addClass:", "keyup:", "removeClass:", "resize:", "refresh"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "show:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol: 'rendering', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aTab){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self._tabs())._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(each)._hide(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(aTab)._show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(aTab)._focus(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"show:",{aTab:aTab},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: ["aTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "show: aTab\x0a\x09self tabs do: [ :each | each hide ].\x0a\x09aTab show; focus", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["do:", "tabs", "hide", "show", "focus"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "setupEvents\x0a\x09'body' asJQuery keydown: [ :event |\x0a\x09\x09\x09\x0a\x09\x09\x22On ctrl keydown, adds a 'navigation' css class to <body>\x0a\x09\x09for the CodeMirror navigation links. See `HLCodeWidget`.\x22\x0a\x09\x09event ctrlKey ifTrue: [\x0a\x09\x09\x09'body' asJQuery addClass: 'navigation' ] ].\x0a\x09\x09\x09\x0a\x09'body' asJQuery keyup: [ :event |\x0a\x09\x09'body' asJQuery removeClass: 'navigation' ].\x0a\x09\x09\x0a\x09window asJQuery resize: [ :event |\x0a\x09\x09self refresh ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["keydown:", "asJQuery", "ifTrue:", "ctrlKey", "addClass:", "keyup:", "removeClass:", "resize:", "refresh"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLManager); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4278,26 +3927,26 @@ globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "tabs", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "tabsWidget", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 protocol: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function $OrderedCollection(){return globals.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function $HLTabsWidget(){return globals.HLTabsWidget||(typeof HLTabsWidget=="undefined"?nil:HLTabsWidget)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=self["@tabs"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=self["@tabsWidget"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(($receiver = $2) == nil || $receiver == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self["@tabs"]=_st($OrderedCollection())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=self["@tabs"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self["@tabsWidget"]=_st($HLTabsWidget())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=self["@tabsWidget"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx1) {$ctx1.fill(self,"tabs",{},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx1) {$ctx1.fill(self,"tabsWidget",{},globals.HLManager)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "tabs\x0a\x09^ tabs ifNil: [ tabs := OrderedCollection new ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "tabsWidget\x0a\x09^ tabsWidget ifNil: [ tabsWidget := HLTabsWidget new ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["ifNil:", "new"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: ["OrderedCollection"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: ["HLTabsWidget"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLManager); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -6390,6 +6039,543 @@ referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLTabWidget.klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addClass('HLTabsWidget', globals.HLWidget, ['tabs', 'activeTab', 'history'], 'Helios-Core'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "activate:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aTab){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(_st(self._manager())._keyBinder())._flushBindings(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(aTab)._registerBindings(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self["@activeTab"]=aTab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._refresh(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._addToHistory_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=self._show_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"activate:",{aTab:aTab},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["aTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "activate: aTab\x0a\x09self manager keyBinder flushBindings.\x0a\x09aTab registerBindings.\x0a\x09activeTab := aTab.\x0a\x09\x0a\x09self \x0a\x09\x09refresh;\x0a\x09\x09addToHistory: aTab;\x0a\x09\x09show: aTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["flushBindings", "keyBinder", "manager", "registerBindings", "refresh", "addToHistory:", "show:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "activateNextTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var nextTab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2,$5,$4,$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $early={}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["tabs"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._ifEmpty_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+throw $early=[self]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["tabs"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["tabs"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st($5)._indexOf_(self._activeTab()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st($4).__plus((1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+nextTab=_st($2)._at_ifAbsent_($3,(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(self._tabs())._first(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._activate_(nextTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+catch(e) {if(e===$early)return e[0]; throw e} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx1) {$ctx1.fill(self,"activateNextTab",{nextTab:nextTab},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "activateNextTab\x0a\x09| nextTab |\x0a\x09\x0a\x09self tabs ifEmpty: [ ^ self ].\x0a\x09\x0a\x09nextTab := self tabs \x0a\x09\x09at: (self tabs indexOf: self activeTab) + 1 \x0a\x09\x09ifAbsent: [ self tabs first ].\x0a\x09\x09\x0a\x09self activate: nextTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["ifEmpty:", "tabs", "at:ifAbsent:", "+", "indexOf:", "activeTab", "first", "activate:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "activatePreviousTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var previousTab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2,$5,$4,$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $early={}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["tabs"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._ifEmpty_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+throw $early=[self]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["tabs"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["tabs"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st($5)._indexOf_(self._activeTab()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st($4).__minus((1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+previousTab=_st($2)._at_ifAbsent_($3,(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(self._tabs())._last(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._activate_(previousTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+catch(e) {if(e===$early)return e[0]; throw e} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx1) {$ctx1.fill(self,"activatePreviousTab",{previousTab:previousTab},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "activatePreviousTab\x0a\x09| previousTab |\x0a\x09\x0a\x09self tabs ifEmpty: [ ^ self ].\x0a\x09\x0a\x09previousTab := self tabs \x0a\x09\x09at: (self tabs indexOf: self activeTab) - 1 \x0a\x09\x09ifAbsent: [ self tabs last ].\x0a\x09\x09\x0a\x09self activate: previousTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["ifEmpty:", "tabs", "at:ifAbsent:", "-", "indexOf:", "activeTab", "last", "activate:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "activeTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=self["@activeTab"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "activeTab\x0a\x09^ activeTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "addTab:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aTab){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(self._tabs())._add_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._activate_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"addTab:",{aTab:aTab},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["aTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "addTab: aTab\x0a\x09self tabs add: aTab.\x0a    self activate: aTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["add:", "tabs", "activate:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "addToHistory:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aTab){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._removeFromHistory_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(self._history())._add_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"addToHistory:",{aTab:aTab},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["aTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "addToHistory: aTab\x0a\x09self removeFromHistory: aTab.\x0a\x09self history add: aTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["removeFromHistory:", "add:", "history"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "history", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function $OrderedCollection(){return globals.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=self["@history"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if(($receiver = $2) == nil || $receiver == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self["@history"]=_st($OrderedCollection())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=self["@history"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx1) {$ctx1.fill(self,"history",{},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "history\x0a\x09^ history ifNil: [ history := OrderedCollection new ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["ifNil:", "new"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: ["OrderedCollection"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "history:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aCollection){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self["@history"]=aCollection; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["aCollection"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "history: aCollection\x0a\x09history := aCollection", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "removeActiveTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._removeTab_(self._activeTab()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"removeActiveTab",{},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "removeActiveTab\x0a\x09self removeTab: self activeTab", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["removeTab:", "activeTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "removeFromHistory:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aTab){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._history_(_st(self._history())._reject_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(each).__eq_eq(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"removeFromHistory:",{aTab:aTab},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["aTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "removeFromHistory: aTab\x0a\x09self history: (self history reject: [ :each | each == aTab ])", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["history:", "reject:", "history", "=="], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "removeTab:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aTab){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1,$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=self._tabs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["tabs"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st($2)._includes_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if(! smalltalk.assert($1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._removeFromHistory_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(self._tabs())._remove_(aTab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(_st(self._manager())._keyBinder())._flushBindings(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(aTab)._remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._refresh(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=self._history(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["history"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($3)._ifNotEmpty_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(_st(self._history())._last())._activate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"removeTab:",{aTab:aTab},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["aTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "removeTab: aTab\x0a\x09(self tabs includes: aTab) ifFalse: [ ^ self ].\x0a\x0a\x09self removeFromHistory: aTab.\x0a\x09self tabs remove: aTab.\x0a\x09self manager keyBinder flushBindings.\x0a\x09aTab remove.\x0a\x09self refresh.\x0a\x09self history ifNotEmpty: [\x0a\x09\x09self history last activate ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["ifFalse:", "includes:", "tabs", "removeFromHistory:", "remove:", "flushBindings", "keyBinder", "manager", "remove", "refresh", "ifNotEmpty:", "history", "activate", "last"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "renderAddOn:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'rendering', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (html){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function $HLWidget(){return globals.HLWidget||(typeof HLWidget=="undefined"?nil:HLWidget)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$3,$4,$5,$7,$8,$9,$6,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st(html)._li(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["li"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._class_("dropdown"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["class:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st($1)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st(html)._a(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["a"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($3)._class_("new_tab dropdown-toggle"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["class:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($3)._at_put_("data-toggle","dropdown"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st($3)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(html)._with_("Open..."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx3.sendIdx["with:"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(_st(html)._tag_("b"))._class_("caret"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx3.sendIdx["class:"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["with:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=_st(html)._ul(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($5)._class_("dropdown-menu"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$6=_st($5)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(_st(_st(_st($HLWidget())._withAllSubclasses())._select_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(each)._canBeOpenAsTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx4) {$ctx4.fillBlock({each:each},$ctx3,4)})})))._sorted_((function(a,b){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$7=_st(a)._tabPriority(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx4.sendIdx["tabPriority"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st($7).__lt(_st(b)._tabPriority()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx3,5)})})))._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(_st(html)._li())._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx5) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$8=_st(html)._a(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($8)._with_(_st(each)._tabLabel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$9=_st($8)._onClick_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx6) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(each)._openAsTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx6) {$ctx6.fillBlock({},$ctx5,8)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx5) {$ctx5.fillBlock({},$ctx4,7)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx4.sendIdx["with:"]=5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx4) {$ctx4.fillBlock({each:each},$ctx3,6)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx3) {$ctx3.fillBlock({},$ctx2,3)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["with:"]=4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["with:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"renderAddOn:",{html:html},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["html"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "renderAddOn: html\x0a    html li \x0a    \x09class: 'dropdown';\x0a        with: [ \x0a\x09\x09\x09html a \x0a        \x09\x09class: 'new_tab 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:", "sorted:", "select:", "withAllSubclasses", "canBeOpenAsTab", "<", "tabPriority", "tabLabel", "onClick:", "openAsTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: ["HLWidget"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "renderContentOn:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'rendering', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (html){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$3,$4,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st(html)._div(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["div"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._class_("navbar navbar-fixed-top"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["class:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st($1)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st(html)._div(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($3)._class_("navbar-inner"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st($3)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self._renderTabsOn_(html); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["with:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+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 ] ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["class:", "div", "with:", "renderTabsOn:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "renderTabsOn:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'rendering', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (html){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var ul; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$3,$4,$5,$6,$8,$7,$9,$10,$11,$12,$2,$13,$14; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st(html)._ul(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._class_("nav"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["class:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st($1)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(self._tabs())._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st(html)._li(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=_st("width: ".__comma(_st(self._tabWidth())._asString())).__comma("px"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx3.sendIdx[","]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($4)._style_($5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$6=$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$8=_st(each)._isActive(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if(smalltalk.assert($8)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$7="tab active"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$7="tab inactive"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($6)._class_($7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx3.sendIdx["class:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($3)._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(_st(html)._a())._with_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx5) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$9=_st(_st(html)._tag_("i"))._class_("close"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx5.sendIdx["class:"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($9)._onClick_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx6) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self._removeTab_(each); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx6) {$ctx6.fillBlock({},$ctx5,7)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx5.sendIdx["onClick:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$10=_st(html)._span(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($10)._class_(_st(each)._cssClass()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$11=_st($10)._with_(_st(each)._displayLabel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $11; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx5) {$ctx5.fillBlock({},$ctx4,6)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx4.sendIdx["with:"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx4) {$ctx4.fillBlock({},$ctx3,5)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx3.sendIdx["with:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$12=_st($3)._onClick_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(each)._activate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx4) {$ctx4.fillBlock({},$ctx3,8)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $12; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self._renderAddOn_(html); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["with:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ul=$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$13=_st(ul)._asJQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($13)._sortable(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$14=_st($13)._disableSelection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"renderTabsOn:",{html:html,ul:ul},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["html"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "renderTabsOn: html\x0a\x09| ul |\x0a\x09ul := html ul \x0a\x09\x09class: 'nav';\x0a\x09\x09with: [ \x0a        \x09self tabs do: [ :each |\x0a\x09\x09\x09\x09html li \x0a\x09\x09\x09\x09\x09style: 'width: ', self tabWidth asString, 'px';\x0a\x09\x09\x09\x09\x09class: (each isActive ifTrue: [ 'tab active' ] ifFalse: [ 'tab 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: 'close')\x0a  \x09\x09\x09\x09\x09\x09\x09\x09\x09onClick: [ self removeTab: each ].\x0a                              \x09html span \x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09class: each cssClass;\x0a\x09\x09\x09\x09\x09\x09\x09\x09\x09with: each displayLabel ] ];\x0a\x09\x09\x09\x09\x09\x09onClick: [ each activate ] ].\x0a\x09\x09\x09self renderAddOn: html ].\x0a\x09\x09\x0a\x09ul asJQuery sortable; disableSelection", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["class:", "ul", "with:", "do:", "tabs", "style:", "li", ",", "asString", "tabWidth", "ifTrue:ifFalse:", "isActive", "a", "onClick:", "tag:", "removeTab:", "span", "cssClass", "displayLabel", "activate", "renderAddOn:", "sortable", "asJQuery", "disableSelection"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "setupEvents", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'private', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$3,$4,$1,$5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st("body"._asJQuery())._keypress_((function(event){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st(event)._ctrlKey(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["ctrlKey"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st($2)._and_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st(event)._which(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx3.sendIdx["which"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4="<"._asciiValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx3.sendIdx["asciiValue"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st($3).__eq($4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx3.sendIdx["="]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["and:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if(smalltalk.assert($1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._activatePreviousTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(event)._preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["preventDefault"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=_st(_st(event)._ctrlKey())._and_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(_st(event)._which()).__eq(">"._asciiValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx3) {$ctx3.fillBlock({},$ctx2,4)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if(smalltalk.assert($5)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._activateNextTab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(event)._preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"setupEvents",{},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "setupEvents\x0a\x09'body' asJQuery keypress: [ :event |\x0a\x09\x0a\x09\x09\x22ctrl+> and ctrl+<\x22\x0a\x09\x09(event ctrlKey and: [ event which = '<' asciiValue ]) ifTrue: [\x0a\x09\x09\x09self activatePreviousTab.\x0a\x09\x09\x09event preventDefault ].\x0a\x09\x09(event ctrlKey and: [ event which = '>' asciiValue ]) ifTrue: [\x0a\x09\x09\x09self activateNextTab.\x0a\x09\x09\x09event preventDefault ] ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["keypress:", "asJQuery", "ifTrue:", "and:", "ctrlKey", "=", "which", "asciiValue", "activatePreviousTab", "preventDefault", "activateNextTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "show:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'rendering', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aTab){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(self._tabs())._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(each)._hide(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(aTab)._show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st(aTab)._focus(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"show:",{aTab:aTab},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["aTab"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "show: aTab\x0a\x09self tabs do: [ :each | each hide ].\x0a\x09aTab show; focus", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["do:", "tabs", "hide", "show", "focus"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "tabWidth", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st(_st(_st(_st(window)._asJQuery())._width()).__minus((90))).__slash(_st(self._tabs())._size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx1) {$ctx1.fill(self,"tabWidth",{},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "tabWidth\x0a\x09^ (window asJQuery width - 90) / self tabs size", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["/", "-", "width", "asJQuery", "size", "tabs"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "tabs", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function $OrderedCollection(){return globals.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=self["@tabs"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if(($receiver = $2) == nil || $receiver == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self["@tabs"]=_st($OrderedCollection())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=self["@tabs"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx1) {$ctx1.fill(self,"tabs",{},globals.HLTabsWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "tabs\x0a\x09^ tabs ifNil: [ tabs := OrderedCollection new ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["ifNil:", "new"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: ["OrderedCollection"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+globals.HLTabsWidget.klass.iVarNames = ['current']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addClass('HLWelcomeWidget', globals.HLWidget, [], 'Helios-Core'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 |