| 
					
				 | 
			
			
				@@ -6,29 +6,24 @@ Widget subclass: #TabManager 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 tabs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^tabs ifNil: [tabs := Array new] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !TabManager methodsFor: 'actions'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 updateBodyMargin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self setBodyMargin: '#jtalk' asJQuery height + 27 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 updatePosition 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     {'jQuery(''#jtalk'').css(''top'', '''''').css(''bottom'', ''27px'');'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 removeBodyMargin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self setBodyMargin: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 setBodyMargin: anInteger 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     '.jtalkBody' asJQuery cssAt: 'margin-bottom' put: anInteger asString, 'px' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 onResize: aBlock 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -37,12 +32,10 @@ onResize: aBlock 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	resize: aBlock, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	minHeight: 230 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 });'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 onWindowResize: aBlock 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     {'jQuery(window).resize(aBlock)'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 open 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -53,7 +46,6 @@ open 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	self updateBodyMargin. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	selectedTab root asJQuery show. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	opened := true] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 close 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -63,12 +55,10 @@ close 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	self removeBodyMargin. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	'body' asJQuery removeClass: 'jtalkBody'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	opened := false] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 newBrowserTab 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Browser open 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selectTab: aWidget 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -78,7 +68,6 @@ selectTab: aWidget 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	each root asJQuery hide]. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     aWidget root asJQuery show. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self update 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 closeTab: aWidget 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -86,7 +75,6 @@ closeTab: aWidget 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self selectTab: self tabs last. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     aWidget root asJQuery remove. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self update 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !TabManager methodsFor: 'adding/Removing'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -95,13 +83,11 @@ addTab: aWidget 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self tabs add: aWidget. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     '#jtalk' asJQuery append: aWidget. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     aWidget root asJQuery hide 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 removeTab: aWidget 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self tabs remove: aWidget. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self update 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !TabManager methodsFor: 'initialization'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -120,7 +106,6 @@ initialize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	onResize: [self updateBodyMargin; updatePosition]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	onWindowResize: [self updatePosition] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !TabManager methodsFor: 'rendering'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -139,7 +124,6 @@ renderOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		class: 'newtab'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		with: ' + '; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		onClick: [self newBrowserTab]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 renderTabFor: aWidget on: html 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -156,7 +140,6 @@ renderTabFor: aWidget on: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		class: 'close'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		with: 'x'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		onClick: [self closeTab: aWidget]]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 TabManager class instanceVariableNames: 'current'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -165,12 +148,10 @@ TabManager class instanceVariableNames: 'current'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 current 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^current ifNil: [current := super new] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 new 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self shouldNotImplement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Widget subclass: #TabWidget 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -181,7 +162,6 @@ Widget subclass: #TabWidget 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 label 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self subclassResponsibility 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !TabWidget methodsFor: 'actions'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -190,7 +170,6 @@ open 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TabManager current 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	addTab: self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	selectTab: self 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !TabWidget methodsFor: 'rendering'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -205,29 +184,24 @@ renderOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    html div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		class: 'jt_buttons'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		with: [self renderButtonsOn: html]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 renderBoxOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 renderButtonsOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !TabWidget methodsFor: 'testing'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 canBeClosed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !TabWidget class methodsFor: 'instance creation'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 open 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^self new open 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 TabWidget subclass: #Workspace 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -238,32 +212,26 @@ TabWidget subclass: #Workspace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 label 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^'[Workspace]' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selection 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     {'return document.selection'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selectionStart 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     {'return jQuery(''.jt_workspace'')[0].selectionStart'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selectionEnd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     {'return jQuery(''.jt_workspace'')[0].selectionEnd'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selectionStart: anInteger 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     {'jQuery(''.jt_workspace'')[0].selectionStart = anInteger'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selectionEnd: anInteger 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     {'jQuery(''.jt_workspace'')[0].selectionEnd = anInteger'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 currentLine 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -276,7 +244,6 @@ currentLine 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	endLine >= self selectionStart ifTrue: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    self selectionEnd: endLine. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    ^each]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Workspace methodsFor: 'actions'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -299,12 +266,10 @@ handleKeyDown: anEvent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 clearWorkspace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     textarea asJQuery val: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 doIt 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -319,7 +284,6 @@ doIt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 printIt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self print: self doIt printString 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 print: aString 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -331,7 +295,6 @@ print: aString 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(textarea asJQuery val copyFrom: start + 1 to: textarea asJQuery val size)). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self selectionStart: start. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self selectionEnd: start + aString size + 2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 eval: aString 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -341,12 +304,10 @@ eval: aString 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     node isParseFailure ifTrue: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	^self alert: node reason, ', position: ', node position]. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^compiler loadExpression: aString 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 inspectIt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self doIt inspect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Workspace methodsFor: 'rendering'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -358,7 +319,6 @@ renderBoxOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     textarea  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	class: 'jt_workspace'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	at: 'spellcheck' put: 'false' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 renderButtonsOn: html 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -377,7 +337,6 @@ renderButtonsOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     html button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	with: 'Clear workspace'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	onClick: [self clearWorkspace] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 TabWidget subclass: #Transcript 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -388,25 +347,20 @@ TabWidget subclass: #Transcript 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 label 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^'[Transcript]' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Transcript methodsFor: 'actions'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 show: anObject 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     textarea asJQuery val: textarea asJQuery val, anObject asString. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 cr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     textarea asJQuery val: textarea asJQuery val, String cr. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 clear 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     textarea asJQuery val: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Transcript methodsFor: 'rendering'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -417,14 +371,12 @@ renderBoxOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     textarea  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	class: 'jt_transcript'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	at: 'spellcheck' put: 'false' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 renderButtonsOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     html button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	with: 'Clear transcript'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	onClick: [self clear] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Transcript class instanceVariableNames: 'current'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -433,34 +385,28 @@ Transcript class instanceVariableNames: 'current'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 open 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self current open 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 new 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self shouldNotImplement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 current 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^current ifNil: [current := super new] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Transcript class methodsFor: 'printing'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 show: anObject 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self current show: anObject 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 cr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self current show: String cr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 clear 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self current clear 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 TabWidget subclass: #Browser 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -473,7 +419,6 @@ label 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^selectedClass  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifNil: ['Browser (nil)'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifNotNil: [selectedClass name] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 categories 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -483,14 +428,12 @@ categories 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(categories includes: each category) ifFalse: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    categories add: each category]]. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^categories sort 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 classes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^(Smalltalk current classes  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	select: [:each | each category = selectedCategory]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	sort: [:a :b | a name > b name] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 protocols 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -521,7 +464,6 @@ methods 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifNotNil: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    klass methodDictionary values select: [:each | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		each category = selectedProtocol]]) sort: [:a :b | a selector > b selector] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -532,14 +474,12 @@ source 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^selectedClass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifNil: [''] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifNotNil: [self classCommentSource] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 methodSource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^selectedMethod 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifNil: [self dummyMethodSource] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifNotNil: [selectedMethod source] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 dummyMethodSource 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -548,14 +488,12 @@ dummyMethodSource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	| temporary variable names | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	statements' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 declarationSource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^selectedTab = #instance 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifTrue: [self classDeclarationSource] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifFalse: [self metaclassDeclarationSource] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 classDeclarationSource 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -577,7 +515,6 @@ classDeclarationSource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    nextPutAll: selectedClass category; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    nextPutAll: '''']. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^stream contents 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 metaclassDeclarationSource 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -593,12 +530,10 @@ metaclassDeclarationSource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    separatedBy: [stream nextPutAll: ' ']. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	stream nextPutAll: '''']. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^stream contents 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 classCommentSource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^selectedClass comment 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Browser methodsFor: 'actions'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -606,34 +541,28 @@ classCommentSource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 enableSaveButton 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     saveButton removeAt: 'disabled'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsavedChanges := true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 disableSaveButton 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     saveButton ifNotNil: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	saveButton at: 'disabled' put: true]. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsavedChanges := false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 hideClassButtons 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     classButtons asJQuery hide 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 showClassButtons 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     classButtons asJQuery show 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 hideMethodButtons 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     methodButtons asJQuery hide 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 showMethodButtons 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     methodButtons asJQuery show 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 compile 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -644,19 +573,16 @@ compile 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (selectedProtocol notNil or: [selectedMethod notNil]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifFalse: [self compileDefinition] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifTrue: [self compileMethodDefinition] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 compileClassComment 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     selectedClass comment: sourceTextarea asJQuery val 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 compileMethodDefinition 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     selectedTab = #instance 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifTrue: [self compileMethodDefinitionFor: selectedClass] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifFalse: [self compileMethodDefinitionFor: selectedClass class] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 compileMethodDefinitionFor: aClass 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -677,7 +603,6 @@ compileMethodDefinitionFor: aClass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     aClass addCompiledMethod: method. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self updateMethodsList. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self selectMethod: method 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 compileDefinition 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -686,7 +611,6 @@ compileDefinition 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	updateCategoriesList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	updateClassesList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 commitCategory 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -701,14 +625,12 @@ commitCategory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    at: 'data' put: (ChunkExporter new exportCategory: selectedCategory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    at: 'error' put: [self alert: 'Commit failed!!']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    send] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 cancelChanges 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^unsavedChanges  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifTrue: [self confirm: 'Cancel changes?'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifFalse: [true] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 removeClass 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -716,7 +638,6 @@ removeClass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ifTrue: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    Smalltalk current basicDelete: selectedClass name. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    self selectClass: nil] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 removeMethod 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -727,7 +648,6 @@ removeMethod 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			ifTrue: [selectedClass removeCompiledMethod: selectedMethod] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			ifFalse: [selectedClass class removeCompiledMethod: selectedMethod]. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		self selectMethod: nil]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 setMethodProtocol: aString 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -742,7 +662,6 @@ setMethodProtocol: aString 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    updateProtocolsList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    updateMethodsList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    updateSourceAndButtons]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 addNewProtocol 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -751,7 +670,6 @@ addNewProtocol 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     newProtocol notEmpty ifTrue: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	selectedMethod category: newProtocol. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	self setMethodProtocol: newProtocol] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selectCategory: aCategory 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -764,7 +682,6 @@ selectCategory: aCategory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    updateProtocolsList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    updateMethodsList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    updateSourceAndButtons] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selectClass: aClass 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -776,7 +693,6 @@ selectClass: aClass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    updateProtocolsList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    updateMethodsList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    updateSourceAndButtons] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selectProtocol: aString 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -787,7 +703,6 @@ selectProtocol: aString 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    updateProtocolsList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    updateMethodsList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    updateSourceAndButtons] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selectMethod: aMethod 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -797,7 +712,6 @@ selectMethod: aMethod 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    updateProtocolsList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    updateMethodsList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    updateSourceAndButtons] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selectTab: aString 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -805,7 +719,6 @@ selectTab: aString 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	selectedTab := aString. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	self selectProtocol: nil. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	self updateTabsList] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 renameClass 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -816,7 +729,6 @@ renameClass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	self  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		updateClassesList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		updateSourceAndButtons] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 addInstanceVariableNamed: aString toClass: aClass 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -838,7 +750,6 @@ initialize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     super initialize. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     selectedTab := #instance. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsavedChanges := false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Browser methodsFor: 'rendering'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -848,7 +759,6 @@ renderBoxOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	renderTopPanelOn: html; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	renderTabsOn: html; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	renderBottomPanelOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 renderTopPanelOn: html 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -870,13 +780,11 @@ renderTopPanelOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		updateProtocolsList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		updateMethodsList. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    html div class: 'jt_clear'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 renderTabsOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tabsList := html ul class: 'jt_tabs'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self updateTabsList. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 renderBottomPanelOn: html 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -888,7 +796,6 @@ renderBottomPanelOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		class: 'source'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		at: 'spellcheck' put: 'false'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    sourceTextarea asJQuery call: 'tabby'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 renderButtonsOn: html 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -899,14 +806,12 @@ renderButtonsOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     methodButtons := html span. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     classButtons := html span. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self updateSourceAndButtons 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Browser methodsFor: 'testing'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 canBeClosed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ^true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Browser methodsFor: 'updating'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -923,7 +828,6 @@ updateCategoriesList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    li 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		with: label; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		onClick: [self selectCategory: each]]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 updateClassesList 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -936,7 +840,6 @@ updateClassesList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    li 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		with: each name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		onClick: [self selectClass: each]]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 updateProtocolsList 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -948,7 +851,6 @@ updateProtocolsList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    li  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		with: each; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		onClick: [self selectProtocol: each]]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 updateMethodsList 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -960,7 +862,6 @@ updateMethodsList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    li 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		with: each selector; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		onClick: [self selectMethod: each]]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 updateTabsList 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -980,7 +881,6 @@ updateTabsList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	li 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    with: 'Comment'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    onClick: [self selectTab: #comment]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 updateSourceAndButtons 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1032,7 +932,6 @@ updateSourceAndButtons 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    		self hideClassButtons. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    		self showMethodButtons]. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     	sourceTextarea asJQuery val: self source 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Browser class methodsFor: 'accessing'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1052,12 +951,10 @@ openOn: aClass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	open; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	selectCategory: aClass category; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	selectClass: aClass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 open 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     self new open 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 TabWidget subclass: #Inspector 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1127,7 +1024,6 @@ renderTopPanelOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		updateVariablesList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		updateValueTextarea. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    html div class: 'jt_clear'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 renderBottomPanelOn: html 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1138,7 +1034,6 @@ renderBottomPanelOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		class: 'source'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		at: 'spellcheck' put: 'false'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    workspaceTextarea asJQuery call: 'tabby'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 renderButtonsOn: html 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1149,7 +1044,6 @@ renderButtonsOn: html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		with: 'Dive';  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		onClick: [self dive]. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	self updateButtons 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Inspector methodsFor: 'testing'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1189,7 +1083,6 @@ updateButtons 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(self selectedVariable notNil and: [(self variables at: self selectedVariable) notNil]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		ifFalse: [diveButton at: 'disabled' put: true]  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		ifTrue: [diveButton removeAt: 'disabled'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Inspector class methodsFor: 'instance creation'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1394,8 +1287,6 @@ inspectOn: anInspector 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	anInspector  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		setLabel: self printString; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		setVariables: variables 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Date methodsFor: '*IDE'! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1414,8 +1305,6 @@ inspectOn: anInspector 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	anInspector  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		setLabel: self printString; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		setVariables: variables 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 !Collection methodsFor: '*IDE'! 
			 |