Merged 235b77901045 and 8332590c5a41 (branch default) jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Wed, 30 Jan 2013 11:15:09 +0000
branchjv
changeset 12401 4714b9640528
parent 12330 235b77901045 (current diff)
parent 12340 8332590c5a41 (diff)
child 12402 e578629550e3
Merged 235b77901045 and 8332590c5a41 (branch default)
AbstractFileBrowser.st
AbstractFileFinderApplicationComponent.st
AbstractLauncherApplication.st
AbstractSettingsApplication.st
AbstractSourceCodeManagementSettingsAppl.st
BookmarkBar.st
BookmarkList.st
BrowserView.st
CVSSourceCodeManagementSettingsAppl.st
ChangesBrowser.st
CodeGeneratorTool.st
ContextInspectorView.st
DataBaseSourceCodeManagementSettingsAppl.st
DebugView.st
DictionaryInspectorView.st
Diff.st
Diff3TextView.st
DiffListUtility.st
DirectoryContentsBrowser.st
DirectoryDifferenceViewApplication.st
DirectoryTreeBrowser.st
EditFieldWithCompletion.st
FileApplicationNoteBook.st
FileBasedSourceCodeManagementSettingsAppl.st
FileBrowser.st
FileBrowserV2.st
FileOperation.st
FilenameEditFieldV2.st
FindFileApplication.st
GitSourceCodeManagementSettingsAppl.st
ImageInspectorView.st
InspectorView.st
Make.proto
Make.spec
MemoryMonitor.st
MemoryUsageView.st
MercurialSourceCodeManagementSettingsAppl.st
MultiViewToolApplication.st
NewLauncher.st
OrderedCollectionInspectorView.st
PerforceSourceCodeManagementSettingsAppl.st
PerforceSourceCodeManagerUtilities.st
ProcessMonitorV2.st
SetInspectorView.st
SettingsDialog.st
SmalltalkCodeGeneratorTool.st
StoreSourceCodeManagementSettingsAppl.st
SyntaxElement.st
SyntaxHighlighter2.st
SystemBrowser.st
Tools__AbstractTestRunner.st
Tools__BackgroundSourceProcessingService.st
Tools__BreakpointBrowser.st
Tools__BreakpointService.st
Tools__BrowserListWithFilter.st
Tools__ChangeList.st
Tools__ChangeSetBrowser2.st
Tools__CheckinInfoDialog.st
Tools__CodeCompletionMenu.st
Tools__CodeHighlightingService.st
Tools__CodeNavigationService.st
Tools__CodeView2.st
Tools__CodeView2SettingsAppl.st
Tools__DiffCodeView2.st
Tools__HierarchicalChangesetDialog.st
Tools__HierarchicalLintRuleList.st
Tools__InlineMessageDialog.st
Tools__Inspector2.st
Tools__Inspector2Tab.st
Tools__LintHighlighter.st
Tools__LintRuleDetail.st
Tools__LintRuleList.st
Tools__LintRuleSelectionDialog.st
Tools__LintService.st
Tools__MethodRewriter.st
Tools__NavigationHistory.st
Tools__NavigationHistoryTests.st
Tools__NewSystemBrowser.st
Tools__NewSystemBrowserCodeView.st
Tools__Profiler.st
Tools__ProfilerInfoItem.st
Tools__ProjectCheckerBrowser.st
Tools__StringSearchTool.st
Tools__Tag.st
Tools__TagList.st
Tools__TagsBrowser.st
Tools__TestRunner2.st
Tools__TestRunnerEmbedded.st
Tools__TextDiffTool.st
Tools__ToDoListBrowser.st
Tools__VariableList.st
Tools__VisualProfilerCanvas.st
Tools__WebBrowserPage.st
VersionDiffBrowser.st
ViewWithAcceptAndCancelBar.st
Win32FileDialog.st
WorkspaceApplication.st
XTermView.st
abbrev.stc
bc.mak
extensions.st
libInit.cc
libtool.rc
resources/de.rs
resources/ja.rs
resources/resources.rs
stx_libtool.st
vcmake.bat
--- a/.cvsignore	Tue Jan 22 12:24:41 2013 +0000
+++ b/.cvsignore	Wed Jan 30 11:15:09 2013 +0000
@@ -18,8 +18,8 @@
 classList.stc
 objbc
 objvc
-make0000.@@@
-MAKE0000.@@@
+objmingw
+*.@@@
 *.res
 *.RES
 *.map
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgtags	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,58 @@
+010ac94518b347db8dcc0f986d7e0f31cb6369b7 expeccoNET_1_5_0rc1
+010ac94518b347db8dcc0f986d7e0f31cb6369b7 expecco_1_8_2rc1
+0345171682c483a27083e267891c5c409672b786 expecco_1_0_3
+0b715d777c488bf60cadb45e1336e6191b713369 rel2_10_8_6_last2
+0b7d7aedc1cd27c9468db2e11b39e2d211556973 rel3_6_1
+11ee27b3b78ffd84f09d640f937c2caa7b11b06a rel5_2_1
+136ee82663fb4768cae91bde1a499b9d83bfad4d rel2_10_8_5
+165da720693d3aa09b58c216d9031e316a9c82a3 rel3_4_3_1
+1adbdbbef6efc3f1cae90e02bbd4d3a2216bba11 rel2_10_8_6_last_before_vmData_change
+220adc5a966fbea5cf7240f98f8c929276239c58 balla
+22e0a2969ab2326928f4ce90dec4827a4d0dd2bf expecco_1_7_0rc5
+2624c6cdb9340b7f486fcb97f0d9f5d7d0b77ae2 expeccoNET_1_7_0_0
+2707b35f964ca3bb3a769a369e7f2211ba059270 stable_expecco_sel
+2ca84430d4a2c58460bba567dcc9f9459dfdae06 expeccoNET_1_6_8_0
+36540512da66279fe8fb5bdf209d65d251a9ada8 expecco_1_9_1_iX
+39fb09a4d351c2b7c340d497002035381b899006 expeccoNET_1_8_0_0
+3c7e853977b7e8a73370be10877ca1c93482cbcb expecco_1_3_4
+3e7f1d7b7a3668a30eb14f320dc532ed0f2049ae expeccoNET_1_4_0rc1
+3e7f1d7b7a3668a30eb14f320dc532ed0f2049ae expecco_1_7_0rc3
+463dd6fa737f1911b40acf7874e7173cf8b3525c rel5_2_1_fixed
+4d7eb0d9a9ef6c03fb9c3da588a97722d56e248c expecco_2_2_5
+50a553319d0760b49230ade44dddfbc42bad5096 expecco_2_4_0
+50a553319d0760b49230ade44dddfbc42bad5096 stable
+55612f00a712dfa0e6df938ac663027f29a55953 stx_6_2_2
+596696438e67fee735ba71f62177ccc091b9a0bb expecco_1_7_2rc1
+5aa270837e0ab5e0fa19d2c02d46c864cc41c859 expeccoNET_1_5_1rc1
+6ae442626f2090b5275b777f1a9d09ef0e092628 rel3_4_1_2
+6ea7ea821b44f30ae3737d4703af910788f4c854 rel3-1-2
+8046120212f6e56f5142e2881d4d7a425527eae1 expecco_1_7_0b1
+8046120212f6e56f5142e2881d4d7a425527eae1 expecco_1_7_0b2
+8046120212f6e56f5142e2881d4d7a425527eae1 expecco_1_7_0b3
+82d9e1236f1fa129fb24e50b84be04917d108fd5 initialR
+8314abc6ed8f5dfeb3e68dbe88b8e5761c3be95f expecco_1_8_0rc1
+86b5d78f396e640514438498a168d5259ea7dd79 rel4_1_7
+86b5d78f396e640514438498a168d5259ea7dd79 release
+8b31177ded1bd9e0de5e2cec5271a827e08f8778 rel5_1_4
+91902ae3978238320aa4642b129b0bd1ac3983fe expecco_1_7_0rc1
+99f2298690949f2ee3449ab32639926048322df4 expeccoNET_1_6_0_0
+9c1378b603bcba783cd6ef653213b9ad124784b7 expecco_2_1_0
+a20cb6fcb74bc09f91758268cdd0fdd708713be4 rel5_2_2
+a2efaef3f9e1e4edbb79f2dc844ce96df3586161 expecco_2_0_0
+a2efaef3f9e1e4edbb79f2dc844ce96df3586161 expecco_2_0_0_0
+a8afd9424514ede465046961279e2442bc292089 rel5_4_6
+acb371a7ff9ebc3ed3e972c9fa2c85fc1f09ef61 expecco_1_6_0rc5
+b0c82c2ef38460f27321baa6a4f98979451211af rel5_1_3
+b0c82c2ef38460f27321baa6a4f98979451211af stx_513
+b3131c58f335a218314180b5aa4b01cacd7016af rel3_6_4
+b407d6ab29da8f079cbe8f9cd2430630786f720f expecco_1_7_1rc1
+b407d6ab29da8f079cbe8f9cd2430630786f720f expecco_1_7_1rc2
+b407d6ab29da8f079cbe8f9cd2430630786f720f expecco_1_7_1rc3
+b407d6ab29da8f079cbe8f9cd2430630786f720f expecco_1_7_1rc4
+b68ba5310493e1bf7956bb5e75309b4b5d33dd68 expecco_1_6_0
+b6fdfe902263fbb0ca68c285a41d1ba082363ea7 expecco_2_2_0
+c6afed1e4bfa09e6c3b209679925ad74eb761af9 expecco_1_7_0rc8
+d42566f1a9ba30ece3b2ddea3ac312dfc6802e45 rel5_2_8
+d985c7c23d8e1558a5180826cb985ee84938162c rel3_4_1_1
+ee907655178aa0f5a67f218fcedc36b8482c3754 rel4_1_3_1
+f4b0d497d1e608cbf0d8b7925d176f21640bf92a expecco_1_5_0
--- a/AbstractFileBrowser.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/AbstractFileBrowser.st	Wed Jan 30 11:15:09 2013 +0000
@@ -98,6 +98,7 @@
 "
 ! !
 
+
 !AbstractFileBrowser class methodsFor:'accessing'!
 
 currentSelection
@@ -110,7 +111,7 @@
 
 currentSelection:aFilenameCol
     aFilenameCol notEmptyOrNil ifTrue:[
-        LastFileSelection := aFilenameCol collect:[:file | file asFilename]
+        LastFileSelection := aFilenameCol collect:[:file | (file ? '') asFilename]
     ]
 !
 
@@ -146,6 +147,7 @@
     RootHolder := aRoot
 ! !
 
+
 !AbstractFileBrowser class methodsFor:'accessing-bookmarks'!
 
 addBookmark:aDirectoryPath
@@ -297,6 +299,7 @@
     self saveBookmarksIn:(self defaultBookMarksFileDirectory construct:self defaultBookMarksFilename)
 ! !
 
+
 !AbstractFileBrowser class methodsFor:'accessing-classes'!
 
 directoryHistoryClass
@@ -305,6 +308,7 @@
     "Modified: / 21-11-2012 / 08:46:34 / cg"
 ! !
 
+
 !AbstractFileBrowser class methodsFor:'defaults'!
 
 commandHistory
@@ -554,6 +558,7 @@
     "Modified: / 11-05-2012 / 09:22:04 / cg"
 ! !
 
+
 !AbstractFileBrowser class methodsFor:'help specs'!
 
 basicFlyByHelpSpec
@@ -708,6 +713,7 @@
     "Modified: / 03-11-2007 / 12:05:01 / cg"
 ! !
 
+
 !AbstractFileBrowser class methodsFor:'image specs'!
 
 clearHistoryIcon
@@ -919,6 +925,7 @@
     ^ ToolbarIconLibrary shell20x20Icon
 ! !
 
+
 !AbstractFileBrowser class methodsFor:'interface specs'!
 
 encodingDialogSpec
@@ -1268,6 +1275,7 @@
     "Modified: / 28-02-2012 / 11:12:38 / cg"
 ! !
 
+
 !AbstractFileBrowser class methodsFor:'menu specs'!
 
 baseBookmarksMenuSpec
@@ -2587,6 +2595,7 @@
       )
 ! !
 
+
 !AbstractFileBrowser class methodsFor:'menu specs-scm'!
 
 cvsMenu
@@ -2764,18 +2773,21 @@
     "Created: / 15-01-2012 / 13:12:30 / cg"
 ! !
 
+
 !AbstractFileBrowser class methodsFor:'misc'!
 
 newLock
     ^ CodeExecutionLock new
 ! !
 
+
 !AbstractFileBrowser class methodsFor:'resources'!
 
 classResources
     ^ FileBrowser classResources
 ! !
 
+
 !AbstractFileBrowser class methodsFor:'utilities'!
 
 contentsOfBytesAsHexDump:data numberOfAddressDigits:addrDigits addressStart:virtualStart
@@ -2945,6 +2957,7 @@
     "Modified: / 13-02-2012 / 15:01:19 / cg"
 ! !
 
+
 !AbstractFileBrowser methodsFor:'actions'!
 
 askForCommandFor:fileName thenDo:aBlock
@@ -3296,6 +3309,7 @@
     ]
 ! !
 
+
 !AbstractFileBrowser methodsFor:'actions bookmarks'!
 
 addBookmark
@@ -3341,6 +3355,7 @@
      self class saveBookmarks
 ! !
 
+
 !AbstractFileBrowser methodsFor:'actions history'!
 
 addToCommandHistory:aCommandString for:aFilename
@@ -3393,6 +3408,7 @@
     ].
 ! !
 
+
 !AbstractFileBrowser methodsFor:'applications'!
 
 applicationNamed:anApplicationName ifPresentDo:aBlock
@@ -3409,6 +3425,7 @@
     ^ self applications at:#DirectoryContentsBrowser ifAbsent:nil.
 ! !
 
+
 !AbstractFileBrowser methodsFor:'aspects'!
 
 applications
@@ -3765,6 +3782,7 @@
     self aspectFor:#rootHolder put:aHolder
 ! !
 
+
 !AbstractFileBrowser methodsFor:'aspects handling'!
 
 aspectFor:something ifAbsent:aBlock
@@ -3874,6 +3892,7 @@
     "Modified: / 14-10-2010 / 19:16:38 / cg"
 ! !
 
+
 !AbstractFileBrowser methodsFor:'aspects-filter'!
 
 filter:aString
@@ -3996,6 +4015,7 @@
     ^ self aspectFor:#fileHistory ifAbsent:[OrderedSet new]
 ! !
 
+
 !AbstractFileBrowser methodsFor:'aspects-visibility'!
 
 activityVisibilityChannel
@@ -4225,6 +4245,7 @@
     ^ self directoryContentsBrowser viewType
 ! !
 
+
 !AbstractFileBrowser methodsFor:'background processing'!
 
 executeCommand:cmd
@@ -4307,6 +4328,7 @@
     process resume.
 ! !
 
+
 !AbstractFileBrowser methodsFor:'change & update'!
 
 currentFileNameHolderChanged
@@ -4434,6 +4456,7 @@
     self updateCurrentDirectory
 ! !
 
+
 !AbstractFileBrowser methodsFor:'clipboard'!
 
 canPaste
@@ -4485,6 +4508,7 @@
     self canPaste value:true.
 ! !
 
+
 !AbstractFileBrowser methodsFor:'drag & drop'!
 
 canDropFiles:dropedObjects for:filename 
@@ -4616,6 +4640,7 @@
     "Created: / 13-10-2006 / 18:26:41 / cg"
 ! !
 
+
 !AbstractFileBrowser methodsFor:'file operations'!
 
 copyFile:aSourceFile to:aDestFile
@@ -5129,6 +5154,7 @@
     "Modified: / 04-12-2006 / 13:15:24 / cg"
 ! !
 
+
 !AbstractFileBrowser methodsFor:'menu accessing'!
 
 bookmarksMenu
@@ -5363,6 +5389,7 @@
     "Modified: / 09-09-2012 / 13:07:45 / cg"
 ! !
 
+
 !AbstractFileBrowser methodsFor:'menu actions'!
 
 doCompareTwoFiles
@@ -5453,6 +5480,7 @@
     "Created: / 29-12-2010 / 11:03:00 / cg"
 ! !
 
+
 !AbstractFileBrowser methodsFor:'menu actions-file'!
 
 copyFiles
@@ -5499,6 +5527,7 @@
     ].
 ! !
 
+
 !AbstractFileBrowser methodsFor:'menu actions-help'!
 
 openAboutThisApplication
@@ -5511,6 +5540,7 @@
     HTMLDocumentView openFullOnDocumentationFile:relativeDocPath
 ! !
 
+
 !AbstractFileBrowser methodsFor:'menu actions-scm-cvs'!
 
 cvsAddAndCommit
@@ -5816,6 +5846,7 @@
     ^ stream contents.
 ! !
 
+
 !AbstractFileBrowser methodsFor:'menu actions-scm-mercurial'!
 
 mercurialAdd
@@ -7194,7 +7225,7 @@
             self notify:'Generating signed file from: ', (fn baseName), '...'.
 
             pkcs7SignedData := Expecco::KeyFileGenerator new signExpeccoCode:fn contentsOfEntireFile.
-            signatureFilename := fn addSuffix:'signed'.
+            signatureFilename := fn withSuffix:'expeccoPatch'.
             signatureFilename contents:pkcs7SignedData.
         ].
         self notify:nil.
@@ -8086,6 +8117,7 @@
     "Modified: / 04-12-2006 / 13:15:28 / cg"
 ! !
 
+
 !AbstractFileBrowser methodsFor:'menu queries-cvs'!
 
 canCvsAddAndCommit
@@ -8107,6 +8139,7 @@
         ].
 ! !
 
+
 !AbstractFileBrowser methodsFor:'menu queries-tools'!
 
 anySTFilesOrDirectoriesPresent
@@ -8297,7 +8330,6 @@
 ! !
 
 
-
 !AbstractFileBrowser methodsFor:'presentation'!
 
 getModeString:modeBits
@@ -8337,6 +8369,7 @@
     ^ modeString
 ! !
 
+
 !AbstractFileBrowser methodsFor:'private'!
 
 theSingleSelectedDirectoryOrHomeDir
@@ -8355,6 +8388,7 @@
     ^ dirs anElement.
 ! !
 
+
 !AbstractFileBrowser methodsFor:'queries'!
 
 cBrowserLoaded
@@ -8502,6 +8536,7 @@
     ^ OperatingSystem isUNIXlike
 ! !
 
+
 !AbstractFileBrowser methodsFor:'queries-file'!
 
 allItemsOfCurrentDirectory
@@ -8685,6 +8720,7 @@
     ^ self recursiveAnyFilesPresentWithSuffix:'st'
 ! !
 
+
 !AbstractFileBrowser methodsFor:'selection'!
 
 currentSelectedDirectories
@@ -8703,7 +8739,7 @@
 
 firstSelectedFile
     ^ self currentSelectedObjects 
-        detect:[:file | file asFilename isDirectory not]
+        detect:[:file | (file ? '') asFilename isDirectory not]
         ifNone:[].
 
     "Modified: / 04-12-2006 / 13:14:50 / cg"
@@ -8738,6 +8774,7 @@
     "Modified: / 04-12-2006 / 13:15:04 / cg"
 ! !
 
+
 !AbstractFileBrowser methodsFor:'sorting'!
 
 currentSortOrder
@@ -8820,6 +8857,7 @@
     "Modified: / 18-09-2007 / 09:42:47 / cg"
 ! !
 
+
 !AbstractFileBrowser methodsFor:'startup & release'!
 
 makeDependent
@@ -8861,6 +8899,7 @@
     "Modified: / 25-07-2006 / 09:12:45 / cg"
 ! !
 
+
 !AbstractFileBrowser::Clipboard methodsFor:'accessing'!
 
 files
@@ -8887,6 +8926,7 @@
     method := something.
 ! !
 
+
 !AbstractFileBrowser::CodeExecutionLock methodsFor:'accessing'!
 
 locked
@@ -8898,6 +8938,7 @@
     ^ locked
 ! !
 
+
 !AbstractFileBrowser::CodeExecutionLock methodsFor:'actions'!
 
 doIfUnLocked:aBlock
@@ -8915,18 +8956,21 @@
     ]
 ! !
 
+
 !AbstractFileBrowser::DirectoryHistory class methodsFor:'defaults'!
 
 defaultHistorySize
     ^ 50
 ! !
 
+
 !AbstractFileBrowser::DirectoryHistory class methodsFor:'instance creation'!
 
 new
     ^ (super new) initializeHistory.
 ! !
 
+
 !AbstractFileBrowser::DirectoryHistory methodsFor:'accessing'!
 
 historySize
@@ -8938,6 +8982,7 @@
     historySize := aNumber
 ! !
 
+
 !AbstractFileBrowser::DirectoryHistory methodsFor:'actions'!
 
 addToHistory:aPath
@@ -9031,6 +9076,7 @@
     ].
 ! !
 
+
 !AbstractFileBrowser::DirectoryHistory methodsFor:'initialization'!
 
 initializeHistory
@@ -9042,6 +9088,7 @@
     backForwardIndex := backForwardList size.
 ! !
 
+
 !AbstractFileBrowser::DirectoryHistory methodsFor:'queries'!
 
 canBackward
@@ -9127,6 +9174,7 @@
     ^ retPath.
 ! !
 
+
 !AbstractFileBrowser::DirectoryHistory::DirectoryHistoryItem class methodsFor:'instance creation'!
 
 path:aPath
@@ -9134,6 +9182,7 @@
     ^ self new path:aPath
 ! !
 
+
 !AbstractFileBrowser::DirectoryHistory::DirectoryHistoryItem methodsFor:'accessing'!
 
 asFilename
@@ -9169,6 +9218,7 @@
     ^ self path asString
 ! !
 
+
 !AbstractFileBrowser::SaveAspectItem class methodsFor:'instance creation'!
 
 withValue:aValue isHolder:aBoolean
@@ -9181,6 +9231,7 @@
     ^ instance
 ! !
 
+
 !AbstractFileBrowser::SaveAspectItem methodsFor:'accessing'!
 
 isHolder
@@ -9207,16 +9258,18 @@
     value := something.
 ! !
 
+
 !AbstractFileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Id: AbstractFileBrowser.st 8084 2013-01-14 12:06:02Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.507 2013-01-15 14:07:08 stefan Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.505 2012/11/21 07:48:33 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.507 2013-01-15 14:07:08 stefan Exp $'
 !
 
 version_SVN
     ^ '$Id: AbstractFileBrowser.st 8084 2013-01-14 12:06:02Z vranyj1 $'
 ! !
+
--- a/AbstractFileFinderApplicationComponent.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/AbstractFileFinderApplicationComponent.st	Wed Jan 30 11:15:09 2013 +0000
@@ -37,6 +37,7 @@
 "
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'accessing'!
 
 accessLock
@@ -57,6 +58,7 @@
     "Modified (format): / 11-01-2012 / 22:41:01 / cg"
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'actions'!
 
 changeInformationTo:aString
@@ -144,7 +146,7 @@
                     ] ifFalse:[
                         t := t printString , ' ms'
                     ].
-                    message := 'Found %1 file%2 in %3' bindWith:(resultList size) with:(resultList size == 1 ifTrue:'' ifFalse:'s') with:t.
+                    message := 'Found %1 file%2 in %3.' bindWith:(resultList size) with:(resultList size == 1 ifTrue:'' ifFalse:'s') with:t.
                     self enableStop value:false.
                     self enableSearch value:true.
                     self changeInformationTo:'Find File ' , '- done.' toTab:true.
@@ -174,7 +176,7 @@
     ].
     self enableStop value:false.
     self enableSearch value:true.
-    self changeInformationTo:'Find File ' , '- search stopped' toTab:true.
+    self changeInformationTo:'Find File ' , '- search stopped.' toTab:true.
 
     "Modified: / 11-01-2012 / 22:42:07 / cg"
 !
@@ -196,6 +198,7 @@
     ].
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'aspects'!
 
 autoSelectInBrowser
@@ -287,6 +290,7 @@
     ^ shownListHolder.
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -303,6 +307,7 @@
     super update:something with:aParameter from:changedObject
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'drag & drop'!
 
 getDisplayObjects:anArgument
@@ -345,6 +350,7 @@
         ].
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'event handling'!
 
 fileDoubleClick:entries
@@ -402,6 +408,8 @@
     "filter keyboard events.
      Return true, if I have eaten the event"
 
+    <resource: #keyboard (#Return )>
+
     |focusView key rawKey|
 
     anEvent isKeyPressEvent ifTrue:[
@@ -430,6 +438,7 @@
     ^ false
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'initialization'!
 
 initialize
@@ -442,6 +451,7 @@
     "Modified: / 12-01-2012 / 01:39:27 / cg"
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'queries'!
 
 hasOneFileSelected
@@ -457,6 +467,7 @@
     ^ sel notEmptyOrNil
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'tasks'!
 
 stopSearchTaskOrAbort
@@ -472,16 +483,18 @@
     "Created: / 12-01-2012 / 01:48:42 / cg"
 ! !
 
+
 !AbstractFileFinderApplicationComponent class methodsFor:'documentation'!
 
 version
-    ^ '$Id: AbstractFileFinderApplicationComponent.st 7854 2012-01-30 17:49:41Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.8 2013-01-26 21:27:34 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.6 2012/01/12 02:34:16 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.8 2013-01-26 21:27:34 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: AbstractFileFinderApplicationComponent.st 7854 2012-01-30 17:49:41Z vranyj1 $'
 ! !
+
--- a/AbstractLauncherApplication.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/AbstractLauncherApplication.st	Wed Jan 30 11:15:09 2013 +0000
@@ -69,6 +69,7 @@
 
 ! !
 
+
 !AbstractLauncherApplication class methodsFor:'accessing'!
 
 closeAllLaunchers
@@ -113,6 +114,7 @@
     ^ OpenLaunchers
 ! !
 
+
 !AbstractLauncherApplication class methodsFor:'defaults'!
 
 notifyingEmergencyHandler
@@ -132,6 +134,7 @@
     "Modified: 15.1.1997 / 21:15:38 / cg"
 ! !
 
+
 !AbstractLauncherApplication class methodsFor:'image specs'!
 
 communicationIcon
@@ -196,6 +199,7 @@
     ^ ToolbarIconLibrary systemBrowser24x24Icon
 ! !
 
+
 !AbstractLauncherApplication class methodsFor:'queries'!
 
 isVisualStartable
@@ -211,6 +215,7 @@
     "
 ! !
 
+
 !AbstractLauncherApplication class methodsFor:'settings application list'!
 
 addSettingsApplicationByClass:aClass withName:aName icon:anIcon
@@ -369,6 +374,7 @@
     ^ UserSettingsList
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'drag & drop'!
 
 canDropObjects:aCollectionOfDropObjects
@@ -417,6 +423,7 @@
     WorkspaceApplication openWith:aDropContext.
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'menu actions - tools'!
 
 clearAllCoverageInfo
@@ -434,6 +441,7 @@
     self openApplication:#Tools::TestRunner2
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'oldStyle-user actions-settings'!
 
 communicationsSettings
@@ -609,6 +617,7 @@
     "Modified: / 31.7.1998 / 22:47:33 / cg"
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'private'!
 
 allTopViewsAndLabelsSortedFilteringWindowGroups: windowGroupFilterOrNil
@@ -942,6 +951,7 @@
     "Modified: / 25.2.1998 / 21:24:20 / cg"
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'private-settings callBacks'!
 
 changeViewStyleTo:newStyle
@@ -1094,6 +1104,7 @@
     "Modified: / 4.8.1998 / 17:08:33 / cg"
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'queries'!
 
 bugReporterAvailable
@@ -1135,6 +1146,7 @@
     ^ false "/ WindowTreeView notNil
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'settings dialog'!
 
 openSettings
@@ -1169,6 +1181,7 @@
     OpenSettingsDialog := nil.
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'startup & release'!
 
 addTopViewsToCurrentProject
@@ -1239,6 +1252,7 @@
 
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'user actions-about'!
 
 openLicenseConditions
@@ -1265,6 +1279,7 @@
     "Modified: / 23.4.1998 / 11:45:53 / cg"
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'user actions-classes'!
 
 browseAllBreakAndTracePoints
@@ -1552,6 +1567,7 @@
     SystemBrowser openOnSnapShotImage:imageFileName
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'user actions-demos'!
 
 startPDALauncher
@@ -1604,6 +1620,7 @@
     "Created: / 10.9.1998 / 11:48:42 / cg"
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'user actions-file'!
 
 exit
@@ -1656,6 +1673,7 @@
     "Modified: / 27-07-2012 / 09:46:19 / cg"
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'user actions-help'!
 
 showBookPrintDocument
@@ -1760,6 +1778,7 @@
 
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'user actions-system'!
 
 compressingGarbageCollect
@@ -1813,6 +1832,7 @@
     ]
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'user actions-tools'!
 
 inspectGlobalVariables
@@ -2009,6 +2029,7 @@
     "Modified: / 17.10.1998 / 14:38:18 / cg"
 ! !
 
+
 !AbstractLauncherApplication methodsFor:'user actions-windows'!
 
 allTopViewsDo:aBlock
@@ -2415,6 +2436,7 @@
     "Created: / 21.8.1998 / 20:44:12 / cg"
 ! !
 
+
 !AbstractLauncherApplication::LauncherDialogs class methodsFor:'dialogs'!
 
 communicationsSettings
@@ -5362,6 +5384,7 @@
     "Modified: / 07-11-2006 / 13:58:06 / cg"
 ! !
 
+
 !AbstractLauncherApplication::LauncherDialogs class methodsFor:'dialogs-file'!
 
 objectModuleDialog
@@ -5924,6 +5947,7 @@
 "
 ! !
 
+
 !AbstractLauncherApplication::LauncherDialogs class methodsFor:'dialogs-private'!
 
 cvsConfigurationDialog
@@ -6589,6 +6613,7 @@
     "Modified: / 7.7.1999 / 00:27:02 / cg"
 ! !
 
+
 !AbstractLauncherApplication::LauncherDialogs class methodsFor:'interface specs'!
 
 cvsSetupSpec
@@ -7004,16 +7029,18 @@
       )
 ! !
 
+
 !AbstractLauncherApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.423 2012/11/26 11:24:30 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.423 2012-11-26 11:24:30 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.423 2012/11/26 11:24:30 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.423 2012-11-26 11:24:30 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: AbstractLauncherApplication.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id: AbstractLauncherApplication.st 7796 2011-06-23 16:01:32Z vranyj1 '
 ! !
+
--- a/AbstractSettingsApplication.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/AbstractSettingsApplication.st	Wed Jan 30 11:15:09 2013 +0000
@@ -409,6 +409,7 @@
 "
 ! !
 
+
 !AbstractSettingsApplication class methodsFor:'defaults'!
 
 classResources
@@ -431,12 +432,14 @@
     "Created: / 25-10-2010 / 09:37:21 / cg"
 ! !
 
+
 !AbstractSettingsApplication class methodsFor:'interface specs'!
 
 windowSpec
     self subclassResponsibility
 ! !
 
+
 !AbstractSettingsApplication class methodsFor:'queries'!
 
 isVisualStartable
@@ -447,6 +450,7 @@
     ^ super isVisualStartable
 ! !
 
+
 !AbstractSettingsApplication methodsFor:'accessing'!
 
 requestor:anotherApplication
@@ -465,6 +469,7 @@
     "Modified: / 12-05-2010 / 18:44:09 / cg"
 ! !
 
+
 !AbstractSettingsApplication methodsFor:'actions'!
 
 evaluateModified
@@ -540,6 +545,7 @@
     self modifiedChannel value:self hasUnsavedChanges
 ! !
 
+
 !AbstractSettingsApplication methodsFor:'aspects'!
 
 modifiedChannel
@@ -550,6 +556,7 @@
     ^ modifiedChannel
 ! !
 
+
 !AbstractSettingsApplication methodsFor:'helpers'!
 
 hasChangedAspectIn:aListOfAspects asComparedTo:anAspectProvider
@@ -621,6 +628,7 @@
     "Modified: / 24-08-2010 / 16:52:42 / sr"
 ! !
 
+
 !AbstractSettingsApplication methodsFor:'initialization'!
 
 initialize
@@ -637,12 +645,14 @@
     currentUserPrefs := UserPreferences current.
 ! !
 
+
 !AbstractSettingsApplication methodsFor:'menu'!
 
 settingsDialogPopUpMenu
     ^ nil
 ! !
 
+
 !AbstractSettingsApplication methodsFor:'protocol'!
 
 askForChangeOnRelease
@@ -682,6 +692,7 @@
     ^ nil.
 ! !
 
+
 !AbstractSettingsApplication methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -699,6 +710,7 @@
     ^ settingsDialog getNameOfApplication:self.
 ! !
 
+
 !AbstractSettingsApplication::BuildSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -709,6 +721,7 @@
     "Modified: / 17-09-2007 / 11:35:02 / cg"
 ! !
 
+
 !AbstractSettingsApplication::BuildSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -867,6 +880,7 @@
     "Modified: / 22-01-2012 / 10:59:44 / cg"
 ! !
 
+
 !AbstractSettingsApplication::BuildSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -929,6 +943,7 @@
     ].
 ! !
 
+
 !AbstractSettingsApplication::BuildSettingsAppl methodsFor:'aspects'!
 
 buildDirectory
@@ -967,12 +982,14 @@
     "Created: / 22-01-2012 / 10:59:30 / cg"
 ! !
 
+
 !AbstractSettingsApplication::BuildSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/buildSetup.html'
 ! !
 
+
 !AbstractSettingsApplication::BuildSettingsAppl methodsFor:'initialization'!
 
 postBuildDirectoryField:aField
@@ -981,6 +998,7 @@
 	with:(Filename currentDirectory construct:'stx_build') pathName)
 ! !
 
+
 !AbstractSettingsApplication::BuildSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -998,6 +1016,7 @@
     "Modified: / 22-01-2012 / 10:50:15 / cg"
 ! !
 
+
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl class methodsFor:'defaults'!
 
 constantFoldingOptions
@@ -1010,6 +1029,7 @@
     ^ #('disabled' 'level1 (always safe)' 'level2 (usually safe)' 'full')
 ! !
 
+
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -1096,6 +1116,7 @@
 @@PC@@LD@@P@@0PDA@PC@0LC@0LD@0LC@0LC@@LC@0LC@0PD') ; colorMapFromArray:#[255 189 23 127 127 127 236 233 216 0 0 0 255 255 255 194 194 194 161 161 165]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@A @@C0@@33@A?? A?? @??@@??@C??0G??8G??8C??0@??@@??@A?? A?? @33@@C0@O5+<HT*DHTJDO7;<') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -1538,6 +1559,7 @@
     "Modified: / 08-03-2012 / 10:26:26 / cg"
 ! !
 
+
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -1641,6 +1663,7 @@
     AbstractLauncherApplication::LauncherDialogs stcCompilerSettings
 ! !
 
+
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'aspects'!
 
 allowAssignmentToPoolVariable
@@ -2019,6 +2042,7 @@
     ^ warnings.
 ! !
 
+
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -2040,12 +2064,14 @@
     super update:something with:aParameter from:changedObject
 ! !
 
+
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/compilerSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -2069,6 +2095,7 @@
     ^ ObjectMemory supportsJustInTimeCompilation
 ! !
 
+
 !AbstractSettingsApplication::ChangeFileSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -2097,6 +2124,7 @@
 A@PDA@PDA@PDB@(JB (HB@ HB@ HB@ HB@ HB@ HB@ JB @a') ; colorMapFromArray:#[240 160 80 192 80 0 64 0 0 240 208 160 0 0 0 240 240 240 192 192 192 240 128 0 208 208 208 48 48 48 160 160 160]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@_?? _??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0O??0') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::ChangeFileSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -2191,6 +2219,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::ChangeFileSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -2210,6 +2239,7 @@
     "Modified: / 09-02-2011 / 20:32:47 / cg"
 ! !
 
+
 !AbstractSettingsApplication::ChangeFileSettingsAppl methodsFor:'aspects'!
 
 changeFileName
@@ -2242,12 +2272,14 @@
     "Modified (format): / 25-11-2011 / 15:43:45 / cg"
 ! !
 
+
 !AbstractSettingsApplication::ChangeFileSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/messageSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::ChangeFileSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -2259,6 +2291,7 @@
     "Modified: / 27-10-2010 / 10:17:21 / cg"
 ! !
 
+
 !AbstractSettingsApplication::CodeGeneratorSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -2287,6 +2320,7 @@
 A@PDA@PDA@PDB@(JB (HB@ HB@ HB@ HB@ HB@ HB@ JB @a') ; colorMapFromArray:#[240 160 80 192 80 0 64 0 0 240 208 160 0 0 0 240 240 240 192 192 192 240 128 0 208 208 208 48 48 48 160 160 160 255 248 248 207 216 240 240 240 248 239 232 240 48 88 176 224 224 232 240 144 24 255 248 48 255 248 96 255 248 24 240 208 24 255 248 152 255 248 88 255 248 136 255 248 176 255 248 200]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@_?? _??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0O??0') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::CodeGeneratorSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -2365,6 +2399,7 @@
     "Modified: / 04-07-2011 / 16:58:44 / cg"
 ! !
 
+
 !AbstractSettingsApplication::CodeGeneratorSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -2379,6 +2414,7 @@
 	to:currentUserPrefs.
 ! !
 
+
 !AbstractSettingsApplication::CodeGeneratorSettingsAppl methodsFor:'aspects'!
 
 aspectSelectors
@@ -2413,12 +2449,14 @@
     ^ generateCommentsForSetters.
 ! !
 
+
 !AbstractSettingsApplication::CodeGeneratorSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/codeGeneratorSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::CodeGeneratorSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -2429,6 +2467,7 @@
     "Modified: / 25-11-2011 / 15:22:51 / cg"
 ! !
 
+
 !AbstractSettingsApplication::CommunicationLoggingSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -2488,6 +2527,7 @@
 @@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 32 96 80 240 240 240 192 192 192 64 144 128 80 80 80 48 112 112 48 128 128 32 96 96 48 128 112 224 224 224 32 80 80 64 96 96 0 80 128]; mask:((Depth1Image new) width: 17; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@_?<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??8@@@@@@@@@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::CommunicationLoggingSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -2552,6 +2592,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::CommunicationLoggingSettingsAppl methodsFor:'actions'!
 
 aspectsFromUserPreferences
@@ -2573,6 +2614,7 @@
 	to:currentUserPrefs.
 ! !
 
+
 !AbstractSettingsApplication::CommunicationLoggingSettingsAppl methodsFor:'aspects'!
 
 logHTTPRequests
@@ -2591,12 +2633,14 @@
     ^ logSOAPRequests.
 ! !
 
+
 !AbstractSettingsApplication::CommunicationLoggingSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/comLoggingSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::CommunicationLoggingSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -2605,6 +2649,7 @@
 	asComparedTo:currentUserPrefs
 ! !
 
+
 !AbstractSettingsApplication::DebuggerSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -2613,6 +2658,7 @@
     ^ ToolbarIconLibrary bugReporter24x24Icon
 ! !
 
+
 !AbstractSettingsApplication::DebuggerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -2748,6 +2794,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::DebuggerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -2775,6 +2822,7 @@
     "Modified: / 10-06-2012 / 21:23:32 / cg"
 ! !
 
+
 !AbstractSettingsApplication::DebuggerSettingsAppl methodsFor:'aspects'!
 
 allowSendMailFromDebugger
@@ -2824,12 +2872,14 @@
     ^ verboseBacktraceInDebugger.
 ! !
 
+
 !AbstractSettingsApplication::DebuggerSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/debuggerSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::DebuggerSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -2843,6 +2893,7 @@
     "Modified: / 10-06-2012 / 21:23:54 / cg"
 ! !
 
+
 !AbstractSettingsApplication::DisplaySettingsAppl class methodsFor:'defaults'!
 
 clipEncodingStrings
@@ -2875,6 +2926,7 @@
     ^ #(ordered floydSteinberg)
 ! !
 
+
 !AbstractSettingsApplication::DisplaySettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -2883,6 +2935,7 @@
     ^ ToolbarIconLibrary displayScreenIcon
 ! !
 
+
 !AbstractSettingsApplication::DisplaySettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -3090,6 +3143,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -3149,6 +3203,7 @@
     screen clipboardEncoding:(self class clipEncodingSyms at:self clipEncodingListSelection value).
 ! !
 
+
 !AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'aspects'!
 
 clipEncodingList
@@ -3324,6 +3379,7 @@
     ^ visualIsPseudoColor.
 ! !
 
+
 !AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'change & update'!
 
 monitorSelectionChanged
@@ -3365,12 +3421,14 @@
     super update:something with:aParameter from:changedObject
 ! !
 
+
 !AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/screenSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -3406,6 +3464,7 @@
 
 ! !
 
+
 !AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -3423,6 +3482,7 @@
     ^ false
 ! !
 
+
 !AbstractSettingsApplication::EditSettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -3465,6 +3525,7 @@
     "Created: / 17-03-2012 / 11:37:51 / cg"
 ! !
 
+
 !AbstractSettingsApplication::EditSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -3473,6 +3534,7 @@
     ^ ToolbarIconLibrary editorIcon
 ! !
 
+
 !AbstractSettingsApplication::EditSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -3609,6 +3671,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::EditSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -3660,6 +3723,7 @@
     "Modified: / 07-03-2012 / 14:33:40 / cg"
 ! !
 
+
 !AbstractSettingsApplication::EditSettingsAppl methodsFor:'aspects'!
 
 enforceContentsDropForFiles
@@ -3755,12 +3819,14 @@
     ^ whitespaceWordSelectMode.
 ! !
 
+
 !AbstractSettingsApplication::EditSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/editSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::EditSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -3779,6 +3845,7 @@
     "Modified: / 25-11-2011 / 15:23:02 / cg"
 ! !
 
+
 !AbstractSettingsApplication::FontSettingsAppl class methodsFor:'defaults'!
 
 widgetList
@@ -3793,6 +3860,7 @@
        )
 ! !
 
+
 !AbstractSettingsApplication::FontSettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -3835,6 +3903,7 @@
     "Created: / 17-03-2012 / 11:37:51 / cg"
 ! !
 
+
 !AbstractSettingsApplication::FontSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -3866,6 +3935,7 @@
 P @@@@@@@@@@@DQ@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 150 150 150 213 213 213 215 48 48 134 54 54 240 240 240]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@G @OG0@O''<@O7>@O<?@A>? A?? A??@A<?@A<>@A<>@A<>@A=>@C?>@G<>@C<\@@8D@@H@@@@@@@@@@@@@@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::FontSettingsAppl class methodsFor:'instance creation'!
 
 fontForEncoding:encodingMatch
@@ -3878,6 +3948,7 @@
     self open.
 ! !
 
+
 !AbstractSettingsApplication::FontSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -4299,6 +4370,7 @@
     "Modified: / 17-03-2012 / 11:44:29 / cg"
 ! !
 
+
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'accessing'!
 
 encodingMatch:aEncodingMatch
@@ -4309,6 +4381,7 @@
     ].
 ! !
 
+
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'actions'!
 
 basicReadFontSettings
@@ -4471,17 +4544,8 @@
 changeToDefault
     "/View readStyleSheetAndUpdateAllStyleCaches.
     View updateAllStyleCaches.
-
     self basicReadFontSettings.
 
-"/    self textDef value:(TextView defaultFont).
-"/    self inputFieldDef value:(EditTextView defaultFont).
-"/    self menuDef value:(MenuView defaultFont).
-"/    self listDef value:(ListView defaultFont).
-"/    self labelDef value:variableFont.
-"/    self buttonDef value:variableFont.
-"/    self allOfThem value:variableFont.
-
     "Created: / 06-02-2012 / 12:06:00 / cg"
 !
 
@@ -4553,6 +4617,7 @@
     "Created: / 17-03-2012 / 11:22:18 / cg"
 ! !
 
+
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'aspects'!
 
 allFontLabelHolder
@@ -4712,6 +4777,7 @@
     ^ textFontLabelHolder.
 ! !
 
+
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -4772,12 +4838,14 @@
     self updateModifiedChannel
 ! !
 
+
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/fontSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'initialization & release'!
 
 postBuildAllFontLabel:aWidget
@@ -4821,6 +4889,7 @@
     super postBuildWith:aBuilder
 ! !
 
+
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -4838,6 +4907,7 @@
     "Modified: / 10-10-2011 / 12:14:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl class methodsFor:'defaults'!
 
 keepSourceOptions
@@ -4850,6 +4920,7 @@
     ^ #('Keep as String' 'Reference to Filename' 'Reference to Full Path' 'Append and Ref in `st.src''' 'Discard' )
 ! !
 
+
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -4909,6 +4980,7 @@
 A@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PD') ; colorMapFromArray:#[255 189 23 127 127 127 236 233 216 0 0 0 255 255 255 194 194 194 161 161 165]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@A @@C0@@33@A?? A?? @??@@??@C??0G??8G??8C??0@??@@??@A?? A?? @33@@C0@@A @@@@@@@@@@@@@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -5068,6 +5140,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -5116,6 +5189,7 @@
     "Modified: / 08-07-2011 / 10:26:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl methodsFor:'aspects'!
 
 canLoadBinaries
@@ -5214,12 +5288,14 @@
     "Modified: / 04-08-2010 / 18:37:53 / cg"
 ! !
 
+
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/compilerSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -5236,6 +5312,7 @@
     "Modified: / 08-07-2011 / 10:25:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication class methodsFor:'image specs'!
 
 defaultIcon
@@ -5264,6 +5341,7 @@
 JB (JCX6AS@@@@@@@@@@@@@@J28AM#XAJCX(M T0@@@@@@@a') ; colorMapFromArray:#[0 0 0 144 144 144 112 144 112 16 96 16 0 80 0 128 128 128 0 144 0 0 112 64 0 224 16 0 240 0 0 64 160 16 16 224 64 64 192 128 144 128 0 160 0 0 208 32 0 0 240 0 32 208 0 112 128 0 0 224 48 48 96 0 128 32 0 96 128 0 80 160 0 16 224 0 208 0 64 112 64 32 128 32 0 96 112 48 48 112 0 96 144 0 192 32 48 48 64 0 192 0 64 112 144 64 96 144 64 192 64 64 160 96 64 128 112 80 96 80 160 160 160 16 32 64 0 48 192 96 96 96 0 160 80 208 208 208 192 192 192 224 224 224 48 48 48 0 16 48 0 64 176 0 176 64 192 176 192 176 192 176 176 176 176 0 0 80 0 144 80 0 32 192 16 16 16 208 192 208 208 144 144 96 192 96 176 160 176 48 48 128 0 112 112 0 0 144 0 144 64 160 160 64 144 144 80 48 112 48 0 0 208 208 208 224 48 48 80 32 32 144 224 208 224 176 176 224 176 176 240 192 176 208]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C? @G?0@O?8@_?<@??<@??>@???@???@???@???@???@???@???@_??@O??@G??@A??@@??@@??@@??@@??@@??@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -5430,6 +5508,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication class methodsFor:'servers access'!
 
 addCreatedServer:aServer
@@ -5451,6 +5530,7 @@
     self createdServers remove:aServer ifAbsent:nil.
 ! !
 
+
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'actions'!
 
 basicReadSettings
@@ -5668,6 +5748,7 @@
     "Modified: / 26-08-2012 / 10:26:20 / cg"
 ! !
 
+
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'aspects'!
 
 hasCreatedServerChannel
@@ -5707,6 +5788,7 @@
     ^ portNumberChannel.
 ! !
 
+
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'change & update'!
 
 createdServerChanged
@@ -5733,12 +5815,14 @@
     "Modified: / 25-01-2007 / 16:38:52 / cg"
 ! !
 
+
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'help'!
 
 helpFilename
     ^ 'HTTPServer/index.html'
 ! !
 
+
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'initialization & release'!
 
 release
@@ -5752,6 +5836,7 @@
     "Modified: / 25-01-2007 / 16:39:23 / cg"
 ! !
 
+
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'queries'!
 
 hasCreatedServer
@@ -5799,6 +5884,7 @@
     "Created: / 25-01-2007 / 17:16:46 / cg"
 ! !
 
+
 !AbstractSettingsApplication::KbdMappingSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -5807,6 +5893,7 @@
     ^ ToolbarIconLibrary keyboardMappingIcon
 ! !
 
+
 !AbstractSettingsApplication::KbdMappingSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -5913,6 +6000,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -5923,6 +6011,7 @@
     "nothing done here"
 ! !
 
+
 !AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'aspects'!
 
 functionKeyList
@@ -5972,6 +6061,7 @@
     ^ selectedRawKey.
 ! !
 
+
 !AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'change & update'!
 
 changeFunctionKeySelection
@@ -6048,12 +6138,14 @@
     super update:something with:aParameter from:changedObject
 ! !
 
+
 !AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/keyboardSetting.html'
 ! !
 
+
 !AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -6068,6 +6160,7 @@
     self labelTextHolder value:(resources at:'KEY_MSG2' default:'keyboard mapping:') withCRs.
 ! !
 
+
 !AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -6075,6 +6168,7 @@
     ^ false
 ! !
 
+
 !AbstractSettingsApplication::LanguageSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -6083,6 +6177,7 @@
     ^ ToolbarIconLibrary languagesIcon
 ! !
 
+
 !AbstractSettingsApplication::LanguageSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -6191,6 +6286,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'accessing'!
 
 languageList
@@ -6199,6 +6295,7 @@
     ^ languageList
 ! !
 
+
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -6360,6 +6457,7 @@
     self setNoticeLabel.
 ! !
 
+
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'aspects'!
 
 currentFlagAndLanguageChannel
@@ -6425,12 +6523,14 @@
 	value: ((resources at:'LANG_MSG' default:'Select a Language') withCRs).
 ! !
 
+
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/languageSetting.html'
 ! !
 
+
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -6577,6 +6677,7 @@
     aWidget scrolledView backgroundColor:self window viewBackground.
 ! !
 
+
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'queries'!
 
 currentLanguage
@@ -6616,6 +6717,7 @@
     "Modified: / 24-08-2010 / 18:50:11 / sr"
 ! !
 
+
 !AbstractSettingsApplication::MemorySettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -6624,6 +6726,7 @@
     ^ ToolbarIconLibrary memoryIcon
 ! !
 
+
 !AbstractSettingsApplication::MemorySettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -7142,6 +7245,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::MemorySettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -7192,6 +7296,7 @@
     "Modified: / 12-08-2010 / 15:34:47 / cg"
 ! !
 
+
 !AbstractSettingsApplication::MemorySettingsAppl methodsFor:'aspects'!
 
 codeLimit
@@ -7317,12 +7422,14 @@
     ^ warningLabelHolder.
 ! !
 
+
 !AbstractSettingsApplication::MemorySettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/memorySettings.html'
 ! !
 
+
 !AbstractSettingsApplication::MemorySettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -7334,6 +7441,7 @@
 	       ).
 ! !
 
+
 !AbstractSettingsApplication::MemorySettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -7361,6 +7469,7 @@
     "Modified: / 12-08-2010 / 15:33:12 / cg"
 ! !
 
+
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -7386,6 +7495,7 @@
 P"DQ]PU%@@@@@EBUHQU5U%@@@@@@@B !!YHU%@@@@@@@E@ UFY%@@@@@@@@APIH@@@@@@@@@@@@T@@@@@@@@b') ; colorMapFromArray:#[0 0 0 224 224 224 64 64 64 96 96 96 128 128 128 192 192 192 32 32 32 96 96 96 160 160 160 96 96 96]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'G@C O G0_0O8?8_<?(W<?8_<???<=:^<???<???<???<_??<O??<O??<B?=\@?<8@?=0@?? @O?@@W>@@K @@D@@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -7767,6 +7877,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -7880,6 +7991,7 @@
     "Modified: / 20-09-2007 / 16:05:01 / cg"
 ! !
 
+
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'aspects'!
 
 acceptChannel
@@ -8034,6 +8146,7 @@
     ^ windowMigrationPassword.
 ! !
 
+
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'change & update'!
 
 selectedSmallTeamHostChanged
@@ -8054,12 +8167,14 @@
     "Created: / 12-11-2006 / 19:09:40 / cg"
 ! !
 
+
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/communicationsSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -8067,6 +8182,7 @@
     self readSettings.
 ! !
 
+
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'queries'!
 
 addHostEnabled
@@ -8118,6 +8234,7 @@
     ^ WindowMigrationServer notNil
 ! !
 
+
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'user actions'!
 
 addSmallTeamHost
@@ -8156,6 +8273,7 @@
     "Modified: / 12-11-2006 / 19:15:05 / cg"
 ! !
 
+
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -8184,6 +8302,7 @@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 32 96 80 240 240 240 192 192 192 64 144 128 80 80 80 48 112 112 48 128 128 32 96 96 48 128 112 224 224 224 32 80 80 64 96 96 0 80 128 128 128 128 16 144 192 16 128 176 16 128 160 0 112 160 0 112 144 0 96 144 16 112 144 0 96 128 0 80 112 100 100 100 127 127 127 255 255 0]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@8@@@8@@@P@@@P_?<P??<P??<P??<P??<8??=<???<??>8??<8??<8??=<??=<??=<??=<??9<@@@8@@@@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -8319,6 +8438,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl methodsFor:'actions'!
 
 aspectsFromUserPreferences
@@ -8399,6 +8519,7 @@
     "Modified: / 24-08-2010 / 17:27:25 / sr"
 ! !
 
+
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl methodsFor:'aspects'!
 
 displaySupportsNativeDialogs
@@ -8481,12 +8602,14 @@
     ^ shadows.
 ! !
 
+
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/miscSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -8522,6 +8645,7 @@
      ^ Screen current platformName = 'WIN32'
 ! !
 
+
 !AbstractSettingsApplication::MiscDisplaySettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -8550,6 +8674,7 @@
 B (JB (E@@@@@@@@APTEAPTEAPTEAPTEAPTEAP@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 32 96 80 240 240 240 192 192 192 64 144 128 80 80 80 48 112 112 48 128 128 32 96 96 48 128 112 224 224 224 32 80 80 64 96 96 0 80 128 128 128 128 16 144 192 16 128 176 16 128 160 0 112 160 0 112 144 0 96 144 16 112 144 0 96 128 0 80 112]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@C@@@G @@O0@@_8@@?<@A?>@C??@G??0O??0G??8???0??? ???@??>@??<@??<@??<@??<@??<@??<@??<@??<@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::MiscDisplaySettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -8791,6 +8916,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'actions'!
 
 aspectsFromUserPreferences
@@ -8872,6 +8998,7 @@
     ]
 ! !
 
+
 !AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'aspects'!
 
 activateOnClick
@@ -9034,12 +9161,14 @@
     ^ takeFocus.
 ! !
 
+
 !AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/miscSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -9056,6 +9185,7 @@
     ^ false
 ! !
 
+
 !AbstractSettingsApplication::OsiSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -9064,6 +9194,7 @@
     ^ AbstractSettingsApplication::MiscCommunicationSettingsAppl defaultIcon.
 ! !
 
+
 !AbstractSettingsApplication::OsiSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -9284,6 +9415,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::OsiSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -9324,6 +9456,7 @@
     ].
 ! !
 
+
 !AbstractSettingsApplication::OsiSettingsAppl methodsFor:'aspects'!
 
 osiACSEConnectionLogging
@@ -9406,12 +9539,14 @@
     ^ osiROSEResponseLogging.
 ! !
 
+
 !AbstractSettingsApplication::OsiSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/communicationsSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::OsiSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -9430,6 +9565,7 @@
 	self osiCMISEMessageLogging value ~= OSI::CMISE messageLogging]]])
 ! !
 
+
 !AbstractSettingsApplication::PrinterSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -9438,6 +9574,7 @@
     ^ ToolbarIconLibrary printerIcon
 ! !
 
+
 !AbstractSettingsApplication::PrinterSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -9761,6 +9898,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -9815,6 +9953,7 @@
     ].
 ! !
 
+
 !AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'aspects'!
 
 bottomMargin
@@ -10089,6 +10228,7 @@
     ^ unitList.
 ! !
 
+
 !AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'change & update'!
 
 printerTypeSelectionChanged
@@ -10172,12 +10312,14 @@
     super update:something with:aParameter from:changedObject
 ! !
 
+
 !AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/printerSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'queries'!
 
 commandList
@@ -10238,6 +10380,7 @@
     ^ possiblePrinters
 ! !
 
+
 !AbstractSettingsApplication::ProcessorSchedulerSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -10263,6 +10406,7 @@
 DQDQDQI@@@@@P!!DQDQDQI@@@@@@DH"DQD"I@@@@@@@ADP"H$Q@@@@@@@@@@DQD@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 128 128 128 0 128 128 192 192 192]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@G @@?<@A?>@C??@G?? O??0O??0O??0_??8_??8_??8_??8O??0O??0O??0G?? C??@A?>@@?<@@G @@@@@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::ProcessorSchedulerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -10338,6 +10482,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::ProcessorSchedulerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -10359,6 +10504,7 @@
     ].
 ! !
 
+
 !AbstractSettingsApplication::ProcessorSchedulerSettingsAppl methodsFor:'aspects'!
 
 dynamicPrios
@@ -10377,12 +10523,14 @@
     ^ preemptive.
 ! !
 
+
 !AbstractSettingsApplication::ProcessorSchedulerSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/miscSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::ProcessorSchedulerSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -10391,6 +10539,7 @@
     ^ false
 ! !
 
+
 !AbstractSettingsApplication::RDoItServerSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -10416,6 +10565,7 @@
 !!B D @A%T@@@@@BBP$IH @@@@@@@@HPHHB"@@@@@@@@@@@!!H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 64 80 96 240 240 0 80 112 112 240 240 240 64 64 64 48 64 80 64 96 96 128 128 0 128 128 128 48 80 80 80 96 96 112 112 112 64 80 80 80 96 112]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@G??0G??0G??8G??8G??8G??8G??8G??8G??8G??8G??8G??8G??8A??8@O?@@O?@@G>@@A0@@@@@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::RDoItServerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -10758,6 +10908,7 @@
     "Modified: / 20-05-2010 / 12:15:22 / cg"
 ! !
 
+
 !AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -10874,6 +11025,7 @@
     ^ portOrPath
 ! !
 
+
 !AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'aspects'!
 
 rDoitEnabledOnlyViaLocalConnection
@@ -10997,6 +11149,7 @@
     ^ scriptingServerPortOrPath.
 ! !
 
+
 !AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'change & update'!
 
 rDoitsEnabledChanged
@@ -11009,12 +11162,14 @@
     ]
 ! !
 
+
 !AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/communicationsSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'queries'!
 
 hasRDoitServer
@@ -11058,6 +11213,7 @@
     "Modified: / 20-05-2010 / 14:48:52 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SQLServerSettingsAppl class methodsFor:'image specs'!
 
 dbIcon1
@@ -11121,6 +11277,7 @@
     ^ self dbIcon2.
 ! !
 
+
 !AbstractSettingsApplication::SQLServerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -11335,6 +11492,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::SQLServerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -11400,6 +11558,7 @@
     "Modified: / 25-01-2007 / 17:41:20 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SQLServerSettingsAppl methodsFor:'aspects'!
 
 sqlDataLogging
@@ -11466,6 +11625,7 @@
     ^ sqlStatementLogging.
 ! !
 
+
 !AbstractSettingsApplication::SQLServerSettingsAppl methodsFor:'change & update'!
 
 sqlServerEnabledChanged
@@ -11490,12 +11650,14 @@
     "Modified: / 25-01-2007 / 17:40:03 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SQLServerSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/communicationsSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::SQLServerSettingsAppl methodsFor:'queries'!
 
 hasSQLServerClass
@@ -11531,6 +11693,7 @@
     "Created: / 25-01-2007 / 17:29:59 / cg"
 ! !
 
+
 !AbstractSettingsApplication::STCCompilerSettingsAppl class methodsFor:'defaults'!
 
 stcCompilationOptions
@@ -11542,6 +11705,7 @@
     ^ #('primitive code only' 'never')
 ! !
 
+
 !AbstractSettingsApplication::STCCompilerSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -11655,6 +11819,7 @@
 @@LC@@LCA@PD@0PDA@PC@0PDA@PDA@PDA@PDA@PDA@PC@0PD') ; colorMapFromArray:#[255 189 23 127 127 127 236 233 216 0 0 0 255 255 255 194 194 194 161 161 165]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@A @@C0@@33@A?? A?? @??@@??@C??0G??8G??8C??0@??@@??@A?? A?? @33@LC0LHA DP@@BH6[DL@@L') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::STCCompilerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -12113,6 +12278,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::STCCompilerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -12177,6 +12343,7 @@
     "Modified: / 16-09-2011 / 18:45:28 / cg"
 ! !
 
+
 !AbstractSettingsApplication::STCCompilerSettingsAppl methodsFor:'aspects'!
 
 canLoadBinaries
@@ -12329,6 +12496,7 @@
     ^ stcOptions.
 ! !
 
+
 !AbstractSettingsApplication::STCCompilerSettingsAppl methodsFor:'help'!
 
 helpFilename
@@ -12344,6 +12512,7 @@
     "Created: / 16-09-2011 / 18:18:32 / cg"
 ! !
 
+
 !AbstractSettingsApplication::STCCompilerSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -12375,6 +12544,7 @@
     "Modified: / 16-09-2011 / 18:42:00 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl class methodsFor:'defaults'!
 
 exampleText
@@ -12421,6 +12591,7 @@
 '.
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -12446,6 +12617,7 @@
 UUUUUUUH**"EUZUUUUUUUT"**HV*)UUUUUUURJ*(!!UUUUUUUUUUH**"TQDQDQDQDQD"**("H"H"H"H"H"J(b') ; colorMapFromArray:#[240 160 80 192 80 0 64 0 0 240 208 160 0 0 0 240 240 240 192 192 192 240 128 0 208 208 208 48 48 48 160 160 160]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@_?? _??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0O??0') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -12731,6 +12903,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -12877,6 +13050,7 @@
     self reformat.
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'aspects'!
 
 autoFormat
@@ -12986,6 +13160,7 @@
     ^ tabIndent.
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -13010,12 +13185,14 @@
 	from:changedObject
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/sourceFormatSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -13035,6 +13212,7 @@
     scrollWhenUpdating:nil.
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -13059,6 +13237,7 @@
     ^ false
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 documentation
@@ -13070,6 +13249,7 @@
 "
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'help specs'!
 
 helpSpec
@@ -13143,6 +13323,7 @@
     "Modified: / 09-08-2012 / 09:41:28 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -13171,6 +13352,7 @@
 EQXVE @@@@@@@@@@@@@@@@@@@@@@@A(Z@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 32 64 0 0 64 0 32 32 0 0 32 0 32 96 32 96 192 128 192 224 192 160 224 160 32 128 64 64 96 64 64 96 32 32 160 64 160 224 192 64 160 96 32 128 32 224 224 224 64 128 64 160 192 160 224 224 192 32 160 96 160 160 160 64 64 64 96 96 96 128 128 128 192 192 192 32 32 32 32 64 32]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@O8@@?>@A??@A?C C<@0C8@PC8@@??@@??F@_>O@O<_ G8?0C1?8A#?<@C?<@@_@H@_@L@?@GC>@C?>@A?<@@_0@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -13562,6 +13744,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'tableColumns specs'!
 
 managerPerMatchingModuleColumns
@@ -13600,6 +13783,7 @@
 
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'accessing'!
 
 manager
@@ -13607,6 +13791,7 @@
     ^ Smalltalk at:#SourceCodeManager
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'actions'!
 
 actionAdd
@@ -13878,6 +14063,7 @@
     "Modified: / 16-08-2006 / 11:07:51 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'aspects'!
 
 acceptChannel
@@ -14164,6 +14350,7 @@
     ^ verboseSourceCodeAccess.
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'change & update'!
 
 selectedPerModuleRootChanged
@@ -14287,6 +14474,7 @@
     self selectedManagerTypeIndexHolder value:selectedManagerTypeIndex.
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'help'!
 
 helpFilename
@@ -14295,6 +14483,7 @@
     "Modified: / 04-07-2011 / 17:22:39 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -14326,6 +14515,7 @@
     "Modified: / 18-04-2011 / 19:37:38 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'queries'!
 
 cvsRootFromCVSRootFileOrNil
@@ -14388,6 +14578,7 @@
     "Modified: / 27-07-2012 / 12:35:40 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -14416,6 +14607,7 @@
     "Created: / 01-12-2011 / 19:52:19 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog class methodsFor:'interface specs'!
 
 windowSpec
@@ -14525,6 +14717,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog methodsFor:'accessing'!
 
 manager
@@ -14558,6 +14751,7 @@
     "Created: / 09-07-2011 / 13:02:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog methodsFor:'aspects'!
 
 availableManagerTypeNames
@@ -14652,6 +14846,7 @@
     "Modified: / 13-03-2012 / 13:12:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractSettingsApplication::StyleSettingsAppl class methodsFor:'defaults'!
 
 standardStyles
@@ -14671,6 +14866,7 @@
        )
 ! !
 
+
 !AbstractSettingsApplication::StyleSettingsAppl class methodsFor:'image specs'!
 
 closePreviewButtonImage
@@ -14703,6 +14899,7 @@
 F1,[F1,S@@@@@@@@D1LSD1LSD1LSD1LSD1LSD0@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 0 80 112 0 80 128 0 96 128 0 96 144 0 112 144 0 112 160 16 112 144 16 128 160 16 128 176 16 144 192 32 80 80 32 96 80 32 96 96 48 112 112 48 128 112 48 128 128 64 96 96 64 144 128 80 80 80 112 112 0 128 128 0 128 128 128 160 160 0 176 176 0 192 192 192 208 208 0 224 224 224 240 240 240 255 255 129 255 255 193 255 255 225]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@C@@@G @@O0@@_8@@?<@A?>@C??@G?? O??0G??8???0??? ???@??>@??<@??<@??<@??<@??<@??<@??<@??<@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::StyleSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -14864,6 +15061,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::StyleSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -14891,6 +15089,7 @@
     self saveSettings.
 ! !
 
+
 !AbstractSettingsApplication::StyleSettingsAppl methodsFor:'aspects'!
 
 infoLabelHolder
@@ -14945,6 +15144,7 @@
     ^ styleList.
 ! !
 
+
 !AbstractSettingsApplication::StyleSettingsAppl methodsFor:'change & update'!
 
 changeInfoLabel
@@ -15021,12 +15221,14 @@
     "Modified: / 07-11-2006 / 13:58:09 / cg"
 ! !
 
+
 !AbstractSettingsApplication::StyleSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/styleSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::StyleSettingsAppl methodsFor:'initialization & release'!
 
 commonPostBuild
@@ -15081,6 +15283,7 @@
     aWidget scrolledView backgroundColor:self window viewBackground.
 ! !
 
+
 !AbstractSettingsApplication::StyleSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -15088,6 +15291,7 @@
     ^  (self selectedStyle value ~= View defaultStyle)
 ! !
 
+
 !AbstractSettingsApplication::SyntaxColorSettingsAppl class methodsFor:'defaults'!
 
 emphasisList
@@ -15158,6 +15362,7 @@
     )
 ! !
 
+
 !AbstractSettingsApplication::SyntaxColorSettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -15206,6 +15411,7 @@
     "Created: / 14-02-2012 / 10:44:21 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SyntaxColorSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -15231,6 +15437,7 @@
 A@PDQDQDPQQ@QDADPDQ@QDQAEDQDQDQDQDQDQDDTMCP4MCP4QDQDPQQCP4MCP4MDQDQADQDQDQDQDQDQDQDb') ; colorMapFromArray:#[0 0 0 88 88 88 0 0 255 255 0 0 255 255 255]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::SyntaxColorSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -15443,6 +15650,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -15516,6 +15724,7 @@
     "Modified (format): / 16-03-2012 / 10:32:02 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'aspects'!
 
 coloredText
@@ -15610,6 +15819,7 @@
     ^ syntaxEmphasisSelection.
 ! !
 
+
 !AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'change & update'!
 
 getEmphasis:anEmphasisOrSymbol
@@ -15664,12 +15874,14 @@
     super update:something with:aParameter from:changedObject
 ! !
 
+
 !AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/sourceSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -15732,6 +15944,7 @@
     "Modified: / 14-02-2012 / 11:01:49 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -15779,6 +15992,7 @@
 	asLowercaseFirst asSymbol
 ! !
 
+
 !AbstractSettingsApplication::SystemBrowserSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -15789,6 +16003,7 @@
     "Modified: / 17-09-2007 / 11:35:15 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SystemBrowserSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -15806,202 +16021,203 @@
 
     <resource: #canvas>
 
-    ^
+    ^ 
      #(FullSpec
-	name: windowSpec
-	window:
+        name: windowSpec
+        window: 
        (WindowSpec
-	  label: 'Tool Settings'
-	  name: 'Tool Settings'
-	  min: (Point 10 10)
-	  bounds: (Rectangle 0 0 742 705)
-	)
-	component:
+          label: 'Tool Settings'
+          name: 'Tool Settings'
+          min: (Point 10 10)
+          bounds: (Rectangle 0 0 613 436)
+        )
+        component: 
        (SpecCollection
-	  collection: (
-	   (VerticalPanelViewSpec
-	      name: 'SettingsPanel'
-	      layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-	      horizontalLayout: fit
-	      verticalLayout: top
-	      horizontalSpace: 3
-	      verticalSpace: 3
-	      component:
-	     (SpecCollection
-		collection: (
-		 (FramedBoxSpec
-		    label: 'Settings'
-		    name: 'ToolsSettingsPanel'
-		    labelPosition: topLeft
-		    translateLabel: true
-		    component:
-		   (SpecCollection
-		      collection: (
-		       (VerticalPanelViewSpec
-			  name: 'ToolSettingsVPanel'
-			  layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-			  horizontalLayout: fit
-			  verticalLayout: top
-			  horizontalSpace: 3
-			  verticalSpace: 3
-			  component:
-			 (SpecCollection
-			    collection: (
-			     (CheckBoxSpec
-				label: 'Use the Embedded Test Runner'
-				name: 'UseEmbeddedTestRunner'
-				model: showEmbeddedTestRunnerInBrowser
-				translateLabel: true
-				extent: (Point 712 25)
-			      )
-			     (CheckBoxSpec
-				label: 'Show Bookmarks Bar'
-				name: 'ShowBookmarksBar'
-				model: showBookmarkBar
-				translateLabel: true
-				extent: (Point 712 25)
-			      )
-			     (CheckBoxSpec
-				label: 'Sort and Indent Classes by Inheritance'
-				name: 'SortAndIndentClassesByInheritance'
-				model: sortAndIndentClassesByInheritance
-				translateLabel: true
-				extent: (Point 712 25)
-			      )
-			     (CheckBoxSpec
-				label: 'Web Browser Like Layout (Toolbars are Part of the Tab - experimental)'
-				name: 'CheckBox1'
-				initiallyInvisible: true
-				model: webBrowserLikeLayout
-				translateLabel: true
-				extent: (Point 607 25)
-			      )
-			     (CheckBoxSpec
-				label: 'Show Local Navigation History (Separate History per Browser Tab)'
-				name: 'CheckBox2'
-				model: showLocalHistory
-				translateLabel: true
-				extent: (Point 712 25)
-			      )
-			     (CheckBoxSpec
-				label: 'Show Global Navigation History (Global History for all Browsers)'
-				name: 'CheckBox3'
-				model: showGlobalHistory
-				translateLabel: true
-				extent: (Point 712 25)
-			      )
-			     (CheckBoxSpec
-				label: 'Show Search Bar in Browser'
-				name: 'ShowSearchBarInBrowser'
-				model: useSearchBarInBrowser
-				translateLabel: true
-				extent: (Point 579 25)
-			      )
-			     (CheckBoxSpec
-				label: 'Use in-place Search in Browser Lists (experimental)'
-				name: 'CheckBox4'
-				model: useInPlaceSearchInBrowserLists
-				translateLabel: true
-				extent: (Point 712 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Show Method Template'
-				name: 'MethodTemplate'
-				model: showMethodTemplate
-				translateLabel: true
-				extent: (Point 579 25)
-			      )
-			     )
-
-			  )
-			)
-		       )
-
-		    )
-		    extent: (Point 607 265)
-		    useDynamicPreferredHeight: true
-		  )
-		 (FramedBoxSpec
-		    label: 'Sourcecode Management Menu Layout'
-		    name: 'MenyLayoutPanel'
-		    labelPosition: topLeft
-		    translateLabel: true
-		    component:
-		   (SpecCollection
-		      collection: (
-		       (VerticalPanelViewSpec
-			  name: 'MenyLayoutVPanel'
-			  layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-			  horizontalLayout: fit
-			  verticalLayout: top
-			  horizontalSpace: 3
-			  verticalSpace: 3
-			  component:
-			 (SpecCollection
-			    collection: (
-			     (RadioButtonSpec
-				label: 'Old (default)'
-				name: 'SCMMenuLayoutOld'
-				translateLabel: true
-				model: sourceCodeManagementMenuLayout
-				isTriggerOnDown: true
-				select: 'old'
-				extent: (Point 712 22)
-			      )
-			     (RadioButtonSpec
-				label: 'Inline (experimental)'
-				name: 'SCMMenuLayoutInline'
-				translateLabel: true
-				model: sourceCodeManagementMenuLayout
-				isTriggerOnDown: true
-				select: 'inline'
-				extent: (Point 712 22)
-			      )
-			     (RadioButtonSpec
-				label: 'Compact (experimental)'
-				name: 'SCMMenuLayoutCompact'
-				translateLabel: true
-				model: sourceCodeManagementMenuLayout
-				isTriggerOnDown: true
-				select: 'compact'
-				extent: (Point 712 22)
-			      )
-			     )
-
-			  )
-			)
-		       )
-
-		    )
-		    extent: (Point 742 108)
-		  )
-		 )
-
-	      )
-	    )
-	   )
-
-	)
+          collection: (
+           (VerticalPanelViewSpec
+              name: 'SettingsPanel'
+              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+              horizontalLayout: fit
+              verticalLayout: top
+              horizontalSpace: 3
+              verticalSpace: 3
+              component: 
+             (SpecCollection
+                collection: (
+                 (FramedBoxSpec
+                    label: 'Settings'
+                    name: 'ToolsSettingsPanel'
+                    labelPosition: topLeft
+                    translateLabel: true
+                    component: 
+                   (SpecCollection
+                      collection: (
+                       (VerticalPanelViewSpec
+                          name: 'ToolSettingsVPanel'
+                          layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+                          horizontalLayout: fit
+                          verticalLayout: top
+                          horizontalSpace: 3
+                          verticalSpace: 3
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (CheckBoxSpec
+                                label: 'Use the Embedded Test Runner'
+                                name: 'UseEmbeddedTestRunner'
+                                model: showEmbeddedTestRunnerInBrowser
+                                translateLabel: true
+                                extent: (Point 579 25)
+                              )
+                             (CheckBoxSpec
+                                label: 'Show Bookmarks Bar'
+                                name: 'ShowBookmarksBar'
+                                model: showBookmarkBar
+                                translateLabel: true
+                                extent: (Point 579 25)
+                              )
+                             (CheckBoxSpec
+                                label: 'Sort and Indent Classes by Inheritance'
+                                name: 'SortAndIndentClassesByInheritance'
+                                model: sortAndIndentClassesByInheritance
+                                translateLabel: true
+                                extent: (Point 579 25)
+                              )
+                             (CheckBoxSpec
+                                label: 'Web Browser Like Layout (Toolbars are Part of the Tab - experimental)'
+                                name: 'CheckBox1'
+                                initiallyInvisible: true
+                                model: webBrowserLikeLayout
+                                translateLabel: true
+                                extent: (Point 607 25)
+                              )
+                             (CheckBoxSpec
+                                label: 'Show Local Navigation History (Separate History per Browser Tab)'
+                                name: 'CheckBox2'
+                                model: showLocalHistory
+                                translateLabel: true
+                                extent: (Point 579 25)
+                              )
+                             (CheckBoxSpec
+                                label: 'Show Global Navigation History (Global History for all Browsers)'
+                                name: 'CheckBox3'
+                                model: showGlobalHistory
+                                translateLabel: true
+                                extent: (Point 579 25)
+                              )
+                             (CheckBoxSpec
+                                label: 'Show Search Bar in Browser'
+                                name: 'ShowSearchBarInBrowser'
+                                model: useSearchBarInBrowser
+                                translateLabel: true
+                                extent: (Point 579 25)
+                              )
+                             (CheckBoxSpec
+                                label: 'Use in-place Search in Browser Lists (experimental)'
+                                name: 'CheckBox4'
+                                model: useInPlaceSearchInBrowserLists
+                                translateLabel: true
+                                extent: (Point 579 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Show Method Template'
+                                name: 'MethodTemplate'
+                                model: showMethodTemplate
+                                translateLabel: true
+                                extent: (Point 579 25)
+                              )
+                             )
+                           
+                          )
+                        )
+                       )
+                     
+                    )
+                    extent: (Point 607 265)
+                    useDynamicPreferredHeight: true
+                  )
+                 (FramedBoxSpec
+                    label: 'Sourcecode Management Menu Layout'
+                    name: 'MenyLayoutPanel'
+                    labelPosition: topLeft
+                    translateLabel: true
+                    component: 
+                   (SpecCollection
+                      collection: (
+                       (VerticalPanelViewSpec
+                          name: 'MenyLayoutVPanel'
+                          layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+                          horizontalLayout: fit
+                          verticalLayout: top
+                          horizontalSpace: 3
+                          verticalSpace: 3
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (RadioButtonSpec
+                                label: 'Old (default)'
+                                name: 'SCMMenuLayoutOld'
+                                translateLabel: true
+                                model: sourceCodeManagementMenuLayout
+                                isTriggerOnDown: true
+                                select: 'old'
+                                extent: (Point 579 22)
+                              )
+                             (RadioButtonSpec
+                                label: 'Inline (experimental)'
+                                name: 'SCMMenuLayoutInline'
+                                translateLabel: true
+                                model: sourceCodeManagementMenuLayout
+                                isTriggerOnDown: true
+                                select: 'inline'
+                                extent: (Point 579 22)
+                              )
+                             (RadioButtonSpec
+                                label: 'Compact (experimental)'
+                                name: 'SCMMenuLayoutCompact'
+                                translateLabel: true
+                                model: sourceCodeManagementMenuLayout
+                                isTriggerOnDown: true
+                                select: 'compact'
+                                extent: (Point 579 22)
+                              )
+                             )
+                           
+                          )
+                        )
+                       )
+                     
+                    )
+                    extent: (Point 613 108)
+                  )
+                 )
+               
+              )
+            )
+           )
+         
+        )
       )
 ! !
 
+
 !AbstractSettingsApplication::SystemBrowserSettingsAppl methodsFor:'actions'!
 
 aspects
     ^ #(
-	"/ showAcceptCancelBarInBrowser
-	useSearchBarInBrowser
-	showMethodTemplate
-	"/ useCodeView2InTools
-	showEmbeddedTestRunnerInBrowser
-	showBookmarkBar
-	webBrowserLikeLayout
-	sortAndIndentClassesByInheritance
-	showGlobalHistory
-	showLocalHistory
-	useInPlaceSearchInBrowserLists
-	sourceCodeManagementMenuLayout
-	confirmRefactorings
+        "/ showAcceptCancelBarInBrowser
+        useSearchBarInBrowser
+        showMethodTemplate
+        "/ useCodeView2InTools
+        showEmbeddedTestRunnerInBrowser
+        showBookmarkBar
+        webBrowserLikeLayout
+        sortAndIndentClassesByInheritance
+        showGlobalHistory
+        showLocalHistory
+        useInPlaceSearchInBrowserLists
+        sourceCodeManagementMenuLayout
+        confirmRefactorings
     )
 
     "Created: / 25-11-2011 / 15:09:28 / cg"
@@ -16026,6 +16242,7 @@
     "Modified: / 25-11-2011 / 15:09:49 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SystemBrowserSettingsAppl methodsFor:'aspects'!
 
 confirmRefactorings
@@ -16175,12 +16392,14 @@
     "Created: / 07-06-2011 / 14:34:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractSettingsApplication::SystemBrowserSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/browserSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::SystemBrowserSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -16192,6 +16411,7 @@
     "Modified: / 25-11-2011 / 15:23:47 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SystemMessageSettingsAppl class methodsFor:'help specs'!
 
 helpSpec
@@ -16218,6 +16438,7 @@
 )
 ! !
 
+
 !AbstractSettingsApplication::SystemMessageSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -16246,6 +16467,7 @@
 F!!(ZF!!(ZF@@@@@@@@@@@@@@ODQ0\H"H"H @@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 64 32 16 128 96 48 112 48 0 176 112 48 176 96 32 208 160 128 160 96 16 48 32 0 192 128 80 160 80 16 112 80 32 176 112 32 96 48 16 160 112 32 80 80 16 128 64 16 64 64 16 208 208 176 224 224 208 160 160 128 144 144 80 112 112 64 128 128 64 80 80 32 192 192 160 160 160 112 96 96 48 48 48 16 240 240 224 176 176 128 176 176 144 144 144 96 112 112 48 32 32 0]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@G @@O @@_0@@_0@@_0@@_0@@_0@@G @@G @@G @@?<@A?>@A?>@A?>@A?>@A?>@A?>@A?>@G??@G??@G??@A?>@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::SystemMessageSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -16435,6 +16657,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'actions'!
 
 aspects
@@ -16474,6 +16697,7 @@
     "Modified: / 10-11-2010 / 12:08:14 / cg"
 ! !
 
+
 !AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'aspects'!
 
 beepEnabled
@@ -16597,12 +16821,14 @@
     ^ vmInfo.
 ! !
 
+
 !AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/messageSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -16617,6 +16843,7 @@
     "Modified: / 10-11-2010 / 12:08:25 / cg"
 ! !
 
+
 !AbstractSettingsApplication::ToolboxSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -16646,6 +16873,7 @@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[107 107 107 253 252 252 180 180 180 254 102 102 154 154 154 255 0 0 46 49 49 98 53 53 171 80 80 155 25 25 128 128 128 73 74 74]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@C0@@C<@@G>@@G>@G??8O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??8G??@A?0@@F@@@@@@@@@@@@@@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::ToolboxSettingsAppl class methodsFor:'interface specs'!
 
 developmentToolsSpec
@@ -16772,6 +17000,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::ToolboxSettingsAppl class methodsFor:'list specs'!
 
 notebookTabList
@@ -16806,6 +17035,7 @@
     "Modified: / 03-04-2012 / 10:52:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'aspects'!
 
 aspects
@@ -16866,6 +17096,7 @@
     ^ list
 ! !
 
+
 !AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'hooks'!
 
 developmentToolSettingsInto:panel
@@ -16898,6 +17129,7 @@
     "Created: / 03-04-2012 / 10:54:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'private'!
 
 addClassToolSettingTo: panel
@@ -16916,6 +17148,7 @@
     "Created: / 14-02-2012 / 18:56:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'protocol'!
 
 basicReadSettings
@@ -16942,6 +17175,7 @@
     ^ self shouldImplement
 ! !
 
+
 !AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -16952,6 +17186,7 @@
     "Modified: / 14-02-2012 / 18:38:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting class methodsFor:'interface specs'!
 
 windowSpec
@@ -17016,6 +17251,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting methodsFor:'accessing'!
 
 classes: aCollection
@@ -17049,6 +17285,7 @@
     "Created: / 14-02-2012 / 18:22:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting methodsFor:'aspects'!
 
 optionCustomValueBackgroundHolder
@@ -17231,6 +17468,7 @@
     ].
 ! !
 
+
 !AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -17272,6 +17510,7 @@
     "Modified: / 14-02-2012 / 19:01:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractSettingsApplication::ToolsSettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -17320,6 +17559,7 @@
     "Modified: / 09-08-2012 / 09:34:41 / cg"
 ! !
 
+
 !AbstractSettingsApplication::ToolsSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -17345,6 +17585,7 @@
 @@@@@@H0B*@@@@@@@@@@@@@J(@@@@@@@@@@@@@* @@@@@@@@@@@@B*****************************(b') ; colorMapFromArray:#[0 0 0 160 160 160 240 240 240 224 224 224 48 48 48 128 128 128 208 208 208 112 112 112 192 192 192 96 96 96 176 176 176]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@?@@@?0@@_8@GO<@G3<@G?>@G??@G?? G?? C?? @?? @G? @@_ @@G @@A @@@@@@@@@@@@@@@@') ; yourself); yourself]
 ! !
 
+
 !AbstractSettingsApplication::ToolsSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -17575,6 +17816,7 @@
       )
 ! !
 
+
 !AbstractSettingsApplication::ToolsSettingsAppl methodsFor:'actions'!
 
 aspects
@@ -17678,6 +17920,7 @@
     "Modified: / 27-07-2012 / 20:51:46 / cg"
 ! !
 
+
 !AbstractSettingsApplication::ToolsSettingsAppl methodsFor:'aspects'!
 
 autoRaiseTranscript
@@ -17848,12 +18091,14 @@
     "Created: / 06-07-2011 / 13:52:33 / cg"
 ! !
 
+
 !AbstractSettingsApplication::ToolsSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/toolSettings.html'
 ! !
 
+
 !AbstractSettingsApplication::ToolsSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -17870,16 +18115,18 @@
     "Modified: / 27-07-2012 / 20:51:56 / cg"
 ! !
 
+
 !AbstractSettingsApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.450 2012/11/13 14:07:13 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.451 2013-01-07 15:44:36 stefan Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.450 2012/11/13 14:07:13 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.451 2013-01-07 15:44:36 stefan Exp $'
 !
 
 version_SVN
     ^ '$Id: AbstractSettingsApplication.st 8074 2012-11-30 17:23:39Z vranyj1 $'
 ! !
+
--- a/AbstractSourceCodeManagementSettingsAppl.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/AbstractSourceCodeManagementSettingsAppl.st	Wed Jan 30 11:15:09 2013 +0000
@@ -50,6 +50,7 @@
 "
 ! !
 
+
 !AbstractSourceCodeManagementSettingsAppl class methodsFor:'help specs'!
 
 helpSpec
@@ -78,6 +79,7 @@
     "Created: / 11-01-2012 / 15:38:11 / cg"
 ! !
 
+
 !AbstractSourceCodeManagementSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -128,6 +130,7 @@
 @@@@@@@VE @@@@@VE!!XVE!!X@@@@@@@@WE!!XV@@@@@@@a') ; colorMapFromArray:#[0 0 0 32 64 0 0 64 0 32 32 0 0 32 0 32 96 32 96 192 128 192 224 192 160 224 160 32 128 64 64 96 64 64 96 32 32 160 64 160 224 192 64 160 96 32 128 32 224 224 224 64 128 64 160 192 160 224 224 192 32 160 96 160 160 160 64 64 64 96 96 96 128 128 128 192 192 192 32 32 32 32 64 32]; mask:((ImageMask new) width: 11; height: 11; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C0@_ C!!@N@C< G''@L>@G8DF@O8@_@@@a') ; yourself); yourself]
 ! !
 
+
 !AbstractSourceCodeManagementSettingsAppl class methodsFor:'queries'!
 
 isAbstract
@@ -150,6 +153,7 @@
     "Created: / 19-04-2011 / 12:48:37 / cg"
 ! !
 
+
 !AbstractSourceCodeManagementSettingsAppl methodsFor:'actions'!
 
 condenseSourceCache
@@ -165,6 +169,7 @@
     "Modified: / 30-09-2011 / 13:33:47 / cg"
 ! !
 
+
 !AbstractSourceCodeManagementSettingsAppl methodsFor:'aspects'!
 
 acceptChannel
@@ -240,16 +245,18 @@
     ^ verboseSourceCodeAccess.
 ! !
 
+
 !AbstractSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSourceCodeManagementSettingsAppl.st,v 1.20 2012/09/26 16:16:47 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSourceCodeManagementSettingsAppl.st,v 1.20 2012-09-26 16:16:47 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/AbstractSourceCodeManagementSettingsAppl.st,v 1.20 2012/09/26 16:16:47 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSourceCodeManagementSettingsAppl.st,v 1.20 2012-09-26 16:16:47 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: AbstractSourceCodeManagementSettingsAppl.st 8059 2012-09-27 20:08:20Z vranyj1 $'
+    ^ 'Id'
 ! !
+
--- a/BookmarkBar.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/BookmarkBar.st	Wed Jan 30 11:15:09 2013 +0000
@@ -63,6 +63,7 @@
 "
 ! !
 
+
 !BookmarkBar class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -88,6 +89,7 @@
     "Created: / 03-07-2011 / 23:09:48 / cg"
 ! !
 
+
 !BookmarkBar class methodsFor:'interface specs'!
 
 windowSpec
@@ -151,6 +153,7 @@
       )
 ! !
 
+
 !BookmarkBar class methodsFor:'menu specs'!
 
 bookmarkMenu
@@ -190,6 +193,7 @@
       )
 ! !
 
+
 !BookmarkBar class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -210,6 +214,7 @@
 
 ! !
 
+
 !BookmarkBar methodsFor:'actions'!
 
 bookmark
@@ -231,6 +236,7 @@
     "Modified: / 02-06-2011 / 20:05:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BookmarkBar methodsFor:'aspects'!
 
 bookmarkButtonIconHolder
@@ -344,6 +350,7 @@
     "Modified: / 18-05-2011 / 18:57:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BookmarkBar methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -392,6 +399,7 @@
     "Modified: / 09-09-2012 / 13:07:51 / cg"
 ! !
 
+
 !BookmarkBar methodsFor:'hooks'!
 
 closeDownViews
@@ -423,6 +431,7 @@
     "Created: / 03-07-2011 / 23:08:01 / cg"
 ! !
 
+
 !BookmarkBar methodsFor:'initialization & release'!
 
 release
@@ -441,6 +450,7 @@
     "Created: / 15-03-2012 / 13:28:48 / Jan Vrany <jan.vrany.fit.cvut.cz>"
 ! !
 
+
 !BookmarkBar methodsFor:'menu'!
 
 bookmarkMenuAddSlice
@@ -450,6 +460,7 @@
     "Modified: / 08-07-2011 / 11:38:29 / cg"
 ! !
 
+
 !BookmarkBar methodsFor:'menu actions'!
 
 menuAddBookmark
@@ -480,16 +491,18 @@
     "Modified: / 02-06-2011 / 20:02:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BookmarkBar class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/BookmarkBar.st,v 1.10 2012/09/09 13:11:47 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/BookmarkBar.st,v 1.10 2012-09-09 13:11:47 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/BookmarkBar.st,v 1.10 2012/09/09 13:11:47 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/BookmarkBar.st,v 1.10 2012-09-09 13:11:47 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: BookmarkBar.st 8054 2012-09-13 09:15:20Z vranyj1 $'
+    ^ 'Id'
 ! !
+
--- a/BookmarkList.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/BookmarkList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -62,6 +62,7 @@
 "
 ! !
 
+
 !BookmarkList class methodsFor:'instance creation'!
 
 decodeFromLiteralArray:anArray
@@ -127,6 +128,7 @@
     "Modified: / 18-11-2011 / 14:32:24 / cg"
 ! !
 
+
 !BookmarkList class methodsFor:'accessing'!
 
 forFileBrowser
@@ -165,6 +167,7 @@
     "Created: / 20-06-2011 / 22:11:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BookmarkList class methodsFor:'accessing - defaults'!
 
 defaultLabelForMyWorkspaces
@@ -181,6 +184,7 @@
     "Created: / 21-06-2011 / 08:35:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BookmarkList class methodsFor:'class initialization'!
 
 initializeBrowserBookmarks
@@ -265,6 +269,7 @@
     "Modified: / 29-11-2011 / 11:21:16 / cg"
 ! !
 
+
 !BookmarkList methodsFor:'accessing'!
 
 / label
@@ -282,6 +287,7 @@
     fileName := aString.
 ! !
 
+
 !BookmarkList methodsFor:'accessing - special folders'!
 
 myWorkspaces
@@ -295,6 +301,7 @@
     "Created: / 21-06-2011 / 08:53:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BookmarkList methodsFor:'change & update'!
 
 changed:aParameter with:anArgument
@@ -306,6 +313,7 @@
     "Modified: / 02-06-2011 / 13:35:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BookmarkList methodsFor:'collection protocol'!
 
 add: item 
@@ -332,6 +340,7 @@
     "Modified: / 23-05-2011 / 13:48:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BookmarkList methodsFor:'converting'!
 
 asMenu
@@ -358,6 +367,7 @@
     "Created: / 23-05-2011 / 14:23:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BookmarkList methodsFor:'initialization'!
 
 initialize
@@ -372,6 +382,7 @@
     "Modified: / 23-05-2011 / 13:56:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BookmarkList methodsFor:'loading / saving'!
 
 save
@@ -394,6 +405,7 @@
     "Created: / 23-05-2011 / 16:39:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BookmarkList methodsFor:'visiting'!
 
 acceptVisitor:aVisitor 
@@ -405,12 +417,14 @@
     ^ aVisitor visitBookmarkList:self
 ! !
 
+
 !BookmarkList class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/BookmarkList.st,v 1.5 2012/10/21 00:15:49 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/BookmarkList.st,v 1.5 2012-10-21 00:15:49 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: BookmarkList.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id'
 ! !
+
--- a/BrowserView.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/BrowserView.st	Wed Jan 30 11:15:09 2013 +0000
@@ -79,6 +79,7 @@
 "
 ! !
 
+
 !BrowserView class methodsFor:'initialization'!
 
 initialize
@@ -128,6 +129,7 @@
     "Modified: / 27.10.1997 / 17:34:25 / cg"
 ! !
 
+
 !BrowserView class methodsFor:'class history'!
 
 addToClassHistory:aClass selector:aSelector
@@ -140,6 +142,7 @@
     SystemBrowser checkClassHistory
 ! !
 
+
 !BrowserView class methodsFor:'cleanup'!
 
 lowSpaceCleanup
@@ -156,6 +159,7 @@
     Icons := DefaultIcon := nil.
 ! !
 
+
 !BrowserView class methodsFor:'defaults'!
 
 changeHistoryMaxSize
@@ -229,6 +233,7 @@
     "Created: / 29.10.1997 / 03:32:43 / cg"
 ! !
 
+
 !BrowserView class methodsFor:'interface specs'!
 
 methodFilterSpec
@@ -611,6 +616,7 @@
       )
 ! !
 
+
 !BrowserView class methodsFor:'menu specs'!
 
 menuSpec
@@ -1669,12 +1675,14 @@
       )
 ! !
 
+
 !BrowserView class methodsFor:'resources'!
 
 classResources
     ^ SystemBrowser classResources
 ! !
 
+
 !BrowserView methodsFor:'change & update'!
 
 delayedUpdate:something with:someArgument from:changedObject
@@ -2086,6 +2094,7 @@
     "Modified: 26.3.1997 / 18:29:51 / cg"
 ! !
 
+
 !BrowserView methodsFor:'class category list menu'!
 
 browserClone
@@ -2960,6 +2969,7 @@
     "Modified: / 10.4.1998 / 12:25:38 / cg"
 ! !
 
+
 !BrowserView methodsFor:'class category source administration'!
 
 classCategoryCheckinEach
@@ -3416,6 +3426,7 @@
     "Modified (format): / 29-09-2011 / 16:09:52 / cg"
 ! !
 
+
 !BrowserView methodsFor:'class category stuff'!
 
 checkClassCategorySelected
@@ -3700,6 +3711,7 @@
     "Modified: / 27.7.1998 / 10:56:50 / cg"
 ! !
 
+
 !BrowserView methodsFor:'class history'!
 
 changeHistoryMenu
@@ -3897,6 +3909,7 @@
     self class classHistory:savedHistory.
 ! !
 
+
 !BrowserView methodsFor:'class list menu'!
 
 classClassInstVars
@@ -5207,6 +5220,7 @@
     "Modified: 17.6.1997 / 13:32:40 / cg"
 ! !
 
+
 !BrowserView methodsFor:'class list source administration'!
 
 classCheckin
@@ -5756,6 +5770,7 @@
     "Modified: / 10.2.2000 / 14:14:09 / cg"
 ! !
 
+
 !BrowserView methodsFor:'class stuff'!
 
 allClasses
@@ -6931,6 +6946,7 @@
     "Modified: 10.1.1997 / 14:01:20 / cg"
 ! !
 
+
 !BrowserView methodsFor:'class-method list menu'!
 
 classMethodBrowse
@@ -7144,6 +7160,7 @@
     "Modified: / 7.8.1998 / 17:13:47 / cg"
 ! !
 
+
 !BrowserView methodsFor:'class-method stuff'!
 
 classFromClassMethodString:aString
@@ -7432,6 +7449,7 @@
     "Modified: / 17.10.1998 / 11:30:35 / cg"
 ! !
 
+
 !BrowserView methodsFor:'event handling'!
 
 handlesKeyPress:key inView:view
@@ -7534,6 +7552,7 @@
     "Modified: / 18.4.1998 / 15:56:36 / cg"
 ! !
 
+
 !BrowserView methodsFor:'help'!
 
 helpTextFor:aComponent
@@ -7555,6 +7574,7 @@
     "Modified: 28.6.1997 / 15:00:18 / cg"
 ! !
 
+
 !BrowserView methodsFor:'initialization & release'!
 
 autoSearch:aString
@@ -7741,6 +7761,7 @@
     "Modified: 18.8.1997 / 15:19:50 / cg"
 ! !
 
+
 !BrowserView methodsFor:'initialize subviews'!
 
 createClassListViewIn:frame
@@ -8311,6 +8332,7 @@
     "Modified: / 25.10.1997 / 19:27:40 / cg"
 ! !
 
+
 !BrowserView methodsFor:'method category list menu'!
 
 createAccessMethodsFor:aCollectionOfInstVarNames withChange:withChange
@@ -8852,6 +8874,7 @@
                                     ]
 ! !
 
+
 !BrowserView methodsFor:'method category stuff'!
 
 asBrowserList:aList
@@ -9098,6 +9121,7 @@
     "Modified: 18.8.1997 / 15:44:38 / cg"
 ! !
 
+
 !BrowserView methodsFor:'method list menu'!
 
 commonTraceHelperWith:aSelector
@@ -10523,6 +10547,7 @@
     "Modified: / 12.1.1998 / 19:16:22 / cg"
 ! !
 
+
 !BrowserView methodsFor:'method stuff'!
 
 checkMethodSelected
@@ -11066,6 +11091,7 @@
     "Modified: 30.7.1997 / 15:55:06 / cg"
 ! !
 
+
 !BrowserView methodsFor:'misc'!
 
 beep
@@ -11362,6 +11388,7 @@
     "Modified: / 10.2.2000 / 14:15:03 / cg"
 ! !
 
+
 !BrowserView methodsFor:'namespace menu'!
 
 nameSpaceCheckInEach
@@ -11514,6 +11541,7 @@
     "Modified: / 3.2.1999 / 20:18:13 / cg"
 ! !
 
+
 !BrowserView methodsFor:'namespace stuff'!
 
 changeNameSpaceTo:nsName
@@ -11699,6 +11727,7 @@
     "Created: 8.1.1997 / 10:54:03 / cg"
 ! !
 
+
 !BrowserView methodsFor:'private'!
 
 askAndBrowseMethodCategory:title action:aBlock
@@ -13250,6 +13279,7 @@
     "Created: 18.8.1997 / 15:41:52 / cg"
 ! !
 
+
 !BrowserView methodsFor:'private-defaults'!
 
 canvasIcon
@@ -13367,6 +13397,7 @@
     ^ self fetchIcon:#trace selector:#traceIcon
 ! !
 
+
 !BrowserView methodsFor:'private-queries'!
 
 hasClassCategorySelected
@@ -13490,6 +13521,7 @@
         and:[ variableListView selectionValue notNil ]]
 ! !
 
+
 !BrowserView methodsFor:'syntax coloring'!
 
 startSyntaxHighlightProcess
@@ -13677,6 +13709,7 @@
     "Modified: / 20.11.2001 / 00:38:09 / cg"
 ! !
 
+
 !BrowserView methodsFor:'unused'!
 
 listOfAllMethodCategoriesInHierarchy:aClass
@@ -13723,6 +13756,7 @@
     "Modified: 5.6.1996 / 11:42:12 / stefan"
 ! !
 
+
 !BrowserView methodsFor:'variable list menu'!
 
 allClassInstVarMods
@@ -14235,6 +14269,7 @@
     "Modified: 25.5.1996 / 12:26:07 / cg"
 ! !
 
+
 !BrowserView methodsFor:'variable stuff'!
 
 hilightEntryFor:entry
@@ -14546,14 +14581,16 @@
     "Modified: / 17.9.1998 / 13:45:02 / cg"
 ! !
 
+
 !BrowserView class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.839 2012/09/09 12:58:33 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.839 2012-09-09 12:58:33 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: BrowserView.st 8054 2012-09-13 09:15:20Z vranyj1 $'
 ! !
 
+
 BrowserView initialize!
--- a/CVSSourceCodeManagementSettingsAppl.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/CVSSourceCodeManagementSettingsAppl.st	Wed Jan 30 11:15:09 2013 +0000
@@ -47,6 +47,7 @@
 "
 ! !
 
+
 !CVSSourceCodeManagementSettingsAppl class methodsFor:'defaults'!
 
 defaultRepositoryName
@@ -56,6 +57,7 @@
     "Created: / 19-04-2011 / 11:00:11 / cg"
 ! !
 
+
 !CVSSourceCodeManagementSettingsAppl class methodsFor:'help specs'!
 
 helpSpec
@@ -162,6 +164,7 @@
     "Modified: / 09-08-2012 / 09:41:23 / cg"
 ! !
 
+
 !CVSSourceCodeManagementSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -224,6 +227,7 @@
 K"DZKR4ZHR8@@@@@@@@@@@@@@@@@@@@@@@@@E14@@@@@@@@@') ; colorMapFromArray:#[0 0 0 160 176 200 176 192 210 176 200 220 192 208 220 224 232 240 176 208 220 208 224 220 144 168 180 192 200 220 208 216 220 208 224 240 224 232 250 224 240 250 208 232 240 160 192 210 176 184 180 128 136 140 192 216 220 160 184 210 208 240 250 144 144 160 192 224 240 160 168 180 192 232 240 160 176 180 224 224 220 192 232 250 144 168 200 176 184 200 160 200 220 192 216 240 176 192 200 160 184 200 192 224 220 176 224 250 176 216 250 160 208 240 144 192 250 144 176 210 255 248 250 160 192 220 144 184 210 160 200 240 160 192 240 128 160 180 128 152 180 0 64 0 32 96 32 96 192 128 32 128 64 32 160 64 32 128 32 64 64 64 96 96 96 128 128 128 32 32 32 32 64 32]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@X@@C?@@C?@@O?0@O?0@OG @_C8@_C8@OG @O?0@O?6@G??0C??0C??<GC?<GC18_''0>OO0>F_18@??<HO?<G=?0C8?0@@F@') ; yourself); yourself]
 ! !
 
+
 !CVSSourceCodeManagementSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -609,6 +613,7 @@
       )
 ! !
 
+
 !CVSSourceCodeManagementSettingsAppl class methodsFor:'queries'!
 
 managerClass
@@ -619,6 +624,7 @@
     "Created: / 19-04-2011 / 12:46:52 / cg"
 ! !
 
+
 !CVSSourceCodeManagementSettingsAppl methodsFor:'actions'!
 
 addModule:module withData:data
@@ -715,10 +721,6 @@
     "Modified: / 08-01-2012 / 18:59:58 / cg"
 !
 
-
-
-
-
 removePerModuleRoot
     |module|
 
@@ -733,6 +735,7 @@
     "Modified (format): / 21-12-2011 / 14:25:29 / cg"
 ! !
 
+
 !CVSSourceCodeManagementSettingsAppl methodsFor:'actions - cvs'!
 
 addPerModuleRoot
@@ -816,6 +819,7 @@
     self cvsLogin:perModuleRoot value.
 ! !
 
+
 !CVSSourceCodeManagementSettingsAppl methodsFor:'aspects'!
 
 cvsCommandTimeoutHolder
@@ -903,8 +907,6 @@
     "Created: / 02-03-2012 / 14:39:15 / cg"
 !
 
-
-
 perModuleRoot
     perModuleRoot isNil ifTrue:[
         perModuleRoot := ValueHolder new.
@@ -920,17 +922,14 @@
     ^ perModuleRootModule.
 !
 
-
-
 selectedPerModuleRoot
     selectedPerModuleRoot isNil ifTrue:[
         selectedPerModuleRoot := ValueHolder new.
         selectedPerModuleRoot addDependent:self.
     ].
     ^ selectedPerModuleRoot.
-!
+! !
 
- !
 
 !CVSSourceCodeManagementSettingsAppl methodsFor:'change & update'!
 
@@ -985,12 +984,14 @@
     self cvsLoginInModuleEnabled value:((perModuleRoot value ? '') startsWith:':pserver:').
 ! !
 
+
 !CVSSourceCodeManagementSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/cvsSetup.html'
 ! !
 
+
 !CVSSourceCodeManagementSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -1015,6 +1016,7 @@
     "Modified: / 14-01-2012 / 20:28:00 / cg"
 ! !
 
+
 !CVSSourceCodeManagementSettingsAppl methodsFor:'queries'!
 
 cvsRootFromCVSRootFileOrNil
@@ -1070,16 +1072,18 @@
     "Modified: / 22-01-2012 / 11:25:53 / cg"
 ! !
 
+
 !CVSSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/CVSSourceCodeManagementSettingsAppl.st,v 1.26 2012/10/15 18:46:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/CVSSourceCodeManagementSettingsAppl.st,v 1.26 2012-10-15 18:46:00 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/CVSSourceCodeManagementSettingsAppl.st,v 1.26 2012/10/15 18:46:00 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/CVSSourceCodeManagementSettingsAppl.st,v 1.26 2012-10-15 18:46:00 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: CVSSourceCodeManagementSettingsAppl.st 8074 2012-11-30 17:23:39Z vranyj1 $'
 ! !
+
--- a/ChangesBrowser.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/ChangesBrowser.st	Wed Jan 30 11:15:09 2013 +0000
@@ -104,6 +104,7 @@
 "
 ! !
 
+
 !ChangesBrowser class methodsFor:'instance creation'!
 
 new
@@ -137,6 +138,7 @@
     "Modified: / 18-07-2010 / 10:32:18 / cg"
 ! !
 
+
 !ChangesBrowser class methodsFor:'behavior'!
 
 autoSelectNext
@@ -146,6 +148,7 @@
     ^ true
 ! !
 
+
 !ChangesBrowser class methodsFor:'defaults'!
 
 defaultIcon
@@ -169,6 +172,7 @@
     "Created: / 27.9.1999 / 12:28:27 / cg"
 ! !
 
+
 !ChangesBrowser class methodsFor:'menu specs'!
 
 flyByHelpSpec
@@ -751,6 +755,7 @@
       )
 ! !
 
+
 !ChangesBrowser class methodsFor:'private-changeFile access'!
 
 readXMLChangesFrom:aStream inBackground:inBackground
@@ -789,6 +794,7 @@
     ^ set.
 ! !
 
+
 !ChangesBrowser class methodsFor:'utilities'!
 
 isXMLFile:aFilename
@@ -822,6 +828,7 @@
         )
 ! !
 
+
 !ChangesBrowser methodsFor:'aspects'!
 
 applyInOriginalNameSpace
@@ -965,6 +972,7 @@
     ^ updateChangeSet
 ! !
 
+
 !ChangesBrowser methodsFor:'compiler interface'!
 
 wantChangeLog
@@ -974,6 +982,7 @@
     ^ false
 ! !
 
+
 !ChangesBrowser methodsFor:'compiler interface-error handling'!
 
 correctableError:aString position:relPos to:relEndPos from:aCompiler
@@ -1075,6 +1084,7 @@
     ^ self
 ! !
 
+
 !ChangesBrowser methodsFor:'event handling'!
 
 handlesKeyPress:key inView:view
@@ -1134,6 +1144,7 @@
     "Modified: / 18.6.1998 / 22:15:36 / cg"
 ! !
 
+
 !ChangesBrowser methodsFor:'help'!
 
 showActivity:someMessage
@@ -1150,6 +1161,7 @@
     "Modified: 23.4.1996 / 21:39:36 / cg"
 ! !
 
+
 !ChangesBrowser methodsFor:'initialization & release'!
 
 autoCompareChanged
@@ -1613,6 +1625,7 @@
     "Modified: / 03-01-2012 / 15:23:13 / cg"
 ! !
 
+
 !ChangesBrowser methodsFor:'menu actions'!
 
 doApply
@@ -2997,6 +3010,7 @@
     ToolApplicationModel openAboutSTX
 ! !
 
+
 !ChangesBrowser methodsFor:'private'!
 
 autoSelect:changeNr
@@ -3312,8 +3326,6 @@
     "Modified: / 12-11-2006 / 16:23:53 / cg"
 !
 
-
-
 parseExpression:chunk
     ^ self parseExpression:chunk inNameSpace:(self nameSpaceForApply).
 !
@@ -3481,6 +3493,7 @@
     self withSelectedChangesInOrder:nil do:aBlock
 ! !
 
+
 !ChangesBrowser methodsFor:'private-change access'!
 
 changeIsFollowupMethodChange:changeNr
@@ -4032,6 +4045,7 @@
     ^ aStream
 ! !
 
+
 !ChangesBrowser methodsFor:'private-changeFile access'!
 
 changeFileName:aFileName
@@ -4295,6 +4309,7 @@
     "Modified: / 27-07-2012 / 09:46:00 / cg"
 ! !
 
+
 !ChangesBrowser methodsFor:'private-user interaction ops'!
 
 appendChange:changeNr toFile:aFileNameOrFileNameString
@@ -5472,6 +5487,7 @@
     "Modified: / 05-03-2012 / 14:33:16 / cg"
 ! !
 
+
 !ChangesBrowser methodsFor:'termination'!
 
 askIfChangesAreToBeWrittenBack
@@ -5518,6 +5534,7 @@
     "Modified: / 3.8.1998 / 19:54:00 / cg"
 ! !
 
+
 !ChangesBrowser methodsFor:'user interaction'!
 
 askForSearch:msg initialAnswer:initial thenSearchUsing:searchBlock2 onCancel:cancelBlock
@@ -5789,6 +5806,7 @@
     "Created: / 03-01-2012 / 15:26:36 / cg"
 ! !
 
+
 !ChangesBrowser::ChangeFileReader methodsFor:'accessing'!
 
 autoCompare:something
@@ -5861,6 +5879,7 @@
     "Modified: / 06-10-2006 / 11:18:49 / cg"
 ! !
 
+
 !ChangesBrowser::ChangeFileReader methodsFor:'private'!
 
 contractClass:className selector:selector to:maxLen
@@ -5930,6 +5949,7 @@
     ^ browser nameSpaceForApply
 ! !
 
+
 !ChangesBrowser::ChangeFileReader methodsFor:'reading'!
 
 addHeaderLineForChangeType:changeType changeString:changeString changeDelta:changeDelta timeStampInfo:timeStampInfo
@@ -6458,16 +6478,18 @@
     "Modified: / 10-07-2010 / 10:58:08 / cg"
 ! !
 
+
 !ChangesBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.433 2012/10/22 22:32:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.433 2012-10-22 22:32:07 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.433 2012/10/22 22:32:07 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.433 2012-10-22 22:32:07 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: ChangesBrowser.st 8074 2012-11-30 17:23:39Z vranyj1 $'
 ! !
+
--- a/CodeGeneratorTool.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/CodeGeneratorTool.st	Wed Jan 30 11:15:09 2013 +0000
@@ -49,12 +49,14 @@
 "
 ! !
 
+
 !CodeGeneratorTool class methodsFor:'instance creation'!
 
 new
     ^ self basicNew initialize.
 ! !
 
+
 !CodeGeneratorTool class methodsFor:'code generation'!
 
 createAccessMethodsFor:aCollectionOfVarNames in:aClass withChange:withChange asValueHolder:asValueHolder readersOnly:readersOnly writersOnly:writersOnly
@@ -225,6 +227,7 @@
     "
 ! !
 
+
 !CodeGeneratorTool class methodsFor:'code generation-basic'!
 
 createAccessMethodsFor:aCollectionOfVarNames in:aClass withChange:withChange asValueHolder:asValueHolder readersOnly:readersOnly writersOnly:writersOnly lazyInitialization:lazyInitialization
@@ -234,6 +237,7 @@
         createAccessMethodsFor:aCollectionOfVarNames in:aClass withChange:withChange asValueHolder:asValueHolder readersOnly:readersOnly writersOnly:writersOnly lazyInitialization:lazyInitialization
 ! !
 
+
 !CodeGeneratorTool class methodsFor:'code generation-individual methods'!
 
 createAcceptVisitorMethod:selector in:aClass
@@ -326,6 +330,7 @@
     "Modified (comment): / 21-08-2012 / 11:55:15 / cg"
 ! !
 
+
 !CodeGeneratorTool class methodsFor:'code generation-menus'!
 
 createActionMethodFor:aSelector in:aClass category:aCategory redefine:redefine
@@ -336,6 +341,7 @@
     self subclassResponsibility
 ! !
 
+
 !CodeGeneratorTool class methodsFor:'compilation'!
 
 compile:theCode forClass:aClass inCategory:cat 
@@ -345,6 +351,7 @@
     ^ self new compile:theCode forClass:aClass inCategory:cat
 ! !
 
+
 !CodeGeneratorTool class methodsFor:'defaults'!
 
 copyrightTemplate
@@ -380,6 +387,7 @@
     CopyrightTemplate := aString.
 ! !
 
+
 !CodeGeneratorTool class methodsFor:'interface specs'!
 
 initialMenuSpecForApplications
@@ -805,6 +813,7 @@
     "Modified: / 07-05-2010 / 14:21:55 / cg"
 ! !
 
+
 !CodeGeneratorTool class methodsFor:'private'!
 
 canUseRefactoringSupport
@@ -819,6 +828,7 @@
     self subclassResponsibility
 ! !
 
+
 !CodeGeneratorTool class methodsFor:'utilities'!
 
 missingRequiredProtocolFor:aClass
@@ -849,6 +859,7 @@
     "Modified: / 08-08-2011 / 18:44:58 / cg"
 ! !
 
+
 !CodeGeneratorTool methodsFor:'bulk changes'!
 
 addChange:aChange
@@ -891,6 +902,7 @@
     ]
 ! !
 
+
 !CodeGeneratorTool methodsFor:'code generation'!
 
 createAccessMethodsFor:aCollectionOfVarNames in:aClass withChange:withChange asValueHolder:asValueHolder readersOnly:readersOnly writersOnly:writersOnly
@@ -1317,6 +1329,7 @@
     self subclassResponsibility
 ! !
 
+
 !CodeGeneratorTool methodsFor:'code generation-basic'!
 
 createAccessMethodsFor:aCollectionOfVarNames in:aClass withChange:withChange asValueHolder:asValueHolder readersOnly:readersOnly writersOnly:writersOnly lazyInitialization:lazyInitialization
@@ -1335,6 +1348,7 @@
     self subclassResponsibility
 ! !
 
+
 !CodeGeneratorTool methodsFor:'code generation-individual methods'!
 
 createAcceptVisitorMethod:selector in:aClass
@@ -1445,6 +1459,7 @@
     self subclassResponsibility
 ! !
 
+
 !CodeGeneratorTool methodsFor:'code templates'!
 
 codeFor_classInitialize
@@ -1590,6 +1605,7 @@
     self subclassResponsibility
 ! !
 
+
 !CodeGeneratorTool methodsFor:'compilation'!
 
 compile:theCode forClass:aClass inCategory:cat 
@@ -1640,6 +1656,7 @@
     "Modified (format): / 21-01-2012 / 10:40:59 / cg"
 ! !
 
+
 !CodeGeneratorTool methodsFor:'initialization'!
 
 confirmChanges
@@ -1663,6 +1680,7 @@
     generateComments := userPreferences generateComments.
 ! !
 
+
 !CodeGeneratorTool methodsFor:'private'!
 
 canUseRefactoringSupport
@@ -1693,16 +1711,18 @@
     ].
 ! !
 
+
 !CodeGeneratorTool class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/CodeGeneratorTool.st,v 1.100 2012/10/15 20:17:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/CodeGeneratorTool.st,v 1.100 2012-10-15 20:17:19 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/CodeGeneratorTool.st,v 1.100 2012/10/15 20:17:19 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/CodeGeneratorTool.st,v 1.100 2012-10-15 20:17:19 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: CodeGeneratorTool.st 8074 2012-11-30 17:23:39Z vranyj1 $'
 ! !
+
--- a/ContextInspectorView.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/ContextInspectorView.st	Wed Jan 30 11:15:09 2013 +0000
@@ -51,6 +51,7 @@
 "
 ! !
 
+
 !ContextInspectorView methodsFor:'accessing'!
 
 inspect:aContext
@@ -369,6 +370,7 @@
     "Modified: 14.12.1995 / 21:49:43 / cg"
 ! !
 
+
 !ContextInspectorView methodsFor:'initialization'!
 
 initialize
@@ -377,6 +379,7 @@
 
 ! !
 
+
 !ContextInspectorView methodsFor:'menu'!
 
 fieldMenu
@@ -457,6 +460,7 @@
     "Modified: / 20-07-2012 / 10:51:12 / cg"
 ! !
 
+
 !ContextInspectorView methodsFor:'private'!
 
 defaultLabel
@@ -626,6 +630,7 @@
     "Created: / 31.10.2001 / 09:17:45 / cg"
 ! !
 
+
 !ContextInspectorView methodsFor:'user actions'!
 
 doAccept:theText
@@ -669,16 +674,18 @@
     inspectedContext at:selectionIndex put:newValue.
 ! !
 
+
 !ContextInspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ContextInspectorView.st,v 1.79 2012/07/20 09:22:08 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ContextInspectorView.st,v 1.79 2012-07-20 09:22:08 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/ContextInspectorView.st,v 1.79 2012/07/20 09:22:08 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/ContextInspectorView.st,v 1.79 2012-07-20 09:22:08 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: ContextInspectorView.st 8022 2012-07-25 09:51:30Z vranyj1 $'
 ! !
+
--- a/DataBaseSourceCodeManagementSettingsAppl.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/DataBaseSourceCodeManagementSettingsAppl.st	Wed Jan 30 11:15:09 2013 +0000
@@ -41,6 +41,7 @@
 "
 ! !
 
+
 !DataBaseSourceCodeManagementSettingsAppl class methodsFor:'defaults'!
 
 defaultTableName
@@ -50,6 +51,7 @@
     "Created: / 21-12-2011 / 23:43:04 / cg"
 ! !
 
+
 !DataBaseSourceCodeManagementSettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -84,6 +86,7 @@
     "Created: / 25-12-2011 / 13:46:07 / cg"
 ! !
 
+
 !DataBaseSourceCodeManagementSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -112,6 +115,7 @@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[219 185 65 198 168 74 219 190 79 243 243 243 247 247 247 212 188 103 224 198 109 222 200 122 234 215 144 254 223 141 240 223 165 253 234 173 253 237 183 241 231 193 188 151 42 211 174 48 191 161 59 254 242 210 208 176 66 242 239 229 220 189 76 242 242 242 245 245 245 255 255 255 222 198 111 244 220 117 237 216 141 255 233 149 254 227 155 250 228 170 196 152 26 252 239 190 253 238 192 212 212 212 249 242 210 207 171 55 211 178 65 225 194 72 230 197 74 255 251 236 250 248 244 231 203 98 246 219 105 245 221 117 227 210 143 241 216 146 253 228 154 249 232 171 253 237 182 174 139 37 239 228 192 202 168 50 209 174 52 210 173 51 214 179 60 222 188 68 210 174 70 224 193 81 208 180 89 254 254 254 225 200 105 232 208 118 220 202 138 252 229 143 252 235 160 205 200 181 186 147 30 202 156 27 251 235 189 255 244 201 216 216 216 233 228 211 193 161 65 207 177 72 230 197 73 252 249 237 252 251 244 208 183 100 213 188 101 231 202 112 206 189 131 252 230 145 254 225 148 254 228 160 254 233 176 187 149 35 198 153 27 211 211 211 215 215 215 248 241 209 225 225 225 223 192 70 231 231 231 231 201 81 225 195 86 253 253 253 219 192 114 251 228 125 243 221 145 253 226 149 247 229 168 252 236 180 201 155 26 253 243 195 255 240 196 255 239 199 217 217 217 220 185 61 254 249 224 223 188 69 232 203 81 244 244 244 252 252 252 211 183 100 236 208 111 227 205 125 252 230 144 253 226 148 236 222 171 197 156 25 202 156 26 190 149 32 187 154 48 197 165 54 203 172 59 215 179 59 224 224 224 228 196 72 236 236 236 210 184 89 249 249 249 250 223 100 251 225 111 217 194 122 233 215 148 246 222 149 253 230 161 186 145 25 200 158 27 251 236 189 209 209 209 205 168 48 218 218 218 208 177 64 0 0 0 0 64 0 32 96 32 96 192 128 32 128 64 32 160 64 32 128 32 64 64 64 96 96 96 128 128 128 32 32 32 32 64 32]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@O0@@?<@A?>@A??@A??@A??@A??@A??@A??@C??@C??@O??@G??@C??@@??@D_>@C>@@A<@@@@@@') ; yourself); yourself]
 ! !
 
+
 !DataBaseSourceCodeManagementSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -346,6 +350,7 @@
       )
 ! !
 
+
 !DataBaseSourceCodeManagementSettingsAppl class methodsFor:'queries'!
 
 managerClass
@@ -356,6 +361,7 @@
     "Created: / 19-04-2011 / 12:46:52 / cg"
 ! !
 
+
 !DataBaseSourceCodeManagementSettingsAppl methodsFor:'actions'!
 
 addModule:module withData:data
@@ -432,10 +438,6 @@
     "Modified (comment): / 12-03-2012 / 11:27:10 / cg"
 !
 
-
-
-
-
 removePerModuleDB
     |module|
 
@@ -466,6 +468,7 @@
     "Created: / 21-12-2011 / 14:26:08 / cg"
 ! !
 
+
 !DataBaseSourceCodeManagementSettingsAppl methodsFor:'aspects'!
 
 dbNameHolder
@@ -496,8 +499,6 @@
     "Created: / 02-03-2012 / 14:39:53 / cg"
 !
 
-
-
 perModuleDB
     perModuleDB isNil ifTrue:[
         perModuleDB := ValueHolder new.
@@ -516,8 +517,6 @@
     "Created: / 25-12-2011 / 13:16:55 / cg"
 !
 
-
-
 selectedPerModuleDatabase
     selectedPerModuleDatabase isNil ifTrue:[
         selectedPerModuleDatabase := ValueHolder new.
@@ -526,9 +525,8 @@
     ^ selectedPerModuleDatabase.
 
     "Created: / 25-12-2011 / 13:15:10 / cg"
-!
+! !
 
- !
 
 !DataBaseSourceCodeManagementSettingsAppl methodsFor:'change & update'!
 
@@ -626,6 +624,7 @@
     "Created: / 21-12-2011 / 14:43:11 / cg"
 ! !
 
+
 !DataBaseSourceCodeManagementSettingsAppl methodsFor:'help'!
 
 helpFilename
@@ -634,6 +633,7 @@
     "Modified: / 12-01-2012 / 14:03:04 / cg"
 ! !
 
+
 !DataBaseSourceCodeManagementSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -654,6 +654,7 @@
     "Modified: / 25-12-2011 / 13:23:44 / cg"
 ! !
 
+
 !DataBaseSourceCodeManagementSettingsAppl methodsFor:'queries'!
 
 cvsRootFromCVSRootFileOrNil
@@ -693,16 +694,18 @@
     "Modified: / 10-01-2012 / 00:31:19 / cg"
 ! !
 
+
 !DataBaseSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DataBaseSourceCodeManagementSettingsAppl.st,v 1.14 2012/03/16 11:17:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DataBaseSourceCodeManagementSettingsAppl.st,v 1.14 2012-03-16 11:17:07 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/DataBaseSourceCodeManagementSettingsAppl.st,v 1.14 2012/03/16 11:17:07 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/DataBaseSourceCodeManagementSettingsAppl.st,v 1.14 2012-03-16 11:17:07 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: DataBaseSourceCodeManagementSettingsAppl.st 7952 2012-03-21 17:50:14Z vranyj1 $'
 ! !
+
--- a/DebugView.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/DebugView.st	Wed Jan 30 11:15:09 2013 +0000
@@ -122,6 +122,7 @@
 "
 ! !
 
+
 !DebugView class methodsFor:'initialization'!
 
 initialize
@@ -140,6 +141,7 @@
     self newDebugger
 ! !
 
+
 !DebugView class methodsFor:'cleanup'!
 
 lowSpaceCleanup
@@ -173,6 +175,7 @@
     "
 ! !
 
+
 !DebugView class methodsFor:'defaults'!
 
 defaultIcon
@@ -216,6 +219,7 @@
     "Modified: / 17.11.2001 / 17:31:42 / cg"
 ! !
 
+
 !DebugView class methodsFor:'ignoring halts'!
 
 haltIgnoreInformationFor:haltingMethod atLineNr:lineNrInHaltingMethod
@@ -356,6 +360,7 @@
     Smalltalk changed:#ignoredHalts.
 ! !
 
+
 !DebugView class methodsFor:'instance creation / entering'!
 
 enter
@@ -471,13 +476,13 @@
         'DebugView [error]: cannot open debugger' errorPrintCR.
         'DebugView [error]: Exception: ' errorPrint. aString errorPrintCR.
         mayProceed ifTrue:[
-            (Dialog confirm:'Error/Breakpoint cought.\\Press Continue or Abort.' withCRs
+            (Dialog confirm:'Error/Breakpoint caught.\\Press Continue or Abort.' withCRs
                    yesLabel:'Continue' noLabel:'Abort')
             ifTrue:[
                 ^ nil
             ].
         ] ifFalse:[
-            self information:'Error cought.\\Press OK to abort the operation.' withCRs.
+            self information:'Error caught.\\Press OK to abort the operation.' withCRs.
         ].
         AbortOperationRequest raise.
         "not reached"
@@ -619,6 +624,7 @@
     "Modified: 4.4.1997 / 16:22:36 / cg"
 ! !
 
+
 !DebugView class methodsFor:'menu specs'!
 
 menuSpec
@@ -1123,6 +1129,7 @@
       )
 ! !
 
+
 !DebugView class methodsFor:'misc'!
 
 interestingContextFrom:aContext
@@ -1382,6 +1389,7 @@
     "Modified: / 08-07-2011 / 13:15:49 / cg"
 ! !
 
+
 !DebugView methodsFor:'basic'!
 
 enableDisableActions
@@ -2155,6 +2163,7 @@
     "Created: / 16.11.2001 / 17:36:18 / cg"
 ! !
 
+
 !DebugView methodsFor:'help'!
 
 flyByHelpDependsOnPositionIn:aView
@@ -2352,6 +2361,7 @@
     "Modified: 4.3.1997 / 01:54:03 / cg"
 ! !
 
+
 !DebugView methodsFor:'initialization & release'!
 
 addToCurrentProject
@@ -3030,6 +3040,7 @@
     "Modified: / 06-07-2006 / 12:43:19 / cg"
 ! !
 
+
 !DebugView methodsFor:'interrupt handling'!
 
 contextInterrupt
@@ -3689,6 +3700,7 @@
     "Modified: / 20-07-2012 / 15:26:26 / cg"
 ! !
 
+
 !DebugView methodsFor:'menu & button actions'!
 
 addBrowserBookmark
@@ -5091,6 +5103,7 @@
     "Modified: / 19-07-2012 / 11:53:30 / cg"
 ! !
 
+
 !DebugView methodsFor:'menu & button actions-breakpoints'!
 
 addBreakpoint
@@ -5325,6 +5338,7 @@
     self class stopIgnoringHalts
 ! !
 
+
 !DebugView methodsFor:'private'!
 
 abortAllIsHandled
@@ -5777,6 +5791,7 @@
     "Modified: / 18-01-2011 / 17:57:34 / cg"
 ! !
 
+
 !DebugView methodsFor:'private queries'!
 
 canBrowseClassHierarchy
@@ -5900,6 +5915,7 @@
     setOfHiddenCallingSelectors := aCollectionOfSymbols
 ! !
 
+
 !DebugView methodsFor:'private-breakpoints'!
 
 addIgnoredHaltForCount:countOrNil orTimeDuration:dTOrNil orUntilShiftKey:untilShiftKey forAll:aBoolean
@@ -5981,6 +5997,7 @@
     "Created: / 17.11.2001 / 18:20:16 / cg"
 ! !
 
+
 !DebugView methodsFor:'private-cache handling'!
 
 cacheMyself
@@ -6051,6 +6068,7 @@
     "Modified: 31.7.1997 / 21:20:11 / cg"
 ! !
 
+
 !DebugView methodsFor:'private-code view'!
 
 codeAspect
@@ -6060,6 +6078,7 @@
     "Modified: / 27-07-2012 / 22:20:27 / cg"
 ! !
 
+
 !DebugView methodsFor:'private-context handling'!
 
 contextListEntryFor:aContext
@@ -6834,6 +6853,7 @@
     "Modified: / 27-07-2012 / 17:26:54 / cg"
 ! !
 
+
 !DebugView methodsFor:'private-control loop'!
 
 controlLoop
@@ -6945,7 +6965,7 @@
                 "/ ignore exceptions which say they explicitly have to be ignored
                 "/
                 ex catchInDebugger ifTrue:[
-                    'DebugView [info]: ',signal printString,'-signal in debugger cought for close' infoPrintCR.
+                    'DebugView [info]: ',signal printString,'-signal in debugger caught for close' infoPrintCR.
                     self destroy.
                     ex reject
                 ].
@@ -7012,7 +7032,7 @@
                         default:#cancel.
                 ].
             answer == #debug ifTrue:[
-                'DebugView [info]: cought exception - debugging' infoPrintCR.
+                'DebugView [info]: caught exception - debugging' infoPrintCR.
                 Debugger
                     enterUnconditional:(ex suspendedContext)
                     withMessage:'Error in debugger: ' , eMsg
@@ -7023,7 +7043,7 @@
                 'DebugView [info]: ignored exception - proceeding' infoPrintCR.
                 ex proceed.
             ].
-            'DebugView [info]: cought exception - returning' infoPrintCR.
+            'DebugView [info]: caught exception - returning' infoPrintCR.
             ex return.
         ] do:[
             "/ make certain that sub-debuggers, inspectors etc.
@@ -7043,6 +7063,7 @@
     "Modified: / 26-09-2012 / 15:03:39 / cg"
 ! !
 
+
 !DebugView methodsFor:'user interaction'!
 
 checkIfCodeIsReallyModified
@@ -7338,6 +7359,8 @@
     "filter keyboard events for popUp variable value display.
      Return true, if I have eaten the event"
 
+    <resource: #keyboard (#CodeCompletion )>
+
     |evView focusView key rawKey inCodeView|
 
     evView := anEvent view.
@@ -7892,6 +7915,7 @@
     "Modified: / 23-07-2012 / 12:23:49 / cg"
 ! !
 
+
 !DebugView::IgnoredHaltOrBreakpoint methodsFor:'accessing'!
 
 ignoreCount:something
@@ -7908,6 +7932,7 @@
     "Created: / 27-01-2012 / 11:35:23 / cg"
 ! !
 
+
 !DebugView::IgnoredHaltOrBreakpoint methodsFor:'misc'!
 
 decrementIgnoreCount
@@ -7918,6 +7943,7 @@
     ]
 ! !
 
+
 !DebugView::IgnoredHaltOrBreakpoint methodsFor:'printing'!
 
 printConditionOn:aStream
@@ -7945,6 +7971,7 @@
     "Created: / 06-03-2012 / 12:41:10 / cg"
 ! !
 
+
 !DebugView::IgnoredHaltOrBreakpoint methodsFor:'queries'!
 
 haltIgnoredInfoString
@@ -8021,6 +8048,7 @@
     "Modified: / 27-01-2012 / 11:36:01 / cg"
 ! !
 
+
 !DebugView::IgnoredHalt methodsFor:'accessing'!
 
 method
@@ -8056,6 +8084,7 @@
     "Modified: / 08-05-2011 / 10:28:41 / cg"
 ! !
 
+
 !DebugView::IgnoredHalt methodsFor:'printing'!
 
 printOn:aStream
@@ -8077,6 +8106,7 @@
     "Modified: / 27-07-2012 / 23:04:42 / cg"
 ! !
 
+
 !DebugView::IgnoredHalt methodsFor:'queries'!
 
 isActive
@@ -8106,6 +8136,7 @@
     ^ self isHaltIgnored
 ! !
 
+
 !DebugView::IgnoredBreakpoint methodsFor:'accessing'!
 
 parameter
@@ -8116,6 +8147,7 @@
     parameter := something.
 ! !
 
+
 !DebugView::IgnoredBreakpoint methodsFor:'printing'!
 
 printOn:aStream
@@ -8125,6 +8157,7 @@
     "Created: / 06-03-2012 / 12:42:10 / cg"
 ! !
 
+
 !DebugView::IgnoredBreakpoint methodsFor:'queries'!
 
 isForBreakpointWithParameter
@@ -8139,18 +8172,20 @@
     "Created: / 06-03-2012 / 14:36:21 / cg"
 ! !
 
+
 !DebugView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.569 2012/12/12 14:47:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.571 2013-01-24 15:23:31 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/DebugView.st,v 1.569 2012/12/12 14:47:19 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.571 2013-01-24 15:23:31 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: DebugView.st 8083 2013-01-14 11:48:37Z vranyj1 $'
+    ^ 'Id: DebugView.st 7818 2011-08-18 11:42:39Z vranyj1 '
 ! !
 
+
 DebugView initialize!
--- a/DictionaryInspectorView.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/DictionaryInspectorView.st	Wed Jan 30 11:15:09 2013 +0000
@@ -44,12 +44,13 @@
 "
 ! !
 
+
 !DictionaryInspectorView methodsFor:'event handling'!
 
 keyPress:key x:x y:y
     "handle special keys"
 
-    <resource: #keyboard (#Delete #BackSpace)>
+    <resource: #keyboard (#Delete #BackSpace #Insert)>
 
     (key == #Delete or:[key == #BackSpace]) ifTrue:[
         self doRemoveKey.
@@ -63,6 +64,7 @@
     super keyPress:key x:x y:y
 ! !
 
+
 !DictionaryInspectorView methodsFor:'initialization & release'!
 
 initialize
@@ -78,6 +80,7 @@
     hideNilValues := false.
 ! !
 
+
 !DictionaryInspectorView methodsFor:'menu'!
 
 fieldMenu
@@ -236,6 +239,7 @@
     "Modified: / 26-09-2012 / 13:20:59 / cg"
 ! !
 
+
 !DictionaryInspectorView methodsFor:'menu actions'!
 
 browse
@@ -381,6 +385,7 @@
     ]
 ! !
 
+
 !DictionaryInspectorView methodsFor:'private'!
 
 allNumericKeys
@@ -642,6 +647,7 @@
     ].
 ! !
 
+
 !DictionaryInspectorView methodsFor:'user interaction'!
 
 indexedValueAtIndex:idx
@@ -659,16 +665,18 @@
     inspectedObject at:key put:newValue.
 ! !
 
+
 !DictionaryInspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.77 2012/09/26 12:19:04 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.78 2013-01-17 10:48:34 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.77 2012/09/26 12:19:04 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.78 2013-01-17 10:48:34 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: DictionaryInspectorView.st 8059 2012-09-27 20:08:20Z vranyj1 $'
 ! !
+
--- a/Diff.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Diff.st	Wed Jan 30 11:15:09 2013 +0000
@@ -257,6 +257,7 @@
 "
 ! !
 
+
 !Diff class methodsFor:'instance creation'!
 
 new
@@ -265,6 +266,7 @@
     ^ self basicNew initialize.
 ! !
 
+
 !Diff class methodsFor:'diffing'!
 
 between: a and: b 
@@ -283,6 +285,7 @@
     "Created: / 16-02-2010 / 23:04:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !Diff methodsFor:'diffing'!
 
 a:gA b:gB 
@@ -376,6 +379,7 @@
     "Modified: / 12-02-2010 / 13:57:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !Diff methodsFor:'initialization'!
 
 initialize
@@ -395,6 +399,7 @@
     "Modified: / 16-02-2010 / 22:51:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !Diff methodsFor:'private'!
 
 compareseq:gXoff xlim:gXlim yoff:gYoff ylim:gYlim
@@ -693,6 +698,7 @@
     second shiftBoundaries:first.
 ! !
 
+
 !Diff::Change class methodsFor:'documentation'!
 
 documentation
@@ -710,6 +716,7 @@
 "
 ! !
 
+
 !Diff::Change methodsFor:'accessing'!
 
 deleted
@@ -732,6 +739,7 @@
     ^ line1
 ! !
 
+
 !Diff::Change methodsFor:'enumerating'!
 
 do: aBlock
@@ -745,6 +753,7 @@
     "Created: / 16-02-2010 / 22:53:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !Diff::Change methodsFor:'instance creation'!
 
 newLine0:aLine0 line1:aLine1 deleted:aDeleted inserted:aInserted next: nextChange 
@@ -765,6 +774,7 @@
     "Modified: / 12-02-2010 / 13:42:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !Diff::Data methodsFor:'accessing'!
 
 bufferedLines
@@ -787,6 +797,7 @@
     ^ undiscarded
 ! !
 
+
 !Diff::Data methodsFor:'default'!
 
 clear
@@ -1173,6 +1184,7 @@
     ].
 ! !
 
+
 !Diff::ForwardScript methodsFor:'default'!
 
 buildScript:aChanged0 length0:aLen0 changed1:aChanged1 length1:aLen1 
@@ -1206,6 +1218,7 @@
     "Modified: / 16-02-2010 / 22:49:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !Diff::ReverseScript methodsFor:'default'!
 
 buildScript:aChanged0 length0:aLen0 changed1:aChanged1 length1:aLen1 
@@ -1239,12 +1252,14 @@
     "Modified: / 12-02-2010 / 14:15:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !Diff class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Diff.st,v 1.3 2012/07/27 20:14:58 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Diff.st,v 1.3 2012-07-27 20:14:58 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Diff.st 8048 2012-09-07 17:28:09Z vranyj1 $'
-! !
\ No newline at end of file
+    ^ 'Id: Diff.st 7567 2010-04-17 10:59:53Z vranyj1 '
+! !
+
--- a/Diff3TextView.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Diff3TextView.st	Wed Jan 30 11:15:09 2013 +0000
@@ -59,6 +59,7 @@
 "
 ! !
 
+
 !Diff3TextView class methodsFor:'instance creation'!
 
 openOnMergedText:text label:firstLabel label:secondLabel label:thirdLabel
@@ -99,6 +100,7 @@
     "Modified: 12.12.1995 / 13:09:13 / cg"
 ! !
 
+
 !Diff3TextView class methodsFor:'public helpers'!
 
 emphasizeMergedDiff3Text:mergedText emphasize1:e1 emphasize2:e2 emphasizeSep:e3
@@ -281,6 +283,7 @@
     "Created: / 01-06-2012 / 10:44:31 / cg"
 ! !
 
+
 !Diff3TextView methodsFor:'initialization'!
 
 initStyle
@@ -309,6 +312,7 @@
     "Modified: 12.12.1995 / 12:25:55 / cg"
 ! !
 
+
 !Diff3TextView methodsFor:'private'!
 
 updateListsFromMergedText:mergedText
@@ -434,12 +438,14 @@
     "Modified: 13.12.1995 / 19:56:32 / cg"
 ! !
 
+
 !Diff3TextView class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Diff3TextView.st 8016 2012-07-18 09:57:46Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/Diff3TextView.st,v 1.9 2012-06-01 10:44:15 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: Diff3TextView.st 8016 2012-07-18 09:57:46Z vranyj1 $'
 ! !
+
--- a/DiffListUtility.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/DiffListUtility.st	Wed Jan 30 11:15:09 2013 +0000
@@ -51,6 +51,7 @@
 "
 ! !
 
+
 !DiffListUtility class methodsFor:'defaults'!
 
 diffCommand
@@ -76,6 +77,7 @@
     DiffCommandTemplate := aCommandTemplateString
 ! !
 
+
 !DiffListUtility class methodsFor:'private'!
 
 saveForDiff:text as:filename
@@ -118,6 +120,7 @@
     "Modified: / 22-10-2008 / 17:52:52 / cg"
 ! !
 
+
 !DiffListUtility class methodsFor:'utilities'!
 
 diffListFor:text1 and:text2
@@ -208,12 +211,14 @@
     "
 ! !
 
+
 !DiffListUtility class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/DiffListUtility.st,v 1.4 2012/12/12 23:00:48 stefan Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/DiffListUtility.st,v 1.4 2012-12-12 23:00:48 stefan Exp $'
 !
 
 version_SVN
     ^ '$Id: DiffListUtility.st 8083 2013-01-14 11:48:37Z vranyj1 $'
 ! !
+
--- a/DirectoryContentsBrowser.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/DirectoryContentsBrowser.st	Wed Jan 30 11:15:09 2013 +0000
@@ -72,6 +72,7 @@
 "
 ! !
 
+
 !DirectoryContentsBrowser class methodsFor:'instance creation'!
 
 openIn:aDirectory
@@ -102,6 +103,7 @@
     "
 ! !
 
+
 !DirectoryContentsBrowser class methodsFor:'classAccess'!
 
 itemClass
@@ -114,6 +116,7 @@
 "
 ! !
 
+
 !DirectoryContentsBrowser class methodsFor:'constant'!
 
 updateTaskCyleTime
@@ -131,6 +134,7 @@
     ^ 8
 ! !
 
+
 !DirectoryContentsBrowser class methodsFor:'image specs'!
 
 detailsMenuIconDown
@@ -165,6 +169,7 @@
     ^ DataSetLabel sortIndicator
 ! !
 
+
 !DirectoryContentsBrowser class methodsFor:'interface specs'!
 
 tableColumns
@@ -466,6 +471,7 @@
       )
 ! !
 
+
 !DirectoryContentsBrowser class methodsFor:'menu specs'!
 
 directoryContentsBrowserMenu
@@ -844,6 +850,7 @@
       )
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'accessing'!
 
 allItems
@@ -1051,6 +1058,7 @@
     ^ updateContentsSelection
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'actions'!
 
 browserItemListAdd:addItemCol remove:remItemCol
@@ -1223,7 +1231,7 @@
         directoryUpItem notNil ifTrue:[
             locItems add:directoryUpItem.
         ].
-        locItems addAll:aFilteredItems.
+        locItems addAll:(aFilteredItems ? #()).
     ] ifFalse:[
         locItems := aFilteredItems.
     ].
@@ -1252,6 +1260,7 @@
     self startDiskUsageInfoProcess.
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'aspects'!
 
 browserItemList
@@ -1318,6 +1327,7 @@
     ^ self viewTime
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'aspects-visibility'!
 
 colVisibilityAspectFor:aKey ifAbsent:absentBlock
@@ -1415,6 +1425,7 @@
     ^ self colVisibilityAspectFor:#viewType ifAbsent:[ false asValue ].
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'change & update'!
 
 currentFileNameHolderChanged
@@ -1631,6 +1642,7 @@
     "Modified: / 27-03-2007 / 08:46:28 / cg"
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'drag & drop'!
 
 doStartDrag:aDropSource in:aView
@@ -1765,12 +1777,16 @@
                  )
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'event handling'!
 
 processEvent:anEvent
     "filter keyboard events.
      Return true, if I have eaten the event"
 
+    <resource: #keyboard (#Accept #Paste #CursorLeft #Cut #Copy #Delete 
+                          #Return #Rename)>
+
     |focusView key rawKey|
 
     anEvent isKeyPressEvent ifFalse:[^ false].
@@ -1815,7 +1831,7 @@
         self doCopy.
         ^ true.
     ].
-    key == #Delete ifTrue:[
+    ((key == #Delete) or:[key == #BackSpace]) ifTrue:[
         self doDelete.
         ^ true.
     ].
@@ -1833,6 +1849,7 @@
     "Modified: / 25-07-2006 / 09:08:16 / cg"
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'initialization'!
 
 initialize
@@ -1850,6 +1867,7 @@
     "Modified: / 07-01-2012 / 16:34:25 / cg"
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'menu accessing'!
 
 viewBrowserMenu
@@ -1869,6 +1887,7 @@
     ^ menu
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'menu actions'!
 
 doShowFileContents
@@ -1891,6 +1910,7 @@
     ].
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'queries'!
 
 allItemsOfCurrentDirectory
@@ -1919,6 +1939,7 @@
     ^ self allItems size ~~ browserItemList size
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'selection'!
 
 selectAll
@@ -2027,6 +2048,7 @@
     ^ selection.
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'startup & release'!
 
 makeDependent
@@ -2077,6 +2099,7 @@
     ^ super releaseAsSubCanvas.
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'update columns cycle'!
 
 findNextItemFor:aConditionBlock
@@ -2249,7 +2272,6 @@
                         browser invalidateVisibleRow:desc colAt:iconIndex
                     ].
                     self debugMessage:'icon for visible items ', desc baseName.
-                    updatingColumns := true.
                     ^ true
                 ].
             ].
@@ -2350,42 +2372,6 @@
     "Modified: / 20-03-2012 / 13:05:28 / cg"
 ! !
 
-!DirectoryContentsBrowser methodsFor:'update modification cycle'!
-
-modificationCycle
-    | oldModificationTime  desc|
-
-    directory isNil ifTrue:[^ self].
-
-    directory exists ifFalse:[
-        "/ directory vanished
-        directoryContentsChangeFlag := true.
-        ^ self
-    ].
-    directory isRootDirectory ifTrue:[
-        ^ self
-    ].
-
-    oldModificationTime := modificationTime.
-    modificationTime := directory modificationTime.
-
-    oldModificationTime ~= modificationTime ifTrue:[
-        directoryContentsChangeFlag := true.
-        self wakeUpForDirectoryContentsChanged.
-        ^ self
-    ].
-
-    desc := self findNextItemFor:[:n| n hasBeenModified ].
-
-    desc notNil ifTrue:[
-        desc resetItem.
-        browser invalidateVisibleRow:desc.
-        self debugMessage:'item is modified ', desc baseName.
-        ^ self.
-    ].
-
-    "Modified: / 20-03-2012 / 12:24:38 / cg"
-! !
 
 !DirectoryContentsBrowser methodsFor:'update task'!
 
@@ -2453,8 +2439,7 @@
 
     directory isNil ifTrue:[^ self].
 
-    filterChangeFlag := false.
-    updatingColumns := true.
+    "/ updatingColumns := true.
 
     newAllItems := self readDirectoryItems.
     
@@ -2463,6 +2448,7 @@
     (oldItems isEmptyOrNil 
     or:[newAllItems size > 150]) ifTrue:[ 
         self createItemList.
+        filterChangeFlag := false.
         ^ self
     ].
 
@@ -2488,19 +2474,19 @@
     ].
     oldAllItems := self allItems.
     oldAllItems notEmpty ifTrue:[
-        itemsToRemove notEmpty ifTrue:[
-            oldAllItems removeAllFoundIn:itemsToRemove        
-        ].
+        oldAllItems removeAllFoundIn:itemsToRemove        
     ].
     itemsToAdd do:[: aNewItem |
         (oldAllItems includes:aNewItem) ifFalse:[
             oldAllItems add:aNewItem.
         ]
     ].
-
     self
         enqueueMessage:#value 
-        for:[ self browserItemListAdd:itemsToAdd remove:itemsToRemove. ]
+        for:[ 
+            self browserItemListAdd:itemsToAdd remove:itemsToRemove. 
+            filterChangeFlag := false.
+        ]
         arguments:#().
     filteredItems := newItems.
 
@@ -2564,6 +2550,41 @@
     "Modified: / 20-11-2012 / 14:28:54 / cg"
 !
 
+modificationCycle
+    | oldModificationTime  desc|
+
+    directory isNil ifTrue:[^ self].
+
+    directory exists ifFalse:[
+        "/ directory vanished
+        directoryContentsChangeFlag := true.
+        ^ self
+    ].
+    directory isRootDirectory ifTrue:[
+        ^ self
+    ].
+
+    oldModificationTime := modificationTime.
+    modificationTime := directory modificationTime.
+
+    oldModificationTime ~= modificationTime ifTrue:[
+        directoryContentsChangeFlag := true.
+        self wakeUpForDirectoryContentsChanged.
+        ^ self
+    ].
+
+    desc := self findNextItemFor:[:n| n hasBeenModified ].
+
+    desc notNil ifTrue:[
+        desc resetItem.
+        browser invalidateVisibleRow:desc.
+        self debugMessage:'item is modified ', desc baseName.
+        ^ self.
+    ].
+
+    "Modified: / 20-03-2012 / 12:24:38 / cg"
+!
+
 readDirectoryItems
     |list contents itemClass|
 
@@ -2615,46 +2636,51 @@
     ].
 !
 
-updateAfterTimeout:timeOut
+updateAfterTimeout:hereDueToTimeOut
+    |mustCheckForModifiedDir|
+
+    mustCheckForModifiedDir := hereDueToTimeOut.
 
 "/    Transcript showCR:'START'.
     self isBusy:true.
+    self debugMessage:'update cycle'.
     [
-        directoryChangeFlag ifTrue:[ 
-            directoryChangeFlag := false.
-            self debugMessage:'directoryChanged'.
-            self directoryChanged.
-        ].
-        directoryContentsChangeFlag ifTrue:[
-            directoryContentsChangeFlag := false.
-            self debugMessage:'directoryContentsChanged'.
-            self directoryContentsChanged.
-        ].
-        filterChangeFlag ifTrue:[
-            filterChangeFlag := false.
-            self debugMessage:'filterChanged'.
-            self filterChanged.
-        ].
-        sortBlockChangeFlag ifTrue:[
-            sortBlockChangeFlag := false.
-            self debugMessage:'sortBlockChanged'.
-            self sortBlockChanged.
-        ].
-        timeOut ifTrue:[
-            self debugMessage:'evaluate modification'.
-            self modificationCycle
-        ].
-        self updateColumnsCycle ifTrue:[
-            self debugMessage:'next time another columns update'.
-            updatingColumns := true.
-            changeSema signal
-        ] ifFalse:[
-            self debugMessage:'next time no column update'.
-            updatingColumns := false.
-        ].
+        [
+            mustCheckForModifiedDir ifTrue:[
+                self debugMessage:'evaluate modification'.
+                mustCheckForModifiedDir := false.
+                self modificationCycle
+            ].
+            directoryChangeFlag ifTrue:[ 
+                directoryChangeFlag := false.
+                self debugMessage:'directoryChanged'.
+                self directoryChanged.
+            ].
+            directoryContentsChangeFlag ifTrue:[
+                directoryContentsChangeFlag := false.
+                self debugMessage:'directoryContentsChanged'.
+                self directoryContentsChanged.
+            ].
+            filterChangeFlag ifTrue:[
+                filterChangeFlag := false.
+                self debugMessage:'filterChanged'.
+                self filterChanged.
+            ].
+            sortBlockChangeFlag ifTrue:[
+                sortBlockChangeFlag := false.
+                self debugMessage:'sortBlockChanged'.
+                self sortBlockChanged.
+            ].
+            (updatingColumns := self updateColumnsCycle) ifTrue:[
+                self debugMessage:'next time another columns update'.
+                changeSema signal
+            ] ifFalse:[
+                self debugMessage:'next time no column update'.
+            ].
+        ] doWhile:[updatingColumns]
     ] ensure:[
         self isBusy:false.
-        updateCycleSemaphore signalIf
+        updateCycleSemaphore signalIf.
     ].
 "/        Transcript showCR:'STOP'.
 
@@ -2695,7 +2721,8 @@
         or:[ sortBlockChangeFlag
         or:[ directoryChangeFlag
         or:[ directoryContentsChangeFlag 
-        or:[ updatingColumns == true ]]]]) ifTrue:[
+        or:[ updatingColumns == true 
+        or:[ timedOut ]]]]]) ifTrue:[
             accessLock critical:[
                 self updateAfterTimeout:timedOut.
             ].
@@ -2705,6 +2732,7 @@
     "Modified: / 20-03-2012 / 13:07:22 / cg"
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'update task trigger'!
 
 wakeUp
@@ -2746,6 +2774,7 @@
     self wakeUp.
 ! !
 
+
 !DirectoryContentsBrowser methodsFor:'update task-disk usage'!
 
 diskUsageInKiloBytesFor:aDirectory
@@ -2891,6 +2920,7 @@
         ] fork.
 ! !
 
+
 !DirectoryContentsBrowser::DirectoryContentsItem class methodsFor:'instance creation'!
 
 fileName:aFilename 
@@ -2923,6 +2953,7 @@
     ^ instance
 ! !
 
+
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'accessing'!
 
 fileInfo:something
@@ -3113,6 +3144,7 @@
 
 ! !
 
+
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'actions'!
 
 resetImageFile
@@ -3137,6 +3169,7 @@
     mimeType := nil.
 ! !
 
+
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'change queries'!
 
 hasBeenModified
@@ -3166,6 +3199,7 @@
     ^ false
 ! !
 
+
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'comparing'!
 
 = anItem
@@ -3180,6 +3214,7 @@
     ^ fileName hash
 ! !
 
+
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'presentation'!
 
 baseName
@@ -3384,6 +3419,7 @@
     ^ modTime printStringFormat:format.
 ! !
 
+
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'printing'!
 
 printOn:aStream
@@ -3394,6 +3430,7 @@
         nextPut:$]. 
 ! !
 
+
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'private'!
 
 getFileInfo
@@ -3407,6 +3444,7 @@
     ^ fileInfo
 ! !
 
+
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'queries'!
 
 beRemoteDirectory
@@ -3441,16 +3479,18 @@
     ^ mimeTypeForContents
 ! !
 
+
 !DirectoryContentsBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Id: DirectoryContentsBrowser.st 8086 2013-01-15 12:03:21Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.252 2013-01-19 14:24:23 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.249 2012/11/21 07:42:59 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.252 2013-01-19 14:24:23 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: DirectoryContentsBrowser.st 8086 2013-01-15 12:03:21Z vranyj1 $'
 ! !
+
--- a/DirectoryDifferenceViewApplication.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/DirectoryDifferenceViewApplication.st	Wed Jan 30 11:15:09 2013 +0000
@@ -38,6 +38,7 @@
 "
 ! !
 
+
 !DirectoryDifferenceViewApplication class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -72,6 +73,7 @@
     "Modified: / 13-01-2012 / 14:41:36 / cg"
 ! !
 
+
 !DirectoryDifferenceViewApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -249,6 +251,7 @@
     "Modified: / 13-01-2012 / 14:41:56 / cg"
 ! !
 
+
 !DirectoryDifferenceViewApplication class methodsFor:'menu specs'!
 
 searchMenu
@@ -300,6 +303,7 @@
       )
 ! !
 
+
 !DirectoryDifferenceViewApplication class methodsFor:'tableColumns specs'!
 
 searchResultTable
@@ -340,6 +344,7 @@
     
 ! !
 
+
 !DirectoryDifferenceViewApplication methodsFor:'accessing'!
 
 directory1:directory1Arg directory2:directory2Arg 
@@ -372,6 +377,7 @@
     "Created: / 12-01-2012 / 01:37:41 / cg"
 ! !
 
+
 !DirectoryDifferenceViewApplication methodsFor:'actions'!
 
 fileSelected:entries
@@ -396,6 +402,7 @@
     "Created: / 12-01-2012 / 03:21:52 / cg"
 ! !
 
+
 !DirectoryDifferenceViewApplication methodsFor:'aspects'!
 
 excludedNamePatternHolder
@@ -417,6 +424,7 @@
     "Created: / 13-01-2012 / 14:37:28 / cg"
 ! !
 
+
 !DirectoryDifferenceViewApplication methodsFor:'comparing'!
 
 doSearch
@@ -528,6 +536,7 @@
     "Created: / 12-01-2012 / 01:07:20 / cg"
 ! !
 
+
 !DirectoryDifferenceViewApplication methodsFor:'startup & release'!
 
 postOpenWith:aBuilder
@@ -537,16 +546,18 @@
     "Created: / 12-01-2012 / 01:41:18 / cg"
 ! !
 
+
 !DirectoryDifferenceViewApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DirectoryDifferenceViewApplication.st,v 1.5 2012/06/06 09:46:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryDifferenceViewApplication.st,v 1.5 2012-06-06 09:46:59 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/DirectoryDifferenceViewApplication.st,v 1.5 2012/06/06 09:46:59 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryDifferenceViewApplication.st,v 1.5 2012-06-06 09:46:59 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: DirectoryDifferenceViewApplication.st 8018 2012-07-18 17:00:57Z vranyj1 $'
 ! !
+
--- a/DirectoryTreeBrowser.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/DirectoryTreeBrowser.st	Wed Jan 30 11:15:09 2013 +0000
@@ -66,6 +66,7 @@
 "
 ! !
 
+
 !DirectoryTreeBrowser class methodsFor:'instance creation'!
 
 open
@@ -104,6 +105,7 @@
 "
 ! !
 
+
 !DirectoryTreeBrowser class methodsFor:'defaults'!
 
 timeForExpandOnDropInMilliseconds
@@ -111,6 +113,7 @@
     ^ 1500
 ! !
 
+
 !DirectoryTreeBrowser class methodsFor:'interface specs'!
 
 windowSpec
@@ -179,6 +182,7 @@
       )
 ! !
 
+
 !DirectoryTreeBrowser class methodsFor:'menu specs'!
 
 menu
@@ -399,6 +403,7 @@
       )
 ! !
 
+
 !DirectoryTreeBrowser class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -421,6 +426,7 @@
       ).
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'accessing'!
 
 allowRenameOnOneClick
@@ -453,6 +459,7 @@
     ^ updateTreeSelection
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'actions'!
 
 doDoubleClick:anIndex 
@@ -708,6 +715,7 @@
     ]
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'aspects'!
 
 allowFileOperations
@@ -801,6 +809,7 @@
     ^ treeSelectionHolder
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'change & update'!
 
 changeMatchBlock
@@ -919,6 +928,7 @@
     ^ self
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'drag & drop'!
 
 dropDestinationPath
@@ -1045,12 +1055,16 @@
         afterMilliseconds:(self class timeForExpandOnDropInMilliseconds).
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'event handling'!
 
 processEvent:anEvent
     "filter keyboard events.
      Return true, if I have eaten the event"
 
+    <resource: #keyboard (#CursorLeft #FocusPrevious #FocusNext
+                          #Cut #Copy #Delete #Replace #Paste )>
+
     |focusView key rawKey|
 
     anEvent isKeyPressEvent ifFalse:[^ false].
@@ -1103,6 +1117,7 @@
     ^ false
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'queries'!
 
 hasOpenEditor
@@ -1132,6 +1147,7 @@
 "/    ^ false
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'selection'!
 
 firstSelectedDirectory
@@ -1170,9 +1186,9 @@
     root notNil ifTrue:[ rootDir := root fileName asAbsoluteFilename ].
 
     items := OrderedCollection new.
-    aColOfFileOrDirectory do:[:file|
-        file exists ifTrue:[
-            item := self fileList findLastForFile:file inRoot:root directory:rootDir.
+    aColOfFileOrDirectory do:[:eachFile|
+        (eachFile notNil and:[eachFile exists]) ifTrue:[
+            item := self fileList findLastForFile:eachFile inRoot:root directory:rootDir.
             item isNil ifTrue:[
                 "/ set a new root directory
                 newRoot := self commonPrefixOfSelectedFiles.
@@ -1183,11 +1199,11 @@
                 ].
                 item := self fileList root.
 
-                file isDirectory ifTrue:[ directory := file ]
-                                 ifFalse:[ directory := file directory ]
+                eachFile isDirectory ifTrue:[ directory := eachFile ]
+                                 ifFalse:[ directory := eachFile directory ]
                                   .
-                directory == file ifFalse:[
-                    item := item detect:[:el| el fileName = file ] ifNone:item.
+                directory == eachFile ifFalse:[
+                    item := item detect:[:el| el fileName = eachFile ] ifNone:item.
                 ].
             ].
             item notNil ifTrue:[
@@ -1255,6 +1271,7 @@
     ^ Array with:selection. "Wrap single value into Array"
 ! !
 
+
 !DirectoryTreeBrowser methodsFor:'startup & release'!
 
 makeDependent
@@ -1357,6 +1374,7 @@
     ^ super release.
 ! !
 
+
 !DirectoryTreeBrowser::DirTreeBrowserHFL methodsFor:'accessing'!
 
 draggedItem
@@ -1369,6 +1387,7 @@
     draggedItem := anItemOrNil.
 ! !
 
+
 !DirectoryTreeBrowser::DirTreeBrowserHFL methodsFor:'protocol'!
 
 grayDirectoryIcon
@@ -1389,16 +1408,18 @@
     ^ super iconFor:anItem.
 ! !
 
+
 !DirectoryTreeBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.120 2012/07/12 11:08:30 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.122 2013-01-17 11:16:54 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.120 2012/07/12 11:08:30 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.122 2013-01-17 11:16:54 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: DirectoryTreeBrowser.st 8018 2012-07-18 17:00:57Z vranyj1 $'
 ! !
+
--- a/EditFieldWithCompletion.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/EditFieldWithCompletion.st	Wed Jan 30 11:15:09 2013 +0000
@@ -82,6 +82,7 @@
 "
 ! !
 
+
 !EditFieldWithCompletion methodsFor:'accepting'!
 
 accept
@@ -93,6 +94,7 @@
     "Modified: / 12-02-2010 / 11:56:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !EditFieldWithCompletion methodsFor:'accessing-behavior'!
 
 showOptions
@@ -103,6 +105,7 @@
     showOptions := aBoolean.
 ! !
 
+
 !EditFieldWithCompletion methodsFor:'accessing-dimensions'!
 
 absoluteLeft
@@ -131,6 +134,7 @@
     "Created: / 08-08-2009 / 22:30:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !EditFieldWithCompletion methodsFor:'accessing-mvc'!
 
 optionsHolder
@@ -148,6 +152,7 @@
     "Created: / 09-08-2009 / 08:14:24 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !EditFieldWithCompletion methodsFor:'event handling'!
 
 completion:best options:options 
@@ -196,6 +201,8 @@
 
 handlesKeyPress:key inView:aView
 
+    <resource: #keyboard (#CursorDown #CursorUp)>
+
     ^aView == optionsView and:
         [(#( #CursorDown #CursorUp ) includes: key) not].
 
@@ -235,8 +242,9 @@
 !
 
 keyPress:key x:x y:y 
+    "Forward certain events to optionsView if any"
 
-    "Forward certain events to optionsView if any"
+    <resource: #keyboard (#CursorDown #CursorUp #Accept #Return #Escape #BackSpace)>
     
     (optionsView notNil and:
         [(#( #CursorDown #CursorUp ) includes:key)]) 
@@ -270,6 +278,7 @@
     "Created: / 09-12-2010 / 21:32:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !EditFieldWithCompletion methodsFor:'initialization & release'!
 
 destroy
@@ -296,6 +305,7 @@
     "Modified: / 03-08-2011 / 17:50:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !EditFieldWithCompletion methodsFor:'private'!
 
 doCompletion
@@ -403,12 +413,14 @@
     "Modified (format): / 03-08-2011 / 17:50:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !EditFieldWithCompletion class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/EditFieldWithCompletion.st,v 1.5 2011/11/29 10:27:19 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/EditFieldWithCompletion.st,v 1.6 2013-01-17 10:47:17 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: EditFieldWithCompletion.st 7985 2012-04-21 08:36:31Z vranyj1 $'
+    ^ 'Id: EditFieldWithCompletion.st 7662 2010-12-09 21:05:19Z vranyj1 '
 ! !
+
--- a/FileApplicationNoteBook.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/FileApplicationNoteBook.st	Wed Jan 30 11:15:09 2013 +0000
@@ -125,6 +125,7 @@
 "
 ! !
 
+
 !FileApplicationNoteBook class methodsFor:'application list'!
 
 applicationList
@@ -146,7 +147,7 @@
             #(  #'CommandResult'                     nil                      )
             #(  #'XViewApplication'                  nil                      )
             #(  #'DigitalNotepadFileViewApplication' nil                      )
-"/            #(  #'XMLViewApplication'                nil                      )
+            #(  #'XMLViewApplication'                nil                      )
        )
 
     "Modified: / 21-02-2011 / 17:21:54 / cg"
@@ -177,6 +178,7 @@
     ^ aApplicationListItem at:2
 ! !
 
+
 !FileApplicationNoteBook class methodsFor:'classAccess'!
 
 textEditorClass
@@ -184,6 +186,7 @@
     ^ TextEditor
 ! !
 
+
 !FileApplicationNoteBook class methodsFor:'defaults'!
 
 openAnotherApplicationOnSameItem
@@ -191,6 +194,7 @@
     ^ false
 ! !
 
+
 !FileApplicationNoteBook class methodsFor:'interface specs'!
 
 windowSpec
@@ -238,6 +242,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook class methodsFor:'menu specs'!
 
 tabMenu
@@ -306,6 +311,7 @@
     "Modified: / 27-03-2007 / 11:13:52 / cg"
 ! !
 
+
 !FileApplicationNoteBook methodsFor:'accessing'!
 
 listOfApplications
@@ -330,6 +336,7 @@
     selectionHistoryList := aCol 
 ! !
 
+
 !FileApplicationNoteBook methodsFor:'accessing-applications'!
 
 getAllApplicationsByClass:aClass andType:aType
@@ -371,6 +378,7 @@
         ].
 ! !
 
+
 !FileApplicationNoteBook methodsFor:'actions-app-common'!
 
 changeItem:anItem for:anAppl
@@ -745,6 +753,7 @@
     "Modified (format): / 29-11-2011 / 19:07:57 / cg"
 ! !
 
+
 !FileApplicationNoteBook methodsFor:'actions-app-spec'!
 
 addTerminalIn:aDirectory
@@ -883,12 +892,14 @@
             preSetItem:[:aTextEditor | aTextEditor presentation:#hexDump].
 ! !
 
+
 !FileApplicationNoteBook methodsFor:'applicationlist access'!
 
 applicationList
     ^ self class applicationList
 ! !
 
+
 !FileApplicationNoteBook methodsFor:'aspects'!
 
 canvasHolder
@@ -1014,6 +1025,7 @@
     tabList := aValue.
 ! !
 
+
 !FileApplicationNoteBook methodsFor:'change & update'!
 
 canvasChanged
@@ -1101,6 +1113,7 @@
     ^ self.
 ! !
 
+
 !FileApplicationNoteBook methodsFor:'menu & actions'!
 
 destroyTabAt:idx
@@ -1124,6 +1137,7 @@
     "Modified: / 27-03-2007 / 10:57:25 / cg"
 ! !
 
+
 !FileApplicationNoteBook methodsFor:'queries'!
 
 getSameFilesModifiedFor:aAppl
@@ -1142,6 +1156,7 @@
     ^ colOfChanged
 ! !
 
+
 !FileApplicationNoteBook methodsFor:'selection'!
 
 currentTabMenusApplication
@@ -1179,6 +1194,7 @@
     ^ canvas application.
 ! !
 
+
 !FileApplicationNoteBook methodsFor:'startup & release'!
 
 closeRequest
@@ -1228,6 +1244,7 @@
     ^ true
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'defaults'!
 
 tabStringFor:aApplicationType
@@ -1238,6 +1255,7 @@
     "Modified: / 01-03-2007 / 21:43:13 / cg"
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -1300,6 +1318,7 @@
 )
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'image specs'!
 
 extract28x28Icon
@@ -1381,6 +1400,7 @@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 8 4 8 105 133 190 121 133 157 129 129 129 194 194 194 255 0 0]; mask:((Depth1Image new) width: 28; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@LC@@@A!! @@@L0@@@A8@@@@L@@@@G @@@CL@@@A!! @@@0L@@@@@@@BY=5LAIUUT S5UU8D!!UUPAFU\#@@@@@@@LR9@@D)J @A:R(@@P$*@@CIN @@@@@@@@@a') ; yourself); yourself]
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -1478,6 +1498,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'menu specs'!
 
 fileListMenu
@@ -1615,6 +1636,7 @@
     "Modified: / 12-01-2012 / 00:34:06 / cg"
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'queries'!
 
 canOpenItem:anItem
@@ -1645,6 +1667,7 @@
     ^ false
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'tableColumns specs'!
 
 tableColumns
@@ -1806,6 +1829,7 @@
     
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'accessing'!
 
 archiver
@@ -1872,6 +1896,7 @@
     ^ temporaryDirectory
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'actions'!
 
 changeItem:anItem 
@@ -1982,6 +2007,7 @@
     ].
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'aspects'!
 
 archiveFileList
@@ -2059,6 +2085,7 @@
     ^ viewErrorList
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -2078,6 +2105,7 @@
     self errorListVisibilityHolder value:viewListValue.
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'command execution'!
 
 getErrorBlock
@@ -2195,6 +2223,7 @@
     ].
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'command helper'!
 
 selectDirectoryDialog
@@ -2257,6 +2286,7 @@
     ^ dir
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands add'!
 
 addFilesToArchive:colOfFiles 
@@ -2282,6 +2312,7 @@
     ^ true
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands extract'!
 
 extractAll
@@ -2318,6 +2349,7 @@
 "/    self updateFileBrowserIfPresentWith:dir.
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands extract private'!
 
 extractAllTo:aDirectory 
@@ -2401,6 +2433,7 @@
     "Modified (format): / 29-11-2011 / 18:58:01 / cg"
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands list'!
 
 listAllFiles
@@ -2425,6 +2458,7 @@
     ]
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands remove'!
 
 removeFilesFromArchive
@@ -2454,6 +2488,7 @@
     self archiveFileList value removeAllFoundIn:realSel
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'drag & drop'!
 
 canDrop:aContext
@@ -2533,12 +2568,15 @@
     ^ sel collect:[:el| DropObject newFileInArchive:(el fileName asFilename) ].
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'event handling'!
 
 processEvent:anEvent 
     "filter keyboard events.
      Return true, if I have eaten the event"
 
+    <resource: #keyboard (#Delete )>
+
     |focusView key rawKey|
 
     anEvent isKeyPressEvent ifTrue:[
@@ -2555,6 +2593,7 @@
     ^ false
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'initialization & release'!
 
 postBuildFileTable:aWidget
@@ -2601,6 +2640,7 @@
     ^ super release.
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'queries'!
 
 canDelete
@@ -2648,6 +2688,7 @@
     ^ newSel.
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'sorting'!
 
 generateSortBlock:instanceName
@@ -2709,6 +2750,7 @@
     fileList addAll:sortCol.
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication::ArchivItem methodsFor:'accessing'!
 
 compressSize
@@ -2961,12 +3003,14 @@
     self year:(Integer readFrom:yearString)
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication::ArchivItem methodsFor:'printing'!
 
 printOn:aStream
     aStream nextPutAll:self fileName asString
 ! !
 
+
 !FileApplicationNoteBook::ArchiveViewApplication::ArchivItem methodsFor:'queries'!
 
 hasDirectoryPart
@@ -2974,6 +3018,7 @@
     ^ self fileName asFilename components size ~= 1
 ! !
 
+
 !FileApplicationNoteBook::CommandResult class methodsFor:'defaults'!
 
 tabStringFor:aApplicationType
@@ -2989,6 +3034,7 @@
     ^ false
 ! !
 
+
 !FileApplicationNoteBook::CommandResult class methodsFor:'interface specs'!
 
 windowSpec
@@ -3050,6 +3096,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::CommandResult class methodsFor:'menu specs'!
 
 menu
@@ -3097,6 +3144,7 @@
     "Modified: / 12-01-2012 / 00:33:56 / cg"
 ! !
 
+
 !FileApplicationNoteBook::CommandResult methodsFor:'accessing'!
 
 resultStream
@@ -3111,6 +3159,7 @@
     resultStream := something.
 ! !
 
+
 !FileApplicationNoteBook::CommandResult methodsFor:'actions'!
 
 changeTabTo:aString 
@@ -3134,6 +3183,7 @@
     ].
 ! !
 
+
 !FileApplicationNoteBook::CommandResult methodsFor:'aspects'!
 
 enableStopButton
@@ -3154,6 +3204,7 @@
     ^ process
 ! !
 
+
 !FileApplicationNoteBook::CommandResult methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -3164,6 +3215,7 @@
     super update:something with:aParameter from:changedObject
 ! !
 
+
 !FileApplicationNoteBook::CommandResult methodsFor:'initialization & release'!
 
 postBuildTextCollector:aBuilder
@@ -3191,12 +3243,14 @@
     ^ super release
 ! !
 
+
 !FileApplicationNoteBook::CommandResult methodsFor:'printing'!
 
 printOn:aStream
     aStream nextPutAll:'CommandResult Application'.
 ! !
 
+
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'defaults'!
 
 tabStringFor:anApplicationType
@@ -3207,6 +3261,7 @@
     "Modified: / 01-03-2007 / 21:43:23 / cg"
 ! !
 
+
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'documentation'!
 
 documentation
@@ -3216,6 +3271,7 @@
 "
 ! !
 
+
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -3239,6 +3295,7 @@
 )
 ! !
 
+
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -3295,6 +3352,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'menu specs'!
 
 menu
@@ -3353,6 +3411,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'queries'!
 
 canOpenItem:anItem
@@ -3364,6 +3423,7 @@
     ^ false
 ! !
 
+
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'accessing'!
 
 imageView
@@ -3393,6 +3453,7 @@
 "/    self notify:msg.
 ! !
 
+
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'actions'!
 
 changeItem:anItem
@@ -3406,6 +3467,7 @@
     imageView readFile:self fileName
 ! !
 
+
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'aspects'!
 
 fitSize
@@ -3418,6 +3480,7 @@
     ^ fitSize
 ! !
 
+
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -3432,6 +3495,7 @@
     super update:something with:aParameter from:changedObject
 ! !
 
+
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'initialization & release'!
 
 postBuildImageView:aWidget
@@ -3464,6 +3528,7 @@
     super postOpenWith:aBuilder
 ! !
 
+
 !FileApplicationNoteBook::HtmlViewApplication class methodsFor:'defaults'!
 
 tabStringFor:aApplicationType
@@ -3474,6 +3539,7 @@
     "Modified: / 01-03-2007 / 21:43:18 / cg"
 ! !
 
+
 !FileApplicationNoteBook::HtmlViewApplication class methodsFor:'help specs'!
 
 helpSpec
@@ -3497,6 +3563,7 @@
 )
 ! !
 
+
 !FileApplicationNoteBook::HtmlViewApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -3638,6 +3705,7 @@
     "Modified: / 11-08-2011 / 00:34:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !FileApplicationNoteBook::HtmlViewApplication class methodsFor:'menu specs'!
 
 menu
@@ -3741,6 +3809,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::HtmlViewApplication class methodsFor:'queries'!
 
 canOpenItem:anItem
@@ -3753,6 +3822,7 @@
     ^ false
 ! !
 
+
 !FileApplicationNoteBook::HtmlViewApplication methodsFor:'accessing'!
 
 htmlView
@@ -3777,6 +3847,7 @@
     ^ retVal
 ! !
 
+
 !FileApplicationNoteBook::HtmlViewApplication methodsFor:'accessing - subapps'!
 
 webBrowserPage
@@ -3790,6 +3861,7 @@
     "Created: / 11-08-2011 / 00:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !FileApplicationNoteBook::HtmlViewApplication methodsFor:'actions'!
 
 doEdit
@@ -3844,6 +3916,7 @@
     "Modified: / 17-02-2011 / 14:01:35 / cg"
 ! !
 
+
 !FileApplicationNoteBook::HtmlViewApplication methodsFor:'aspects'!
 
 labelHolder
@@ -3854,6 +3927,7 @@
     ^ labelHolder.
 ! !
 
+
 !FileApplicationNoteBook::HtmlViewApplication methodsFor:'initialization & release'!
 
 postBuildHtmlView:aWidget
@@ -3891,6 +3965,7 @@
     "Modified: / 17-02-2011 / 13:27:12 / cg"
 ! !
 
+
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'defaults'!
 
 tabStringFor:aApplicationType
@@ -3901,6 +3976,7 @@
     "Modified: / 01-03-2007 / 21:43:23 / cg"
 ! !
 
+
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'documentation'!
 
 documentation
@@ -3910,6 +3986,7 @@
 "
 ! !
 
+
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -3933,6 +4010,7 @@
 )
 ! !
 
+
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'image specs'!
 
 fitSize20x20Icon
@@ -3964,6 +4042,7 @@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
 ! !
 
+
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -4020,6 +4099,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'menu specs'!
 
 menu
@@ -4078,6 +4158,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'queries'!
 
 canOpenItem:anItem
@@ -4090,6 +4171,7 @@
     ^ false
 ! !
 
+
 !FileApplicationNoteBook::ImageViewApplication methodsFor:'accessing'!
 
 image:something
@@ -4124,6 +4206,7 @@
     self notify:msg.
 ! !
 
+
 !FileApplicationNoteBook::ImageViewApplication methodsFor:'actions'!
 
 changeItem:anItem
@@ -4179,6 +4262,7 @@
     "Modified: / 25-07-2006 / 09:09:33 / cg"
 ! !
 
+
 !FileApplicationNoteBook::ImageViewApplication methodsFor:'aspects'!
 
 fitSize
@@ -4191,6 +4275,7 @@
     ^ fitSize
 ! !
 
+
 !FileApplicationNoteBook::ImageViewApplication methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -4205,6 +4290,7 @@
     super update:something with:aParameter from:changedObject
 ! !
 
+
 !FileApplicationNoteBook::ImageViewApplication methodsFor:'initialization & release'!
 
 postBuildImageView:aWidget
@@ -4238,6 +4324,7 @@
     super postOpenWith:aBuilder
 ! !
 
+
 !FileApplicationNoteBook::Terminal class methodsFor:'defaults'!
 
 defaultLineLimit
@@ -4260,6 +4347,7 @@
     "Modified: / 01-03-2007 / 21:43:38 / cg"
 ! !
 
+
 !FileApplicationNoteBook::Terminal class methodsFor:'help specs'!
 
 helpSpec
@@ -4283,6 +4371,7 @@
 )
 ! !
 
+
 !FileApplicationNoteBook::Terminal class methodsFor:'interface specs'!
 
 windowSpec
@@ -4338,6 +4427,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::Terminal class methodsFor:'menu specs'!
 
 menu
@@ -4383,6 +4473,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::Terminal methodsFor:'accessing'!
 
 terminalView
@@ -4405,6 +4496,7 @@
     "Modified: / 05-04-2012 / 15:58:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !FileApplicationNoteBook::Terminal methodsFor:'actions'!
 
 saveAs
@@ -4412,6 +4504,7 @@
     self terminalView save.
 ! !
 
+
 !FileApplicationNoteBook::Terminal methodsFor:'initialization & release'!
 
 shellFinished
@@ -4438,6 +4531,7 @@
     vt100 startShellIn:(self fileName).
 ! !
 
+
 !FileApplicationNoteBook::Terminal methodsFor:'printing'!
 
 printOn:aStream
@@ -4445,6 +4539,7 @@
     self fileName baseName printOn:aStream.
 ! !
 
+
 !FileApplicationNoteBook::Terminal methodsFor:'queries'!
 
 getTabValueString
@@ -4455,6 +4550,7 @@
     "Created: / 01-03-2007 / 21:39:56 / cg"
 ! !
 
+
 !FileApplicationNoteBook::Terminal methodsFor:'startup & release'!
 
 postOpenWith:aBuilder
@@ -4468,6 +4564,7 @@
     super postOpenWith:aBuilder.
 ! !
 
+
 !FileApplicationNoteBook::TextEditor class methodsFor:'defaults'!
 
 checkModifiedDelayTime
@@ -4496,6 +4593,7 @@
     ^ false
 ! !
 
+
 !FileApplicationNoteBook::TextEditor class methodsFor:'documentation'!
 
 documentation
@@ -4505,6 +4603,7 @@
 "
 ! !
 
+
 !FileApplicationNoteBook::TextEditor class methodsFor:'help specs'!
 
 helpSpec
@@ -4528,6 +4627,7 @@
 )
 ! !
 
+
 !FileApplicationNoteBook::TextEditor class methodsFor:'interface specs'!
 
 windowSpec
@@ -4659,6 +4759,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::TextEditor class methodsFor:'menu specs'!
 
 menu
@@ -4778,6 +4879,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::TextEditor methodsFor:'accessing'!
 
 fileEncoding
@@ -4845,6 +4947,7 @@
     self changeInformation.
 ! !
 
+
 !FileApplicationNoteBook::TextEditor methodsFor:'actions'!
 
 accept
@@ -5444,6 +5547,7 @@
     ].
 ! !
 
+
 !FileApplicationNoteBook::TextEditor methodsFor:'aspects'!
 
 cursorColLabelHolder
@@ -5583,6 +5687,7 @@
     ^ viewModifiedChannel.
 ! !
 
+
 !FileApplicationNoteBook::TextEditor methodsFor:'aspects-visibility'!
 
 closeButtonShown
@@ -5627,6 +5732,7 @@
     "Modified: / 06-10-2011 / 12:46:41 / cg"
 ! !
 
+
 !FileApplicationNoteBook::TextEditor methodsFor:'change & update'!
 
 changeTextColorForChanged
@@ -5802,6 +5908,7 @@
     "Created: / 23-06-2011 / 16:32:44 / cg"
 ! !
 
+
 !FileApplicationNoteBook::TextEditor methodsFor:'initialization'!
 
 initialize
@@ -5809,6 +5916,7 @@
     semaChangeItem := Semaphore forMutualExclusion.
 ! !
 
+
 !FileApplicationNoteBook::TextEditor methodsFor:'printing'!
 
 printOn:aStream
@@ -5820,6 +5928,7 @@
     ]
 ! !
 
+
 !FileApplicationNoteBook::TextEditor methodsFor:'private-process'!
 
 checkItemForChanges
@@ -5876,6 +5985,7 @@
     Processor addTimedBlock:checkModifiedBlock afterSeconds:(self class checkModifiedDelayTime).
 ! !
 
+
 !FileApplicationNoteBook::TextEditor methodsFor:'queries'!
 
 additionalInfo
@@ -5899,6 +6009,7 @@
     ^ true
 ! !
 
+
 !FileApplicationNoteBook::TextEditor methodsFor:'startup & release'!
 
 closeRequest
@@ -6020,6 +6131,7 @@
     "Modified: / 10-04-2007 / 15:24:22 / cg"
 ! !
 
+
 !FileApplicationNoteBook::XMLViewApplication class methodsFor:'defaults'!
 
 tabStringFor:aApplicationType
@@ -6030,6 +6142,7 @@
     "Modified: / 17-02-2011 / 13:28:22 / cg"
 ! !
 
+
 !FileApplicationNoteBook::XMLViewApplication class methodsFor:'help specs'!
 
 helpSpec
@@ -6053,6 +6166,7 @@
     "Modified: / 17-02-2011 / 13:28:28 / cg"
 ! !
 
+
 !FileApplicationNoteBook::XMLViewApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -6109,6 +6223,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::XMLViewApplication class methodsFor:'menu specs'!
 
 menu
@@ -6157,9 +6272,11 @@
     "Modified: / 17-02-2011 / 17:30:26 / cg"
 ! !
 
+
 !FileApplicationNoteBook::XMLViewApplication class methodsFor:'queries'!
 
 canOpenItem:anItem
+    (Smalltalk at:#'XML::XMLInspector') isNil ifTrue:[^ false].
 
     ^ (anItem hasMimeType and:[anItem mimeType isXml])
 
@@ -6171,6 +6288,7 @@
     ^ false
 ! !
 
+
 !FileApplicationNoteBook::XMLViewApplication methodsFor:'accessing'!
 
 item:anItem 
@@ -6215,6 +6333,7 @@
     "Modified: / 17-02-2011 / 17:39:15 / cg"
 ! !
 
+
 !FileApplicationNoteBook::XMLViewApplication methodsFor:'actions'!
 
 reload
@@ -6223,6 +6342,7 @@
     "Created: / 17-02-2011 / 17:46:36 / cg"
 ! !
 
+
 !FileApplicationNoteBook::XMLViewApplication methodsFor:'aspects'!
 
 labelHolder
@@ -6233,6 +6353,7 @@
     ^ labelHolder.
 ! !
 
+
 !FileApplicationNoteBook::XMLViewApplication methodsFor:'initialization & release'!
 
 postBuildXMLCanvas:aWidget
@@ -6242,6 +6363,7 @@
     "Modified: / 17-02-2011 / 13:39:18 / cg"
 ! !
 
+
 !FileApplicationNoteBook::XViewApplication class methodsFor:'defaults'!
 
 maxNumberOfVNCRestarts
@@ -6279,6 +6401,7 @@
     ^ true
 ! !
 
+
 !FileApplicationNoteBook::XViewApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -6335,6 +6458,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::XViewApplication class methodsFor:'menu specs'!
 
 menu
@@ -6370,6 +6494,7 @@
       )
 ! !
 
+
 !FileApplicationNoteBook::XViewApplication class methodsFor:'queries'!
 
 canOpenItem:anItem
@@ -6392,6 +6517,7 @@
     ^ true
 ! !
 
+
 !FileApplicationNoteBook::XViewApplication methodsFor:'accessing'!
 
 xView
@@ -6406,6 +6532,7 @@
     xView := something.
 ! !
 
+
 !FileApplicationNoteBook::XViewApplication methodsFor:'actions'!
 
 changeInformation 
@@ -6444,6 +6571,7 @@
     self startViewer.
 ! !
 
+
 !FileApplicationNoteBook::XViewApplication methodsFor:'actions VNC'!
 
 setupView
@@ -6612,6 +6740,7 @@
     ^ true
 ! !
 
+
 !FileApplicationNoteBook::XViewApplication methodsFor:'actions viewer'!
 
 startViewer
@@ -6689,6 +6818,7 @@
     "/ Dialog information:'viewer has terminated'.
 ! !
 
+
 !FileApplicationNoteBook::XViewApplication methodsFor:'initialization & release'!
 
 postBuildXView:aWidget
@@ -6731,16 +6861,18 @@
     ^ super release
 ! !
 
+
 !FileApplicationNoteBook class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.271 2012/12/14 16:19:57 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.273 2013-01-18 11:29:08 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.271 2012/12/14 16:19:57 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.273 2013-01-18 11:29:08 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: FileApplicationNoteBook.st 8083 2013-01-14 11:48:37Z vranyj1 $'
 ! !
+
--- a/FileBasedSourceCodeManagementSettingsAppl.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/FileBasedSourceCodeManagementSettingsAppl.st	Wed Jan 30 11:15:09 2013 +0000
@@ -43,6 +43,7 @@
 "
 ! !
 
+
 !FileBasedSourceCodeManagementSettingsAppl class methodsFor:'defaults'!
 
 defaultRepositoryPath
@@ -51,6 +52,7 @@
     "Created: / 21-12-2011 / 14:55:40 / cg"
 ! !
 
+
 !FileBasedSourceCodeManagementSettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -85,6 +87,7 @@
     "Created: / 25-12-2011 / 14:00:06 / cg"
 ! !
 
+
 !FileBasedSourceCodeManagementSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -145,6 +148,7 @@
 @@@@@@@@@@@@@@@@@@@@@JJ!!(ZFZ@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[223 191 95 128 127 112 160 144 128 175 143 112 224 223 207 255 224 127 207 192 160 207 175 112 144 112 48 224 192 128 240 224 191 192 176 144 239 224 223 175 143 111 239 224 176 223 192 111 191 175 160 159 112 64 255 240 176 240 240 208 255 239 176 240 208 127 160 127 63 176 159 112 255 224 96 207 160 64 224 208 175 239 208 144 240 223 95 128 96 64 240 224 127 255 240 224 255 239 175 192 160 111 255 255 224 255 223 112 255 240 223 255 223 143 255 208 64 208 192 191 255 255 223 160 143 127 160 144 111 240 240 175 160 159 112 240 239 176 208 176 111 239 223 159 207 176 127 255 224 144 239 208 112 255 240 192 175 159 128 240 239 175 192 176 159 224 207 111 207 191 128 239 208 111 144 112 96 255 240 191 255 239 192 240 224 95 192 144 48 240 239 208 224 192 64 144 112 95 160 127 47 127 80 47 255 224 111 176 144 96 176 159 96 240 223 176 240 239 144 176 175 159 240 224 144 255 239 191 240 208 64 255 239 128 239 208 79 223 208 208 191 144 64 240 223 143 240 208 63 255 239 127 240 240 192 255 239 159 144 112 79 240 224 143 191 159 63 240 223 80 207 176 112 240 240 191 175 143 127 224 192 112 240 223 112 208 176 80 176 159 127 255 224 160 240 223 79 255 240 208 207 191 112 239 239 207 208 176 79 255 223 95 192 160 63 128 111 48 255 223 127 255 224 159 159 127 95 176 160 112 255 240 207 255 255 240 240 224 112 176 143 96 160 143 48 240 239 160 207 160 80 239 223 175 239 192 96 143 111 64 160 143 95 255 224 128 255 248 200 255 248 24 15 56 160 255 248 88 239 232 240 240 240 240 255 248 152 48 80 176 255 248 96 48 88 176 240 240 248 207 216 240 223 216 224 255 248 48 224 224 232 255 248 176 255 248 248 240 144 24 255 248 136 63 96 184 240 208 24 239 239 224 176 159 111 240 207 96 207 160 127 240 207 111 191 191 160 223 208 175 240 208 111 255 255 239 192 176 175 208 207 176 0 0 0 0 64 0 32 96 32 96 192 128 32 128 64 32 160 64 32 128 32 64 64 64 96 96 96 128 128 128 32 32 32 32 64 32]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@O0@@_??@_??@_??8_??8_??8_??0_?? _?? _?? _??@_?>@_?<@_? @_<@@C8@@') ; yourself); yourself]
 ! !
 
+
 !FileBasedSourceCodeManagementSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -372,12 +376,14 @@
       )
 ! !
 
+
 !FileBasedSourceCodeManagementSettingsAppl class methodsFor:'others'!
 
 version_FileRepository
     ^ 'Path: stx/libtool/FileBasedSourceCodeManagementSettingsAppl.st, Version: 1'
 ! !
 
+
 !FileBasedSourceCodeManagementSettingsAppl class methodsFor:'queries'!
 
 managerClass
@@ -388,6 +394,7 @@
     "Created: / 19-04-2011 / 12:46:52 / cg"
 ! !
 
+
 !FileBasedSourceCodeManagementSettingsAppl methodsFor:'actions'!
 
 addModule:module withData:data
@@ -459,10 +466,6 @@
     "Modified: / 10-01-2012 / 00:21:49 / cg"
 !
 
-
-
-
-
 removePerModulePath
     |module|
 
@@ -478,6 +481,7 @@
     "Created: / 21-12-2011 / 14:26:08 / cg"
 ! !
 
+
 !FileBasedSourceCodeManagementSettingsAppl methodsFor:'aspects'!
 
 initialListOfModules
@@ -486,8 +490,6 @@
     "Created: / 02-03-2012 / 14:40:32 / cg"
 !
 
-
-
 pathPrototypeList
     ^ #(
             './repository'
@@ -515,8 +517,6 @@
     "Created: / 21-12-2011 / 14:31:09 / cg"
 !
 
-
-
 repositoryPathHolder
     repositoryPathHolder isNil ifTrue:[
         repositoryPathHolder := FileBasedSourceCodeManager defaultRepositoryPath asValue.
@@ -535,9 +535,8 @@
     ^ selectedPerModulePath.
 
     "Created: / 21-12-2011 / 14:35:37 / cg"
-!
+! !
 
- !
 
 !FileBasedSourceCodeManagementSettingsAppl methodsFor:'change & update'!
 
@@ -635,6 +634,7 @@
     "Created: / 21-12-2011 / 14:43:11 / cg"
 ! !
 
+
 !FileBasedSourceCodeManagementSettingsAppl methodsFor:'help'!
 
 helpFilename
@@ -643,6 +643,7 @@
     "Modified: / 21-12-2011 / 14:36:53 / cg"
 ! !
 
+
 !FileBasedSourceCodeManagementSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -663,6 +664,7 @@
     "Modified: / 21-12-2011 / 23:50:23 / cg"
 ! !
 
+
 !FileBasedSourceCodeManagementSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -689,16 +691,18 @@
     "Modified: / 10-01-2012 / 00:31:28 / cg"
 ! !
 
+
 !FileBasedSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 version
-    ^ 'Header: /cvs/stx/stx/libtool/FileBasedSourceCodeManagementSettingsAppl.st,v 1.14 2012/08/09 08:44:23 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/FileBasedSourceCodeManagementSettingsAppl.st,v 1.14 2012-08-09 08:44:23 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/FileBasedSourceCodeManagementSettingsAppl.st,v 1.14 2012/08/09 08:44:23 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/FileBasedSourceCodeManagementSettingsAppl.st,v 1.14 2012-08-09 08:44:23 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: FileBasedSourceCodeManagementSettingsAppl.st 8048 2012-09-07 17:28:09Z vranyj1 $'
 ! !
+
--- a/FileBrowser.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/FileBrowser.st	Wed Jan 30 11:15:09 2013 +0000
@@ -84,6 +84,7 @@
 "
 ! !
 
+
 !FileBrowser class methodsFor:'instance creation'!
 
 on:aDirectoryPath
@@ -149,6 +150,7 @@
     "Modified: / 17.6.1998 / 11:25:29 / cg"
 ! !
 
+
 !FileBrowser class methodsFor:'aspects'!
 
 directoryBookmarks
@@ -160,6 +162,7 @@
     ^ AbstractFileBrowser directoryHistory.
 ! !
 
+
 !FileBrowser class methodsFor:'defaults'!
 
 defaultIcon
@@ -190,12 +193,14 @@
     "Modified: / 17-09-2007 / 11:36:12 / cg"
 ! !
 
+
 !FileBrowser class methodsFor:'fileList user interaction'!
 
 goodRenameDefaultForFile:oldName lastOld:lastOldName lastNew:lastNewName
     ^ DoWhatIMeanSupport goodRenameDefaultForFile:oldName lastOld:lastOldName lastNew:lastNewName
 ! !
 
+
 !FileBrowser class methodsFor:'history'!
 
 addToCommandHistory:aCommandString for:aFilename
@@ -240,6 +245,7 @@
     VisitedFileHistory addFirst:path.
 ! !
 
+
 !FileBrowser class methodsFor:'icon-presentation'!
 
 addOnIconsFor:aFilename to:anIcon
@@ -307,6 +313,7 @@
     ^ MIMETypeIconLibrary iconKeyForRemoteDirectory:aFilenameArg
 ! !
 
+
 !FileBrowser class methodsFor:'interface specs'!
 
 fileSearchDialogSpec
@@ -439,6 +446,7 @@
       )
 ! !
 
+
 !FileBrowser class methodsFor:'menu specs'!
 
 baseBookmarksMenuSpec
@@ -1468,6 +1476,7 @@
     ^ m
 ! !
 
+
 !FileBrowser class methodsFor:'queries'!
 
 isVisualStartable
@@ -1477,6 +1486,7 @@
     ^ true
 ! !
 
+
 !FileBrowser methodsFor:'aspects'!
 
 anyFilesPresentWithSuffix:suffix
@@ -1872,6 +1882,7 @@
     "Created: / 4.8.1998 / 13:37:37 / cg"
 ! !
 
+
 !FileBrowser methodsFor:'drag & drop'!
 
 canDropObjects:aCollectionOfDropObjects
@@ -1941,6 +1952,7 @@
     "Modified: 6.4.1997 / 14:46:44 / cg"
 ! !
 
+
 !FileBrowser methodsFor:'events'!
 
 handlesKeyPress:key inView:view
@@ -2062,6 +2074,7 @@
     "Modified: / 18.2.1998 / 17:57:44 / cg"
 ! !
 
+
 !FileBrowser methodsFor:'fileList user interaction'!
 
 bigImagePreviewSettingChanged
@@ -3828,6 +3841,7 @@
     "Modified: / 4.8.1998 / 13:44:14 / cg"
 ! !
 
+
 !FileBrowser methodsFor:'help'!
 
 helpTextFor:aComponent
@@ -3854,6 +3868,7 @@
     ^ nil
 ! !
 
+
 !FileBrowser methodsFor:'initialization & release'!
 
 createTabRulerIn:topFrame
@@ -4358,6 +4373,7 @@
     "Created: 24.7.1997 / 18:13:46 / cg"
 ! !
 
+
 !FileBrowser methodsFor:'menu actions'!
 
 addBookmark
@@ -4506,6 +4522,7 @@
     "Modified: / 14.8.1998 / 16:44:00 / cg"
 ! !
 
+
 !FileBrowser methodsFor:'menu actions-cvs'!
 
 cvsAddAndCommitSelection
@@ -4720,6 +4737,7 @@
     "Modified: / 21.10.1998 / 17:02:11 / cg"
 ! !
 
+
 !FileBrowser methodsFor:'misc user interaction'!
 
 closeRequest
@@ -4853,6 +4871,7 @@
     "Modified: 29.5.1996 / 16:13:43 / cg"
 ! !
 
+
 !FileBrowser methodsFor:'pathField user interaction'!
 
 addDirToJavaClassPath
@@ -5184,6 +5203,7 @@
     "Created: 2.8.1997 / 14:11:41 / cg"
 ! !
 
+
 !FileBrowser methodsFor:'private'!
 
 ask:question yesButton:yesButtonText
@@ -5365,6 +5385,7 @@
     ^ aCollection reject:[:fn | fn asFilename isHidden].
 ! !
 
+
 !FileBrowser methodsFor:'private-actions & command execution'!
 
 binaryFileAction:aFilename
@@ -5733,6 +5754,7 @@
     "Modified: 18.9.1997 / 16:58:40 / stefan"
 ! !
 
+
 !FileBrowser methodsFor:'private-directory stuff'!
 
 changeToPreviousDirectory
@@ -5989,6 +6011,7 @@
     "Modified: / 16.12.1998 / 22:55:44 / cg"
 ! !
 
+
 !FileBrowser methodsFor:'private-file I/O'!
 
 readFile:fileName
@@ -6299,6 +6322,7 @@
     "Modified: / 6.5.1999 / 11:45:50 / cg"
 ! !
 
+
 !FileBrowser methodsFor:'private-file stuff'!
 
 doCreateFile:newName
@@ -6654,6 +6678,7 @@
     "Modified: / 21-09-2006 / 18:34:45 / cg"
 ! !
 
+
 !FileBrowser methodsFor:'private-file type & info'!
 
 fileTypeSpecificActions
@@ -6872,6 +6897,7 @@
     ^ (n printStringLeftPaddedTo:5) , unitString.
 ! !
 
+
 !FileBrowser methodsFor:'private-presentation'!
 
 defineTabulatorsForLongList
@@ -7465,6 +7491,7 @@
     "Modified: / 15.11.2001 / 23:49:03 / cg"
 ! !
 
+
 !FileBrowser methodsFor:'queries'!
 
 fileName
@@ -7499,16 +7526,18 @@
     "Modified: / 12.8.1998 / 14:45:48 / cg"
 ! !
 
+
 !FileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.643 2012/07/27 09:07:58 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.643 2012-07-27 09:07:58 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.643 2012/07/27 09:07:58 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.643 2012-07-27 09:07:58 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: FileBrowser.st 8048 2012-09-07 17:28:09Z vranyj1 $'
 ! !
+
--- a/FileBrowserV2.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/FileBrowserV2.st	Wed Jan 30 11:15:09 2013 +0000
@@ -81,6 +81,7 @@
 "
 ! !
 
+
 !FileBrowserV2 class methodsFor:'instance creation'!
 
 on:aDirectoryPath
@@ -197,6 +198,7 @@
     ^ clone
 ! !
 
+
 !FileBrowserV2 class methodsFor:'class initialization'!
 
 initialize
@@ -217,47 +219,47 @@
 
     icon := [self defaultIcon]. "/ self defaultIcon magnifiedTo:28@28.
 
-    menuItem := MenuItem new 
-                    translateLabel: true;
-                    value: action;
-                    isButton: false;
-                    label:'File Browser' icon:icon;
-                    nameKey: #fileBrowserV2;
-                    activeHelpKey: #fileBrowserV2;
-                    submenuChannel: #menuFileHistory;
-                    showBusyCursorWhilePerforming:true.
+    menuItem := MenuItem new
+		    translateLabel: true;
+		    value: action;
+		    isButton: false;
+		    label:'File Browser' icon:icon;
+		    nameKey: #fileBrowserV2;
+		    activeHelpKey: #fileBrowserV2;
+		    submenuChannel: #menuFileHistory;
+		    showBusyCursorWhilePerforming:true.
 
-    NewLauncher 
-        addMenuItem:menuItem 
-        from:self
-        in:'menu.file' 
-        position:#( #before #fileBrowser) 
-        space:true.
+    NewLauncher
+	addMenuItem:menuItem
+	from:self
+	in:'menu.file'
+	position:#( #before #fileBrowser)
+	space:true.
 
-    menuItem := MenuItem new 
-                    translateLabel: true;
-                    value: action;
-                    isButton: true;
-                    "label:'File Browser'" icon:icon;
-                    nameKey: #fileBrowserV2;
-                    activeHelpKey: #fileBrowserV2;
-                    submenuChannel: #menuFileHistory;
-                    showBusyCursorWhilePerforming:true.
+    menuItem := MenuItem new
+		    translateLabel: true;
+		    value: action;
+		    isButton: true;
+		    "label:'File Browser'" icon:icon;
+		    nameKey: #fileBrowserV2;
+		    activeHelpKey: #fileBrowserV2;
+		    submenuChannel: #menuFileHistory;
+		    showBusyCursorWhilePerforming:true.
 
-    NewLauncher 
-        addMenuItem:menuItem 
-        from:self
-        in:'toolbar' 
-        position:#( #before #fileBrowser) 
-        space:false.
+    NewLauncher
+	addMenuItem:menuItem
+	from:self
+	in:'toolbar'
+	position:#( #before #fileBrowser)
+	space:false.
 
     currentLauncher := NewLauncher current.
     currentLauncher notNil ifTrue:[
-        currentLauncher fileBrowserItemVisible value:false
+	currentLauncher fileBrowserItemVisible value:false
     ].
-    NewLauncher addSettingsApplicationByClass:#'FileBrowserV2SettingsAppl' 
-                withName:'Tools/FileBrowserV2' 
-                icon:nil.
+    NewLauncher addSettingsApplicationByClass:#'FileBrowserV2SettingsAppl'
+		withName:'Tools/FileBrowserV2'
+		icon:nil.
 
     "
      self installInLauncher
@@ -296,6 +298,7 @@
     ].
 ! !
 
+
 !FileBrowserV2 class methodsFor:'defaults'!
 
 entryFieldEndStringForMultipleSelection
@@ -303,6 +306,7 @@
     ^ ('[*]')
 ! !
 
+
 !FileBrowserV2 class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -368,6 +372,7 @@
 )
 ! !
 
+
 !FileBrowserV2 class methodsFor:'image specs'!
 
 applicationIcon
@@ -403,6 +408,7 @@
     ^ ToolbarIconLibrary hideToolbarIconH26
 ! !
 
+
 !FileBrowserV2 class methodsFor:'interface specs'!
 
 windowSpec
@@ -420,340 +426,342 @@
 
     <resource: #canvas>
 
-    ^ 
+    ^
      #(FullSpec
-        name: windowSpec
-        window: 
+	name: windowSpec
+	window:
        (WindowSpec
-          label: FileBrowser
-          name: FileBrowser
-          min: (Point 10 10)
-          bounds: (Rectangle 0 0 800 600)
-          menu: mainMenu
-          icon: defaultIcon
-        )
-        component: 
+	  label: FileBrowser
+	  name: FileBrowser
+	  min: (Point 10 10)
+	  bounds: (Rectangle 0 0 800 600)
+	  menu: mainMenu
+	  icon: defaultIcon
+	)
+	component:
        (SpecCollection
-          collection: (
-           (ViewSpec
-              name: 'ToolbarBox'
-              layout: (LayoutFrame 0 0 0 0 0 1 40 0)
-              level: 0
-              visibilityChannel: toolBarVisibleHolder
-              component: 
-             (SpecCollection
-                collection: (
-                 (ActionButtonSpec
-                    label: 'hideToolBarIcon'
-                    name: 'HideToolBarButton'
-                    layout: (LayoutFrame 0 0 0 0 13 0 40 0)
-                    activeHelpKey: hideToolBar
-                    hasCharacterOrientedLabel: false
-                    translateLabel: true
-                    model: hideToolbar
-                    postBuildCallback: hideToolBarButtonCreated:
-                  )
-                 (MenuPanelSpec
-                    name: 'ToolBar'
-                    layout: (LayoutFrame 13 0 0 0 0 1 40 0)
-                    menu: toolBarMainMenu
-                    textDefault: true
-                  )
-                 )
-               
-              )
-            )
-           (ViewSpec
-              name: 'FilenameEntryFieldBox'
-              layout: (LayoutFrame 0 0 40 0 0 1 65 0)
-              level: 0
-              visibilityChannel: filenameEntryFieldVisibleHolder
-              component: 
-             (SpecCollection
-                collection: (
-                 (ActionButtonSpec
-                    label: 'hideFilenameEntryFieldIcon'
-                    name: 'HideFilenameEntryFieldButton'
-                    layout: (LayoutFrame 0 0 0 0 13 0 0 1)
-                    activeHelpKey: hideFilenameEntryField
-                    hasCharacterOrientedLabel: false
-                    translateLabel: true
-                    model: hideFilenameEntryField
-                    postBuildCallback: hideFilenameEntryFieldButtonCreated:
-                  )
-                 (HorizontalPanelViewSpec
-                    name: 'HorizontalPanel1'
-                    layout: (LayoutFrame 13 0.0 0 0.0 0 1.0 0 1.0)
-                    level: 1
-                    horizontalLayout: leftFit
-                    verticalLayout: fit
-                    horizontalSpace: 3
-                    verticalSpace: 3
-                    component: 
-                   (SpecCollection
-                      collection: (
-                       (ComboListSpec
-                          name: 'ComboList1'
-                          visibilityChannel: driveSelectorVisible
-                          model: selectedDeviceDrive
-                          comboList: listOfDeviceDrives
-                          useIndex: false
-                          hidePullDownMenuButton: false
-                          extent: (Point 53 23)
-                        )
-                       (VariableHorizontalPanelSpec
-                          name: 'VariableHorizontalPanel1'
-                          level: 0
-                          showHandle: true
-                          component: 
-                         (SpecCollection
-                            collection: (
-                             (NonScrollableArbitraryComponentSpec
-                                name: 'NonScrollableArbitraryComponent1'
-                                component: FilenameEditFieldV2
-                                postBuildCallback: postBuildEditField:
-                              )
-                             (ViewSpec
-                                name: 'FilterBox'
-                                component: 
-                               (SpecCollection
-                                  collection: (
-                                   (LabelSpec
-                                      label: 'Filter:'
-                                      name: 'Filter'
-                                      layout: (LayoutFrame 0 0 0 0 40 0 0 1)
-                                      translateLabel: true
-                                      adjust: left
-                                      postBuildCallback: postBuildPathViewBox:
-                                    )
-                                   (ComboBoxSpec
-                                      name: 'FilterSelectionBox'
-                                      layout: (LayoutFrame 40 0 0 0 0 1 0 1)
-                                      model: filterModel
-                                      immediateAccept: true
-                                      acceptOnPointerLeave: false
-                                      comboList: filterListModel
-                                    )
-                                   )
-                                 
-                                )
-                                postBuildCallback: postBuildPathViewBox:
-                              )
-                             )
-                           
-                          )
-                          handles: (Any 0.774936 1.0)
-                          postBuildCallback: postBuildPathViewBox:
-                          useDefaultExtent: true
-                        )
-                       )
-                     
-                    )
-                    postBuildCallback: postBuildPathViewBox:
-                  )
-                 )
-               
-              )
-            )
-           (#'FileBrowserV2UISpecifications::PanelSpec'
-              name: 'BrowserBox'
-              layout: (LayoutFrame 0 0.0 65 0.0 0 1.0 -26 1.0)
-              level: 0
-              showHandle: true
-              snapMode: both
-              whichView: last
-              orientation: vertical
-              visibility: viewNoteBookApplicationHolder
-              component: 
-             (SpecCollection
-                collection: (
-                 (#'FileBrowserV2UISpecifications::PanelSpec'
-                    name: 'HorizontalPanel'
-                    level: 0
-                    snapMode: both
-                    whichView: first
-                    orientation: horizontal
-                    visibility: showDirectoryTree
-                    component: 
-                   (SpecCollection
-                      collection: (
-                       (SubCanvasSpec
-                          name: 'DirectoryTreeBrowser'
-                          hasHorizontalScrollBar: false
-                          hasVerticalScrollBar: false
-                          majorKey: DirectoryTreeBrowser
-                          createNewApplication: true
-                          createNewBuilder: true
-                          postBuildCallback: postBuildDirectoryTree:
-                        )
-                       (SubCanvasSpec
-                          name: 'DirectoryContentsBrowser'
-                          hasHorizontalScrollBar: false
-                          hasVerticalScrollBar: false
-                          majorKey: DirectoryContentsBrowser
-                          createNewApplication: true
-                          createNewBuilder: true
-                        )
-                       )
-                     
-                    )
-                    handles: (Any 0.225 1.0)
-                  )
-                 (SubCanvasSpec
-                    name: 'FileApplicationNoteBook'
-                    tabable: false
-                    hasHorizontalScrollBar: false
-                    hasVerticalScrollBar: false
-                    majorKey: FileApplicationNoteBook
-                    createNewApplication: true
-                    createNewBuilder: true
-                  )
-                 )
-               
-              )
-              handles: (Any 0.5 1.0)
-            )
-           (ViewSpec
-              name: 'InfoBox'
-              layout: (LayoutFrame 0 0 -26 1 0 1 0 1)
-              level: 0
-              visibilityChannel: infoBarVisibleHolder
-              component: 
-             (SpecCollection
-                collection: (
-                 (LabelSpec
-                    label: 'NotifyLabel'
-                    name: 'NotifyLabel'
-                    layout: (LayoutFrame 0 0 1 0.0 -220 1 1 1.0)
-                    level: -1
-                    translateLabel: true
-                    labelChannel: notifyChannel
-                    adjust: left
-                  )
-                 (LabelSpec
-                    label: 'encoding'
-                    name: 'EncodingLabel'
-                    layout: (LayoutFrame -318 1 2 0.0 -235 1 0 1.0)
-                    activeHelpKey: encodingLabel
-                    level: 0
-                    labelChannel: fileEncodingHolder
-                    adjust: right
-                    menu: encodingMenu
-                  )
-                 (LabelSpec
-                    name: 'FileEncodingLockedLabel'
-                    layout: (LayoutFrame -235 1 2 0.0 -220 1 20 0.0)
-                    activeHelpKey: encodingLockedLabel
-                    level: 0
-                    labelChannel: fileEncodingLockImageHolder
-                    adjust: right
-                    menu: encodingMenu
-                  )
-                 (LabelSpec
-                    label: 'Shown Files'
-                    name: 'ShownFilesLabel'
-                    layout: (LayoutFrame -220 1 1 0.0 -65 1 1 1.0)
-                    activeHelpKey: numberOfFiles
-                    level: -1
-                    translateLabel: true
-                    labelChannel: shownFiles
-                    adjust: right
-                  )
-                 (ViewSpec
-                    name: 'ProgressIndicatorBox'
-                    layout: (LayoutFrame -220 1 1 0.0 -65 1 1 1.0)
-                    level: -1
-                    visibilityChannel: activityVisibilityChannel
-                    component: 
-                   (SpecCollection
-                      collection: (
-                       (ProgressIndicatorSpec
-                          name: 'ProgressIndicator1'
-                          layout: (LayoutFrame 5 0.0 -7 0.5 -5 1.0 7 0.5)
-                          backgroundColor: (Color 0.0 66.666666666667 66.666666666667)
-                          isActivityIndicator: true
-                        )
-                       )
-                     
-                    )
-                  )
-                 (LabelSpec
-                    name: 'BusyLabel'
-                    layout: (LayoutFrame -220 1 1 0.0 -65 1 1 1.0)
-                    activeHelpKey: modeLabel
-                    level: -1
-                    visibilityChannel: busyLabelVisibleHolder
-                    translateLabel: true
-                    labelChannel: busyLabelHolder
-                    adjust: right
-                  )
-                 (LabelSpec
-                    label: 'M'
-                    name: 'ModeLabel'
-                    layout: (LayoutFrame -65 1 1 0.0 -55 1 1 1.0)
-                    activeHelpKey: modeLabel
-                    level: -1
-                    translateLabel: true
-                    labelChannel: modeLabelHolder
-                    adjust: right
-                    postBuildCallback: postBuildEditModeInfoLabel:
-                  )
-                 (LabelSpec
-                    label: 'L'
-                    name: 'LineLabel'
-                    layout: (LayoutFrame -55 1 1 0.0 -20 1 1 1.0)
-                    activeHelpKey: lineLabel
-                    level: -1
-                    translateLabel: true
-                    labelChannel: cursorLineLabelHolder
-                    adjust: right
-                  )
-                 (LabelSpec
-                    label: 'C'
-                    name: 'ColLabel'
-                    layout: (LayoutFrame -20 1 1 0.0 0 1 1 1.0)
-                    activeHelpKey: columnLabel
-                    level: -1
-                    translateLabel: true
-                    labelChannel: cursorColLabelHolder
-                    adjust: right
-                  )
-                 )
-               
-              )
-            )
-           (LabelSpec
-              label: 'Preview'
-              name: 'PreviewLabel'
-              layout: (LayoutFrame 0 0.5 39 0 100 0.5 61 0)
-              level: 0
-              borderWidth: 1
-              visibilityChannel: previewVisibleHolder
-              backgroundColor: (Color 86.999313344015 86.999313344015 86.999313344015)
-              translateLabel: true
-            )
-           (ArbitraryComponentSpec
-              name: 'Preview'
-              layout: (LayoutFrame 0 0.5 63 0 -147 1 -319 1)
-              level: 1
-              visibilityChannel: previewVisibleHolder
-              hasBorder: false
-              component: ImageView
-            )
-           (ActionButtonSpec
-              label: 'closePreviewButtonImage'
-              name: 'ClosePreviewButton'
-              layout: (LayoutFrame -169 1 39 0 -147 1 61 0)
-              visibilityChannel: previewVisibleHolder
-              hasCharacterOrientedLabel: false
-              translateLabel: true
-            )
-           )
-         
-        )
+	  collection: (
+	   (ViewSpec
+	      name: 'ToolbarBox'
+	      layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+	      level: 0
+	      visibilityChannel: toolBarVisibleHolder
+	      component:
+	     (SpecCollection
+		collection: (
+		 (ActionButtonSpec
+		    label: 'hideToolBarIcon'
+		    name: 'HideToolBarButton'
+		    layout: (LayoutFrame 0 0 0 0 13 0 40 0)
+		    activeHelpKey: hideToolBar
+		    hasCharacterOrientedLabel: false
+		    translateLabel: true
+		    model: hideToolbar
+		    postBuildCallback: hideToolBarButtonCreated:
+		  )
+		 (MenuPanelSpec
+		    name: 'ToolBar'
+		    layout: (LayoutFrame 13 0 0 0 0 1 40 0)
+		    menu: toolBarMainMenu
+		    textDefault: true
+		  )
+		 )
+
+	      )
+	    )
+	   (ViewSpec
+	      name: 'FilenameEntryFieldBox'
+	      layout: (LayoutFrame 0 0 40 0 0 1 65 0)
+	      level: 0
+	      visibilityChannel: filenameEntryFieldVisibleHolder
+	      component:
+	     (SpecCollection
+		collection: (
+		 (ActionButtonSpec
+		    label: 'hideFilenameEntryFieldIcon'
+		    name: 'HideFilenameEntryFieldButton'
+		    layout: (LayoutFrame 0 0 0 0 13 0 0 1)
+		    activeHelpKey: hideFilenameEntryField
+		    hasCharacterOrientedLabel: false
+		    translateLabel: true
+		    model: hideFilenameEntryField
+		    postBuildCallback: hideFilenameEntryFieldButtonCreated:
+		  )
+		 (HorizontalPanelViewSpec
+		    name: 'HorizontalPanel1'
+		    layout: (LayoutFrame 13 0.0 0 0.0 0 1.0 0 1.0)
+		    level: 1
+		    horizontalLayout: leftFit
+		    verticalLayout: fit
+		    horizontalSpace: 3
+		    verticalSpace: 3
+		    component:
+		   (SpecCollection
+		      collection: (
+		       (ComboListSpec
+			  name: 'ComboList1'
+			  visibilityChannel: driveSelectorVisible
+			  model: selectedDeviceDrive
+			  comboList: listOfDeviceDrives
+			  useIndex: false
+			  hidePullDownMenuButton: false
+			  extent: (Point 53 23)
+			)
+		       (VariableHorizontalPanelSpec
+			  name: 'VariableHorizontalPanel1'
+			  level: 0
+			  showHandle: true
+			  component:
+			 (SpecCollection
+			    collection: (
+			     (NonScrollableArbitraryComponentSpec
+				name: 'NonScrollableArbitraryComponent1'
+				component: FilenameEditFieldV2
+				postBuildCallback: postBuildEditField:
+			      )
+			     (ViewSpec
+				name: 'FilterBox'
+				component:
+			       (SpecCollection
+				  collection: (
+				   (LabelSpec
+				      label: 'Filter:'
+				      name: 'Filter'
+				      layout: (LayoutFrame 0 0 0 0 40 0 0 1)
+				      translateLabel: true
+				      adjust: left
+				      postBuildCallback: postBuildPathViewBox:
+				    )
+				   (ComboBoxSpec
+				      name: 'FilterSelectionBox'
+				      layout: (LayoutFrame 40 0 0 0 0 1 0 1)
+				      model: filterModel
+				      immediateAccept: true
+				      acceptOnPointerLeave: false
+				      comboList: filterListModel
+				    )
+				   )
+
+				)
+				postBuildCallback: postBuildPathViewBox:
+			      )
+			     )
+
+			  )
+			  handles: (Any 0.774936 1.0)
+			  postBuildCallback: postBuildPathViewBox:
+			  useDefaultExtent: true
+			)
+		       )
+
+		    )
+		    postBuildCallback: postBuildPathViewBox:
+		  )
+		 )
+
+	      )
+	    )
+	   (#'FileBrowserV2UISpecifications::PanelSpec'
+	      name: 'BrowserBox'
+	      layout: (LayoutFrame 0 0.0 65 0.0 0 1.0 -26 1.0)
+	      level: 0
+	      showHandle: true
+	      snapMode: both
+	      whichView: last
+	      orientation: vertical
+	      visibility: viewNoteBookApplicationHolder
+	      component:
+	     (SpecCollection
+		collection: (
+		 (#'FileBrowserV2UISpecifications::PanelSpec'
+		    name: 'HorizontalPanel'
+		    level: 0
+		    snapMode: both
+		    whichView: first
+		    orientation: horizontal
+		    visibility: showDirectoryTree
+		    component:
+		   (SpecCollection
+		      collection: (
+		       (SubCanvasSpec
+			  name: 'DirectoryTreeBrowser'
+			  hasHorizontalScrollBar: false
+			  hasVerticalScrollBar: false
+			  majorKey: DirectoryTreeBrowser
+			  createNewApplication: true
+			  createNewBuilder: true
+			  postBuildCallback: postBuildDirectoryTree:
+			)
+		       (SubCanvasSpec
+			  name: 'DirectoryContentsBrowser'
+			  hasHorizontalScrollBar: false
+			  hasVerticalScrollBar: false
+			  majorKey: DirectoryContentsBrowser
+			  createNewApplication: true
+			  createNewBuilder: true
+			)
+		       )
+
+		    )
+		    handles: (Any 0.225 1.0)
+		  )
+		 (SubCanvasSpec
+		    name: 'FileApplicationNoteBook'
+		    tabable: false
+		    hasHorizontalScrollBar: false
+		    hasVerticalScrollBar: false
+		    majorKey: FileApplicationNoteBook
+		    createNewApplication: true
+		    createNewBuilder: true
+		  )
+		 )
+
+	      )
+	      handles: (Any 0.5 1.0)
+	    )
+	   (ViewSpec
+	      name: 'InfoBox'
+	      layout: (LayoutFrame 0 0 -26 1 0 1 0 1)
+	      level: 0
+	      visibilityChannel: infoBarVisibleHolder
+	      component:
+	     (SpecCollection
+		collection: (
+		 (LabelSpec
+		    label: 'NotifyLabel'
+		    name: 'NotifyLabel'
+		    layout: (LayoutFrame 0 0 1 0.0 -220 1 1 1.0)
+		    level: -1
+		    translateLabel: true
+		    labelChannel: notifyChannel
+		    adjust: left
+		  )
+		 (LabelSpec
+		    label: 'encoding'
+		    name: 'EncodingLabel'
+		    layout: (LayoutFrame -318 1 2 0.0 -235 1 0 1.0)
+		    activeHelpKey: encodingLabel
+		    level: 0
+		    labelChannel: fileEncodingHolder
+		    adjust: right
+		    menu: encodingMenu
+		  )
+		 (LabelSpec
+		    name: 'FileEncodingLockedLabel'
+		    layout: (LayoutFrame -235 1 2 0.0 -220 1 20 0.0)
+		    activeHelpKey: encodingLockedLabel
+		    level: 0
+		    labelChannel: fileEncodingLockImageHolder
+		    adjust: right
+		    menu: encodingMenu
+		  )
+		 (LabelSpec
+		    label: 'Shown Files'
+		    name: 'ShownFilesLabel'
+		    layout: (LayoutFrame -220 1 1 0.0 -65 1 1 1.0)
+		    activeHelpKey: numberOfFiles
+		    level: -1
+		    translateLabel: true
+		    labelChannel: shownFiles
+		    adjust: right
+		  )
+		 (ViewSpec
+		    name: 'ProgressIndicatorBox'
+		    layout: (LayoutFrame -220 1 1 0.0 -65 1 1 1.0)
+		    level: -1
+		    visibilityChannel: activityVisibilityChannel
+		    component:
+		   (SpecCollection
+		      collection: (
+		       (ProgressIndicatorSpec
+			  name: 'ProgressIndicator1'
+			  layout: (LayoutFrame 5 0.0 -7 0.5 -5 1.0 7 0.5)
+			  backgroundColor: (Color 0.0 66.6666666666667 66.6666666666667)
+			  isActivityIndicator: true
+			)
+		       )
+
+		    )
+		  )
+		 (LabelSpec
+		    name: 'BusyLabel'
+		    layout: (LayoutFrame -220 1 1 0.0 -65 1 1 1.0)
+		    activeHelpKey: modeLabel
+		    level: -1
+		    visibilityChannel: busyLabelVisibleHolder
+		    translateLabel: true
+		    labelChannel: busyLabelHolder
+		    adjust: right
+		  )
+		 (LabelSpec
+		    label: 'M'
+		    name: 'ModeLabel'
+		    layout: (LayoutFrame -65 1 1 0.0 -55 1 1 1.0)
+		    activeHelpKey: modeLabel
+		    level: -1
+		    translateLabel: true
+		    labelChannel: modeLabelHolder
+		    adjust: right
+		    postBuildCallback: postBuildEditModeInfoLabel:
+		  )
+		 (LabelSpec
+		    label: 'L'
+		    name: 'LineLabel'
+		    layout: (LayoutFrame -55 1 1 0.0 -20 1 1 1.0)
+		    activeHelpKey: lineLabel
+		    level: -1
+		    translateLabel: true
+		    labelChannel: cursorLineLabelHolder
+		    adjust: right
+		  )
+		 (LabelSpec
+		    label: 'C'
+		    name: 'ColLabel'
+		    layout: (LayoutFrame -20 1 1 0.0 0 1 1 1.0)
+		    activeHelpKey: columnLabel
+		    level: -1
+		    translateLabel: true
+		    labelChannel: cursorColLabelHolder
+		    adjust: right
+		  )
+		 )
+
+	      )
+	      keepSpaceForOSXResizeHandleH: true
+	    )
+	   (LabelSpec
+	      label: 'Preview'
+	      name: 'PreviewLabel'
+	      layout: (LayoutFrame 0 0.5 39 0 100 0.5 61 0)
+	      level: 0
+	      borderWidth: 1
+	      visibilityChannel: previewVisibleHolder
+	      backgroundColor: (Color 86.9993133440147 86.9993133440147 86.9993133440147)
+	      translateLabel: true
+	    )
+	   (ArbitraryComponentSpec
+	      name: 'Preview'
+	      layout: (LayoutFrame 0 0.5 63 0 -147 1 -319 1)
+	      level: 1
+	      visibilityChannel: previewVisibleHolder
+	      hasBorder: false
+	      component: ImageView
+	    )
+	   (ActionButtonSpec
+	      label: 'closePreviewButtonImage'
+	      name: 'ClosePreviewButton'
+	      layout: (LayoutFrame -169 1 39 0 -147 1 61 0)
+	      visibilityChannel: previewVisibleHolder
+	      hasCharacterOrientedLabel: false
+	      translateLabel: true
+	    )
+	   )
+
+	)
       )
 ! !
 
+
 !FileBrowserV2 class methodsFor:'menu specs'!
 
 editModeInfoLabelMenu
@@ -1027,225 +1035,226 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(Menu
-        (
-         (MenuItem
-            activeHelpKey: directoryBack
-            enabled: enableBack
-            label: 'Back'
-            itemValue: doBack
-            translateLabel: true
-            isButton: true
-            submenuChannel: menuDirHistoryBack
-            labelImage: (ResourceRetriever ToolbarIconLibrary historyBackIcon)
-          )
-         (MenuItem
-            label: ''
-          )
-         (MenuItem
-            activeHelpKey: directoryForward
-            enabled: enableForward
-            label: 'Forward'
-            itemValue: doForward
-            translateLabel: true
-            isButton: true
-            submenuChannel: menuDirHistoryForward
-            labelImage: (ResourceRetriever ToolbarIconLibrary historyForwardIcon)
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            activeHelpKey: directoryUp
-            enabled: enableDirectoryUp
-            label: 'DirectoryUp'
-            itemValue: doGoDirectoryUp
-            translateLabel: true
-            isButton: true
-            labelImage: (ResourceRetriever ToolbarIconLibrary directoryUpIcon)
-          )
-         (MenuItem
-            activeHelpKey: fileHome
-            enabled: enableHome
-            label: 'Home'
-            itemValue: doGotoHomeDirectory
-            translateLabel: true
-            isButton: true
-            labelImage: (ResourceRetriever ToolbarIconLibrary homeIcon)
-          )
-         (MenuItem
-            activeHelpKey: fileGotoDefaultDirectory
-            enabled: enableGotoDefaultDirectory
-            label: 'Current'
-            itemValue: doGotoDefaultDirectory
-            translateLabel: true
-            isButton: true
-            isVisible: false
-            labelImage: (ResourceRetriever ToolbarIconLibrary currentDirectoryIcon)
-          )
-         (MenuItem
-            activeHelpKey: fileGotoSmalltalkDirectory
-            enabled: enableGotoSmalltalkDirectory
-            label: 'ST/X Default'
-            itemValue: doGotoSmalltalkDirectory
-            translateLabel: true
-            isButton: true
-            labelImage: (ResourceRetriever ToolbarIconLibrary stxHomeIcon)
-          )
-         (MenuItem
-            activeHelpKey: fileGotoBookmark
-            label: 'Bookmarks'
-            translateLabel: true
-            isButton: true
-            submenuChannel: gotoBookmarksMenu
-            labelImage: (ResourceRetriever ToolbarIconLibrary directoryBookmarksIcon)
-          )
-         (MenuItem
-            activeHelpKey: fileHistory
-            enabled: enableFileHistory
-            label: 'File History'
-            translateLabel: true
-            isButton: true
-            submenuChannel: menuFileHistory
-            labelImage: (ResourceRetriever ToolbarIconLibrary historyIcon)
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            activeHelpKey: searchFile
-            label: 'Search File'
-            itemValue: doOpenSearchFile
-            translateLabel: true
-            isButton: true
-            labelImage: (ResourceRetriever ToolbarIconLibrary searchFileIcon)
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            activeHelpKey: cutFile
-            enabled: hasSelection
-            label: 'Cut'
-            itemValue: cutFiles
-            translateLabel: true
-            isButton: true
-            labelImage: (ResourceRetriever ToolbarIconLibrary cutFileIcon)
-          )
-         (MenuItem
-            activeHelpKey: copyFile
-            enabled: hasSelection
-            label: 'Copy'
-            itemValue: copyFiles
-            translateLabel: true
-            isButton: true
-            labelImage: (ResourceRetriever ToolbarIconLibrary copyFileIcon)
-          )
-         (MenuItem
-            activeHelpKey: pasteFile
-            enabled: canPaste
-            label: 'Paste'
-            itemValue: pasteFiles
-            translateLabel: true
-            isButton: true
-            labelImage: (ResourceRetriever ToolbarIconLibrary pasteFileIcon)
-          )
-         (MenuItem
-            activeHelpKey: deleteFile
-            enabled: hasSelection
-            label: 'Delete'
-            itemValue: deleteFiles
-            translateLabel: true
-            isButton: true
-            labelImage: (ResourceRetriever ToolbarIconLibrary deleteFileIcon)
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            activeHelpKey: editFile
-            label: 'Edit File'
-            itemValue: doShowFileContents
-            translateLabel: true
-            isButton: true
-            labelImage: (ResourceRetriever ToolbarIconLibrary editFileIcon)
-          )
-         (MenuItem
-            activeHelpKey: fileIn
-            label: 'File In'
-            itemValue: fileFileIn
-            translateLabel: true
-            isButton: true
-            labelImage: (ResourceRetriever ToolbarIconLibrary fileInIcon)
-          )
-         (MenuItem
-            activeHelpKey: openChangeBrowser
-            enabled: hasFileSelection
-            label: 'Changes Browser'
-            itemValue: openChangesBrowser
-            translateLabel: true
-            isButton: true
-            labelImage: (ResourceRetriever ToolbarIconLibrary startChangesBrowserIcon)
-          )
-         (MenuItem
-            label: '-'
-            isVisible: false
-          )
-         (MenuItem
-            activeHelpKey: addTerminal
-            label: 'VT100'
-            itemValue: doAddTerminal
-            translateLabel: true
-            isButton: true
-            isVisible: false
-            labelImage: (ResourceRetriever ToolbarIconLibrary shellTerminalIcon)
-          )
-         (MenuItem
-            activeHelpKey: make
-            enabled: canMake
-            label: 'Make'
-            itemValue: doMake
-            translateLabel: true
-            isButton: true
-            isVisible: false
-            labelImage: (ResourceRetriever ToolbarIconLibrary makeIcon)
-          )
-         (MenuItem
-            activeHelpKey: viewDetails
-            label: 'viewDetails'
-            translateLabel: true
-            isButton: true
-            startGroup: right
-            hideMenuOnActivated: false
-            indication: viewDetails
-            labelImage: (ResourceRetriever ToolbarIconLibrary viewDetailsIcon)
-          )
-         (MenuItem
-            activeHelpKey: viewDetails
-            label: 'viewDetails'
-            translateLabel: true
-            isButton: true
-            startGroup: right
-            isVisible: false
-            indication: viewDetails
-            submenuChannel: viewDetailsMenuSpec
-            labelImage: (ResourceRetriever ToolbarIconLibrary viewDetailsIcon)
-          )
-         (MenuItem
-            activeHelpKey: selectDetails
-            label: ''
-            isButton: true
-            startGroup: right
-            submenuChannel: viewDetailsMenuSpec
-            labelImage: (ResourceRetriever ToolbarIconLibrary empty1x20Icon)
-          )
-         )
-        nil
-        nil
+	(
+	 (MenuItem
+	    activeHelpKey: directoryBack
+	    enabled: enableBack
+	    label: 'Back'
+	    itemValue: doBack
+	    translateLabel: true
+	    isButton: true
+	    submenuChannel: menuDirHistoryBack
+	    labelImage: (ResourceRetriever ToolbarIconLibrary historyBackIcon)
+	  )
+	 (MenuItem
+	    label: ''
+	  )
+	 (MenuItem
+	    activeHelpKey: directoryForward
+	    enabled: enableForward
+	    label: 'Forward'
+	    itemValue: doForward
+	    translateLabel: true
+	    isButton: true
+	    submenuChannel: menuDirHistoryForward
+	    labelImage: (ResourceRetriever ToolbarIconLibrary historyForwardIcon)
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    activeHelpKey: directoryUp
+	    enabled: enableDirectoryUp
+	    label: 'DirectoryUp'
+	    itemValue: doGoDirectoryUp
+	    translateLabel: true
+	    isButton: true
+	    labelImage: (ResourceRetriever ToolbarIconLibrary directoryUpIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: fileHome
+	    enabled: enableHome
+	    label: 'Home'
+	    itemValue: doGotoHomeDirectory
+	    translateLabel: true
+	    isButton: true
+	    labelImage: (ResourceRetriever ToolbarIconLibrary homeIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: fileGotoDefaultDirectory
+	    enabled: enableGotoDefaultDirectory
+	    label: 'Current'
+	    itemValue: doGotoDefaultDirectory
+	    translateLabel: true
+	    isButton: true
+	    isVisible: false
+	    labelImage: (ResourceRetriever ToolbarIconLibrary currentDirectoryIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: fileGotoSmalltalkDirectory
+	    enabled: enableGotoSmalltalkDirectory
+	    label: 'ST/X Default'
+	    itemValue: doGotoSmalltalkDirectory
+	    translateLabel: true
+	    isButton: true
+	    labelImage: (ResourceRetriever ToolbarIconLibrary stxHomeIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: fileGotoBookmark
+	    label: 'Bookmarks'
+	    translateLabel: true
+	    isButton: true
+	    submenuChannel: gotoBookmarksMenu
+	    labelImage: (ResourceRetriever ToolbarIconLibrary directoryBookmarksIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: fileHistory
+	    enabled: enableFileHistory
+	    label: 'File History'
+	    translateLabel: true
+	    isButton: true
+	    submenuChannel: menuFileHistory
+	    labelImage: (ResourceRetriever ToolbarIconLibrary historyIcon)
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    activeHelpKey: searchFile
+	    label: 'Search File'
+	    itemValue: doOpenSearchFile
+	    translateLabel: true
+	    isButton: true
+	    labelImage: (ResourceRetriever ToolbarIconLibrary searchFileIcon)
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    activeHelpKey: cutFile
+	    enabled: hasSelection
+	    label: 'Cut'
+	    itemValue: cutFiles
+	    translateLabel: true
+	    isButton: true
+	    labelImage: (ResourceRetriever ToolbarIconLibrary cutFileIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: copyFile
+	    enabled: hasSelection
+	    label: 'Copy'
+	    itemValue: copyFiles
+	    translateLabel: true
+	    isButton: true
+	    labelImage: (ResourceRetriever ToolbarIconLibrary copyFileIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: pasteFile
+	    enabled: canPaste
+	    label: 'Paste'
+	    itemValue: pasteFiles
+	    translateLabel: true
+	    isButton: true
+	    labelImage: (ResourceRetriever ToolbarIconLibrary pasteFileIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: deleteFile
+	    enabled: hasSelection
+	    label: 'Delete'
+	    itemValue: deleteFiles
+	    translateLabel: true
+	    isButton: true
+	    labelImage: (ResourceRetriever ToolbarIconLibrary deleteFileIcon)
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    activeHelpKey: editFile
+	    label: 'Edit File'
+	    itemValue: doShowFileContents
+	    translateLabel: true
+	    isButton: true
+	    labelImage: (ResourceRetriever ToolbarIconLibrary editFileIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: fileIn
+	    label: 'File In'
+	    itemValue: fileFileIn
+	    translateLabel: true
+	    isButton: true
+	    labelImage: (ResourceRetriever ToolbarIconLibrary fileInIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: openChangeBrowser
+	    enabled: hasFileSelection
+	    label: 'Changes Browser'
+	    itemValue: openChangesBrowser
+	    translateLabel: true
+	    isButton: true
+	    labelImage: (ResourceRetriever ToolbarIconLibrary startChangesBrowserIcon)
+	  )
+	 (MenuItem
+	    label: '-'
+	    isVisible: false
+	  )
+	 (MenuItem
+	    activeHelpKey: addTerminal
+	    label: 'VT100'
+	    itemValue: doAddTerminal
+	    translateLabel: true
+	    isButton: true
+	    isVisible: false
+	    labelImage: (ResourceRetriever ToolbarIconLibrary shellTerminalIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: make
+	    enabled: canMake
+	    label: 'Make'
+	    itemValue: doMake
+	    translateLabel: true
+	    isButton: true
+	    isVisible: false
+	    labelImage: (ResourceRetriever ToolbarIconLibrary makeIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: viewDetails
+	    label: 'viewDetails'
+	    translateLabel: true
+	    isButton: true
+	    startGroup: right
+	    hideMenuOnActivated: false
+	    indication: viewDetails
+	    labelImage: (ResourceRetriever ToolbarIconLibrary viewDetailsIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: viewDetails
+	    label: 'viewDetails'
+	    translateLabel: true
+	    isButton: true
+	    startGroup: right
+	    isVisible: false
+	    indication: viewDetails
+	    submenuChannel: viewDetailsMenuSpec
+	    labelImage: (ResourceRetriever ToolbarIconLibrary viewDetailsIcon)
+	  )
+	 (MenuItem
+	    activeHelpKey: selectDetails
+	    label: ''
+	    isButton: true
+	    startGroup: right
+	    submenuChannel: viewDetailsMenuSpec
+	    labelImage: (ResourceRetriever ToolbarIconLibrary empty1x20Icon)
+	  )
+	 )
+	nil
+	nil
       )
 ! !
 
+
 !FileBrowserV2 methodsFor:'actions'!
 
 changeFileBrowserTitleTo:aString
@@ -1285,6 +1294,7 @@
     ].
 ! !
 
+
 !FileBrowserV2 methodsFor:'aspects'!
 
 busyLabelHolder
@@ -1431,6 +1441,7 @@
     ^ selectedDeviceDrive
 ! !
 
+
 !FileBrowserV2 methodsFor:'aspects-visibility'!
 
 busyLabelVisibleHolder
@@ -1467,6 +1478,7 @@
     ^ self aspectFor:#toolBarVisibleHolder ifAbsent:[true asValue]
 ! !
 
+
 !FileBrowserV2 methodsFor:'change & update'!
 
 currentFileNameHolderChanged
@@ -1732,6 +1744,7 @@
     ].
 ! !
 
+
 !FileBrowserV2 methodsFor:'event handling'!
 
 crPressedInPathField
@@ -1748,56 +1761,58 @@
     "filter keyboard events.
      Return true, if I have eaten the event"
 
+    <resource: #keyboard (#Return )>
+
     |focusView key rawKey fileName|
 
     anEvent isKeyPressEvent ifTrue:[
-        focusView := anEvent targetView.
-        key := anEvent key.
-        rawKey := anEvent rawKey.
+	focusView := anEvent targetView.
+	key := anEvent key.
+	rawKey := anEvent rawKey.
 
-        (focusView isSameOrComponentOf:self window) ifTrue:[
+	(focusView isSameOrComponentOf:self window) ifTrue:[
 
-            (focusView == pathEntryField) ifFalse:[ ^ false].
+	    (focusView == pathEntryField) ifFalse:[ ^ false].
 
-            (key == #Return) ifTrue:[
-                fileName := pathEntryField list first asFilename.
-                (fileName exists and:[fileName isDirectory not]) ifTrue:[
-                    self openApplForFile:fileName
-                ].
-            ].
-        ]
+	    (key == #Return) ifTrue:[
+		fileName := pathEntryField list first asFilename.
+		(fileName exists and:[fileName isDirectory not]) ifTrue:[
+		    self openApplForFile:fileName
+		].
+	    ].
+	]
     ].
 
     (anEvent isButtonPressEvent or:[anEvent isButtonMultiPressEvent]) ifTrue:[
-        self 
-            applicationNamed:#FileApplicationNoteBook
-            ifPresentDo:[:appl |
-                |subApp eventView viewsName|
+	self
+	    applicationNamed:#FileApplicationNoteBook
+	    ifPresentDo:[:appl |
+		|subApp eventView viewsName|
 
-                subApp := appl selectedApplication.
-                subApp notNil ifTrue:[
-                    eventView := anEvent view.
-                    viewsName := eventView name.
+		subApp := appl selectedApplication.
+		subApp notNil ifTrue:[
+		    eventView := anEvent view.
+		    viewsName := eventView name.
 
-                    anEvent isButtonMultiPressEvent ifTrue:[
-                        viewsName = 'LineLabel' ifTrue:[
-                            subApp editView gotoLine
-                        ].
-                        viewsName = 'ModeLabel' ifTrue:[
-                            eventView activateMenu
-                        ].
-                        viewsName = 'EncodingLabel' ifTrue:[
-                            eventView activateMenu
-                        ].
-                    ] ifFalse:[
-                        anEvent button == 2 ifTrue:[
-                            eventView name = 'LineLabel' ifTrue:[
-                                subApp editView gotoLine
-                            ].
-                        ].
-                    ].
-                ].
-            ].
+		    anEvent isButtonMultiPressEvent ifTrue:[
+			viewsName = 'LineLabel' ifTrue:[
+			    subApp editView gotoLine
+			].
+			viewsName = 'ModeLabel' ifTrue:[
+			    eventView activateMenu
+			].
+			viewsName = 'EncodingLabel' ifTrue:[
+			    eventView activateMenu
+			].
+		    ] ifFalse:[
+			anEvent button == 2 ifTrue:[
+			    eventView name = 'LineLabel' ifTrue:[
+				subApp editView gotoLine
+			    ].
+			].
+		    ].
+		].
+	    ].
     ].
 
     ^ false
@@ -1805,6 +1820,7 @@
     "Modified: / 17-05-2007 / 09:12:53 / cg"
 ! !
 
+
 !FileBrowserV2 methodsFor:'menu accessing'!
 
 menuFileHistory
@@ -1853,12 +1869,14 @@
     "Modified: / 09-09-2012 / 13:08:42 / cg"
 ! !
 
+
 !FileBrowserV2 methodsFor:'queries'!
 
 getAllFilesAsStrings
     ^ self directoryContentsBrowser getAllFilesAsStrings
 ! !
 
+
 !FileBrowserV2 methodsFor:'startup & release'!
 
 closeRequest
@@ -2020,14 +2038,16 @@
     ^ super release
 ! !
 
+
 !FileBrowserV2 class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/FileBrowserV2.st,v 1.202 2012/10/16 07:07:42 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/FileBrowserV2.st,v 1.205 2013-01-26 21:04:45 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: FileBrowserV2.st 8084 2013-01-14 12:06:02Z vranyj1 $'
 ! !
 
+
 FileBrowserV2 initialize!
--- a/FileOperation.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/FileOperation.st	Wed Jan 30 11:15:09 2013 +0000
@@ -83,6 +83,7 @@
 "
 ! !
 
+
 !FileOperation class methodsFor:'instance creation'!
 
 copyCorruptedFile:aSourceFile to:aDestFile
@@ -151,12 +152,14 @@
     ^ Rename renameFiles:aCollectionofFilenames
 ! !
 
+
 !FileOperation class methodsFor:'defaults'!
 
 suffixForCopyOverExistingFile
     ^ '.copy'
 ! !
 
+
 !FileOperation methodsFor:'accessing'!
 
 errorString
@@ -175,6 +178,7 @@
     result := something.
 ! !
 
+
 !FileOperation methodsFor:'dialogs & helpers'!
 
 checkDirectoryExists:aDirectory
@@ -327,12 +331,14 @@
     "Created: / 20-03-2012 / 11:44:34 / cg"
 ! !
 
+
 !FileOperation methodsFor:'queries'!
 
 isErase
     ^ false
 ! !
 
+
 !FileOperation::Copy class methodsFor:'actions'!
 
 copyFile:aSourceFile to:aDestFile
@@ -383,6 +389,7 @@
     ^ instance
 ! !
 
+
 !FileOperation::Copy methodsFor:'accessing'!
 
 colOfCopiedFiles
@@ -405,6 +412,7 @@
     ^ newFiles
 ! !
 
+
 !FileOperation::Copy methodsFor:'actions'!
 
 copyFile:aSourceFile to:aDestFile
@@ -423,6 +431,7 @@
     ^ self copyFiles:aColOfSourceFiles to:aDirectory withOverWriteWarning:overWriteWarning copyFileIfSame:true.
 ! !
 
+
 !FileOperation::Copy methodsFor:'actions-basic'!
 
 basicCopy:aSourceFile to:newFile
@@ -549,6 +558,7 @@
     "Modified: / 07-02-2007 / 18:36:54 / cg"
 ! !
 
+
 !FileOperation::CopyCorrupted methodsFor:'actions-basic'!
 
 basicCopy:aSourceFile to:newFile
@@ -685,6 +695,7 @@
     "Modified: / 21-06-2010 / 14:25:22 / cg"
 ! !
 
+
 !FileOperation::CopyCorrupted methodsFor:'defaults'!
 
 bufferSize
@@ -708,6 +719,7 @@
     "Modified: / 27-11-2010 / 18:05:19 / cg"
 ! !
 
+
 !FileOperation::Create class methodsFor:'actions'!
 
 createDirectoryIn:aDirectory
@@ -759,6 +771,7 @@
     ^ self createLinkIn:aFile soft:true
 ! !
 
+
 !FileOperation::Create methodsFor:'accessing'!
 
 createdFile
@@ -769,6 +782,7 @@
     createdFile := something.
 ! !
 
+
 !FileOperation::Create methodsFor:'actions'!
 
 createDirectoryIn:startDirectory
@@ -800,6 +814,7 @@
     self errorString:msg.
 ! !
 
+
 !FileOperation::Create methodsFor:'actions-basic'!
 
 createDirectoryIn:startDirectory initialAnswer:initialAnswerArg
@@ -1003,6 +1018,7 @@
     ].
 ! !
 
+
 !FileOperation::Delete class methodsFor:'actions'!
 
 deleteFile:aFileOrDirectory
@@ -1029,6 +1045,7 @@
     ^ instance
 ! !
 
+
 !FileOperation::Delete methodsFor:'actions'!
 
 deleteFiles:colOfFiles
@@ -1039,6 +1056,7 @@
     "intentionally left blank"
 ! !
 
+
 !FileOperation::Delete methodsFor:'actions-basic'!
 
 deleteFile:aFileOrDirectory
@@ -1179,6 +1197,7 @@
     "Modified: / 11-10-2010 / 13:08:20 / cg"
 ! !
 
+
 !FileOperation::Erase methodsFor:'actions-basic'!
 
 eraseFilesContentsBeforeRemoving:file
@@ -1208,12 +1227,14 @@
     "Modified: / 07-02-2007 / 18:20:21 / cg"
 ! !
 
+
 !FileOperation::Erase methodsFor:'queries'!
 
 isErase
     ^ true
 ! !
 
+
 !FileOperation::Move class methodsFor:'actions'!
 
 moveFile:aSourceFile to:aDestFile
@@ -1264,6 +1285,7 @@
     ^ instance
 ! !
 
+
 !FileOperation::Move methodsFor:'accessing'!
 
 colOfMovedFiles
@@ -1279,6 +1301,7 @@
     ^ movedFiles
 ! !
 
+
 !FileOperation::Move methodsFor:'actions'!
 
 moveFile:aSourceFile to:aDestFile
@@ -1301,6 +1324,7 @@
     ^ self moveFiles:aColOfSourceFiles to:aDirectory withOverWriteWarning:overWriteWarning moveFileIfSame:true
 ! !
 
+
 !FileOperation::Move methodsFor:'actions-basic'!
 
 moveFile:aSourceFile to:aDestFile withOverWriteWarning:overWriteWarning moveFileIfSame:move
@@ -1465,6 +1489,7 @@
     "Modified: / 20-03-2012 / 11:53:35 / cg"
 ! !
 
+
 !FileOperation::Rename class methodsFor:'actions'!
 
 renameFile:oldFile to:newName
@@ -1483,6 +1508,7 @@
     ^ instance
 ! !
 
+
 !FileOperation::Rename methodsFor:'accessing'!
 
 renamedFiles
@@ -1492,6 +1518,7 @@
     ^ renamedFiles
 ! !
 
+
 !FileOperation::Rename methodsFor:'actions-basic'!
 
 renameFile:oldFile to:newName
@@ -1598,16 +1625,18 @@
     ]
 ! !
 
+
 !FileOperation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.90 2012/03/20 11:01:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.90 2012-03-20 11:01:05 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.90 2012/03/20 11:01:05 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.90 2012-03-20 11:01:05 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: FileOperation.st 7952 2012-03-21 17:50:14Z vranyj1 $'
 ! !
+
--- a/FilenameEditFieldV2.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/FilenameEditFieldV2.st	Wed Jan 30 11:15:09 2013 +0000
@@ -47,6 +47,7 @@
 "
 ! !
 
+
 !FilenameEditFieldV2 methodsFor:'accessing'!
 
 acceptOnExpand
@@ -146,6 +147,7 @@
     "Modified: 6.9.1995 / 20:34:57 / claus"
 ! !
 
+
 !FilenameEditFieldV2 methodsFor:'initialization'!
 
 initialize
@@ -212,12 +214,15 @@
     "Created: 24.7.1997 / 18:21:51 / cg"
 ! !
 
+
 !FilenameEditFieldV2 methodsFor:'menu'!
 
 processEvent:anEvent
     "catch keyEvents in pulled menu (see redefined pullMenu-method).
      Return true, if I have eaten the event"
 
+    <resource: #keyboard (#BackSpace )>
+
     activeMenu notNil ifTrue:[
         anEvent isKeyPressEvent ifTrue:[
             "/ typing into the pulled menu behaves like typing into the field
@@ -272,12 +277,14 @@
     pullDownButton turnOff.
 ! !
 
+
 !FilenameEditFieldV2 class methodsFor:'documentation'!
 
 version
-    ^ '$Id: FilenameEditFieldV2.st 7854 2012-01-30 17:49:41Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/FilenameEditFieldV2.st,v 1.14 2013-01-17 11:18:19 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: FilenameEditFieldV2.st 7854 2012-01-30 17:49:41Z vranyj1 $'
 ! !
+
--- a/FindFileApplication.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/FindFileApplication.st	Wed Jan 30 11:15:09 2013 +0000
@@ -45,6 +45,7 @@
 "
 ! !
 
+
 !FindFileApplication class methodsFor:'instance creation'!
 
 open
@@ -80,6 +81,7 @@
     ^ builder
 ! !
 
+
 !FindFileApplication class methodsFor:'defaults'!
 
 tabStringFor:aApplicationType
@@ -90,6 +92,7 @@
     "Modified: / 01-03-2007 / 21:47:54 / cg"
 ! !
 
+
 !FindFileApplication class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -141,6 +144,7 @@
     "Modified: / 28-03-2012 / 23:03:39 / cg"
 ! !
 
+
 !FindFileApplication class methodsFor:'history'!
 
 addToSearchStringHistory:aString
@@ -159,6 +163,7 @@
     ^ SearchStringHistory
 ! !
 
+
 !FindFileApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -539,6 +544,7 @@
 
 ! !
 
+
 !FindFileApplication class methodsFor:'menu specs'!
 
 menu
@@ -698,12 +704,14 @@
       )
 ! !
 
+
 !FindFileApplication class methodsFor:'startup & release'!
 
 releaseContentsInfoCache
     ContentsInfoCache := ContentsInfoCacheAccessLock := nil.
 ! !
 
+
 !FindFileApplication class methodsFor:'tableColumns specs'!
 
 searchResultTable
@@ -732,6 +740,7 @@
     
 ! !
 
+
 !FindFileApplication methodsFor:'actions'!
 
 clearCache
@@ -934,6 +943,7 @@
     ].
 ! !
 
+
 !FindFileApplication methodsFor:'aspects'!
 
 canUseGrep
@@ -1168,6 +1178,7 @@
     ^ useLocate.
 ! !
 
+
 !FindFileApplication methodsFor:'private'!
 
 changeExtentToSeeSearchResult
@@ -1188,6 +1199,7 @@
     "Modified: / 08-08-2010 / 14:42:40 / cg"
 ! !
 
+
 !FindFileApplication methodsFor:'private - searching'!
 
 cachedFileSizeOf:aFilenameString
@@ -1275,7 +1287,7 @@
      doesFileMatch contentsString notContentsString check checkNot 
      grepCommand nameMatch nameExcludedMatch realNameMatch 
      fileSizesToSearchFor filesToSearchFor fileMD5sToSearchFor 
-     setOfFilesToSearchFor remember cache fn dirSearchedRelative|
+     setOfFilesToSearchFor remember cache fn dirSearchedRelative easyCheck|
 
     contentsString := contentsStringArg.
     (contentsString notNil and:[ ignCaseInContents ]) ifTrue:[ 
@@ -1436,9 +1448,9 @@
             doesFileMatch isNil ifTrue:[
                 contentsString notNil ifTrue:[
                     ignCaseInContents ifTrue:[
-                        check := [:l | l asLowercase includesString:contentsString]
+                        check := easyCheck := [:l | l includesString:contentsString caseSensitive:false]
                     ] ifFalse:[
-                        check := [:l | l includesString:contentsString]
+                        check := easyCheck := [:l | l includesString:contentsString]
                     ].
                 ].
                 notContentsString notNil ifTrue:[
@@ -1458,7 +1470,7 @@
 
                         check notNil ifTrue:[
                             checkNot isNil ifTrue:[
-                                realCheckAction := [:text | check value:text]
+                                realCheckAction := check. "/ [:text | check value:text]
                             ] ifFalse:[
                                 realCheckAction := [:text | (check value:text) and:[(checkNot value:text) not]].
                             ]
@@ -1486,11 +1498,16 @@
                                         Stream lineTooLongErrorSignal handle:[:ex |
                                             resultList add: (('*** ' , f pathName , ' skipped - too large ***') colorizeAllWith:(Color red darkened)).
                                         ] do:[
-                                            contentsMatches := false.    
-                                            f readingFileDo:[:stream |
-                                                [contentsMatches or:[stream atEnd]] whileFalse:[
-                                                    contentsMatches := realCheckAction value:(stream nextLine)
-                                                ]
+                                            contentsMatches := false.
+                                            (check == easyCheck 
+                                            and:[ f size < (128*1024) ]) ifTrue:[
+                                                contentsMatches := f contentsAsString includesString: contentsString caseSensitive:ignCaseInContents not.
+                                            ] ifFalse:[
+                                                f readingFileDo:[:stream |
+                                                    [contentsMatches or:[stream atEnd]] whileFalse:[
+                                                        contentsMatches := realCheckAction value:(stream nextLine)
+                                                    ]
+                                                ].
                                             ].
                                         ].
                                     ] ifFalse:[
@@ -1572,7 +1589,7 @@
         ].
         ^ self.
     ].
-    
+
     bytesToCompareContentsOrNil notNil ifTrue:[
         contentsToCompare := bytesToCompareContentsOrNil
     ].
@@ -1582,7 +1599,7 @@
             cache notEmptyOrNil ifTrue:[
                 cache keysAndValuesDo:[:fn :info |
                     |filesSize filesMD5 idxInList|
-                    
+
                     filesSize := info at:1.
                     filesSize isNil ifTrue:[
                         filesSize := fn asFilename fileSize.
@@ -1627,8 +1644,9 @@
     dir := aDirectory asFilename.
 
     self 
-        changeInformationTo:('Find File - searching %1' 
-                                bindWith:((dir name) copyFrom:(self searchDirectoryHolder value asString size + 1))) 
+        changeInformationTo:('%1 found - searching %2' 
+                                bindWith:resultList size
+                                with:((dir name) copyFrom:(self searchDirectoryHolder value asString size + 1))) 
         toTab:false.
 
     list := self resultList.
@@ -1660,6 +1678,11 @@
             (nameMatch value:fn) ifTrue:[
                 (isDirectory or:[ doesFileMatch value:f ])
                 ifTrue:[
+                    self 
+                        changeInformationTo:('%1 found - searching %2' 
+                                                bindWith:resultList size
+                                                with:((dir name) copyFrom:(self searchDirectoryHolder value asString size + 1))) 
+                        toTab:false.
                     list add:(f asString).
                 ]
             ]
@@ -1735,6 +1758,7 @@
     "Created: / 28-03-2012 / 23:18:32 / cg"
 ! !
 
+
 !FindFileApplication methodsFor:'queries'!
 
 getTabValueString
@@ -1745,6 +1769,7 @@
     "Created: / 01-03-2007 / 21:39:54 / cg"
 ! !
 
+
 !FindFileApplication methodsFor:'startup & release'!
 
 initialize
@@ -1793,16 +1818,18 @@
     ^ super release
 ! !
 
+
 !FindFileApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.103 2012/03/29 08:06:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.104 2013-01-26 21:37:24 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.103 2012/03/29 08:06:59 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.104 2013-01-26 21:37:24 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: FindFileApplication.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
+
--- a/GitSourceCodeManagementSettingsAppl.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/GitSourceCodeManagementSettingsAppl.st	Wed Jan 30 11:15:09 2013 +0000
@@ -49,6 +49,7 @@
 "
 ! !
 
+
 !GitSourceCodeManagementSettingsAppl class methodsFor:'defaults'!
 
 defaultRepositoryName
@@ -58,6 +59,7 @@
     "Created: / 19-04-2011 / 11:00:11 / cg"
 ! !
 
+
 !GitSourceCodeManagementSettingsAppl class methodsFor:'help specs'!
 
 helpSpec
@@ -182,6 +184,7 @@
     "Modified: / 09-08-2012 / 09:41:18 / cg"
 ! !
 
+
 !GitSourceCodeManagementSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -244,6 +247,7 @@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 0 64 0 0 128 0 32 32 32 32 64 32 32 96 32 32 128 32 32 128 64 32 160 64 64 64 64 96 96 96 96 192 128 128 128 128 192 0 0 209 87 87 255 255 255]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@>>>@>>>@@@@@@@@@XXX@^^^@>>>@<<<@LLL@@@@A<@@C<@@GR@@G@@@_$@@ON@@F_@@@O@@JL@@G<@@C8@@@@@@') ; yourself); yourself]
 ! !
 
+
 !GitSourceCodeManagementSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -763,6 +767,7 @@
       )
 ! !
 
+
 !GitSourceCodeManagementSettingsAppl class methodsFor:'queries'!
 
 managerClass
@@ -773,6 +778,7 @@
     "Created: / 19-04-2011 / 12:46:52 / cg"
 ! !
 
+
 !GitSourceCodeManagementSettingsAppl methodsFor:'actions'!
 
 addModule:module withData:data
@@ -876,6 +882,7 @@
     "Modified: / 26-01-2012 / 13:50:08 / cg"
 ! !
 
+
 !GitSourceCodeManagementSettingsAppl methodsFor:'actions - git'!
 
 addPerModuleRoot
@@ -893,27 +900,6 @@
     "Modified (format): / 02-03-2012 / 15:22:41 / cg"
 !
 
-checkAccess
-    self halt:'unimplemented feature'
-
-    "Created: / 17-01-2012 / 17:34:53 / cg"
-!
-
-initializeRepository
-    |repository|
-
-    repository := self repositoryHolder value.
-    repository isEmptyOrNil ifTrue:[
-        Dialog warn:(resources string:'No default repository defined.').
-        ^ self.
-    ].
-    GitSourceCodeManager initializeForRepository:repository
-
-    "Created: / 17-01-2012 / 17:42:27 / cg"
-! !
-
-!GitSourceCodeManagementSettingsAppl methodsFor:'actions - mercurial'!
-
 basicSaveGitSettings
     |gitRepository|
 
@@ -944,8 +930,28 @@
     ].
 
     "Created: / 02-03-2012 / 15:19:22 / cg"
+!
+
+checkAccess
+    self halt:'unimplemented feature'
+
+    "Created: / 17-01-2012 / 17:34:53 / cg"
+!
+
+initializeRepository
+    |repository|
+
+    repository := self repositoryHolder value.
+    repository isEmptyOrNil ifTrue:[
+        Dialog warn:(resources string:'No default repository defined.').
+        ^ self.
+    ].
+    GitSourceCodeManager initializeForRepository:repository
+
+    "Created: / 17-01-2012 / 17:42:27 / cg"
 ! !
 
+
 !GitSourceCodeManagementSettingsAppl methodsFor:'aspects'!
 
 gitCommandTimeoutHolder
@@ -1097,6 +1103,7 @@
     "Created: / 03-03-2012 / 10:34:19 / cg"
 ! !
 
+
 !GitSourceCodeManagementSettingsAppl methodsFor:'change & update'!
 
 selectedPerModuleRepositoryChanged
@@ -1125,8 +1132,6 @@
     "Created: / 14-01-2012 / 20:24:57 / cg"
 !
 
-
-
 update:something with:aParameter from:changedObject 
 
     "/ cvs
@@ -1149,6 +1154,7 @@
     "Modified: / 14-01-2012 / 20:26:51 / cg"
 ! !
 
+
 !GitSourceCodeManagementSettingsAppl methodsFor:'help'!
 
 helpFilename
@@ -1157,6 +1163,7 @@
     "Modified: / 02-03-2012 / 15:20:09 / cg"
 ! !
 
+
 !GitSourceCodeManagementSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -1180,6 +1187,7 @@
     "Modified: / 02-03-2012 / 15:20:19 / cg"
 ! !
 
+
 !GitSourceCodeManagementSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -1218,16 +1226,18 @@
     "Modified: / 02-03-2012 / 15:20:03 / cg"
 ! !
 
+
 !GitSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/GitSourceCodeManagementSettingsAppl.st,v 1.9 2012/08/09 08:59:17 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/GitSourceCodeManagementSettingsAppl.st,v 1.9 2012-08-09 08:59:17 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/GitSourceCodeManagementSettingsAppl.st,v 1.9 2012/08/09 08:59:17 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/GitSourceCodeManagementSettingsAppl.st,v 1.9 2012-08-09 08:59:17 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: GitSourceCodeManagementSettingsAppl.st 8048 2012-09-07 17:28:09Z vranyj1 $'
 ! !
+
--- a/ImageInspectorView.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/ImageInspectorView.st	Wed Jan 30 11:15:09 2013 +0000
@@ -41,6 +41,7 @@
 "
 ! !
 
+
 !ImageInspectorView class methodsFor:'defaults'!
 
 defaultTopViewExtent
@@ -55,6 +56,7 @@
     "Created: / 23-10-2007 / 19:09:34 / cg"
 ! !
 
+
 !ImageInspectorView class methodsFor:'menu specs'!
 
 imageMenu
@@ -143,6 +145,7 @@
       )
 ! !
 
+
 !ImageInspectorView methodsFor:'accessing'!
 
 inspect:anObject
@@ -156,6 +159,7 @@
     "
 ! !
 
+
 !ImageInspectorView methodsFor:'initialization'!
 
 destroy
@@ -210,6 +214,7 @@
     "Modified: / 28-05-2007 / 15:15:32 / cg"
 ! !
 
+
 !ImageInspectorView methodsFor:'menu'!
 
 imageMenu
@@ -242,6 +247,7 @@
     imageView backgroundColor:(Color name:colorNameSymbol)
 ! !
 
+
 !ImageInspectorView methodsFor:'queries'!
 
 labelFor:anObject
@@ -256,16 +262,18 @@
     "Modified: / 25-07-2012 / 12:53:13 / cg"
 ! !
 
+
 !ImageInspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ImageInspectorView.st,v 1.26 2012/07/25 10:54:12 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ImageInspectorView.st,v 1.26 2012-07-25 10:54:12 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/ImageInspectorView.st,v 1.26 2012/07/25 10:54:12 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/ImageInspectorView.st,v 1.26 2012-07-25 10:54:12 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: ImageInspectorView.st 8026 2012-07-26 16:09:41Z vranyj1 $'
 ! !
+
--- a/InspectorView.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/InspectorView.st	Wed Jan 30 11:15:09 2013 +0000
@@ -103,6 +103,7 @@
 "
 ! !
 
+
 !InspectorView class methodsFor:'instance creation'!
 
 for:anObject
@@ -202,6 +203,7 @@
     ^ self openOn:anObject
 ! !
 
+
 !InspectorView class methodsFor:'common label support'!
 
 commonLabelFor:anObject
@@ -278,6 +280,7 @@
     "Created: / 15-07-2011 / 16:20:06 / cg"
 ! !
 
+
 !InspectorView class methodsFor:'defaults'!
 
 defaultExtent
@@ -355,6 +358,7 @@
     "Created: / 23-10-2007 / 19:10:02 / cg"
 ! !
 
+
 !InspectorView class methodsFor:'image specs'!
 
 imageFor_arrays
@@ -752,6 +756,7 @@
 M#L3NBH"H#\@@@@@@@@@@@@-JS 8JSH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 98 255 0 75 198 0 25 74 0 57 156 0 34 99 0 92 206 16 60 132 16 31 74 0 79 206 0 128 131 142 88 231 0 70 189 0 38 90 0 148 198 123 57 115 16 92 239 0 103 255 8 76 189 0 154 198 123 85 214 0 53 132 0 106 255 0 138 255 49 107 156 74 44 115 0 119 206 66 85 222 0 142 206 99 68 139 33 33 90 0 57 148 0 135 206 99]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b') ; yourself); yourself]
 ! !
 
+
 !InspectorView class methodsFor:'queries-plugin'!
 
 aspectSelectors
@@ -760,6 +765,7 @@
     "Modified: / 10.2.2000 / 12:25:28 / cg"
 ! !
 
+
 !InspectorView methodsFor:'accessing'!
 
 allowFollow:aBoolean
@@ -937,6 +943,7 @@
     ^ workspace
 ! !
 
+
 !InspectorView methodsFor:'accessing-channels'!
 
 inspectedObjectHolder
@@ -962,6 +969,7 @@
     "Created: / 10.2.2000 / 13:34:53 / cg"
 ! !
 
+
 !InspectorView methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -987,6 +995,7 @@
     "Modified: / 10.2.2000 / 13:48:18 / cg"
 ! !
 
+
 !InspectorView methodsFor:'drag & drop'!
 
 getDisplayObjects
@@ -1005,6 +1014,7 @@
     "Modified: / 18-09-2006 / 21:11:31 / cg"
 ! !
 
+
 !InspectorView methodsFor:'event handling'!
 
 doubleClickOnLine:lineNr
@@ -1062,6 +1072,7 @@
     ].
 ! !
 
+
 !InspectorView methodsFor:'initialization & release'!
 
 destroy
@@ -1221,6 +1232,7 @@
     ].
 ! !
 
+
 !InspectorView methodsFor:'menu'!
 
 fieldMenu
@@ -1555,6 +1567,7 @@
     "Created: / 20-07-2012 / 10:47:53 / cg"
 ! !
 
+
 !InspectorView methodsFor:'menu actions'!
 
 browse
@@ -2029,6 +2042,7 @@
     "Modified: / 6.2.2000 / 13:47:37 / cg"
 ! !
 
+
 !InspectorView methodsFor:'presentation'!
 
 appendDisplayStringForElementsOf:val indent:lvl pad:padding to:aStream
@@ -2054,6 +2068,12 @@
     |s|
 
     Error handle:[:ex |
+        (ex signal == WriteError and:[s isStream]) ifTrue:[
+            "hit the write limit set below"
+            s writeLimit:nil.
+            s nextPutAll:' ...'.
+            ^ s contents.
+        ].
         s := someValue classNameWithArticle.
         displayStringMessage == #displayString ifTrue:[
             s := s , ' "error in displayString: ' , ex description , '"'
@@ -2376,6 +2396,7 @@
     "Created: / 13-06-2012 / 12:04:31 / cg"
 ! !
 
+
 !InspectorView methodsFor:'private'!
 
 baseInspectedObjectClass
@@ -2634,12 +2655,12 @@
 
     ^ list
         keysAndValuesCollect:[:idx :nm |
-            | val |
-            
+            |val|
+
             [
                 val := self indexedValueAtIndex:idx.
             ] on:Error do:[
-                val := '** ERROR **'
+                val := ''
             ].
 "/            [
 "/                val := object at:idx.
@@ -3099,6 +3120,7 @@
     "Modified: / 06-06-2012 / 11:57:54 / cg"
 ! !
 
+
 !InspectorView methodsFor:'queries'!
 
 canInspect:anObject
@@ -3163,6 +3185,7 @@
     ^ suppressPseudoSlots ? false
 ! !
 
+
 !InspectorView methodsFor:'selection'!
 
 selection:lineNr
@@ -3218,6 +3241,7 @@
     "Modified: / 28-10-2012 / 11:03:04 / cg"
 ! !
 
+
 !InspectorView methodsFor:'user interaction'!
 
 doAccept:theText
@@ -3368,6 +3392,7 @@
     "Created: / 16-11-2001 / 13:48:51 / cg"
 ! !
 
+
 !InspectorView methodsFor:'workspace protocol'!
 
 modified:aBoolean
@@ -3378,16 +3403,18 @@
     workspace saveAs:file doAppend:doAppend
 ! !
 
+
 !InspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.295 2012/12/14 16:21:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.296 2013-01-15 16:33:23 stefan Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.295 2012/12/14 16:21:59 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.296 2013-01-15 16:33:23 stefan Exp $'
 !
 
 version_SVN
     ^ '$Id: InspectorView.st 8083 2013-01-14 11:48:37Z vranyj1 $'
 ! !
+
--- a/MemoryMonitor.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/MemoryMonitor.st	Wed Jan 30 11:15:09 2013 +0000
@@ -99,6 +99,7 @@
 
 ! !
 
+
 !MemoryMonitor class methodsFor:'image specs'!
 
 defaultIcon
@@ -125,6 +126,7 @@
 @P(P)RH@@P/P&RH@@@@@@@@@') ; yourself]
 ! !
 
+
 !MemoryMonitor class methodsFor:'interface specs'!
 
 windowSpec
@@ -169,6 +171,7 @@
       )
 ! !
 
+
 !MemoryMonitor class methodsFor:'menu specs'!
 
 mainMenu
@@ -261,6 +264,7 @@
       )
 ! !
 
+
 !MemoryMonitor methodsFor:'actions'!
 
 collectGarbage
@@ -282,6 +286,7 @@
 
 ! !
 
+
 !MemoryMonitor methodsFor:'initialization & release'!
 
 postBuildWith:aBuilder
@@ -297,16 +302,18 @@
     ^ super postBuildWith:aBuilder
 ! !
 
+
 !MemoryMonitor class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/MemoryMonitor.st,v 1.70 2012/10/29 00:35:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/MemoryMonitor.st,v 1.70 2012-10-29 00:35:21 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/MemoryMonitor.st,v 1.70 2012/10/29 00:35:21 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/MemoryMonitor.st,v 1.70 2012-10-29 00:35:21 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: MemoryMonitor.st 8074 2012-11-30 17:23:39Z vranyj1 $'
 ! !
+
--- a/MemoryUsageView.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/MemoryUsageView.st	Wed Jan 30 11:15:09 2013 +0000
@@ -59,6 +59,7 @@
 "
 ! !
 
+
 !MemoryUsageView class methodsFor:'startup'!
 
 isVisualStartable
@@ -67,6 +68,7 @@
     "Created: / 10.8.1998 / 16:02:59 / cg"
 ! !
 
+
 !MemoryUsageView methodsFor:'auto update'!
 
 autoUpdate
@@ -124,6 +126,7 @@
     "Created: / 05-05-2011 / 17:19:03 / cg"
 ! !
 
+
 !MemoryUsageView methodsFor:'initialization'!
 
 initialize
@@ -183,6 +186,7 @@
     "Created: / 05-05-2011 / 17:26:24 / cg"
 ! !
 
+
 !MemoryUsageView methodsFor:'menu-actions'!
 
 browseClass
@@ -602,6 +606,7 @@
     "Created: / 11-05-2011 / 14:36:00 / cg"
 ! !
 
+
 !MemoryUsageView methodsFor:'menu-sorting'!
 
 sortByAverageSize
@@ -741,6 +746,7 @@
     "Modified: / 05-05-2011 / 16:13:58 / cg"
 ! !
 
+
 !MemoryUsageView methodsFor:'private'!
 
 updateDisplay
@@ -927,6 +933,7 @@
     "Modified: / 08-05-2011 / 12:35:11 / cg"
 ! !
 
+
 !MemoryUsageView methodsFor:'realization'!
 
 pixelOrigin:a extent:b
@@ -944,6 +951,7 @@
     "Modified: 14.10.1997 / 21:03:52 / cg"
 ! !
 
+
 !MemoryUsageView::StatisticEntry methodsFor:'accessing'!
 
 averageSize
@@ -1025,6 +1033,7 @@
     ^ overallByteSize
 ! !
 
+
 !MemoryUsageView::StatisticEntry methodsFor:'updating'!
 
 addStatisticForInstance:o class:classNameOrSymbolArg
@@ -1047,12 +1056,14 @@
     "Created: / 05-05-2011 / 16:04:42 / cg"
 ! !
 
+
 !MemoryUsageView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/MemoryUsageView.st,v 1.61 2012/11/04 22:12:51 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/MemoryUsageView.st,v 1.61 2012-11-04 22:12:51 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/MemoryUsageView.st,v 1.61 2012/11/04 22:12:51 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/MemoryUsageView.st,v 1.61 2012-11-04 22:12:51 cg Exp $'
 ! !
+
--- a/MercurialSourceCodeManagementSettingsAppl.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/MercurialSourceCodeManagementSettingsAppl.st	Wed Jan 30 11:15:09 2013 +0000
@@ -49,6 +49,7 @@
 "
 ! !
 
+
 !MercurialSourceCodeManagementSettingsAppl class methodsFor:'defaults'!
 
 defaultRepositoryName
@@ -58,6 +59,7 @@
     "Created: / 19-04-2011 / 11:00:11 / cg"
 ! !
 
+
 !MercurialSourceCodeManagementSettingsAppl class methodsFor:'help specs'!
 
 helpSpec
@@ -191,6 +193,7 @@
     "Modified: / 09-08-2012 / 09:41:11 / cg"
 ! !
 
+
 !MercurialSourceCodeManagementSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -280,6 +283,7 @@
 @CP\L0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[174 169 169 255 255 255 233 233 230 216 216 216 213 209 209 214 209 209 232 229 229 229 223 223 191 187 181 197 197 197 255 255 255 233 230 230 194 189 194 247 244 245 251 250 250 177 177 177 255 255 255 194 189 194 155 149 149 175 175 169 157 157 157 136 128 128 251 251 251 255 255 255 117 108 108 118 118 118 97 89 98 139 139 147 240 240 242 255 255 255 137 128 118 98 98 98 79 79 79 255 255 255 156 149 156 38 30 30 39 39 30 97 89 79 79 69 69 58 49 49 255 255 255 255 255 255 77 59 59 229 226 223 137 137 128 79 79 69 77 69 69 59 59 59 59 49 59 154 140 147 199 199 204 251 251 251 255 255 255 0 0 0 0 64 0 32 96 32 96 192 128 32 128 64 32 160 64 32 128 32 64 64 64 96 96 96 128 128 128 32 32 32 32 64 32]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@G>@@O? @_?0@??8@??8@??<@??<O??>__?>_O?>_??>O=?>GR_>G<_<_>_<O>_8G?_8C??0K<? G<?@C8\@@@@@') ; yourself); yourself]
 ! !
 
+
 !MercurialSourceCodeManagementSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -803,6 +807,7 @@
       )
 ! !
 
+
 !MercurialSourceCodeManagementSettingsAppl class methodsFor:'queries'!
 
 managerClass
@@ -813,6 +818,7 @@
     "Created: / 19-04-2011 / 12:46:52 / cg"
 ! !
 
+
 !MercurialSourceCodeManagementSettingsAppl methodsFor:'actions'!
 
 addModule:module withData:data
@@ -916,6 +922,7 @@
     "Modified: / 26-01-2012 / 13:50:08 / cg"
 ! !
 
+
 !MercurialSourceCodeManagementSettingsAppl methodsFor:'actions - mercurial'!
 
 addPerModuleRoot
@@ -974,6 +981,7 @@
     "Created: / 17-01-2012 / 17:42:27 / cg"
 ! !
 
+
 !MercurialSourceCodeManagementSettingsAppl methodsFor:'aspects'!
 
 hgCommandTimeoutHolder
@@ -1002,8 +1010,6 @@
     "Created: / 02-03-2012 / 14:41:07 / cg"
 !
 
-
-
 listOfPushURLs
 
     listOfPushURLs isNil ifTrue:[
@@ -1063,8 +1069,6 @@
     "Created: / 02-03-2012 / 15:53:58 / cg"
 !
 
-
-
 repositoryHolder
 
     repositoryHolder isNil ifTrue:[
@@ -1117,8 +1121,6 @@
     "Created: / 02-03-2012 / 15:52:09 / cg"
 !
 
-
-
 workDirectoryHolder
     workDirectoryHolder isNil ifTrue:[
         workDirectoryHolder := ValueHolder new.
@@ -1129,6 +1131,7 @@
     "Created: / 03-03-2012 / 10:34:19 / cg"
 ! !
 
+
 !MercurialSourceCodeManagementSettingsAppl methodsFor:'change & update'!
 
 selectedPerModuleRepositoryChanged
@@ -1179,6 +1182,7 @@
     "Modified: / 14-01-2012 / 20:26:51 / cg"
 ! !
 
+
 !MercurialSourceCodeManagementSettingsAppl methodsFor:'help'!
 
 helpFilename
@@ -1187,6 +1191,7 @@
     "Modified: / 14-01-2012 / 20:27:00 / cg"
 ! !
 
+
 !MercurialSourceCodeManagementSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -1210,6 +1215,7 @@
     "Modified: / 17-01-2012 / 17:39:13 / cg"
 ! !
 
+
 !MercurialSourceCodeManagementSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -1248,16 +1254,18 @@
     "Modified: / 14-01-2012 / 23:41:33 / cg"
 ! !
 
+
 !MercurialSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/MercurialSourceCodeManagementSettingsAppl.st,v 1.19 2012/08/09 08:59:22 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/MercurialSourceCodeManagementSettingsAppl.st,v 1.19 2012-08-09 08:59:22 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/MercurialSourceCodeManagementSettingsAppl.st,v 1.19 2012/08/09 08:59:22 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/MercurialSourceCodeManagementSettingsAppl.st,v 1.19 2012-08-09 08:59:22 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: MercurialSourceCodeManagementSettingsAppl.st 8048 2012-09-07 17:28:09Z vranyj1 $'
 ! !
+
--- a/MultiViewToolApplication.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/MultiViewToolApplication.st	Wed Jan 30 11:15:09 2013 +0000
@@ -44,6 +44,7 @@
 "
 ! !
 
+
 !MultiViewToolApplication class methodsFor:'defaults'!
 
 defaultEditToolbarVisible
@@ -64,6 +65,7 @@
     "Created: / 14-07-2007 / 16:38:47 / cg"
 ! !
 
+
 !MultiViewToolApplication class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -85,6 +87,7 @@
     "Modified: / 06-07-2011 / 18:08:57 / cg"
 ! !
 
+
 !MultiViewToolApplication class methodsFor:'image specs'!
 
 hideToolBarIcon
@@ -95,6 +98,7 @@
     "Created: / 18-02-2007 / 14:53:38 / cg"
 ! !
 
+
 !MultiViewToolApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -203,6 +207,7 @@
     "Modified: / 11-05-2012 / 11:43:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !MultiViewToolApplication class methodsFor:'menu specs'!
 
 editToolBarMenu
@@ -543,6 +548,7 @@
       )
 ! !
 
+
 !MultiViewToolApplication class methodsFor:'queries'!
 
 isVisualStartable
@@ -553,6 +559,7 @@
     ^ super isVisualStartable
 ! !
 
+
 !MultiViewToolApplication methodsFor:'accessing'!
 
 selectedWorkspace
@@ -654,6 +661,7 @@
     ^ workspaces
 ! !
 
+
 !MultiViewToolApplication methodsFor:'aspects'!
 
 editToolBarVisibleHolder
@@ -721,6 +729,7 @@
     "Modified: / 14-07-2007 / 16:39:55 / cg"
 ! !
 
+
 !MultiViewToolApplication methodsFor:'aspects-queries'!
 
 canRemoveAllWorkspacesExcept:idx
@@ -756,6 +765,7 @@
       and:[v list contains:[:l | l notEmptyOrNil]]] 
 ! !
 
+
 !MultiViewToolApplication methodsFor:'change & update'!
 
 infoVisibilityChanged
@@ -836,6 +846,7 @@
     "Modified: / 14-07-2007 / 16:46:14 / cg"
 ! !
 
+
 !MultiViewToolApplication methodsFor:'defaults'!
 
 defaultFileNameForLoad
@@ -862,6 +873,7 @@
     "Created: / 25-10-2006 / 14:57:18 / cg"
 ! !
 
+
 !MultiViewToolApplication methodsFor:'initialization'!
 
 hideToolBarButtonCreated:aButton
@@ -886,6 +898,7 @@
     "Modified: / 22-01-2011 / 11:46:35 / cg"
 ! !
 
+
 !MultiViewToolApplication methodsFor:'menu-actions'!
 
 addWindow:aWindow named:name
@@ -1165,6 +1178,7 @@
     ].
 ! !
 
+
 !MultiViewToolApplication methodsFor:'menu-actions-editing'!
 
 copySelection
@@ -1241,6 +1255,7 @@
     ]
 ! !
 
+
 !MultiViewToolApplication methodsFor:'private'!
 
 askForFile:question default:defaultFilename thenDo:aBlock
@@ -1360,6 +1375,7 @@
     ^ view allSubViewsDetect:[:v| v name = #Workspace] ifNone:nil.
 ! !
 
+
 !MultiViewToolApplication methodsFor:'user actions'!
 
 hideEditToolbar
@@ -1372,12 +1388,14 @@
     "Created: / 18-02-2007 / 14:55:54 / cg"
 ! !
 
+
 !MultiViewToolApplication class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/MultiViewToolApplication.st,v 1.45 2012/08/03 20:25:30 stefan Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/MultiViewToolApplication.st,v 1.45 2012-08-03 20:25:30 stefan Exp $'
 !
 
 version_SVN
     ^ '$Id: MultiViewToolApplication.st 8048 2012-09-07 17:28:09Z vranyj1 $'
 ! !
+
--- a/NewLauncher.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/NewLauncher.st	Wed Jan 30 11:15:09 2013 +0000
@@ -128,6 +128,7 @@
 "
 ! !
 
+
 !NewLauncher class methodsFor:'accessing'!
 
 label
@@ -137,6 +138,7 @@
 
 ! !
 
+
 !NewLauncher class methodsFor:'defaults'!
 
 defaultInfoLineTemplate
@@ -172,6 +174,7 @@
     "Modified: / 17.8.1998 / 10:07:09 / cg"
 ! !
 
+
 !NewLauncher class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -782,6 +785,7 @@
     "Modified: / 21-09-2012 / 10:59:33 / cg"
 ! !
 
+
 !NewLauncher class methodsFor:'interface specs'!
 
 windowSpec
@@ -803,47 +807,48 @@
 
     <resource: #canvas>
 
-    ^ 
+    ^
      #(FullSpec
-        name: #'windowSpec_new'
-        window: 
+	name: #'windowSpec_new'
+	window:
        (WindowSpec
-          label: 'ST/X Launcher'
-          name: 'ST/X Launcher'
-          min: (Point 374 44)
-          bounds: (Rectangle 0 0 374 202)
-          menu: menu
-          icon: windowIcon
-        )
-        component: 
+	  label: 'ST/X Launcher'
+	  name: 'ST/X Launcher'
+	  min: (Point 374 44)
+	  bounds: (Rectangle 0 0 374 202)
+	  menu: menu
+	  icon: windowIcon
+	)
+	component:
        (SpecCollection
-          collection: (
-           (MenuPanelSpec
-              name: 'menuToolbarView'
-              layout: (LayoutFrame 0 0.0 0 0 0 1.0 40 0)
-              menu: menuToolbar
-            )
-           (NoteBookViewSpec
-              name: 'NoteBook1'
-              layout: (LayoutFrame 0 0.0 40 0.0 0 1.0 -26 1.0)
-              level: 0
-              model: selectedTabHolder
-              menu: tabList
-              direction: bottom
-              useIndex: true
-              translateLabel: true
-              canvas: noteBookCanvasHolder
-              keepCanvasAlive: true
-            )
-           (UISubSpecification
-              name: 'infoBarSubSpec'
-              layout: (LayoutFrame 0 0.0 -26 1 0 1.0 0 1.0)
-              majorKey: ToolApplicationModel
-              minorKey: windowSpecForInfoBarWithClock
-            )
-           )
-         
-        )
+	  collection: (
+	   (MenuPanelSpec
+	      name: 'menuToolbarView'
+	      layout: (LayoutFrame 0 0.0 0 0 0 1.0 40 0)
+	      menu: menuToolbar
+	    )
+	   (NoteBookViewSpec
+	      name: 'NoteBook1'
+	      layout: (LayoutFrame 0 0.0 40 0.0 0 1.0 -26 1.0)
+	      level: 0
+	      model: selectedTabHolder
+	      menu: tabList
+	      direction: bottom
+	      useIndex: true
+	      translateLabel: true
+	      canvas: noteBookCanvasHolder
+	      keepCanvasAlive: true
+	    )
+	   (UISubSpecification
+	      name: 'infoBarSubSpec'
+	      layout: (LayoutFrame 0 0.0 -26 1 -16 1.0 0 1.0)
+	      majorKey: ToolApplicationModel
+	      minorKey: windowSpecForInfoBarWithClock
+	      keepSpaceForOSXResizeHandleH: true
+	    )
+	   )
+
+	)
       )
 !
 
@@ -861,54 +866,55 @@
 
     <resource: #canvas>
 
-    ^ 
+    ^
      #(FullSpec
-        name: #'windowSpec_old'
-        window: 
+	name: #'windowSpec_old'
+	window:
        (WindowSpec
-          label: 'ST/X Launcher'
-          name: 'ST/X Launcher'
-          min: (Point 540 300)
-          bounds: (Rectangle 0 0 291 202)
-          menu: menu
-          icon: windowIcon
-        )
-        component: 
+	  label: 'ST/X Launcher'
+	  name: 'ST/X Launcher'
+	  min: (Point 540 300)
+	  bounds: (Rectangle 0 0 540 300)
+	  menu: menu
+	  icon: windowIcon
+	)
+	component:
        (SpecCollection
-          collection: (
-           (MenuPanelSpec
-              name: 'menuToolbarView'
-              layout: (LayoutFrame 0 0.0 0 0 0 1.0 40 0)
-              menu: menuToolbar
-            )
-           (ViewSpec
-              name: 'Box1'
-              layout: (LayoutFrame 0 0.0 40 0.0 0 1.0 -26 1.0)
-              level: 1
-              component: 
-             (SpecCollection
-                collection: (
-                 (WorkspaceSpec
-                    name: 'transcriptView'
-                    layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
-                    hasHorizontalScrollBar: true
-                    hasVerticalScrollBar: true
-                    miniScrollerHorizontal: true
-                    hasKeyboardFocusInitially: false
-                  )
-                 )
-               
-              )
-            )
-           (UISubSpecification
-              name: 'infoBarSubSpec'
-              layout: (LayoutFrame 0 0.0 -26 1 0 1.0 0 1.0)
-              majorKey: ToolApplicationModel
-              minorKey: windowSpecForInfoBarWithClock
-            )
-           )
-         
-        )
+	  collection: (
+	   (MenuPanelSpec
+	      name: 'menuToolbarView'
+	      layout: (LayoutFrame 0 0.0 0 0 0 1.0 40 0)
+	      menu: menuToolbar
+	    )
+	   (ViewSpec
+	      name: 'Box1'
+	      layout: (LayoutFrame 0 0.0 40 0.0 0 1.0 -26 1.0)
+	      level: 1
+	      component:
+	     (SpecCollection
+		collection: (
+		 (WorkspaceSpec
+		    name: 'transcriptView'
+		    layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+		    hasHorizontalScrollBar: true
+		    hasVerticalScrollBar: true
+		    miniScrollerHorizontal: true
+		    hasKeyboardFocusInitially: false
+		  )
+		 )
+
+	      )
+	    )
+	   (UISubSpecification
+	      name: 'infoBarSubSpec'
+	      layout: (LayoutFrame 0 0.0 -26 1 0 1.0 0 1.0)
+	      majorKey: ToolApplicationModel
+	      minorKey: windowSpecForInfoBarWithClock
+	      keepSpaceForOSXResizeHandleH: true
+	    )
+	   )
+
+	)
       )
 !
 
@@ -967,6 +973,7 @@
       )
 ! !
 
+
 !NewLauncher class methodsFor:'menu configuration'!
 
 addMenuItem:newItem from:anApplicationWhichProvidesResourcesOrNil in:where position:positionSpecOrNilArg space:space
@@ -1128,6 +1135,7 @@
     "
 ! !
 
+
 !NewLauncher class methodsFor:'menu specs'!
 
 aboutMenu
@@ -1183,121 +1191,122 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(Menu
-        (
-         (MenuItem
-            activeHelpKey: classesSystemBrowser
-            label: 'System Browser'
-            itemValue: openApplication:
-            nameKey: systemBrowser
-            submenuChannel: menuClassHistory
-            labelImage: (ResourceRetriever ToolbarIconLibrary startSystemBrowserIcon 'System Browser')
-            argument: 'Tools::NewSystemBrowser'
-            showBusyCursorWhilePerforming: true
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            activeHelpKey: startChangeSetBrowser
-            label: 'Recent Changes'
-            itemValue: startChangeSetBrowser
-            nameKey: startChangeSetBrowser
-            showBusyCursorWhilePerforming: true
-          )
-         (MenuItem
-            activeHelpKey: classesClassBrowserOnChanges
-            label: 'Changed Classes'
-            itemValue: startClassBrowserOnChanges
-            nameKey: classBrowserOnChanges
-            showBusyCursorWhilePerforming: true
-          )
-         (MenuItem
-            activeHelpKey: classBrowserOnChangedMethods
-            label: 'Changed Methods'
-            itemValue: startClassBrowserOnChangedMethods
-            nameKey: classBrowserOnChangedMethods
-            showBusyCursorWhilePerforming: true
-          )
-         (MenuItem
-            activeHelpKey: startSmallTeamChangeSetBrowser
-            label: 'Recent Changes on SmallTeam Host'
-            isVisible: smallTeamAvailable
-            submenuChannel: startBrowserOnSmallTeamChangesMenu
-            showBusyCursorWhilePerforming: true
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            label: 'Special Browsers'
-            submenuChannel: classesSpecialBrowserMenu
-          )
-         (MenuItem
-            activeHelpKey: classesClassTreeBrowser
-            label: 'Class Tree'
-            itemValue: openApplication:
-            argument: 'ClassTreeGraphView'
-            showBusyCursorWhilePerforming: true
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            activeHelpKey: classesImplementors
-            label: 'Implementors Of...'
-            itemValue: browseImplementors
-            showBusyCursorWhilePerforming: true
-          )
-         (MenuItem
-            activeHelpKey: classesSenders
-            label: 'Senders Of...'
-            itemValue: browseSenders
-            showBusyCursorWhilePerforming: true
-          )
-         (MenuItem
-            label: 'Method Finder'
-            itemValue: openMethodFinder
-          )
-         (MenuItem
-            activeHelpKey: classesResourceMethods
-            label: 'Find Resource Methods...'
-            itemValue: browseResources
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            activeHelpKey: classesSpecial
-            label: 'Special'
-            nameKey: special
-            submenu: 
-           (Menu
-              (
-               (MenuItem
-                  activeHelpKey: classesSpecialReferencesToUnboundGlobals
-                  label: 'References to Unbound Globals'
-                  itemValue: browseUnboundGlobals
-                )
-               (MenuItem
-                  activeHelpKey: classesSpecialReferencesToUndeclared
-                  label: 'References to Undeclared'
-                  itemValue: browseUndeclared
-                )
-               (MenuItem
-                  activeHelpKey: classesSpecialReferencesToUndeclared
-                  label: 'Clear Undeclared Variables'
-                  itemValue: clearUndeclaredVariables
-                )
-               )
-              nil
-              nil
-            )
-          )
-         )
-        nil
-        nil
+	(
+	 (MenuItem
+	    activeHelpKey: classesSystemBrowser
+	    label: 'System Browser'
+	    itemValue: openApplication:
+	    nameKey: systemBrowser
+	    submenuChannel: menuClassHistory
+	    labelImage: (ResourceRetriever ToolbarIconLibrary startSystemBrowserIcon 'System Browser')
+	    argument: 'Tools::NewSystemBrowser'
+	    showBusyCursorWhilePerforming: true
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    activeHelpKey: startChangeSetBrowser
+	    label: 'Recent Changes'
+	    itemValue: startChangeSetBrowser
+	    nameKey: startChangeSetBrowser
+	    showBusyCursorWhilePerforming: true
+	  )
+	 (MenuItem
+	    activeHelpKey: classesClassBrowserOnChanges
+	    label: 'Changed Classes'
+	    itemValue: startClassBrowserOnChanges
+	    nameKey: classBrowserOnChanges
+	    showBusyCursorWhilePerforming: true
+	  )
+	 (MenuItem
+	    activeHelpKey: classBrowserOnChangedMethods
+	    label: 'Changed Methods'
+	    itemValue: startClassBrowserOnChangedMethods
+	    nameKey: classBrowserOnChangedMethods
+	    showBusyCursorWhilePerforming: true
+	  )
+	 (MenuItem
+	    activeHelpKey: startSmallTeamChangeSetBrowser
+	    label: 'Recent Changes on SmallTeam Host'
+	    isVisible: smallTeamAvailable
+	    submenuChannel: startBrowserOnSmallTeamChangesMenu
+	    showBusyCursorWhilePerforming: true
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    label: 'Special Browsers'
+	    submenuChannel: classesSpecialBrowserMenu
+	  )
+	 (MenuItem
+	    activeHelpKey: classesClassTreeBrowser
+	    label: 'Class Tree'
+	    itemValue: openApplication:
+	    argument: 'ClassTreeGraphView'
+	    showBusyCursorWhilePerforming: true
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    activeHelpKey: classesImplementors
+	    label: 'Implementors Of...'
+	    itemValue: browseImplementors
+	    showBusyCursorWhilePerforming: true
+	  )
+	 (MenuItem
+	    activeHelpKey: classesSenders
+	    label: 'Senders Of...'
+	    itemValue: browseSenders
+	    showBusyCursorWhilePerforming: true
+	  )
+	 (MenuItem
+	    label: 'Method Finder'
+	    itemValue: openMethodFinder
+	    labelImage: (ResourceRetriever ToolbarIconLibrary methodFinder24x24Icon 'Method Finder')
+	  )
+	 (MenuItem
+	    activeHelpKey: classesResourceMethods
+	    label: 'Find Resource Methods...'
+	    itemValue: browseResources
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    activeHelpKey: classesSpecial
+	    label: 'Special'
+	    nameKey: special
+	    submenu:
+	   (Menu
+	      (
+	       (MenuItem
+		  activeHelpKey: classesSpecialReferencesToUnboundGlobals
+		  label: 'References to Unbound Globals'
+		  itemValue: browseUnboundGlobals
+		)
+	       (MenuItem
+		  activeHelpKey: classesSpecialReferencesToUndeclared
+		  label: 'References to Undeclared'
+		  itemValue: browseUndeclared
+		)
+	       (MenuItem
+		  activeHelpKey: classesSpecialReferencesToUndeclared
+		  label: 'Clear Undeclared Variables'
+		  itemValue: clearUndeclaredVariables
+		)
+	       )
+	      nil
+	      nil
+	    )
+	  )
+	 )
+	nil
+	nil
       )
 !
 
@@ -2101,7 +2110,6 @@
     "Do not manually edit this!! If it is corrupted,
      the MenuEditor may not be able to read the specification."
 
-
     "
      MenuEditor new openOnClass:NewLauncher andSelector:#menu
      (Menu new fromLiteralArrayEncoding:(NewLauncher menu)) startUp
@@ -2109,75 +2117,70 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(Menu
-        (
-         (MenuItem
-            label: 'About'
-            nameKey: about
-            translateLabel: true
-            submenuChannel: aboutMenu
-            labelImage: (ResourceRetriever nil menuIcon)
-          )
-         (MenuItem
-            label: 'File'
-            nameKey: file
-            translateLabel: true
-            submenuChannel: fileMenu
-          )
-         (MenuItem
-            label: 'Classes'
-            nameKey: classes
-            translateLabel: true
-            submenuChannel: classesMenu
-          )
-         (MenuItem
-            label: 'Tools'
-            nameKey: tools
-            translateLabel: true
-            submenuChannel: toolsMenu
-            "JV@2012-05-05: If not kept, installed menu items are not shown!!!!!!
-             Either keep it or patch it whenever popped up."
-            keepLinkedMenu: true
-          )
-         (MenuItem
-            label: 'System'
-            nameKey: system
-            translateLabel: true
-            submenuChannel: systemMenu
-          )
-         (MenuItem
-            label: 'Settings'
-            nameKey: settings
-            translateLabel: true
-            isVisible: useOldSettingsApplication
-            submenuChannel: settingsMenu
-          )
-         (MenuItem
-            label: 'Windows'
-            nameKey: windows
-            translateLabel: true
-            submenuChannel: windowsMenu
-          )
-         (MenuItem
-            label: 'Demos'
-            nameKey: demos
-            translateLabel: true
-            submenuChannel: demosMenu
-          )
-         (MenuItem
-            label: 'MENU_Help'
-            nameKey: help
-            translateLabel: true
-            startGroup: conditionalRight
-            submenuChannel: helpMenu
-          )
-         )
-        nil
-        nil
+	(
+	 (MenuItem
+	    label: 'About'
+	    nameKey: about
+	    translateLabel: true
+	    submenuChannel: aboutMenu
+	    labelImage: (ResourceRetriever nil menuIcon)
+	  )
+	 (MenuItem
+	    label: 'File'
+	    nameKey: file
+	    translateLabel: true
+	    submenuChannel: fileMenu
+	  )
+	 (MenuItem
+	    label: 'Classes'
+	    nameKey: classes
+	    translateLabel: true
+	    submenuChannel: classesMenu
+	  )
+	 (MenuItem
+	    label: 'Tools'
+	    nameKey: tools
+	    translateLabel: true
+	    submenuChannel: toolsMenu
+	  )
+	 (MenuItem
+	    label: 'System'
+	    nameKey: system
+	    translateLabel: true
+	    submenuChannel: systemMenu
+	  )
+	 (MenuItem
+	    label: 'Settings'
+	    nameKey: settings
+	    translateLabel: true
+	    isVisible: useOldSettingsApplication
+	    submenuChannel: settingsMenu
+	  )
+	 (MenuItem
+	    label: 'Windows'
+	    nameKey: windows
+	    translateLabel: true
+	    submenuChannel: windowsMenu
+	  )
+	 (MenuItem
+	    label: 'Demos'
+	    nameKey: demos
+	    translateLabel: true
+	    submenuChannel: demosMenu
+	  )
+	 (MenuItem
+	    label: 'MENU_Help'
+	    nameKey: help
+	    translateLabel: true
+	    startGroup: conditionalRight
+	    submenuChannel: helpMenu
+	  )
+	 )
+	nil
+	nil
       )
-
-    "Modified (comment): / 05-05-2012 / 19:02:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 menuOpenWorkspaceTypes
@@ -2683,309 +2686,303 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(Menu
-        (
-         (MenuItem
-            activeHelpKey: toolsWorkspace
-            label: 'Workspace'
-            itemValue: openWorkspace
-            nameKey: workspace
-            labelImage: (ResourceRetriever ToolbarIconLibrary startWorkspaceIcon 'Workspace')
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            enabled: monticelloRepositoryAvailable
-            label: 'Monticello Repository Browser'
-            itemValue: startMonticelloRepositoryBrowser
-            showBusyCursorWhilePerforming: true
-          )
-         (MenuItem
-            label: 'Programming'
-            nameKey: programming
-            "JV@2012-05-05: If not kept, installed menu items are not shown!!!!!!
-             Either keep it or patch it whenever popped up."
-            keepLinkedMenu: true
-            submenu: 
-           (Menu
-              (
-               (MenuItem
-                  activeHelpKey: toolsChangesBrowser
-                  label: 'Change File Browser'
-                  itemValue: startChangesBrowser
-                  nameKey: changesBrowser
-                  labelImage: (ResourceRetriever ToolbarIconLibrary startChangesBrowserIcon 'Change File Browser')
-                )
-               (MenuItem
-                  activeHelpKey: toolsSUnit
-                  label: 'SUnit Test Runner'
-                  itemValue: startSUnitTestRunner
-                  nameKey: startSUnitTestRunner
-                  labelImage: (ResourceRetriever NewLauncher startSUnitIcon 'SUnit Test Runner')
-                )
-               (MenuItem
-                  activeHelpKey: toolsToDoList
-                  label: 'Programmer''s ToDo List'
-                  itemValue: startToDoListBrowser
-                  nameKey: startToDoListBrowser
-                )
-               (MenuItem
-                  activeHelpKey: toolsOOM
-                  enabled: oomPackageLoaded
-                  label: 'Code Metrics Browser'
-                  itemValue: startOOMBrowser
-                  nameKey: startOOMBrowser
-                )
-               (MenuItem
-                  activeHelpKey: toolsSmaCC
-                  enabled: smaccPackageLoaded
-                  label: 'SmaCC ParserGenerator'
-                  itemValue: startSmaCCParserGenerator
-                  nameKey: startSmaCCParserGenerator
-                )
-               (MenuItem
-                  activeHelpKey: toolsInternationalLanguageTranslationEditor
-                  label: 'International Language Translation Editor'
-                  itemValue: startInternationalLanguageTranslationEditor
-                  labelImage: (ResourceRetriever ToolbarIconLibrary languagesIcon 'International Language Translation Editor')
-                )
-               )
-              nil
-              nil
-            )
-          )
-         (MenuItem
-            activeHelpKey: classesDebugging
-            label: 'Debugging'
-            nameKey: debugging
-            submenu: 
-           (Menu
-              (
-               (MenuItem
-                  activeHelpKey: breakPointBrowser
-                  label: 'Breakpoint Browser'
-                  itemValue: openApplication:
-                  argument: 'Tools::BreakpointBrowser'
-                )
-               (MenuItem
-                  label: '-'
-                )
-               (MenuItem
-                  activeHelpKey: classesShowTracePoints
-                  label: 'Show all Break && Trace Points'
-                  itemValue: browseAllBreakAndTracePoints
-                )
-               (MenuItem
-                  activeHelpKey: classesRemoveAllTracePoints
-                  label: 'Remove all Break && Trace Points'
-                  itemValue: removeAllBreakAndTracePoints
-                )
-               (MenuItem
-                  activeHelpKey: classesStopIgnoringHalts
-                  enabled: debuggerHasIgnoredHalts
-                  label: 'Stop Ignoring Halts/Breakpoints'
-                  itemValue: stopIgnoringHalts
-                )
-               (MenuItem
-                  label: '-'
-                )
-               (MenuItem
-                  label: 'Halt when Text is Sent to Transcript...'
-                  itemValue: openTranscriptDebugDialog
-                )
-               (MenuItem
-                  label: 'Trace when Text is Sent to Transcript...'
-                  itemValue: openTranscriptTraceDialog
-                )
-               (MenuItem
-                  label: '-'
-                )
-               (MenuItem
-                  activeHelpKey: enableGlobalCoverageAnalysis
-                  label: 'Clear all Coverage Info (Systemwide)'
-                  itemValue: clearAllCoverageInfo
-                )
-               (MenuItem
-                  activeHelpKey: enableGlobalCoverageAnalysis
-                  label: 'Enable Coverage Analysis in all Processes'
-                  itemValue: enableGlobalCoverageAnalysis
-                )
-               )
-              nil
-              nil
-            )
-          )
-         (MenuItem
-            label: 'GUI'
-            submenu: 
-           (Menu
-              (
-               (MenuItem
-                  activeHelpKey: toolsGUIPainter
-                  label: 'GUI Painter'
-                  itemValue: openApplication:
-                  nameKey: guiPainter
-                  labelImage: (ResourceRetriever ToolbarIconLibrary startUIPainterIcon 'GUI Painter')
-                  argument: 'UIPainter'
-                )
-               (MenuItem
-                  activeHelpKey: toolsMenuEditor
-                  label: 'Menu Editor'
-                  itemValue: openApplication:
-                  nameKey: menuEditor
-                  labelImage: (ResourceRetriever ToolbarIconLibrary startMenuEditorIcon 'Menu Editor')
-                  argument: 'MenuEditor'
-                )
-               (MenuItem
-                  activeHelpKey: toolsImageEditor
-                  label: 'Image Editor'
-                  itemValue: openApplication:
-                  nameKey: imageEditor
-                  labelImage: (ResourceRetriever ToolbarIconLibrary startImageEditorIcon 'Image Editor')
-                  argument: 'ImageEditor'
-                )
-               )
-              nil
-              nil
-            )
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            label: 'Bug Reporter'
-            itemValue: startBugMessages
-            nameKey: bugMessages
-            isVisible: bugReporterAvailable
-            labelImage: (ResourceRetriever NewLauncher bugReporterIcon 'Bug Reporter')
-          )
-         (MenuItem
-            label: 'SQL Workspace'
-            itemValue: startSQLWorkspace
-            isVisible: sqlWorkspaceItemVisible
-          )
-         (MenuItem
-            activeHelpKey: fileApplicationBuilder
-            label: 'Application Packager (exe-Builder)'
-            itemValue: openApplication:
-            labelImage: (ResourceRetriever ToolbarIconLibrary projectBuilderIcon 'Application Packager (exe-Builder)')
-            argument: 'Tools::ProjectBuilderAssistantApplication'
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            label: 'Recently Opened'
-            submenuChannel: recentlyOpenedApplicationsMenu
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            activeHelpKey: toolsMisc
-            label: 'Misc'
-            nameKey: misc
-            "JV@2012-05-05: If not kept, installed menu items are not shown!!!!!!
-             Either keep it or patch it whenever popped up."
-            keepLinkedMenu: true
-            submenu: 
-           (Menu
-              (
-               (MenuItem
-                  activeHelpKey: toolsMiscProjects
-                  label: 'Projects'
-                  isVisible: false
-                  submenu: 
-                 (Menu
-                    (
-                     (MenuItem
-                        activeHelpKey: toolsMiscProjectsNewProject
-                        label: 'New Project'
-                        itemValue: newProject
-                      )
-                     (MenuItem
-                        label: '-'
-                      )
-                     (MenuItem
-                        activeHelpKey: toolsMiscProjectsSelectProject
-                        label: 'Select Project...'
-                        itemValue: selectProject
-                      )
-                     )
-                    nil
-                    nil
-                  )
-                )
-               (MenuItem
-                  label: '-'
-                  isVisible: false
-                )
-               (MenuItem
-                  activeHelpKey: toolsMiscNewLauncher
-                  label: 'Reopen Launcher'
-                  itemValue: startNewLauncher
-                )
-               (MenuItem
-                  activeHelpKey: demosRemoteLauncher
-                  enabled: canOpenRemoteLauncher
-                  label: 'Remote Launcher...'
-                  itemValue: startRemoteLauncher
-                )
-               (MenuItem
-                  activeHelpKey: demosPDALauncher
-                  label: 'PDA Launcher...'
-                  itemValue: startPDALauncher
-                  isVisible: hasPDALauncher
-                )
-               (MenuItem
-                  label: '-'
-                )
-               (MenuItem
-                  activeHelpKey: toolsMiscNewChangesBrowser
-                  label: 'New Changes Browser'
-                  itemValue: startNewChangesBrowser
-                )
-               (MenuItem
-                  activeHelpKey: toolsMiscOldChangesBrowser
-                  label: 'Old Changes Browser'
-                  itemValue: startOldChangesBrowser
-                )
-               (MenuItem
-                  label: '-'
-                  isVisible: canDoTerminal
-                )
-               (MenuItem
-                  activeHelpKey: toolsTerminal
-                  label: 'Terminal'
-                  itemValue: openTerminal
-                  isVisible: canDoTerminal
-                )
-               (MenuItem
-                  label: '-'
-                  isVisible: canDoTerminal
-                )
-               (MenuItem
-                  label: 'Inspect Global Variables'
-                  itemValue: inspectGlobalVariables
-                )
-               (MenuItem
-                  label: 'Inspect Workspace Variables'
-                  itemValue: inspectWorkspaceVariables
-                )
-               (MenuItem
-                  label: 'Remove all Workspace Variables'
-                  itemValue: removeAllWorkspaceVariables
-                )
-               )
-              nil
-              nil
-            )
-          )
-         )
-        nil
-        nil
+	(
+	 (MenuItem
+	    activeHelpKey: toolsWorkspace
+	    label: 'Workspace'
+	    itemValue: openWorkspace
+	    nameKey: workspace
+	    labelImage: (ResourceRetriever ToolbarIconLibrary startWorkspaceIcon 'Workspace')
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    enabled: monticelloRepositoryAvailable
+	    label: 'Monticello Repository Browser'
+	    itemValue: startMonticelloRepositoryBrowser
+	    showBusyCursorWhilePerforming: true
+	  )
+	 (MenuItem
+	    label: 'Programming'
+	    nameKey: programming
+	    submenu:
+	   (Menu
+	      (
+	       (MenuItem
+		  activeHelpKey: toolsChangesBrowser
+		  label: 'Change File Browser'
+		  itemValue: startChangesBrowser
+		  nameKey: changesBrowser
+		  labelImage: (ResourceRetriever ToolbarIconLibrary startChangesBrowserIcon 'Change File Browser')
+		)
+	       (MenuItem
+		  activeHelpKey: toolsSUnit
+		  label: 'SUnit Test Runner'
+		  itemValue: startSUnitTestRunner
+		  nameKey: startSUnitTestRunner
+		  labelImage: (ResourceRetriever NewLauncher startSUnitIcon 'SUnit Test Runner')
+		)
+	       (MenuItem
+		  activeHelpKey: toolsToDoList
+		  label: 'Programmer''s ToDo List'
+		  itemValue: startToDoListBrowser
+		  nameKey: startToDoListBrowser
+		)
+	       (MenuItem
+		  activeHelpKey: toolsOOM
+		  enabled: oomPackageLoaded
+		  label: 'Code Metrics Browser'
+		  itemValue: startOOMBrowser
+		  nameKey: startOOMBrowser
+		)
+	       (MenuItem
+		  activeHelpKey: toolsSmaCC
+		  enabled: smaccPackageLoaded
+		  label: 'SmaCC ParserGenerator'
+		  itemValue: startSmaCCParserGenerator
+		  nameKey: startSmaCCParserGenerator
+		)
+	       (MenuItem
+		  activeHelpKey: toolsInternationalLanguageTranslationEditor
+		  label: 'International Language Translation Editor'
+		  itemValue: startInternationalLanguageTranslationEditor
+		  labelImage: (ResourceRetriever ToolbarIconLibrary languagesIcon 'International Language Translation Editor')
+		)
+	       )
+	      nil
+	      nil
+	    )
+	  )
+	 (MenuItem
+	    activeHelpKey: classesDebugging
+	    label: 'Debugging'
+	    nameKey: debugging
+	    submenu:
+	   (Menu
+	      (
+	       (MenuItem
+		  activeHelpKey: breakPointBrowser
+		  label: 'Breakpoint Browser'
+		  itemValue: openApplication:
+		  argument: 'Tools::BreakpointBrowser'
+		)
+	       (MenuItem
+		  label: '-'
+		)
+	       (MenuItem
+		  activeHelpKey: classesShowTracePoints
+		  label: 'Show all Break && Trace Points'
+		  itemValue: browseAllBreakAndTracePoints
+		)
+	       (MenuItem
+		  activeHelpKey: classesRemoveAllTracePoints
+		  label: 'Remove all Break && Trace Points'
+		  itemValue: removeAllBreakAndTracePoints
+		)
+	       (MenuItem
+		  activeHelpKey: classesStopIgnoringHalts
+		  enabled: debuggerHasIgnoredHalts
+		  label: 'Stop Ignoring Halts/Breakpoints'
+		  itemValue: stopIgnoringHalts
+		)
+	       (MenuItem
+		  label: '-'
+		)
+	       (MenuItem
+		  label: 'Halt when Text is Sent to Transcript...'
+		  itemValue: openTranscriptDebugDialog
+		)
+	       (MenuItem
+		  label: 'Trace when Text is Sent to Transcript...'
+		  itemValue: openTranscriptTraceDialog
+		)
+	       (MenuItem
+		  label: '-'
+		)
+	       (MenuItem
+		  activeHelpKey: enableGlobalCoverageAnalysis
+		  label: 'Clear all Coverage Info (Systemwide)'
+		  itemValue: clearAllCoverageInfo
+		)
+	       (MenuItem
+		  activeHelpKey: enableGlobalCoverageAnalysis
+		  label: 'Enable Coverage Analysis in all Processes'
+		  itemValue: enableGlobalCoverageAnalysis
+		)
+	       )
+	      nil
+	      nil
+	    )
+	  )
+	 (MenuItem
+	    label: 'GUI'
+	    submenu:
+	   (Menu
+	      (
+	       (MenuItem
+		  activeHelpKey: toolsGUIPainter
+		  label: 'GUI Painter'
+		  itemValue: openApplication:
+		  nameKey: guiPainter
+		  labelImage: (ResourceRetriever ToolbarIconLibrary startUIPainterIcon 'GUI Painter')
+		  argument: 'UIPainter'
+		)
+	       (MenuItem
+		  activeHelpKey: toolsMenuEditor
+		  label: 'Menu Editor'
+		  itemValue: openApplication:
+		  nameKey: menuEditor
+		  labelImage: (ResourceRetriever ToolbarIconLibrary startMenuEditorIcon 'Menu Editor')
+		  argument: 'MenuEditor'
+		)
+	       (MenuItem
+		  activeHelpKey: toolsImageEditor
+		  label: 'Image Editor'
+		  itemValue: openApplication:
+		  nameKey: imageEditor
+		  labelImage: (ResourceRetriever ToolbarIconLibrary startImageEditorIcon 'Image Editor')
+		  argument: 'ImageEditor'
+		)
+	       )
+	      nil
+	      nil
+	    )
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    label: 'Bug Reporter'
+	    itemValue: startBugMessages
+	    nameKey: bugMessages
+	    isVisible: bugReporterAvailable
+	    labelImage: (ResourceRetriever NewLauncher bugReporterIcon 'Bug Reporter')
+	  )
+	 (MenuItem
+	    label: 'SQL Workspace'
+	    itemValue: startSQLWorkspace
+	    isVisible: sqlWorkspaceItemVisible
+	  )
+	 (MenuItem
+	    activeHelpKey: fileApplicationBuilder
+	    label: 'Application Packager (exe-Builder)'
+	    itemValue: openApplication:
+	    labelImage: (ResourceRetriever ToolbarIconLibrary projectBuilderIcon 'Application Packager (exe-Builder)')
+	    argument: 'Tools::ProjectBuilderAssistantApplication'
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    label: 'Recently Opened'
+	    submenuChannel: recentlyOpenedApplicationsMenu
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    activeHelpKey: toolsMisc
+	    label: 'Misc'
+	    nameKey: misc
+	    submenu:
+	   (Menu
+	      (
+	       (MenuItem
+		  activeHelpKey: toolsMiscProjects
+		  label: 'Projects'
+		  isVisible: false
+		  submenu:
+		 (Menu
+		    (
+		     (MenuItem
+			activeHelpKey: toolsMiscProjectsNewProject
+			label: 'New Project'
+			itemValue: newProject
+		      )
+		     (MenuItem
+			label: '-'
+		      )
+		     (MenuItem
+			activeHelpKey: toolsMiscProjectsSelectProject
+			label: 'Select Project...'
+			itemValue: selectProject
+		      )
+		     )
+		    nil
+		    nil
+		  )
+		)
+	       (MenuItem
+		  label: '-'
+		  isVisible: false
+		)
+	       (MenuItem
+		  activeHelpKey: toolsMiscNewLauncher
+		  label: 'Reopen Launcher'
+		  itemValue: startNewLauncher
+		)
+	       (MenuItem
+		  activeHelpKey: demosRemoteLauncher
+		  enabled: canOpenRemoteLauncher
+		  label: 'Remote Launcher...'
+		  itemValue: startRemoteLauncher
+		)
+	       (MenuItem
+		  activeHelpKey: demosPDALauncher
+		  label: 'PDA Launcher...'
+		  itemValue: startPDALauncher
+		  isVisible: hasPDALauncher
+		)
+	       (MenuItem
+		  label: '-'
+		)
+	       (MenuItem
+		  activeHelpKey: toolsMiscNewChangesBrowser
+		  label: 'New Changes Browser'
+		  itemValue: startNewChangesBrowser
+		)
+	       (MenuItem
+		  activeHelpKey: toolsMiscOldChangesBrowser
+		  label: 'Old Changes Browser'
+		  itemValue: startOldChangesBrowser
+		)
+	       (MenuItem
+		  label: '-'
+		  isVisible: canDoTerminal
+		)
+	       (MenuItem
+		  activeHelpKey: toolsTerminal
+		  label: 'Terminal'
+		  itemValue: openTerminal
+		  isVisible: canDoTerminal
+		)
+	       (MenuItem
+		  label: '-'
+		  isVisible: canDoTerminal
+		)
+	       (MenuItem
+		  label: 'Inspect Global Variables'
+		  itemValue: inspectGlobalVariables
+		)
+	       (MenuItem
+		  label: 'Inspect Workspace Variables'
+		  itemValue: inspectWorkspaceVariables
+		)
+	       (MenuItem
+		  label: 'Remove all Workspace Variables'
+		  itemValue: removeAllWorkspaceVariables
+		)
+	       )
+	      nil
+	      nil
+	    )
+	  )
+	 )
+	nil
+	nil
       )
 !
 
@@ -3188,6 +3185,7 @@
       )
 ! !
 
+
 !NewLauncher class methodsFor:'oldstyle-menu specs'!
 
 settingsMenu
@@ -3344,6 +3342,7 @@
       )
 ! !
 
+
 !NewLauncher methodsFor:'accessing'!
 
 errorListCanvas
@@ -3451,6 +3450,7 @@
     ^ transcript
 ! !
 
+
 !NewLauncher methodsFor:'aspects'!
 
 canDoTerminal
@@ -3622,6 +3622,7 @@
     ^ false
 ! !
 
+
 !NewLauncher methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -3743,6 +3744,7 @@
     ^projectInfo.
 ! !
 
+
 !NewLauncher methodsFor:'help'!
 
 defaultInfoLabel
@@ -3761,6 +3763,7 @@
     ^ text
 ! !
 
+
 !NewLauncher methodsFor:'menu configuration'!
 
 addMenuItem:newItem from:anApplicationClassWhichProvidesResourcesOrNil in:where position:positionSpecOrNilArg space:space
@@ -4125,74 +4128,102 @@
 
 ! !
 
+
 !NewLauncher methodsFor:'menus-dynamic'!
 
 allWindowsMenu
     "returns a subMenu with one oeprations-submenu entry per open window"
 
-    |menu|
+    |menu allViewsAndLabels|
 
     menu := Menu new receiver: self.
-    (self allTopViewsAndLabelsSortedFilteringWindowGroups:nil) do:[:assoc |
-        |view label submenu|
+    allViewsAndLabels := self allTopViewsAndLabelsSortedFilteringWindowGroups:nil.
+    allViewsAndLabels do:[:assoc |
+        |view label submenu likeThis info|
 
         view := assoc value.
         label := assoc key.
 
         submenu := Menu new.
         submenu addItem:(MenuItem new
-                            label: 'Raise Deiconified'; 
-                            value: [view raiseDeiconified; setForegroundWindow]; 
+                            label: 'Raise Deiconified';
+                            itemValue: [view raiseDeiconified; setForegroundWindow];
                             translateLabel: true).
         submenu addItem:(MenuItem new
-                            label: 'Iconify'; 
-                            value: [view collapse]; 
+                            label: 'Iconify';
+                            itemValue: [view collapse];
                             translateLabel: true).
         submenu addItem:(MenuItem new
-                            label: 'Migrate'; 
-                            value: [self migrateWindow:view]; 
+                            label: 'Migrate';
+                            itemValue: [self migrateWindow:view];
                             enabled:(view windowGroup isModal not);
                             translateLabel: true).
 
         submenu addSeparator.
         submenu addItem:(MenuItem new
-                            label: 'Hardcopy'; 
-                            value: [self hardcopyOfView:view]; 
+                            label: 'Hardcopy';
+                            itemValue: [self hardcopyOfView:view];
                             translateLabel: true).
         submenu addItem:(MenuItem new
-                            label: 'Inspect View'; 
-                            value: [view inspect]; 
+                            label: 'Inspect View';
+                            itemValue: [view inspect];
                             translateLabel: true).
         submenu addItem:(MenuItem new
-                            label: 'Inspect Application'; 
-                            value: [view application inspect]; 
+                            label: 'Inspect Application';
+                            itemValue: [view application inspect];
                             enabled:(view application notNil);
                             translateLabel: true).
         submenu addSeparator.
         submenu addItem:(MenuItem new
-                            label: 'Browse View Class'; 
-                            value: [view class browse]; 
+                            label: 'Browse View Class';
+                            itemValue: [view class browse];
                             translateLabel: true).
         submenu addItem:(MenuItem new
-                            label: 'Browse Application Class'; 
-                            value: [view application class browse]; 
+                            label: 'Browse Application Class';
+                            itemValue: [view application class browse];
                             enabled:(view application notNil);
                             translateLabel: true).
         submenu addItem:(MenuItem new
-                            label: 'Debug Application'; 
-                            value: [Debugger openOn:view windowGroup process]; 
+                            label: 'Debug Application';
+                            itemValue: [Debugger openOn:view windowGroup process];
                             translateLabel: true).
 
         submenu addSeparator.
         submenu addItem:(MenuItem new
-                            label: 'Close'; 
-                            value: [view destroy]; 
+                            label: 'Close';
+                            itemValue: [view destroy];
                             translateLabel: true).
 
+        likeThis :=
+            allViewsAndLabels
+                select:[:assoc |
+                    |otherView|
+
+                    otherView := assoc value.
+                    otherView class == view class
+                        and:[ otherView application class == view application class]
+                ]
+                thenCollect:[:assoc | assoc value ].
+
+        likeThis size > 1 ifTrue:[
+            info := view application notNil
+                        ifTrue:[ view application class name ]
+                        ifFalse:[ view class name ].
+            info := ' ("',info,'")'.
+        ] ifFalse:[
+            info := ''
+        ].
+
+        submenu addItem:(MenuItem new
+                            label: ('Close all like This%1' bindWith:info);
+                            itemValue: [likeThis do:[:eachView | eachView destroy]];
+                            translateLabel: true;
+                            enabled:(likeThis size > 1)).
+
         menu addItem:(MenuItem new
-                            label: label;                
-                            submenu: submenu; 
-                            value: [view raiseDeiconified; setForegroundWindow]; 
+                            label: label;
+                            submenu: submenu;
+                            itemValue: [view raiseDeiconified; setForegroundWindow];
                             translateLabel: false).
     ].
 
@@ -4394,6 +4425,7 @@
     "Created: / 12-11-2006 / 16:06:06 / cg"
 ! !
 
+
 !NewLauncher methodsFor:'private-settings callBacks'!
 
 reopenLauncher
@@ -4410,6 +4442,7 @@
     ^ newLauncher
 ! !
 
+
 !NewLauncher methodsFor:'queries'!
 
 preferredExtent
@@ -4430,6 +4463,7 @@
     ^ XWorkstation notNil
 ! !
 
+
 !NewLauncher methodsFor:'startup & release'!
 
 allButOpenInterface:anInterface
@@ -4610,6 +4644,7 @@
     Project notNil ifTrue:[Project removeDependent:self]
 ! !
 
+
 !NewLauncher methodsFor:'user actions-classes'!
 
 enableGlobalCoverageAnalysis
@@ -4680,6 +4715,7 @@
     DebugView stopIgnoringHalts
 ! !
 
+
 !NewLauncher methodsFor:'user actions-demos'!
 
 openDemo:className
@@ -4744,6 +4780,7 @@
     self openApplication:'TicTacToeGame' nameSpace:Games with:#open2UserGame
 ! !
 
+
 !NewLauncher methodsFor:'user actions-file'!
 
 clearTranscript
@@ -4782,6 +4819,7 @@
     ].
 ! !
 
+
 !NewLauncher methodsFor:'user actions-help'!
 
 activeHelp
@@ -4804,6 +4842,7 @@
     "Modified: / 18.8.1998 / 16:06:27 / cg"
 ! !
 
+
 !NewLauncher methodsFor:'user actions-system'!
 
 initJavaVM
@@ -4850,12 +4889,14 @@
     "Modified: / 20-04-2005 / 18:59:28 / janfrog"
 ! !
 
+
 !NewLauncher methodsFor:'user actions-windows'!
 
 redrawAllWindows
     device redrawAllWindows.
 ! !
 
+
 !NewLauncher::AddedToolInfo methodsFor:'accessing'!
 
 before
@@ -4923,16 +4964,18 @@
     where := something.
 ! !
 
+
 !NewLauncher class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.448 2012/12/13 10:07:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.450 2013-01-26 21:04:03 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.448 2012/12/13 10:07:34 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.450 2013-01-26 21:04:03 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: NewLauncher.st 8083 2013-01-14 11:48:37Z vranyj1 $'
+    ^ 'Id: NewLauncher.st 7772 2011-06-08 21:59:15Z vranyj1 '
 ! !
+
--- a/OrderedCollectionInspectorView.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/OrderedCollectionInspectorView.st	Wed Jan 30 11:15:09 2013 +0000
@@ -44,6 +44,7 @@
 
 ! !
 
+
 !OrderedCollectionInspectorView methodsFor:'menu'!
 
 fieldMenu
@@ -122,6 +123,7 @@
     "Modified: / 06-08-2012 / 09:01:56 / cg"
 ! !
 
+
 !OrderedCollectionInspectorView methodsFor:'private'!
 
 baseInspectedObjectClass
@@ -164,6 +166,7 @@
     "Created: / 13-06-2012 / 10:13:16 / cg"
 ! !
 
+
 !OrderedCollectionInspectorView methodsFor:'user interaction'!
 
 indexedValueAtIndex:idx
@@ -189,16 +192,18 @@
     ]
 ! !
 
+
 !OrderedCollectionInspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/OrderedCollectionInspectorView.st,v 1.48 2012/08/06 07:02:02 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/OrderedCollectionInspectorView.st,v 1.48 2012-08-06 07:02:02 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/OrderedCollectionInspectorView.st,v 1.48 2012/08/06 07:02:02 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/OrderedCollectionInspectorView.st,v 1.48 2012-08-06 07:02:02 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: OrderedCollectionInspectorView.st 8048 2012-09-07 17:28:09Z vranyj1 $'
 ! !
+
--- a/PerforceSourceCodeManagementSettingsAppl.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/PerforceSourceCodeManagementSettingsAppl.st	Wed Jan 30 11:15:09 2013 +0000
@@ -54,6 +54,7 @@
 "
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -165,6 +166,7 @@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[255 207 52 214 168 55 233 238 244 117 121 125 215 219 225 217 222 228 166 169 170 185 189 193 118 113 66 175 127 29 172 137 46 183 143 46 186 146 50 149 132 77 212 161 47 102 106 106 233 202 75 244 197 63 237 243 249 253 208 64 244 197 65 116 121 116 236 242 248 141 145 139 212 219 146 193 198 148 232 179 53 146 149 152 164 168 171 127 97 27 138 106 37 200 204 209 180 136 36 187 140 37 209 152 33 214 218 223 219 166 45 223 228 234 240 194 60 240 194 64 138 131 107 230 183 62 239 191 65 230 184 63 120 122 121 213 164 49 232 237 244 104 109 109 251 215 73 225 231 235 162 166 166 180 184 188 153 111 25 175 126 27 185 134 29 186 141 39 223 228 223 217 221 226 223 227 230 232 237 235 255 235 80 227 199 81 236 241 247 232 185 63 253 216 78 253 217 79 131 135 134 230 234 240 215 159 40 232 182 60 216 221 223 96 97 95 154 158 159 178 183 183 144 110 31 199 204 209 163 130 45 175 133 40 205 150 34 203 156 46 134 121 82 223 172 50 228 233 234 232 183 60 236 243 248 253 216 79 254 241 108 123 127 129 233 184 62 255 196 50 232 182 57 118 122 120 216 220 226 211 164 51 161 167 160 102 81 27 139 107 33 147 120 48 166 132 45 167 134 50 212 217 221 94 100 98 227 233 231 224 229 234 228 183 56 253 208 63 237 243 247 238 243 250 231 235 242 234 239 246 254 208 63 240 194 65 216 168 53 114 120 119 217 221 227 148 152 153 227 232 238 178 182 180 143 110 31 171 125 28 118 105 65 173 137 46 205 150 33 214 159 37 224 166 38 221 167 46 223 170 49 231 179 56 235 239 244 245 203 72 238 190 64 233 181 58 232 184 62 128 131 126 255 230 77 215 162 44 117 121 122 222 227 232 203 152 38 150 153 155 172 176 177 132 102 33 154 121 40 147 118 49 101 101 82 228 233 221 255 235 71 227 233 230 211 164 52 228 233 237 227 181 61 244 196 63 237 242 248 233 182 59 234 184 60 236 241 248 255 205 50 214 166 51 222 226 230 195 202 151 229 233 240 153 156 155 168 172 176 138 101 24 157 117 33 119 99 56 219 225 216 184 158 61 139 130 81 100 101 96 144 149 103 225 175 53 149 154 112 245 200 66 246 202 71 232 184 63 233 183 61 131 134 130 0 0 0 0 64 0 32 96 32 96 192 128 32 128 64 32 160 64 32 128 32 64 64 64 96 96 96 128 128 128 32 32 32 32 64 32]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@C@@@C@@@CA<@CA?OCA??CA??CA??CA??CA??CA?>CC?.CG??CG??#_/?#ON^CF_^C@?LCHL@CG<@CC8@C@@@C') ; yourself); yourself]
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -457,6 +459,7 @@
       )
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl class methodsFor:'menu specs'!
 
 menuPerModule
@@ -488,6 +491,7 @@
       )
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl class methodsFor:'queries'!
 
 managerClass
@@ -498,6 +502,7 @@
     "Created: / 19-04-2011 / 12:52:02 / cg"
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl class methodsFor:'tableColumns specs'!
 
 tableColumns
@@ -543,6 +548,7 @@
     
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl methodsFor:'actions'!
 
 addModule:aModuleManager
@@ -705,6 +711,7 @@
     self updateModifiedChannel.
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl methodsFor:'aspects'!
 
 checkLabel
@@ -808,6 +815,7 @@
     ^ verboseSourceCodeAccess.
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl methodsFor:'change & update'!
 
 selectedPerModuleRootChanged
@@ -836,6 +844,7 @@
     "Modified: / 09-11-2006 / 14:41:10 / cg"
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl methodsFor:'help'!
 
 helpFilename
@@ -844,6 +853,7 @@
     "Modified: / 05-08-2011 / 09:10:03 / cg"
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -857,6 +867,7 @@
     "Modified: / 08-11-2006 / 19:20:32 / cg"
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl methodsFor:'queries'!
 
 hasManager
@@ -924,6 +935,7 @@
     ^ repositoryInfoPerModule
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl::ManagerPerModuleApp class methodsFor:'instance creation'!
 
 openFromSourceCodeManagementSettingsApp:something
@@ -936,6 +948,7 @@
     ^ inst
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl::ManagerPerModuleApp class methodsFor:'interface specs'!
 
 windowSpec
@@ -1094,6 +1107,7 @@
       )
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl::ManagerPerModuleApp methodsFor:'accessing'!
 
 canceled
@@ -1116,6 +1130,7 @@
     sourceCodeManagementSettingsApp := something.
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl::ManagerPerModuleApp methodsFor:'aspects'!
 
 acceptChannel
@@ -1191,6 +1206,7 @@
     ^ settingsHolder.
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl::ManagerPerModuleApp methodsFor:'initialization & release'!
 
 doCancel
@@ -1224,6 +1240,7 @@
     ^ super postOpenWith:aBuilder
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl::ModuleManager class methodsFor:'instance creation'!
 
 newForApplication:anApplication
@@ -1234,6 +1251,7 @@
     ^instance
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl::ModuleManager methodsFor:'accessing'!
 
 app
@@ -1299,6 +1317,7 @@
     ].
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl::ModuleManager methodsFor:'actions'!
 
 doubleClick
@@ -1312,6 +1331,7 @@
     self changed.
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl::ModuleManager methodsFor:'comparing'!
 
 < aModuleManager
@@ -1319,6 +1339,7 @@
     ^ self module < aModuleManager module
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl::ModuleManager methodsFor:'queries'!
 
 availableManagerTypeNames
@@ -1330,16 +1351,18 @@
     ^ AbstractSourceCodeManager availableManagers detect:[:cls | cls managerTypeName = manager] ifNone:[nil].
 ! !
 
+
 !PerforceSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagementSettingsAppl.st,v 1.25 2012/07/19 15:27:52 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagementSettingsAppl.st,v 1.25 2012-07-19 15:27:52 stefan Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagementSettingsAppl.st,v 1.25 2012/07/19 15:27:52 stefan Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagementSettingsAppl.st,v 1.25 2012-07-19 15:27:52 stefan Exp $'
 !
 
 version_SVN
-    ^ '$Id: PerforceSourceCodeManagementSettingsAppl.st 8022 2012-07-25 09:51:30Z vranyj1 $'
+    ^ 'Id'
 ! !
+
--- a/PerforceSourceCodeManagerUtilities.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/PerforceSourceCodeManagerUtilities.st	Wed Jan 30 11:15:09 2013 +0000
@@ -68,6 +68,7 @@
 "
 ! !
 
+
 !PerforceSourceCodeManagerUtilities class methodsFor:'class access'!
 
 submitInfoDialogClass
@@ -83,6 +84,7 @@
     "Created: / 01-06-2012 / 11:13:49 / cg"
 ! !
 
+
 !PerforceSourceCodeManagerUtilities methodsFor:'utilities-cvs'!
 
 checkinClass:aClass withInfo:aLogInfoOrNil withCheck:doCheckClass usingManager:managerOrNil
@@ -189,12 +191,14 @@
     "Created: / 21-12-2011 / 18:19:14 / cg"
 ! !
 
+
 !PerforceSourceCodeManagerUtilities methodsFor:'utilities-p4'!
 
 submit
     self defaultManager submit
 ! !
 
+
 !PerforceSourceCodeManagerUtilities methodsFor:'utilities-p4-interaction'!
 
 getCheckinInfoFor:aClassNameOrPackageNameString initialAnswer:initialAnswerOrNil withQuickOption:withQuickOption
@@ -223,6 +227,7 @@
     "Modified: / 06-07-2010 / 11:21:28 / cg"
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::P4CheckinInfoDialog class methodsFor:'documentation'!
 
 copyright
@@ -255,6 +260,7 @@
 "
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::P4CheckinInfoDialog class methodsFor:'interface specs'!
 
 windowSpec
@@ -400,6 +406,7 @@
       )
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::P4CheckinInfoDialog class methodsFor:'opening'!
 
 getCheckinInfoFor:aString initialAnswer:initialAnswer
@@ -467,6 +474,7 @@
     "Created: / 12-03-2012 / 12:36:26 / cg"
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::P4CheckinInfoDialog methodsFor:'accessing'!
 
 allowEmptyLogMessage
@@ -537,6 +545,7 @@
     ^ self quickCheckInVisibleHolder value:aBoolean
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::P4CheckinInfoDialog methodsFor:'aspects'!
 
 descriptionHolder
@@ -624,6 +633,7 @@
     "Created: / 06-07-2010 / 11:30:29 / cg"
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::SubmitInfoDialog class methodsFor:'documentation'!
 
 copyright
@@ -656,6 +666,7 @@
 "
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::SubmitInfoDialog class methodsFor:'interface specs'!
 
 windowSpec
@@ -817,6 +828,7 @@
       )
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::SubmitInfoDialog class methodsFor:'opening'!
 
 getCheckinInfoFor:aClassNameOrPackageNameString initialAnswer:initialAnswer withFileList:fileList
@@ -893,6 +905,7 @@
     "Modified: / 06-07-2010 / 11:40:00 / cg"
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::SubmitInfoDialog methodsFor:'accessing'!
 
 allowEmptyLogMessage
@@ -967,6 +980,7 @@
     ^ self quickCheckInVisibleHolder value:aBoolean
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::SubmitInfoDialog methodsFor:'aspects'!
 
 descriptionHolder
@@ -1060,6 +1074,7 @@
     "Created: / 06-07-2010 / 11:30:29 / cg"
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::WorkSpace class methodsFor:'instance creation'!
 
 newWorkSpaceFor:aSettingsString  
@@ -1084,6 +1099,7 @@
     ^ workSpace newWorkSpaceForSettings:settingsDict
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::WorkSpace methodsFor:'accessing'!
 
 client
@@ -1151,6 +1167,7 @@
     ^ views
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::WorkSpace methodsFor:'actions'!
 
 addCheckIn:checkInDefinition submit:doSubmit
@@ -2500,6 +2517,7 @@
     ^true
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::WorkSpace methodsFor:'basic administration'!
 
 initialRevisionInfo:checkInDefinition
@@ -2596,6 +2614,7 @@
     ^versionInfo getVersionString
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::WorkSpace methodsFor:'command execution'!
 
 executePerforceCommand:perforceCommand inDirectory:dirArg 
@@ -2786,6 +2805,7 @@
     ^ commandStream contents.
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::WorkSpace methodsFor:'dialogs & helpers'!
 
 checkinTroubleDialog:title message:message log:log abortable:abortable option:optionTitle
@@ -3008,6 +3028,7 @@
 "
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::WorkSpace methodsFor:'initialization'!
 
 initialize
@@ -3015,6 +3036,7 @@
     PerforceCommandSemaphore := Semaphore new:10.
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::WorkSpace methodsFor:'queries'!
 
 getDepotPathForLocalPath:aFilename
@@ -3260,6 +3282,7 @@
     ^ 'stxCheckinWorkSpace_', self owner, self host.
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::WorkSpace methodsFor:'read'!
 
 getDefinitionFromServer
@@ -3381,6 +3404,7 @@
     self perforceSettings:settingsDict.
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::WorkSpace::View class methodsFor:'instance creation'!
 
 newFromLine:aLine workspace:aWorkspaceDefinition
@@ -3393,6 +3417,7 @@
     ^instance
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::WorkSpace::View methodsFor:'accessing'!
 
 depot
@@ -3434,6 +3459,7 @@
     workspace := something.
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::WorkSpace::View methodsFor:'queries'!
 
 getDepotPathForLocalPath:aFilename
@@ -3517,6 +3543,7 @@
     ^localPathName pathName 
 ! !
 
+
 !PerforceSourceCodeManagerUtilities::WorkSpace::View methodsFor:'reading'!
 
 newFromLine:aLine
@@ -3561,16 +3588,18 @@
 "
 ! !
 
+
 !PerforceSourceCodeManagerUtilities class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagerUtilities.st,v 1.2 2012/10/30 14:33:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagerUtilities.st,v 1.2 2012-10-30 14:33:38 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagerUtilities.st,v 1.2 2012/10/30 14:33:38 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagerUtilities.st,v 1.2 2012-10-30 14:33:38 cg Exp $'
 !
 
 version_SVN
     ^ '$Id:: PerforceSourceCodeManagerUtilities.st 8074 2012-11-30 17:23:39Z vranyj1                                                $'
 ! !
+
--- a/ProcessMonitorV2.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/ProcessMonitorV2.st	Wed Jan 30 11:15:09 2013 +0000
@@ -105,6 +105,7 @@
     "Created: / 14.1.2003 / 11:16:10 / penk"
 ! !
 
+
 !ProcessMonitorV2 class methodsFor:'instance creation'!
 
 openAllowNoModifications
@@ -117,6 +118,7 @@
     application allowModifications value:false.
 ! !
 
+
 !ProcessMonitorV2 class methodsFor:'defaults'!
 
 defaultLabel
@@ -130,6 +132,7 @@
     ^ 'ProcessMonitor'
 ! !
 
+
 !ProcessMonitorV2 class methodsFor:'help'!
 
 aboutThisApplicationText
@@ -240,6 +243,7 @@
     "Modified: / 05-06-2007 / 18:35:47 / cg"
 ! !
 
+
 !ProcessMonitorV2 class methodsFor:'image specs'!
 
 defaultIcon
@@ -710,6 +714,7 @@
 	ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@]+X@@@@@]+X@@@@@]+X@@@@@]+X@@@@@@@@b') ; yourself); yourself]
 ! !
 
+
 !ProcessMonitorV2 class methodsFor:'interface specs'!
 
 windowSpec
@@ -863,6 +868,7 @@
       )
 ! !
 
+
 !ProcessMonitorV2 class methodsFor:'menu specs'!
 
 applicationMenu
@@ -1583,6 +1589,7 @@
       )
 ! !
 
+
 !ProcessMonitorV2 class methodsFor:'tableColumns specs'!
 
 tableColumns
@@ -1818,6 +1825,7 @@
       )
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'accessing'!
 
 visibleBlock
@@ -1828,6 +1836,7 @@
     visibleBlock := aProcessVisibleFilterBlock.
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'actions'!
 
 changeSelectionTo:aSelection
@@ -1865,13 +1874,13 @@
 
 decreaseupdateContentsDelayTime
 
-    self updateContentsDelayTime value:(self scaledUpdateContentsDelayTime - 0.1).
+    self updateContentsDelayTime value:((self scaledUpdateContentsDelayTime - 0.1) asFixedPoint:1).
     self evaluateEnableInDecreaseButtons.
 !
 
 decreaseupdateListDelayTime
 
-    self updateListDelayTime value:(self scaledUpdateListDelayTime - 0.1).
+    self updateListDelayTime value:((self scaledUpdateListDelayTime - 0.1) asFixedPoint:1).
     self evaluateEnableInDecreaseButtons.
 !
 
@@ -1908,13 +1917,13 @@
 
 increaseupdateContentsDelayTime
 
-    self updateContentsDelayTime value:(self scaledUpdateContentsDelayTime + 0.1).
+    self updateContentsDelayTime value:((self scaledUpdateContentsDelayTime + 0.1) asFixedPoint:1).
     self evaluateEnableInDecreaseButtons.
 !
 
 increaseupdateListDelayTime
 
-    self updateListDelayTime value:(self scaledUpdateListDelayTime + 0.1).
+    self updateListDelayTime value:((self scaledUpdateListDelayTime + 0.1) asFixedPoint:1).
     self evaluateEnableInDecreaseButtons.
 !
 
@@ -1946,6 +1955,7 @@
     "Modified: / 07-06-2007 / 12:38:29 / cg"
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'aspects'!
 
 currentSortOrder
@@ -2047,6 +2057,7 @@
     ^ updateListDelayTime.
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'aspects-column'!
 
 showApplication
@@ -2174,6 +2185,7 @@
     "Created: / 17-08-2011 / 10:46:47 / cg"
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'aspects-menu enabling'!
 
 allowModifications
@@ -2317,6 +2329,7 @@
     ^ selectionRestartable
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'change & update'!
 
 selectionChanged
@@ -2440,29 +2453,33 @@
     "Modified: / 17-08-2011 / 11:11:21 / cg"
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'event handling'!
 
 processEvent:anEvent
     "filter keyboard events.
      Return true, if I have eaten the event"
 
+    <resource: #keyboard (#InspectIt )>
+
     |focusView key rawKey|
 
     anEvent isKeyPressEvent ifTrue:[
-	focusView := anEvent targetView.
-	key := anEvent key.
-	rawKey := anEvent rawKey.
-
-	(focusView == processList) ifTrue:[
-	    key == #InspectIt ifTrue:[
-		self inspectSelection.
-		^ true.
-	    ].
-	]
+        focusView := anEvent targetView.
+        key := anEvent key.
+        rawKey := anEvent rawKey.
+
+        (focusView == processList) ifTrue:[
+            key == #InspectIt ifTrue:[
+                self inspectSelection.
+                ^ true.
+            ].
+        ]
     ].
     ^ false
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'initialization & release'!
 
 commonPostOpen
@@ -2533,6 +2550,7 @@
     self startUpdateProcess.
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'menu accessing'!
 
 tableMenu
@@ -2556,6 +2574,7 @@
     "Modified: / 27-03-2007 / 08:43:43 / cg"
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'menu actions'!
 
 abortProcess
@@ -2670,6 +2689,7 @@
     self updateList.
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'menu actions-application'!
 
 closeApplication
@@ -2712,6 +2732,7 @@
     "Created: / 07-06-2007 / 12:42:09 / cg"
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'menu actions-debug'!
 
 browseApplication
@@ -2799,6 +2820,7 @@
     self selectedProcessesSend:#inspect
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'private queries'!
 
 isApplicationProcess:aProcess
@@ -2819,6 +2841,7 @@
     ^ nil
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'queries - table string'!
 
 getActiveStringFor:aProcess running:isRunning
@@ -3177,6 +3200,7 @@
     "Created: / 17-08-2011 / 11:01:21 / cg"
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'sorting'!
 
 sortProcessListBy:instanceName
@@ -3228,6 +3252,7 @@
    self viewedColumnsChanged.
 ! !
 
+
 !ProcessMonitorV2 methodsFor:'update process'!
 
 fillItemInformationIn:processItem
@@ -3318,6 +3343,7 @@
                  built up again
                 "
                 [true] whileTrue:[
+                    myDelay delay:self scaledUpdateContentsDelayTime * 1000.
                     ((self scaledUpdateListDelayTime // self scaledUpdateContentsDelayTime) max:2) - 1 timesRepeat:[
                         myDelay wait.
                         self updateStatus:nil.
@@ -3587,6 +3613,7 @@
     ].
 ! !
 
+
 !ProcessMonitorV2::ProcessItem methodsFor:'accessing'!
 
 groupVal
@@ -3807,6 +3834,7 @@
     weakArrayWithProcesses := something.
 ! !
 
+
 !ProcessMonitorV2::ProcessItem methodsFor:'printing'!
 
 printOn:aStream
@@ -3816,16 +3844,18 @@
     aStream nextPut:$].
 ! !
 
+
 !ProcessMonitorV2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ProcessMonitorV2.st,v 1.61 2012/11/03 10:24:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ProcessMonitorV2.st,v 1.63 2013-01-17 11:19:31 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/ProcessMonitorV2.st,v 1.61 2012/11/03 10:24:18 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/ProcessMonitorV2.st,v 1.63 2013-01-17 11:19:31 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: ProcessMonitorV2.st 8074 2012-11-30 17:23:39Z vranyj1 $'
 ! !
+
--- a/SetInspectorView.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/SetInspectorView.st	Wed Jan 30 11:15:09 2013 +0000
@@ -50,6 +50,7 @@
 "
 ! !
 
+
 !SetInspectorView methodsFor:'menu'!
 
 fieldMenu
@@ -76,6 +77,7 @@
     "Modified: / 29.10.1997 / 03:41:47 / cg"
 ! !
 
+
 !SetInspectorView methodsFor:'private'!
 
 baseInspectedObjectClass
@@ -153,6 +155,7 @@
     ^ false
 ! !
 
+
 !SetInspectorView methodsFor:'user interaction'!
 
 doRemoveKey
@@ -204,12 +207,14 @@
 
 ! !
 
+
 !SetInspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/SetInspectorView.st,v 1.26 2012/10/22 22:23:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SetInspectorView.st,v 1.26 2012-10-22 22:23:59 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: SetInspectorView.st 8074 2012-11-30 17:23:39Z vranyj1 $'
 ! !
+
--- a/SettingsDialog.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/SettingsDialog.st	Wed Jan 30 11:15:09 2013 +0000
@@ -124,12 +124,14 @@
 "
 ! !
 
+
 !SettingsDialog class methodsFor:'initialization'!
 
 initialize
     AbstractSettingsApplication autoload.
 ! !
 
+
 !SettingsDialog class methodsFor:'accessing'!
 
 itemClass
@@ -137,6 +139,7 @@
     ^ SettingsDialog::HierarchicalApplicationList::ApplicationItem
 ! !
 
+
 !SettingsDialog class methodsFor:'application icons'!
 
 defaultSettingsAppIcon
@@ -176,6 +179,7 @@
     ^ self settingsIconOld.
 ! !
 
+
 !SettingsDialog class methodsFor:'defaults'!
 
 defaultIcon
@@ -249,6 +253,7 @@
     ^ AbstractLauncherApplication resourcePackName
 ! !
 
+
 !SettingsDialog class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -274,6 +279,7 @@
 )
 ! !
 
+
 !SettingsDialog class methodsFor:'interface specs'!
 
 windowSpec
@@ -460,6 +466,7 @@
       )
 ! !
 
+
 !SettingsDialog class methodsFor:'menu actions'!
 
 askForFileAndSaveSettings
@@ -514,6 +521,7 @@
     self saveSettingsAsDefaultSettings.
 ! !
 
+
 !SettingsDialog class methodsFor:'menu specs'!
 
 mainMenu
@@ -581,6 +589,7 @@
       )
 ! !
 
+
 !SettingsDialog methodsFor:'accessing'!
 
 requestor
@@ -621,6 +630,7 @@
     "Modified: / 15-10-2011 / 12:06:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !SettingsDialog methodsFor:'actions'!
 
 changeLabelTo:aLabel application:aApplication
@@ -728,6 +738,7 @@
     ^ true
 ! !
 
+
 !SettingsDialog methodsFor:'application list access'!
 
 addApplClass:aClass forApplication:anApplication label:aLabel expand:aBoolean
@@ -1068,6 +1079,7 @@
     item sort:[:a :b| a label < b label].
 ! !
 
+
 !SettingsDialog methodsFor:'application list access-private'!
 
 addCategoriesFor:aName
@@ -1234,6 +1246,7 @@
     self treeName:aName butLast:0 do:aBlock
 ! !
 
+
 !SettingsDialog methodsFor:'aspects'!
 
 applicationList
@@ -1296,6 +1309,7 @@
     "Created: / 25-01-2007 / 17:13:50 / cg"
 ! !
 
+
 !SettingsDialog methodsFor:'change & update'!
 
 modifiedChanged
@@ -1419,6 +1433,7 @@
     super update:something with:aParameter from:changedObject
 ! !
 
+
 !SettingsDialog methodsFor:'initialization & release'!
 
 closeRequest
@@ -1481,6 +1496,7 @@
     "Modified: / 03-10-2011 / 16:27:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !SettingsDialog methodsFor:'menu actions'!
 
 askForFileAndSaveSettings
@@ -1530,6 +1546,7 @@
     self class saveSettingsWithoutAskingForFile.
 ! !
 
+
 !SettingsDialog::HierarchicalApplicationList::ApplicationItem methodsFor:'accessing'!
 
 application
@@ -1574,6 +1591,7 @@
     nameString := something.
 ! !
 
+
 !SettingsDialog::HierarchicalApplicationList::ApplicationItem methodsFor:'menu'!
 
 middleButtonMenu
@@ -1586,6 +1604,7 @@
     ^ application settingsDialogPopUpMenu
 ! !
 
+
 !SettingsDialog::HierarchicalApplicationList::ApplicationItem methodsFor:'printing & storing'!
 
 displayString
@@ -1607,6 +1626,7 @@
     ^ super printString, ' [', (label isText ifTrue:[label string] ifFalse:[label]) ,']'
 ! !
 
+
 !SettingsDialog::HierarchicalApplicationList::ApplicationItem methodsFor:'queries'!
 
 canCollapse
@@ -1619,6 +1639,7 @@
     ^ self applicationClass isNil
 ! !
 
+
 !SettingsDialog::SettingsFilenameAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -1684,6 +1705,7 @@
       )
 ! !
 
+
 !SettingsDialog::SettingsFilenameAppl methodsFor:'aspects'!
 
 settingsFilenameAspect
@@ -1700,6 +1722,7 @@
     "Created: / 07-02-2012 / 01:08:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !SettingsDialog::SettingsFilenameAppl methodsFor:'private'!
 
 openSettingsFile
@@ -1740,6 +1763,7 @@
     "Created: / 17-02-2012 / 10:27:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !SettingsDialog::SettingsFilenameAppl methodsFor:'protocol'!
 
 basicReadSettings
@@ -1754,6 +1778,7 @@
     "Modified: / 07-02-2012 / 01:03:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !SettingsDialog::SettingsFilenameAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -1762,18 +1787,20 @@
     "Modified: / 07-02-2012 / 01:03:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !SettingsDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/SettingsDialog.st,v 1.101 2012/11/04 21:47:51 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SettingsDialog.st,v 1.101 2012-11-04 21:47:51 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/SettingsDialog.st,v 1.101 2012/11/04 21:47:51 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/SettingsDialog.st,v 1.101 2012-11-04 21:47:51 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: SettingsDialog.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id'
 ! !
 
+
 SettingsDialog initialize!
--- a/SmalltalkCodeGeneratorTool.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/SmalltalkCodeGeneratorTool.st	Wed Jan 30 11:15:09 2013 +0000
@@ -45,6 +45,7 @@
 "
 ! !
 
+
 !SmalltalkCodeGeneratorTool class methodsFor:'code generation'!
 
 initialMenuSpecMethodSourceForApplications
@@ -180,6 +181,7 @@
         self initialWindowSpecForDialogs decodeAsLiteralArray prettyPrintString           
 ! !
 
+
 !SmalltalkCodeGeneratorTool class methodsFor:'code generation-menus'!
 
 createActionMethodFor:aSelector in:aClass category:aCategory redefine:redefine
@@ -254,6 +256,7 @@
     ^ code
 ! !
 
+
 !SmalltalkCodeGeneratorTool class methodsFor:'private'!
 
 methodNameTemplateFor:aSelector
@@ -275,6 +278,7 @@
     ^ method
 ! !
 
+
 !SmalltalkCodeGeneratorTool methodsFor:'code generation'!
 
 createClassInitializeMethodIn:aClass
@@ -1242,6 +1246,7 @@
     self executeCollectedChangesNamed:('Add Widget Code for ' , className).
 ! !
 
+
 !SmalltalkCodeGeneratorTool methodsFor:'code generation-basic'!
 
 createAccessMethodsFor:aCollectionOfVarNames in:aClass withChange:withChange asValueHolder:asValueHolder readersOnly:readersOnly writersOnly:writersOnly lazyInitialization:lazyInitialization
@@ -1553,6 +1558,7 @@
     self executeCollectedChangesNamed:('Add ValueHolder').
 ! !
 
+
 !SmalltalkCodeGeneratorTool methodsFor:'code generation-individual methods'!
 
 createAcceptVisitorMethod:selector in:aClass
@@ -1920,6 +1926,7 @@
     "Modified (comment): / 21-08-2012 / 11:54:57 / cg"
 ! !
 
+
 !SmalltalkCodeGeneratorTool methodsFor:'code templates'!
 
 anyApplicationClassInProjectOf:aClass
@@ -2439,6 +2446,7 @@
 '
 ! !
 
+
 !SmalltalkCodeGeneratorTool methodsFor:'private'!
 
 codeFor_shouldImplementFor:selector inClass:aClass
@@ -2505,16 +2513,18 @@
     ^ methodBodyStream contents
 ! !
 
+
 !SmalltalkCodeGeneratorTool class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.17 2012/10/15 20:17:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.17 2012-10-15 20:17:01 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.17 2012/10/15 20:17:01 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.17 2012-10-15 20:17:01 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: SmalltalkCodeGeneratorTool.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id'
 ! !
+
--- a/StoreSourceCodeManagementSettingsAppl.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/StoreSourceCodeManagementSettingsAppl.st	Wed Jan 30 11:15:09 2013 +0000
@@ -53,6 +53,7 @@
 "
 ! !
 
+
 !StoreSourceCodeManagementSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -81,6 +82,7 @@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[219 185 65 198 168 74 219 190 79 243 243 243 247 247 247 212 188 103 224 198 109 222 200 122 234 215 144 254 223 141 240 223 165 253 234 173 253 237 183 241 231 193 188 151 42 211 174 48 191 161 59 254 242 210 208 176 66 242 239 229 220 189 76 242 242 242 245 245 245 255 255 255 222 198 111 244 220 117 237 216 141 255 233 149 254 227 155 250 228 170 196 152 26 252 239 190 253 238 192 212 212 212 249 242 210 207 171 55 211 178 65 225 194 72 230 197 74 255 251 236 250 248 244 231 203 98 246 219 105 245 221 117 227 210 143 241 216 146 253 228 154 249 232 171 253 237 182 174 139 37 239 228 192 202 168 50 209 174 52 210 173 51 214 179 60 222 188 68 210 174 70 224 193 81 208 180 89 254 254 254 225 200 105 232 208 118 220 202 138 252 229 143 252 235 160 205 200 181 186 147 30 202 156 27 251 235 189 255 244 201 216 216 216 233 228 211 193 161 65 207 177 72 230 197 73 252 249 237 252 251 244 208 183 100 213 188 101 231 202 112 206 189 131 252 230 145 254 225 148 254 228 160 254 233 176 187 149 35 198 153 27 211 211 211 215 215 215 248 241 209 225 225 225 223 192 70 231 231 231 231 201 81 225 195 86 253 253 253 219 192 114 251 228 125 243 221 145 253 226 149 247 229 168 252 236 180 201 155 26 253 243 195 255 240 196 255 239 199 217 217 217 220 185 61 254 249 224 223 188 69 232 203 81 244 244 244 252 252 252 211 183 100 236 208 111 227 205 125 252 230 144 253 226 148 236 222 171 197 156 25 202 156 26 190 149 32 187 154 48 197 165 54 203 172 59 215 179 59 224 224 224 228 196 72 236 236 236 210 184 89 249 249 249 250 223 100 251 225 111 217 194 122 233 215 148 246 222 149 253 230 161 186 145 25 200 158 27 251 236 189 209 209 209 205 168 48 218 218 218 208 177 64 0 0 0 0 64 0 32 96 32 96 192 128 32 128 64 32 160 64 32 128 32 64 64 64 96 96 96 128 128 128 32 32 32 32 64 32]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@O0@@?<@A?>@A??@A??@A??@A??@A??@A??@C??@C??@O??@G??@C??@@??@D_>@C>@@A<@@@@@@') ; yourself); yourself]
 ! !
 
+
 !StoreSourceCodeManagementSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -494,6 +496,7 @@
       )
 ! !
 
+
 !StoreSourceCodeManagementSettingsAppl class methodsFor:'queries'!
 
 managerClass
@@ -504,6 +507,7 @@
     "Created: / 19-04-2011 / 12:48:57 / cg"
 ! !
 
+
 !StoreSourceCodeManagementSettingsAppl methodsFor:'actions'!
 
 addModule:module withData:data
@@ -617,6 +621,7 @@
     "Modified: / 16-08-2006 / 11:07:51 / cg"
 ! !
 
+
 !StoreSourceCodeManagementSettingsAppl methodsFor:'actions - store'!
 
 addPerStoreModuleDB
@@ -722,6 +727,7 @@
     ^ true
 ! !
 
+
 !StoreSourceCodeManagementSettingsAppl methodsFor:'aspects'!
 
 acceptChannel
@@ -943,6 +949,7 @@
     ^ useManager.
 ! !
 
+
 !StoreSourceCodeManagementSettingsAppl methodsFor:'change & update'!
 
 selectedPerModuleRootChanged
@@ -1052,6 +1059,7 @@
                and:[ perStoreModulePasswordHolder value notEmptyOrNil ]]).
 ! !
 
+
 !StoreSourceCodeManagementSettingsAppl methodsFor:'help'!
 
 helpFilename
@@ -1060,6 +1068,7 @@
     "Modified: / 05-08-2011 / 09:20:28 / cg"
 ! !
 
+
 !StoreSourceCodeManagementSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -1087,6 +1096,7 @@
     "Modified: / 14-01-2012 / 20:28:30 / cg"
 ! !
 
+
 !StoreSourceCodeManagementSettingsAppl methodsFor:'queries'!
 
 cvsRootFromCVSRootFileOrNil
@@ -1141,16 +1151,18 @@
     "Modified: / 10-01-2012 / 00:31:49 / cg"
 ! !
 
+
 !StoreSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/StoreSourceCodeManagementSettingsAppl.st,v 1.19 2012/07/24 14:02:02 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/StoreSourceCodeManagementSettingsAppl.st,v 1.19 2012-07-24 14:02:02 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/StoreSourceCodeManagementSettingsAppl.st,v 1.19 2012/07/24 14:02:02 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/StoreSourceCodeManagementSettingsAppl.st,v 1.19 2012-07-24 14:02:02 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: StoreSourceCodeManagementSettingsAppl.st 8026 2012-07-26 16:09:41Z vranyj1 $'
+    ^ 'Id'
 ! !
+
--- a/SyntaxElement.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/SyntaxElement.st	Wed Jan 30 11:15:09 2013 +0000
@@ -62,6 +62,7 @@
 "
 ! !
 
+
 !SyntaxElement class methodsFor:'instance creation'!
 
 from: start to: stop
@@ -94,6 +95,7 @@
     "Created: / 14-02-2010 / 17:41:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !SyntaxElement methodsFor:'accessing'!
 
 firstElementInChain
@@ -108,6 +110,16 @@
     "Created: / 21-08-2011 / 09:51:35 / cg"
 !
 
+lastElementInChain
+    |last next|
+
+    last := self.
+    [ (next := last nextElement) notNil ] whileTrue:[
+        last := next.
+    ].
+    ^ last
+!
+
 next
     ^ next
 !
@@ -185,6 +197,7 @@
     value := anObject.
 ! !
 
+
 !SyntaxElement methodsFor:'comparing'!
 
 < anObject
@@ -215,6 +228,7 @@
     "Modified (format): / 27-07-2012 / 21:53:28 / cg"
 ! !
 
+
 !SyntaxElement methodsFor:'double dispatching'!
 
 lessFromInteger:anInteger
@@ -224,6 +238,7 @@
     "Modified (format): / 27-07-2012 / 21:53:33 / cg"
 ! !
 
+
 !SyntaxElement methodsFor:'printing & storing'!
 
 printOn:aStream
@@ -240,6 +255,7 @@
     "Modified: / 21-08-2011 / 09:33:51 / cg"
 ! !
 
+
 !SyntaxElement methodsFor:'queries'!
 
 isSelector
@@ -266,6 +282,7 @@
     "Created: / 21-08-2011 / 09:31:33 / cg"
 ! !
 
+
 !SyntaxElement class methodsFor:'documentation'!
 
 version
@@ -273,9 +290,10 @@
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/SyntaxElement.st,v 1.4 2012/07/27 19:53:54 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/SyntaxElement.st,v 1.5 2013-01-11 09:56:30 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: SyntaxElement.st 8048 2012-09-07 17:28:09Z vranyj1 $'
+    ^ 'Id: SyntaxElement.st 7582 2010-06-25 13:26:33Z vranyj1 '
 ! !
+
--- a/SyntaxHighlighter2.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/SyntaxHighlighter2.st	Wed Jan 30 11:15:09 2013 +0000
@@ -63,6 +63,7 @@
 "
 ! !
 
+
 !SyntaxHighlighter2 class methodsFor:'highlighting'!
 
 formatClassDefinition:aString in:aClass elementsInto: elements
@@ -211,6 +212,7 @@
     "Created: / 05-07-2011 / 10:39:21 / cg"
 ! !
 
+
 !SyntaxHighlighter2 methodsFor:'accessing'!
 
 elements
@@ -232,6 +234,7 @@
     "Created: / 16-02-2012 / 09:56:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !SyntaxHighlighter2 methodsFor:'initialization'!
 
 initialize
@@ -245,6 +248,7 @@
     "Modified: / 16-02-2012 / 09:59:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !SyntaxHighlighter2 methodsFor:'parsing-expressions'!
 
 _binaryExpressionFor:receiverArg
@@ -542,6 +546,82 @@
     "Created: / 16-02-2012 / 21:56:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+binaryExpressionFor:receiverArg
+    "parse a binary-expression; return a node-tree, nil or #Error"
+
+    |receiver expr arg sel pos1 pos2 lno|
+
+    receiver := receiverArg.
+    (receiver == #Error) ifTrue:[^ #Error].
+
+    "special kludge: since Scanner cannot know if -digit is a binary
+     expression or a negative constant, handle cases here"
+
+    [(tokenType == #BinaryOperator) 
+     or:[(tokenType == $|)
+     or:[(tokenType == $^ and:[parserFlags allowCaretAsBinop])
+         or:[((tokenType == #Integer) or:[tokenType == #Float])
+             and:[tokenValue < 0]]]]
+    ] whileTrue:[
+        "/ kludge alarm: in a function-call argList, #, is not a binarySelector
+        inFunctionCallArgument == true ifTrue:[
+            ((tokenType == #BinaryOperator) and:[tokenName = ',']) ifTrue:[
+                ^ receiver
+            ].
+        ].
+
+        pos1 := tokenPosition.
+        lno := tokenLineNr.
+
+        "/ kludge alarm: bar, caret and minus are not scanned as binop
+        (tokenType == $|) ifTrue:[
+            sel := '|'.
+            sel := self selectorCheck:sel for:receiver position:tokenPosition to:tokenPosition.
+            self nextToken.
+        ] ifFalse:[
+            (tokenType == $^) ifTrue:[
+                sel := '^'.
+                sel := self selectorCheck:sel for:receiver position:tokenPosition to:tokenPosition.
+                self nextToken.
+            ] ifFalse:[
+                (tokenType == #BinaryOperator) ifTrue:[
+                    sel := tokenName.
+                    sel := self selectorCheck:sel for:receiver position:tokenPosition to:(tokenPosition + tokenName size - 1).
+                    self nextToken
+                ] ifFalse:[
+                    sel := '-'.
+                    token := tokenValue := tokenValue negated.
+                    tokenPosition := tokenPosition + 1. "/ to skip the sign
+                ]
+            ].
+        ].
+
+        pos2 := pos1 + sel size - 1.
+        self markSelector:sel from:pos1 to:pos2 receiverNode:receiver.
+        lastSelectorElement := nil.
+
+        arg := self unaryExpression.
+        (arg == #Error) ifTrue:[^ #Error].
+
+        expr := BinaryNode receiver:receiver selector:sel arg:arg fold:foldConstants.
+        expr isErrorNode ifTrue:[
+            self parseError:(expr errorString) position:pos1 to:tokenPosition.
+            errorFlag := false. "ok, user wants it - so he'll get it"
+            expr := BinaryNode receiver:receiver selector:sel arg:arg fold:nil.
+        ].
+        expr lineNumber:lno.
+        expr selectorPosition:pos1.
+
+        self checkPlausibilityOf:expr from:pos1 to:pos2.
+        receiver := expr.   "/ for next message
+    ].
+    ^ receiver
+
+    "Modified: / 09-01-1998 / 19:05:18 / stefan"
+    "Modified: / 14-02-2010 / 17:54:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 19-01-2012 / 10:46:49 / cg"
+!
+
 expression
     | node savedLastSelectorElement |
 
@@ -561,6 +641,8 @@
     "Modified: / 16-02-2012 / 23:39:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 unaryExpressionFor:receiverArg
     "parse a unary-expression; return a node-tree, nil or #Error"
 
@@ -599,9 +681,6 @@
                 lastSelectorElement node parent: expr.
                 expr lineNumber:lNr.
                 self checkPlausibilityOf:expr from:pos to:pos2.
-                parseForCode ifFalse:[
-                    self rememberSelectorUsed:sel receiver:receiver
-                ].
                 ^ expr.
             ].
         ].
@@ -617,9 +696,6 @@
         lastSelectorElement node parent: expr.
 
         self checkPlausibilityOf:expr from:pos to:pos2.
-        parseForCode ifFalse:[
-            self rememberSelectorUsed:sel receiver:receiver
-        ].
 
         receiver := expr.   "/ for next message
     ].
@@ -651,6 +727,7 @@
     "Created: / 16-02-2012 / 22:21:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !SyntaxHighlighter2 methodsFor:'syntax detection'!
 
 markArgumentIdentifierFrom:pos1 to:pos2
@@ -677,6 +754,8 @@
     "Created: / 17-03-2012 / 19:02:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 markLocalIdentifierFrom:pos1 to:pos2
     | node el prevEl |
 
@@ -724,6 +803,8 @@
     "Modified: / 19-04-2012 / 09:53:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 markUnknownIdentifierFrom:pos1 to:pos2
 
     ignoreBadIdentifier == true ifTrue:[ ^ self ].
@@ -734,6 +815,8 @@
     "Modified: / 31.3.1998 / 19:10:30 / cg"
 !
 
+
+
 rememberVariableElementFor:name type:typeSymbol from:pos1 to:pos2
     |element prev|
 
@@ -750,12 +833,14 @@
     "Created: / 21-08-2011 / 09:26:24 / cg"
 ! !
 
+
 !SyntaxHighlighter2 class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.10 2012/10/19 14:59:02 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.10 2012-10-19 14:59:02 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: SyntaxHighlighter2.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id: SyntaxHighlighter2.st 7715 2011-04-10 16:32:58Z vranyj1 '
 ! !
+
--- a/SystemBrowser.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/SystemBrowser.st	Wed Jan 30 11:15:09 2013 +0000
@@ -60,6 +60,7 @@
 "
 ! !
 
+
 !SystemBrowser class methodsFor:'initialization'!
 
 initialize
@@ -85,6 +86,7 @@
     "
 ! !
 
+
 !SystemBrowser class methodsFor:'instance creation'!
 
 open
@@ -230,6 +232,7 @@
     "
 ! !
 
+
 !SystemBrowser class methodsFor:'Compatibility-ST80'!
 
 newOnClass:aClass
@@ -238,6 +241,7 @@
     "Created: / 27.10.1997 / 20:10:39 / cg"
 ! !
 
+
 !SystemBrowser class methodsFor:'accessing-history'!
 
 addToHistory:aClass selector:aSelectorOrNil
@@ -344,6 +348,7 @@
         thenSelect:[:nm | nm notEmptyOrNil]
 ! !
 
+
 !SystemBrowser class methodsFor:'defaults'!
 
 classHistoryMaxLevels
@@ -366,6 +371,7 @@
     ^ 15
 ! !
 
+
 !SystemBrowser class methodsFor:'defaults-presentation'!
 
 emphasisForChangedCode
@@ -529,6 +535,7 @@
     "Created: / 17-08-2006 / 09:08:11 / cg"
 ! !
 
+
 !SystemBrowser class methodsFor:'dialogs'!
 
 askForClassNameMatching:matchStringArg inEnvironment:anEnvironmentOrClassOrNil for:aBrowserOrNil
@@ -763,6 +770,7 @@
     ^ box
 ! !
 
+
 !SystemBrowser class methodsFor:'image specs'!
 
 abstractMethodIcon
@@ -1796,6 +1804,7 @@
     "Created: / 5.11.2001 / 09:39:03 / cg"
 ! !
 
+
 !SystemBrowser class methodsFor:'interface specs'!
 
 metaSpec
@@ -1917,6 +1926,7 @@
     "Modified: 25.6.1997 / 13:46:44 / cg"
 ! !
 
+
 !SystemBrowser class methodsFor:'private-helpers'!
 
 askForPackageChangeFrom:oldPkg to:newPkg
@@ -1970,6 +1980,7 @@
     self information:((rs string:what) , (rs string:'...\\... none found.')) withCRs.
 ! !
 
+
 !SystemBrowser class methodsFor:'private-instance creation'!
 
 newWithLabel:aString setupBlock:aBlock
@@ -2009,6 +2020,7 @@
     ^ newBrowser
 ! !
 
+
 !SystemBrowser class methodsFor:'special search startup'!
 
 allCallsOn:aSelectorString
@@ -5016,6 +5028,7 @@
     "Created: / 22-03-2012 / 06:56:51 / cg"
 ! !
 
+
 !SystemBrowser class methodsFor:'startup'!
 
 browseAllSelect:aBlock
@@ -5540,6 +5553,7 @@
         where:aBlock
 ! !
 
+
 !SystemBrowser class methodsFor:'startup with query'!
 
 askThenBrowseClass
@@ -5593,6 +5607,7 @@
     "Modified: / 10-08-2006 / 12:54:20 / cg"
 ! !
 
+
 !SystemBrowser class methodsFor:'utilities'!
 
 classWithNameSimilarTo:className
@@ -5846,6 +5861,7 @@
     ^ nil
 ! !
 
+
 !SystemBrowser::BrowserHistoryEntry methodsFor:'accessing'!
 
 className
@@ -5908,6 +5924,7 @@
     ^ Smalltalk at:className asSymbol
 ! !
 
+
 !SystemBrowser::BrowserHistoryEntry methodsFor:'comparing'!
 
 = anEntry
@@ -5916,6 +5933,7 @@
       and:[selector = anEntry selector]]
 ! !
 
+
 !SystemBrowser::BrowserHistoryEntry methodsFor:'displaying'!
 
 displayString
@@ -5929,14 +5947,16 @@
     "Modified: / 03-07-2011 / 13:44:32 / cg"
 ! !
 
+
 !SystemBrowser class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.308 2012/12/04 10:13:26 stefan Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.308 2012-12-04 10:13:26 stefan Exp $'
 !
 
 version_SVN
-    ^ '$Id: SystemBrowser.st 8083 2013-01-14 11:48:37Z vranyj1 $'
+    ^ 'Id: SystemBrowser.st 7772 2011-06-08 21:59:15Z vranyj1 '
 ! !
 
+
 SystemBrowser initialize!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_BrowserList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,1883 @@
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+NavigatorModel subclass:#BrowserList
+	instanceVariableNames:'menuHolder inGeneratorHolder outGeneratorHolder
+		selectionChangeCondition immediateUpdate doubleClickChannel
+		filter updateTrigger forceGeneratorTrigger hideUnloadedClasses
+		showClassPackages selectionHolder packageFilter nameSpaceFilter
+		organizerMode slaveMode listValid pseudoListLabelHolder icons
+		sortBy autoSelect showAllClassesInNameSpaceOrganisation
+		nameFilter showCoverageInformation searchHandler
+		autoUpdateOnChange'
+	classVariableNames:'SynchronousUpdate Icons'
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+Object subclass:#SearchHandler
+	instanceVariableNames:'listView listHolder listSelectionHolder searchField searchWindow
+		searchHolder'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:BrowserList
+!
+
+!BrowserList class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    embeddable application displaying the class-categories.
+    Provides an outputGenerator, which enumerates the classes in
+    the selected categories.
+
+    [author:]
+        Claus Gittinger (cg@exept.de)
+
+    [instance variables:]
+        can someone please write a  few words here...
+
+        menuHolder 
+        inGeneratorHolder 
+        outGeneratorHolder
+        selectionChangeCondition 
+        immediateUpdate 
+        doubleClickChannel
+        filter                          a filterblock by the one who embedds this
+        updateTrigger 
+        forceGeneratorTrigger 
+        hideUnloadedClasses
+        showClassPackages 
+        selectionHolder 
+        packageFilter 
+        nameSpaceFilter
+        organizerMode 
+        slaveMode 
+        listValid 
+        pseudoListLabelHolder 
+        icons
+        sortBy 
+        autoSelect 
+        showAllClassesInNameSpaceOrganisation
+        nameFilter                      a string or glob pattern (from the user, if a GUI for that is present)
+"
+! !
+
+!BrowserList class methodsFor:'image specs'!
+
+checkedIcon
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     self checkedIcon inspect
+     ImageEditor openOnClass:self andSelector:#checkedIcon
+     Icon flushCachedIcons
+    "
+
+    <resource: #image>
+
+    ^ MenuPanel iconIndicationOn
+
+"/    ^Icon
+"/        constantNamed:#'Tools::HierarchicalPackageFilterList::PackageItem class checkedIcon'
+"/        ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@C?<O?0??C?<O?0??C?<O?07?C?<O?0??@@@@@@b') ; colorMapFromArray:#[0 0 0 33 161 33]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
+"/?????<@C0@O@D<@30GOH8<7C38OG@<HC0@O@@?????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+"/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+"/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
+
+    "Created: / 06-11-2008 / 16:32:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 04-12-2011 / 15:35:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+nameSpaceIcon
+    ^ SystemBrowser nameSpaceIcon
+!
+
+packageIcon
+    ^ SystemBrowser packageIcon
+!
+
+padLockBlueMiniIcon
+    ^ SystemBrowser padLockBlueMiniIcon
+!
+
+padLockGrayMiniIcon
+    ^ SystemBrowser padLockGrayMiniIcon
+!
+
+padLockGreenMiniIcon
+    ^ SystemBrowser padLockGreenMiniIcon
+!
+
+padLockRedMiniIcon
+    ^ SystemBrowser padLockRedMiniIcon
+!
+
+programImageIcon
+    ^ SystemBrowser programImageIcon
+!
+
+protectedMethod
+    ^ self padLockRedMiniIcon
+!
+
+redLockIcon
+    ^ SystemBrowser redLockIcon
+!
+
+uncheckedIcon
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     self checkFrameForm inspect
+     ImageEditor openOnClass:self andSelector:#checkFrameForm
+     Icon flushCachedIcons
+    "
+
+    <resource: #image>
+
+    ^MenuPanel iconIndicationOff
+
+"/    ^Icon
+"/        constantNamed:#'Tools::HierarchicalPackageFilterList::PackageItem class checkFrameForm'
+"/        ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@C?<O?0??C?<O?0??C?<O?0??C?<O?0??@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
+"/?????<@C0@O@@<@C0@O@@<@C0@O@@<@C0@O@@?????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+"/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+"/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
+
+    "Created: / 06-11-2008 / 16:32:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 04-12-2011 / 15:35:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BrowserList methodsFor:'accessing'!
+
+nameFilter:something
+    nameFilter := something.
+! !
+
+!BrowserList methodsFor:'aspects'!
+
+autoUpdateOnChange
+    "automatic update of the list, when the system changes.
+     For some (slow) search lists (such as string-search), autoupdate is
+     disabled as it would otherwise make the browser unusable.
+     Those lists need an explicit menu-update action."
+
+    ^ autoUpdateOnChange ? true.
+
+    "Modified: / 24-02-2000 / 23:57:13 / cg"
+    "Created: / 15-05-2012 / 11:16:07 / cg"
+!
+
+autoUpdateOnChange: aBoolean
+    "automatic update of the list, when the system changes.
+     For some (slow) search lists (such as string-search), autoupdate is
+     disabled as it would otherwise make the browser unusable.
+     Those lists need an explicit menu-update action."
+
+    autoUpdateOnChange := aBoolean
+
+    "Modified: / 24-02-2000 / 23:57:13 / cg"
+    "Created: / 15-05-2012 / 11:17:18 / cg"
+!
+
+defaultSlaveModeValue
+    ^ nil.
+
+    "Created: / 25.2.2000 / 22:36:40 / cg"
+!
+
+doubleClickChannel
+    doubleClickChannel isNil ifTrue:[
+	doubleClickChannel := TriggerValue new.
+    ].
+    ^ doubleClickChannel.
+
+    "Modified: / 31.1.2000 / 00:42:44 / cg"
+    "Created: / 5.2.2000 / 22:38:32 / cg"
+!
+
+doubleClickChannel:aChannel
+    doubleClickChannel := aChannel
+!
+
+filter:aValueHolder
+    filter notNil ifTrue:[
+	filter removeDependent:self
+    ].
+    filter := aValueHolder.
+    filter notNil ifTrue:[
+	filter addDependent:self
+    ].
+
+    "Modified: / 4.2.2000 / 23:29:30 / cg"
+    "Created: / 5.2.2000 / 13:42:12 / cg"
+!
+
+forceGeneratorTrigger
+    forceGeneratorTrigger isNil ifTrue:[
+	forceGeneratorTrigger := TriggerValue new.
+	forceGeneratorTrigger addDependent:self.
+    ].
+    ^ forceGeneratorTrigger.
+
+    "Modified: / 18.2.2000 / 02:02:52 / cg"
+    "Created: / 18.2.2000 / 02:46:40 / cg"
+!
+
+forceGeneratorTrigger:aTriggerValue
+    forceGeneratorTrigger notNil ifTrue:[
+	forceGeneratorTrigger removeDependent:self
+    ].
+    forceGeneratorTrigger := aTriggerValue.
+    forceGeneratorTrigger notNil ifTrue:[
+	forceGeneratorTrigger addDependent:self
+    ].
+
+    "Modified: / 4.2.2000 / 23:29:30 / cg"
+    "Created: / 18.2.2000 / 02:46:52 / cg"
+!
+
+hideUnloadedClasses
+    hideUnloadedClasses isNil ifTrue:[
+	hideUnloadedClasses := false asValue.
+	hideUnloadedClasses addDependent:self.
+    ].
+    ^ hideUnloadedClasses.
+
+    "Modified: / 18.2.2000 / 02:02:52 / cg"
+    "Created: / 18.2.2000 / 17:36:30 / cg"
+!
+
+hideUnloadedClasses:aValueHolder
+    hideUnloadedClasses notNil ifTrue:[
+	hideUnloadedClasses removeDependent:self
+    ].
+    hideUnloadedClasses := aValueHolder.
+    hideUnloadedClasses notNil ifTrue:[
+	hideUnloadedClasses addDependent:self
+    ].
+
+    "Modified: / 4.2.2000 / 23:29:30 / cg"
+    "Created: / 18.2.2000 / 17:46:36 / cg"
+!
+
+menuHolder
+    ^ menuHolder
+
+    "Created: / 5.2.2000 / 13:42:06 / cg"
+!
+
+menuHolder:aValueHolder
+    menuHolder := aValueHolder.
+
+    "Created: / 5.2.2000 / 13:42:06 / cg"
+!
+
+nameSpaceFilter
+    nameSpaceFilter isNil ifTrue:[
+	nameSpaceFilter := ValueHolder new.
+	nameSpaceFilter addDependent:self.
+    ].
+    ^ nameSpaceFilter.
+
+    "Modified: / 24.2.2000 / 23:57:13 / cg"
+    "Created: / 18.8.2000 / 14:18:56 / cg"
+!
+
+nameSpaceFilter:aValueHolder
+    nameSpaceFilter notNil ifTrue:[
+	nameSpaceFilter removeDependent:self
+    ].
+    nameSpaceFilter := aValueHolder.
+    nameSpaceFilter notNil ifTrue:[
+	nameSpaceFilter addDependent:self
+    ].
+
+    "Modified: / 24.2.2000 / 23:56:22 / cg"
+    "Created: / 18.8.2000 / 14:19:06 / cg"
+!
+
+organizerMode
+    organizerMode isNil ifTrue:[
+        organizerMode := OrganizerCanvas organizerModeCategory asValue.
+        organizerMode addDependent:self.
+    ].
+    ^ organizerMode
+
+    "Modified: / 31.1.2000 / 00:51:06 / cg"
+    "Created: / 25.2.2000 / 22:36:15 / cg"
+!
+
+organizerMode:aValueHolder
+    organizerMode notNil ifTrue:[
+	organizerMode removeDependent:self
+    ].
+    organizerMode := aValueHolder.
+    organizerMode notNil ifTrue:[
+	organizerMode addDependent:self
+    ].
+
+    "Modified: / 4.2.2000 / 23:34:28 / cg"
+    "Created: / 25.2.2000 / 22:36:28 / cg"
+!
+
+packageFilter
+    packageFilter isNil ifTrue:[
+	packageFilter := ValueHolder new.
+	packageFilter addDependent:self.
+
+"/ debug-check only
+"/ packageFilter onChangeEvaluate:[packageFilter value isValueModel ifTrue:[self halt:'debug halt']].
+    ].
+    ^ packageFilter.
+
+    "Modified: / 18.8.2000 / 19:26:36 / cg"
+!
+
+packageFilter:aValueHolder
+    packageFilter notNil ifTrue:[
+	packageFilter removeDependent:self
+    ].
+    packageFilter := aValueHolder.
+    packageFilter notNil ifTrue:[
+	packageFilter addDependent:self.
+
+"/ debug-check only
+"/ packageFilter onChangeEvaluate:[packageFilter value isValueModel ifTrue:[self halt:'debug halt']].
+    ].
+
+    "Modified: / 18.8.2000 / 19:26:40 / cg"
+!
+
+pseudoListLabelHolder
+    pseudoListLabelHolder isNil ifTrue:[
+	pseudoListLabelHolder := '' asValue.
+    ].
+    ^ pseudoListLabelHolder
+!
+
+selectionChangeCondition:aBlockOrValueHolder
+    selectionChangeCondition := aBlockOrValueHolder
+!
+
+selectionHolder
+    selectionHolder isNil ifTrue:[
+	selectionHolder := ValueHolder new.
+	selectionHolder addDependent:self
+    ].
+    ^ selectionHolder.
+
+!
+
+selectionHolder:aValueHolder
+    |prevSelection|
+
+    prevSelection := selectionHolder value ? #().
+
+    selectionHolder notNil ifTrue:[
+	selectionHolder removeDependent:self
+    ].
+    selectionHolder := aValueHolder.
+    selectionHolder notNil ifTrue:[
+	selectionHolder addDependent:self
+    ].
+    (selectionHolder value ? #()) ~= prevSelection ifTrue:[
+	"/ update
+	self update:#value with:nil from:selectionHolder
+    ].
+
+
+!
+
+showAllClassesInNameSpaceOrganisation
+    ^[
+        |holder|
+
+        showAllClassesInNameSpaceOrganisation notNil ifTrue:[
+            holder := showAllClassesInNameSpaceOrganisation
+        ] ifFalse:[
+            masterApplication notNil ifTrue:[
+                holder := masterApplication perform:#showAllClassesInNameSpaceOrganisation ifNotUnderstood:nil.
+            ].
+            holder notNil ifTrue:[
+                holder addDependent:self.
+            ] ifFalse:[
+                showAllClassesInNameSpaceOrganisation isNil ifTrue:[
+                    showAllClassesInNameSpaceOrganisation := false asValue.
+                    showAllClassesInNameSpaceOrganisation addDependent:self.
+                ].
+                holder := showAllClassesInNameSpaceOrganisation.
+            ].
+        ].
+        holder value
+    ].
+
+    "Created: / 05-03-2007 / 16:47:03 / cg"
+    "Modified: / 04-07-2011 / 21:49:10 / cg"
+!
+
+showAllClassesInNameSpaceOrganisation:aValueHolder
+    showAllClassesInNameSpaceOrganisation notNil ifTrue:[
+        showAllClassesInNameSpaceOrganisation removeDependent:self
+    ].
+    showAllClassesInNameSpaceOrganisation := aValueHolder.
+    showAllClassesInNameSpaceOrganisation notNil ifTrue:[
+        showAllClassesInNameSpaceOrganisation addDependent:self
+    ].
+
+    "Created: / 05-03-2007 / 16:47:13 / cg"
+!
+
+showClassPackages
+    showClassPackages isNil ifTrue:[
+	showClassPackages := false asValue.
+	showClassPackages addDependent:self.
+    ].
+    ^ showClassPackages.
+
+    "Modified: / 18.2.2000 / 02:02:52 / cg"
+    "Created: / 18.2.2000 / 17:36:30 / cg"
+!
+
+showClassPackages:aValueHolder
+    showClassPackages notNil ifTrue:[
+	showClassPackages removeDependent:self
+    ].
+    showClassPackages := aValueHolder.
+    showClassPackages notNil ifTrue:[
+	showClassPackages addDependent:self
+    ].
+!
+
+showCoverageInformation
+    showCoverageInformation isNil ifTrue:[
+        showCoverageInformation := false asValue.
+        showCoverageInformation addDependent:self.
+    ].
+    ^ showCoverageInformation.
+
+    "Created: / 27-04-2010 / 16:13:16 / cg"
+!
+
+showCoverageInformation:aValueHolder
+    showCoverageInformation notNil ifTrue:[
+        showCoverageInformation removeDependent:self
+    ].
+    showCoverageInformation := aValueHolder.
+    showCoverageInformation notNil ifTrue:[
+        showCoverageInformation  addDependent:self
+    ].
+
+    "Created: / 27-04-2010 / 16:13:20 / cg"
+!
+
+slaveMode
+    slaveMode isNil ifTrue:[
+	slaveMode := self defaultSlaveModeValue asValue.
+	slaveMode addDependent:self.
+    ].
+    ^ slaveMode.
+
+    "Created: / 25.2.2000 / 22:36:40 / cg"
+!
+
+slaveMode:aValueHolder
+    |prev|
+
+    slaveMode notNil ifTrue:[
+	slaveMode removeDependent:self.
+	prev := slaveMode value.
+    ].
+    slaveMode := aValueHolder.
+    slaveMode notNil ifTrue:[
+	slaveMode addDependent:self
+    ].
+    prev ~~ slaveMode value ifTrue:[
+	(prev isNil and:[slaveMode value]) ifFalse:[
+	    self update:#value with:nil from:slaveMode.
+	]
+    ].
+!
+
+sortBy
+    sortBy isNil ifTrue:[
+	sortBy := nil asValue.
+	sortBy addDependent:self.
+    ].
+    ^ sortBy.
+
+    "Created: / 25.2.2000 / 22:36:40 / cg"
+!
+
+sortBy:aValueHolder
+    |prev|
+
+    prev := sortBy value.
+    sortBy notNil ifTrue:[
+	sortBy removeDependent:self
+    ].
+    sortBy := aValueHolder.
+    sortBy notNil ifTrue:[
+	sortBy addDependent:self
+    ].
+    prev ~~ sortBy value ifTrue:[
+	self update:#value with:nil from:sortBy.
+    ].
+
+    "Modified: / 4.2.2000 / 23:29:30 / cg"
+    "Created: / 5.2.2000 / 13:42:12 / cg"
+!
+
+updateTrigger
+    updateTrigger isNil ifTrue:[
+	updateTrigger := TriggerValue new.
+	updateTrigger addDependent:self.
+    ].
+    ^ updateTrigger.
+
+    "Created: / 18.2.2000 / 01:59:58 / cg"
+    "Modified: / 18.2.2000 / 02:02:52 / cg"
+!
+
+updateTrigger:aTriggerValue
+    updateTrigger notNil ifTrue:[
+	updateTrigger removeDependent:self
+    ].
+    updateTrigger := aTriggerValue.
+    updateTrigger notNil ifTrue:[
+	updateTrigger addDependent:self
+    ].
+
+    "Modified: / 4.2.2000 / 23:29:30 / cg"
+    "Created: / 18.2.2000 / 02:03:15 / cg"
+! !
+
+!BrowserList methodsFor:'change & update'!
+
+applicationIsActive
+    "true if I am the active view"
+
+    |wg activeView|
+
+    (wg := self windowGroup) isNil ifTrue:[ ^ true ].   "/ I am being initialized  
+    self device isNil ifTrue:[ ^ true ].   "/ I am being initialized   
+
+    (activeView := self device activeView) isNil ifTrue:[ "Transcript showCR:'nil active'." ^ false ].   
+"/Transcript showCR:'active view: ',(activeView printString). 
+"/Transcript showCR:'active wg: ',(activeView windowGroup printString). 
+"/Transcript showCR:'my wg: ',wg printString. 
+    ^ activeView windowGroup == wg
+!
+
+delayedUpdate:something with:aParameter from:changedObject
+
+    "/ if any of my subclasses want those, they should look for them.
+    changedObject == Smalltalk ifTrue:[
+	(something == #Language or:[something == #LanguageTerritory]) ifTrue:[
+	    ^ self
+	].
+	something == #organization ifTrue:[
+	    ^ self
+	].
+	something == #classDefinition ifTrue:[
+	    ^ self
+	].
+	something == #classVariables ifTrue:[
+	    ^ self
+	].
+	something == #methodTrap ifTrue:[
+	    ^ self
+	].
+	something == #methodInClassRemoved ifTrue:[
+	    ^ self.
+	].
+	something == #methodDictionary ifTrue:[
+	    ^ self 
+	].
+	something == #newClass ifTrue:[
+	    ^ self 
+	].
+    ].
+
+    changedObject == slaveMode ifTrue:[
+	slaveMode value ~~ true ifTrue:[
+	    listValid ~~ true ifTrue:[
+		self updateList.
+	    ].
+	    self updateOutputGenerator.
+	].
+	^ self.
+    ].
+
+    changedObject == selectionHolder ifTrue:[
+	listValid ifFalse:[
+	    self updateList.
+	].
+	^ self selectionChanged
+    ].
+
+    changedObject == forceGeneratorTrigger ifTrue:[
+	self updateOutputGenerator.
+	^ self.
+    ].
+
+    changedObject == hideUnloadedClasses ifTrue:[
+	self invalidateList.
+	slaveMode value ~~ true ifTrue:[
+	    self updateOutputGenerator.
+	].
+	^ self.
+    ].
+
+    changedObject == updateTrigger ifTrue:[
+	self enqueueDelayedUpdateList.
+	^ self 
+    ].
+
+    changedObject == inGeneratorHolder ifTrue:[
+	self invalidateList.
+	^ self 
+    ].
+
+"/    changedObject == outGeneratorHolder ifTrue:[
+"/        self enqueueDelayedUpdateList.
+"/        ^ self 
+"/    ].
+
+    changedObject == packageFilter ifTrue:[
+	self invalidateList.
+	^ self 
+    ].
+    changedObject == nameSpaceFilter ifTrue:[
+	self invalidateList.
+	^ self 
+    ].
+
+    changedObject == organizerMode ifTrue:[
+	^ self
+    ].
+
+    self invalidateList.
+    ^ self
+
+    "Created: / 5.2.2000 / 13:42:06 / cg"
+    "Modified: / 18.8.2000 / 14:19:24 / cg"
+!
+
+enqueueDelayedUpdateList
+    listValid := false.
+
+    (NewSystemBrowser synchronousUpdate == true
+    or:[ immediateUpdate value == true ])
+    ifTrue:[
+        self updateList.
+        ^ self.
+    ].
+
+    (self applicationIsActive) ifTrue:[
+        self enqueueMessage:#updateList for:self arguments:#()
+    ] ifFalse:[
+        self enqueueMessage:#updateListInBackground for:self arguments:#()
+    ].
+
+    "Modified: / 05-06-2012 / 23:38:18 / cg"
+!
+
+enqueueDelayedUpdateOutputGenerator
+    slaveMode value == true ifTrue:[
+        self halt:'should not be invoked'
+    ].
+    (NewSystemBrowser synchronousUpdate == true
+    or:[ immediateUpdate value == true ])
+    ifTrue:[
+        self updateOutputGenerator.
+        ^ self.
+    ].
+    "/ listValid := false.
+    self enqueueMessage:#updateOutputGenerator for:self arguments:#()
+!
+
+forceReselect
+    |selectionHolder prevSelection|
+
+    selectionHolder := self selectionHolder.
+    prevSelection := selectionHolder value.
+
+    selectionHolder class == ValueHolder ifTrue:[
+        selectionHolder changed:#value with:prevSelection.
+    ] ifFalse:[
+        selectionHolder setValue:nil.
+        selectionHolder value:prevSelection.
+    ]
+!
+
+forceSelectionClear
+    self selectionHolder setValue:nil
+!
+
+forceUpdateList
+"/    |listView|
+"/
+"/    listView := builder componentAt:#List.
+"/    listView notNil ifTrue:[    
+"/        listView list:#()
+"/    ].
+    self updateList
+!
+
+immediateUpdate:aBooleanOrBooleanHolder
+    immediateUpdate := aBooleanOrBooleanHolder
+
+    "Created: / 13.2.2000 / 22:26:06 / cg"
+    "Modified: / 13.2.2000 / 22:28:09 / cg"
+!
+
+prioDelayedUpdate:something with:aParameter from:changedObject
+    Processor activeProcess withLowerPriorityDo:[
+        self delayedUpdate:something with:aParameter from:changedObject
+    ]
+!
+
+selectionChangeAllowed
+    selectionChangeCondition isNil ifTrue:[^ true].
+    selectionChangeCondition isBlock ifTrue:[
+	selectionChangeCondition numArgs == 1 ifTrue:[
+	    ^ selectionChangeCondition value:self
+	]
+    ].
+    ^ selectionChangeCondition value
+!
+
+selectionChanged
+    slaveMode value ~~ true ifTrue:[
+	self enqueueDelayedUpdateOutputGenerator
+	"/ self updateOutputGenerator.
+    ]
+
+    "Modified: / 4.2.2000 / 15:49:23 / cg"
+    "Created: / 5.2.2000 / 13:42:07 / cg"
+!
+
+selectionChangedByClick
+
+    "Created: / 25.2.2000 / 21:19:25 / cg"
+!
+
+syncDelayedUpdateList
+    |sensor|
+
+    sensor := self window sensor.
+    sensor isNil ifTrue:[
+	^ self
+    ].
+
+    "/
+    "/ if an update is in the queue, process it.
+    "/
+    (sensor 
+      hasEvent:#updateList
+      for:self
+      withArguments:#()
+    ) ifTrue:[
+	sensor flushEventsFor:self withType:#updateList.
+	self updateList.
+	^ self
+    ].
+!
+
+update:something with:aParameter from:changedObject
+    (NewSystemBrowser synchronousUpdate == true
+    or:[ immediateUpdate value == true ])
+    ifTrue:[
+        self delayedUpdate:something with:aParameter from:changedObject.
+        ^ self.
+    ].
+
+"/    changedObject == selectionHolder ifTrue:[
+"/        listValid ifFalse:[
+"/            self inSlaveMode ifTrue:[
+"/                ^ self
+"/            ]
+"/        ]
+"/    ].
+
+    changedObject == inGeneratorHolder ifTrue:[
+        listValid := false.
+        "/ if not already shown, avoid the processing until shown
+        "/ cg: does not work (for whatever reason) - try implementors...
+        true "self window shown" ifFalse:[
+            ^ self
+        ].
+    ].
+    self enqueueDelayedUpdate:something with:aParameter from:changedObject.
+
+    "Created: / 5.2.2000 / 13:42:07 / cg"
+    "Modified: / 13.11.2001 / 11:30:19 / cg"
+!
+
+updateListInBackground
+    self executeInBackground:[self updateList] 
+! !
+
+!BrowserList methodsFor:'drag & drop'!
+
+canDrop: aDropContext
+    ^ self canDropContext: aDropContext
+
+    "Created: / 03-07-2007 / 15:59:06 / cg"
+!
+
+doDrop: aDropContext
+    ^ self doDropContext: aDropContext
+
+    "Created: / 03-07-2007 / 15:59:33 / cg"
+!
+
+dropClassFiles:files
+    files do:[:fn |
+        (Dialog confirm:(resources string:'FileIn %1 ?' with:fn baseName allBold)) ifTrue:[
+            Smalltalk fileIn:fn logged:true.
+        ]
+    ].
+
+    "Created: / 17-10-2006 / 18:24:36 / cg"
+!
+
+objectsAreClassFiles:objects
+    (objects conform:[:anObject | anObject isFilename]) ifTrue:[
+        |files|
+
+        files := objects.
+        ^ files conform:[:aFilename | aFilename exists
+                                      and:[ aFilename suffix = 'st'
+                                      and:[ aFilename isRegularFile ]]]
+    ].
+    ^ false
+
+    "Created: / 17-10-2006 / 18:25:40 / cg"
+! !
+
+!BrowserList methodsFor:'generators'!
+
+inGeneratorHolder
+    ^ inGeneratorHolder
+
+    "Created: / 5.2.2000 / 13:42:07 / cg"
+!
+
+inGeneratorHolder:aConditionBlockHolder
+    |prevHolder|
+
+    (prevHolder := inGeneratorHolder) notNil ifTrue:[
+        inGeneratorHolder removeDependent:self
+    ].
+    inGeneratorHolder := aConditionBlockHolder.
+    inGeneratorHolder notNil ifTrue:[
+        inGeneratorHolder addDependent:self
+    ].
+    (prevHolder notNil or:[inGeneratorHolder notNil]) ifTrue:[
+        true "self window shown" ifFalse:[
+            "/ self enqueueDelayedUpdateList - will be done anyway, when shown
+        ] ifTrue:[
+            (prevHolder value isNil and:[ inGeneratorHolder value isEmptyOrNil]) 
+            ifFalse:[
+                self update:#value with:nil from:inGeneratorHolder
+            ].
+        ].
+    ].
+
+    "Modified: / 12-03-2007 / 11:31:23 / cg"
+!
+
+makeGenerator
+    self subclassResponsibility
+
+    "Created: / 5.2.2000 / 13:42:07 / cg"
+!
+
+outGeneratorHolder
+    outGeneratorHolder isNil ifTrue:[
+	outGeneratorHolder := ValueHolder new
+    ].
+    ^ outGeneratorHolder
+
+    "Modified: / 4.2.2000 / 17:17:16 / cg"
+    "Created: / 5.2.2000 / 13:42:07 / cg"
+!
+
+outGeneratorHolder:aConditionBlockHolder
+    outGeneratorHolder := aConditionBlockHolder.
+
+    "Created: / 5.2.2000 / 13:42:08 / cg"
+!
+
+updateOutputGenerator
+    "create a generator which enumerates my elements, 
+     and place it into the outputGenerator holder"
+
+    self outGeneratorHolder value: self makeGenerator.
+
+    "Modified: / 4.2.2000 / 17:16:34 / cg"
+    "Created: / 5.2.2000 / 13:42:08 / cg"
+! !
+
+!BrowserList methodsFor:'icons'!
+
+abstractMethodIcon
+    "answer an icon to mark abstract methods"
+
+    ^ self fetchIcon:#abstractMethod selector:#abstractMethodIcon
+!
+
+canvasIcon
+    "answer an icon to mark canvas spec methods"
+
+    ^ self fetchIcon:#canvas selector:#canvasIcon
+
+!
+
+deprecatedMethodIcon
+    ^ self fetchIcon:#deprecatedMethodIcon selector:#deprecatedMethodIcon
+!
+
+fetchIcon:name selector:fetchSelector
+    "answer an icon to mark methods"
+
+    icons isNil ifTrue:[icons := IdentityDictionary new].
+    Icons isNil ifTrue:[Icons := IdentityDictionary new].
+
+    ^ icons at:name ifAbsentPut:[
+        |fh icn h|
+
+        (icn := Icons at:name ifAbsent:nil) isNil ifTrue: [
+            Icons at:name put:(icn := (SystemBrowser perform:fetchSelector) onDevice:Display).
+            icn clearMaskedPixels.
+        ].
+        h := icn height.
+        h > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
+            icn := icn magnifiedBy:(fh / h)
+        ].
+        icn onDevice:device
+      ]
+
+    "
+     Icons := nil
+     Icon flushCachedIcons
+    "
+!
+
+fileImageIcon
+    "answer an icon to mark file-image spec methods"
+
+    ^ self fetchIcon:#fileImage selector:#fileImageIcon
+!
+
+helpIcon
+    "answer an icon to mark help spec methods"
+
+    ^ self fetchIcon:#help selector:#helpIcon
+
+!
+
+hierarchicalListIcon
+    "answer an icon to mark hierarchicalList spec methods"
+
+    ^ self fetchIcon:#hierarchicalList selector:#hierarchicalListIcon
+
+!
+
+ignoredMethodIcon
+    "answer an icon to mark ignored methods"
+
+    ^ self fetchIcon:#ignoredMethod selector:#ignoredMethodIcon
+!
+
+imageIcon
+    "answer an icon to mark image spec methods"
+
+    ^ self fetchIcon:#image selector:#imageIcon
+!
+
+instrumentationIcon
+    "answer an icon to mark instrumented methods"
+
+"/    ^ self fetchIcon:#watch selector:#watchIcon
+    ^ self fetchIcon:#instrumentation selector:#instrumentationIcon
+!
+
+menuIcon
+    "answer an icon to mark menu spec methods"
+
+    ^ self fetchIcon:#menu selector:#menuIcon
+
+!
+
+methodEmptyInheritedIcon
+    ^ self fetchIcon:#methodEmptyInherited selector:#methodEmptyInheritedIcon
+!
+
+methodInheritedFromAboveAndRedefinedBelowIcon
+    ^ self fetchIcon:#methodInheritedFromAboveAndRedefinedBelow selector:#methodInheritedFromAboveAndRedefinedBelowIcon
+!
+
+methodInheritedFromAboveIcon
+    ^ self fetchIcon:#methodInheritedFromAbove selector:#methodInheritedFromAboveIcon
+!
+
+methodIsSubclassResponsibilityAndRedefinedBelowIcon
+    ^ self fetchIcon:#methodIsSubclassResponsibilityAndRedefinedBelowIcon selector:#methodIsSubclassResponsibilityAndRedefinedBelowIcon
+!
+
+methodIsSubclassResponsibilityIcon
+    ^ self fetchIcon:#methodIsSubclassResponsibilityIcon selector:#methodIsSubclassResponsibilityIcon
+!
+
+methodRedefinedBelowIcon
+    ^ self fetchIcon:#methodRedefinedBelow selector:#methodRedefinedBelowIcon
+!
+
+privateMethodIcon
+    "answer an icon to mark private methods"
+
+    ^ self fetchIcon:#privateMethod selector:#privateMethodIcon
+!
+
+programImageIcon
+    "answer an icon to mark image spec methods"
+
+    ^ self fetchIcon:#programImage selector:#programImageIcon
+!
+
+programMenuIcon
+    "answer an icon to mark program generated menu methods"
+
+    ^ self fetchIcon:#programMenu selector:#programMenuIcon
+
+!
+
+protectedMethodIcon
+    "answer an icon to mark protected methods"
+
+    ^ self fetchIcon:#protectedMethod selector:#protectedMethodIcon
+!
+
+stopIcon
+    "answer an icon to mark breakPointed methods"
+
+    ^ self fetchIcon:#stop selector:#stopIcon
+
+
+!
+
+tabListIcon
+    "answer an icon to mark tabList spec methods"
+
+    ^ self fetchIcon:#tabList selector:#tabListIcon
+
+!
+
+tableColumnsIcon
+    "answer an icon to mark tableColumns spec methods"
+
+    ^ self fetchIcon:#tableColumns selector:#tableColumnsIcon
+
+!
+
+timeIcon
+    "answer an icon to mark timed methods"
+
+    ^ self fetchIcon:#time selector:#timeIcon
+
+!
+
+traceIcon
+    "answer an icon to mark traced methods"
+
+"/    ^ self fetchIcon:#watch selector:#watchIcon
+    ^ self fetchIcon:#trace selector:#traceIcon
+! !
+
+!BrowserList methodsFor:'initialize-release'!
+
+initialize
+    listValid := false.
+    super initialize.
+!
+
+release
+    self makeIndependent.
+    super release.
+
+    filter removeDependent:self.
+    forceGeneratorTrigger removeDependent:self.
+    hideUnloadedClasses removeDependent:self.
+    inGeneratorHolder removeDependent:self.
+    nameSpaceFilter removeDependent:self.
+    organizerMode removeDependent:self.
+    packageFilter removeDependent:self.
+    selectionHolder removeDependent:self.
+    showClassPackages removeDependent:self.
+    slaveMode removeDependent:self.
+    sortBy removeDependent:self.
+    updateTrigger removeDependent:self.
+
+    "Created: / 5.2.2000 / 13:42:09 / cg"
+    "Modified: / 13.2.2000 / 23:32:23 / cg"
+! !
+
+!BrowserList methodsFor:'misc'!
+
+invalidateList
+    listValid := false.
+    slaveMode value ~~ true ifTrue:[
+	self enqueueDelayedUpdateList.
+    ]
+! !
+
+!BrowserList methodsFor:'private'!
+
+browserNameList
+    self subclassResponsibility
+!
+
+classesToProcessForClasses:classes withVisibility:visibility
+    "for methodCategory and methodList, depending on the setting
+     of visibility (allButObject, includeAllSupers or class only),
+     return a combined hull set of classes for a given set."
+
+    |classesToProcess classesToProcessInOrder|
+
+    visibility isNil ifTrue:[^classes].
+    visibility == #class ifTrue:[^classes].
+
+    classesToProcess := IdentitySet new.
+    classesToProcessInOrder := OrderedCollection new.
+    classes notNil ifTrue:[
+        classes do:[:eachClass |
+            |withAllSupers|
+
+            withAllSupers := eachClass withAllSuperclasses.
+            visibility == #allButObject ifTrue:[
+                eachClass isMeta ifTrue:[
+                    withAllSupers removeAllFoundIn:(Object class withAllSuperclasses)
+                ] ifFalse:[
+                    withAllSupers remove:Object ifAbsent:nil
+                ]
+            ].
+            withAllSupers do:[:each |
+                (classesToProcess includes:each) ifFalse:[
+                    classesToProcess add:each. 
+                    classesToProcessInOrder add:each. 
+                ]
+            ]
+        ].
+    ].
+    ^ classesToProcessInOrder
+
+    "Modified (comment): / 06-07-2011 / 11:21:16 / cg"
+!
+
+colorize:aString with:emphasis
+    ^ aString asText emphasisAllAdd:emphasis
+
+    "Created: / 27-04-2010 / 15:36:34 / cg"
+!
+
+colorizeForChangedCode:someString
+    ^ someString asText emphasisAllAdd:(UserPreferences current emphasisForChangedCode)
+
+    "Created: / 31.10.2001 / 10:17:56 / cg"
+!
+
+colorizeForChangedCodeInSmallTeam:someString
+    ^ someString asText emphasisAllAdd:(UserPreferences current emphasisForChangedCodeInSmallTeam)
+
+    "Created: / 10-11-2006 / 16:53:53 / cg"
+!
+
+colorizeForDifferentPackage:someString
+    ^ someString asText emphasisAllAdd:(UserPreferences current emphasisForDifferentPackage)
+!
+
+colorizeForInstrumentedFullyCoveredCode:someString
+    ^ self colorize:someString with:(UserPreferences current emphasisForInstrumentedFullyCoveredCode)
+
+    "Created: / 27-04-2010 / 13:01:24 / cg"
+    "Modified: / 27-04-2010 / 15:36:49 / cg"
+!
+
+colorizeForInstrumentedNeverCalledCode:someString
+    ^ self colorize:someString with:(UserPreferences current emphasisForInstrumentedNeverCalledCode)
+
+    "Created: / 27-04-2010 / 12:59:56 / cg"
+    "Modified: / 27-04-2010 / 15:37:02 / cg"
+!
+
+colorizeForInstrumentedPartiallyCoveredCode:someString
+    ^ self colorize:someString with:(UserPreferences current emphasisForInstrumentedPartiallyCoveredCode)
+
+    "Created: / 27-04-2010 / 13:01:31 / cg"
+    "Modified: / 27-04-2010 / 15:37:06 / cg"
+!
+
+colorizeGrey:someString
+    ^ someString asText emphasisAllAdd:(#color->Color darkGrey)
+!
+
+emphasizeForChangedCode:someString
+    ^ self colorizeForChangedCode:someString
+
+    "Modified: / 31.10.2001 / 10:18:57 / cg"
+!
+
+emphasizeForDifferentPackage:someString
+    ^ self colorizeForDifferentPackage:(' [' , (' ' , someString , ' ') "allItalic" , ']')
+
+    "Modified: / 31.10.2001 / 10:13:35 / cg"
+!
+
+executeInBackground:aBlock
+    "used to update when I do not have the focus (i.e. being iconified or non-active).
+     Run aBlock at suerBackgroundPrio, but go back to normal prio, if I get the focus"
+
+    |activeProcess watcher done|
+
+    activeProcess := Processor activeProcess.
+
+    done := false.
+
+    watcher :=
+        [
+            |wg|
+
+            [done] whileFalse:[
+                Delay waitForSeconds:0.2.
+                self applicationIsActive ifTrue:[
+                    activeProcess priority:(Processor userSchedulingPriority).
+                    done := true.
+                ].
+            ].
+        ] fork.
+
+    [
+        activeProcess withUserBackgroundPriorityDo:aBlock
+    ] ensure:[ 
+        done := true. 
+        watcher terminate 
+    ].
+!
+
+inSlaveMode
+    ^ (self slaveMode value == true)
+!
+
+inSlaveModeOrInvisible
+    (self slaveMode value == true) ifTrue:[^ true].
+"/    self slaveMode value isNil ifTrue:[
+"/        self window shown ifFalse:[
+"/            ^ true
+"/        ].
+"/    ].
+    ^ false
+!
+
+isClass:aClass shownWithNameSpaceFilter:nameSpaceFilter
+    |nsName|
+
+    nameSpaceFilter isNil ifTrue:[^ true].
+    nsName := aClass topNameSpace name.
+
+    (nameSpaceFilter includes:nsName) ifTrue:[^ true].
+    (nameSpaceFilter contains:[:ns | nsName startsWith:(ns , '::')]) ifTrue:[^ true].
+    ^ false
+!
+
+isClass:aClass shownWithPackageFilter:packageFilter
+    |classPackage|
+
+    packageFilter isNil ifTrue:[^ true].
+    classPackage := aClass package.
+    (packageFilter includes:classPackage) ifTrue:[^ true].
+    (packageFilter includes:self class nameListEntryForChanged) ifTrue:[^ true].
+
+    aClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+        |mthdPackage|
+
+        mthdPackage := mthd package.
+        mthdPackage ~~ classPackage ifTrue:[
+            (packageFilter includes:mthdPackage) ifTrue:[^ true].
+        ].
+    ].
+    ^ false
+
+    "Modified: / 11-08-2006 / 15:15:28 / cg"
+!
+
+makeDependent
+    self subclassResponsibility
+
+    "Created: / 5.2.2000 / 13:42:08 / cg"
+!
+
+makeIndependent
+    self subclassResponsibility
+
+    "Created: / 5.2.2000 / 13:42:08 / cg"
+!
+
+releaseAsSubCanvas
+    self makeIndependent.
+    super releaseAsSubCanvas.
+
+    "Created: / 13.2.2000 / 23:11:29 / cg"
+    "Modified: / 13.2.2000 / 23:32:29 / cg"
+!
+
+updateList
+    self subclassResponsibility.
+!
+
+updateListFor:newList
+    "update the browsers list in a way which avoids scrolls
+     and flicker; returns true, if the newList is the same."
+
+    |"oldListSize newListSize" sameContents sameStrings oldEntry browserNameList
+     "firstDifferentFromBeginning firstDifferentFromEnd" listView prevMode sav|
+
+    browserNameList := self browserNameList value.
+    sameContents := sameStrings := (newList size == browserNameList size).
+
+    sameContents ifTrue:[
+        newList with:browserNameList do:[:newLine :oldLine |
+            sameStrings ifTrue:[
+                sameStrings := ((newLine ? '')  = (oldLine ? '')).    
+            ].
+            sameContents ifTrue:[
+                ((newLine ? '') sameStringAndEmphasisAs:(oldLine ? '')) ifFalse:[
+                    sameContents := false
+                ]
+            ].
+        ]
+    ].
+
+    listView := builder componentAt:#List.
+    listView isNil ifTrue:[
+        "/ called early during setup ...
+        browserNameList contents:newList.
+        ^ sameContents.
+    ].
+
+    sameContents ifTrue:[
+        ^ sameContents
+    ].
+    sameStrings ifTrue:[
+        newList keysAndValuesDo:[:lineNr :line |
+            oldEntry := browserNameList at:lineNr.    
+            (oldEntry sameStringAndEmphasisAs:line) ifFalse:[
+                browserNameList at:lineNr put:line.
+            ]
+        ].
+        ^ sameContents
+    ].
+
+    listView := listView scrolledView.
+    listView isNil ifTrue:[^ false].
+    prevMode := listView scrollWhenUpdating.
+    listView scrollWhenUpdating:nil.
+
+    [
+        "/ dont want to be called if selection is changed by selListView
+        sav := listView action.
+        listView action:nil.
+        browserNameList contents:newList.
+    ] ensure:[
+        listView action:sav.
+    ].
+
+    listView scrollWhenUpdating:prevMode.
+    ^ sameContents.
+
+"/    oldListSize := browserNameList size.
+"/    newListSize := newList size.
+"/    newListSize == 0 ifTrue:[
+"/        oldListSize == 0 ifTrue:[
+"/            ^ true "/ same
+"/        ].
+"/        browserNameList removeAll.
+"/        ^ false "/ not same
+"/    ].
+"/
+"/    oldListSize == 0 ifTrue:[
+"/        browserNameList contents:newList.
+"/        ^ false. "/ not same
+"/    ].
+"/
+"/    (newListSize between:(oldListSize-1) and:(oldListSize+1)) ifTrue:[
+"/        "/ individually exchange changed lines, to avoid flicker.
+"/        "/ the old code was: self browserNameList value:newList
+"/        "/ but if only a single method is changed (or an instrumentation icon changes),
+"/        "/ this results in avoidable flicker.
+"/
+"/        newListSize > oldListSize ifTrue:[
+"/            "/ an entry seems to be added
+"/            "/ try to find it.
+"/            firstDifferentFromBeginning := 1.
+"/
+"/            [firstDifferentFromBeginning <= oldListSize
+"/             and:[(newList at:firstDifferentFromBeginning) sameStringAndEmphasisAs: (browserNameList at:firstDifferentFromBeginning)]]   
+"/            whileTrue:[
+"/                firstDifferentFromBeginning := firstDifferentFromBeginning + 1.
+"/            ].
+"/            firstDifferentFromEnd := newListSize.
+"/            [firstDifferentFromEnd >= 1
+"/             and:[(newList at:firstDifferentFromEnd) sameStringAndEmphasisAs: (browserNameList at:firstDifferentFromEnd-1)]]   
+"/            whileTrue:[
+"/                firstDifferentFromEnd := firstDifferentFromEnd - 1.
+"/            ].
+"/            (firstDifferentFromEnd - firstDifferentFromBeginning) > (newList size // 10) ifTrue:[
+"/                "/ too many differences - exchange the list en-bloque
+"/                browserNameList contents:newList.
+"/                ^ false. "/ not same
+"/            ].
+"/            "/ entries from firstDifferentFromBeginning to firstDifferentFromEnd in newList are different
+"/
+"/            (firstDifferentFromEnd - firstDifferentFromBeginning + 1 "number of different items") == (newListSize - oldListSize) ifTrue:[
+"/                "/ for now, only handle single-added-item case
+"/                firstDifferentFromEnd ~~ firstDifferentFromBeginning ifTrue:[
+"/                    self halt
+"/                ].
+"/
+"/                "/ item at firstDifferentFromBeginning has been inserted.
+"/                browserNameList add:(newList at:firstDifferentFromBeginning) beforeIndex:firstDifferentFromEnd.
+"/               ^ false "/ not the same
+"/            ].
+"/        ] ifFalse:[
+"/            newListSize < oldListSize ifTrue:[
+"/                "/ an entry seems to be removed
+"/                "/ try to find it.
+"/                firstDifferentFromBeginning := 1.
+"/
+"/                [firstDifferentFromBeginning <= newListSize
+"/                 and:[(newList at:firstDifferentFromBeginning) sameStringAndEmphasisAs: (browserNameList at:firstDifferentFromBeginning)]]   
+"/                whileTrue:[
+"/                    firstDifferentFromBeginning := firstDifferentFromBeginning + 1.
+"/                ].
+"/                firstDifferentFromEnd := newListSize.
+"/                [firstDifferentFromEnd >= 1
+"/                 and:[(newList at:firstDifferentFromEnd) sameStringAndEmphasisAs: (browserNameList at:firstDifferentFromEnd+1)]]   
+"/                whileTrue:[
+"/                    firstDifferentFromEnd := firstDifferentFromEnd - 1.
+"/                ].
+"/                (firstDifferentFromEnd - firstDifferentFromBeginning) > (newList size // 10) ifTrue:[
+"/                    "/ too many differences - exchange the list en-bloque
+"/                    browserNameList contents:newList.
+"/                    ^ false. "/ not same
+"/                ].
+"/                "/ entries from firstDifferentFromBeginning to firstDifferentFromEnd in newList are different
+"/
+"/                (firstDifferentFromBeginning - firstDifferentFromEnd) == (oldListSize - newListSize) ifTrue:[
+"/                    "/ for now, only handle single-removed-item case
+"/                    firstDifferentFromEnd ~~ (firstDifferentFromBeginning-1) ifTrue:[self halt].
+"/
+"/                    "/ item at firstDifferentFromBeginning has been removed.
+"/                    browserNameList removeFromIndex:firstDifferentFromBeginning toIndex:firstDifferentFromBeginning.
+"/                   ^ false "/ not the same
+"/                ].
+"/            ]
+"/        ].
+"/
+"/        sameContents := true.
+"/        newList keysAndValuesDo:[:lineNr :line |
+"/            lineNr > browserNameList size ifTrue:[
+"/                browserNameList add:line.
+"/                sameContents := false.
+"/            ] ifFalse:[
+"/                oldEntry := browserNameList at:lineNr.    
+"/                (oldEntry ~= line 
+"/                or:[(oldEntry sameStringAndEmphasisAs:line) not]) ifTrue:[
+"/                    browserNameList at:lineNr put:line.
+"/                    sameContents := false.
+"/                ]
+"/            ]
+"/        ].
+"/        newList size < browserNameList size ifTrue:[
+"/            browserNameList removeFromIndex:(newList size + 1) toIndex:(browserNameList size).
+"/            sameContents := false.
+"/        ].
+"/        ^ sameContents
+"/    ].
+"/
+"/    browserNameList contents:newList.
+"/    ^ false "/ not the same
+! !
+
+!BrowserList methodsFor:'queries'!
+
+supportsSearch
+
+    ^true
+
+    "Created: / 27-07-2011 / 20:31:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BrowserList methodsFor:'setup'!
+
+autoSelect:aBoolean
+    autoSelect := aBoolean.
+!
+
+commonPostBuild
+    |list|
+
+    self inSlaveMode ifFalse:[
+        "/ listValid ifFalse:[self enqueueDelayedUpdateList "updateList"].
+        listValid := false.
+    ] ifTrue:[
+        listValid := false.
+        "/ self enqueueDelayedUpdateList.
+        "/ self invalidateList
+    ].
+
+    self makeDependent.
+
+    list := builder componentAt:#List.
+    list notNil ifTrue:[
+        list selectConditionBlock:[:item | self selectionChangeAllowed].
+        list ignoreReselect:false.
+    ].
+
+    UserPreferences current useInPlaceSearchInBrowserLists ifTrue:[
+        self supportsSearch ifTrue:[
+            list notNil ifTrue:[
+                searchHandler := SearchHandler for: list
+            ] ifFalse:[ 
+                self breakPoint: #jv info: 'Should support search but list is nil. Wrong spec?'
+            ].
+        ]
+    ]
+
+    "Modified: / 28-07-2011 / 09:39:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+commonPostOpen
+    super commonPostOpen.
+    listValid ifFalse:[
+        "/ self enqueueDelayedUpdateList.
+    ]. 
+! !
+
+!BrowserList::SearchHandler class methodsFor:'instance creation'!
+
+for: aView
+
+    ^self new initializeFor: aView.
+
+    "Created: / 27-07-2011 / 20:30:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BrowserList::SearchHandler methodsFor:'event handling'!
+
+keyPress:key x:x y:y view:aView
+    <resource: #keyboard (#Escape #Accept #Return #CursorUp #CursorDown)>
+
+    | v |
+
+    aView == listView ifTrue:[
+
+        "Forward the event to the view under pointer.
+         Therefore, the seach is started only iff the
+         pointer points to the list. Based on experience,
+         this improves usability because: does not require 
+         to click in the list to focus it (which may change 
+         the selection)"
+        (v := aView windowGroup pointerView) ~~ aView ifTrue:[
+            v notNil ifTrue:[
+                aView windowGroup focusView: v.
+                v sensor keyPress:key x:x y:y view:v.
+                ^self.
+            ].
+        ].
+
+        searchWindow isNil ifTrue:[
+            key isCharacter ifTrue:[
+                searchHolder setValue: key asString.
+                self startSearch
+            ]
+        ] ifFalse:[
+            key == #Escape ifTrue:[self stopSearch].
+            key == #Accept ifTrue:[self stopSearch].
+            key == #Return ifTrue:[self stopSearch].
+        ]
+    ].
+
+    aView == searchField ifTrue:[
+        key == #Escape ifTrue:[self stopSearch].
+        key == #Accept ifTrue:[self stopSearch].
+        key == #Return ifTrue:[self stopSearch].
+        (key == #CursorUp or:[key == #CursorDown]) ifTrue:[
+            listView sensor setCtrlDown: false.
+            listView sensor setShiftDown: false.
+            listView keyPress:key x:x y:y
+        ].
+
+    ]
+
+    "Created: / 27-07-2011 / 20:39:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BrowserList::SearchHandler methodsFor:'event handling-queries'!
+
+handlesKeyPress:key inView:aView
+    <resource: #keyboard (#Escape #Accept #Return #CursorUp #CursorDown)>
+
+    aView == listView ifTrue:[
+        key isCharacter ifTrue:[
+            ^true
+        ]
+    ].
+    aView == searchField ifTrue:[
+        (#(#Escape #Accept #Return #CursorUp #CursorDown) includes: key) ifTrue:[
+            ^true
+        ]
+    ].
+    ^false
+
+    "Created: / 27-07-2011 / 20:39:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BrowserList::SearchHandler methodsFor:'initialization'!
+
+initializeFor: aView
+
+    aView isScrollWrapper ifTrue:[
+        listView := aView scrolledView
+    ] ifFalse:[
+        listView := aView.
+    ].
+    listView delegate: self.
+    searchHolder := ValueHolder with: nil.
+    searchHolder onChangeSend: #updateList to: self.
+
+    "Created: / 27-07-2011 / 20:32:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BrowserList::SearchHandler methodsFor:'private'!
+
+absoluteLeftOfListView
+
+    | absoluteLeft view |
+    absoluteLeft := 1.
+    view := listView.
+    [ view notNil ] whileTrue:
+        [absoluteLeft := absoluteLeft + view left - 2.
+        view := view superView].
+    ^absoluteLeft
+
+    "Created: / 08-08-2009 / 22:30:07 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Created: / 27-07-2011 / 21:54:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+absoluteTopOfListView
+
+    | absoluteTop view |
+    absoluteTop := 1.
+    view := listView.
+    [ view notNil ] whileTrue:
+        [absoluteTop := absoluteTop + view top - 1.
+        view := view superView].
+    ^absoluteTop
+
+    "Created: / 08-08-2009 / 22:30:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Created: / 27-07-2011 / 21:54:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+filter
+
+    | pattern |
+    pattern := StringPattern fromString: searchHolder value.
+
+    ^[:entry :relax|
+    pattern match: entry asString trimSeparators relax: relax
+    ]
+
+    "Created: / 27-07-2011 / 22:18:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+hideSearchWindow
+
+    searchWindow
+        ifNotNil:[
+            searchWindow destroy.
+            searchWindow := nil.
+            searchField := nil.
+        ]
+
+    "Created: / 27-07-2011 / 21:38:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+restoreList
+
+    self updateSelection.
+    listView listHolder: listHolder.
+    listSelectionHolder notNil ifTrue:[
+        listView model: listSelectionHolder.    
+    ].
+    listSelectionHolder changed: #value
+
+    "Created: / 27-07-2011 / 22:14:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+saveList
+
+    listHolder := listView listHolder.  
+    listSelectionHolder := listView model.
+
+    "Created: / 27-07-2011 / 22:14:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+showSearchWindow
+
+    searchWindow := StandardSystemView new
+        bePopUpView;
+        beSlave;        
+        origin:(self absoluteLeftOfListView + 5" - optionsView textStartLeft") 
+                    @ (self absoluteTopOfListView + listView height + 1 + 5)
+        extent:(listView width + 0"((optionsView textStartLeft) * 2)") @ (listView font height * 1.5) ceiling.
+
+    searchField := (EditField 
+                    origin: 0.0@0.0
+                    corner: 1.0@1.0
+                    in: searchWindow)
+                    model: searchHolder;
+                    immediateAccept: true;
+                    delegate: self;
+                    yourself.
+
+    searchWindow openModal.
+
+    "Created: / 27-07-2011 / 21:37:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+startSearch
+
+    self saveList.
+    self updateList.
+    self showSearchWindow.
+
+    "Created: / 27-07-2011 / 21:37:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+stopSearch
+
+    self hideSearchWindow.
+    self restoreList.
+
+    "Created: / 27-07-2011 / 21:37:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+updateList
+
+    | filter filteredList |
+    filter := self filter.
+
+    filteredList := listHolder value select:[:each|filter value: each value: 1].
+    filteredList isEmpty ifTrue:[
+    filteredList := listHolder value select:[:each|filter value: each value: 2].
+    filteredList isEmpty ifTrue:[
+    filteredList := listHolder value select:[:each|filter value: each value: 3].
+    ]].
+
+
+    listView listHolder == listHolder ifTrue:[
+        listView listHolder: (ValueHolder with: filteredList)
+    ] ifFalse:[
+        listView listHolder value: filteredList.
+    ].
+    listView model == listSelectionHolder ifTrue:[
+        listView model: ValueHolder new.
+        listView model onChangeSend: #updateSelection to: self.
+    ].
+    filteredList size == 1 ifTrue:[
+        listView selection: 1
+    ]
+
+    "Created: / 27-07-2011 / 22:18:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+updateSelection
+
+    | sel |
+
+    listSelectionHolder isNil ifTrue:[^self].
+
+    sel := listView selection.
+    sel notNil ifTrue:[
+        sel isInteger ifTrue:[
+            sel := listHolder identityIndexOf: (listView list at: sel)
+        ] ifFalse:[
+            sel := sel collect:[:each|listHolder value identityIndexOf: (listView list at: each)]
+        ].
+    ] ifFalse:[
+        listView multipleSelectOk ifTrue:[
+            sel := #()
+        ]
+    ].
+    listView useIndex ifFalse:[
+        sel isInteger ifTrue:[
+            sel := listHolder value at: sel
+        ] ifFalse:[
+            sel := sel collect:[:each|listHolder value at: each].
+        ]
+    ].
+
+
+    listSelectionHolder value: sel.
+
+    "Created: / 02-08-2011 / 09:08:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BrowserList class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_BrowserList.st,v 1.55 2013-01-17 10:40:57 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_BrowserList.st,v 1.55 2013-01-17 10:40:57 cg Exp $'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_ClassCategoryList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,979 @@
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+BrowserList subclass:#ClassCategoryList
+	instanceVariableNames:'categoryList classes allSelected showPseudoCategories
+		rawCategoryList cookedCategoryList categoryListView'
+	classVariableNames:'AdditionalEmptyCategories'
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!ClassCategoryList class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    embeddable application displaying the class-categories.
+    Provides an outputGenerator, which enumerates the classes in
+    the selected categories.
+
+    [author:]
+	Claus Gittinger (cg@exept.de)
+"
+! !
+
+!ClassCategoryList class methodsFor:'interface specs'!
+
+singleCategoryWindowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:ClassCategoryList andSelector:#singleCategoryWindowSpec
+     ClassCategoryList new openInterface:#singleCategoryWindowSpec
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+	#name: #singleCategoryWindowSpec
+	#window: 
+       #(#WindowSpec
+	  #label: 'ClassCategoryList'
+	  #name: 'ClassCategoryList'
+	  #min: #(#Point 0 0)
+	  #max: #(#Point 1024 721)
+	  #bounds: #(#Rectangle 218 175 518 475)
+	)
+	#component: 
+       #(#SpecCollection
+	  #collection: #(
+	   #(#LabelSpec
+	      #label: 'ClassCategoryName'
+	      #name: 'ClassCategoryLabel'
+	      #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
+	      #translateLabel: true
+	      #labelChannel: #classCategoryLabelHolder
+	      #menu: #menuHolder
+	    )
+	   )
+         
+	)
+      )
+!
+
+windowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:Tools::ClassCategoryList andSelector:#windowSpec
+     Tools::ClassCategoryList new openInterface:#windowSpec
+     Tools::ClassCategoryList open
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(FullSpec
+        name: windowSpec
+        window: 
+       (WindowSpec
+          label: 'ClassCategoryList'
+          name: 'ClassCategoryList'
+          min: (Point 0 0)
+          bounds: (Rectangle 0 0 300 300)
+        )
+        component: 
+       (SpecCollection
+          collection: (
+           (SequenceViewSpec
+              name: 'List'
+              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              tabable: true
+              model: selectedCategories
+              menu: menuHolder
+              hasHorizontalScrollBar: true
+              hasVerticalScrollBar: true
+              miniScrollerHorizontal: true
+              isMultiSelect: true
+              valueChangeSelector: selectionChangedByClick
+              useIndex: false
+              sequenceList: categoryList
+              doubleClickChannel: doubleClickChannel
+              properties: 
+             (PropertyListDictionary
+                canDropSelector: canDropContext:
+                dragArgument: nil
+                dropArgument: nil
+                dropSelector: doDropContext:
+              )
+              postBuildCallback: postBuildCategoryListView:
+            )
+           )
+         
+        )
+      )
+! !
+
+!ClassCategoryList class methodsFor:'plugIn spec'!
+
+aspectSelectors
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this. If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "Return a description of exported aspects;
+     these can be connected to aspects of an embedding application
+     (if this app is embedded in a subCanvas)."
+
+    ^ #(
+        #(doubleClickChannel action)
+        #forceGeneratorTrigger
+        #hideUnloadedClasses
+        #immediateUpdate
+        #inGeneratorHolder
+        #menuHolder
+        #nameSpaceFilter
+        #organizerMode
+        #outGeneratorHolder
+        #packageFilter
+        #selectedCategories
+        #selectionChangeCondition
+        #showCoverageInformation
+        #slaveMode
+        #updateTrigger
+      ).
+
+! !
+
+!ClassCategoryList class methodsFor:'special'!
+
+addAdditionalCategory:aCategory
+    "/ those are simulated - in ST/X, empty categories do not
+    "/ really exist; however, during browsing, it makes sense.
+
+    AdditionalEmptyCategories isNil ifTrue:[
+        AdditionalEmptyCategories := Set new.
+    ].
+    AdditionalEmptyCategories add:aCategory.
+    Smalltalk changed:#organization with:(nil -> aCategory).  "/ not really ... to force update
+!
+
+removeAdditionalCategories:aListOfCategories
+    "/ those are simulated - in ST/X, empty categories do not
+    "/ really exist; however, during browsing, it makes sense.
+
+    AdditionalEmptyCategories isNil ifTrue:[^ self].
+    aListOfCategories do:[:eachCategory |
+        AdditionalEmptyCategories remove:eachCategory ifAbsent:nil.
+    ].
+
+    Smalltalk changed:#organization   "/ not really ... to force update
+!
+
+removeAllAdditionalCategories
+    "/ those are simulated - in ST/X, empty categories do not
+    "/ really exist; however, during browsing, it makes sense.
+
+    AdditionalEmptyCategories := nil
+!
+
+renameAdditionalCategories:oldNames to:newName
+    "/ those are simulated - in ST/X, empty categories do not
+    "/ really exist; however, during browsing, it makes sense.
+
+    self removeAdditionalCategories:oldNames.
+    self addAdditionalCategory:newName.
+! !
+
+!ClassCategoryList methodsFor:'aspects'!
+
+categoryList
+    categoryList isNil ifTrue:[
+	categoryList := ValueHolder new.
+    ].
+    ^ categoryList
+
+    "Created: / 25.2.2000 / 02:23:08 / cg"
+!
+
+categoryList:aValueHolder
+    categoryList notNil ifTrue:[
+	categoryList removeDependent:self
+    ].
+    categoryList := aValueHolder.
+    categoryList notNil ifTrue:[
+	categoryList addDependent:self
+    ].
+
+    "Created: / 18.8.2000 / 15:21:42 / cg"
+!
+
+classCategoryLabelHolder
+    ^ self pseudoListLabelHolder
+!
+
+selectedCategories
+    ^ self selectionHolder 
+!
+
+selectedCategories:aValueHolder
+    ^ self selectionHolder:aValueHolder
+!
+
+selectionHolder
+"/    self halt.
+    ^ super selectionHolder
+!
+
+selectionHolder:aValueHolder
+    "/ self halt.
+    super selectionHolder:aValueHolder
+! !
+
+!ClassCategoryList methodsFor:'change & update'!
+
+delayedUpdate:something with:aParameter from:changedObject
+    |selectedCategories allSelectedBefore 
+     nameListEntryForALL categoryOfClass wg|
+
+    selectedCategories := self selectedCategoriesStrings.
+
+    changedObject == Smalltalk ifTrue:[
+        ((something == #classVariables) 
+        or:[something == #classDefinition]) ifTrue:[
+            listValid == true ifTrue:[
+                categoryOfClass := aParameter category.
+                (rawCategoryList includes:categoryOfClass) ifFalse:[
+                    self invalidateList.                
+                ].
+                slaveMode value ~~ true ifTrue:[
+                    (selectedCategories includes:categoryOfClass) ifTrue:[
+                        "/ a selected class has changed
+                        "/ in order to give others a chance to update their list before,
+                        "/ this one is always enqueued for delayed update (even if immediateUpdate is true)
+                        "/ self enqueueDelayedUpdateOutputGenerator
+                        self enqueueMessage:#updateOutputGenerator for:self arguments:#()
+                    ].
+                ].
+            ].
+            ^ self
+        ].
+        something == #newClass ifTrue:[
+            categoryOfClass := aParameter category.
+            listValid == false ifTrue:[
+                ^ self
+            ].
+
+            (rawCategoryList includes:categoryOfClass) ifFalse:[
+                self invalidateList.                
+            ].
+
+            slaveMode value ~~ true ifTrue:[
+                (selectedCategories includes:categoryOfClass) ifTrue:[
+                    self enqueueDelayedUpdateOutputGenerator
+                ].
+            ].
+            ^ self
+        ].
+
+        self invalidateList.
+
+        (something == #classRemove 
+        or:[something == #projectOrganization 
+        or:[something == #organization]]) ifTrue:[
+            slaveMode value ~~ true ifTrue:[
+                "/ sorry: cannot filter on category (already changed to #removed)
+                self enqueueDelayedUpdateOutputGenerator
+            ].
+        ].
+        ^ self
+    ].
+
+    changedObject == ChangeSet ifTrue:[
+        "/ remove all other change notifications from the eventQueue
+        wg := self windowGroup.
+        wg isNil ifTrue:[
+            "/ oops - should no longer be dependent...
+            changedObject removeDependent:self.
+        ] ifFalse:[
+            wg sensor 
+                flushEventsFor:self 
+                where:[:ev | ev isMessageSendEvent 
+                             and:[ev selector == #delayedUpdate:with:from:
+                             and:[(ev arguments at:3) == ChangeSet]]].
+        ].
+
+        something == #addChange: ifTrue:[
+            "/ only need to invalidate, if that change changes my emphasis 
+            "/ (i.e. if its a new methodChange)
+            self window topView shown ifFalse:[
+                self invalidateList.
+                ^ self
+            ].
+        
+"/            self invalidateList.
+
+            aParameter isMethodChange ifTrue:[
+                aParameter changeClass notNil ifTrue:[
+                    (ChangeSet current 
+                        count:[:chg | chg notNil and:[chg isMethodChange
+                                      and:[ chg className = aParameter className ]]])
+                    == 1 ifTrue:[
+                        "/ that methodChange is the first for this method.
+                        self colorizeCategoryAsChanged:(aParameter changeClass category).
+                    ]
+                ]
+            ].
+            ^ self
+        ].
+
+        self invalidateList.
+        ^ self
+    ].
+
+    changedObject == nameSpaceFilter ifTrue:[
+        "/ all might be more or less than before ...
+        allSelected := false.
+        "/ self invalidateList - done in super
+    ].
+    changedObject == packageFilter ifTrue:[
+        "/ all might be more or less than before ...
+        allSelected := false.
+        "/ self invalidateList - done in super
+    ].
+
+    changedObject == self selectedCategories ifTrue:[
+        listValid ifFalse:[
+            "/ oops - hurry up
+            self invalidateList.
+        ].
+
+        nameListEntryForALL := self class nameListEntryForALL.
+
+        selectedCategories size > 1 ifTrue:[
+            (selectedCategories includes:nameListEntryForALL) ifTrue:[
+                self makeSelectionOtherThanAllVisible.
+            ]
+        ].
+
+        "/ if all selected before AND allSelected after, no need to update the output generator
+        allSelectedBefore := allSelected ? false.
+        allSelected := selectedCategories includes:nameListEntryForALL.
+        (allSelectedBefore and:[allSelected]) ifTrue:[
+            ^ self
+        ].
+    ].
+    changedObject == categoryList ifTrue:[
+        self halt.
+    ].
+    super delayedUpdate:something with:aParameter from:changedObject
+
+    "Created: / 5.2.2000 / 13:42:12 / cg"
+    "Modified: / 12.11.2001 / 19:36:16 / cg"
+!
+
+forceUpdateList
+    self categoryList setValue:#().
+    self updateList.
+    self categoryList changed.
+!
+
+selectionChangedByClick
+    "we are not interested in that - get another notification
+     via the changed valueHolder"
+
+    "Created: / 11.2.2000 / 11:39:48 / cg"
+!
+
+update:something with:aParameter from:changedObject
+    |categoryOfClass|
+
+    changedObject == Smalltalk ifTrue:[
+        (something == #methodInClass 
+        or:[ something == #classComment
+        or:[ something == #methodDictionary
+        or:[ something == #methodTrap
+        or:[ something == #methodCoverageInfo
+        or:[ something == #methodInClassRemoved ]]]]]) ifTrue:[
+            ^ self
+        ].
+
+        (something == #classVariables
+        or:[something == #classDefinition]) ifTrue:[
+            categoryOfClass := aParameter category.
+            (self selectedCategoriesStrings includes:categoryOfClass) ifTrue:[
+"/ self halt.
+                self updateOutputGenerator.                
+            ].
+        ].
+    ].
+
+"/    changedObject == ChangeSet ifTrue:[
+"/        something == #addChange: ifTrue:[
+"/            ^ self
+"/        ]
+"/    ].
+
+    super update:something with:aParameter from:changedObject
+
+    "Modified: / 20-07-2011 / 18:50:04 / cg"
+! !
+
+!ClassCategoryList methodsFor:'drag & drop'!
+
+canDropContext:aDropContext
+    |cat objects droppedClasses|
+
+    objects := aDropContext dropObjects collect:[:obj | obj theObject].
+    (self objectsAreClassFiles:objects) ifTrue:[^ true].
+
+    (objects conform:[:aClass | aClass isClass]) ifFalse:[^ false].
+    droppedClasses := objects.
+    (droppedClasses contains:[:aClass | aClass isPrivate not]) ifFalse:[^ false].
+
+    cat := self categoryAtTargetPointOf:aDropContext.
+    cat isNil ifTrue:[ ^ false ].
+    cat = '* obsolete *' ifTrue:[ ^  false ].
+
+    (droppedClasses contains:[:aClass | aClass category ~= cat]) ifFalse:[^ false].
+    ^ true.
+
+    "Modified: / 17-10-2006 / 18:28:04 / cg"
+!
+
+categoryAtTargetPointOf:aDropContext
+    |p categoryListView lineNr cat|
+
+    p := aDropContext targetPoint.
+
+    categoryListView := aDropContext targetWidget.
+
+    lineNr := categoryListView lineAtY:p y.
+    lineNr isNil ifTrue:[^ nil].
+
+    cat := rawCategoryList at:lineNr.
+    cat := cat string.
+    cat = self class nameListEntryForALL ifTrue:[^ nil].
+
+    (cat endsWith:(self stringForExtensions)) ifTrue:[
+        cat := cat copyWithoutLast:(self stringForExtensions size)
+    ].
+    ^ cat
+!
+
+doDropContext:aDropContext
+    |cat objects|
+
+    objects := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
+    (objects conform:[:something | something isClass]) ifTrue:[
+        cat := self categoryAtTargetPointOf:aDropContext.
+        cat notNil ifTrue:[
+            self masterApplication moveClasses:objects toCategory:cat.
+        ].
+        ^ self
+    ].
+    (objects conform:[:something | something isFilename]) ifTrue:[
+        self dropClassFiles:objects.
+        ^ self
+    ].
+
+    "Modified: / 17-10-2006 / 18:29:25 / cg"
+! !
+
+!ClassCategoryList methodsFor:'generators'!
+
+makeGenerator
+    "return a generator which enumerates the classes from the selected category."
+
+    |cats hideUnloadedClasses allName nameSpaceFilter packageFilter 
+     showChangedClasses showUnloaded showUndocumented showExtendedClasses inclusionTest changedClasses|
+
+    cats := self selectedCategoriesStrings.
+    cats size == 0 ifTrue:[
+        ^ #()
+    ].
+
+    allName := self class nameListEntryForALL.
+
+    (cats includes:allName) ifTrue:[
+        inGeneratorHolder value isOrderedCollection ifTrue:[
+            cats := rawCategoryList copyWithout:allName.
+        ]
+    ].
+
+    showChangedClasses := cats includes:(self class nameListEntryForChanged).
+    showUnloaded := cats includes:(self class nameListEntryForUnloaded).
+    showUndocumented := cats includes:(self class nameListEntryForUndocumented).
+    showExtendedClasses := cats includes:(self class nameListEntryForExtendedClasses).
+
+    hideUnloadedClasses := self hideUnloadedClasses value ? false.
+    nameSpaceFilter := self nameSpaceFilter value.
+    nameSpaceFilter notNil ifTrue:[
+        (nameSpaceFilter includes:allName) ifTrue:[nameSpaceFilter := nil].
+    ].
+    packageFilter := self packageFilter value.
+    packageFilter notNil ifTrue:[
+        (packageFilter includes:allName) ifTrue:[packageFilter := nil].
+    ].
+
+    (cats includes:allName) ifTrue:[
+        hideUnloadedClasses ifTrue:[
+            inclusionTest := [:cls | cls isLoaded].
+        ] ifFalse:[
+            inclusionTest := [:cls | true].
+        ].
+    ] ifFalse:[
+        inclusionTest := 
+            [:cls | 
+                |cat isLoaded included|
+
+                isLoaded := cls isLoaded.
+                included := isLoaded not and:[ showUnloaded ].
+                included ifFalse:[
+                    (hideUnloadedClasses not or:[isLoaded]) ifTrue:[
+                        cat := cls category ? '* no category *'.
+                        included := cats includes:cat.
+                        included ifFalse:[
+                            included := showChangedClasses 
+                                        and:[ (changedClasses includes:cls theNonMetaclass)
+                                                or:[(changedClasses includes:cls theMetaclass)] ].
+                            included ifFalse:[
+                                included := showUndocumented 
+                                            and:[ isLoaded 
+                                            and:[ cls isPrivate not    
+                                            and:[ (cls theMetaclass includesSelector:#documentation) not ]]].
+                                included ifFalse:[
+                                    included := showExtendedClasses
+                                                and:[ cls hasExtensions ].
+                                ].
+                            ].
+                        ].
+                    ].
+                ].
+                included
+            ].
+    ].
+
+    ^ Iterator on:[:whatToDo |
+            showChangedClasses ifTrue:[ changedClasses := ChangeSet current changedClasses ].
+
+            Smalltalk allClassesDo:[:cls |
+                (cls isRealNameSpace) ifFalse:[
+                    (inclusionTest value:cls) ifTrue:[
+                        (nameSpaceFilter isNil
+                        or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
+                            (packageFilter isNil
+                            or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
+                                whatToDo value:cls
+                            ]
+                        ]
+                    ].
+                ].
+            ].
+        ].
+
+    "Created: / 05-02-2000 / 13:42:12 / cg"
+    "Modified: / 10-11-2006 / 17:13:26 / cg"
+! !
+
+!ClassCategoryList methodsFor:'private'!
+
+colorizeCategoryAsChanged:category
+    |colorizedCategoryItem categoryList idx|
+
+    colorizedCategoryItem := self colorizeForChangedCode:category copy asText.
+
+    categoryList := self categoryList value.
+    idx := categoryList indexOf:category.
+    idx ~~ 0 ifTrue:[
+        ((categoryList at:idx) sameStringAndEmphasisAs:colorizedCategoryItem) ifFalse:[
+            categoryList at:idx put:colorizedCategoryItem.
+            self categoryList changed.
+        ]
+    ].
+!
+
+listOfCategories
+    |categories categoriesBag hideUnloadedClasses generator nameSpaceFilter packageFilter allName
+     categoriesWithExtensions categoriesWithChangedCode categoriesWithRemoteChangedCode
+     classesInChangeSet classesInRemoteChangeSet classesWithExtensions
+     numClassesInChangeSet numClasses numUnloaded numUndocumented numExtendedClasses pseudoEntryColor|
+
+    allName := self class nameListEntryForALL.
+
+    hideUnloadedClasses := self hideUnloadedClasses value.
+    nameSpaceFilter := self nameSpaceFilter value.
+    nameSpaceFilter notNil ifTrue:[
+        (nameSpaceFilter includes:allName) ifTrue:[nameSpaceFilter := nil].
+    ].
+    packageFilter := self packageFilter value.
+    packageFilter notNil ifTrue:[
+        (packageFilter includes:allName) ifTrue:[packageFilter := nil].
+    ].
+
+    numClasses := numUndocumented := numUnloaded := numClassesInChangeSet := numExtendedClasses := 0.
+
+    categories := Set new.
+    categoriesBag := Bag new.
+    categoriesWithExtensions := Set new.
+    categoriesWithChangedCode := Set new.
+    categoriesWithRemoteChangedCode := Set new.
+
+    classesInChangeSet := ChangeSet current changedClasses.
+    classesInChangeSet := classesInChangeSet collect:[:eachClass | eachClass theNonMetaclass].
+
+    classesInRemoteChangeSet := SmallTeam isNil ifTrue:[#()] ifFalse:[ SmallTeam changedClasses ].
+    classesInRemoteChangeSet := classesInRemoteChangeSet collect:[:each | each theNonMetaclass].
+
+    classesWithExtensions := IdentitySet new.
+
+    classes := IdentitySet new.
+    inGeneratorHolder isNil ifTrue:[
+        Smalltalk allClassesDo:[:cls | 
+            |cat isLoaded|
+
+            (cls isRealNameSpace) ifFalse:[
+                (nameSpaceFilter isNil
+                or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
+                    (packageFilter isNil
+                    or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
+
+                        isLoaded := cls isLoaded.
+                        isLoaded ifTrue:[ 
+                            numUnloaded := numUnloaded + 1.
+                            cls isPrivate ifFalse:[  
+                                (cls theMetaclass includesSelector:#documentation) ifFalse:[
+                                    numUndocumented := numUndocumented + 1.
+                                ].
+                            ].
+                        ].
+
+                        (hideUnloadedClasses not or:[isLoaded])
+                        ifTrue:[
+                            numClasses := numClasses + 1.
+
+                            cat := cls category ? '* no category *'.
+                            cat isString ifFalse:[self halt:'oops - strange category'].
+                            categories add:cat.
+                            classes add:cls.
+                            categoriesBag add:cat.
+
+                            (classesInChangeSet includes:cls theNonMetaclass) ifTrue:[
+                                categoriesWithChangedCode add:cat
+                            ].
+                            (classesInRemoteChangeSet includes:cls theNonMetaclass) ifTrue:[
+                                categoriesWithRemoteChangedCode add:cat
+                            ].
+                            cls hasExtensions ifTrue:[
+                                categoriesWithExtensions add:cat.
+                                classesWithExtensions add:cls.
+                                numExtendedClasses := numExtendedClasses + 1.
+                            ].
+                        ]
+                    ]
+                ]
+            ]
+        ].
+
+        "/ those are simulated - in ST/X, empty categories do not
+        "/ really exist; however, during browsing, it makes sense.
+        AdditionalEmptyCategories size > 0 ifTrue:[
+            "/ remove those that are present ...
+            AdditionalEmptyCategories := AdditionalEmptyCategories select:[:cat | (categories includes:cat) not].
+            categories addAll:AdditionalEmptyCategories.
+            categoriesBag addAll:AdditionalEmptyCategories withOccurrences:0.
+        ].
+    ] ifFalse:[
+        |setOfCategories|
+
+        generator := inGeneratorHolder value.
+        generator isNil ifTrue:[^ #() ].
+        setOfCategories := Set withAll:generator.
+        generator do:[:cat | categories add:cat string].
+        
+        Smalltalk allClassesDo:[:each |
+            |cat|
+
+            each isNameSpace ifFalse:[
+                cat := each category string asSymbol.
+                (setOfCategories includes:cat) ifTrue:[
+                    categoriesBag add:cat.
+                ].
+            ]
+        ].
+    ].
+
+    pseudoEntryColor := self class pseudoEntryForegroundColor.
+
+    categories := categories asOrderedCollection.
+
+    categories sort.
+    rawCategoryList := categories.
+
+    categories := 
+        categories collect:[:cat |
+            |item isInChangeSet|
+
+            isInChangeSet := categoriesWithChangedCode includes:cat.
+            isInChangeSet ifTrue:[
+                 item := self colorizeForChangedCode:cat copy asText
+            ] ifFalse:[
+                (categoriesWithExtensions includes:cat) ifTrue:[
+                     item := self colorizeForDifferentPackage:cat copy asText
+                     "/ cannot add a + here - need separate list for presentation and filter
+                     "/ cat , (self colorizeForDifferentPackage:self stringForExtensions)
+                ] ifFalse:[
+                    (categoriesWithRemoteChangedCode includes:cat) ifTrue:[
+                         item := self colorizeForChangedCodeInSmallTeam:cat copy asText
+                    ] ifFalse:[
+                         item := cat
+                    ]
+                ]
+            ].
+            item := item , ((' (%1)' bindWith:(categoriesBag occurrencesOf:cat)) 
+                                colorizeAllWith:pseudoEntryColor).
+            isInChangeSet ifTrue:[
+                item := item , self class markForBeingInChangeList
+            ].
+
+            item        
+        ].
+
+    numUndocumented > 0 ifTrue:[
+        rawCategoryList add:self class nameListEntryForUndocumented.
+        categories add:((self class nameListEntryForUndocumentedWithCount bindWith:numUndocumented) allItalic colorizeAllWith:pseudoEntryColor).
+    ].
+    numUnloaded > 0 ifTrue:[
+        rawCategoryList add:self class nameListEntryForUnloaded.
+        categories add:((self class nameListEntryForUnloadedWithCount bindWith:numUnloaded) allItalic colorizeAllWith:pseudoEntryColor).
+    ].
+    numExtendedClasses > 0 ifTrue:[
+        rawCategoryList add:self class nameListEntryForExtendedClasses.
+        categories add:((self class nameListEntryForExtendedClassesWithCount bindWith:numExtendedClasses) allItalic colorizeAllWith:pseudoEntryColor).
+    ].
+    numClassesInChangeSet := ChangeSet current changedClasses size.
+    numClassesInChangeSet > 0 ifTrue:[
+        rawCategoryList addFirst:self class nameListEntryForChanged.
+        categories addFirst:((self class nameListEntryForChangedWithCount bindWith:numClassesInChangeSet) allItalic colorizeAllWith:pseudoEntryColor).
+    ].
+
+    categories size > 0 ifTrue:[
+        categories size == 1 ifTrue:[
+            self classCategoryLabelHolder value:(categories first)
+        ].
+        rawCategoryList addFirst:self class nameListEntryForALL.
+        categories addFirst:((self class nameListEntryForALLWithCount bindWith:numClasses) allItalic colorizeAllWith:pseudoEntryColor).
+    ].
+
+    cookedCategoryList := categories.
+    ^ rawCategoryList.
+
+    "Created: / 05-02-2000 / 13:42:12 / cg"
+    "Modified: / 27-10-2012 / 12:34:19 / cg"
+!
+
+listView 
+    ^ self componentAt:#List
+!
+
+makeDependent
+    Smalltalk addDependent:self.
+    ChangeSet addDependent:self.
+
+    "Created: / 5.2.2000 / 13:42:13 / cg"
+!
+
+makeIndependent
+    Smalltalk removeDependent:self.
+    ChangeSet removeDependent:self.
+
+    "Created: / 5.2.2000 / 13:42:13 / cg"
+!
+
+makeItemVisible:item
+    |idx listView|
+
+    idx := categoryList value indexOf:item.
+    idx ~~ 0 ifTrue:[
+        (listView := self listView) notNil ifTrue:[
+            listView makeLineVisible:idx.
+        ]
+    ]
+!
+
+makeSelectionOtherThanAllVisible
+    |selectedCategories item|
+
+    selectedCategories := self selectedCategoriesStrings.
+    "/ the first item after the *all* item
+    item := (selectedCategories copy remove:self class nameListEntryForALL; yourself) first.
+    self makeItemVisible:item.
+!
+
+release
+    super release.
+
+    categoryList removeDependent:self.
+!
+
+selectedCategoriesStrings
+    |selectedCategories stringForExtensions|
+
+    stringForExtensions := self stringForExtensions.
+
+    selectedCategories := self selectedCategories value ? #().
+
+"/    selectedCategories := selectedCategories 
+"/                collect:[:each | 
+"/                                |s|
+"/                                s := each string.
+"/                                (s endsWith:stringForExtensions) ifTrue:[
+"/                                    s := s copyWithoutLast:(stringForExtensions size).
+"/                                ].
+"/                                s
+"/                        ].
+    ^ selectedCategories
+
+    "Modified: / 23-08-2006 / 11:38:26 / cg"
+!
+
+stringForExtensions
+    ^ ' [ + ]'
+!
+
+updateList
+    |oldList newList oldSelection newSelection prevClasses
+     selectedCategoriesHolder|
+
+    selectedCategoriesHolder := self selectedCategories.
+    oldSelection := selectedCategoriesHolder value ? #().
+    prevClasses := classes copy.
+
+    newList := self listOfCategories.    "/ sigh - sideeffect of setting rawList
+    oldList := (self categoryList value) ? #().
+    (newList sameContentsAs:oldList whenComparedWith:[:a :b | a sameStringAndEmphasisAs: b]) 
+    ifFalse:[
+        "/ a real change, or only emphasis ?
+        (newList sameContentsAs:oldList whenComparedWith:[:a :b | a asString string = b asString string]) ifTrue:[
+            "/ only emphasis
+            oldSelection size > 0 ifTrue:[
+                selectedCategoriesHolder removeDependent:self.
+                selectedCategoriesHolder value:#().
+                selectedCategoriesHolder addDependent:self.
+            ].
+            categoryList value:newList.
+
+            oldSelection size > 0 ifTrue:[
+                newSelection := oldSelection select:[:cat | newList includes:cat].
+                selectedCategoriesHolder value:newSelection.
+            ]
+        ] ifFalse:[
+            "/ a real change
+
+            categoryList value:newList.
+
+            "/ in case the same categories are present, but classes have changed ...
+            (prevClasses isNil or:[(classes identicalContentsAs:prevClasses) not]) ifTrue:[
+                self updateOutputGenerator.
+            ]
+        ]
+    ] ifTrue:[
+        "/ in case the same categories are present, but classes have changed ...
+        (prevClasses isNil or:[(classes identicalContentsAs:prevClasses) not]) ifTrue:[
+            self updateOutputGenerator.
+        ]
+    ].
+    listValid := true.
+
+    "Created: / 05-02-2000 / 13:42:13 / cg"
+    "Modified: / 17-08-2011 / 09:52:13 / cg"
+! !
+
+!ClassCategoryList methodsFor:'setup'!
+
+commonPostBuild
+    |listView|
+
+    listView := self listView.
+    listView notNil ifTrue:[
+        listView scrollWhenUpdating:nil
+    ].
+    super commonPostBuild
+!
+
+postBuildCategoryListView:aView
+    categoryListView := aView.
+    categoryListView visualBlock:[:view :lineNr | cookedCategoryList at:lineNr].
+    categoryListView selectedVisualBlock:[:view :lineNr | (cookedCategoryList at:lineNr) string]
+! !
+
+!ClassCategoryList methodsFor:'special'!
+
+addAdditionalCategory:aCategory
+    "/ those are simulated - in ST/X, empty categories do not
+    "/ really exist; however, during browsing, it makes sense.
+
+    self class addAdditionalCategory:aCategory
+!
+
+removeAdditionalCategories:aListOfCategories
+    self class removeAdditionalCategories:aListOfCategories
+!
+
+removeAllAdditionalCategories
+    self class removeAllAdditionalCategories
+!
+
+renameAdditionalCategories:oldNames to:newName
+    "/ those are simulated - in ST/X, empty categories do not
+    "/ really exist; however, during browsing, it makes sense.
+
+    self class renameAdditionalCategories:oldNames to:newName
+! !
+
+!ClassCategoryList class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.40 2012-11-07 14:19:04 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.40 2012-11-07 14:19:04 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_ClassChecker.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,926 @@
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+Object subclass:#ClassChecker
+	instanceVariableNames:'checkedClass badClasses badClassInfo badMethods badMethodInfo
+		obsoleteWarners allObsoleteMethods checksPerformed'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!ClassChecker class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    embeddable application displaying the class-categories.
+    Provides an outputGenerator, which enumerates the classes in
+    the selected categories.
+
+    Attention: do not change the method categories 'checks-' into something else.
+    The 'checks-' prefix is used to detect checks and these are listed in the browsers
+    lint dialog.
+
+    [author:]
+        Claus Gittinger (cg@exept.de)
+"
+! !
+
+!ClassChecker class methodsFor:'queries'!
+
+individualChecks
+    "return a list of supported checks"
+
+    |checks|
+
+    checks := OrderedCollection new.
+    self methodDictionary keysAndValuesDo:[:sel :mthd |
+	(mthd category startsWith:'checks')  ifTrue:[checks add:sel]
+    ].
+    checks sort.
+    ^ checks
+
+    "
+     self individualChecks
+    "
+
+    "Created: / 18.8.2000 / 22:30:46 / cg"
+    "Modified: / 18.8.2000 / 22:31:02 / cg"
+! !
+
+!ClassChecker methodsFor:'accessing'!
+
+badClassInfo
+    ^ badClassInfo
+!
+
+badMethodInfo
+    ^ badMethodInfo
+!
+
+checkedClass
+    "return the value of the instance variable 'checkedClass' (automatically generated)"
+
+    ^ checkedClass
+!
+
+checkedClass:something
+    "set the value of the instance variable 'checkedClass' (automatically generated)"
+
+    checkedClass := something.
+    checksPerformed := nil.
+! !
+
+!ClassChecker methodsFor:'checking'!
+
+allChecks
+    self errorChecks.
+    self warningChecks.
+    self styleChecks.
+!
+
+doCheck:whichCheck
+    checksPerformed isNil ifTrue:[
+	checksPerformed := Set new.
+    ].
+    (checksPerformed includes:whichCheck) ifFalse:[
+	checksPerformed add:whichCheck.
+	self perform:whichCheck
+    ]
+!
+
+errorChecks
+    self doCheck:#subclassResponsibilityNotDefined.
+    self doCheck:#sentNotImplemented.
+    self doCheck:#definesEqualButNotHash.
+    self doCheck:#instanceVariablesNeverWritten.
+!
+
+styleChecks
+    self doCheck:#checkProtocols.
+    self doCheck:#sendsObsoleteMethodWarningButNotTaggedAsObsoleteOrViceVersa.
+    self doCheck:#unusedInstanceVariables.
+    self doCheck:#unusedClassVariables.
+
+"/    self doCheck:#guardingClause.
+
+    "Modified: / 18-05-2010 / 14:38:15 / cg"
+!
+
+warningChecks
+    self doCheck:#messageNeverSentAndNotUsedAsSymbol.
+    self doCheck:#sendsObsoleteMessages.
+    self doCheck:#instanceVariablesNeverUsed.
+    self doCheck:#instanceVariablesNeverWritten.
+    self doCheck:#classVariablesNeverUsed.
+    self doCheck:#classVariablesNeverWritten.
+    self doCheck:#classInstanceVariablesNeverUsed.
+    self doCheck:#classInstanceVariablesNeverWritten.
+    self doCheck:#invalidKeyInImageResourceMethod
+! !
+
+!ClassChecker methodsFor:'checks-individual'!
+
+checkProtocols
+    checkedClass instAndClassSelectorsAndMethodsDo:[:mSelector :method |
+	self checkProtocolOf:method
+    ]
+!
+
+checkVariableNameConventions
+    |badInstVars badClassVars|
+
+    badInstVars := checkedClass instanceVariableNames select:[:varName | varName isUppercaseFirst].
+    badClassVars := checkedClass classVarNames select:[:varName | varName first isLowercase].
+
+    badInstVars notEmpty ifTrue:[
+        badInstVars := (badInstVars collect:[:v | '''' , v , '''']) asStringWith:$, .
+        self 
+            rememberBadClass:checkedClass
+            info:('instVars ' , badInstVars , ' should be lowercase (#checkNameConventions)').
+    ].
+    badClassVars notEmpty ifTrue:[
+        badClassVars := (badClassVars collect:[:v | '''' , v , '''']) asStringWith:$, .
+        self 
+            rememberBadClass:checkedClass
+            info:('classVars ' , badClassVars , ' should be uppercase (#checkNameConventions)').
+    ].
+!
+
+classInstanceVariablesNeverUsed
+    self instanceVariablesNeverUsedIn:checkedClass theMetaclass.
+!
+
+classInstanceVariablesNeverWritten
+    self instanceVariablesNeverWrittenIn:checkedClass theMetaclass.
+!
+
+classVariablesNeverUsed
+    |cls notUsedHere notUsedAnyWhere anySubclass|
+
+    cls := checkedClass theNonMetaclass.
+    notUsedHere := cls classVarNames asSet.
+    notUsedHere isEmpty ifTrue:[^ self].
+
+    self removeUsedClassVariablesIn:cls from:notUsedHere.
+    self removeUsedClassVariablesIn:cls class from:notUsedHere.
+
+    notUsedHere notEmpty ifTrue:[
+	notUsedAnyWhere := notUsedHere copy.
+	anySubclass := false.
+	cls allSubclassesDo:[:eachSubclass |
+	    anySubclass := true.
+	    notUsedAnyWhere notEmpty ifTrue:[
+		self removeUsedClassVariablesIn:eachSubclass from:notUsedAnyWhere.
+		self removeUsedClassVariablesIn:eachSubclass class from:notUsedAnyWhere.
+	    ]
+	].
+
+	notUsedHere do:[:eachVariable |
+	    |className|
+
+	    className := checkedClass name allBold.
+	    self 
+		rememberBadClass:cls
+		info:('classVar ' , eachVariable allBold , ' is unused in ' , className , ' (#classVariablesNeverUsed)').
+	    (notUsedAnyWhere includes:eachVariable) ifTrue:[
+		self 
+		    rememberBadClass:cls
+		    info:('classVar ' , eachVariable allBold , ' is not even used in subclasses of ' , className , ' (#classVariablesNeverUsed)')
+	    ]
+	].
+    ]
+!
+
+classVariablesNeverWritten
+    |cls notWrittenHere notWrittenAnyWhere anySubclass|
+
+    cls := checkedClass theNonMetaclass.
+    notWrittenHere := cls classVarNames asSet.
+    notWrittenHere isEmpty ifTrue:[^ self].
+
+    self removeWrittenClassVariablesIn:cls from:notWrittenHere.
+    self removeWrittenClassVariablesIn:cls class from:notWrittenHere.
+
+    notWrittenHere notEmpty ifTrue:[
+	notWrittenAnyWhere := notWrittenHere copy.
+	anySubclass := false.
+	cls allSubclassesDo:[:eachSubclass |
+	    anySubclass := true.
+	    notWrittenAnyWhere notEmpty ifTrue:[
+		self removeWrittenClassVariablesIn:eachSubclass from:notWrittenAnyWhere.
+		self removeWrittenClassVariablesIn:eachSubclass class from:notWrittenAnyWhere.
+	    ]
+	].
+
+	notWrittenHere do:[:eachVariable |
+	    |className|
+
+	    className := cls name allBold.
+	    self 
+		rememberBadClass:cls
+		info:('classVar ' , eachVariable allBold , ' is not set in ' , className , ' (#classVariablesNeverWritten)').
+	    (notWrittenAnyWhere includes:eachVariable) ifTrue:[
+		self 
+		    rememberBadClass:cls
+		    info:('classVar ' , eachVariable allBold , ' is not even set in subclasses of ' , className , ' (#classVariablesNeverWritten)')
+	    ]
+	].
+    ]
+!
+
+definesEqualButNotHash
+    (checkedClass includesSelector:#=) ifTrue:[
+	(checkedClass includesSelector:#hash) ifFalse:[
+	    self 
+		rememberBadClass:checkedClass 
+		info:(checkedClass name allBold, ' redefines #=, but not #hash (#definesEqualButNotHash)').
+	]
+    ]
+!
+
+guardingClause
+    |detector|
+
+    detector := ParseTreeLintRule guardingClause.
+    detector runOnEnvironment: (Array with:checkedClass).
+self breakPoint:#cg.
+!
+
+instanceVariablesNeverUsed
+    self instanceVariablesNeverUsedIn:checkedClass theNonMetaclass.
+!
+
+instanceVariablesNeverWritten
+    self instanceVariablesNeverWrittenIn:checkedClass theNonMetaclass.
+!
+
+invalidKeyInImageResourceMethod
+    Icon flushCachedIcons.
+    checkedClass instAndClassSelectorsAndMethodsDo:[:sel :mthd | 
+        |img key name|
+
+        (mthd hasImageResource) ifTrue:[
+           img := mthd valueWithReceiver:nil arguments:#().
+           key := (Icon classVarAt:#KnownIcons) keyAtIdentityValue:img.
+           key notNil ifTrue:[
+              mthd mclass notNil ifTrue:[  
+                  name := (mthd mclass name , ' ', mthd selector).
+                  name ~= key ifTrue:[
+                      self 
+                          rememberBadMethod:mthd 
+                          key:#invalidKeyInImageResourceMethod
+                          info:('key in constantNamed: does not match the method name')
+                  ]
+              ]
+           ]
+        ]
+    ].
+!
+
+messageNeverSent
+    "/ old code: (slow)
+"/    checkedClass instAndClassSelectorsAndMethodsDo:[:mSelector :method |
+"/        (self anySendsOf:mSelector) ifFalse:[
+"/            self 
+"/                rememberBadMethod:method 
+"/                info:('#' , mSelector , ' is nowhere sent (#messageNeverSent)')
+"/        ].
+"/    ].
+
+    |selectorsOfInterest|
+
+    selectorsOfInterest := IdentitySet new.
+    checkedClass instAndClassSelectorsAndMethodsDo:[:mSelector :method |  selectorsOfInterest add:mSelector].
+    (self messagesNeverSentIn:selectorsOfInterest) do:[:eachNeverSent |
+	self 
+	    rememberBadMethod:(checkedClass compiledMethodAt:eachNeverSent) 
+	    key:#messageNeverSent
+	    info:('#' , eachNeverSent allBold, ' is nowhere sent (#messageNeverSent)')
+    ].
+
+    "Modified: / 18.8.2000 / 22:54:45 / cg"
+!
+
+messageNeverSentAndNotUsedAsSymbol
+    |selectorsOfInterest|
+
+    selectorsOfInterest := IdentitySet new.
+    checkedClass instAndClassSelectorsAndMethodsDo:[:mSelector :method |  selectorsOfInterest add:mSelector].
+    (self messagesNeverSentAndNotUsedAsSymbolIn:selectorsOfInterest) do:[:eachNeverSent |
+	self 
+	    rememberBadMethod:(checkedClass compiledMethodAt:eachNeverSent) 
+	    key:#messageNeverSentAndNotUsedAsSymbol
+	    info:('#' , eachNeverSent allBold, ' is nowhere sent and selector-symbol not used in any method (#messageNeverSentAndNotUsedAsSymbol)')
+    ].
+
+    "Modified: / 18.8.2000 / 23:10:56 / cg"
+!
+
+parseMethod:method in:aClass withParserDo:aBlock onErrorDo:errorBlock
+    |source parser|
+
+    source := method source.
+    parser := Parser
+                parseMethod:source
+                in:aClass
+                ignoreErrors:true
+                ignoreWarnings:true.
+
+    (parser notNil and:[parser ~~ #Error]) ifTrue:[
+        aBlock value:parser
+    ] ifFalse:[
+        errorBlock value
+    ].
+
+    "Created: / 18-05-2010 / 15:17:19 / cg"
+!
+
+sendsObsoleteMessages
+    obsoleteWarners isNil ifTrue:[
+        obsoleteWarners := Object selectors select:[:each | each startsWith:'obsoleteMethodWarning'].
+    ].
+    allObsoleteMethods isNil ifTrue:[
+        allObsoleteMethods := IdentitySet new.
+        Method allSubInstancesDo:[:eachMethod | |lits selector|
+                ((lits := eachMethod literals) notNil
+                and:[lits includesAny:obsoleteWarners]) ifTrue:[
+                     (eachMethod messagesSent includesAny:obsoleteWarners) ifTrue:[
+                        selector := eachMethod selector.
+                        selector notNil ifTrue:[
+                            allObsoleteMethods add:selector.
+                        ]
+                    ].
+                ].
+            ].
+
+        "/ manually patchup; there are some which should not be considered as bad ...
+        allObsoleteMethods removeAllFoundIn:#( #','  #'at:'  #'at:put:'  #'raise').
+        allObsoleteMethods removeAllFoundIn:#( #'asText').
+        allObsoleteMethods removeAllFoundIn:obsoleteWarners.
+    ].
+
+    checkedClass instAndClassSelectorsAndMethodsDo:[:sel :mthd | 
+        |lits sentMessages whichOnes pT searcher nodes|
+
+        ((lits := mthd literals) notNil
+        and:[lits includesAny:allObsoleteMethods]) ifTrue:[
+            sentMessages := mthd messagesSent.
+            (sentMessages includesAny:allObsoleteMethods) ifTrue:[
+                whichOnes := sentMessages select:[:each | allObsoleteMethods includes:each].
+
+                (RBParser notNil
+                and:[RBParser isLoaded]) ifTrue:[
+                    "/ lets look at this a bit more detailed;
+                    "/ parse it and see if we can filter out any messages 
+                    "/ (i.e. look if we can figure out the receiver type)
+
+"/                    pT := RBParser 
+"/                            parseMethod: (mthd source)
+"/                            onError: [:aString :pos | nil].
+"/                    pT notNil ifTrue:[
+"/                        searcher := ParseTreeSearcher 
+"/                                        allMessageSendsMatchingAny:whichOnes ignoreCase:false.
+"/                        nodes := searcher executeTree:pT initialAnswer:(OrderedCollection new).
+"/                        nodes := nodes 
+"/                            select:
+"/                                [:aSendNode |
+"/                                    self halt.
+"/                                ].
+"/                        whichOnes := nodes collect:[:aSendNode | aSendNode selector].
+"/                    ].
+                ].
+
+                whichOnes asOrderedCollection sort do:[:eachObsoleteMessage |
+                    self 
+                        rememberBadMethod:mthd 
+                        key:#sendsObsoleteMessages
+                        info:('possibly sends an obsolete message: ' , eachObsoleteMessage , ' (#sendsObsoleteMessages)')
+                ].
+            ].
+        ]
+    ]
+!
+
+sendsObsoleteMethodWarningButNotTaggedAsObsoleteOrViceVersa
+    |obsoleteWarners|
+
+    obsoleteWarners := #( #'obsoleteMethodWarning' #'obsoleteMethodWarning:' ).
+
+    checkedClass instAndClassSelectorsAndMethodsDo:[:sel :mthd | 
+        |lits sentMessages whichOnes pT searcher nodes|
+
+        ((lits := mthd literals) notNil
+        and:[lits includesAny:obsoleteWarners]) ifTrue:[
+            mthd isObsolete ifFalse:[
+                self 
+                    rememberBadMethod:mthd 
+                    key:#sendsObsoleteMethodWarningButNotTaggedAsObsoleteOrViceVersa
+                    info:('sends obsoleteMethodWarning but not tagged as obsolete')
+            ].
+        ] ifFalse:[
+            mthd isObsolete ifTrue:[
+                self 
+                    rememberBadMethod:mthd 
+                    key:#sendsObsoleteMethodWarningButNotTaggedAsObsoleteOrViceVersa
+                    info:('tagged as obsolete but does not send an obsoleteMethodWarning')
+            ].
+        ].
+    ]
+!
+
+sentNotImplemented
+    |alreadyChecked alreadyCheckedSelf alreadyCheckedSuper|
+
+    alreadyChecked := IdentitySet new.
+    alreadyCheckedSelf := IdentitySet new.
+    alreadyCheckedSuper := IdentitySet new.
+
+    checkedClass methodDictionary keysAndValuesDo:[:mSelector :method |
+	|sentSelectors selfSelectors superSelectors selectorsNoWhereImplemented|
+
+	selectorsNoWhereImplemented := IdentitySet new.
+	sentSelectors := method messagesSent.
+	sentSelectors do:[:eachSelector |
+	    (alreadyChecked includes:eachSelector) ifFalse:[
+		(self anyImplementationOf:eachSelector) ifTrue:[
+		    alreadyChecked add:eachSelector
+		] ifFalse:[
+		    selectorsNoWhereImplemented add:eachSelector.
+		    self 
+			rememberBadMethod:method 
+			key:#sentNotImplemented
+			info:('#' , eachSelector allBold, ' is nowhere implemented (#sentNotImplemented)')
+		]
+	    ]
+	].
+
+	selfSelectors := method messagesSentToSelf.
+	selfSelectors do:[:eachSelector |
+	    (selectorsNoWhereImplemented includes:eachSelector) ifFalse:[
+		(alreadyCheckedSelf includes:eachSelector) ifFalse:[
+		    (self anyImplementationOf:eachSelector inOrAbove:checkedClass) ifTrue:[
+			alreadyCheckedSelf add:eachSelector
+		    ] ifFalse:[            
+			self 
+			    rememberBadMethod:method 
+			    key:#sentNotImplemented
+			    info:('#' , eachSelector allBold, ' is not implemented in the class (#sentNotImplemented)')
+		    ]
+		]
+	    ]
+	].
+        
+	superSelectors := method messagesSentToSuper.
+	superSelectors do:[:eachSelector |
+	    (selectorsNoWhereImplemented includes:eachSelector) ifFalse:[
+		(alreadyCheckedSuper includes:eachSelector) ifFalse:[
+		    (self anyImplementationOf:eachSelector inOrAbove:(checkedClass superclass)) ifTrue:[
+			alreadyCheckedSuper add:eachSelector
+		    ] ifFalse:[            
+			self 
+			    rememberBadMethod:method 
+			    key:#sentNotImplemented
+			    info:('#' , eachSelector allBold, ' is not implemented in any superclass (#sentNotImplemented)')
+		    ]
+		]
+	    ]
+	].
+    ].
+!
+
+subclassResponsibilityNotDefined
+    |classesInBetween|
+
+    checkedClass allSuperclasses do:[:eachSuperClass |
+	eachSuperClass methodDictionary keysAndValuesDo:[:mSelector :method |
+	    (method referencesLiteral:#subclassResponsibility) ifTrue:[
+		"/ parse it to see if it really does ...
+		(method sends:#subclassResponsibility) ifTrue:[
+		    "/ ok, got one;
+		    "/ now, see if it is defined below this superClass
+		    classesInBetween := checkedClass withAllSuperclasses copy.
+		    classesInBetween removeAll:(eachSuperClass withAllSuperclasses).
+		    (self anyImplementationOf:mSelector in:classesInBetween) ifFalse:[
+			(self methodShouldBeIgnoredInSubclassResponsibilityNotDefined:method)
+			ifFalse:[
+			    self 
+				rememberBadMethod:method 
+				key:#subclassResponsibilityNotDefined
+				info:(checkedClass name allBold , ' should redefine the #' , mSelector allBold , ' method (#subclassResponsibilityNotDefined)').
+			].
+		    ].
+		]
+	    ]
+	]
+    ].
+!
+
+unusedClassVariables
+    |remainingVars|
+
+    remainingVars := checkedClass theNonMetaclass classVarNames asSet.
+
+    checkedClass theNonMetaclass withAllSubclassesDo:[:eachClassToCheck |
+        eachClassToCheck instAndClassMethodsDo:[:method |
+            self 
+                parseMethod:method in:method mclass 
+                withParserDo:[:parser |
+                    remainingVars removeAllFoundIn:(parser usedClassVars)
+                ]
+                onErrorDo:[]
+        ].
+    ].
+
+    remainingVars asSortedCollection do:[:eachVar |
+        self rememberBadClass:checkedClass info:'Unused class variable: ',eachVar
+    ].
+
+    "Created: / 18-05-2010 / 14:37:42 / cg"
+!
+
+unusedInstanceVariables
+    |remainingVars|
+
+    remainingVars := checkedClass theNonMetaclass instVarNames asSet.
+
+    checkedClass theNonMetaclass withAllSubclassesDo:[:eachClassToCheck |
+        eachClassToCheck methodDictionary keysAndValuesDo:[:mSelector :method |
+            self 
+                parseMethod:method in:eachClassToCheck 
+                withParserDo:[:parser |
+                    remainingVars removeAllFoundIn:(parser usedInstVars)
+                ]
+                onErrorDo:[]
+        ].
+    ].
+
+    remainingVars asSortedCollection do:[:eachVar |
+        self rememberBadClass:checkedClass info:'Unused instance variable: ',eachVar
+    ].
+
+    "Created: / 18-05-2010 / 14:32:09 / cg"
+! !
+
+!ClassChecker methodsFor:'helpers'!
+
+anyImplementationOf:aSelector
+    Smalltalk allClassesDo:[:eachClass |
+	(eachClass theNonMetaclass includesSelector:aSelector) ifTrue:[^ true].
+	(eachClass theMetaclass includesSelector:aSelector) ifTrue:[^ true].
+    ].
+    ^ false
+!
+
+anyImplementationOf:aSelector in:aCollectionOfClasses
+    ^ aCollectionOfClasses 
+        contains:[:aClass | (aClass includesSelector:aSelector) ].
+!
+
+anyImplementationOf:aSelector inOrAbove:aClass
+    aClass withAllSuperclassesDo:[:eachClass |
+	(eachClass includesSelector:aSelector) ifTrue:[^ true].
+    ].
+    ^ false
+!
+
+anySendsOf:aSelector
+    Smalltalk allMethodsDo:[:mthd |
+        (mthd sends:aSelector) ifTrue:[^ true].
+    ].
+    ^ false
+!
+
+checkProtocolOf:aMethod
+    |mClass mSelector protocol superClass implClass superProtocol|
+
+    mClass := aMethod mclass.
+    mSelector := aMethod selector.
+    mClass isNil ifTrue:[^ true].
+    mSelector isNil ifTrue:[^ true].
+
+    protocol := aMethod category.
+    protocol isNil ifTrue: [^true].
+
+    superClass := mClass superclass.
+    superClass isNil ifTrue: [^true].
+
+    implClass := superClass whichClassIncludesSelector:mSelector.
+    implClass isNil ifTrue: [^true].
+
+    superProtocol := (implClass compiledMethodAt:mSelector) category.
+    superProtocol = protocol ifTrue: [^true].
+    superProtocol isNil ifTrue: [^true].
+
+    self 
+        rememberBadMethod:aMethod
+        key:#checkProtocols
+        info:('#' , mSelector allBold , ' is classified under "' , protocol allBold , '" in '
+              , mClass name , ' and under "' , superProtocol allBold , '" in ' , implClass name
+              , ' (#checkProtocols)')
+
+    "Modified: / 18.8.2000 / 23:13:53 / cg"
+!
+
+checkUnusedVariables:aMethod rememberReadInstVarsIn:readInstVars writtenInstVarsIn:writtenInstVars readClassVarsIn:readClassVars writtenClassVarsIn:writtenClassVars
+    |p mClass sourceString|
+
+    sourceString := aMethod source.
+
+    mClass := aMethod mclass.
+
+    p := Parser parseMethodSilent:sourceString in:mClass.
+    readInstVars addAll:(p readInstVars).
+    writtenInstVars addAll:(p modifiedInstVars).
+    readClassVars addAll:(p readClassVars).
+    writtenClassVars addAll:(p modifiedClassVars).
+!
+
+instanceVariablesNeverUsedIn:aClass
+    |notUsedHere notUsedAnyWhere anySubclass|
+
+    notUsedHere := aClass instVarNames asSet.
+    notUsedHere isEmpty ifTrue:[^ self].
+
+    self removeUsedInstanceVariablesIn:aClass from:notUsedHere.
+
+    notUsedHere notEmpty ifTrue:[
+	notUsedAnyWhere := notUsedHere copy.
+	anySubclass := false.
+	aClass allSubclassesDo:[:eachSubclass |
+	    anySubclass := true.
+	    notUsedAnyWhere notEmpty ifTrue:[
+		self removeUsedInstanceVariablesIn:eachSubclass from:notUsedAnyWhere.
+	    ]
+	].
+
+	notUsedHere do:[:eachVariable |
+	    |className|
+
+	    className := aClass name allBold.
+	    self 
+		rememberBadClass:aClass 
+		info:('instVar ' , eachVariable allBold , ' is unused in ' , className , ' (#instanceVariablesNeverUsed)').
+
+	    anySubclass ifTrue:[
+		(notUsedAnyWhere includes:eachVariable) ifTrue:[
+		    self 
+			rememberBadClass:aClass 
+			info:('instVar ' , eachVariable allBold , ' is not even used in subclasses of ' , className , ' (#instanceVariablesNeverUsed)')
+		]
+	    ]
+	].
+    ]
+!
+
+instanceVariablesNeverWrittenIn:aClass
+    |notWrittenHere notWrittenAnyWhere anySubclass|
+
+    notWrittenHere := aClass instVarNames asSet.
+    notWrittenHere isEmpty ifTrue:[^ self].
+
+    self removeWrittenInstanceVariablesIn:aClass from:notWrittenHere.
+
+    notWrittenHere notEmpty ifTrue:[
+	notWrittenAnyWhere := notWrittenHere copy.
+	anySubclass := false.
+	aClass allSubclassesDo:[:eachSubclass |
+	    anySubclass := true.
+	    notWrittenAnyWhere notEmpty ifTrue:[
+		self removeWrittenInstanceVariablesIn:eachSubclass from:notWrittenAnyWhere.
+	    ]
+	].
+
+	notWrittenHere do:[:eachVariable |
+	    |className|
+
+	    className := aClass name allBold.
+	    self 
+		rememberBadClass:aClass
+		info:('instVar ' , eachVariable allBold , ' is nowhere set in ' , className , ' (#instanceVariablesNeverWritten)').
+	    anySubclass ifTrue:[
+		(notWrittenAnyWhere includes:eachVariable) ifTrue:[
+		    self 
+			rememberBadClass:aClass
+			info:('instVar ' , eachVariable allBold , ' is not even set in subclasses of ' , className , ' (#instanceVariablesNeverWritten)')
+		]
+	    ]
+	].
+    ]
+!
+
+messagesNeverSentAndNotUsedAsSymbolIn:selectorsOfInterest
+    |remaining toRemove checkBlock|
+
+    remaining := selectorsOfInterest copy asIdentitySet.
+    toRemove := IdentitySet new.
+
+    checkBlock := [:eachClass |
+	eachClass instAndClassSelectorsAndMethodsDo:[:mSel :mthd | |lits|
+	    lits := mthd literals.
+	    lits notNil ifTrue:[
+		lits traverse:[:eachLiteral |
+		    eachLiteral isSymbol ifTrue:[        
+			remaining remove:eachLiteral ifAbsent:nil.
+		    ]
+		].
+		remaining isEmpty ifTrue:[^ remaining].
+	    ]
+	].
+    ].
+
+    "/ start searching in the checkedClass - chances are high, we find some here
+    checkBlock value:checkedClass.
+    checkedClass superclass notNil ifTrue:[checkBlock value:checkedClass superclass].
+    Smalltalk allClassesDo:checkBlock.
+
+    ^ remaining
+
+    "Modified: / 18.8.2000 / 23:05:53 / cg"
+    "Created: / 18.8.2000 / 23:06:55 / cg"
+!
+
+messagesNeverSentIn:selectorsOfInterest
+    |remaining|
+
+    remaining := selectorsOfInterest copy.
+    Smalltalk allMethodsDo:[:mthd |
+        |lits|
+
+        lits := mthd literals.
+        lits notNil ifTrue:[
+            (lits includesAny:remaining) ifTrue:[
+                remaining removeAllFoundIn:(mthd messagesSent).
+                remaining isEmpty ifTrue:[^ remaining].
+            ]
+        ]
+    ].
+    ^ remaining
+
+    "Created: / 18.8.2000 / 22:53:38 / cg"
+    "Modified: / 18.8.2000 / 22:56:59 / cg"
+!
+
+methodShouldBeIgnoredInSubclassResponsibilityNotDefined:aMethod
+    "a kludge for now - would like to have a pragma, resource or other
+     way to mark such a method"
+
+    aMethod == (Object compiledMethodAt:#implementedBySubclass) ifTrue:[^ true].
+    aMethod == (Object compiledMethodAt:#readBinaryContentsFromData:manager:) ifTrue:[^ true].
+    aMethod == (Object compiledMethodAt:#finalize) ifTrue:[^ true].
+    ^ false.
+!
+
+rememberBadClass:class info:whatIsWrong
+    |entry|
+
+    badClasses isNil ifTrue:[
+	badClasses := IdentitySet new.
+    ].
+    badClasses add:class.
+
+    badClassInfo isNil ifTrue:[
+	badClassInfo := IdentityDictionary new.
+    ].
+    entry := badClassInfo at:class ifAbsentPut:[ OrderedCollection new ].
+    entry add:whatIsWrong.
+!
+
+rememberBadMethod:method key:key info:whatIsWrong
+    |entry|
+
+    badMethods isNil ifTrue:[
+	badMethods := Set new.
+    ].
+    (badMethods includes:(method -> key)) ifTrue:[^ self].
+
+    badMethods add:(method -> key).
+
+    badMethodInfo isNil ifTrue:[
+	badMethodInfo := IdentityDictionary new.
+    ].
+    entry := badMethodInfo at:method ifAbsentPut:[ OrderedCollection new ].
+    entry add:whatIsWrong.
+!
+
+rememberBadMethods:methods key:key info:whatIsWrong
+    methods do:[:eachMethod |  
+	self rememberBadMethod:eachMethod key:key info:whatIsWrong
+    ].
+!
+
+removeUsedClassVariablesIn:aClass from:aCollectionOfVariablenames
+    aClass selectorsAndMethodsDo:[:mSelector :method |
+	|src usedVars parser|
+
+	src := method source.
+	src notNil ifTrue:[
+	    parser := Parser
+			    parseMethod:src 
+			    in:aClass 
+			    ignoreErrors:true 
+			    ignoreWarnings:true.
+
+	    (parser notNil and:[parser ~~ #Error]) ifTrue:[
+		aCollectionOfVariablenames removeAllFoundIn:(parser usedClassVars).
+		aCollectionOfVariablenames isEmpty ifTrue:[^ self].
+	    ]
+	].
+    ].
+!
+
+removeUsedInstanceVariablesIn:aClass from:aCollectionOfVariablenames
+    aClass selectorsAndMethodsDo:[:mSelector :method |
+	|src usedVars parser|
+
+	src := method source.
+	src notNil ifTrue:[
+	    parser := Parser
+			    parseMethod:src 
+			    in:aClass 
+			    ignoreErrors:true 
+			    ignoreWarnings:true.
+
+	    (parser notNil and:[parser ~~ #Error]) ifTrue:[
+		aCollectionOfVariablenames removeAllFoundIn:(parser usedInstVars).
+		aCollectionOfVariablenames isEmpty ifTrue:[^ self].
+	    ]
+	].
+    ].
+!
+
+removeWrittenClassVariablesIn:aClass from:aCollectionOfVariablenames
+    aClass selectorsAndMethodsDo:[:mSelector :method |
+	|src usedVars parser|
+
+	src := method source.
+	src notNil ifTrue:[
+	    parser := Parser
+			    parseMethod:src 
+			    in:aClass 
+			    ignoreErrors:true 
+			    ignoreWarnings:true.
+
+	    (parser notNil and:[parser ~~ #Error]) ifTrue:[
+		aCollectionOfVariablenames removeAllFoundIn:(parser modifiedClassVars).
+		aCollectionOfVariablenames isEmpty ifTrue:[^ self].
+	    ]
+	].
+    ].
+!
+
+removeWrittenInstanceVariablesIn:aClass from:aCollectionOfVariablenames
+    aClass selectorsAndMethodsDo:[:mSelector :method |
+	|src usedVars parser|
+
+	src := method source.
+	src notNil ifTrue:[
+	    parser := Parser
+			    parseMethod:src 
+			    in:aClass 
+			    ignoreErrors:true 
+			    ignoreWarnings:true.
+
+	    (parser notNil and:[parser ~~ #Error]) ifTrue:[
+		aCollectionOfVariablenames removeAllFoundIn:(parser modifiedInstVars).
+		aCollectionOfVariablenames isEmpty ifTrue:[^ self].
+	    ]
+	].
+    ].
+! !
+
+!ClassChecker class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassChecker.st,v 1.17 2012-11-06 17:49:11 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassChecker.st,v 1.17 2012-11-06 17:49:11 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_ClassGeneratorList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,523 @@
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+BrowserList subclass:#ClassGeneratorList
+	instanceVariableNames:'organizerList categoryList namespaceList namespaceNameList
+		projectList selectedCategories selectedNamespaces
+		selectedProjects selectedClasses'
+	classVariableNames:'AdditionalEmptyCategories AdditionalEmptyProjects'
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!ClassGeneratorList class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    embeddable application displaying the class-categories.
+    Provides an outputGenerator, which enumerates the classes in
+    the selected categories.
+
+    [author:]
+	Claus Gittinger (cg@exept.de)
+"
+! !
+
+!ClassGeneratorList class methodsFor:'interface specs'!
+
+windowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:ClassGeneratorList andSelector:#windowSpec
+     ClassGeneratorList new openInterface:#windowSpec
+     ClassGeneratorList open
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+        #name: #windowSpec
+        #window: 
+       #(#WindowSpec
+          #label: 'OrganizerList'
+          #name: 'OrganizerList'
+          #min: #(#Point 0 0)
+          #bounds: #(#Rectangle 12 22 312 322)
+        )
+        #component: 
+       #(#SpecCollection
+          #collection: #(
+           #(#SequenceViewSpec
+              #name: 'List'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #tabable: true
+              #model: #organizerSelection
+              #menu: #menuHolder
+              #hasHorizontalScrollBar: true
+              #hasVerticalScrollBar: true
+              #miniScrollerHorizontal: true
+              #isMultiSelect: true
+              #valueChangeSelector: #selectionChangedByClick
+              #useIndex: true
+              #sequenceList: #organizerList
+              #doubleClickChannel: #doubleClickChannel
+            )
+           )
+         
+        )
+      )
+
+    "Modified: / 18.8.2000 / 20:12:20 / cg"
+! !
+
+!ClassGeneratorList methodsFor:'aspects'!
+
+categoryList
+    categoryList isNil ifTrue:[
+	categoryList := ValueHolder new.
+    ].
+    ^ categoryList
+
+
+!
+
+nameSpaceList
+    namespaceList isNil ifTrue:[
+	namespaceList := ValueHolder new
+    ].
+    ^ namespaceList
+
+    "Created: / 18.2.2000 / 00:59:01 / cg"
+!
+
+projectList
+    projectList isNil ifTrue:[
+	projectList := ValueHolder new
+    ].
+    ^ projectList
+
+    "Created: / 17.2.2000 / 23:39:32 / cg"
+
+!
+
+selectedCategories
+    selectedCategories isNil ifTrue:[
+	selectedCategories := ValueHolder new.
+	selectedCategories addDependent:self
+    ].
+    ^ selectedCategories.
+
+!
+
+selectedCategories:aValueHolder
+    |prevSelection|
+
+    prevSelection := selectedCategories value ? #().
+
+    selectedCategories notNil ifTrue:[
+	selectedCategories removeDependent:self
+    ].
+    selectedCategories := aValueHolder.
+    selectedCategories notNil ifTrue:[
+	selectedCategories addDependent:self
+    ].
+    (selectedCategories value ? #()) ~= prevSelection ifTrue:[
+	"/ update
+	self update:#value with:nil from:selectedCategories
+    ].
+
+
+
+!
+
+selectedClasses
+    "bad name- it's a holder, baby"
+
+    selectedClasses isNil ifTrue:[
+        selectedClasses := ValueHolder new.
+    ].
+    ^ selectedClasses.
+!
+
+selectedClasses:aValueHolder
+"/    selectedClasses notNil ifTrue:[
+"/        selectedClasses removeDependent:self
+"/    ].
+    selectedClasses := aValueHolder.
+"/    selectedClasses notNil ifTrue:[
+"/        selectedClasses addDependent:self
+"/    ].
+!
+
+selectedNamespaces
+    selectedNamespaces isNil ifTrue:[
+	selectedNamespaces := ValueHolder new.
+	selectedNamespaces addDependent:self
+    ].
+    ^ selectedNamespaces.
+
+!
+
+selectedNamespaces:aValueHolder
+    |prevSelection|
+
+    prevSelection := selectedNamespaces value ? #().
+
+    selectedNamespaces notNil ifTrue:[
+	selectedNamespaces removeDependent:self
+    ].
+    selectedNamespaces := aValueHolder.
+    selectedNamespaces notNil ifTrue:[
+	selectedNamespaces addDependent:self
+    ].
+    (selectedNamespaces value ? #()) ~= prevSelection ifTrue:[
+	"/ update
+	self update:#value with:nil from:selectedNamespaces
+    ].
+
+
+
+!
+
+selectedProjects
+    selectedProjects isNil ifTrue:[
+	selectedProjects := ValueHolder new.
+	selectedProjects addDependent:self
+    ].
+    ^ selectedProjects.
+
+!
+
+selectedProjects:aValueHolder
+    |prevSelection|
+
+    prevSelection := selectedProjects value ? #().
+
+    selectedProjects notNil ifTrue:[
+	selectedProjects removeDependent:self
+    ].
+    selectedProjects := aValueHolder.
+    selectedProjects notNil ifTrue:[
+	selectedProjects addDependent:self
+    ].
+    (selectedProjects value ? #()) ~= prevSelection ifTrue:[
+	"/ update
+	self update:#value with:nil from:selectedProjects
+    ].
+
+
+
+! !
+
+!ClassGeneratorList methodsFor:'aspects-private'!
+
+organizerList
+    organizerList isNil ifTrue:[
+	organizerList := ValueHolder new.
+    ].
+    ^ organizerList
+
+
+! !
+
+!ClassGeneratorList methodsFor:'change & update'!
+
+delayedUpdate:something with:aParameter from:changedObject
+    |cls sel pkg mthd orgMode|
+
+    changedObject == Smalltalk ifTrue:[
+        orgMode := organizerMode value.
+
+        orgMode == OrganizerCanvas organizerModeCategory ifTrue:[
+            (something == #organization 
+             or:[something == #newClass]) ifTrue:[
+                self updateList.
+                ^ self
+            ].
+            something == #methodInClass ifTrue:[ ^ self ].
+"/ self halt:'debug halt'.
+            ^ self.
+        ].
+        orgMode == OrganizerCanvas organizerModeNamespace ifTrue:[
+            (something == #newClass 
+            or:[something == #classRemove]) ifTrue:[
+                aParameter isNameSpace ifTrue:[
+                    self updateList
+                ].
+                ^ self
+            ].
+"/ self halt:'debug halt'.
+            ^ self
+        ].
+        orgMode == OrganizerCanvas organizerModeProject ifTrue:[
+            something == #projectOrganization ifTrue:[
+                self updateList.
+                ^ self
+            ].
+            something == #methodInClass ifTrue:[
+                cls := aParameter at:1.
+                sel := aParameter at:2.
+                mthd := cls compiledMethodAt:sel.
+                pkg := mthd package.
+                (projectList value includes:pkg) ifFalse:[
+                    self halt:'debug-halt. remove when known to work'.
+                    self updateList.
+                    ^ self
+                ].
+                ^ self
+            ].
+            (something == #classDefinition
+            or:[something == #newClass]) ifTrue:[
+                cls := aParameter.
+                pkg := cls package.
+                (projectList value includes:pkg) ifFalse:[
+                    self halt:'debug-halt. remove when known to work'.
+                    self updateList.
+                    ^ self
+                ].
+                ^ self
+            ].
+"/    self halt.
+            ^ self
+        ].
+        ^ self
+    ].
+    super delayedUpdate:something with:aParameter from:changedObject
+
+    "Created: / 25.2.2000 / 21:32:03 / cg"
+    "Modified: / 25.2.2000 / 21:35:23 / cg"
+! !
+
+!ClassGeneratorList methodsFor:'private'!
+
+listFromInGenerator
+    |generator theList|
+
+    theList := Set new.
+    generator := inGeneratorHolder value.
+    generator isNil ifTrue:[^ #() ].
+    generator do:[:prj | theList add:prj].
+    theList := theList asOrderedCollection sort.
+    theList addFirst:(self class nameListEntryForALL allItalic).
+    ^ theList
+
+    "Created: / 25.2.2000 / 21:24:26 / cg"
+!
+
+listOfCategories
+    |categories hideUnloadedClasses|
+
+    inGeneratorHolder notNil ifTrue:[
+        ^ self listFromInGenerator
+    ].
+
+    hideUnloadedClasses := self hideUnloadedClasses value.
+
+    categories := Set new.
+    Smalltalk allClassesDo:[:cls |
+        (hideUnloadedClasses not or:[cls isLoaded])
+        ifTrue:[
+            categories add:cls category.
+        ]
+    ].
+
+    "/ those are simulated - in ST/X, empty categories do not
+    "/ really exist; however, during browsing, it makes sense.
+    AdditionalEmptyCategories size > 0 ifTrue:[
+        "/ remove those that are present ...
+        AdditionalEmptyCategories := AdditionalEmptyCategories select:[:cat | (categories includes:cat) not].
+        categories addAll:AdditionalEmptyCategories.
+    ].
+    categories := categories asOrderedCollection.
+    categories sort.
+    categories addFirst:(self class nameListEntryForALL allItalic).
+    ^ categories
+
+    "Created: / 5.2.2000 / 13:42:12 / cg"
+    "Modified: / 25.2.2000 / 21:26:04 / cg"
+!
+
+listOfNamespaces
+    |allNamespaces showAllNamespaces|
+
+    inGeneratorHolder notNil ifTrue:[
+        ^ self listFromInGenerator
+    ].
+
+showAllNamespaces := true.
+
+    allNamespaces := IdentitySet new.
+
+    (self hideUnloadedClasses value) ifTrue:[
+        Smalltalk allClassesDo:[:eachClass |
+            eachClass isLoaded ifTrue:[
+                allNamespaces add:(eachClass theNonMetaclass topNameSpace)
+            ].
+        ]
+    ] ifFalse:[
+        allNamespaces := NameSpace allNameSpaces.
+    ].
+
+    showAllNamespaces ifFalse:[
+        "/ only topLevel namespaces are shown
+        "/ i.e. ignore subspaces 
+
+        allNamespaces := allNamespaces select:[:ns | ns isTopLevelNameSpace].
+    ].
+    allNamespaces := allNamespaces collect:[:ns | ns name].
+    allNamespaces := allNamespaces asOrderedCollection.
+    allNamespaces sort.
+    allNamespaces addFirst:(self class nameListEntryForALL allItalic).
+    ^ allNamespaces
+
+    "Created: / 25.2.2000 / 21:21:14 / cg"
+    "Modified: / 25.2.2000 / 21:26:41 / cg"
+!
+
+listOfProjects
+    |allProjects|
+
+    inGeneratorHolder notNil ifTrue:[
+        ^ self listFromInGenerator
+    ].
+
+    allProjects := IdentitySet new.
+
+    (self hideUnloadedClasses value) ifTrue:[
+        allProjects := Smalltalk allLoadedProjectIDs.
+    ] ifFalse:[
+        allProjects := Smalltalk allProjectIDs.
+    ].
+
+    "/ those are simulated - in ST/X, empty projects do not
+    "/ really exist; however, during browsing, it makes sense.
+    AdditionalEmptyProjects size > 0 ifTrue:[
+        "/ remove those that are present ...
+        AdditionalEmptyProjects := AdditionalEmptyProjects select:[:pkg | (allProjects includes:pkg) not].
+        allProjects addAll:AdditionalEmptyProjects.
+    ].
+    allProjects sort.
+    allProjects addFirst:(self class nameListEntryForALL allItalic).
+    ^ allProjects
+
+    "Created: / 25.2.2000 / 21:22:06 / cg"
+    "Modified: / 25.2.2000 / 21:27:27 / cg"
+!
+
+makeDependent
+    Smalltalk addDependent:self
+
+!
+
+makeIndependent
+    Smalltalk removeDependent:self.
+
+!
+
+release
+    super release.
+
+    selectedCategories removeDependent:self.
+    selectedNamespaces removeDependent:self.
+    selectedProjects removeDependent:self.
+!
+
+updateCategoryList
+    |newList|
+
+    newList := self listOfCategories.
+    newList ~= self categoryList value ifTrue:[
+	categoryList value:newList.
+	self organizerList value:newList.
+    ].
+
+    "Created: / 25.2.2000 / 21:12:32 / cg"
+!
+
+updateList
+    |orgMode|
+
+    orgMode := self organizerMode value.
+    orgMode == OrganizerCanvas organizerModeCategory ifTrue:[
+        self updateCategoryList.
+        ^ self
+    ].
+    orgMode == OrganizerCanvas organizerModeProject ifTrue:[
+        self updateProjectList.
+        ^ self
+    ].
+    orgMode == OrganizerCanvas organizerModeNamespace ifTrue:[
+        self updateNamespaceList.
+        ^ self
+    ].
+    self halt:'unexpected value'.
+
+    "Created: / 5.2.2000 / 13:42:13 / cg"
+    "Modified: / 25.2.2000 / 21:14:19 / cg"
+!
+
+updateNamespaceList
+    |newList|
+
+    newList := self listOfNamespaces.
+    newList ~= self nameSpaceList value ifTrue:[
+	namespaceList value:newList.
+	self organizerList value:newList.
+    ].
+
+    "Created: / 25.2.2000 / 21:13:16 / cg"
+!
+
+updateProjectList
+    |newList|
+
+    newList := self listOfProjects.
+    newList ~= self projectList value ifTrue:[
+	projectList value:newList.
+	self organizerList value:newList.
+    ].
+
+    "Created: / 25.2.2000 / 21:12:57 / cg"
+! !
+
+!ClassGeneratorList class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassGeneratorList.st,v 1.12 2012-11-03 11:29:20 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassGeneratorList.st,v 1.12 2012-11-03 11:29:20 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_ClassList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,2024 @@
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+BrowserList subclass:#ClassList
+	instanceVariableNames:'classList classNameList meta lastSelectedClasses
+		selectedClassNameIndices currentNamespace hidePrivateClasses
+		unloadedClassesColor markApplicationsHolder classFilterBlock
+		sortByNameAndInheritance outGeneratorHolderForMethods'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!ClassList class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    embeddable application displaying the classes as listed by
+    the inputGenerator.
+    Provides an outputGenerator, which enumerates the classes and
+    their protocols (method-categories) in the selected classes.
+
+    [author:]
+	Claus Gittinger (cg@exept.de)
+"
+
+
+! !
+
+!ClassList class methodsFor:'interface specs'!
+
+singleClassWindowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:ClassList andSelector:#singleClassWindowSpec
+     ClassList new openInterface:#singleClassWindowSpec
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+	#name: #windowSpec
+	#window: 
+       #(#WindowSpec
+	  #label: 'ClassList'
+	  #name: 'ClassList'
+	  #min: #(#Point 0 0)
+	  #max: #(#Point 1024 721)
+	  #bounds: #(#Rectangle 12 22 312 322)
+	)
+	#component: 
+       #(#SpecCollection
+	  #collection: #(
+	   #(#LabelSpec
+	      #label: 'ClassName'
+	      #name: 'ClassLabel'
+	      #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
+	      #translateLabel: true
+	      #labelChannel: #classLabelHolder
+	      #menu: #menuHolder
+	    )
+"/           #(#UISubSpecification
+"/              #name: 'MetaToggleSpec'
+"/              #layout: #(#LayoutFrame 0 0.0 -25 1.0 0 1.0 0 1.0)
+"/              #minorKey: #metaSpec
+"/            )
+	   )
+         
+	)
+      )
+!
+
+windowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:ClassList andSelector:#windowSpec
+     ClassList new openInterface:#windowSpec
+     ClassList open
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+        #name: #windowSpec
+        #window: 
+       #(#WindowSpec
+          #label: 'ClassList'
+          #name: 'ClassList'
+          #min: #(#Point 0 0)
+          #bounds: #(#Rectangle 16 46 316 346)
+        )
+        #component: 
+       #(#SpecCollection
+          #collection: #(
+           #(#SequenceViewSpec
+              #name: 'List'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #tabable: true
+              #model: #selectedClassNameIndices
+              #menu: #menuHolder
+              #hasHorizontalScrollBar: true
+              #hasVerticalScrollBar: true
+              #miniScrollerHorizontal: true
+              #isMultiSelect: true
+              #valueChangeSelector: #selectionChangedByClick
+              #useIndex: true
+              #sequenceList: #classNameList
+              #doubleClickChannel: #doubleClickChannel
+              #properties: 
+             #(#PropertyListDictionary
+                #dragArgument: nil
+                #dropArgument: nil
+                #canDropSelector: #canDropContext:
+                #dropSelector: #doDropContext:
+              )
+            )
+           )
+         
+        )
+      )
+! !
+
+!ClassList class methodsFor:'plugIn spec'!
+
+aspectSelectors
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this. If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "Return a description of exported aspects;
+     these can be connected to aspects of an embedding application
+     (if this app is embedded in a subCanvas)."
+
+    ^ #(
+        #currentNamespace
+        #(#doubleClickChannel #action )
+        #forceGeneratorTrigger
+        #hidePrivateClasses
+        #hideUnloadedClasses
+        #sortByNameAndInheritance
+        #immediateUpdate
+        #inGeneratorHolder
+        #menuHolder
+        #meta
+        #organizerMode
+        #outGeneratorHolder
+        #packageFilter
+        #nameSpaceFilter
+        #selectedClasses
+        #selectionChangeCondition
+        #showClassPackages
+        #slaveMode
+        #updateTrigger
+        #markApplicationsHolder
+        #showCoverageInformation
+        #outGeneratorHolderForMethods
+      ).
+
+    "Modified: / 04-07-2011 / 18:34:44 / cg"
+    "Modified: / 07-08-2011 / 19:02:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ClassList methodsFor:'accessing'!
+
+markApplications
+    "return the value of the instance variable 'markApplications' (automatically generated)"
+
+    ^ self markApplicationsHolder value
+
+    "Created: / 3.11.2001 / 14:06:19 / cg"
+!
+
+markApplications:something
+    "set the value of the instance variable 'markApplications' (automatically generated)"
+
+    self markApplicationsHolder value:something.
+
+    "Created: / 3.11.2001 / 14:06:25 / cg"
+!
+
+unloadedClassesColor
+    "return the value of the instance variable 'unloadedClassesColor' (automatically generated)"
+
+    ^ unloadedClassesColor
+!
+
+unloadedClassesColor:something
+    "set the value of the instance variable 'unloadedClassesColor' (automatically generated)"
+
+    unloadedClassesColor := something.
+! !
+
+!ClassList methodsFor:'aspects'!
+
+classLabelHolder
+    ^ self pseudoListLabelHolder
+!
+
+classList
+    classList isNil ifTrue:[
+	classList := ValueHolder new.
+    ].
+    ^ classList
+
+    "Created: / 5.2.2000 / 13:42:16 / cg"
+    "Modified: / 25.2.2000 / 02:21:07 / cg"
+!
+
+classNameList
+    classNameList isNil ifTrue:[
+	classNameList := ValueHolder new
+    ].
+    ^ classNameList
+!
+
+currentNamespace:aValueHolder
+    currentNamespace notNil ifTrue:[
+	currentNamespace removeDependent:self
+    ].
+    currentNamespace := aValueHolder.
+    currentNamespace notNil ifTrue:[
+	currentNamespace isBehavior ifTrue:[self halt:'should not happen'].
+	currentNamespace addDependent:self
+    ].
+
+    "Modified: / 4.2.2000 / 23:34:28 / cg"
+    "Created: / 5.2.2000 / 21:37:57 / cg"
+!
+
+doubleClick
+    self halt:'should not happen'.
+!
+
+hidePrivateClasses
+    hidePrivateClasses isNil ifTrue:[
+	hidePrivateClasses := false asValue.
+	hidePrivateClasses addDependent:self.
+    ].
+    ^ hidePrivateClasses.
+
+    "Created: / 24.2.2000 / 15:06:44 / cg"
+!
+
+hidePrivateClasses:aValueHolder
+    hidePrivateClasses notNil ifTrue:[
+	hidePrivateClasses removeDependent:self
+    ].
+    hidePrivateClasses := aValueHolder.
+    hidePrivateClasses notNil ifTrue:[
+	hidePrivateClasses addDependent:self
+    ].
+
+    "Created: / 24.2.2000 / 15:06:46 / cg"
+!
+
+markApplicationsHolder
+    markApplicationsHolder isNil ifTrue:[
+	markApplicationsHolder := true asValue.
+	markApplicationsHolder addDependent:self.
+    ].
+    ^ markApplicationsHolder.
+!
+
+markApplicationsHolder:aValueHolder
+    markApplicationsHolder notNil ifTrue:[
+	markApplicationsHolder removeDependent:self
+    ].
+    markApplicationsHolder := aValueHolder.
+    markApplicationsHolder notNil ifTrue:[
+	markApplicationsHolder addDependent:self
+    ].
+
+    "Created: / 24.2.2000 / 15:06:46 / cg"
+!
+
+meta
+    meta isNil ifTrue:[
+	meta := false asValue.
+	meta addDependent:self
+    ].
+    ^ meta
+
+    "Modified: / 31.1.2000 / 01:19:59 / cg"
+    "Created: / 5.2.2000 / 13:42:16 / cg"
+!
+
+meta:aValueHolder
+"/ (aValueHolder == true or:[aValueHolder == false]) ifTrue:[self halt].
+
+    meta notNil ifTrue:[
+	meta removeDependent:self
+    ].
+    meta := aValueHolder.
+    meta notNil ifTrue:[
+	meta addDependent:self
+    ].
+!
+
+selectClass:aClass
+    self selectedClasses value:(Array with:aClass)
+!
+
+selectedClassNameIndices
+    selectedClassNameIndices isNil ifTrue:[
+	selectedClassNameIndices := #() asValue.
+	selectedClassNameIndices addDependent:self
+    ].
+    ^ selectedClassNameIndices.
+
+    "Created: / 5.2.2000 / 21:31:48 / cg"
+    "Modified: / 5.2.2000 / 21:43:02 / cg"
+!
+
+selectedClasses
+    "bad name- it's a holder, baby"
+
+    ^ self selectionHolder
+!
+
+selectedClasses:aValueHolder
+    "bad name- its a holder, baby"
+
+    ^ self selectionHolder:aValueHolder
+!
+
+showClassPackages
+    showClassPackages isNil ifTrue:[
+	showClassPackages := false asValue.
+	showClassPackages addDependent:self.
+    ].
+    ^ showClassPackages.
+
+    "Created: / 24.2.2000 / 15:06:44 / cg"
+!
+
+showClassPackages:aValueHolder
+    showClassPackages notNil ifTrue:[
+	showClassPackages removeDependent:self
+    ].
+    showClassPackages := aValueHolder.
+    showClassPackages notNil ifTrue:[
+	showClassPackages addDependent:self
+    ].
+!
+
+sortByNameAndInheritance
+    sortByNameAndInheritance isNil ifTrue:[
+        sortByNameAndInheritance := false asValue.
+        sortByNameAndInheritance addDependent:self.
+    ].
+    ^ sortByNameAndInheritance.
+
+    "Created: / 04-07-2011 / 18:28:15 / cg"
+!
+
+sortByNameAndInheritance:aValueHolder
+    sortByNameAndInheritance notNil ifTrue:[
+        sortByNameAndInheritance removeDependent:self
+    ].
+    sortByNameAndInheritance := aValueHolder.
+    sortByNameAndInheritance notNil ifTrue:[
+        sortByNameAndInheritance addDependent:self
+    ].
+
+    "Created: / 04-07-2011 / 18:33:43 / cg"
+! !
+
+!ClassList methodsFor:'change & update'!
+
+classDefinitionChanged:aClassOrNil
+
+    listValid ifFalse:[^ self].
+
+    slaveMode value == true ifTrue:[
+	self invalidateList.
+	^ self.
+    ].
+    self slaveMode value isNil ifTrue:[
+	self window shown ifFalse:[
+	    self invalidateList.
+	    ^ self
+	].
+    ].
+
+    aClassOrNil isNil ifTrue:[
+	self halt:'should not happen'.
+    ].
+
+    "/ if that class is in my list ...
+    ((self classList value ? #()) contains:[:cls | cls notNil and:[cls theNonMetaclass name = aClassOrNil theNonMetaclass name]])
+    ifTrue:[
+	self updateListsFor:aClassOrNil.
+	"/ force update
+	self selectedClassNameIndices value:(self selectedClassNameIndices value).
+
+	((self selectedClasses value ? #()) contains:[:cls | cls notNil ifTrue:[cls theNonMetaclass name = aClassOrNil theNonMetaclass name] ifFalse:[false]]) 
+	ifTrue:[
+	    self updateOutputGenerator
+	].
+    ] ifFalse:[
+	self invalidateList
+    ]
+
+
+    "Modified: / 29.2.2000 / 00:15:23 / cg"
+!
+
+classRemoved:aClass
+    |list|
+
+    list := self classList value.
+    list notNil ifTrue:[
+	(list includesIdentical:aClass) ifTrue:[
+	    self invalidateList.
+	]
+    ]
+
+    "Modified: / 25.2.2000 / 23:53:51 / cg"
+!
+
+delayedUpdate:something with:aParameter from:changedObject
+    |cls classes chgClass wg savedList|
+
+    classes := self classList value ? #().
+
+"/    (self slaveMode value == true) ifTrue:[^ self].
+"/    self slaveMode value isNil ifTrue:[
+"/        self window shown ifFalse:[
+"/            self invalidateList.
+"/            ^ self
+"/        ].
+"/    ].
+
+    changedObject == slaveMode ifTrue:[
+        "/ a previously suppressed update is now due
+        listValid ~~ true ifTrue:[
+            self enqueueDelayedUpdateList.
+        ].
+        self enqueueDelayedClassSelectionChanged.
+        ^  self
+    ].
+
+    changedObject == self selectedClasses ifTrue:[
+        self inSlaveMode ifFalse:[
+            savedList := self selectedClasses value.
+            lastSelectedClasses := nil.
+            listValid == true ifFalse:[
+                self updateList
+            ].
+            self selectedClasses setValue:savedList.
+            self selectedClassesChanged.
+            self updateOutputGenerator.
+        ] ifTrue:[
+"/            listValid := false.
+            self selectedClassesChanged.
+        ].
+        ^ self 
+    ].
+
+    (changedObject == meta 
+    or:[changedObject == selectedClassNameIndices]) ifTrue:[
+        self inSlaveMode ifFalse:[
+            self selectionChanged.
+        ] ifTrue:[
+            listValid := false.
+            self selectedClassesChanged.
+        ].
+        ^ self
+    ].
+
+    self inSlaveModeOrInvisible ifTrue:[
+        self invalidateList.
+        ^ self.
+    ].
+
+    changedObject == Smalltalk ifTrue:[
+        something == #methodInClass ifTrue:[
+            ^ self "no interest" 
+        ].    
+        something == #methodInClassRemoved ifTrue:[
+            "/ must update the list, if the methods package is different from
+            "/ the classes package (to undo any has-exension highlighting)
+            cls := aParameter first.
+            self updateListsFor:cls.
+            ^ self 
+        ].    
+        something == #organization ifTrue:[^ self "no interest" ].    
+
+        (something == #classDefinition 
+        or:[something == #classVariables
+        or:[something == #newClass]]) ifTrue:[
+            "/ update that class in my classList and the selection
+            listValid ifTrue:[
+                self classDefinitionChanged:aParameter.
+            ].
+            ^ self.
+        ].
+        (something == #lastTestRunResult) ifTrue:[
+            "/ update that class in my classList and the selection
+            listValid ifTrue:[
+                self updateListsFor:aParameter.
+                "/ self classDefinitionChanged:aParameter.
+            ].
+            ^ self.
+        ].
+        something == #classRemove ifTrue:[
+            "/ update my classList and the selection
+            self classRemoved:aParameter.
+            ^ self.
+        ].
+        something == #classRename ifTrue:[
+            "/ update that class in my classList and the selection
+            listValid ifTrue:[
+                aParameter isArray ifTrue:[
+                    cls := aParameter at:1.
+                    self classDefinitionChanged:cls.
+                ]
+            ].
+            ^ self.
+        ].
+
+        something == #projectOrganization ifTrue:[
+            aParameter isNil ifTrue:[
+                self invalidateList.
+                organizerMode value == #project ifTrue:[
+                    self enqueueDelayedUpdateOutputGenerator.
+                ].
+                ^ self
+            ].
+
+            cls := aParameter at:1.
+            cls notNil ifTrue:[  "/ should not happen (but does occasionally)
+                ((classes includes:cls theMetaclass)
+                or:[(classes includes:cls theNonMetaclass)]) ifTrue:[
+                    self invalidateList.
+                    organizerMode value == #project ifTrue:[
+                        self enqueueDelayedUpdateOutputGenerator.
+                    ]
+                ].
+            ].
+            ^ self
+        ].
+        ^ self.
+    ].
+
+    (something == #lastTestRunResult) ifTrue:[
+        ^ self
+    ].
+
+    changedObject == ChangeSet ifTrue:[
+        wg := self windowGroup.
+        wg isNil ifTrue:[
+            changedObject removeDependent:self.
+        ] ifFalse:[
+            "/ react on changes of the changeSet to recolorize items
+            ((something ~~ #addChange:)
+                or:[ 
+                    chgClass := aParameter changeClass.
+                    chgClass notNil 
+                    and:[ (classes includes:chgClass theNonMetaclass) 
+                          or:[classes includes:chgClass theMetaclass]]
+                ]
+            ) ifTrue:[
+                wg sensor 
+                    flushEventsFor:self 
+                    where:[:ev | ev isMessageSendEvent 
+                                 and:[ev selector == #delayedUpdate:with:from:
+                                 and:[(ev arguments at:3) == ChangeSet]]].
+                self enqueueDelayedAction:[self reconstructNameList].
+            ].
+        ].
+        ^ self 
+    ].
+
+    changedObject == showClassPackages ifTrue:[
+        self classNameList value:nil.
+        self invalidateList.
+        ^ self 
+    ].
+
+    (changedObject == hideUnloadedClasses
+    or:[changedObject == hidePrivateClasses
+    or:[changedObject == nameSpaceFilter
+    or:[changedObject == packageFilter]]]) ifTrue:[
+        self invalidateList.
+        ^ self 
+    ].
+
+    super delayedUpdate:something with:aParameter from:changedObject
+
+    "Modified: / 13.11.2001 / 11:32:10 / cg"
+!
+
+enqueueDelayedClassSelectionChanged
+    (NewSystemBrowser synchronousUpdate == true
+    or:[ immediateUpdate value == true ])
+    ifTrue:[
+        self selectedClassesChanged.
+        ^ self.
+    ].
+
+    self enqueueMessage:#selectedClassesChanged for:self arguments:#()
+!
+
+getSelectedClassIndicesFromClasses
+    "the class selection has changed;
+     return a collection of selection-indices"
+
+    |classes selectedClasses numSelected|
+
+    classes := self classList value.
+    selectedClasses := self selectedClasses value.
+
+    numSelected := selectedClasses size.
+    numSelected == 0 ifTrue:[
+	^ #()
+    ].
+
+    numSelected == classes size ifTrue:[
+	"/ all selected - easy
+	^ (1 to:numSelected) asOrderedCollection
+    ].
+    meta value ifTrue:[
+	classes := classes collect:[:eachClass | eachClass theMetaclass].
+    ].
+
+    classes := selectedClasses collect:[:aSelectedClass | classes identityIndexOf:aSelectedClass.].
+    classes := classes select:[:idx | idx ~= 0].
+    ^ classes
+
+    "Created: / 24.2.2000 / 19:47:52 / cg"
+!
+
+getSelectedClassesFromIndices
+    "the selection-index collection has changed;
+     return a collection of corresponding classes"
+
+    |selected classes allEntrySelected isMeta anyLost selectedClassNameIndices|
+
+    allEntrySelected := false.
+
+    classes := classList value.
+    classes isNil ifTrue:[
+        self updateList.
+        classes := classList value.
+    ].
+
+    isMeta := meta value.
+    anyLost := false.
+
+    selectedClassNameIndices := self selectedClassNameIndices value.
+    selectedClassNameIndices size == classes size ifTrue:[
+        selectedClassNameIndices size == 0 ifTrue:[^ #()].
+        isMeta ifTrue:[
+            ^ classes collect:[:eachClass | eachClass theMetaclass].
+        ].
+        ^ classes collect:[:eachClass | eachClass theNonMetaclass].
+    ].
+
+    selected := selectedClassNameIndices 
+                    collect:[:idx |
+                                |cls|
+
+                                cls := classes at:idx.
+                                cls == (self class nameListEntryForALL) ifTrue:[
+                                    allEntrySelected := true.
+                                ] ifFalse:[
+                                    cls notNil ifTrue:[
+                                        isMeta ifTrue:[
+                                            cls := cls theMetaclass
+                                        ] ifFalse:[
+                                            cls := cls theNonMetaclass
+                                        ].
+                                    ] ifFalse:[
+                                        anyLost := true
+                                    ].
+                                ].
+                                cls
+                            ].
+    anyLost ifTrue:[
+        selected := selected select:[:each | each notNil].
+    ].
+
+"/    allEntrySelected ifTrue:[
+"/        selected := classList value select:[:cls | cls ~~ AllEntry].
+"/        meta value ifTrue:[
+"/            selected := selected collect:[:cls | cls theMetaclass].
+"/        ] ifFalse:[
+"/            selected := selected collect:[:cls | cls theNonMetaclass].
+"/        ].
+"/    ].
+
+    ^ selected.
+
+    "Created: / 24.2.2000 / 19:43:37 / cg"
+!
+
+selectedClassesChanged
+    |indices selectedClassNameIndicesHolder|
+
+    self classList value size == 0 ifTrue:[
+	"/ this may happen during early startup, 
+	"/ when invoked with a preset classSelection,
+	"/ and the classGenerator has not yet been setup
+	"/ to not clobber the selection, defer the update
+	"/ until the classList arrives ...
+	^ self
+    ].
+    "/ lastSelectedClasses := self selectedClasses value copy.
+
+    indices := self getSelectedClassIndicesFromClasses. 
+    selectedClassNameIndicesHolder := self selectedClassNameIndices.
+    selectedClassNameIndicesHolder value ~= indices ifTrue:[
+	"/ in slaveMode, do not update selectedClasses from indices
+	true "slaveMode value" ifTrue:[
+	    selectedClassNameIndicesHolder value:indices withoutNotifying:self
+	] ifFalse:[
+	    selectedClassNameIndicesHolder value:indices.
+	]
+    ]
+
+    "Created: / 13.2.2000 / 22:18:10 / cg"
+    "Modified: / 24.2.2000 / 19:48:56 / cg"
+!
+
+selectionChanged
+    "the lists selection has changed. Since the list uses indices,
+     update the corresponding selectedClasses collection"
+
+    |selected prevSelection selectedClassesHolder|
+
+    selectedClassesHolder := self selectedClasses.
+
+    selected := self getSelectedClassesFromIndices.
+
+    prevSelection := selectedClassesHolder value ? #().
+
+    prevSelection ~= selected ifTrue:[
+        selectedClassesHolder value:selected.
+    ].
+!
+
+selectionChangedByClick
+    "we are not interested in that - get another notification
+     via the changed valueHolder"
+
+    |selected master|
+
+    selected := self getSelectedClassesFromIndices.
+    (selected = lastSelectedClasses and:[selected size == 1])
+    ifTrue:[
+	"/ thats a kludge - we want to turn off the protocol selection,
+	"/ when a class is reselected.
+
+	masterApplication notNil ifTrue:[
+	    master := masterApplication.
+	    masterApplication masterApplication notNil ifTrue:[
+		master := masterApplication masterApplication.
+	    ].
+	    (master respondsTo:#classReselected) ifTrue:[
+		master classReselected.
+	    ].
+	] 
+    ] ifFalse:[
+	lastSelectedClasses := selected copy.
+    ]
+!
+
+update:something with:aParameter from:changedObject
+    |cls sel mthd newMethod oldMethod idx classListValue|
+
+    self inSlaveMode ifTrue:[
+        something == #methodInClass ifTrue:[ ^ self ].
+        something == #addChange:    ifTrue:[ self invalidateList. ^ self ].
+        something == #methodCoverageInfo ifTrue:[ self invalidateList. ^ self ].
+    ].
+"/    self window sensor isNil ifTrue:[
+"/        "/ not visible ...
+"/        self invalidateList.
+"/        ^ self
+"/    ].
+
+    classListValue := classList value.
+
+    changedObject == Smalltalk ifTrue:[
+        something == #classComment ifTrue:[
+            ^ self.
+        ].
+        something == #methodDictionary ifTrue:[
+            ^ self 
+        ].
+        something == #methodTrap ifTrue:[
+            ^ self
+        ].
+        something == #coverageInfo ifTrue:[
+            listValid == true ifTrue:[
+                self enqueueDelayedUpdateList
+            ].
+            ^ self.
+        ].
+        something == #methodCoverageInfo ifTrue:[
+            listValid == true ifTrue:[
+                mthd := aParameter.
+                cls := mthd mclass.
+                cls notNil ifTrue:[
+                    classListValue size > 0 ifTrue:[
+                        ((classListValue includesIdentical:cls theNonMetaclass)
+                        or:[(classListValue includesIdentical:cls theMetaclass)]) ifTrue:[
+                            self enqueueDelayedUpdateList
+                        ]
+                    ]
+                ].
+            ].
+            ^ self
+        ].
+        something == #lastTestRunResult ifTrue:[
+            cls := aParameter at:1.
+            sel := aParameter at:2.
+            (cls notNil and:[sel isNil]) ifTrue:[
+                classListValue size > 0 ifTrue:[
+                    ((classListValue includesIdentical:cls theNonMetaclass)
+                    or:[(classListValue includesIdentical:cls theMetaclass)]) ifTrue:[
+                        self enqueueDelayedUpdateList
+                    ]
+                ]
+            ].
+            ^ self
+        ].
+
+        something == #methodInClassRemoved ifTrue:[
+            self inSlaveMode ifFalse:[
+                cls := aParameter at:1.
+                cls notNil ifTrue:[
+                    classListValue size > 0 ifTrue:[
+                        ((classListValue includesIdentical:cls theNonMetaclass)
+                        or:[(classListValue includesIdentical:cls theMetaclass)]) ifTrue:[
+                            self enqueueDelayedUpdateList
+                        ]
+                    ]
+                ].
+            ].
+            ^ self
+        ].
+
+        something == #methodInClass ifTrue:[
+            cls := aParameter at:1.
+            cls notNil ifTrue:[
+                classListValue size > 0 ifTrue:[
+                    ((classListValue includesIdentical:cls theNonMetaclass)
+                    or:[(classListValue includesIdentical:cls theMetaclass)]) ifTrue:[
+                        newMethod := cls compiledMethodAt:(aParameter at:2).
+                        oldMethod := aParameter at:3.
+                        ((oldMethod isNil
+                            and:[newMethod package ~= cls package])
+                        or:[oldMethod notNil
+                            and:[newMethod package ~= oldMethod package]])
+                        ifTrue:[
+                            "/ must update the list (for the package-info)
+                            self enqueueDelayedUpdateList
+                        ]
+                    ]
+                ]
+            ].
+            ^ self
+        ].
+
+        "/ kludge: must be careful if my inGenerator is a constant list.
+        "/ in that case, I have to update it 
+        "/ (sigh - all a consequence of not #becoming the new class)
+        ((something == #classDefinition) or:[something == #newClass]) ifTrue:[
+            inGeneratorHolder value isOrderedCollection ifTrue:[
+                idx := inGeneratorHolder value findFirst:[:eachClass | eachClass name = aParameter theNonMetaclass name].
+                idx ~~ 0 ifTrue:[
+                    inGeneratorHolder value at:idx put:aParameter.
+                    self updateListsFor:aParameter.
+                    "/ self enqueueDelayedUpdateList.
+                ]
+            ] ifFalse:[
+                classListValue size > 0 ifTrue:[
+                    idx := classListValue findFirst:[:eachClass | eachClass name = aParameter theNonMetaclass name].
+                    idx ~~ 0 ifTrue:[
+                        listValid ifTrue:[
+                            self classDefinitionChanged:aParameter.
+                            ^ self.
+                        ]
+                    ]
+                ].
+            ].
+        ].
+    ].
+
+    changedObject == sortByNameAndInheritance ifTrue:[
+        self invalidateList.
+        ^ self.
+    ].
+
+    super update:something with:aParameter from:changedObject
+
+    "Modified: / 05-06-2012 / 23:39:34 / cg"
+! !
+
+!ClassList methodsFor:'drag & drop'!
+
+canDropContext:aDropContext
+    |objects|
+
+    objects := aDropContext dropObjects collect:[:obj | obj theObject].
+    (objects conform:[:anObject | anObject isMethod]) ifTrue:[
+        |methods cls|
+
+        methods := objects.
+        cls := self classAtTargetPointOf:aDropContext.
+        cls isNil ifTrue:[^ false].
+
+        ^ methods contains:[:aMethod | aMethod mclass ~= cls]
+    ].
+    (self objectsAreClassFiles:objects) ifTrue:[^ true].
+    ^ false.
+
+    "Modified: / 17-10-2006 / 18:26:07 / cg"
+!
+
+classAtTargetPointOf:aDropContext
+    |p classListView lineNr cls|
+
+    p := aDropContext targetPoint.
+
+    classListView := aDropContext targetWidget.
+
+    lineNr := classListView lineAtY:p y.
+    lineNr isNil ifTrue:[^ nil].
+
+    cls := classList value at:lineNr.
+    ^ cls
+!
+
+doDropContext:aDropContext
+    |objects browser|
+
+    browser := self masterApplication.
+
+    objects := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
+    (objects conform:[:something | something isMethod]) ifTrue:[
+        |cls methods|
+
+        methods := objects.
+        cls := self classAtTargetPointOf:aDropContext.
+        methods first mclass isMeta ifTrue:[
+            cls := cls theMetaclass
+        ].
+
+        cls notNil ifTrue:[
+            methods := methods reject:[:mthd | mthd mclass theNonMetaclass == cls theNonMetaclass].
+            methods notEmpty ifTrue:[
+                aDropContext dragType == DropContext dragTypeCopy ifTrue:[
+                    browser copyMethods:methods toClass:cls.
+                ] ifFalse:[
+                    browser moveMethods:methods toClass:cls.
+                ].
+            ]
+        ].
+        ^ self
+    ].
+    (objects conform:[:something | something isFilename]) ifTrue:[
+        self dropClassFiles:objects.
+        ^ self
+    ].
+
+    "Modified: / 21-10-2006 / 20:39:55 / cg"
+! !
+
+!ClassList methodsFor:'generators'!
+
+makeGenerator
+    "return a generator which enumerates the method categories from the selected class;
+     that generator generates 2-element elements (includes the class), in order
+     to make the consumers only depend on one input (i.e. no need for another
+     classHolder in the methodList)."
+
+    ^ Iterator 
+        on:[:whatToDo |
+                |allEntry classes cls already anyMethod packages classIsInPackage showChanged changedClasses|
+
+                allEntry := self class nameListEntryForALL.
+                changedClasses := ChangeSet current changedClasses.
+
+                classes := self selectedClasses value ? #().
+                packages := packageFilter value value.
+                (packages notNil and:[packages includes:allEntry]) ifTrue:[packages := nil].
+                showChanged := packages notNil and:[packages includes:NavigatorModel nameListEntryForChanged].
+
+                classes do:[:cls |
+                    (cls notNil and:[cls ~~ allEntry]) ifTrue:[
+                        anyMethod := false.
+                        classIsInPackage := packages isNil 
+                                            or:[(packages includes:cls package)
+                                            or:[ showChanged and:[changedClasses includes:cls]] ].
+
+                        cls theNonMetaclass isJavaClass ifTrue:[
+                            cls isMeta ifTrue:[
+                                whatToDo value:cls theNonMetaclass value:(self class nameListEntryForStatic).
+                            ] ifFalse:[
+                                whatToDo value:cls value:(self class nameListEntryForNonStatic).
+                            ]
+                        ] ifFalse:[
+                            cls supportsMethodCategories ifTrue:[
+                                already := Set new.
+                                cls methodDictionary keysAndValuesDo:[:sel :mthd |
+                                    |cat|
+
+                                    cat := mthd category.
+                                    (already includes:cat) ifFalse:[
+                                        (classIsInPackage
+                                        or:[packages isNil
+                                        or:[packages includes:mthd package]])
+                                        ifTrue:[
+                                            already add:cat.
+                                            whatToDo value:cls value:cat.
+                                        ]
+                                    ]
+                                ].
+                            ] ifFalse:[
+                                whatToDo value:cls value:(self class nameListEntryForNILCategory).
+                            ].
+                        ].
+
+                        anyMethod ifFalse:[
+                            "/ tell the one below, which classes are seen here,
+                            "/ (even if no method is present)
+                            "/ to allow him to decide if the className is to be shown in the list
+                            whatToDo value:cls value:nil.
+                        ].
+                    ].
+                ].
+          ]
+
+    "Modified: / 24.2.2000 / 23:18:26 / cg"
+!
+
+makeGeneratorForMethods
+
+    ^ Iterator 
+        on:[:whatToDo |
+                |allEntry classes cls already packages classIsInPackage showChanged cat |
+
+                allEntry := self class nameListEntryForALL.
+
+                classes := self selectedClasses value ? #().
+                packages := packageFilter value value.
+                (packages notNil and:[packages includes:allEntry]) ifTrue:[packages := nil].
+                showChanged := packages notNil and:[packages includes:NavigatorModel nameListEntryForChanged].
+
+                classes do:[:cls |
+                    (cls notNil and:[cls ~~ allEntry]) ifTrue:[
+                        classIsInPackage := packages isNil 
+                                            or:[(packages includes:cls package)
+                                            or:[ showChanged and:[ChangeSet current changedClasses includes:cls]] ].
+                        cls isMeta ifTrue:[
+                            cat := self class nameListEntryForStatic.
+                        ] ifFalse:[
+                            cat := self class nameListEntryForNonStatic.
+                        ].
+                        cls methodDictionary keysAndValuesDo:[:sel :mthd |
+                            whatToDo value:cls value:cat value:sel value:mthd.
+                        ].                            
+
+                    ].
+                ].
+          ]
+
+    "Modified: / 24-02-2000 / 23:18:26 / cg"
+    "Created: / 07-08-2011 / 19:01:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+outGeneratorHolderForMethods
+    ^ outGeneratorHolderForMethods
+!
+
+outGeneratorHolderForMethods:something
+    outGeneratorHolderForMethods := something.
+!
+
+updateOutputGenerator
+    "create a generator which enumerates my elements, 
+     and place it into the outputGenerator holder"
+
+    super updateOutputGenerator.
+    outGeneratorHolderForMethods notNil ifTrue:[
+        outGeneratorHolderForMethods value: self makeGeneratorForMethods.
+    ].
+
+    "Modified: / 04-02-2000 / 17:16:34 / cg"
+    "Created: / 05-02-2000 / 13:42:08 / cg"
+    "Created: / 07-08-2011 / 18:51:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ClassList methodsFor:'initialize-release'!
+
+release
+    super release.
+
+    currentNamespace removeDependent:self.
+    sortByNameAndInheritance removeDependent:self.
+    hidePrivateClasses removeDependent:self.
+    markApplicationsHolder removeDependent:self.
+    meta removeDependent:self.
+    selectedClassNameIndices removeDependent:self.
+    showClassPackages removeDependent:self.
+
+    "Created: / 05-02-2000 / 13:42:18 / cg"
+! !
+
+!ClassList methodsFor:'private'!
+
+listOfClasses
+    |classesAlready classesOrdered generator nameSpaceFilter packageFilter allName hidePrivate
+     privateClassesPerClass nameFilterIncludesMatchCharacters lcNameFilter|
+
+    self sortByNameAndInheritance value ifTrue:[
+        ^ self listOfClassesByInheritance
+    ].
+
+    allName := self class nameListEntryForALL.
+    (self showAllClassesInNameSpaceOrganisation value) ifFalse:[
+        nameSpaceFilter := self nameSpaceFilter value.
+        nameSpaceFilter notNil ifTrue:[
+            (nameSpaceFilter includes:allName) ifTrue:[
+                nameSpaceFilter := nil
+            ].
+        ].
+    ].
+"/    packageFilter := self packageFilter value.
+"/    packageFilter notNil ifTrue:[
+"/        (packageFilter includes:allName) ifTrue:[packageFilter := nil].
+"/    ].
+
+    inGeneratorHolder isNil ifTrue:[
+        "/ for standAlone testing
+        generator := Smalltalk allClasses.
+        (self hideUnloadedClasses value) ifTrue:[
+            generator := generator select:[:cls | cls isLoaded]
+        ].
+    ] ifFalse:[
+        generator := inGeneratorHolder value.
+        generator isNil ifTrue:[^ #() ].
+    ].
+
+    classesAlready := IdentitySet new.
+    classesOrdered := OrderedCollection new.
+    hidePrivate := self hidePrivateClasses value.
+
+    privateClassesPerClass := IdentityDictionary new.
+    nameFilterIncludesMatchCharacters := nameFilter notNil and:[nameFilter includesMatchCharacters].
+    nameFilter notNil ifTrue:[ lcNameFilter := nameFilter asLowercase].
+
+    generator do:[:cls | 
+        |owner bucket|
+
+        "JV@2011-08-07: FIXME: Ugly code, hard to extend!! And duplicated in listOfClassesByInheritance !!!!!!!!"            
+        (hidePrivate not or:[cls isPrivate not])
+        ifTrue:[
+            (nameSpaceFilter isNil
+            or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
+                (packageFilter isNil
+                or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
+                    (classesAlready includes:cls) ifFalse:[
+                        (classFilterBlock isNil
+                        or:[(classFilterBlock value:cls)]) ifTrue:[
+                            classesAlready add:cls.
+                            (nameFilter isNil 
+                              or:[ (nameFilterIncludesMatchCharacters not and:[ cls name asLowercase startsWith:lcNameFilter])
+                              or:[ (nameFilterIncludesMatchCharacters and:[nameFilter match:cls name ignoreCase:true]) ]]) ifTrue:[
+                                (owner := cls owningClass) notNil ifTrue:[
+                                    bucket := privateClassesPerClass 
+                                                    at:owner 
+                                                    ifAbsentPut:[SortedCollection new 
+                                                                    sortBlock:[:a :b | (a name ? '?') < (b name ? '?')] ].
+                                    bucket add:cls.
+                                ] ifFalse:[
+                                    "Do not show Java anonymous classes"
+                                    cls isJavaClass ifTrue:[
+                                        cls isAnonymous ifFalse:[
+                                            classesOrdered add:cls.
+                                        ]                                            
+                                    ] ifFalse:[                                        
+                                        classesOrdered add:cls.
+                                    ]                                            
+                                ]
+                            ]
+                        ]
+                    ]
+                ]
+            ]
+        ]
+    ].
+
+    "/ are there any private classes, for which the owner is not in the list ?
+    privateClassesPerClass keysAndValuesDo:[:eachOwnerClass :privateClasses|
+        (classesAlready includes:eachOwnerClass) ifFalse:[
+            classesOrdered add:eachOwnerClass.
+            classesAlready add:eachOwnerClass.
+"/            privateClasses do:[:privateClass |
+"/                (classesOrdered includes:privateClass) ifFalse:[
+"/                    classesOrdered add:privateClass.
+"/                ].
+"/            ].
+        ].
+    ].
+
+    classesOrdered size == 1 ifTrue:[
+        self classLabelHolder value:(classesOrdered first name)
+    ] ifFalse:[
+"/        self classLabelHolder value:(classes size printString , ' classes').
+        sortBy value ~~ #doNotSort ifTrue:[
+            classesOrdered sort:[:a :b | a name < b name].
+        ]
+    ].
+
+    privateClassesPerClass notEmpty ifTrue:[
+        |stream action|
+
+        stream := WriteStream on:(Array new).
+
+        action := 
+            [:eachClass |
+                |bucket|
+
+                stream nextPut:eachClass.
+
+                bucket := privateClassesPerClass at:eachClass ifAbsent:nil.
+                bucket notNil ifTrue:[
+                    bucket do:action.
+                ]
+            ].
+
+        classesOrdered do:action.
+        classesOrdered := stream contents.
+    ].
+
+"/
+"/ does not work (yet)
+"/    classes addFirst:AllEntry.
+    ^ classesOrdered
+
+    "Modified: / 04-07-2011 / 18:33:56 / cg"
+    "Modified (format): / 07-08-2011 / 16:02:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+listOfClassesByInheritance
+    "TODO: needs refatoring and common code extract with listOfClasses,
+     but I have no time at the moment..."
+
+    |classesAlready classes classesOrdered generator nameSpaceFilter packageFilter allName hidePrivate
+     privateClassesPerClass nameFilterIncludesMatchCharacters lcNameFilter|
+
+    allName := self class nameListEntryForALL.
+    nameSpaceFilter := self nameSpaceFilter value.
+    nameSpaceFilter notNil ifTrue:[
+        (nameSpaceFilter includes:allName) ifTrue:[nameSpaceFilter := nil].
+    ].
+    packageFilter := self packageFilter value.
+    packageFilter notNil ifTrue:[
+        (packageFilter includes:allName) ifTrue:[packageFilter := nil].
+    ].
+
+    inGeneratorHolder isNil ifTrue:[
+        "/ for standAlone testing
+        generator := Smalltalk allClasses.
+        (self hideUnloadedClasses value) ifTrue:[
+            generator := generator select:[:cls | cls isLoaded]
+        ].
+    ] ifFalse:[
+        generator := inGeneratorHolder value.
+        generator isNil ifTrue:[^ #() ].
+    ].
+
+    classesAlready := IdentitySet new.
+    classes := Set new.
+    classesOrdered := OrderedCollection new.
+    hidePrivate := self hidePrivateClasses value.
+
+    privateClassesPerClass := IdentityDictionary new.
+    nameFilterIncludesMatchCharacters := nameFilter notNil and:[nameFilter includesMatchCharacters].
+    nameFilter notNil ifTrue:[ lcNameFilter := nameFilter asLowercase].
+
+    generator do:[:cls | 
+        |owner bucket|
+
+        (hidePrivate not or:[cls isPrivate not])
+        ifTrue:[
+            (nameSpaceFilter isNil
+            or:[self isClass:cls shownWithNameSpaceFilter:nameSpaceFilter]) ifTrue:[
+                (packageFilter isNil
+                or:[self isClass:cls shownWithPackageFilter:packageFilter]) ifTrue:[
+                    (classesAlready includes:cls) ifFalse:[
+                        classesAlready add:cls.
+                        (owner := cls owningClass) notNil ifTrue:[
+                            bucket := privateClassesPerClass at:owner ifAbsentPut:[SortedCollection new sortBlock:[:a :b | a name < b name] ].
+                                bucket add:cls.
+                            ] ifFalse:[
+                                cls isJavaClass ifTrue:[
+                                    cls isAnonymous ifFalse:[
+                                        classes add:cls.
+                                    ]
+                                ] ifFalse:[
+                                   classes add:cls.
+                                ]                                    
+                        ]
+                    ]
+                ]
+            ]
+        ]
+    ].
+
+    privateClassesPerClass keysAndValuesDo:
+        [:owner :privateClasses|
+        (owner isPrivate not and:[(classes includes: owner) not])            
+            ifTrue:[classes addAll: privateClasses]].
+
+
+    classes size == 1 ifTrue:[
+        classesOrdered := classes asArray.
+        self classLabelHolder value:(classes first name)
+    ] ifFalse:[
+"/        self classLabelHolder value:(classes size printString , ' classes').
+"        sortBy value ~~ #doNotSort ifTrue:[
+            classesOrdered sort:[:a :b | a name < b name].
+        ]"
+        classesOrdered := ClassSorter sort: classes.
+    ].
+
+    privateClassesPerClass notEmpty ifTrue:[
+        |stream action|
+
+        stream := WriteStream on:(Array new).
+
+        action := [:eachClass |
+                |bucket|
+
+                stream nextPut:eachClass.
+
+                bucket := privateClassesPerClass at:eachClass ifAbsent:nil.
+                bucket notNil ifTrue:[
+                    bucket do:action.
+                ]
+        ].
+
+        classesOrdered do:action.
+        classesOrdered := stream contents.
+    ].
+
+"/
+"/ does not work (yet)
+"/    classes addFirst:AllEntry.
+    ^ classesOrdered
+
+    "Modified: / 18-08-2000 / 20:34:10 / cg"
+    "Modified: / 21-01-2008 / 19:43:04 / janfrog"
+    "Modified: / 24-08-2010 / 20:17:07 / Jan Vrany <enter your email here>"
+    "Created: / 04-07-2011 / 18:27:34 / cg"
+    "Modified: / 07-08-2011 / 16:14:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+makeDependent
+    Smalltalk addDependent:self.
+    ChangeSet addDependent:self.
+
+    "Created: / 5.2.2000 / 13:42:17 / cg"
+!
+
+makeIndependent
+    Smalltalk removeDependent:self.
+    ChangeSet removeDependent:self.
+!
+
+nameListForClasses:aClassList
+    |orgMode namespaces showNamespaces fullNameList nameList
+     filteredPackages filteredNameSpaces classesInRemoteChangeSet
+     classNamesInChangeSet classNamesInRemoteChangeSet|
+
+    showNamespaces := false.
+
+    filteredNameSpaces := nameSpaceFilter value.
+    (filteredNameSpaces isNil 
+    and:[self organizerMode value ~~ OrganizerCanvas organizerModeNamespace]) ifTrue:[
+        showNamespaces := true.       "/ if no filter, always show the namespace.
+    ] ifFalse:[
+        (filteredNameSpaces size > 1 
+        or:[(filteredNameSpaces size > 0)
+            and:[filteredNameSpaces includes:(self class nameListEntryForALL)]]) ifTrue:[
+            showNamespaces := true
+        ] ifFalse:[
+            "/ if there are classes from multiple namespaces,
+            "/ show the full name
+
+            namespaces := IdentitySet new.
+            fullNameList := OrderedCollection new.
+
+            aClassList
+                do:[:cls | |nm|
+                    nm := cls nameInBrowser.
+                    fullNameList add:nm.
+                    namespaces add:cls topNameSpace.
+                ].
+            showNamespaces := namespaces size > 1
+        ].
+    ].
+
+    orgMode := organizerMode value.
+    filteredPackages := packageFilter value value.
+
+    classNamesInChangeSet := ChangeSet current changedClasses
+                                collect:[:each | each theNonMetaclass name].
+
+    classesInRemoteChangeSet := SmallTeam isNil ifTrue:[#()] ifFalse:[ SmallTeam changedClasses ].
+    classNamesInRemoteChangeSet := classesInRemoteChangeSet collect:[:each | each theNonMetaclass name].
+
+    nameList := aClassList 
+                    collect:[:cls | 
+
+                            |className nm pkg emPkg hasExtensions isInChangeSet isInRemoteChangeSet icon
+                             clr|
+
+                            className := cls theNonMetaclass name.
+                            isInChangeSet := classNamesInChangeSet includes:className.
+                            isInRemoteChangeSet := classNamesInRemoteChangeSet includes:className.
+
+                            nm := self nameListEntryFor:cls withNameSpace:showNamespaces.
+
+                            self showCoverageInformation value ifTrue:[
+                                clr := self colorForCoverageInformationOfClass:cls.
+                                clr notNil ifTrue:[
+                                    nm := self colorize:nm with:#color -> clr
+                                ].
+                            ].
+                            clr isNil ifTrue:[
+                                isInChangeSet ifTrue:[
+                                    nm := self emphasizeForChangedCode:nm
+                                ].
+                                isInRemoteChangeSet ifTrue:[
+                                    nm := (self colorizeForChangedCodeInSmallTeam:'!! '),nm
+                                ].
+                            ].
+
+                            pkg := cls package ? '-'.
+                            hasExtensions := cls hasExtensions.
+                            hasExtensions ifTrue:[
+                                emPkg := self emphasizeForDifferentPackage:'+'. "/ self emphasizeForDifferentPackage:pkg.
+                            ].
+
+                            orgMode == OrganizerCanvas organizerModeProject ifTrue:[
+                                (filteredPackages notNil
+                                and:[(filteredPackages includes:cls package) not]) ifTrue:[
+                                    "/ class is in another packae;
+                                    "/ however, class is listed due to methods
+                                    "/ in the filtered package
+                                    hasExtensions ifTrue:[
+                                        nm := nm , emPkg.
+                                    ] ifFalse:[    
+                                        nm := nm , ' [ ' , pkg, ' ]'.
+                                    ].
+                                ] ifFalse:[
+                                    "/ any methods from other packages in this class ?
+                                    hasExtensions ifTrue:[
+                                        nm := nm , (self emphasizeForDifferentPackage:'+').
+                                    ].
+                                ].
+                            ] ifFalse:[
+                                showClassPackages value == true ifTrue:[
+                                    "/ add the package;
+                                    hasExtensions ifTrue:[
+                                        nm := nm , ' [ ' , pkg, ' ]' , (self emphasizeForDifferentPackage:'+').
+"/                                        isInChangeSet ifFalse:[
+"/                                            nm := self colorizeForDifferentPackage:nm
+"/                                        ].
+                                    ] ifFalse:[
+                                        nm := nm , (self colorizeGrey:(' [ ' , pkg, ' ]')).
+                                    ].
+                                ] ifFalse:[
+                                    hasExtensions ifTrue:[
+                                        nm := nm , emPkg.
+"/                                        isInChangeSet ifFalse:[
+"/                                            nm := self colorizeForDifferentPackage:nm
+"/                                        ]
+                                    ].
+                                ]
+                            ].
+
+                            isInChangeSet ifTrue:[
+                                nm := nm , self class markForBeingInChangeList
+                            ].
+"/                                        cls isVisualStartable ifTrue:[
+"/                                            nm := LabelAndIcon icon:((SystemBrowser visualStartableClassIcon)
+"/                                                                    onDevice:self window device)
+"/                                                               string:nm
+"/                                        ].
+                            markApplicationsHolder value== true ifTrue:[
+                                icon := self iconForClass:cls theNonMetaclass.
+                                icon isNil ifTrue:[
+                                    icon := SystemBrowser emptyIcon
+                                ].
+                                nm := LabelAndIcon icon:icon string:nm
+
+                            ].
+                            nm
+                       ].   
+
+    ^ nameList
+
+    "Modified: / 27-10-2012 / 12:32:20 / cg"
+!
+
+reconstructNameList
+    "only reconstruct the names - class list & selection remains unschanged.
+     Invoked when the organizerMode mode changes"
+
+    |prevMode listView oldNameList newNameList sav|
+
+    self classList value isNil ifTrue:[
+        self updateList
+    ].
+
+    newNameList := self nameListForClasses:(classList value ? #()).
+    oldNameList := self classNameList value ? #().
+    (newNameList 
+        sameContentsAs: oldNameList 
+        whenComparedWith:[:a :b | (a sameStringAndEmphasisAs: b) 
+                                  and:[ a hasImage == b hasImage
+                                  and:[ a hasIcon == b hasIcon ]]]
+    ) 
+    ifTrue:[
+        "/ no need to update
+    ] ifFalse:[
+        builder notNil ifTrue:[
+            listView := builder componentAt:#List.
+        ].
+        (listView isNil or:[listView scrolledView isNil]) ifTrue:[    
+            "/ invoked very early during setup
+            self classNameList value:newNameList
+        ] ifFalse:[
+            "/ avoid flicker and useless redraws
+
+            prevMode := listView scrollWhenUpdating.
+            listView scrollWhenUpdating:nil.
+
+            "/ this will lead to a selectionIndex change (done by the selListView);
+            "/ however, we dont want this here, since it recurses into
+            "/ a selectionChange. Therefore, temporarily disconnect the selectionIndexHolder...
+            [
+                self selectedClassNameIndices removeDependent:self.
+                "/ also, dont want a callback (selectionChangedByClick)
+                sav := listView action.
+                listView action:nil.
+                self classNameList value:newNameList.
+            ] ensure:[
+                listView action:sav.
+                self selectedClassNameIndices addDependent:self.
+                listView scrollWhenUpdating:prevMode.
+            ].
+        ]
+    ].
+
+    "Modified: / 31.10.2001 / 11:33:21 / cg"
+!
+
+updateClassesIn:aCollection
+    "replace any obsolete class in aCollection;
+     return true, if any was found"
+
+    |found meta classes|
+
+    found := false.
+
+    aCollection isSequenceable ifFalse:[
+	classes := aCollection copy.
+	aCollection removeAll.
+	classes do:[:cls |
+	    |newClass|
+
+	    meta := cls isMeta.
+	    newClass := Smalltalk at:(cls theNonMetaclass name).
+	    newClass isNil ifTrue:[
+		newClass := cls
+	    ] ifFalse:[
+		meta ifTrue:[
+		    newClass := newClass class
+		]
+	    ].
+	    found := cls ~~ newClass.
+	    aCollection add:newClass.
+	].
+    ] ifTrue:[
+	aCollection keysAndValuesDo:[:idx :cls |
+	    |newClass|
+
+	    cls notNil ifTrue:[
+		meta := cls isMeta.
+		newClass := Smalltalk at:(cls theNonMetaclass name).
+		newClass isNil ifTrue:[
+		    newClass := cls
+		] ifFalse:[
+		    meta ifTrue:[
+			newClass := newClass class
+		    ]
+		].
+		found := cls ~~ newClass.
+		aCollection at:idx put:newClass.
+	    ]
+	].
+    ].
+    ^ found
+!
+
+updateList
+    |prevSelection oldList newList newSelectionIndices 
+     forceSelectionChange selectedClassNameIndicesHolder classList
+     classesAddedToList classesRemovedFromList newSet oldSet|
+
+    newList := self listOfClasses.
+    classList := self classList.
+    oldList := classList value ? #().
+
+    autoSelect == true ifTrue:[
+        classesRemovedFromList := OrderedCollection new.
+        newSet := newList asSet.
+        oldSet := oldList asSet.
+        classesAddedToList := newSet select:[:eachNewClass | (oldSet includes:eachNewClass) not].
+        classesRemovedFromList := oldSet select:[:eachOldClass | (newSet includes:eachOldClass) not].
+    ].
+
+    (newList ~= oldList
+    or:[self classNameList value isNil and:[newList size > 0]]) ifTrue:[
+        prevSelection := lastSelectedClasses ? #().
+        prevSelection := prevSelection select:[:each | each notNil].
+
+        (newList collect:[:each | each name]) = (oldList collect:[:each | each name]) ifTrue:[
+            "/ no need to tell anybody
+            classList setValue:newList.
+        ] ifFalse:[
+            classList value:newList.
+        ].
+        self reconstructNameList.
+
+        (prevSelection size == 0 
+        and:[self selectedClasses value size ~~ 0]) ifTrue:[
+            "/ this happens during early startup time,
+            "/ when the selection is already (pre-)set,
+            "/ and the classList is generated the first time
+            "/ (i.e. when opened with preset selection)
+
+            "/ do not clobber the selection in this case.
+            prevSelection := self selectedClasses value.
+            prevSelection := prevSelection select:[:cls | cls notNil].
+            "/ simulate a change, to force selection update in listView
+            forceSelectionChange := true.
+        ].
+
+        autoSelect == true ifTrue:[
+            prevSelection isNil ifTrue:[
+                prevSelection := OrderedCollection new
+            ].
+            prevSelection := prevSelection asOrderedCollection.
+
+            classesAddedToList do:[:eachNewClass |
+                (prevSelection includes:eachNewClass) ifFalse:[
+                    prevSelection add:eachNewClass.
+                ].
+            ].
+            classesRemovedFromList do:[:eachOldClass |
+                prevSelection remove:eachOldClass ifAbsent:[].
+            ].
+        ].
+
+        newSelectionIndices := prevSelection 
+                            collect:[:item | |cls|
+                                             cls := Smalltalk at:item theNonMetaclass name.   
+                                             newList identityIndexOf:cls]
+                            thenSelect:[:index | index ~~ 0].
+
+        selectedClassNameIndicesHolder := self selectedClassNameIndices.
+
+        ((selectedClassNameIndicesHolder value size ~~ self selectedClasses value size)
+        or:[newSelectionIndices ~= selectedClassNameIndicesHolder value])
+        ifTrue:[
+            newSelectionIndices notEmpty ifTrue:[
+                "/ force change (for dependents)
+                "/ selectedClassNameIndicesHolder value:newSelectionIndices.
+            ] ifFalse:[
+                prevSelection := self selectedClasses value.
+                newSelectionIndices := #().
+            ].
+            selectedClassNameIndicesHolder value:newSelectionIndices.
+
+            prevSelection notNil ifTrue:[
+                lastSelectedClasses := prevSelection.
+            ].
+            self updateOutputGenerator.
+        ].
+
+    ] ifFalse:[
+        "/ same classes - but name(s) could be differnet
+        newList size > 0 ifTrue:[
+            self reconstructNameList
+        ]
+    ].
+    listValid := true.
+
+    "Created: / 5.2.2000 / 13:42:18 / cg"
+    "Modified: / 31.10.2001 / 11:35:39 / cg"
+!
+
+updateListsFor:aClass
+    |classes found foundInSelection|
+
+    found := foundInSelection := false.
+
+    "/ update for a changed class in the classList
+    (classes := classList value) size > 0 ifTrue:[
+        (self updateClassesIn:classes) ifTrue:[
+            found := true
+        ].
+        (classes includes:nil) ifTrue:[
+"/ self halt:'should not happen'.
+            classList value:(classes := classes select:[:each | each notNil]).
+        ].
+    ].
+    "/ possibly in the generator
+    ((classes := inGeneratorHolder value) isOrderedCollection 
+    and:[classes size > 0]) ifTrue:[
+        (self updateClassesIn:classes) ifTrue:[
+            found := true
+        ].
+        (classes includes:nil) ifTrue:[
+"/ self halt:'should not happen'.
+            inGeneratorHolder value:(classes select:[:each | each notNil]).
+        ]
+    ].
+    "/ and in the selection
+    (classes := self selectedClasses value) size > 0 ifTrue:[
+        (self updateClassesIn:classes) ifTrue:[
+            found := true.
+            foundInSelection := true.
+        ].
+        (classes includes:nil) ifTrue:[
+"/ self halt:'should not happen'.
+            self selectedClasses value:(classes select:[:each | each notNil]).
+        ]
+    ].
+    "/ and in the last selection
+    (classes := lastSelectedClasses) size > 0 ifTrue:[
+        (self updateClassesIn:classes) ifTrue:[
+            found := true
+        ].
+        (classes includes:nil) ifTrue:[
+"/ self halt:'should not happen'.
+            lastSelectedClasses := (classes select:[:each | each notNil]).
+        ]
+    ].
+
+    found ifFalse:[
+        "/ could be a new class (or no-longer autolaoded one).
+        listValid ifTrue:[
+            self enqueueDelayedUpdateList.
+        ].
+    ].
+    foundInSelection ifTrue:[
+        "/ force update of output generator
+        self selectedClasses 
+            removeDependent:self;
+            changed;
+            addDependent:self.
+    ].
+
+    "Modified: / 05-06-2012 / 23:39:25 / cg"
+! !
+
+!ClassList methodsFor:'private-presentation'!
+
+colorForCoverageInformationOfClass:aClass
+    |instrumented anyPartiallyCovered anyCalled anyNotCalled|
+
+    instrumented := anyPartiallyCovered := anyCalled := anyNotCalled := false.
+    aClass instAndClassMethodsDo:[:m |
+        m category = 'documentation' ifFalse:[
+            m isInstrumented ifTrue:[
+                instrumented := true.
+                m hasBeenCalled ifFalse:[
+                    anyNotCalled := true.
+                ] ifTrue:[
+                    anyCalled := true.
+                    m haveAllBlocksBeenExecuted ifFalse:[
+                        anyPartiallyCovered := true.
+                        "/ no need to search further...
+                        ^ UserPreferences current colorForInstrumentedPartiallyCoveredCode
+                    ]
+                ].
+            ].
+        ].
+    ].
+    instrumented ifFalse:[ ^ nil].
+
+    anyCalled ifFalse:[ ^ UserPreferences current colorForInstrumentedNeverCalledCode ].
+    anyNotCalled ifFalse:[ ^ UserPreferences current colorForInstrumentedFullyCoveredCode ].
+    ^ UserPreferences current colorForInstrumentedPartiallyCoveredCode
+
+    "Created: / 28-04-2010 / 14:05:27 / cg"
+!
+
+iconForClass:aClass
+    ^ SystemBrowser iconForClass:aClass
+
+    "Created: / 17-08-2006 / 09:12:32 / cg"
+!
+
+indentPerPrivacyLevel
+    ^ 4
+!
+
+nameListEntryFor:aClass withNameSpace:useFullName
+    |sortByNameAndInheritance nm indent owner orgMode indentString javaPackage|
+
+    aClass == (self class nameListEntryForALL) ifTrue:[ ^ aClass ].
+
+    sortByNameAndInheritance := self sortByNameAndInheritance value.
+
+    sortByNameAndInheritance ifTrue:[
+        nm := (self nameListIndentStringFor: aClass withNameSpace: useFullName) , aClass nameInBrowser.
+    ] ifFalse:[
+        nm := aClass nameInBrowser.
+    ].
+
+    aClass isLoaded ifFalse:[
+        unloadedClassesColor notNil ifTrue:[
+            nm := nm colorizeAllWith:unloadedClassesColor
+        ]
+    ].
+
+    aClass isLoaded ifFalse:[
+        "/ nm := nm,(' (?) ' colorizeAllWith:Color grey).
+    ] ifTrue:[
+        nm := nm,((' (%1+%2) ' bindWith:(aClass methodDictionary size) with:(aClass class methodDictionary size)) 
+                        colorizeAllWith:self class pseudoEntryForegroundColor).
+    ].
+
+    orgMode := organizerMode value.
+    orgMode == OrganizerCanvas organizerModeHierarchy ifTrue:[
+        "/ always show the full name
+        ^ nm
+    ].
+    orgMode == OrganizerCanvas organizerModeClassHierarchy ifTrue:[
+        "/ always show the full name
+        ^ nm
+    ].
+
+    aClass isJavaClass ifTrue:[
+        "/ only show the last name, unless multiple packages are shown in the list
+        javaPackage := aClass package.
+        (self classList value contains:[:cls | cls package ~= javaPackage]) ifTrue:[
+            ^ nm 
+        ].        
+        ^ aClass lastName
+    ].
+
+    useFullName ifFalse:[
+        aClass isPrivate ifFalse:[
+            sortByNameAndInheritance ifTrue:[
+                ^ (self nameListIndentStringFor: aClass withNameSpace: useFullName) , aClass nameWithoutNameSpacePrefix 
+            ].
+            ^ aClass nameWithoutNameSpacePrefix 
+        ]
+    ].
+
+    "/ full name required if owner is not in the list
+    owner := aClass owningClass.
+    (owner isNil
+    or:[(self classList value includesIdentical:owner) not]) ifFalse:[
+
+        "/ namespace
+        indent := (nm count:[:char | char == $:]) // 2.
+        indent > 0 ifTrue:[
+            indent := indent * self indentPerPrivacyLevel.
+            indentString := String new:indent withAll:Character space.
+            sortByNameAndInheritance ifTrue:[
+                nm := (self nameListIndentStringFor:owner withNameSpace:useFullName)
+                        , indentString , '::' , aClass nameWithoutPrefix.
+            ] ifFalse:[
+                nm := indentString , '::' , aClass nameWithoutPrefix
+            ]
+        ].
+    ].
+
+    ^ nm
+
+    "Modified: / 04-07-2011 / 19:00:45 / cg"
+!
+
+nameListIndentStringFor:aClass withNameSpace:useFullName
+    | indent indentString cls |
+
+    indent := 0.
+    indentString := ''.
+    cls := aClass superclass.
+    [self classList value includesIdentical:cls] 
+        whileTrue:
+            [indent := indent + 1.
+            cls := cls superclass].
+
+    indent == 0 ifFalse:[
+        indent <= 5 ifTrue:[
+            indentString := #(
+                         ''
+                         '  '
+                         '    '
+                         '      '
+                         '        '
+                         '          '
+                       ) at:indent+1.
+        ] ifFalse:[
+            indentString := String new:indent*2 withAll:Character space.
+        ].
+
+    ].
+    ^indentString
+
+    "Modified: / 24-02-2000 / 17:52:28 / cg"
+    "Created: / 21-01-2008 / 19:02:07 / janfrog"
+    "Modified (format): / 04-07-2011 / 18:30:20 / cg"
+! !
+
+!ClassList methodsFor:'queries'!
+
+supportsSearch
+
+    ^(self componentAt: #List) notNil
+
+    "Created: / 28-07-2011 / 17:46:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ClassList methodsFor:'setup'!
+
+autoSelect:aBoolean
+    autoSelect ~~ aBoolean ifTrue:[
+        autoSelect := aBoolean.
+        classList value:nil.
+    ].
+!
+
+classFilterBlock:aBlock
+    "use this to filter away unwanted packages"
+
+    classFilterBlock := aBlock
+!
+
+postBuildWith:aBuilder
+    |classListView|
+
+    super postBuildWith:aBuilder.
+
+    classListView := aBuilder componentAt:'List'.
+    classListView notNil ifTrue:[
+	classListView allowDrag:true.
+	classListView dragObjectConverter:[:obj | 
+					    |nm class idx|
+
+					    nm := obj theObject asString.
+					    idx := classNameList value indexOf:nm.
+					    idx == 0 ifTrue:[
+						idx := classNameList value indexOf:nm string.
+					    ].
+					    class := classList value at:idx.
+					    DropObject newClass:class.
+					 ].
+    ]
+! !
+
+!ClassList class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.70 2012-11-07 14:21:22 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.70 2012-11-07 14:21:22 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_HierarchicalClassList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,320 @@
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+ClassList subclass:#HierarchicalClassList
+	instanceVariableNames:'topClassHolder'
+	classVariableNames:'InheritedEntry'
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!HierarchicalClassList class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    Like a ClassList, but shows classes hierarchical.
+
+    If topClassHolders value is non-nil, only that classes hierarchy
+    is shown.
+
+    embeddable application displaying the classes as listed by
+    the inputGenerator.
+    Provides an outputGenerator, which enumerates the classes and
+    their protocols (method-categories) in the selected classes.
+
+    [author:]
+	Claus Gittinger (cg@exept.de)
+"
+
+
+! !
+
+!HierarchicalClassList class methodsFor:'initialization'!
+
+initialize
+    InheritedEntry := '* inheritance *'
+
+    "Created: / 24.2.2000 / 20:19:19 / cg"
+! !
+
+!HierarchicalClassList class methodsFor:'queries-plugin'!
+
+aspectSelectors
+    ^ super aspectSelectors ,
+       #(  
+	  topClassHolder
+	)
+
+
+
+! !
+
+!HierarchicalClassList methodsFor:'accessing'!
+
+showMethodComplexity:aValueHolder
+
+    "Created: / 05-11-2007 / 17:15:35 / cg"
+!
+
+showMethodInheritance:aValueHolder
+
+    "Created: / 05-11-2007 / 17:15:23 / cg"
+!
+
+showMethodTypeIcon:aValueHolder
+
+    "Created: / 05-11-2007 / 17:15:42 / cg"
+! !
+
+!HierarchicalClassList methodsFor:'aspects'!
+
+methodVisibilityHolder:aValueHolder
+
+    "Created: / 05-11-2007 / 17:15:48 / cg"
+!
+
+topClassHolder
+    topClassHolder isNil ifTrue:[
+        topClassHolder := Object asValue.
+        topClassHolder addDependent:self
+    ].
+    ^ topClassHolder
+!
+
+topClassHolder:aValueHolder
+    |oldTopClass newTopClass|
+
+    oldTopClass := topClassHolder value.
+
+    topClassHolder notNil ifTrue:[
+        topClassHolder removeDependent:self
+    ].
+    topClassHolder := aValueHolder.
+
+    topClassHolder notNil ifTrue:[
+        topClassHolder isBehavior ifTrue:[self halt:'should not happen'].
+        topClassHolder addDependent:self.
+    ].
+
+    newTopClass := topClassHolder value.
+    newTopClass ~~ oldTopClass ifTrue:[
+        self enqueueDelayedUpdateList.
+    ].
+! !
+
+!HierarchicalClassList methodsFor:'change & update'!
+
+classDefinitionChanged:aClass
+    |prevTop prevSelection newSelection selectedClassesHolder|
+
+    listValid ifFalse:[^ self].
+    slaveMode value == true ifTrue:[
+	self invalidateList.
+	^ self.
+    ].
+
+    selectedClassesHolder := self selectedClasses.
+    prevSelection := selectedClassesHolder value copy.
+
+    prevTop := self topClassHolder value.
+    prevTop notNil ifTrue:[
+	(prevTop name = aClass name) ifTrue:[
+	    "/ forced update
+	    topClassHolder value:aClass.
+	] ifFalse:[
+	    (prevTop name = aClass class name) ifTrue:[
+		"/ forced update
+		topClassHolder value:aClass class.
+	    ]   
+	]
+    ].
+
+    "/ must update the list (notice, that the hierarchy might have changed..)
+
+    self updateList.
+
+    selectedClassesHolder value ~= prevSelection ifTrue:[
+	newSelection := prevSelection collect:[:eachOldClass | Smalltalk classNamed:(eachOldClass name)].
+	selectedClassesHolder value:newSelection.
+    ]
+
+    "Modified: / 26.2.2000 / 01:17:01 / cg"
+!
+
+classRemoved:aClass
+    |prevTop newTop prevSel nPrevSelected selectedClassesHolder newSelection wasMeta|
+
+    prevTop := self topClassHolder value.
+
+    prevTop notNil ifTrue:[
+	wasMeta := prevTop isMeta.
+	newTop := prevTop theNonMetaclass.
+	[newTop notNil and:[(Smalltalk at:newTop name) ~= newTop]] whileTrue:[
+	    newTop := newTop superclass.
+	].
+	wasMeta ifTrue:[
+	    newTop := newTop theMetaclass
+	].
+	newTop ~~ prevTop ifTrue:[
+	    self topClassHolder value:newTop.
+	].
+    ].
+
+    selectedClassesHolder := self selectedClasses.
+
+    "/ if there is a single selection,
+    "/ which is the old top, replace it.
+    prevSel := selectedClassesHolder value.
+    nPrevSelected := prevSel size.
+    nPrevSelected > 0 ifTrue:[
+	nPrevSelected == 1 ifTrue:[
+	    prevSel first == aClass ifTrue:[
+		newTop notNil ifTrue:[
+		    newSelection := Array with:newTop.
+		] ifFalse:[
+		    newSelection := #().
+		]
+	    ].
+	] ifFalse:[
+	    nPrevSelected ~~ 0 ifTrue:[
+		"/ clear the selection
+		newSelection := #().
+	    ]
+	].
+	newSelection notNil ifTrue:[
+	    selectedClassesHolder value:newSelection
+	].
+    ].
+
+    super classRemoved:aClass.
+! !
+
+!HierarchicalClassList methodsFor:'private'!
+
+addTo:aList whereSuperclassIs:aSuperclass
+    |theClasses|
+
+    aSuperclass isNil ifTrue:[
+	theClasses := Smalltalk allClasses select:[:cls | cls superclass isNil]
+    ] ifFalse:[
+	theClasses := aSuperclass subclasses.
+    ].
+    (self hideUnloadedClasses value) ifTrue:[
+	theClasses := theClasses select:[:cls | cls isLoaded].
+    ].
+
+    theClasses := theClasses asOrderedCollection sort:[:a :b | (a name ? '??') < (b name ? '??')].
+    theClasses do:[:aClass |
+	aList add:aClass.
+	self addTo:aList whereSuperclassIs:aClass
+    ].        
+!
+
+defaultSlaveModeValue
+    |mode|
+
+    mode := self topApplication perform:#initialOrganizerMode ifNotUnderstood:nil.
+    mode == OrganizerCanvas organizerModeClassHierarchy ifTrue:[^ false].
+    mode isNil ifTrue:[^ false].
+
+    self organizerMode value == OrganizerCanvas organizerModeCategory ifTrue:[^ true].
+    ^ false
+!
+
+listOfClasses
+    |classes top|
+
+    classes := OrderedCollection new.
+    (top := self topClassHolder value) notNil ifTrue:[
+	top := top theNonMetaclass.
+	classes addAll:(top withAllSuperclasses copy reverse).
+    ].
+    self addTo:classes whereSuperclassIs:top.
+    ^ classes
+
+    "Modified: / 24.2.2000 / 13:27:43 / cg"
+!
+
+nameListEntryFor:aClass withNameSpace:useFullName
+    |indent superClass nm|
+
+    aClass == (self class nameListEntryForALL) ifTrue:[ ^ aClass ].
+    aClass == InheritedEntry ifTrue:[ ^ aClass ].
+
+    nm := aClass name.
+    nm isNil ifTrue:[^ '???'].
+
+    aClass isLoaded ifFalse:[
+        "/ nm := nm,(' (?) ' colorizeAllWith:Color grey).
+    ] ifTrue:[
+        nm := nm,((' (%1+%2) ' bindWith:(aClass methodDictionary size) with:(aClass class methodDictionary size)) 
+                                colorizeAllWith:self class pseudoEntryForegroundColor).
+    ].
+
+    indent := 0.
+    superClass := aClass superclass.
+    [superClass notNil] whileTrue:[
+        indent := indent + 1.
+        superClass := superClass superclass.
+    ].
+
+    indent == 0 ifTrue:[
+        ^ nm
+    ].
+
+    indent <= 5 ifTrue:[
+        indent := #(
+                     ''
+                     '    '
+                     '        '
+                     '            '
+                     '                '
+                     '                    '
+                   ) at:indent+1.
+    ] ifFalse:[
+        indent := String new:indent*4 withAll:Character space.
+    ].
+    ^ indent , nm
+
+    "Modified: / 24.2.2000 / 20:19:47 / cg"
+!
+
+release
+    super release.
+
+    topClassHolder removeDependent:self.
+! !
+
+!HierarchicalClassList class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_HierarchicalClassList.st,v 1.10 2012-10-30 10:09:09 cg Exp $'
+! !
+
+HierarchicalClassList initialize!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_InheritanceClassList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,194 @@
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+HierarchicalClassList subclass:#InheritanceClassList
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!InheritanceClassList class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    Like a HierarchicalClassList, but shows class inheritance.
+    For non-meta classes, this is the same as would be shown in
+    the hierarchy list;
+    For metaclasses, the tree is extented through the class-behavior
+    hierarchy.
+
+    embeddable application displaying the classes as listed by
+    the inputGenerator.
+    Provides an outputGenerator, which enumerates the classes and
+    their protocols (method-categories) in the selected classes.
+
+    [author:]
+	Claus Gittinger (cg@exept.de)
+"
+
+
+! !
+
+!InheritanceClassList methodsFor:'change & update'!
+
+delayedUpdate:something with:aParameter from:changedObject
+    |top oldSelection newSelection showMeta|
+
+"/    self inSlaveModeOrInvisible ifTrue:[^ self].
+"/    self inSlaveMode ifTrue:[^ self].
+
+    changedObject == slaveMode ifTrue:[
+        self inSlaveMode ifTrue:[
+            self invalidateList.
+        ] ifFalse:[
+            listValid ifFalse:[
+                self updateList
+            ].
+        ].
+        ^  self
+    ].
+
+    changedObject == meta ifTrue:[
+        oldSelection := self selectedClasses value ? #().
+        showMeta := meta value.
+
+        newSelection := oldSelection collect:[:cls | showMeta ifTrue:[cls theMetaclass] ifFalse:[cls theNonMetaclass]].
+        newSelection := newSelection asOrderedCollection.
+
+        top := self topClassHolder value.
+        top notNil ifTrue:[
+            top := showMeta ifTrue:[top theMetaclass] ifFalse:[top theNonMetaclass].
+            self topClassHolder value:top.
+        ].
+        self invalidateList.
+
+        (newSelection includes:nil) ifTrue:[self halt:'should not happen'].
+
+        self selectedClasses value:newSelection.
+        ^ self.
+    ].
+    super delayedUpdate:something with:aParameter from:changedObject
+
+    "Modified: / 24.2.2000 / 15:29:21 / cg"
+!
+
+getSelectedClassIndicesFromClasses
+    |classes selectedClasses selectedIndices|
+
+    selectedClasses := self selectedClasses value.
+    selectedClasses size == 0 ifTrue:[^ #() ].
+
+    classes := self classList value.
+    selectedIndices := selectedClasses 
+		    collect:[:aSelectedClass |
+			classes identityIndexOf:aSelectedClass.
+		    ].
+    selectedIndices := selectedIndices select:[:idx | idx ~~ 0].
+    selectedIndices size == 0 ifTrue:[
+"/        meta value == true ifTrue:[
+"/self halt.
+"/        ] ifFalse:[
+"/self halt.
+"/        ]
+    ].
+
+    ^ selectedIndices
+
+    "Created: / 24.2.2000 / 19:48:05 / cg"
+    "Modified: / 24.2.2000 / 23:30:22 / cg"
+!
+
+getSelectedClassesFromIndices
+    |selected classes allSelected|
+
+    allSelected := false.
+
+    classes := classList value.
+    selected := self selectedClassNameIndices value collect:[:idx |
+	|cls|
+
+	cls := classes at:idx.
+"/        cls == AllEntry ifTrue:[
+"/            allSelected := true.
+"/            cls.
+"/        ] ifFalse:[
+"/            cls notNil ifTrue:[
+"/                meta value ifTrue:[
+"/                    cls := cls theMetaclass
+"/                ] ifFalse:[
+"/                    cls := cls theNonMetaclass
+"/                ].
+"/            ].
+"/            cls
+"/        ]
+    ].
+
+"/    allSelected ifTrue:[
+"/        selected := classList value select:[:cls | cls ~~ AllEntry].
+"/    ].
+
+    selected := selected select:[:cls | cls notNil].
+    ^selected.
+
+    "Created: / 24.2.2000 / 19:45:04 / cg"
+! !
+
+!InheritanceClassList methodsFor:'private'!
+
+defaultSlaveModeValue
+    |mode|
+
+    mode := self topApplication perform:#initialOrganizerMode ifNotUnderstood:nil.
+    mode == OrganizerCanvas organizerModeClassInheritance ifTrue:[^ false].
+    mode isNil ifTrue:[^ false].
+
+    self organizerMode value == OrganizerCanvas organizerModeCategory ifTrue:[^ true].
+    ^ false
+!
+
+listOfClasses
+    |top classes|
+
+    (top := self topClassHolder value) isNil ifTrue:[
+	^ super listOfClasses
+    ].
+
+    classes := top withAllSuperclasses copy reverse.
+"/    classes addFirst:InheritedEntry.
+    ^ classes
+
+    "Modified: / 26.2.2000 / 00:38:48 / cg"
+! !
+
+!InheritanceClassList class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_InheritanceClassList.st,v 1.5 2012-11-07 14:35:53 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_MethodCategoryList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,2084 @@
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+BrowserList subclass:#MethodCategoryList
+	instanceVariableNames:'variableFilter filterClassVars lastSelectedProtocols classes
+		leafClasses protocolList rawProtocolList selectedProtocolIndices
+		lastGeneratedProtocols packageFilterOnInput
+		methodVisibilityHolder noAllItem noPseudoItems
+		showPseudoProtocols'
+	classVariableNames:'AdditionalEmptyCategoriesPerClassName MethodInfoCache
+		MethodInfoCacheAccessLock'
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+Object subclass:#CachedMethodInfo
+	instanceVariableNames:'flags'
+	classVariableNames:'FlagObsolete FlagSendsSuper FlagIsUncommented
+		FlagIsDocumentationMethod FlagIsLongMethod FlagIsExtension
+		FlagIsRedefine FlagIsRedefined FlagIsOverride
+		FlagIsSubclassResponsibility FlagIsTest FlagIsAnnotated'
+	poolDictionaries:''
+	privateIn:MethodCategoryList
+!
+
+Method variableSubclass:#MissingMethod
+	instanceVariableNames:'selector'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:MethodCategoryList
+!
+
+!MethodCategoryList class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    I implement the method category (= protocol) list in the new system browser
+"
+! !
+
+!MethodCategoryList class methodsFor:'initialization'!
+
+flushMethodInfo
+    MethodInfoCache := Dictionary new.
+
+    "
+     self flushMethodInfo
+    "
+!
+
+initialize
+    MethodInfoCache := Dictionary new.
+    MethodInfoCacheAccessLock := RecursionLock new.
+! !
+
+!MethodCategoryList class methodsFor:'cleanup'!
+
+lowSpaceCleanup
+    self flushMethodInfo
+
+    "Created: / 08-08-2011 / 19:15:25 / cg"
+! !
+
+!MethodCategoryList class methodsFor:'interface specs'!
+
+singleProtocolWindowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:MethodCategoryList andSelector:#singleProtocolWindowSpec
+     MethodCategoryList new openInterface:#singleProtocolWindowSpec
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+        #name: #singleProtocolWindowSpec
+        #window: 
+       #(#WindowSpec
+          #label: 'ProtocolList'
+          #name: 'ProtocolList'
+          #min: #(#Point 0 0)
+          #max: #(#Point 1024 721)
+          #bounds: #(#Rectangle 12 22 312 322)
+        )
+        #component: 
+       #(#SpecCollection
+          #collection: #(
+           #(#LabelSpec
+              #label: 'ProtocolName'
+              #name: 'ProtocolLabel'
+              #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
+              #translateLabel: true
+              #labelChannel: #protocolLabelHolder
+              #menu: #menuHolder
+            )
+           )
+         
+        )
+      )
+!
+
+windowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:MethodCategoryList andSelector:#windowSpec
+     MethodCategoryList new openInterface:#windowSpec
+     MethodCategoryList open
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+        #name: #windowSpec
+        #window: 
+       #(#WindowSpec
+          #label: 'ProtocolList'
+          #name: 'ProtocolList'
+          #min: #(#Point 0 0)
+          #bounds: #(#Rectangle 16 46 316 346)
+        )
+        #component: 
+       #(#SpecCollection
+          #collection: #(
+           #(#SequenceViewSpec
+              #name: 'List'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #tabable: true
+              #model: #selectedProtocolIndices
+              #menu: #menuHolder
+              #hasHorizontalScrollBar: true
+              #hasVerticalScrollBar: true
+              #miniScrollerHorizontal: true
+              #isMultiSelect: true
+              #valueChangeSelector: #selectionChangedByClick
+              #useIndex: true
+              #sequenceList: #protocolList
+              #doubleClickChannel: #doubleClickChannel
+              #properties: 
+             #(#PropertyListDictionary
+                #dragArgument: nil
+                #dropArgument: nil
+                #canDropSelector: #canDropContext:
+                #dropSelector: #doDropContext:
+              )
+            )
+           )
+         
+        )
+      )
+! !
+
+!MethodCategoryList class methodsFor:'plugIn spec'!
+
+aspectSelectors
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this. If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "Return a description of exported aspects;
+     these can be connected to aspects of an embedding application
+     (if this app is embedded in a subCanvas)."
+
+    ^ #(
+        #(#doubleClickChannel #action )
+        #filterClassVars
+        #forceGeneratorTrigger
+        #immediateUpdate
+        #inGeneratorHolder
+        #menuHolder
+        #noAllItem
+        #showPseudoProtocols
+        #outGeneratorHolder
+        #packageFilter
+        #packageFilterOnInput
+        #selectedProtocols
+        #selectionChangeCondition
+        #updateTrigger
+        #variableFilter
+        #methodVisibilityHolder
+        #showCoverageInformation
+      ).
+
+    "Modified: / 27-04-2010 / 16:40:39 / cg"
+! !
+
+!MethodCategoryList methodsFor:'aspects'!
+
+browserNameList
+    ^ self protocolList 
+!
+
+defaultSlaveModeValue
+    ^ false.
+!
+
+filterClassVars
+    filterClassVars isNil ifTrue:[
+        filterClassVars := false asValue.
+        filterClassVars addDependent:self
+    ].
+    ^  filterClassVars
+
+    "Modified: / 31.1.2000 / 00:56:31 / cg"
+    "Created: / 5.2.2000 / 13:42:10 / cg"
+!
+
+filterClassVars:aValueHolder
+    filterClassVars notNil ifTrue:[
+        filterClassVars removeDependent:self
+    ].
+    filterClassVars := aValueHolder.
+    filterClassVars notNil ifTrue:[
+        filterClassVars addDependent:self
+    ].
+
+    "Modified: / 31.1.2000 / 00:56:31 / cg"
+    "Created: / 5.2.2000 / 13:42:10 / cg"
+!
+
+methodVisibilityHolder
+    methodVisibilityHolder isNil ifTrue:[
+        methodVisibilityHolder := false asValue.
+        methodVisibilityHolder addDependent:self
+    ].
+    ^  methodVisibilityHolder
+!
+
+methodVisibilityHolder:aValueHolder
+    methodVisibilityHolder notNil ifTrue:[
+        methodVisibilityHolder removeDependent:self
+    ].
+    methodVisibilityHolder := aValueHolder.
+    methodVisibilityHolder notNil ifTrue:[
+        methodVisibilityHolder addDependent:self
+    ].
+
+    "Modified: / 31.1.2000 / 00:56:31 / cg"
+    "Created: / 5.2.2000 / 13:42:10 / cg"
+!
+
+noAllItem
+    noAllItem isNil ifTrue:[
+        noAllItem := false asValue.
+        noAllItem addDependent:self
+    ].
+    ^  noAllItem
+!
+
+noAllItem:aValueHolder
+    noAllItem notNil ifTrue:[
+        noAllItem removeDependent:self
+    ].
+    noAllItem := aValueHolder.
+    noAllItem notNil ifTrue:[
+        noAllItem addDependent:self
+    ].
+!
+
+packageFilterOnInput
+    packageFilterOnInput isNil ifTrue:[
+        packageFilterOnInput := nil asValue.
+        packageFilterOnInput addDependent:self
+    ].
+    ^  packageFilterOnInput
+!
+
+packageFilterOnInput:aValueHolder
+    |prevFilter|
+
+    prevFilter := packageFilterOnInput value.
+    packageFilterOnInput notNil ifTrue:[
+        packageFilterOnInput removeDependent:self
+    ].
+    packageFilterOnInput := aValueHolder.
+    packageFilterOnInput notNil ifTrue:[
+        packageFilterOnInput addDependent:self
+    ].
+    prevFilter ~= packageFilterOnInput value ifTrue:[
+        self enqueueDelayedUpdateList
+    ].
+!
+
+protocolLabelHolder
+    ^ self pseudoListLabelHolder
+!
+
+protocolList
+    protocolList isNil ifTrue:[
+        protocolList := List new. "/ ValueHolder new
+    ].
+    ^ protocolList
+
+    "Modified: / 31.1.2000 / 00:56:31 / cg"
+    "Created: / 5.2.2000 / 13:42:10 / cg"
+!
+
+rawProtocolList
+    rawProtocolList isNil ifTrue:[
+        rawProtocolList := List new.
+    ].
+    ^ rawProtocolList
+!
+
+selectedProtocolIndices
+    selectedProtocolIndices isNil ifTrue:[
+        selectedProtocolIndices := ValueHolder new.
+        selectedProtocolIndices addDependent:self
+    ].
+    ^ selectedProtocolIndices.
+!
+
+selectedProtocols
+    ^ self selectionHolder
+!
+
+selectedProtocols:aValueHolder
+    ^ self selectionHolder:aValueHolder
+!
+
+showPseudoProtocols
+    showPseudoProtocols isNil ifTrue:[
+        showPseudoProtocols := true asValue.
+        showPseudoProtocols addDependent:self
+    ].
+    ^  showPseudoProtocols
+!
+
+showPseudoProtocols:aValueHolder
+    showPseudoProtocols notNil ifTrue:[
+        showPseudoProtocols removeDependent:self
+    ].
+    showPseudoProtocols := aValueHolder.
+    showPseudoProtocols notNil ifTrue:[
+        showPseudoProtocols addDependent:self
+    ].
+!
+
+variableFilter
+    variableFilter isNil ifTrue:[
+        variableFilter := false asValue.
+        variableFilter addDependent:self
+    ].
+    ^  variableFilter
+
+    "Modified: / 31.1.2000 / 00:56:31 / cg"
+    "Created: / 5.2.2000 / 13:42:10 / cg"
+!
+
+variableFilter:aValueHolder
+    variableFilter notNil ifTrue:[
+        variableFilter removeDependent:self
+    ].
+    variableFilter := aValueHolder.
+    variableFilter notNil ifTrue:[
+        variableFilter addDependent:self
+    ].
+
+    "Modified: / 31.1.2000 / 00:56:31 / cg"
+    "Created: / 5.2.2000 / 13:42:10 / cg"
+! !
+
+!MethodCategoryList methodsFor:'change & update'!
+
+classDefinitionChanged:aClass
+    |refetch anyChange|
+
+    anyChange := false.
+    refetch := [:oldClass | 
+                    |nm cls newClass|
+
+                    nm := oldClass theNonMetaclass name.
+                    oldClass isMeta ifTrue:[
+                        newClass := Smalltalk at:nm.
+                        newClass isNil ifTrue:[
+                            "/ Transcript showCR:'oops - browser lost class ' , nm.
+                            newClass := oldClass
+                        ] ifFalse:[
+                            newClass := newClass theMetaclass
+                        ]
+                    ] ifFalse:[
+                        newClass := Smalltalk at:nm
+                    ].
+                    newClass ~~ oldClass ifTrue:[
+                        anyChange := true.
+                    ].
+                    newClass
+            ].
+
+    classes := classes collect:refetch.
+    leafClasses := leafClasses collect:refetch.
+    anyChange ifTrue:[
+        self updateOutputGenerator
+    ].
+
+    "Modified: / 06-07-2011 / 11:44:13 / cg"
+!
+
+delayedUpdate:something with:aParameter from:changedObject
+    |sel oldMethod newMethod mthd selectedCategories selectedProtocolsHolder oldProtocol newProtocol
+     rawProtocolListHolder rawProtocolList oldSelectedProtocols newSelectedProtocols newIndices idx cls listView|
+
+    selectedProtocolsHolder := self selectedProtocols.
+    rawProtocolListHolder := self rawProtocolList.
+
+    changedObject == Smalltalk ifTrue:[
+        classes notNil ifTrue:[
+            something == #methodCategory ifTrue:[
+                cls := aParameter at:1.
+                (cls notNil and:[classes includesIdentical:cls]) ifTrue:[
+                    mthd := aParameter at:2.
+                    newProtocol := mthd category.
+                    oldProtocol := aParameter at:3.
+
+                    listValid == true ifTrue:[ self invalidateList ].
+
+                    selectedCategories := selectedProtocolsHolder value.
+                    selectedCategories size > 0 ifTrue:[
+                        selectedCategories := selectedCategories collect:[:each | each ifNil:[self class nameListEntryForNILCategory]].
+                        selectedCategories := selectedCategories collect:[:each | each string].
+
+                        ((selectedCategories includes:oldProtocol)
+                        or:[ (selectedCategories includes:newProtocol)
+                        or:[ selectedCategories includes:(self class nameListEntryForALL) ]])
+                        ifTrue:[
+                            self enqueueDelayedUpdateOutputGenerator "/ updateOutputGenerator.
+                        ].
+                    ].
+
+                ].
+                ^ self
+            ].
+
+            something == #methodInClass ifTrue:[
+                "/ a method has been added/removed/changed
+                cls := aParameter at:1.
+                (classes includesIdentical:cls) ifTrue:[
+                    sel := aParameter at:2.
+                    self flushMethodInfoForClassNamed:cls name selector:sel.
+                    oldMethod := aParameter at:3.
+                    newMethod := cls compiledMethodAt:sel.
+                    oldMethod notNil ifTrue:[
+                        variableFilter value size > 0 ifTrue:[
+                            "/ sigh - must invalidate
+                            listValid == true ifTrue:[ self invalidateList ].
+                        ].
+                        ^ self.
+                    ].
+                    "/ method was added - update the methodList
+                    "/ Q: is this needed (methodCategoryList should send me a new inGenerator)
+                    listValid == true ifTrue:[ self invalidateList ].
+
+                    "/ if its category is selected, updateOutputGenerator
+                    selectedCategories := selectedProtocolsHolder value.
+                    selectedCategories size > 0 ifTrue:[
+                        selectedCategories := selectedCategories collect:[:each | each ifNil:[self class nameListEntryForNILCategory]].
+                        selectedCategories := selectedCategories collect:[:each | each string].
+
+                        ((oldMethod notNil and:[selectedCategories includes:(oldMethod category)])
+                        or:[ (newMethod notNil and:[selectedCategories includes:(newMethod category)])])
+                        ifTrue:[
+                            self enqueueDelayedUpdateOutputGenerator "/ updateOutputGenerator.
+                        ].
+                    ].
+                ].
+                ^ self.
+            ].
+
+            something == #methodInClassRemoved ifTrue:[
+                cls := aParameter at:1.
+                (classes includesIdentical:cls) ifTrue:[
+                    sel := aParameter at:2.
+                    self flushMethodInfoForClassNamed:cls name selector:sel.
+                    "/ method was removed - update the list and output generator
+                    self invalidateList.
+                    "/ self updateOutputGenerator.
+                    self slaveMode value == true ifFalse:[
+                        self enqueueDelayedUpdateOutputGenerator.
+                    ]
+                ].
+                ^ self.
+            ].
+
+            (something == #classOrganization
+            or:[ something == #methodCategoryAdded
+            or:[ something == #methodCategoryRemoved
+            or:[ something == #methodCategoriesRemoved
+            or:[ something == #methodCategoryRenamed ]]]]) ifTrue:[
+                cls := (something == #classOrganization) ifTrue:aParameter ifFalse:[aParameter first].
+                (classes includesIdentical:cls) ifTrue:[
+                    listValid == true ifTrue:[ self invalidateList ].
+                ] ifFalse:[
+                    (classes contains:[:aClass | aClass name = cls name]) ifTrue:[
+                        listValid == true ifTrue:[ self invalidateList ].
+                        "/ self error:'obsolete class: should not happen'.
+                    ]
+                ].
+                ^ self.
+            ].
+
+            something == #projectOrganization ifTrue:[
+                aParameter notNil ifTrue:[
+                    cls := aParameter at:1.
+                    cls notNil ifTrue:[
+                        ((classes includes:cls theMetaclass)
+                        or:[(classes includes:cls theNonMetaclass)]) ifTrue:[
+                            self invalidateList.
+                            self slaveMode value == true ifFalse:[
+                                self enqueueDelayedUpdateOutputGenerator.
+                            ]
+                        ].
+                    ].
+                ] ifFalse:[
+                    listValid == true ifTrue:[ self invalidateList ].
+                ].
+                ^ self
+            ].
+
+            (something == #methodCoverageInformation) ifTrue:[
+                "/ already checked if it is one of my classes
+                listValid == true ifTrue:[ self invalidateList ].
+                ^ self
+            ].
+
+            (something == #classDefinition or:[something == #classVariables])
+            ifTrue:[
+                self classDefinitionChanged:aParameter.
+                ^ self
+            ].
+
+            "/ everything else is ignored    
+            "/ self halt.
+        ].
+        ^ self
+    ].
+
+    changedObject == self selectedProtocolIndices ifTrue:[
+        oldSelectedProtocols := selectedProtocolsHolder value ? #().
+        oldSelectedProtocols := oldSelectedProtocols collect:[:each | each ifNil:[self class nameListEntryForNILCategory]].
+        oldSelectedProtocols := oldSelectedProtocols collect:[:each | each string].
+        newSelectedProtocols := self getSelectedProtocolsFromIndices.
+        oldSelectedProtocols ~= newSelectedProtocols ifTrue:[
+            selectedProtocolsHolder value:newSelectedProtocols.
+        ].
+        newSelectedProtocols size > 1 ifTrue:[
+            (newSelectedProtocols includes:(self class nameListEntryForALL)) ifTrue:[
+                rawProtocolList := rawProtocolListHolder value.
+                idx := rawProtocolList indexOf: (newSelectedProtocols copy remove:(self class nameListEntryForALL); yourself) first.
+                idx ~~ 0 ifTrue:[
+                    (listView := self componentAt:#List) notNil ifTrue:[
+                        listView makeLineVisible:idx.
+                    ]
+                ]
+            ]
+        ].
+
+        ^ self
+    ].
+
+    changedObject == selectedProtocolsHolder ifTrue:[
+        rawProtocolList := rawProtocolListHolder value.
+        rawProtocolList size == 0 ifTrue:[
+            lastGeneratedProtocols := nil.
+            self updateList.
+            rawProtocolList := rawProtocolListHolder value.
+        ].
+        rawProtocolList notNil ifTrue:[
+            selectedCategories := selectedProtocolsHolder value ? #().
+            selectedCategories := selectedCategories collect:[:each | each ifNil:[self class nameListEntryForNILCategory]].
+            newIndices := selectedCategories 
+                            collect:[:each | rawProtocolList findFirst:[:p | p string = each string]].
+            newIndices := newIndices select:[:each | each ~~ 0].
+            newIndices ~= self selectedProtocolIndices value ifTrue:[
+                self selectedProtocolIndices 
+                    setValue:nil;                    "/ to force update
+                    value:newIndices.
+            ].
+            "/ cg: does not work (selecting all with testcase classes)
+            "/ don't see why, at the moment, but....
+            (lastGeneratedProtocols notNil
+            and:[(lastGeneratedProtocols includes:self class nameListEntryForALL)
+            and:[(selectedCategories ? #()) includes:self class nameListEntryForALL]])
+            ifTrue:[
+                "/ no need to update generator
+            ] ifFalse:[
+                self updateOutputGenerator.
+            ]
+        ].
+        ^ self
+    ].
+
+    (changedObject == variableFilter
+    or:[changedObject == filterClassVars
+    or:[changedObject == packageFilterOnInput]]) ifTrue:[
+        self invalidateList.
+        ^  self
+    ].
+
+    changedObject == methodVisibilityHolder ifTrue:[
+        self invalidateList.
+        self updateOutputGenerator.
+        ^  self
+    ].
+
+    lastGeneratedProtocols := nil.
+
+    changedObject == inGeneratorHolder ifTrue:[
+        selectedCategories := selectedProtocolsHolder value.
+
+        selectedCategories size > 0 ifTrue:[
+            oldSelectedProtocols := selectedCategories ? #().
+            oldSelectedProtocols := oldSelectedProtocols collect:[:each | each ifNil:[self class nameListEntryForNILCategory]].
+            oldSelectedProtocols := oldSelectedProtocols collect:[:each | each string].
+            self updateList.
+            rawProtocolList := rawProtocolListHolder value.
+            newSelectedProtocols := oldSelectedProtocols select:[:each | rawProtocolList includes:each].
+"/            selectedProtocolsHolder setValue:nil.                    "/ to force update
+            selectedProtocolsHolder value:newSelectedProtocols.
+            ^ self
+        ].
+    ].
+
+    super delayedUpdate:something with:aParameter from:changedObject
+
+    "Created: / 05-02-2000 / 13:42:10 / cg"
+    "Modified: / 23-09-2011 / 20:37:31 / cg"
+!
+
+getSelectedProtocolsFromIndices
+    |l|
+
+    l := self rawProtocolList value.
+    ^ self selectedProtocolIndices value collect:[:idx | l at:idx].
+!
+
+selectionChanged
+    |newSelectedCategories allEntry|
+
+    newSelectedCategories := self selectedProtocols value.
+
+    "/ the outputGenerator is only to be updated, if the output would really
+    "/ change ...
+    allEntry := self class nameListEntryForALL.
+
+    (lastSelectedProtocols notNil
+    and:[newSelectedCategories notNil
+    and:[(lastSelectedProtocols includes:(allEntry))
+    and:[newSelectedCategories includes:(allEntry)]]]) ifTrue:[
+        "/ no change ...
+        ^ self
+    ].
+
+    super selectionChanged.
+
+    "Created: / 5.2.2000 / 13:42:10 / cg"
+    "Modified: / 24.2.2000 / 14:12:12 / cg"
+!
+
+selectionChangedByClick
+    "we are not interested in that - get another notification
+     via the changed valueHolder"
+
+    lastSelectedProtocols := self getSelectedProtocolsFromIndices
+!
+
+update:something with:aParameter from:changedObject
+    |cls sel mthd oldMethod newMethod|
+
+    "/ some can be ignored immediately
+    changedObject == Smalltalk ifTrue:[
+        something isNil ifTrue:[
+            "/ self halt "/ huh - Smalltalk changed - so what ?
+            ^ self.
+        ].
+
+        something == #currentChangeSet ifTrue:[
+            listValid == true ifTrue:[ self invalidateList ].
+            ^ self.
+        ].
+
+        something == #methodInClass ifTrue:[
+            "/ a method has been added/removed/changed
+            cls := aParameter at:1.
+            (classes notNil and:[classes includesIdentical:cls]) ifFalse:[^ self].
+
+            sel := aParameter at:2.
+            self flushMethodInfoForClassNamed:cls name selector:sel.
+            oldMethod := aParameter at:3.
+            newMethod := cls compiledMethodAt:sel.
+            oldMethod notNil ifTrue:[
+                variableFilter value size > 0 ifTrue:[
+                    "/ sigh - must invalidate
+                    listValid ifTrue:[ self invalidateList ].
+                    ^ self.    
+                ].
+                oldMethod category ~= newMethod category ifTrue:[
+                    listValid ifTrue:[ self invalidateList ].
+                    ^ self.    
+                ].
+                "/ mhmh - its now changed (so coloring will change).
+                listValid ifTrue:[ self invalidateList ].
+                ^ self.
+            ].
+        ].
+
+"/        something == #classDefinition ifTrue:[
+"/            ^ self.
+"/        ].
+        something == #newClass ifTrue:[
+            ^ self.
+        ].
+        something == #classRemove ifTrue:[
+            ^ self.
+        ].
+        something == #classRename ifTrue:[
+            ^ self.
+        ].
+"/        something == #classVariables ifTrue:[
+"/            ^ self.
+"/        ].
+        something == #classComment ifTrue:[
+            ^ self.
+        ].
+        something == #organization ifTrue:[
+            ^ self.
+        ].
+        something == #methodTrap ifTrue:[
+            ^ self
+        ].
+
+        something == #methodCoverageInfo ifTrue:[
+            self showCoverageInformation value ifFalse:[^ self].
+            listValid ifFalse:[^ self ].
+
+            mthd := aParameter.
+            (classes notNil and:[classes includesIdentical:mthd mclass]) ifFalse:[^ self].
+
+            self enqueueDelayedUpdateList.
+            ^ self
+        ].
+    ].
+
+    something == #coverageInfo ifTrue:[
+        listValid == true ifTrue:[
+            self enqueueDelayedUpdateList
+        ].
+        ^ self.
+    ].
+
+    super update:something with:aParameter from:changedObject.
+
+    "Modified: / 05-06-2012 / 23:38:31 / cg"
+! !
+
+!MethodCategoryList methodsFor:'drag & drop'!
+
+canDropContext:aDropContext
+    |cat methods|
+
+    methods := aDropContext dropObjects collect:[:obj | obj theObject].
+    (methods conform:[:aMethod | aMethod isMethod]) ifFalse:[^ false].
+
+    cat := self categoryAtTargetPointOf:aDropContext.
+    cat isNil ifTrue:[^ false].
+
+    (methods contains:[:aMethod | aMethod category ~= cat]) ifFalse:[^ false].
+    ^ true
+
+    "Modified: / 13-09-2006 / 11:44:02 / cg"
+!
+
+categoryAtTargetPointOf:aDropContext
+    |p methodListView lineNr cat|
+
+    p := aDropContext targetPoint.
+
+    methodListView := aDropContext targetWidget.
+
+    lineNr := methodListView lineAtY:p y.
+    lineNr isNil ifTrue:[^ nil].
+
+    cat := rawProtocolList at:lineNr.
+    cat := cat string.
+    cat = self class nameListEntryForALL ifTrue:[^ nil].
+
+    ^ cat
+!
+
+doDropContext:aDropContext
+    "handle dropping of a method as a category change"
+
+    |cat methods|
+
+    methods := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
+    (methods conform:[:something | something isMethod]) ifFalse:[^ self].
+
+    cat := self categoryAtTargetPointOf:aDropContext.
+    cat notNil ifTrue:[
+        self masterApplication moveMethods:methods toProtocol:cat.
+    ].
+
+    "Modified: / 13-09-2006 / 11:43:23 / cg"
+! !
+
+!MethodCategoryList methodsFor:'generators'!
+
+makeGenerator
+    "return a generator which enumerates the methods from the selected protocol;
+     that generator generates 4-element elements (includes the class and protocol), 
+     in order to make the consumers only depend on one input 
+     (i.e. to pass multiple-class and multiple-protocol info
+      without a need for another classHolder/protocolHolder in the methodList)."
+
+    ^ Iterator 
+        on:[:whatToDo |
+            |protocols 
+             allProtocols superSendProtocols uncommentedProtocols obsoleteProtocols 
+             documentationProtocols longProtocols extensionProtocols redefinedProtocols
+             redefineProtocols  overrideProtocols
+             missingRequiredProtocols subclassResponsibilities
+             notInstrumentedProtocols annotatedProtocols fullyCoveredProtocols 
+             partiallyCoveredProtocols uncoveredProtocols
+             noCat static notStatic classSelectorPairsAlreadyDone
+             packages remainingClasses remainingCategories classesAlreadyDone noPackage
+             catListed showChanged|
+
+            noPackage := PackageId noProjectID.
+            noCat := (self class nameListEntryForNILCategory).
+            static := (self class nameListEntryForStatic).
+            notStatic := (self class nameListEntryForNonStatic).
+
+            protocols := self selectedProtocols value ? #().
+            protocols := protocols collect:[:each | (each ifNil:[noCat]) string].
+            lastGeneratedProtocols := protocols.
+            protocols := protocols asSet.
+
+            (leafClasses size > 0 and:[protocols size > 0]) ifTrue:[
+                allProtocols := protocols includes:(self class nameListEntryForALL).
+                superSendProtocols := protocols includes:(self class nameListEntryForSuperSend).
+                uncommentedProtocols := protocols includes:(self class nameListEntryForUncommented).
+                obsoleteProtocols := protocols includes:(self class nameListEntryForObsolete).
+                documentationProtocols := protocols includes:(self class nameListEntryForDocumentation).
+                longProtocols := protocols includes:(self class nameListEntryForLong).
+                extensionProtocols := protocols includes:(self class nameListEntryForExtensions).
+                redefinedProtocols := protocols includes:(self class nameListEntryForRedefined).
+                redefineProtocols := protocols includes:(self class nameListEntryForRedefine).
+                overrideProtocols := protocols includes:(self class nameListEntryForOverride).
+                missingRequiredProtocols := protocols includes:(self class nameListEntryForRequired).
+                subclassResponsibilities := protocols includes:(self class nameListEntryForMustBeRedefinedInSubclass).
+                annotatedProtocols := protocols includes:(self class nameListEntryForAnnotated).
+
+                fullyCoveredProtocols := protocols includes:(self class nameListEntryForFullyCovered).
+                partiallyCoveredProtocols := protocols includes:(self class nameListEntryForPartiallyCovered).
+                uncoveredProtocols := protocols includes:(self class nameListEntryForUncovered).
+                notInstrumentedProtocols := protocols includes:(self class nameListEntryForNotInstrumented).
+            
+                packages := packageFilter value value.
+                (packages notNil and:[packages includes:(self class nameListEntryForALL)]) ifTrue:[
+                    packages := nil.
+                ].
+                showChanged := packages notNil and:[packages includes:(self class nameListEntryForChanged)].
+
+                remainingClasses := leafClasses copy asIdentitySet.
+                remainingCategories := protocols copy asSet.
+
+                classesAlreadyDone := IdentitySet new.
+                classSelectorPairsAlreadyDone := Set new.
+
+                leafClasses do:[:aLeafClass |  
+                    (self classesToProcessForClasses:(Array with:aLeafClass)) do:[:aClass |
+                        |supportsMethodCategories isJavaClass anyInThisClass requiredProtocolForClass|
+
+                        (classesAlreadyDone includes:aClass) ifFalse:[
+                            classesAlreadyDone add:aClass.
+
+                            supportsMethodCategories := aClass supportsMethodCategories.
+                            isJavaClass := aClass isJavaClass.
+                            anyInThisClass := false.
+
+                            aClass methodDictionary keysAndValuesDo:[:sel :mthd |
+                                |cat mPkg includeIt info|
+
+"/ sel == #metacelloCleanup ifTrue:[self halt].
+                                supportsMethodCategories ifTrue:[
+                                    cat := mthd category.
+                                ] ifFalse:[
+                                    isJavaClass ifTrue:[
+                                        cat := mthd isStatic ifTrue:[static] ifFalse:[notStatic]
+                                    ] ifFalse:[
+                                        cat := noCat.
+                                    ]
+                                ].
+                                catListed := cat.
+
+                                mPkg := mthd package.
+                                (packages isNil 
+                                    or:[ mPkg = noPackage 
+                                    or:[ (packages includes:mPkg)
+                                    or:[ allProtocols "(extensionProtocols and:[ mthd isExtension ])"
+                                    or:[ showChanged    
+                                    ]]]]
+                                ) ifTrue:[
+                                    "/ used to be a more readable or, but to reuse info, I've splitted it.
+                                    "/ because we should use the parser only once, we reuse the same methodInfo.
+                                    "/ otherwise, the list update becomes too slow for long classes (NewSystemBrowser)
+                                    includeIt := allProtocols.
+                                    includeIt ifFalse:[ includeIt := protocols includes:cat ].
+                                    includeIt ifFalse:[
+                                        superSendProtocols ifTrue:[
+                                            info isNil ifTrue:[ info := self methodInfoFor:mthd in:aClass selector:sel ].
+                                            includeIt := info sendsSuper ]]. 
+                                    includeIt ifFalse:[
+                                        uncommentedProtocols ifTrue:[
+                                            info isNil ifTrue:[ info := self methodInfoFor:mthd in:aClass selector:sel ].
+                                            includeIt := info isUncommented.
+                                            catListed := self class nameListEntryForUncommented ]]. 
+                                    includeIt ifFalse:[ 
+                                        obsoleteProtocols ifTrue:[
+                                            info isNil ifTrue:[ info := self methodInfoFor:mthd in:aClass selector:sel ].
+                                            includeIt := info isObsolete ]]. 
+                                    includeIt ifFalse:[ 
+                                        documentationProtocols ifTrue:[
+                                            info isNil ifTrue:[ info := self methodInfoFor:mthd in:aClass selector:sel ].
+                                            includeIt := info isDocumentationMethod ]].
+                                    includeIt ifFalse:[ 
+                                        longProtocols ifTrue:[
+                                            info isNil ifTrue:[ info := self methodInfoFor:mthd in:aClass selector:sel ].
+                                            includeIt := info isLongMethod ]].
+                                    includeIt ifFalse:[ 
+                                        extensionProtocols ifTrue:[
+                                            info isNil ifTrue:[ info := self methodInfoFor:mthd in:aClass selector:sel ].
+                                            includeIt := info isExtensionMethod.
+                                            catListed := self class nameListEntryForExtensions ]].
+                                    includeIt ifFalse:[ 
+                                        overrideProtocols ifTrue:[
+                                            info isNil ifTrue:[ info := self methodInfoFor:mthd in:aClass selector:sel ].
+                                            includeIt := info isOverride ]].
+"/                                    includeIt ifFalse:[ 
+"/                                        redefinedProtocols ifTrue:[
+"/                                            info isNil ifTrue:[ info := self methodInfoFor:mthd in:aClass selector:sel ].
+"/                                            includeIt := info isRedefined ]].
+                                    includeIt ifFalse:[ 
+                                        redefineProtocols ifTrue:[
+                                            info isNil ifTrue:[ info := self methodInfoFor:mthd in:aClass selector:sel ].
+                                            includeIt := info isRedefine ]].
+                                    includeIt ifFalse:[
+                                        subclassResponsibilities ifTrue:[
+                                            info isNil ifTrue:[ info := self methodInfoFor:mthd in:aClass selector:sel ].
+                                            includeIt := info isSubclassResponsibility ]].
+                                    includeIt ifFalse:[
+                                        annotatedProtocols ifTrue:[
+                                            info isNil ifTrue:[ info := self methodInfoFor:mthd in:aClass selector:sel ].
+                                            includeIt := info isAnnotated ]].
+
+                                    includeIt ifFalse:[
+                                        mthd isInstrumented ifTrue:[
+                                            mthd hasBeenCalled ifTrue:[
+                                                mthd haveAllBlocksBeenExecuted ifTrue:[
+                                                    includeIt := fullyCoveredProtocols.
+                                                ] ifFalse:[
+                                                    includeIt := partiallyCoveredProtocols 
+                                                ]
+                                            ] ifFalse:[
+                                                includeIt := uncoveredProtocols
+                                            ].
+                                        ] ifFalse:[
+                                            includeIt := notInstrumentedProtocols
+                                        ].
+                                    ].
+
+                                    includeIt ifTrue:[
+                                        (methodVisibilityHolder value == #class) ifTrue:[
+                                            whatToDo value:aClass value:catListed value:sel value:mthd.
+                                        ] ifFalse:[
+                                            (classSelectorPairsAlreadyDone includes:(aLeafClass->sel)) ifFalse:[
+                                                classSelectorPairsAlreadyDone add:(aLeafClass->sel).
+                                                whatToDo value:aClass value:catListed value:sel value:mthd.
+                                            ].
+                                        ].
+                                        anyInThisClass := true.
+                                        remainingCategories remove:catListed ifAbsent:nil.
+                                    ].
+                                ]
+                            ].
+
+                            missingRequiredProtocols ifTrue:[
+                                requiredProtocolForClass := SmalltalkCodeGeneratorTool missingRequiredProtocolFor:aClass.
+                                requiredProtocolForClass do:[:sel | 
+                                    |selectorInRed missingMethodPlaceHolder|
+
+                                    selectorInRed := sel colorizeAllWith:Color red.
+                                    missingMethodPlaceHolder := MissingMethod mclass:aClass selector:sel.
+                                    whatToDo value:aClass value:'required' value:selectorInRed value:missingMethodPlaceHolder.
+                                ].
+                            ].
+                            anyInThisClass ifTrue:[ remainingClasses remove:aClass ifAbsent:nil. ].
+                        ].
+                    ].
+                ].
+                remainingClasses do:[:aClass |
+                    whatToDo value:aClass value:nil value:nil value:nil.
+                ].
+                remainingCategories do:[:cat |
+                    whatToDo value:nil value:cat value:nil value:nil.
+                ]
+            ]
+      ]
+
+    "Created: / 05-02-2000 / 13:42:10 / cg"
+    "Modified: / 18-09-2011 / 12:51:45 / cg"
+! !
+
+!MethodCategoryList methodsFor:'private'!
+
+class:cls protocol:cat includesMethodsInAnyPackage:packageFilter
+    cls methodDictionary keysAndValuesDo:[:sel :mthd |
+        mthd category == cat ifTrue:[
+            (packageFilter includes:mthd package) ifTrue:[
+                ^ true
+            ]
+        ]
+    ].
+    ^ false
+!
+
+class:cls protocol:cat includesModsOfClassVariable:variablesToHighLight
+    "are there any methods in the protocol cat which modify any class variable in variablesToHighLight ?"
+
+    ^ self class:cls protocol:cat includesRefsToVariable:variablesToHighLight askParserWith:#modifiedClassVars
+!
+
+class:cls protocol:cat includesModsOfInstanceVariable:variablesToHighLight
+    "are there any methods in the protocol cat which modify any inst variable in variablesToHighLight ?"
+
+    ^ self class:cls protocol:cat includesRefsToVariable:variablesToHighLight askParserWith:#modifiedInstVars
+!
+
+class:cls protocol:cat includesRefsToClassVariable:variablesToHighLight
+    "are there any methods in the protocol cat which reference any class variable in variablesToHighLight ?"
+
+    ^ self class:cls protocol:cat includesRefsToVariable:variablesToHighLight askParserWith:#usedClassVars
+!
+
+class:cls protocol:cat includesRefsToInstanceVariable:variablesToHighLight
+    "are there any methods in the protocol cat which reference any inst variable in variablesToHighLight ?"
+
+    ^ self class:cls protocol:cat includesRefsToVariable:variablesToHighLight askParserWith:#usedInstVars
+!
+
+class:cls protocol:cat includesRefsToVariable:variablesToHighLight askParserWith:querySelector
+    "are there any methods in the protocol cat which reference/modify any inst/class variable in variablesToHighLight ?"
+
+    |anyVarNameAccessable|
+
+    anyVarNameAccessable := cls allInstVarNames includesAny:variablesToHighLight.
+    anyVarNameAccessable ifFalse:[
+        anyVarNameAccessable := cls theNonMetaclass allClassVarNames includesAny:variablesToHighLight.
+    ].
+    anyVarNameAccessable ifFalse:[
+        "/ no need to parse
+        ^ false
+    ].
+
+    cls selectorsAndMethodsDo:[:sel :mthd |
+        |src parser usedVars|
+
+        mthd category = cat ifTrue:[
+            src := mthd source.
+            src notNil ifTrue:[
+                "
+                 before doing a slow parse, quickly scan the
+                 methods source for the variables name ...
+                "
+                (variablesToHighLight contains:[:varName | (src findString:varName) ~~ 0]) ifTrue:[
+                    parser := Parser
+                                    parseMethod:src 
+                                    in:cls 
+                                    ignoreErrors:true 
+                                    ignoreWarnings:true.
+                    (parser notNil and:[parser ~~ #Error]) ifTrue:[
+                        usedVars := parser perform:querySelector.
+                        (usedVars includesAny:variablesToHighLight)
+                        ifTrue:[
+                            ^  true
+                        ]
+                    ]
+                ]        
+            ] ifFalse:[
+                Transcript showCR:'Oops - cannot access method source'.
+            ]        
+        ]
+    ].
+    ^ false
+
+    "Modified: / 06-07-2011 / 11:44:25 / cg"
+!
+
+classesToProcessForClasses:classes
+    ^ self classesToProcessForClasses:classes withVisibility:methodVisibilityHolder value.
+!
+
+commonPostOpen
+    super commonPostOpen.
+
+    self showPseudoProtocols ifTrue:[
+        "/ revalidate my list, because it was only shown lazy
+        self invalidateList.
+    ].
+!
+
+flushMethodInfoForClassNamed:className selector:selector
+    MethodInfoCacheAccessLock critical:[
+        MethodInfoCache notNil ifTrue:[
+            MethodInfoCache 
+                removeKey:(className,'>>',selector)
+                ifAbsent:[]
+        ].
+    ]
+
+    "Modified: / 08-08-2011 / 19:16:32 / cg"
+!
+
+listOfMethodCategories
+    |categoryList categoryBag plainCategories classesProcessed leafClassesProcessed
+     generator nm variablesToHighlight classVarsToHighLight
+     itemsWithVarRefs itemsWithVarMods itemsWithExtensions itemsWithSuppressedExtensions
+     itemsInChangeSet itemsInRemoteChangeSet
+     itemsWithInstrumentedMethods itemsWithCalledMethods itemsWithUncalledMethods
+     itemsWithPartiallyCoveredMethods itemsWithFullyCoveredMethods
+     packageFilterOnInput packageFilter showChanges nameListEntryForALL changeSet 
+     emphasizedPlus emphasisForRef emphasisForMod
+     numAll numObsolete numSuper numUncommented numDocumentation numLong numOverride
+     numRedefine numRedefined numExtension numMissingRequired numSubclassResponsibility
+     numAnnotated numFullyCovered numPartiallyCovered numUncovered numNotInstrumented 
+     showPseudoProtocols showCoverageInformation
+     addPseudoEntry addPseudoEntryWithColor countAll pseudoEntryColor userPreferences
+     startTime suppressPseudoProtocolsNow needsSpecialColoring|
+
+    userPreferences := UserPreferences current.
+    countAll := true.
+    startTime := Timestamp now.
+    suppressPseudoProtocolsNow := false.
+
+    generator := inGeneratorHolder value.
+    generator isNil ifTrue:[ ^ #() ].
+
+    showPseudoProtocols := self showPseudoProtocols value.
+    showCoverageInformation := self showCoverageInformation value.
+
+    nameListEntryForALL := self class nameListEntryForALL.
+
+    packageFilterOnInput := self packageFilterOnInput value.
+    (packageFilterOnInput notNil and:[packageFilterOnInput includes:nameListEntryForALL]) ifTrue:[
+        packageFilterOnInput := nil
+    ].
+    packageFilter := self packageFilter value.
+    (packageFilter notNil and:[packageFilter includes:nameListEntryForALL]) ifTrue:[
+        packageFilter := nil
+    ].
+    showChanges := false.
+    (packageFilter notNil and:[packageFilter includes:self class nameListEntryForChanged]) ifTrue:[
+        showChanges := true
+    ].
+
+    categoryList := Set new.
+    categoryBag := Bag new.
+    itemsWithVarRefs := Set new.
+    itemsWithVarMods := Set new.
+    itemsWithExtensions := Set new.
+    itemsWithSuppressedExtensions := Set new.
+    itemsInChangeSet := Set new.
+    itemsInRemoteChangeSet := Set new.
+
+    itemsWithInstrumentedMethods := Set new.
+    itemsWithCalledMethods := Set new. 
+    itemsWithUncalledMethods := Set new. 
+    itemsWithPartiallyCoveredMethods := Set new.
+    itemsWithFullyCoveredMethods := Set new.
+
+    plainCategories := Set new.
+    classesProcessed := IdentitySet new.
+    leafClassesProcessed := IdentitySet new.
+    variablesToHighlight := variableFilter value.
+    classVarsToHighLight := filterClassVars value.
+    numObsolete := numSuper := numUncommented := numDocumentation := numLong := 0.
+    numRedefine := numRedefined := numOverride := numExtension := numMissingRequired := numSubclassResponsibility := 0.
+    numNotInstrumented := numFullyCovered := numPartiallyCovered := numUncovered := 0.
+    numAnnotated := 0.
+
+    generator do:[:clsIn :catIn | 
+                        |emptyProtocols clsName doHighLight doHighLightRed includedCats|
+
+                        includedCats := Set new.
+
+                        leafClassesProcessed add:clsIn.
+                        (self classesToProcessForClasses:(Array with:clsIn)) do:[:cls |
+                            |cats processCategory|
+
+                            classesProcessed add:cls.
+
+                            cls ~~ clsIn ifTrue:[
+                                cats := cls categories
+                            ] ifFalse:[
+                                cats := Array with:catIn.
+                            ].
+                            cats do:[:cat | 
+                                |suppress|
+
+                                cat notNil ifTrue:[
+                                    suppress := packageFilterOnInput notNil 
+                                                and:[ (self class:cls protocol:cat includesMethodsInAnyPackage:packageFilterOnInput) not ].
+                                    suppress ifFalse:[
+                                        includedCats add:cat.
+
+                                        variablesToHighlight notEmptyOrNil ifTrue:[
+                                            (itemsWithVarRefs includes:cat) ifFalse:[
+                                                classVarsToHighLight ifTrue:[
+                                                    doHighLight := self class:cls protocol:cat includesRefsToClassVariable:variablesToHighlight.
+                                                    doHighLight ifTrue:[
+                                                        doHighLightRed := self class:cls protocol:cat includesModsOfClassVariable:variablesToHighlight.
+                                                    ].
+                                                ] ifFalse:[
+                                                    doHighLight := self class:cls protocol:cat includesRefsToInstanceVariable:variablesToHighlight.
+                                                    doHighLight ifTrue:[
+                                                        doHighLightRed := self class:cls protocol:cat includesModsOfInstanceVariable:variablesToHighlight.
+                                                    ].
+                                                ].
+                                                doHighLight ifTrue:[
+                                                    itemsWithVarRefs add:cat.
+                                                    doHighLightRed ifTrue:[
+                                                        itemsWithVarMods add:cat.
+                                                    ].
+                                                ]
+                                            ]
+                                        ].
+
+                                        AdditionalEmptyCategoriesPerClassName size > 0 ifTrue:[
+                                            clsName := cls name.
+                                            emptyProtocols := AdditionalEmptyCategoriesPerClassName at:clsName ifAbsent:nil.
+                                            emptyProtocols size > 0 ifTrue:[
+                                                emptyProtocols remove:cat ifAbsent:nil.    
+                                            ].
+                                            emptyProtocols size == 0 ifTrue:[
+                                                AdditionalEmptyCategoriesPerClassName removeKey:clsName ifAbsent:nil
+                                            ].
+                                        ].
+                                    ]
+                                ]
+                            ].
+
+                            cats := cats asSet.
+
+                            cls selectorsAndMethodsDo:[:sel :mthd |
+                                |info cat suppress|
+
+                                (includedCats includes:(cat := mthd category)) ifTrue:[
+                                    suppress := packageFilter notNil 
+                                                and:[ (packageFilter includes:mthd package) not 
+                                                and:[ showChanges not ]].
+                                    suppress ifFalse:[
+                                        categoryBag add:cat.
+                                        suppressPseudoProtocolsNow ifFalse:[
+                                            info := self methodInfoFor:mthd in:cls selector:sel lazy:suppressPseudoProtocolsNow.
+                                            info notNil ifTrue:[
+                                                info isObsolete ifTrue:[ numObsolete := numObsolete + 1 ].
+                                                info sendsSuper ifTrue:[ numSuper := numSuper + 1 ].
+                                                info isUncommented ifTrue:[ numUncommented := numUncommented + 1 ].
+                                                info isDocumentationMethod ifTrue:[ numDocumentation := numDocumentation + 1 ].
+                                                info isLongMethod ifTrue:[ numLong := numLong + 1 ].
+                                                info isExtensionMethod ifTrue:[ numExtension := numExtension + 1 ].
+                                                info isOverride ifTrue:[ numOverride := numOverride + 1 ].
+                                                info isRedefine ifTrue:[ numRedefine := numRedefine + 1 ].
+                                                info isRedefined ifTrue:[ numRedefined := numRedefined + 1 ].
+                                                info isSubclassResponsibility ifTrue:[ numSubclassResponsibility := numSubclassResponsibility + 1].
+                                                info isAnnotated ifTrue:[ numAnnotated := numAnnotated + 1].
+                                            ].
+                                            (Timestamp now deltaFrom:startTime) > 5 seconds ifTrue:[
+                                                suppressPseudoProtocolsNow := true.
+                                                "/ because we already computed for 5 seconds, more and more will be found in
+                                                "/ the cache, and eventually, pseudo protocols will be shown anyway
+                                                masterApplication showInfo:'suppress pseudo protocols - parsing took too long'.
+                                                "/ self enqueueDelayedUpdateList.
+                                            ].
+                                        ]
+                                    ]
+                                ].
+                            ].
+                        ]
+                 ].
+
+    numAll := 0.
+
+    changeSet := ChangeSet current.
+
+    classesProcessed do:[:eachClass |
+        |classPackage required|
+
+        classPackage := eachClass package.
+        eachClass methodDictionary keysAndValuesDo:[:mSelector :mthd |
+            |mPackage mCategory|
+
+            mPackage := mthd package.
+            mCategory := mthd category.    
+
+            #fixme.
+            mPackage = classPackage ifTrue:[
+                mPackage ~~ classPackage ifTrue:[
+                    mthd setPackage:(mPackage := mPackage string asSymbol).
+                ]
+            ].
+            mPackage ~~ classPackage ifTrue:[
+                (mCategory notNil and:[mPackage ~= PackageId noProjectID]) ifTrue:[
+                    itemsWithExtensions add:mCategory.    
+
+                    (packageFilter notNil 
+                    and:[ (packageFilter includes:mPackage) not])
+                    ifTrue:[
+                        itemsWithSuppressedExtensions add:mCategory.    
+                    ].
+                ].
+            ].
+
+            showCoverageInformation ifTrue:[
+                mthd isInstrumented ifTrue:[
+                    mthd category = 'documentation' ifFalse:[
+                        itemsWithInstrumentedMethods add:mCategory.
+                        mthd hasBeenCalled ifTrue:[
+                            itemsWithCalledMethods add:mCategory.
+                            mthd haveAllBlocksBeenExecuted ifTrue:[
+                                itemsWithFullyCoveredMethods add:mCategory.
+                                numFullyCovered := numFullyCovered + 1.
+                            ] ifFalse:[
+                                itemsWithPartiallyCoveredMethods add:mCategory.
+                                numPartiallyCovered := numPartiallyCovered + 1.
+                            ].
+                        ] ifFalse:[
+                            itemsWithUncalledMethods add:mCategory.
+                            numUncovered := numUncovered + 1.
+                        ].
+                    ].
+                ] ifFalse:[
+                    numNotInstrumented := numNotInstrumented + 1.
+                ].
+            ].
+            (changeSet includesChangeForClass:eachClass selector:mSelector) ifTrue:[
+                itemsInChangeSet add:mCategory.    
+            ].
+            (SmallTeam notNil and:[ SmallTeam includesChangeForClass:eachClass selector:mSelector] ) ifTrue:[
+                itemsInRemoteChangeSet add:mCategory.    
+            ].
+        ].
+
+        (packageFilter isNil or:[ packageFilter includes:eachClass package ]) ifTrue:[
+            (suppressPseudoProtocolsNow not and:[showPseudoProtocols]) ifTrue:[
+                "/ see if there is a subclassResponsibility in a superclass
+                required := SmalltalkCodeGeneratorTool missingRequiredProtocolFor:eachClass.
+                numMissingRequired := numMissingRequired + required size.
+            ].
+        ].
+        numAll := numAll + (eachClass methodDictionary size)
+    ].
+
+    pseudoEntryColor := self class pseudoEntryForegroundColor.
+
+    categoryList := categoryBag asSet asOrderedCollection.
+    self rawProtocolList removeAll.
+    rawProtocolList addAll:categoryList.
+
+    emphasizedPlus := (self colorizeForDifferentPackage:' [ + ]').
+    emphasisForRef := userPreferences emphasisForReadVariable.
+    emphasisForMod := userPreferences emphasisForWrittenVariable.
+
+    needsSpecialColoring :=
+        (itemsInChangeSet notEmpty 
+        or:[itemsInRemoteChangeSet notEmpty
+        or:[itemsWithExtensions notEmpty
+        or:[itemsWithVarRefs notEmpty
+        or:[itemsWithInstrumentedMethods notEmpty
+        or:[itemsWithCalledMethods notEmpty
+        or:[itemsWithUncalledMethods notEmpty
+        or:[itemsWithFullyCoveredMethods notEmpty
+        or:[itemsWithPartiallyCoveredMethods notEmpty]]]]]]]]).
+
+    rawProtocolList keysAndValuesDo:[:idx :cat |
+        |item inChangeSet inRemoteChangeSet hasExtensions hasVarRef hasVarMod
+         clr|
+
+        item := cat.
+
+        needsSpecialColoring ifTrue:[
+            inChangeSet := false.
+
+            showCoverageInformation ifTrue:[
+                (itemsWithInstrumentedMethods includes:cat) ifTrue:[
+                    (itemsWithCalledMethods includes:cat) ifTrue:[
+                        (itemsWithPartiallyCoveredMethods includes:cat) ifTrue:[
+                            clr := (userPreferences colorForInstrumentedPartiallyCoveredCode).
+                        ] ifFalse:[
+                            (itemsWithUncalledMethods includes:cat) ifTrue:[
+                                clr := (userPreferences colorForInstrumentedPartiallyCoveredCode).
+                            ] ifFalse:[
+                                 clr := (userPreferences colorForInstrumentedFullyCoveredCode).
+                            ]                    
+                        ]
+                    ] ifFalse:[
+                        clr := (userPreferences colorForInstrumentedNeverCalledCode).
+                    ].
+                    item := self colorize:cat with:(#color -> clr).
+                ]
+            ].
+            clr isNil ifTrue:[
+                inChangeSet := itemsInChangeSet includes:cat.
+                inChangeSet ifTrue:[
+                    item := self colorizeForChangedCode:cat.
+                ].
+
+                inRemoteChangeSet := itemsInRemoteChangeSet includes:cat.
+                inRemoteChangeSet ifTrue:[
+                    item := (self colorizeForChangedCodeInSmallTeam:'!! '),item.
+                ].
+            ].
+
+            hasVarRef := itemsWithVarRefs includes:cat.
+            hasVarRef ifTrue:[
+                hasVarMod := itemsWithVarMods includes:cat.
+                item := item asText 
+                            emphasisAllAdd:(hasVarMod ifTrue:[emphasisForMod] ifFalse:[emphasisForRef]).
+            ].
+        ].
+
+
+        item := item , ((' (%1)' bindWith:(categoryBag occurrencesOf:cat)) 
+                            colorizeAllWith:pseudoEntryColor).
+
+        needsSpecialColoring ifTrue:[
+            hasExtensions := itemsWithExtensions includes:cat.
+            hasExtensions ifTrue:[
+                item := item , emphasizedPlus.
+            ].
+            inChangeSet ifTrue:[
+                item := item , self class markForBeingInChangeList.
+            ].
+        ].
+
+        categoryList at:idx put:item.
+    ].
+
+    classesProcessed size > 0 ifTrue:[
+        "/ those are simulated - in ST/X, empty categories do not
+        "/ really exist; however, during browsing, it makes sense.
+        AdditionalEmptyCategoriesPerClassName size > 0 ifTrue:[
+            AdditionalEmptyCategoriesPerClassName keysAndValuesDo:[:clsName :protocols |
+                (classesProcessed contains:[:cls | cls name = clsName]) ifTrue:[
+                    categoryList addAll:protocols.
+                    rawProtocolList addAll:protocols.
+                ]
+            ]
+        ].
+    ].
+
+    self makeIndependent.
+    classes := classesProcessed.
+    leafClasses := leafClassesProcessed.
+    self makeDependent.
+
+    rawProtocolList sortWith:categoryList.
+    categoryList size == 1 ifTrue:[
+        nm := categoryList first string.
+        classes size == 1 ifTrue:[
+            nm := classes first name , '-' , nm
+        ].
+        self protocolLabelHolder value:nm
+    ].
+
+    categoryList notEmpty ifTrue:[
+        noAllItem value ~~ true ifTrue:[
+            |allName|
+
+            countAll ifTrue:[
+                allName := self class nameListEntryForALLWithCount bindWith:numAll.
+            ] ifFalse:[
+                allName := nameListEntryForALL.
+            ].
+            categoryList addFirst:(allName allItalic colorizeAllWith:pseudoEntryColor).
+            rawProtocolList addFirst:nameListEntryForALL.
+        ].
+    ].
+
+    (suppressPseudoProtocolsNow not and:[showPseudoProtocols]) ifTrue:[
+        addPseudoEntryWithColor := [:s :n :clr | 
+                                n > 0 ifTrue:[
+                                    categoryList 
+                                        add:((s bindWith:n) allItalic colorizeAllWith:clr).
+                                    rawProtocolList add:s.
+                                ].
+                           ].
+
+        addPseudoEntry := [:s :n | addPseudoEntryWithColor value:s value:n value:pseudoEntryColor].
+
+        addPseudoEntry value:self class nameListEntryForAnnotated value:numAnnotated.
+        addPseudoEntry value:self class nameListEntryForDocumentation value:numDocumentation.
+        addPseudoEntry value:self class nameListEntryForExtensions value:numExtension.
+        addPseudoEntry value:self class nameListEntryForLong value:numLong.
+        addPseudoEntry value:self class nameListEntryForMustBeRedefinedInSubclass value:numSubclassResponsibility.
+        addPseudoEntry value:self class nameListEntryForObsolete value:numObsolete.
+        addPseudoEntry value:self class nameListEntryForOverride value:numOverride.
+        addPseudoEntry value:self class nameListEntryForRedefine value:numRedefine.
+        addPseudoEntry value:self class nameListEntryForRedefined value:numRedefined.
+        "/ I think red is too much of an alert color (and we get more of them as we think...)
+"/        numMissingRequired > 0 ifTrue:[
+"/            categoryList add:((self class nameListEntryForRequired bindWith:numMissingRequired) allItalic "colorizeAllWith:Color red").
+"/            rawProtocolList add:self class nameListEntryForRequired.
+"/        ].
+        addPseudoEntry value:self class nameListEntryForRequired value:numMissingRequired.
+        addPseudoEntry value:self class nameListEntryForSuperSend value:numSuper.
+        addPseudoEntry value:self class nameListEntryForUncommented value:numUncommented.
+
+        showCoverageInformation ifTrue:[                                                                              
+            addPseudoEntry value:self class nameListEntryForNotInstrumented value:numNotInstrumented.
+            addPseudoEntryWithColor value:self class nameListEntryForUncovered value:numUncovered value:userPreferences colorForInstrumentedNeverCalledCode.
+            addPseudoEntryWithColor value:self class nameListEntryForPartiallyCovered value:numPartiallyCovered value:userPreferences colorForInstrumentedPartiallyCoveredCode.
+            addPseudoEntryWithColor value:self class nameListEntryForFullyCovered value:numFullyCovered value:userPreferences colorForInstrumentedFullyCoveredCode.
+        ].
+
+    ].
+    ^ categoryList
+
+    "Created: / 05-02-2000 / 13:42:11 / cg"
+    "Modified: / 31-08-2011 / 16:26:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 08-09-2011 / 04:56:47 / cg"
+!
+
+makeDependent
+    Smalltalk addDependent:self.
+"/    ChangeSet addDependent:self.
+
+    "Modified: / 10-11-2006 / 17:57:13 / cg"
+!
+
+makeIndependent
+    Smalltalk removeDependent:self.
+"/    ChangeSet removeDependent:self.
+!
+
+release
+    super release.
+
+    filterClassVars removeDependent:self.
+    methodVisibilityHolder removeDependent:self.
+    noAllItem removeDependent:self.
+    packageFilterOnInput removeDependent:self.
+    selectedProtocolIndices removeDependent:self.
+    variableFilter removeDependent:self.
+!
+
+updateList
+    |prevClasses prevSelection newSelection newList oldList sameContents selectedProtocolsHolder rawList|
+
+    selectedProtocolsHolder := self selectedProtocols.
+    
+    prevClasses := classes isNil ifTrue:[ #() ] ifFalse:[ classes copy ].
+    oldList := self protocolList value copy.
+    newList := self listOfMethodCategories.
+
+    "/ oldListSize := self browserNameList size.
+    "/ newListSize := newList size.
+    self selectedProtocolIndices removeDependent:self.
+    sameContents := self updateListFor:newList.
+    self selectedProtocolIndices addDependent:self.
+    sameContents ifFalse:[
+        prevSelection := lastSelectedProtocols ? (selectedProtocolsHolder value) ? #().
+        "/ prevSelection := selectedProtocolsHolder value ? lastSelectedProtocols ? #().
+
+        rawList := self rawProtocolList value.
+        newSelection := prevSelection select:[:item | rawList includes:item string].
+
+        newSelection size > 0 ifTrue:[
+            "/ force change (for dependents)
+"/                selectedProtocolsHolder value:nil.
+"/                selectedProtocolsHolder value:newSelection.
+            selectedProtocolsHolder setValue:newSelection.
+            selectedProtocolsHolder removeDependent:self.    
+            selectedProtocolsHolder changed:#value.
+            selectedProtocolsHolder addDependent:self.    
+        ] ifFalse:[
+            prevSelection := selectedProtocolsHolder value.
+            selectedProtocolsHolder value:nil.
+        ].
+        (prevSelection size > 0 or:[newSelection size > 0]) ifTrue:[
+            self enqueueDelayedUpdateOutputGenerator.
+            "/ self updateOutputGenerator.
+        ].
+
+"/        prevSelection notNil ifTrue:[
+"/            lastSelectedProtocols := prevSelection.
+"/        ].
+    ] ifTrue:[
+        "/ same list - but classes might have changed
+        "/ that is the case, if the class selection has been changed,
+        "/ to another class which has the same categories.
+        (prevClasses size ~= classes size 
+        or:[prevClasses asOrderedCollection ~= (classes ? #()) asOrderedCollection ]) ifTrue:[
+            (newList size > 0 or:[oldList size > 0]) ifTrue:[
+                self updateOutputGenerator
+            ]
+        ] ifFalse:[
+"/                self protocolList value:newList.
+        ]
+    ].
+    listValid := true.
+
+    "Created: / 05-02-2000 / 13:42:11 / cg"
+    "Modified: / 23-03-2012 / 15:53:41 / cg"
+! !
+
+!MethodCategoryList methodsFor:'private-info'!
+
+methodInfoFor:aMethod in:mclass selector:selector
+    ^ self methodInfoFor:aMethod in:mclass selector:selector lazy:false
+
+    "Modified: / 08-08-2011 / 18:21:03 / cg"
+!
+
+methodInfoFor:aMethod in:mclass selector:selector lazy:lazy
+    |info isDocumentationMethod isVersionMethod def methodsPackage|
+
+    "/ the first at:ifAbsent: is aktually not needed - it is here to
+    "/ reduce the average blocking time, and to allow for debugging the info generating
+    "/ code without deadlock
+    MethodInfoCacheAccessLock critical:[
+        info := MethodInfoCache at:aMethod "(mclass name,'>>',selector)" ifAbsent:nil.
+    ].
+    info isNil ifTrue:[
+        lazy ifTrue:[
+            "/ TODO: start a background thread to compute the stuff below,
+            "/ notify me to update the list, when all the lazy info is avail...
+        ] ifFalse:[
+            true "aMethod mclass language isSmalltalk" ifTrue:[
+                methodsPackage := aMethod package.
+
+                isVersionMethod := aMethod isVersionMethod.
+                isDocumentationMethod := isVersionMethod not and:[aMethod isDocumentationMethod].
+
+                info := CachedMethodInfo new.
+                info isObsolete:(aMethod isObsolete). "/ (aMethod isObsolete).
+                info sendsSuper:(aMethod superMessages notEmptyOrNil). "/ (aMethod superMessages notEmptyOrNil).
+                info isUncommented:(self methodIsMarkedAsUncommented:aMethod). "/ (self methodIsMarkedAsUncommented:aMethod).
+                info isDocumentationMethod:isDocumentationMethod.
+                info isLongMethod:(self methodIsMarkedAsLong:aMethod). "/ (self methodIsMarkedAsLong:aMethod).
+
+                methodsPackage ~= mclass package ifTrue:[
+                    methodsPackage ~= #'__NoProject__' ifTrue:[
+                        info isExtensionMethod:true.
+                        info isOverride:(
+                                          ((def := methodsPackage asPackageId projectDefinitionClass) notNil
+                                          and:[ (def methodOverwrittenBy:aMethod ) notNil ]) 
+                                        )
+                    ]
+                ] ifFalse:[
+                    info isExtensionMethod:false.
+                    info isOverride:false.
+                ].
+                info isRedefine:(
+                                    ( isVersionMethod not
+                                    and:[ isDocumentationMethod not
+                                    and:[ mclass superclass notNil
+                                    and:[ (mclass superclass whichClassIncludesSelector:selector ) notNil ]]]) 
+                                ).
+"/ too expensive - makes browser slow
+"/                info isRedefined:(
+"/                                    ( isVersionMethod not
+"/                                    and:[ isDocumentationMethod not
+"/                                    and:[ mclass allSubclasses contains:[:cls | cls includesSelector:selector ]]]) 
+"/                                ).
+
+                info isSubclassResponsibility:( aMethod sends:#subclassResponsibility or:#subclassResponsibility: ).
+                info isAnnotated:(aMethod hasAnnotation).
+
+                MethodInfoCacheAccessLock critical:[
+                    MethodInfoCache at:aMethod "(mclass name,'>>',selector)" put:info
+                ].
+            ].
+        ].
+    ].
+    ^ info
+
+    "Created: / 08-08-2011 / 18:18:14 / cg"
+!
+
+methodIsMarkedAsLong:aMethod
+    "if true, it will be also categorized under the pseudo category 'long'"
+
+    |src ast linesWithCode visitor|
+
+    src := aMethod source ? ''.
+    src asCollectionOfLines size < UserPreferences current numberOfLinesForLongMethod "~~30" ifTrue:[^ false].
+
+    "/ ok, it is long;
+    "/ but do not blame the user for writing documentation (dont count comments),
+    "/ or using literal arrays
+    RBParser notNil ifTrue:[
+        ast := RBParser parseMethod:src.
+        ast notNil ifTrue:[
+            visitor := RBProgramNodeVisitor new.
+            visitor pluggableNodeAction:
+                [:eachNode |
+                    |lno|
+                    lno := eachNode lineNumber.
+                    lno notNil ifTrue:[ linesWithCode add:lno ].
+                ].
+
+            linesWithCode := Set new.
+            ast acceptVisitor:visitor.
+            linesWithCode size < UserPreferences current numberOfLinesForLongMethod "~~30" ifTrue:[^ false].
+        ].
+    ].
+    ^ true.
+!
+
+methodIsMarkedAsUncommented:aMethod
+    "if true, it will be also categorized under the pseudo category 'undocumented'"
+
+    ^ aMethod comment isEmptyOrNil 
+    and:[aMethod isVersionMethod not]
+! !
+
+!MethodCategoryList methodsFor:'special'!
+
+addAdditionalProtocol:aProtocol forClass:aClass
+    "those are simulated - in ST/X, empty categories do not really exist; 
+     (because the category is an attribute of the method)
+     However, during browsing, it makes sense. Therefore, empty categories are
+     remembered here"
+
+    |categories|
+
+    AdditionalEmptyCategoriesPerClassName isNil ifTrue:[
+        AdditionalEmptyCategoriesPerClassName := Dictionary new.
+    ].
+    categories := AdditionalEmptyCategoriesPerClassName at:aClass name ifAbsent:nil.
+    categories isNil ifTrue:[
+        categories := Set new.
+        AdditionalEmptyCategoriesPerClassName at:aClass name put:categories.
+    ].
+    categories add:aProtocol.
+    aClass changed:#organization.                                                       "/ not really ... to force update
+    Smalltalk changed:#methodCategoryAdded with:(Array with:aClass with:aProtocol).     "/ not really ... to force update
+
+    "Modified (comment): / 01-08-2012 / 17:30:36 / cg"
+!
+
+additionalProtocolForClass:aClass
+    "those are simulated - in ST/X, empty categories do not really exist; 
+     (because the category is an attribute of the method)
+     However, during browsing, it makes sense. Therefore, empty categories are
+     remembered here"
+
+    AdditionalEmptyCategoriesPerClassName isNil ifTrue:[ ^ #() ].
+    ^ AdditionalEmptyCategoriesPerClassName at:aClass name ifAbsent:[ #() ].
+
+    "Modified (comment): / 01-08-2012 / 17:29:16 / cg"
+!
+
+clearLastSelectedProtocol
+    lastSelectedProtocols := nil
+!
+
+lastSelectedProtocols
+    ^ lastSelectedProtocols
+!
+
+removeAdditionalProtocol:aListOfProtocols forClass:aClass
+    "those are simulated - in ST/X, empty categories do not really exist; 
+     (because the category is an attribute of the method)
+     However, during browsing, it makes sense. Therefore, empty categories are
+     remembered here"
+
+    |categories|
+
+    AdditionalEmptyCategoriesPerClassName isNil ifTrue:[^ self].
+
+    categories := AdditionalEmptyCategoriesPerClassName at:aClass name ifAbsent:nil.
+    categories isNil ifTrue:[^ self].
+    categories removeAllFoundIn:aListOfProtocols.
+    categories isEmpty ifTrue:[
+        AdditionalEmptyCategoriesPerClassName removeKey:aClass name.
+    ].
+
+    aClass changed:#organization.                      "/ not really ... to force update
+    Smalltalk changed:#methodCategoriesRemoved with:(Array with:aClass with:aListOfProtocols).     "/ not really ... to force update
+
+    "Modified (comment): / 01-08-2012 / 17:29:59 / cg"
+!
+
+removeAllAdditionalProtocol
+    "those are simulated - in ST/X, empty categories do not really exist; 
+     (because the category is an attribute of the method)
+     However, during browsing, it makes sense. Therefore, empty categories are
+     remembered here"
+
+    AdditionalEmptyCategoriesPerClassName := nil
+
+    "Modified (comment): / 01-08-2012 / 17:30:05 / cg"
+!
+
+removeAllAdditionalProtocolForClass:aClass
+    "those are simulated - in ST/X, empty categories do not really exist; 
+     (because the category is an attribute of the method)
+     However, during browsing, it makes sense. Therefore, empty categories are
+     remembered here"
+
+    AdditionalEmptyCategoriesPerClassName notNil ifTrue:[
+        AdditionalEmptyCategoriesPerClassName removeKey:aClass name ifAbsent:nil
+    ].
+
+    "Modified (comment): / 01-08-2012 / 17:30:10 / cg"
+!
+
+renameAdditionalProtocol:oldName to:newName forClass:aClass
+    "those are simulated - in ST/X, empty categories do not really exist; 
+     (because the category is an attribute of the method)
+     However, during browsing, it makes sense. Therefore, empty categories are
+     remembered here"
+
+    |categories|
+
+    AdditionalEmptyCategoriesPerClassName isNil ifTrue:[^ self].
+    categories := AdditionalEmptyCategoriesPerClassName at:aClass name ifAbsent:nil.
+    categories isNil ifTrue:[^ self].
+    categories remove:oldName ifAbsent:nil.
+    categories add:newName.
+
+    aClass changed:#organization.                      "/ not really ... to force update
+    Smalltalk changed:#methodCategoryRenamed with:(Array with:aClass with:oldName with:newName).     "/ not really ... to force update
+
+    "Modified (comment): / 01-08-2012 / 17:30:16 / cg"
+! !
+
+!MethodCategoryList::CachedMethodInfo class methodsFor:'initialization'!
+
+initialize
+    FlagObsolete := 1.
+    FlagSendsSuper := 2.
+    FlagIsUncommented := 4.
+    FlagIsDocumentationMethod := 8.
+    FlagIsLongMethod := 16.
+    FlagIsExtension := 32.
+    FlagIsOverride := 64.
+    FlagIsRedefine := 128.
+    FlagIsSubclassResponsibility := 128.
+    FlagIsTest := 256.
+    FlagIsAnnotated := 512.
+    FlagIsRedefined := 1024.
+
+    "Modified: / 08-03-2010 / 18:33:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 07-09-2011 / 10:04:30 / cg"
+! !
+
+!MethodCategoryList::CachedMethodInfo class methodsFor:'instance creation'!
+
+new
+    ^ self basicNew flags:0.
+! !
+
+!MethodCategoryList::CachedMethodInfo methodsFor:'accessing'!
+
+flags:something
+    flags := something.
+!
+
+isAnnotated
+    ^ (flags ? 0) bitTest: FlagIsAnnotated
+
+    "Created: / 07-09-2011 / 10:04:56 / cg"
+!
+
+isAnnotated:aBoolean
+    flags := aBoolean
+                ifTrue:[ flags bitOr: FlagIsAnnotated ]
+                ifFalse:[ flags bitClear: FlagIsAnnotated]
+
+    "Created: / 07-09-2011 / 10:04:48 / cg"
+!
+
+isDocumentationMethod
+    ^ (flags ? 0) bitTest: FlagIsDocumentationMethod
+!
+
+isDocumentationMethod:aBoolean
+    flags := aBoolean
+                ifTrue:[ flags bitOr: FlagIsDocumentationMethod ]
+                ifFalse:[ flags bitClear: FlagIsDocumentationMethod]
+!
+
+isExtensionMethod
+    ^ (flags ? 0) bitTest: FlagIsExtension
+!
+
+isExtensionMethod:aBoolean
+    flags := aBoolean
+                ifTrue:[ flags bitOr: FlagIsExtension ]
+                ifFalse:[ flags bitClear: FlagIsExtension]
+!
+
+isLongMethod
+    ^ (flags ? 0) bitTest: FlagIsLongMethod
+!
+
+isLongMethod:aBoolean
+    flags := aBoolean
+                ifTrue:[ flags bitOr: FlagIsLongMethod ]
+                ifFalse:[ flags bitClear: FlagIsLongMethod]
+!
+
+isObsolete
+    ^ (flags ? 0) bitTest: FlagObsolete
+!
+
+isObsolete:aBoolean
+    flags := aBoolean
+                ifTrue:[ flags bitOr: FlagObsolete ]
+                ifFalse:[ flags bitClear: FlagObsolete]
+!
+
+isOverride
+    ^ (flags ? 0) bitTest: FlagIsOverride
+!
+
+isOverride:aBoolean
+    flags := aBoolean
+                ifTrue:[ flags bitOr: FlagIsOverride ]
+                ifFalse:[ flags bitClear: FlagIsOverride]
+!
+
+isRedefine
+    ^ (flags ? 0) bitTest: FlagIsRedefine
+!
+
+isRedefine:aBoolean
+    flags := aBoolean
+                ifTrue:[ flags bitOr: FlagIsRedefine ]
+                ifFalse:[ flags bitClear: FlagIsRedefine]
+!
+
+isRedefined
+    ^ (flags ? 0) bitTest: FlagIsRedefined
+!
+
+isRedefined:aBoolean
+    flags := aBoolean
+                ifTrue:[ flags bitOr: FlagIsRedefined ]
+                ifFalse:[ flags bitClear: FlagIsRedefined]
+!
+
+isSubclassResponsibility
+    ^ (flags ? 0) bitTest: FlagIsSubclassResponsibility
+!
+
+isSubclassResponsibility:aBoolean
+    flags := aBoolean
+                ifTrue:[ flags bitOr: FlagIsSubclassResponsibility ]
+                ifFalse:[ flags bitClear: FlagIsSubclassResponsibility]
+!
+
+isTest
+    ^ (flags ? 0) bitTest: FlagIsTest
+
+    "Created: / 08-03-2010 / 18:41:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isUncommented
+    ^ (flags ? 0) bitTest: FlagIsUncommented
+!
+
+isUncommented:aBoolean 
+    flags := aBoolean
+                ifTrue:[ flags bitOr: FlagIsUncommented ]
+                ifFalse:[ flags bitClear: FlagIsUncommented]
+!
+
+sendsSuper
+    ^ (flags ? 0) bitTest: FlagSendsSuper
+!
+
+sendsSuper:aBoolean
+    flags := aBoolean
+                ifTrue:[ flags bitOr: FlagSendsSuper ]
+                ifFalse:[ flags bitClear: FlagSendsSuper]
+! !
+
+!MethodCategoryList::MissingMethod class methodsFor:'instance creation'!
+
+mclass:aClass selector:aSelector
+    ^ self new mclass:aClass selector:aSelector
+! !
+
+!MethodCategoryList::MissingMethod methodsFor:'accessing'!
+
+mclass
+    ^ mclass
+!
+
+mclass:aClass
+    mclass := aClass
+!
+
+mclass:aClass selector:aSelector
+    mclass := aClass.
+    selector := aSelector.
+!
+
+selector
+    ^ selector
+!
+
+selector:something
+    selector := something.
+!
+
+source
+    ^ (SmalltalkCodeGeneratorTool basicNew
+        codeFor_shouldImplementFor:selector inClass:mclass) 
+            colorizeAllWith:Color red
+
+    "Modified: / 31-01-2011 / 18:29:17 / cg"
+! !
+
+!MethodCategoryList::MissingMethod methodsFor:'printing & storing'!
+
+printStringForBrowserWithSelector:selector inClass:aClass
+    ^ (selector,' (** missing required **)') colorizeAllWith:Color red
+! !
+
+!MethodCategoryList class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.89 2012-11-07 16:34:06 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.89 2012-11-07 16:34:06 cg Exp $'
+! !
+
+MethodCategoryList initialize!
+MethodCategoryList::CachedMethodInfo initialize!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_MethodList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,1805 @@
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+BrowserList subclass:#MethodList
+	instanceVariableNames:'classes selectedMethodNameIndices methodList lastSelectedMethods
+		browserNameList variableFilter filterClassVars updateProcess
+		lastShowClass lastShowCategory lastShowClassFirst
+		showMethodInheritance lastMethodClass lastMethodClassesSubclasses
+		classAndSelectorsRedefinedBySubclassesOfClass showClass
+		showMethodComplexity showMethodTypeIcon
+		showImageResourceMethodsImages'
+	classVariableNames:'ShowComplexityValue'
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!MethodList class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    I implement the method list in the new system browser
+"
+! !
+
+!MethodList class methodsFor:'interface specs'!
+
+singleMethodWindowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:MethodList andSelector:#singleMethodWindowSpec
+     MethodList new openInterface:#singleMethodWindowSpec
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+        #name: #singleMethodWindowSpec
+        #window: 
+       #(#WindowSpec
+          #label: 'SingleSelectorList'
+          #name: 'SingleSelectorList'
+          #min: #(#Point 0 0)
+          #max: #(#Point 1024 721)
+          #bounds: #(#Rectangle 12 22 312 322)
+        )
+        #component: 
+       #(#SpecCollection
+          #collection: #(
+           #(#LabelSpec
+              #label: 'MethodName'
+              #name: 'MethodLabel'
+              #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
+              #translateLabel: true
+              #labelChannel: #methodLabelHolder
+              #menu: #menuHolder
+           )
+           )
+         
+        )
+      )
+
+    "Modified: / 1.3.2000 / 20:50:15 / cg"
+!
+
+windowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:Tools::MethodList andSelector:#windowSpec
+     Tools::MethodList new openInterface:#windowSpec
+     Tools::MethodList open
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(FullSpec
+        name: windowSpec
+        window: 
+       (WindowSpec
+          label: 'SelectorList'
+          name: 'SelectorList'
+          min: (Point 0 0)
+          bounds: (Rectangle 0 0 300 300)
+        )
+        component: 
+       (SpecCollection
+          collection: (
+           (SequenceViewSpec
+              name: 'List'
+              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              tabable: true
+              model: selectedMethodNameIndices
+              menu: menuHolder
+              hasHorizontalScrollBar: true
+              hasVerticalScrollBar: true
+              miniScrollerHorizontal: true
+              isMultiSelect: true
+              valueChangeSelector: selectionChangedByClick
+              useIndex: true
+              sequenceList: browserNameList
+              doubleClickChannel: doubleClickChannel
+              properties: 
+             (PropertyListDictionary
+                canDropSelector: canDropContext:
+                dragArgument: nil
+                dropArgument: nil
+                dropSelector: doDropContext:
+              )
+            )
+           )
+         
+        )
+      )
+! !
+
+!MethodList class methodsFor:'plugIn spec'!
+
+aspectSelectors
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this. If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "Return a description of exported aspects;
+     these can be connected to aspects of an embedding application
+     (if this app is embedded in a subCanvas)."
+
+    ^ #(
+        #(doubleClickChannel action)
+        #filterClassVars
+        #forceGeneratorTrigger
+        #immediateUpdate
+        #inGeneratorHolder
+        #menuHolder
+        #methodCategoryHolder
+        #packageFilter
+        #selectedMethods
+        #selectionChangeCondition
+        #showCoverageInformation
+        #showImageResourceMethodsImages
+        #showMethodComplexity
+        #showMethodInheritance
+        #showMethodTypeIcon
+        #sortBy
+        #updateTrigger
+        #variableFilter
+      ).
+
+! !
+
+!MethodList methodsFor:'aspects'!
+
+browserNameList
+    browserNameList isNil ifTrue:[
+        browserNameList := List new.
+    ].
+    ^ browserNameList.
+
+    "Modified: / 31.1.2000 / 00:42:44 / cg"
+    "Created: / 5.2.2000 / 22:38:32 / cg"
+!
+
+defaultSlaveModeValue
+    ^ false.
+!
+
+filterClassVars
+    filterClassVars isNil ifTrue:[
+        filterClassVars := false asValue.
+        filterClassVars addDependent:self
+    ].
+    ^  filterClassVars
+!
+
+filterClassVars:aValueHolder
+    filterClassVars notNil ifTrue:[
+        filterClassVars removeDependent:self
+    ].
+    filterClassVars := aValueHolder.
+    filterClassVars notNil ifTrue:[
+        filterClassVars addDependent:self
+    ].
+!
+
+methodLabelHolder
+    ^ self pseudoListLabelHolder
+
+    "Created: / 1.3.2000 / 20:50:07 / cg"
+!
+
+methodList
+    ^ methodList
+!
+
+selectedMethodNameIndices
+    selectedMethodNameIndices isNil ifTrue:[
+        selectedMethodNameIndices := ValueHolder new.
+        selectedMethodNameIndices addDependent:self
+    ].
+    ^ selectedMethodNameIndices.
+
+    "Modified: / 5.2.2000 / 00:31:48 / cg"
+    "Created: / 5.2.2000 / 22:59:31 / cg"
+!
+
+selectedMethods
+    ^ self selectionHolder
+!
+
+selectedMethods:aValueHolder
+    ^ self selectionHolder:aValueHolder
+!
+
+showImageResourceMethodsImages
+    showImageResourceMethodsImages isNil ifTrue:[
+        showImageResourceMethodsImages := false asValue.
+        showImageResourceMethodsImages addDependent:self
+    ].
+    ^  showImageResourceMethodsImages
+!
+
+showImageResourceMethodsImages:aValueHolder
+    showImageResourceMethodsImages notNil ifTrue:[
+        showImageResourceMethodsImages removeDependent:self
+    ].
+    showImageResourceMethodsImages := aValueHolder.
+    showImageResourceMethodsImages notNil ifTrue:[
+        showImageResourceMethodsImages addDependent:self
+    ].
+!
+
+showMethodComplexity
+    showMethodComplexity isNil ifTrue:[
+        showMethodComplexity := false asValue.
+        showMethodComplexity addDependent:self
+    ].
+    ^  showMethodComplexity
+!
+
+showMethodComplexity:aValueHolder
+    showMethodComplexity notNil ifTrue:[
+        showMethodComplexity removeDependent:self
+    ].
+    showMethodComplexity := aValueHolder.
+    showMethodComplexity notNil ifTrue:[
+        showMethodComplexity addDependent:self
+    ].
+!
+
+showMethodInheritance
+    showMethodInheritance isNil ifTrue:[
+        showMethodInheritance := false asValue.
+        showMethodInheritance addDependent:self
+    ].
+    ^  showMethodInheritance
+!
+
+showMethodInheritance:aValueHolder
+    showMethodInheritance notNil ifTrue:[
+        showMethodInheritance removeDependent:self
+    ].
+    showMethodInheritance := aValueHolder.
+    showMethodInheritance notNil ifTrue:[
+        showMethodInheritance addDependent:self
+    ].
+!
+
+showMethodTypeIcon
+    showMethodTypeIcon isNil ifTrue:[
+        showMethodTypeIcon := true asValue.
+        showMethodTypeIcon addDependent:self
+    ].
+    ^  showMethodTypeIcon
+!
+
+showMethodTypeIcon:aValueHolder
+    showMethodTypeIcon notNil ifTrue:[
+        showMethodTypeIcon removeDependent:self
+    ].
+    showMethodTypeIcon := aValueHolder.
+    showMethodTypeIcon notNil ifTrue:[
+        showMethodTypeIcon addDependent:self
+    ].
+!
+
+variableFilter
+    variableFilter isNil ifTrue:[
+        variableFilter := nil asValue.
+        variableFilter addDependent:self
+    ].
+    ^  variableFilter
+!
+
+variableFilter:aValueHolder
+    variableFilter notNil ifTrue:[
+        variableFilter removeDependent:self
+    ].
+    variableFilter := aValueHolder.
+    variableFilter notNil ifTrue:[
+        variableFilter addDependent:self
+    ].
+! !
+
+!MethodList methodsFor:'change & update'!
+
+delayedUpdate:something with:aParameter from:changedObject
+    |cls sel oldMethod newMethod methods newSelection
+     selectionHolder selection needSelectionChange|
+
+    selectionHolder := self selectedMethods.
+    selection := selectionHolder value.
+
+    changedObject == Smalltalk ifTrue:[
+        classes notNil ifTrue:[
+            something == #classDefinition ifTrue:[
+                cls := aParameter.
+                (classes contains:[:aClass | aClass name == cls name]) ifFalse:[
+                    ^ self   "/ I dont care for that class
+                ].
+                classes := classes collect:[:eachClass | eachClass isMeta ifTrue:[
+                                                             (Smalltalk at:eachClass theNonMetaclass name) class 
+                                                         ] ifFalse:[
+                                                             Smalltalk at:eachClass name
+                                                         ]
+                                           ].
+                self invalidateList.
+"/                self updateList.
+                ^ self.
+            ].
+
+            something == #methodCategory ifTrue:[
+                "/ ignore here - methodCategoryList will tell me if required
+                ^ self
+            ].
+            (something == #classOrganization
+            or:[ something == #methodCategoryAdded
+            or:[ something == #methodCategoryRemoved
+            or:[ something == #methodCategoriesRemoved
+            or:[ something == #methodCategoryRenamed ]]]]) ifTrue:[
+                "/ ignore here - methodCategoryList will tell me if required
+                ^ self
+            ].
+
+            (something == #methodInClass 
+            or:[something == #methodCoverageInfo]) ifTrue:[
+                "/ a method has been added/changed
+                cls := aParameter at:1.
+                (classes includesIdentical:cls) ifTrue:[
+                    sel := aParameter at:2.
+                    oldMethod := aParameter at:3.
+                    newMethod := cls compiledMethodAt:sel.
+                    (oldMethod notNil and:[newMethod notNil]) ifTrue:[
+                        "a method was changed & acccepted;
+                         No need for a rescan of the methodDictionary;
+                         however, ensure that the refs to the old method are updated
+                        "
+                        methods := selection.
+                        methods size > 0 ifTrue:[
+                            (methods includesIdentical:oldMethod) ifTrue:[
+                                needSelectionChange := true.
+                            ]
+                        ].
+                        methodList replaceAllIdentical:oldMethod with:newMethod.
+                        lastSelectedMethods notNil ifTrue:[
+                            lastSelectedMethods replaceAllIdentical:oldMethod with:newMethod
+                        ].
+                        methods size > 0 ifTrue:[
+                            methods := methods asOrderedCollection.
+                            methods replaceAllIdentical:oldMethod with:newMethod.
+                        ].
+
+                        needSelectionChange == true ifTrue:[
+                            selectionHolder setValue:methods.
+                            "/ self enqueueDelayedMethodsSelectionChanged.
+                            "/ need this to inform my browser that method was changed
+                            "/ by someone else.
+                            selectionHolder changed.
+                        ].
+                        "/JV@2011-07-22: Update always - I need to see immediately that
+                        "/the method has changed. Also, add/remove breakpoint etc.
+
+"/                        (variableFilter value size > 0
+"/                        or:[oldMethod package ~= newMethod package
+"/                        or:[oldMethod resources ~= newMethod resources
+"/                        or:[showMethodComplexity value == true]]])
+                        self autoUpdateOnChange ifTrue:[
+                            "/ only update that method's entry
+                            self updateListEntryFor:newMethod.    
+                            "/ sigh - must invalidate
+                            "/ self invalidateList.
+                        ].
+                        ^ self.
+                    ].
+                    "/ method was added - update the methodList
+                    "/ Q: is this needed (methodCategoryList should send me a new inGenerator)
+                    self invalidateList.
+                ].
+                ^ self.
+            ].
+
+            something == #methodInClassRemoved ifTrue:[
+                cls := aParameter at:1.
+                (classes includesIdentical:cls) ifTrue:[
+                    sel := aParameter at:2.
+                    "/ method was removed - update the methodList
+                    "/ Q: is this needed (methodCategoryList should send me a new inGenerator)
+                    self invalidateList.
+                ].
+                ^ self.
+            ].
+
+            something == #methodCoverageInfo ifTrue:[
+                "/ already checked if it is one of my classes
+                self updateListEntryFor:aParameter.    
+"/                self enqueueDelayedUpdateList.
+"/                listValid == true ifTrue:[
+"/                    self invalidateList.
+"/                ].
+                ^ self.
+            ].
+
+            (something == #methodTrap 
+            or:[ something == #lastTestRunResult 
+            or:[ something == #privacyOfMethod ]]) ifTrue:[
+                cls := aParameter at:1.
+                sel := aParameter at:2.
+                (classes includesIdentical:cls) ifFalse:[ ^ self].
+
+                newMethod := cls compiledMethodAt:sel.
+                newMethod isNil ifTrue:[
+                    self invalidateList.
+                    ^ self
+                ].
+
+                ((something == #privacyOfMethod) or:[something == #lastTestRunResult]) ifTrue:[
+                    self updateListEntryFor:newMethod.    
+                ].
+
+                (something == #methodTrap) ifTrue:[ 
+                    newMethod isWrapped ifTrue:[
+                        oldMethod := newMethod originalMethod
+                    ] ifFalse:[
+                        selection size > 0 ifTrue:[
+                            oldMethod := selection detect:[:each | each isWrapped and:[each originalMethod == newMethod]] ifNone:nil.
+                        ]
+                    ].
+
+                    selection size > 0 ifTrue:[
+                        (selection includesIdentical:oldMethod) ifTrue:[
+                            needSelectionChange := true.
+                        ]
+                    ].
+                    methodList replaceAllIdentical:oldMethod with:newMethod.
+                    lastSelectedMethods notNil ifTrue:[
+                        lastSelectedMethods replaceAllIdentical:oldMethod with:newMethod
+                    ].
+                    selection size > 0 ifTrue:[
+                        selection := selection asOrderedCollection.
+                        selection replaceAllIdentical:oldMethod with:newMethod.
+                    ].
+                    needSelectionChange == true ifTrue:[
+                        selectionHolder changed.
+                    ].
+
+                    "/ actually, could just change that single item ...
+                    "/ ... might be cheaper, if list is huge.
+                    "/ only update that methods entry
+                    self updateListEntryFor:newMethod.    
+                    "/ self invalidateList.
+                ].
+                ^ self
+            ].
+
+            (something == #projectOrganization
+            or:[something == #lastTestRunResult]) ifTrue:[
+                aParameter notNil ifTrue:[
+                    cls := aParameter at:1.
+                    cls notNil ifTrue:[
+                        ((classes includesIdentical:cls theNonMetaclass)
+                        or:[(classes includesIdentical:cls theMetaclass)]) ifTrue:[
+                            self invalidateList.
+                        ].
+                    ].
+                ] ifFalse:[
+                    self invalidateList.
+                ].
+                ^ self
+            ].
+
+            "/ everything else is ignored
+            "/ self halt.
+        ].
+        ^ self
+    ].
+
+"/    something == #organization ifTrue:[
+"/self halt:'no longer'.
+"/^ self.
+"/        "/ a methods cateory has changed
+"/        (classes includesIdentical:changedObject) ifTrue:[
+"/            aParameter isSymbol ifTrue:[
+"/                "/ a method with a new category
+"/                (self methodList includesIdentical:(changedObject compiledMethodAt:aParameter)) ifTrue:[
+"/                    self invalidateList.
+"/                ].
+"/                ^ self.
+"/            ].
+"/            "/ a new category (no method yet)
+"/            self invalidateList
+"/        ].
+"/        ^ self
+"/    ].
+
+"/    something == #methodDictionary ifTrue:[
+"/self halt:'no longer'.
+"/^ self.
+"/        "/ a method has been added/removed
+"/        (classes includesIdentical:changedObject) ifTrue:[
+"/            aParameter isArray ifTrue:[
+"/                sel := aParameter at:1.
+"/                oldMethod := aParameter at:2.
+"/                newMethod := changedObject compiledMethodAt:sel.
+"/                oldMethod notNil ifTrue:[
+"/                    "a method was changed & acccepted;
+"/                     No need for a rescan of the methodDictionary;
+"/                     however, ensure that the refs to the old method are updated
+"/                    "
+"/                    methods := selection.
+"/                    methods size > 0 ifTrue:[
+"/                        (methods includesIdentical:oldMethod) ifTrue:[
+"/                            needSelectionChange := true.
+"/                        ]
+"/                    ].
+"/                    methodList replaceAllIdentical:oldMethod with:newMethod.
+"/                    lastSelectedMethods notNil ifTrue:[
+"/                        lastSelectedMethods replaceAllIdentical:oldMethod with:newMethod
+"/                    ].
+"/                    methods size > 0 ifTrue:[
+"/                        methods := methods asOrderedCollection.
+"/                        methods replaceAllIdentical:oldMethod with:newMethod.
+"/                    ].
+"/                    needSelectionChange == true ifTrue:[
+"/                        selectionHolder setValue:methods.
+"/                        selectionHolder changed.
+"/                    ].
+"/                    ^ self.
+"/                ]
+"/            ].
+"/            "/ class has changed must update the methodList
+"/            self invalidateList.
+"/        ].
+"/        ^ self.
+"/    ].
+
+"/    something == #projectOrganization ifTrue:[
+"/        ((classes includesIdentical:changedObject theNonMetaclass)
+"/        or:[(classes includesIdentical:changedObject theMetaclass)]) ifTrue:[
+"/            self invalidateList.
+"/        ].
+"/        ^ self
+"/    ].
+
+    changedObject == sortBy ifTrue:[
+        listValid ~~ true ifTrue:[  "/ could be nil
+            inGeneratorHolder value isNil ifTrue:[
+                "/ ok, no need to react on that one 
+                "/ (will invalidate anyway, once I have more info at hand)
+                ^ self
+            ].
+        ].
+        self invalidateList.
+        ^ self
+    ].
+
+    (changedObject == variableFilter
+    or:[changedObject == filterClassVars
+    or:[changedObject == showMethodInheritance
+    or:[changedObject == showMethodComplexity]]]) ifTrue:[
+        self invalidateList.
+        ^  self
+    ].
+
+    changedObject == selectedMethodNameIndices ifTrue:[
+        newSelection := self selectedMethodNameIndices value collect:[:idx | methodList at:idx].
+        newSelection ~= selection ifTrue:[
+            selectionHolder value:newSelection.
+            lastSelectedMethods := newSelection.
+            lastSelectedMethods notNil ifTrue:[
+                lastSelectedMethods := lastSelectedMethods asOrderedCollection
+            ].
+        ] ifFalse:[
+            "/ a reselect - force update
+"/            selection size == 1 ifTrue:[
+                selectionHolder setValue:newSelection.
+                selectionHolder changed:#value.
+"/            ].
+        ].
+        ^ self 
+    ].
+    changedObject == selectionHolder ifTrue:[
+        self selectedMethodsChanged.
+        lastSelectedMethods := selectionHolder value.
+        lastSelectedMethods notNil ifTrue:[
+            lastSelectedMethods := lastSelectedMethods asOrderedCollection
+        ].
+        ^ self
+    ].
+"/    something == #methodTrap ifTrue:[
+"/self halt:'no longer'.
+"/^ self.
+"/        (classes includesIdentical:changedObject) ifTrue:[
+"/            newMethod := changedObject compiledMethodAt:aParameter.
+"/            newMethod isNil ifTrue:[
+"/                self invalidateList.
+"/                ^ self
+"/            ].
+"/            newMethod isWrapped ifTrue:[
+"/                oldMethod := newMethod originalMethod
+"/            ] ifFalse:[
+"/                selection size > 0 ifTrue:[
+"/                    oldMethod := selection detect:[:each | each isWrapped and:[each originalMethod == newMethod]] ifNone:nil.
+"/                ]
+"/            ].
+"/
+"/            selection size > 0 ifTrue:[
+"/                (selection includesIdentical:oldMethod) ifTrue:[
+"/                    needSelectionChange := true.
+"/                ]
+"/            ].
+"/"/            methodList replaceAllIdentical:oldMethod with:newMethod.
+"/            lastSelectedMethods notNil ifTrue:[
+"/                lastSelectedMethods replaceAllIdentical:oldMethod with:newMethod
+"/            ].
+"/            selection size > 0 ifTrue:[
+"/                selection := selection asOrderedCollection.
+"/                selection replaceAllIdentical:oldMethod with:newMethod.
+"/            ].
+"/            needSelectionChange == true ifTrue:[
+"/                selectionHolder changed.
+"/            ].
+"/            self invalidateList.
+"/            ^ self
+"/        ].
+"/        ^ self
+"/    ].
+    super delayedUpdate:something with:aParameter from:changedObject
+
+    "Created: / 05-02-2000 / 13:42:14 / cg"
+    "Modified: / 22-07-2011 / 18:12:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 05-06-2012 / 23:47:15 / cg"
+!
+
+selectedMethodsChanged
+    "the set of selected methods has changed;
+     update the selection-index collection (for the selectionInListView)"
+
+    |indices methods reverseMap 
+     selectedMethodsHolder selectedMethods selectedMethodNameIndicesHolder|
+
+    methods := methodList ? #().
+    methods size == 0 ifTrue:[
+        "/ this may happen during early startup, 
+        "/ when invoked with a preset methodSelection,
+        "/ and the methodGenerator has not yet been setup
+        "/ to not clobber the selection, defer the update
+        "/ until the methodList arrives ...
+        ^ self
+    ].
+
+    selectedMethodsHolder := self selectedMethods.
+    selectedMethods := selectedMethodsHolder value.
+
+    "/ check if all is selected (likely)
+    ((selectedMethods size == methodList size)
+    and:[selectedMethods = methodList]) ifTrue:[
+        indices := (1 to:selectedMethods size)
+    ] ifFalse:[
+        selectedMethods size > 100 ifTrue:[
+            "/ check if all is selected (likely)
+            ((selectedMethods size == methodList size)
+            and:[selectedMethods = methodList]) ifTrue:[
+                indices := (1 to:selectedMethods size)
+            ] ifFalse:[
+                "/ for big collections, generate a reverse map
+                reverseMap := IdentityDictionary new.
+                methods keysAndValuesDo:[:idx :mthd | reverseMap at:mthd put:idx].
+                indices := selectedMethods collect:[:eachSelectedMethod |
+                    reverseMap at:eachSelectedMethod ifAbsent:0
+                ]
+            ]
+        ] ifFalse:[
+            indices := (selectedMethods ? #()) collect:[:eachSelectedMethod |
+                methods identityIndexOf:eachSelectedMethod.
+            ]
+        ].
+        indices := indices select:[:idx | idx ~= 0].
+    ].
+
+    selectedMethodNameIndicesHolder := self selectedMethodNameIndices.
+    selectedMethodNameIndicesHolder value ~= indices ifTrue:[
+        selectedMethodNameIndicesHolder value:indices.
+    ]
+!
+
+selectionChanged
+    |methods|
+
+    methods := ((self selectedMethodNameIndices value) ? #()) collect:[:idx | methodList at:idx].
+    methods notEmpty ifTrue:[
+        lastSelectedMethods := methods asOrderedCollection.
+    ].
+    "/ to allow reselect, change my valueHolder, even if the same collection
+"/    self selectedMethods value ~= methods ifTrue:[
+        self selectedMethods value:methods
+"/    ]
+
+    "Created: / 5.2.2000 / 13:42:14 / cg"
+    "Modified: / 5.2.2000 / 23:32:20 / cg"
+!
+
+selectionChangedByClick
+    "we are not interested in that - get another notification
+     via the changed valueHolder"
+
+!
+
+update:something with:aParameter from:changedObject
+    |cls mthd mustFlushInheritanceInfo|
+
+    mustFlushInheritanceInfo := true.
+
+    "/ some can be ignored immediately
+    changedObject == Smalltalk ifTrue:[
+        classes isNil ifTrue:[
+            ^ self.
+        ].
+        something isNil ifTrue:[
+            "/ self halt "/ huh - Smalltalk changed - so what ?
+            ^ self.
+        ].
+        something == #classComment ifTrue:[
+            ^ self.
+        ].
+        something == #classVariables ifTrue:[
+            ^ self.
+        ].
+        something == #organization ifTrue:[
+            ^ self.
+        ].
+        something == #methodCategory ifTrue:[
+            "/ ignore here - methodCategoryList will tell me if required
+            ^ self
+        ].
+        (something == #classOrganization
+        or:[ something == #methodCategoryAdded
+        or:[ something == #methodCategoryRemoved
+        or:[ something == #methodCategoriesRemoved
+        or:[ something == #methodCategoryRenamed ]]]]) ifTrue:[
+            "/ ignore here - methodCategoryList will tell me if required
+            ^ self
+        ].
+
+        something == #methodCoverageInfo ifTrue:[
+            self showCoverageInformation value ifFalse:[^ self].
+            mthd := aParameter.
+            (classes notNil and:[classes includesIdentical:mthd mclass]) ifFalse:[
+                ^ self   "/ I don't care for that class
+            ].
+            mustFlushInheritanceInfo := false.    
+        ].
+
+        (something == #methodTrap 
+        or:[ something == #methodPrivacy
+        or:[ something == #lastTestRunResult] ]) ifTrue:[
+            cls := aParameter at:1.
+            (classes includesIdentical:cls) ifFalse:[
+                ^ self   "/ I dont care for that class
+            ].
+            self window shown ifFalse:[
+                "JV@2011-11-17: Do not break the dependency here,
+                 because then the window won't get updates once
+                 deiconified -> leads to confusing behavior (browser
+                 shows obsolete info)"
+                "/changedObject removeDependent:self. "/ ?????
+                self invalidateList.
+                ^ self
+            ].
+            mustFlushInheritanceInfo := false.    
+        ].
+        something == #newClass ifTrue:[
+            ^ self.
+        ].
+
+        (something == #methodInClass 
+        or:[ something == #methodInClassRemoved ]) ifTrue:[
+            |sel|
+
+            sel := aParameter second.
+            (methodList contains:[:mthd | mthd getMclass notNil and:[mthd selector = sel]]) ifFalse:[
+                mustFlushInheritanceInfo := false.
+                self window topView hasFocus ifFalse:[
+                    self enqueueDelayedUpdate:something with:aParameter from:changedObject.
+                    ^ self.
+                ].
+            ].
+        ].
+
+        mustFlushInheritanceInfo ifTrue:[
+            "/ as the organisation changes, flush my remembered redefinition-cache-info
+            classAndSelectorsRedefinedBySubclassesOfClass := nil.
+        ].
+
+        something == #classDefinition ifTrue:[
+            cls := aParameter.
+            (classes contains:[:aClass | aClass name == cls name]) ifFalse:[
+                ^ self   "/ I dont care for that class
+            ].
+            self enqueueDelayedUpdate:something with:aParameter from:changedObject.
+            ^ self.
+        ].
+        something == #classRemove ifTrue:[
+            ^ self.
+        ].
+        something == #classRename ifTrue:[
+            ^ self.
+        ].
+    ].
+
+    "/ these must lead to immediate update of the selectedMethods collection
+    "/ (otherwise, that collection might be updated too late, leading to
+    "/ an obsolete methods code being shown by the codeView.
+    (something == #methodInClass 
+    or:[ something == #methodCoverageInfo ]) ifTrue:[
+        "/ as the organisation changes, flush my remembered redefinition-cache-info
+        classAndSelectorsRedefinedBySubclassesOfClass := nil.
+        cls := aParameter at:1.
+        (classes includesIdentical:cls) ifFalse:[
+            ^ self   "/ I dont care for that class
+        ].
+        self enqueueDelayedUpdate:something with:aParameter from:changedObject.
+        ^ self
+    ].
+
+    something == #coverageInfo ifTrue:[
+        listValid == true ifTrue:[
+            self enqueueDelayedUpdateList
+        ].
+        ^ self.
+    ].
+
+    something == #methodInClassRemoved ifTrue:[
+        cls := aParameter at:1.
+        (classes includesIdentical:cls) ifFalse:[
+            ^ self   "/ I dont care for that class
+        ].
+    ].
+
+    super update:something with:aParameter from:changedObject
+
+    "Modified: / 17-11-2011 / 19:22:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 05-06-2012 / 23:41:50 / cg"
+! !
+
+!MethodList methodsFor:'drag & drop'!
+
+canDropContext:aDropContext
+    |methods|
+
+    aDropContext sourceWidget == aDropContext targetWidget ifTrue:[^ false].
+
+    methods := aDropContext dropObjects collect:[:obj | obj theObject].
+    (methods conform:[:aMethod | aMethod isMethod]) ifFalse:[^ false].
+
+    self masterApplication theSingleSelectedClass isNil ifTrue:[^ false].
+    ^ true
+
+    "Modified: / 13-09-2006 / 11:43:54 / cg"
+!
+
+doDropContext:aDropContext
+    |methods browser|
+
+    methods := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
+    (methods conform:[:something | something isMethod]) ifFalse:[^ self].
+
+    browser := self masterApplication.
+    aDropContext dragType == DropContext dragTypeCopy ifTrue:[
+        browser
+            copyMethods:methods 
+            toClass:(browser theSingleSelectedClass).
+    ] ifFalse:[
+        browser
+            moveMethods:methods 
+            toClass:(browser theSingleSelectedClass).
+    ].
+
+    "Modified: / 13-09-2006 / 11:43:44 / cg"
+! !
+
+!MethodList methodsFor:'private'!
+
+isMethodToBeShown:aMethod 
+    "invoked, when we get a change for aMethod which was previously not
+     in the list (for example, if I show a filtered list).
+     Check if that single method is to be shown now.
+     Used to speed up update for senders/string/implementors lists"
+
+    |generator|
+
+    generator := inGeneratorHolder value.
+    generator isNil ifTrue:[
+        ^ false
+    ].
+    
+    "/ generator generates nil-selector entries
+    "/ to pass multiple-class and multiple-protocol info
+    
+    generator do:[:cls :cat :sel :mthd | 
+        mthd == aMethod ifTrue:[
+            mthd isSynthetic ifFalse:[ 
+                sel notNil ifTrue:[
+"/ cg: no longer filter those...
+"/                    (packageFilter value isNil 
+"/                    or:[ packageFilter value includes:mthd package ]) ifTrue:[
+                        ^ true
+"/                    ]
+                ]
+            ].
+            ^ false
+        ]
+    ].
+    ^ false
+
+    "Created: / 17-08-2011 / 15:03:34 / cg"
+!
+
+listOfMethodNames
+    |methods entries selectorBag newNameList allClasses newClasses 
+     allCategories                 "allSelectors"
+     generator doShowClass doShowClassFirst doShowCategory enforceClassAndProtocolInList 
+     theMethod sortByClass anyMethodToWatch mclass
+     packageFilterValue nameListEntryForExtensions 
+     suppressInheritanceInfoNow startTime|
+
+    suppressInheritanceInfoNow := (showMethodInheritance value ? true) not.
+    startTime := Timestamp now.
+
+    generator := inGeneratorHolder value.
+    generator isNil ifTrue:[
+        ^ #()
+    ].
+    allClasses := IdentitySet new.
+    allCategories := IdentitySet new.
+    
+    "/ allSelectors := Set new.
+    
+    newClasses := IdentitySet new.
+    selectorBag := Bag new.
+    entries := OrderedCollection new.
+    enforceClassAndProtocolInList := false.
+    anyMethodToWatch := false.
+"/ no longer filter those
+"/    packageFilterValue := packageFilter value.
+
+    "/ generator generates nil-selector entries
+    "/ to pass multiple-class and multiple-protocol info
+    nameListEntryForExtensions := self class nameListEntryForExtensions.
+
+    generator do:[:cls :cat :sel :mthd |
+        |categoryIsExtensionsPseudoCategory|
+
+        categoryIsExtensionsPseudoCategory := (cat = nameListEntryForExtensions).
+
+        (cls isNil and:[ cat isNil and:[ sel isNil ] ]) ifTrue:[
+            enforceClassAndProtocolInList := true
+        ] ifFalse:[
+            cls notNil ifTrue:[
+                allClasses add:cls.
+            ].
+"/            cat notNil ifTrue:[
+"/                allCategories add:cat.
+"/            ].
+            "/ JV: Filter method through package filter
+            "/ but not, if it is an extension method and we are showing extensions
+            (mthd notNil 
+                and:[ mthd isSynthetic not 
+                and:[ sel notNil ]]
+            ) ifTrue:[ 
+                (packageFilterValue isNil 
+                    or:[ (packageFilterValue includes:mthd package)
+                    or:[ categoryIsExtensionsPseudoCategory and:[ mthd isExtension] ]]
+                ) ifTrue:[
+                    entries add:(Array with:cls with:sel with:mthd).
+                    selectorBag add:sel.
+                    newClasses add:cls.
+                    
+                    allCategories add:mthd category.
+                    "/ allSelectors add:sel.
+                ]
+            ]
+        ].
+        (mthd notNil and:[ mthd isWrapped ]) ifTrue:[
+            (mthd isTiming or:[ mthd isCounting or:[ mthd isCountingMemoryUsage ] ]) ifTrue:[
+                anyMethodToWatch := true
+            ]
+        ].
+    ].
+    showMethodInheritance value ~~ false ifTrue:[
+        "/ collect redefinition information once (big speedup for #methodIsRedefinedbelow)
+        classAndSelectorsRedefinedBySubclassesOfClass isNil ifTrue:[
+            classAndSelectorsRedefinedBySubclassesOfClass := IdentityDictionary new.
+        ].
+        allClasses do:[:cls | 
+            |d|
+
+            d := classAndSelectorsRedefinedBySubclassesOfClass.
+            (d notNil and:[ (d includesKey:cls) not ]) ifTrue:[
+                cls isLoaded ifTrue:[
+                    d at:cls put:(self setOfAllSelectorsImplementedBelow:cls)
+                ]
+            ]
+        ].
+    ].
+    
+    "/ multiple classes must: add the className for some
+    
+    doShowClass := enforceClassAndProtocolInList or:[ allClasses size > 1 ].
+    
+    "/ multiple categories: must add the categorie for some
+    
+    doShowCategory := enforceClassAndProtocolInList or:[ allCategories size > 1 ].
+
+    doShowClassFirst := doShowClass.
+    doShowClassFirst := doShowClass and:[ sortBy value == #class ].
+    sortBy value == false ifTrue:[
+        "/ do not sort
+    ] ifFalse:[
+        (doShowClass not and:[ sortBy value == #class ]) ifTrue:[
+            "/ multiple classes must add the className for some
+            "/ check, if doShowClass must be enforced
+            entries do:[:entry | 
+                |cls sel mthd s needClass|
+
+                cls := entry at:1.
+                sel := entry at:2.
+                mthd := entry at:3.
+                doShowClass ifFalse:[
+                    doShowClass := (selectorBag occurrencesOf:sel) > 1
+                ].
+            ].
+        ].
+        sortByClass := doShowClass and:[ sortBy value == #class ].
+        sortByClass ifTrue:[
+            entries 
+                sort:[:a :b | 
+                    |nmA nmB clsNmA clsNmB nsNmA nsNmB|
+
+                    clsNmA := (a at:1) name.
+                    clsNmB := (b at:1) name.
+                    clsNmA = clsNmB ifTrue:[
+                        nmA := (a at:2) asSymbol selector.
+                        nmB := (b at:2) asSymbol selector.
+                        nmA = nmB ifTrue:[
+                            nsNmA := (a at:3) nameSpaceName.
+                            nsNmB := (b at:3) nameSpaceName.
+                            nsNmA < nsNmB
+                        ] ifFalse:[ nmA < nmB ]
+                    ] ifFalse:[
+                        clsNmA < clsNmB
+                    ]
+                ].
+        ] ifFalse:[
+            sortBy value == #category ifTrue:[
+                entries 
+                    sort:[:a :b | 
+                        |nmA nmB catA catB clsNmA clsNmB nsNmA nsNmB|
+
+                        catA := (a at:3) category.
+                        catB := (b at:3) category.
+                        catA = catB ifTrue:[
+                            nmA := (a at:2) asSymbol selector.
+                            nmB := (b at:2) asSymbol selector.
+                            nmA = nmB ifTrue:[
+                                clsNmA := (a at:1) name.
+                                clsNmB := (b at:1) name.
+                                clsNmA = clsNmB ifTrue:[
+                                    nsNmA := (a at:3) nameSpaceName.
+                                    nsNmB := (b at:3) nameSpaceName.
+                                    nsNmA < nsNmB
+                                ] ifFalse:[
+                                    clsNmA < clsNmB
+                                ]
+                            ] ifFalse:[ nmA < nmB ]
+                        ] ifFalse:[
+                            catA < catB
+                        ]
+                    ].
+            ] ifFalse:[
+                entries 
+                    sort:[:a :b | 
+                        |nmA nmB clsNmA clsNmB nsNmA nsNmB|
+
+                        nmA := (a at:2) asSymbol selector.
+                        nmB := (b at:2) asSymbol selector.
+                        nmA = nmB ifTrue:[
+                            clsNmA := (a at:1) name.
+                            clsNmB := (b at:1) name.
+                            clsNmA = clsNmB ifTrue:[
+                                nsNmA := (a at:3) nameSpaceName.
+                                nsNmB := (b at:3) nameSpaceName.
+                                nsNmA < nsNmB
+                            ] ifFalse:[
+                                clsNmA < clsNmB
+                            ]
+                        ] ifFalse:[ nmA < nmB ]
+                    ].
+            ].
+        ].
+    ].
+    methods := OrderedCollection new:(entries size).
+    
+    "/ first generate the new methodList, and see if it is different ...
+    
+    entries do:[:entry | 
+        |sel mthd|
+
+        mthd := entry at:3.
+        methods add:mthd.
+    ].
+    false "methodList = methods" "does not care for changed icons" ifTrue:[
+        "/ same list
+        newNameList := self browserNameList.
+    ] ifFalse:[
+        newNameList := OrderedCollection new:(entries size).
+        
+        "/ multiple classes must add the className for some
+        
+        entries do:[:entry | 
+            |cls sel mthd s needClass|
+
+            cls := entry at:1.
+            sel := entry at:2.
+            mthd := entry at:3.
+            needClass := doShowClass.
+            
+"/        needClass ifFalse:[
+"/            needClass := (selectorBag occurrencesOf:sel) > 1
+"/        ].
+            (suppressInheritanceInfoNow not
+            and:[ (Timestamp now deltaFrom:startTime) > 3 seconds ]) ifTrue:[
+                suppressInheritanceInfoNow := true.
+            ].
+
+            s := self 
+                    listEntryForMethod:mthd
+                    selector:sel
+                    class:cls
+                    showClass:needClass
+                    showCategory:doShowCategory
+                    classFirst:doShowClassFirst
+                    suppressInheritanceInfo:suppressInheritanceInfoNow.
+            
+            newNameList add:s.
+        ].
+    ].
+    self makeIndependent.
+    classes := newClasses.
+    self makeDependent.
+    methodList := methods.
+    methods size == 1 ifTrue:[
+        theMethod := methods first.
+        mclass := theMethod mclass.
+        mclass isNil ifTrue:[
+            theMethod isWrapped ifTrue:[
+                theMethod := theMethod originalMethod.
+                mclass := theMethod mclass.
+            ].
+        ].
+        self methodLabelHolder value:(mclass isNil 
+                    ifTrue:[ ('???' , ' ' , '???') ]
+                    ifFalse:[ (mclass name , ' ' , theMethod selector) ])
+    ].
+"/    anyMethodToWatch ifTrue:[
+"/        self startWatchProcess.
+"/    ] ifFalse:[
+"/        self stopWatchProcess.
+"/    ].
+    
+    "/ remember these, in case of an incremental (single method only)
+    "/ update in the future.
+    
+    lastShowClass := doShowClass.
+    lastShowClassFirst := doShowClassFirst.
+    lastShowCategory := doShowCategory.
+    ^ newNameList.
+
+    "Created: / 05-02-2000 / 22:43:40 / cg"
+    "Modified: / 20-07-2010 / 11:21:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 24-08-2010 / 20:34:09 / Jan Vrany <enter your email here>"
+    "Modified: / 20-07-2012 / 20:00:58 / cg"
+!
+
+makeDependent
+    Smalltalk addDependent:self.
+"/    ChangeSet addDependent:self.
+
+    "Modified: / 10-11-2006 / 17:57:01 / cg"
+!
+
+makeIndependent
+    Smalltalk removeDependent:self.
+"/    ChangeSet removeDependent:self.
+!
+
+method:mthd includesModsOfClassVariable:variablesToHighLight
+    ^ self method:mthd includesRefsToVariable:variablesToHighLight askParserWith:#modifiedClassVars
+!
+
+method:mthd includesModsOfInstanceVariable:variablesToHighLight
+    ^ self method:mthd includesRefsToVariable:variablesToHighLight askParserWith:#modifiedInstVars
+!
+
+method:mthd includesRefsToClassVariable:variablesToHighLight
+    ^ self method:mthd includesRefsToVariable:variablesToHighLight askParserWith:#usedClassVars
+!
+
+method:mthd includesRefsToInstanceVariable:variablesToHighLight
+    ^ self method:mthd includesRefsToVariable:variablesToHighLight askParserWith:#usedInstVars
+!
+
+method:mthd includesRefsToVariable:variablesToHighLight askParserWith:querySelector
+    |cls src parser usedVars anyVarNameAccessable|
+
+    cls := mthd mclass.
+    cls isNil ifTrue:[^ false].
+
+    anyVarNameAccessable := cls allInstVarNames includesAny:variablesToHighLight.
+    anyVarNameAccessable ifFalse:[
+        anyVarNameAccessable := cls theNonMetaclass allClassVarNames includesAny:variablesToHighLight.
+    ].
+    anyVarNameAccessable ifFalse:[
+        "/ no need to parse
+        ^ false
+    ].
+
+    src := mthd source.
+    src notNil ifTrue:[
+        "
+         before doing a slow parse, quickly scan the
+         methods source for the variables name ...
+        "
+        (variablesToHighLight contains:[:varName | (src findString:varName) ~~ 0]) ifTrue:[
+            parser := Parser
+                            parseMethod:src 
+                            in:cls 
+                            ignoreErrors:true 
+                            ignoreWarnings:true.
+            (parser notNil and:[parser ~~ #Error]) ifTrue:[
+                usedVars := parser perform:querySelector.
+                (usedVars includesAny:variablesToHighLight)
+                ifTrue:[
+                    ^  true
+                ]
+            ]
+        ]
+    ].
+    ^ false
+!
+
+methodIsInheritedFromAbove:aMethod
+    |mClass|
+
+    mClass := aMethod mclass.
+    (mClass notNil and:[mClass superclass notNil]) ifTrue:[
+        ^ (mClass superclass whichClassIncludesSelector:aMethod selector) notNil.
+    ].
+    ^ false
+!
+
+methodIsRedefinedBelow:aMethod
+    |mclass subClasses setOfRedefinedSelectors|
+
+    mclass := aMethod mclass.
+    mclass isNil ifTrue:[^ false].
+
+    "/ if possible, make use of info prepared by listOfMethodNames
+    classAndSelectorsRedefinedBySubclassesOfClass notNil
+    ifTrue:[
+        setOfRedefinedSelectors := classAndSelectorsRedefinedBySubclassesOfClass at:mclass ifAbsent:nil.
+        setOfRedefinedSelectors notNil ifTrue:[
+            ^ setOfRedefinedSelectors includes:aMethod selector
+        ]
+    ].
+
+    lastMethodClass == mclass ifTrue:[
+        subClasses := lastMethodClassesSubclasses
+    ] ifFalse:[
+        subClasses := aMethod mclass allSubclasses.
+        lastMethodClassesSubclasses := subClasses.
+        lastMethodClass := mclass.
+    ].
+    ^ subClasses contains:[:cls | cls includesSelector:aMethod selector].
+!
+
+redefinedOrInheritedIconFor:aMethod
+    |inherited redefined subclassResponsibility|
+
+    inherited := self methodIsInheritedFromAbove:aMethod.
+    redefined := self methodIsRedefinedBelow:aMethod.
+
+    inherited ifTrue:[
+        redefined ifTrue:[
+            ^ self methodInheritedFromAboveAndRedefinedBelowIcon.
+        ].
+        ^ self methodInheritedFromAboveIcon.
+    ].
+
+    subclassResponsibility := aMethod sends:#subclassResponsibility.
+    redefined ifTrue:[
+        subclassResponsibility ifTrue:[
+            ^ self methodIsSubclassResponsibilityAndRedefinedBelowIcon.
+        ].
+        ^ self methodRedefinedBelowIcon.
+    ].
+    subclassResponsibility ifTrue:[
+        ^ self methodIsSubclassResponsibilityIcon.
+    ].
+
+    ^ self methodEmptyInheritedIcon
+!
+
+release
+    super release.
+
+    filterClassVars removeDependent:self.
+    selectedMethodNameIndices removeDependent:self.
+    showMethodInheritance removeDependent:self.
+    variableFilter removeDependent:self.
+!
+
+resourceIconForMethod:aMethod
+    ^ SystemBrowser resourceIconForMethod:aMethod
+
+    "Modified: / 17-08-2006 / 09:09:01 / cg"
+!
+
+setOfAllSelectorsImplementedBelow:aClass
+    |set|
+
+    set := IdentitySet new.
+    aClass allSubclassesDo:[:eachSubclass |
+        set addAll:(eachSubclass methodDictionary keys).
+    ].
+    ^ set
+!
+
+updateList
+    |prevSelection newList newSelection newSelIdx reverseMap sameContents newListSize oldListSize
+     prevClasses methodSet selectedMethodsHolder|
+
+    selectedMethodsHolder := self selectedMethods.
+    prevSelection := selectedMethodsHolder value ? #().
+
+    prevClasses := classes ifNil:[ #() ] ifNotNil:[ classes copy ].
+
+    oldListSize := self browserNameList size.
+
+        self topApplication withWaitCursorDo:[
+            newList := self listOfMethodNames.
+        ].
+        newListSize := newList size.
+        sameContents := self updateListFor:newList.
+
+        sameContents ifFalse:[
+    "/            self browserNameList value:newList.
+
+            (prevSelection size == 0 
+            and:[selectedMethodsHolder value size ~~ 0]) ifTrue:[
+                "/ this happens during early startup time,
+                "/ when the selection is already (pre-)set,
+                "/ and the methodList is generated the first time
+                "/ (i.e. when opened with preset selection
+
+                "/ do not clobber the selection in this case.
+                prevSelection := selectedMethodsHolder value.
+            ].
+
+            (methodList size == 0 or:[prevSelection size == 0]) ifTrue:[
+                newSelection := #()
+            ] ifFalse:[
+                methodSet := methodList.
+
+                "/ inclusion test is much faster with sets, if the number of items is large
+                methodList size > 30 ifTrue:[
+                    "/ however, only if its worth building the set ...
+                    prevSelection size > 5 ifTrue:[
+                        methodSet := methodSet asIdentitySet.
+                    ]
+                ].
+                newSelection := prevSelection select:[:item | methodSet includesIdentical:item].
+            ].
+            newSelection size > 0 ifTrue:[
+                newSelection size > 100 ifTrue:[
+                    "/ need selection indices - might be expensive if done straight forward...
+                    reverseMap := IdentityDictionary new.
+                    methodList keysAndValuesDo:[:idx :mthd | reverseMap at:mthd put:idx].
+                    newSelIdx := newSelection collect:[:mthd | reverseMap at:mthd].
+                ] ifFalse:[
+                    newSelIdx := newSelection collect:[:mthd | methodList identityIndexOf:mthd]
+                ].
+"/ self halt.
+                "/ force change (for dependents)
+                newSelIdx ~= selectedMethodNameIndices value ifTrue:[
+                    selectedMethodNameIndices value:newSelIdx.
+                ].
+            ] ifFalse:[
+                lastSelectedMethods := selectedMethodsHolder value.
+                lastSelectedMethods notNil ifTrue:[
+                    lastSelectedMethods := lastSelectedMethods asOrderedCollection
+                ].
+                selectedMethodNameIndices value size > 0 ifTrue:[
+                    selectedMethodNameIndices value:#().
+                ]
+            ].
+
+            newSelection ~= prevSelection ifTrue:[
+                self selectionChanged.
+            ]
+        ] ifTrue:[
+            "/ same list - but classes might have changed
+            "/ that is the case, if the class selection has been changed,
+            "/ to another class which has the same categories.
+
+            (prevClasses size ~= classes size 
+            or:[prevClasses asOrderedCollection ~= (classes ? #()) asOrderedCollection ]) ifTrue:[
+                (newListSize > 0 or:[oldListSize > 0]) ifTrue:[
+                    self selectionChanged.
+                ]
+            ]
+        ]
+    "/ ].
+
+    "Modified: / 05-03-2007 / 16:07:24 / cg"
+!
+
+updateListEntryFor:aMethod
+    "update my list for a single method.
+     (used when a single methods package, code or whatever changes, and a full udpate
+      would be too slow)"
+
+    |s idx|
+
+    s := self 
+            listEntryForMethod:aMethod 
+            selector:aMethod selector 
+            class:aMethod mclass 
+            showClass:lastShowClass 
+            showCategory:lastShowCategory
+            classFirst:lastShowClassFirst
+            suppressInheritanceInfo:false.
+
+    idx := methodList identityIndexOf:aMethod.
+    idx == 0 ifTrue:[
+        aMethod isWrapped ifTrue:[
+            idx := methodList identityIndexOf:aMethod originalMethod.
+            idx == 0 ifTrue:[
+                "/ aMethod (wrapped) has changed its status, but is not in the list.
+                ^ self.
+            ].
+        ]
+    ].
+    idx == 0 ifTrue:[
+        "/ method was not previously shown; try to avoid a full update
+        (self isMethodToBeShown:aMethod) ifTrue:[
+            self invalidateList
+        ].
+    ] ifFalse:[
+        self browserNameList at:idx put:s.
+    ]
+
+    "Modified: / 17-08-2011 / 15:05:02 / cg"
+! !
+
+!MethodList methodsFor:'private-presentation'!
+
+colorForCoverageInformationOfMethod:aMethod
+    aMethod isInstrumented ifFalse:[^ nil].
+    aMethod category = 'documentation' ifTrue:[^ nil].
+
+    aMethod hasBeenCalled ifTrue:[
+        aMethod haveAllBlocksBeenExecuted ifTrue:[
+            ^ UserPreferences current colorForInstrumentedFullyCoveredCode
+        ].
+        ^ UserPreferences current colorForInstrumentedPartiallyCoveredCode
+    ].
+    ^ UserPreferences current colorForInstrumentedNeverCalledCode
+
+    "Created: / 30-04-2010 / 11:53:38 / cg"
+!
+
+listEntryForMethod:aMethod selector:selector class:cls showClass:showClass showCategory:showCategory classFirst:showClassFirst
+    "answer a method list entry 
+     gimmics: 
+        adding a little image to breakPointed methods,
+        inheritance indicators,
+        highlight accessors of variable"
+
+    ^ self
+        listEntryForMethod:aMethod 
+        selector:selector 
+        class:cls 
+        showClass:showClass showCategory:showCategory
+        classFirst:showClassFirst
+        suppressInheritanceInfo:false
+!
+
+listEntryForMethod:aMethod selector:selector class:cls showClass:showClass showCategory:showCategory classFirst:showClassFirst suppressInheritanceInfo:suppressInheritanceInfo
+    "answer a method list entry 
+     gimmics: 
+        adding a little image to breakPointed methods,
+        inheritance indicators,
+        highlight accessors of variable"
+
+    |s icn variablesToHighlight classVarsToHighLight 
+     doHighLight doHighLightRed clr emp cat l redefIcon 
+     metrics complexity complexityString complexityIcon mark lastResultOrNil|
+
+    aMethod isNil ifTrue:[
+        "/ a non-existing (pseudo) method (such as required protocol)
+        ^ selector colorizeAllWith:Color red.
+    ].
+
+    showClassFirst ifTrue:[
+        s := aMethod printStringForBrowserWithSelector:selector allBold inClass:cls.
+        s := cls nameInBrowser , ' ' , s
+    ] ifFalse:[
+        s := aMethod printStringForBrowserWithSelector:selector inClass:cls.
+    ].
+
+    "/
+    "/ wrap icons (i.e. break- or trace points)
+    "/ have higher prio ...
+    "/
+    (aMethod notNil and:[aMethod isWrapped]) ifTrue:[
+        (s endsWith:' !!') ifTrue:[
+            s := s copyWithoutLast:2
+        ].
+        aMethod isBreakpointed ifTrue:[
+            icn := self stopIcon
+        ] ifFalse:[
+            aMethod isTimed ifTrue:[
+                icn := self timeIcon
+            ] ifFalse:[
+                icn := self traceIcon
+            ]
+        ].
+    ].
+
+    icn isNil ifTrue:[
+        self showImageResourceMethodsImages value ~~ false ifTrue:[
+            (aMethod hasImageResource) ifTrue:[
+                aMethod mclass isMeta ifTrue:[
+                    icn := aMethod valueWithReceiver:nil arguments:nil .
+                ].
+            ].
+        ].
+    ].
+
+    icn isNil ifTrue:[
+        showMethodTypeIcon value ~~ false ifTrue:[
+            icn := self resourceIconForMethod:aMethod.
+        ].
+        icn isNil ifTrue:[
+            aMethod isProtected ifTrue:[
+                icn := self protectedMethodIcon
+            ] ifFalse:[
+                aMethod isPrivate ifTrue:[
+                    icn := self privateMethodIcon
+                ] ifFalse:[
+                    (aMethod isIgnored) ifTrue:[
+                        icn := self ignoredMethodIcon
+                    ] ifFalse:[
+                        (aMethod isJavaMethod and:[aMethod isAbstract]) ifTrue:[
+                            icn := self abstractMethodIcon
+                        ]
+                    ]
+                ]
+            ].
+        ].
+    ].
+    icn isNil ifTrue:[
+        (selector startsWith:'test') ifTrue:[
+            ((cls isSubclassOf:TestCase) 
+            and:[cls isAbstract not]) ifTrue:[
+                "JV@2011-11-17: Show thumbs even if not all test were run"
+
+                lastResultOrNil := cls rememberedOutcomeFor:selector.
+                lastResultOrNil notNil ifTrue:[
+                    (lastResultOrNil result == TestResult statePass) ifTrue:[
+                        icn := SystemBrowser testCasePassedIcon
+                    ] ifFalse:[
+                        ((lastResultOrNil result == TestResult stateError)
+                        or:[ (lastResultOrNil result == TestResult stateFail) ]) ifTrue:[
+                            icn := SystemBrowser testCaseFailedIcon
+                        ] 
+                    ]
+                ].
+            ].
+        ]
+    ].
+
+    showClass ifTrue:[
+        showClassFirst ifFalse:[
+            s := s , ' [' , cls name allBold , ']'.
+        ]
+    ].
+    showCategory ifTrue:[
+        cat := aMethod category.
+        cat notNil ifTrue:[
+            s := s , ' {' , (cat "asText allItalic" colorizeAllWith:Color grey), '}'
+        ]
+    ].
+
+    self showCoverageInformation value ifTrue:[
+        clr := self colorForCoverageInformationOfMethod:aMethod.
+        clr notNil ifTrue:[
+            s := self colorize:s with:(#color->clr).
+            "/ aMethod isInstrumented ifTrue:[
+            "/     icn := self instrumentationIcon
+            "/ ].
+        ].
+    ] ifFalse:[
+        (ChangeSet current includesChangeForClass:cls selector:selector) ifTrue:[
+            mark := self class markForBeingInChangeList.
+            "/ mark := self colorizeForChangedCode:mark.
+            s := s , mark.
+            "/ cg: I dont know why this was disabled - it is req'd to
+            "/ see changed methods in a method list (implementors...)
+            s := self colorizeForChangedCode:s.
+        ].
+
+        (SmallTeam notNil and:[SmallTeam includesChangeForClass:cls selector:selector]) ifTrue:[
+            s := (self colorizeForChangedCodeInSmallTeam:'!! '),s
+        ].
+    ].
+
+    variablesToHighlight := variableFilter value.
+    variablesToHighlight size > 0 ifTrue:[
+        classVarsToHighLight := filterClassVars value.
+        classVarsToHighLight ifTrue:[
+            doHighLight := self method:aMethod includesRefsToClassVariable:variablesToHighlight.
+            doHighLight ifTrue:[
+                doHighLightRed := self method:aMethod includesModsOfClassVariable:variablesToHighlight.
+            ].
+        ] ifFalse:[
+            doHighLight := self method:aMethod includesRefsToInstanceVariable:variablesToHighlight.
+            doHighLight ifTrue:[
+                doHighLightRed := self method:aMethod includesModsOfInstanceVariable:variablesToHighlight
+            ]
+        ].
+        doHighLight ifTrue:[
+            s := s allBold.
+            doHighLightRed ifTrue:[
+                emp := (UserPreferences current emphasisForWrittenVariable)
+            ] ifFalse:[
+                emp := (UserPreferences current emphasisForReadVariable)
+            ].
+            s := s emphasisAllAdd:emp
+        ]
+    ].
+
+    (showMethodComplexity value == true 
+    and:[ OOM::MethodMetrics notNil ]) ifTrue:[
+        icn isNil ifTrue:[
+                metrics := OOM::MethodMetrics forMethod:aMethod.
+                complexity := metrics complexity ? 0.
+                complexityIcon := OOM::MethodMetrics iconForComplexity:complexity.
+
+                ShowComplexityValue == true ifTrue:[
+                    complexityString := '{' , complexity printString , '}'.
+                    s := complexityString , ' ' , s.
+                ].
+                "/ icn := icn ? complexityIcon.
+                s := LabelAndIcon icon:complexityIcon string:s.
+        ].
+    ].
+
+    (showMethodInheritance value ? true) ifTrue:[
+        suppressInheritanceInfo ifTrue:[
+            redefIcon := self methodEmptyInheritedIcon.
+        ] ifFalse:[
+            redefIcon := self redefinedOrInheritedIconFor:aMethod.
+        ].
+    ].
+
+    (icn notNil or:[redefIcon notNil]) ifTrue:[
+        "/eXept version
+        "/l := LabelAndIcon icon:redefIcon string:s.
+        "/l image:icn.
+        "/JV:
+        l := LabelAndIcon icon:icn string:s.
+        l image:redefIcon.
+        icn isNil ifTrue:[l offset: 13].
+        l gap:1.
+        ^ l
+    ].
+    ^ s
+
+    "Created: / 22-10-1996 / 19:51:00 / cg"
+    "Modified: / 15-08-2009 / 13:13:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 17-11-2011 / 20:51:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 07-03-2012 / 19:06:09 / cg"
+! !
+
+!MethodList methodsFor:'private-watching'!
+
+startWatchProcess
+    updateProcess notNil ifTrue:[
+        ^ self
+    ].
+    updateProcess := [
+                        [true] whileTrue:[
+                            Delay waitForSeconds:1.
+                            self enqueueDelayedUpdateList
+                        ]
+                     ] fork.
+!
+
+stopWatchProcess
+    |p|
+
+    (p := updateProcess) notNil ifTrue:[
+        updateProcess := nil.
+        p terminate
+    ].
+! !
+
+!MethodList methodsFor:'setup'!
+
+postBuildWith:aBuilder
+    |methodListView|
+
+    super postBuildWith:aBuilder.
+
+    methodListView := aBuilder componentAt:'List'.
+    methodListView notNil ifTrue:[
+        methodListView allowDrag:true.
+        methodListView dragObjectConverter:[:obj | 
+                                            |nm method idx|
+
+                                            nm := obj theObject asString string string.
+                                            idx := browserNameList value findFirst:[:item | item string string = nm].
+                                            method := methodList value at:idx.
+                                            DropObject newMethod:method.
+                                         ].
+    ]
+! !
+
+!MethodList class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.75 2012-12-17 10:45:26 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.75 2012-12-17 10:45:26 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_NamespaceList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,565 @@
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+	      All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+BrowserList subclass:#NamespaceList
+	instanceVariableNames:'namespaceNameList namespaceList'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!NamespaceList class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+	      All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    I implement the namespace list in the new system browser
+"
+! !
+
+!NamespaceList class methodsFor:'interface specs'!
+
+singleNameSpaceWindowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:ClassCategoryList andSelector:#singleCategoryWindowSpec
+     ClassCategoryList new openInterface:#singleCategoryWindowSpec
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+	#name: #singleNameSpaceWindowSpec
+	#window: 
+       #(#WindowSpec
+	  #label: 'NameSpaceList'
+	  #name: 'NameSpaceList'
+	  #min: #(#Point 0 0)
+	  #max: #(#Point 1024 721)
+	  #bounds: #(#Rectangle 218 175 518 475)
+	)
+	#component: 
+       #(#SpecCollection
+	  #collection: #(
+	   #(#LabelSpec
+	      #label: 'NameSpaceName'
+	      #name: 'NameSpaceLabel'
+	      #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
+	      #translateLabel: true
+	      #labelChannel: #nameSpaceLabelHolder
+	      #menu: #menuHolder
+	    )
+	   )
+
+	)
+      )
+!
+
+windowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:ProjectList andSelector:#windowSpec
+     ProjectList new openInterface:#windowSpec
+     ProjectList open
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+        #name: #windowSpec
+        #window: 
+       #(#WindowSpec
+          #label: 'NamespaceList'
+          #name: 'NamespaceList'
+          #min: #(#Point 0 0)
+          #bounds: #(#Rectangle 13 23 313 323)
+        )
+        #component: 
+       #(#SpecCollection
+          #collection: #(
+           #(#SequenceViewSpec
+              #name: 'List'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #tabable: true
+              #model: #selectedNamespaces
+              #menu: #menuHolder
+              #hasHorizontalScrollBar: true
+              #hasVerticalScrollBar: true
+              #miniScrollerHorizontal: true
+              #isMultiSelect: true
+              #valueChangeSelector: #selectionChangedByClick
+              #useIndex: false
+              #sequenceList: #nameSpaceList
+              #doubleClickChannel: #doubleClickChannel
+              #properties: 
+             #(#PropertyListDictionary
+                #dragArgument: nil
+                #dropArgument: nil
+                #canDropSelector: #canDropContext:
+                #dropSelector: #doDropContext:
+              )
+            )
+           )
+
+        )
+      )
+
+    "Created: / 18.2.2000 / 01:06:05 / cg"
+    "Modified: / 18.2.2000 / 01:24:50 / cg"
+! !
+
+!NamespaceList class methodsFor:'queries-plugin'!
+
+aspectSelectors
+    ^ #( 
+        #(#doubleClickChannel #action )
+        immediateUpdate 
+        selectedNamespaces 
+        menuHolder 
+        inGeneratorHolder 
+        outGeneratorHolder 
+        selectionChangeCondition 
+        updateTrigger
+        forceGeneratorTrigger
+        hideUnloadedClasses
+        showAllClassesInNameSpaceOrganisation
+        organizerMode
+        slaveMode
+       )
+
+    "Created: / 18-02-2000 / 01:06:27 / cg"
+    "Modified: / 05-03-2007 / 16:47:45 / cg"
+! !
+
+!NamespaceList methodsFor:'aspects'!
+
+itemList
+    ^ self nameSpaceList value
+!
+
+nameSpaceLabelHolder
+    ^ self pseudoListLabelHolder
+!
+
+nameSpaceList
+    namespaceList isNil ifTrue:[
+	namespaceList := ValueHolder new
+    ].
+    ^ namespaceList
+
+    "Created: / 18.2.2000 / 00:59:01 / cg"
+!
+
+selectedNamespaces
+    ^ self selectionHolder
+
+!
+
+selectedNamespaces:aValueHolder
+    ^ self selectionHolder:aValueHolder
+
+! !
+
+!NamespaceList methodsFor:'change & update'!
+
+delayedUpdate:something with:aParameter from:changedObject
+
+    self inSlaveModeOrInvisible 
+    ifTrue:[
+	changedObject == Smalltalk ifTrue:[
+	    something == #classComment ifTrue:[^ self].
+	].
+	self invalidateList.
+	^ self
+    ].
+
+    changedObject == slaveMode ifTrue:[
+	listValid ~~ true ifTrue:[
+	    self enqueueDelayedUpdateList
+	].
+	"/ self invalidateList.
+	^  self
+    ].
+
+    changedObject == Smalltalk ifTrue:[
+	something == #newClass ifTrue:[
+	    listValid == true ifTrue:[
+		aParameter isNameSpace ifTrue:[
+		    (namespaceList value includes:aParameter name) ifFalse:[
+			self invalidateList.
+		    ]
+		].
+	    ].
+	    ^ self
+	].
+	something == #classRemove ifTrue:[
+	    listValid == true ifTrue:[
+		aParameter isNameSpace ifTrue:[
+		    self invalidateList.
+		].
+	    ].
+	    ^ self
+	].
+	^ self
+    ].
+
+    super delayedUpdate:something with:aParameter from:changedObject
+
+    "Created: / 18.2.2000 / 01:00:07 / cg"
+    "Modified: / 26.2.2000 / 01:10:46 / cg"
+!
+
+selectionChangedByClick
+    "we are not interested in that - get another notification
+     via the changed valueHolder"
+
+    "Created: / 18.2.2000 / 01:00:14 / cg"
+!
+
+update:something with:aParameter from:changedObject
+    changedObject == Smalltalk ifTrue:[
+        something == #methodDictionary ifTrue:[
+            ^ self 
+        ].
+        something == #methodTrap ifTrue:[
+            ^ self
+        ].
+        something == #methodCoverageInfo ifTrue:[
+            ^ self
+        ].
+        something == #methodInClass ifTrue:[
+            ^ self
+        ].
+        something == #classVariables ifTrue:[
+            ^ self
+        ].
+        something == #classComment ifTrue:[
+            ^ self.
+        ].
+        something == #methodInClassRemoved ifTrue:[
+            ^ self.
+        ].
+    ].
+    super update:something with:aParameter from:changedObject
+
+    "Modified: / 20-07-2011 / 18:55:12 / cg"
+! !
+
+!NamespaceList methodsFor:'drag & drop'!
+
+canDropContext:aDropContext
+    |objects nameSpace|
+
+    objects := aDropContext dropObjects collect:[:obj | obj theObject].
+    (objects conform:[:aMethodOrClass | aMethodOrClass isClass ]) ifFalse:[^ false].
+
+    nameSpace := self nameSpaceAtTargetPointOf:aDropContext.
+    nameSpace isNil ifTrue:[^ false].
+    nameSpace = self class nameListEntryForALL ifTrue:[^ false].
+
+    ^ (objects contains:[:aClass | aClass nameSpace name ~= nameSpace]) 
+!
+
+doDropContext:aDropContext
+    |nameSpaceName nameSpace objects|
+
+    objects := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
+    (objects conform:[:something | something isClass]) ifTrue:[
+        nameSpaceName := self nameSpaceAtTargetPointOf:aDropContext.
+        (nameSpaceName notNil
+        and:[ nameSpaceName ~= self class nameListEntryForALL]) ifTrue:[
+            nameSpace := NameSpace name:nameSpaceName.
+            objects do:[:eachClassToMove |
+                |className|
+
+                className := eachClassToMove nameWithoutPrefix.
+                nameSpace == Smalltalk ifTrue:[
+                    Smalltalk renameClass:eachClassToMove to:className asSymbol.
+                ] ifFalse:[
+                    Smalltalk renameClass:eachClassToMove to:(nameSpace name , '::' , className) asSymbol.
+                    nameSpace changed.
+                ].
+            ].
+            Smalltalk changed.
+        ].
+        ^ self
+    ].
+!
+
+nameSpaceAtTargetPointOf:aDropContext
+    |p targetView lineNr item|
+
+    p := aDropContext targetPoint.
+
+    targetView := aDropContext targetWidget.
+
+    lineNr := targetView yVisibleToLineNr:p y.
+    lineNr isNil ifTrue:[^ nil].
+
+    item := self itemList at:lineNr.
+    item isNil ifTrue:[^ nil].
+
+    ^ item
+! !
+
+!NamespaceList methodsFor:'generators'!
+
+makeGenerator
+    "return a generator which enumerates the classes from the selected namespace(s)."
+
+    |spaceNames hideUnloadedClasses showAllClasses showChangedClasses|
+
+    spaceNames := self selectedNamespaces value.
+    spaceNames size == 0 ifTrue:[
+        ^ #()
+    ].
+
+    hideUnloadedClasses := self hideUnloadedClasses value.
+    showAllClasses := self showAllClassesInNameSpaceOrganisation value.
+    showChangedClasses := spaceNames includes:(self class nameListEntryForChanged).
+
+    (showAllClasses or:[spaceNames includes:(self class nameListEntryForALL)]) ifTrue:[
+        hideUnloadedClasses ifTrue:[
+            ^ Iterator on:[:whatToDo |
+                               Smalltalk allClassesDo:[:cls |
+                                   cls isLoaded ifTrue:[
+                                       cls isRealNameSpace ifFalse:[
+                                           whatToDo value:cls
+                                       ]
+                                   ]
+                               ]
+                          ]
+        ].
+        ^ Iterator on:[:whatToDo |
+                           Smalltalk allClassesDo:whatToDo
+                      ]
+    ].
+
+    (spaceNames size == 1 
+     and:[spaceNames first = 'Smalltalk']) ifTrue:[
+        "/ somewhat tuned - quick look if classes name includes colons ...
+        ^ Iterator on:[:whatToDo |
+                       Smalltalk allClassesDo:[:cls |
+                           |includeIt|
+
+                           includeIt := (cls name includes:$:) not.
+                           includeIt := includeIt
+                                        or:[(cls isPrivate not 
+                                            and:[(cls nameSpace == Smalltalk)])].
+                           includeIt := includeIt
+                                        or:[(cls isPrivate  
+                                            and:[(cls topOwningClass nameSpace == Smalltalk)])].
+
+                           includeIt := includeIt
+                                        and:[hideUnloadedClasses not or:[cls isLoaded]].
+
+                           includeIt := includeIt
+                                        or:[ cls extensions 
+                                                contains:[:mthd | 
+                                                            |sel parts|
+                                                            sel := mthd selector.
+                                                            (sel isNameSpaceSelector
+                                                            and:[ parts := sel nameSpaceSelectorParts.
+                                                                  spaceNames includes:parts first])  
+                                                         ]
+                                           ].
+
+                           includeIt ifTrue:[
+                               cls isRealNameSpace ifFalse:[
+                                   whatToDo value:cls
+                               ]
+                           ]
+                       ]
+                      ]
+    ].
+
+    ^ Iterator on:[:whatToDo |
+                       |changedClasses|
+
+                        showChangedClasses ifTrue:[ changedClasses := ChangeSet current changedClasses collect:[:cls | cls theNonMetaclass]].
+
+                        Smalltalk allClassesDo:[:cls |
+                            |spaceOfClass spaceNameOfClass includeIt|
+
+                            spaceOfClass := cls isPrivate ifTrue:[cls topOwningClass nameSpace] ifFalse:[cls nameSpace].
+                            spaceNameOfClass := spaceOfClass name.
+
+                            includeIt := spaceNames contains:[:nm | nm = spaceNameOfClass
+                                                                    or:[spaceNameOfClass startsWith:(nm , '::')]].
+                            includeIt ifFalse:[
+                                (showChangedClasses and:[ (changedClasses includes:cls theNonMetaclass) ]) ifTrue:[
+                                    includeIt := true
+                                ].
+                            ].
+                            hideUnloadedClasses ifTrue:[
+                                includeIt := includeIt and:[cls isLoaded].
+                            ].
+                            includeIt ifTrue:[
+                                cls isRealNameSpace ifFalse:[
+                                    whatToDo value:cls
+                                ]
+                            ]
+                        ]
+                  ]
+
+    "Created: / 18-02-2000 / 01:01:58 / cg"
+    "Modified: / 05-03-2007 / 23:01:21 / cg"
+! !
+
+!NamespaceList methodsFor:'private'!
+
+defaultSlaveModeValue
+    |mode|
+
+    mode := self topApplication perform:#initialOrganizerMode ifNotUnderstood:nil.
+    mode == OrganizerCanvas organizerModeNamespace ifTrue:[^ false].
+"/    self organizerMode value == OrganizerCanvas organizerModeCategory ifTrue:[^ true].
+"/    ^ false
+    mode isNil ifTrue:[^ false].
+    ^ true
+!
+
+initialOrganizerMode
+    ^ OrganizerCanvas organizerModeNamespace
+!
+
+listOfNamespaces
+    |allNamespaces showAllNamespaces generator|
+
+    showAllNamespaces := false.    "/ only topLevel namespaces are shown
+    showAllNamespaces := true.
+
+    allNamespaces := IdentitySet new.
+
+    inGeneratorHolder isNil ifTrue:[
+        (self hideUnloadedClasses value) ifTrue:[
+            Smalltalk allClassesDo:[:eachClass |
+                eachClass isLoaded ifTrue:[
+                    allNamespaces add:(eachClass theNonMetaclass topNameSpace)
+                ].
+            ]
+        ] ifFalse:[
+            allNamespaces := NameSpace allNameSpaces.
+        ].
+
+        showAllNamespaces ifFalse:[
+            "/ only topLevel namespaces are shown
+            "/ i.e. ignore subspaces 
+
+            allNamespaces := allNamespaces select:[:ns | ns isTopLevelNameSpace].
+        ].
+        "/JV@2011-12-04: Do not show java packages, they are all shown
+        "/when JAVA namespace is shown. Use #askFor: here, as eXept's libbasic
+        "/does not have #isJavaPackage
+        allNamespaces := allNamespaces reject:[:ns | ns askFor: #isJavaPackage ].
+
+        allNamespaces := allNamespaces collect:[:ns | ns name].
+    ] ifFalse:[
+        generator := inGeneratorHolder value.
+        generator isNil ifTrue:[^ #() ].
+        generator do:[:ns | allNamespaces add:ns].
+    ].
+
+    allNamespaces := allNamespaces asOrderedCollection.
+    allNamespaces sort.
+    allNamespaces size == 1 ifTrue:[
+        self nameSpaceLabelHolder value:(LabelAndIcon icon:(self class nameSpaceIcon) string:allNamespaces first).
+    ].
+
+"/ for now: disabled, because it gets replicated into the nameSpace filter, which
+"/ does not (yet) handle it correctly
+"/    numClassesInChangeSet := ChangeSet current changedClasses size.
+"/    numClassesInChangeSet > 0 ifTrue:[
+"/        "/ dont include count - makeGenerator compares against the un-expanded nameListEntry (sigh - need two lists)
+"/        allNamespaces addFirst:((self class nameListEntryForChanged "bindWith:numClassesInChangeSet") allItalic).
+"/    ].
+
+    allNamespaces addFirst:(self class nameListEntryForALL allItalic).
+    ^ allNamespaces
+
+    "Created: / 18-02-2000 / 01:04:27 / cg"
+    "Modified: / 25-02-2000 / 22:11:29 / cg"
+    "Modified: / 04-12-2011 / 12:30:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+makeDependent
+    Smalltalk addDependent:self
+
+    "Created: / 18.2.2000 / 01:04:36 / cg"
+!
+
+makeIndependent
+    Smalltalk removeDependent:self.
+
+    "Created: / 18.2.2000 / 01:04:42 / cg"
+!
+
+updateList
+    |newList oldSelection newSelection selectedNamespacesHolder|
+
+    selectedNamespacesHolder := self selectedNamespaces.
+    oldSelection := selectedNamespacesHolder value.
+    newList := self listOfNamespaces.
+    newList ~= namespaceList value ifTrue:[
+"/        oldSelection size > 0 ifTrue:[
+"/            selectedNamespacesHolder removeDependent:self.
+"/            selectedNamespacesHolder value:#().
+"/            selectedNamespacesHolder addDependent:self.
+"/        ].
+	self nameSpaceList value:newList.
+
+	oldSelection size > 0 ifTrue:[
+	    newSelection := oldSelection select:[:nm | 
+				(nm = self class nameListEntryForALL) 
+				or:[ (Smalltalk at:nm asSymbol) isNameSpace]
+			    ].
+	    newSelection ~= oldSelection ifTrue:[
+		selectedNamespacesHolder value:newSelection.
+	    ]
+	]
+    ].
+    listValid := true.
+! !
+
+!NamespaceList class methodsFor:'documentation'!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_NamespaceList.st,v 1.20 2012-10-20 19:36:38 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_NavigationState.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,1691 @@
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+Object subclass:#NavigationState
+	instanceVariableNames:'browserLabel codeModifiedHolder categoryList classList
+		packageFilter nameSpaceFilter hidePrivateClasses canvasType
+		notMetaToggle metaToggle metaToggleLabel organizerMode codeAspect
+		codeHolder classDocumentationHolder canvas selectorListGenerator
+		protocolListGenerator classListPerNameSpaceGenerator
+		classListGenerator categoryListGenerator nameSpaceListGenerator
+		projectListGenerator classHierarchyTopClass meta selectedMethods
+		selectedProtocols selectedClasses selectedCategories
+		selectedProjects selectedNamespaces selectedLintRules
+		variableFilter filterClassVars sortBy noAllItem autoSearchPattern
+		autoSearchIgnoreCase autoSearchAction realModifiedStateHolder
+		methodInfo versionDiffApplication selectorListGeneratorArray
+		selectedMethodsArray infoLabelHolder packageLabelHolder
+		cursorLineLabelHolder cursorColLabelHolder modeLabelHolder
+		sortVariablesBy editModeHolder scrollableCodeView specialEditors
+		selectedEditorNoteBookTabIndexHolder editorNoteBookListHolder
+		editorNoteBookCanvasHolder codeView stringSearchToolView
+		noteBookView inheritanceView documentationView languageHolder
+		messageSpecHolder messageHolder progressHolder tabContentView
+		messagePaneView codePaneAndPluginView
+		codePaneAndPluginViewRelativeCorners pluginVisibleHolder
+		bookmarkHolder worker packageInfoBackgroundColorHolder
+		packageInfoButton showMethodTemplate showingParseError'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!NavigationState class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
+
+!NavigationState methodsFor:'accessing'!
+
+autoSearchAction
+    ^ autoSearchAction
+!
+
+autoSearchAction:something
+    autoSearchAction := something.
+!
+
+autoSearchIgnoreCase
+    "return true if the autSearch is to be case-insensitive"
+
+    ^ autoSearchIgnoreCase
+!
+
+autoSearchIgnoreCase:aBoolean
+    "change the autSearches case-insensitivenes"
+
+    autoSearchIgnoreCase := aBoolean
+!
+
+autoSearchPattern
+    "return the automatic search pattern"
+
+    ^ autoSearchPattern
+!
+
+autoSearchPattern:aPattern
+    "change the automatic search pattern"
+
+    autoSearchPattern := aPattern.
+!
+
+browserLabel
+    "return the assigned state-label (to be shown in the tab)."
+
+    ^ browserLabel
+!
+
+browserLabel:aString
+    "set the assigned state-label (to be shown in the tab)."
+
+    browserLabel := aString
+!
+
+canvas
+    ^ canvas
+!
+
+canvas:something
+    canvas := something.
+    canvasType isNil ifTrue:[
+        canvasType := something spec
+    ].
+!
+
+canvasType
+    "return the type of canvas"
+
+    ^ canvasType
+!
+
+canvasType:aSpecSymbol
+    "set the type of canvas"
+
+    canvasType notNil ifTrue:[
+        canvasType ~~ aSpecSymbol ifTrue:[
+            self halt:'cannot be changed, once set'.
+        ]
+    ].
+    canvasType := aSpecSymbol
+!
+
+codeAspect
+    "return the codeAspect; a symbol describing what is shown in the codeView"
+
+    ^ codeAspect
+
+    "Created: / 11.2.2000 / 12:43:29 / cg"
+!
+
+codeAspect:aSymbolOrNil
+    "set the codeAspect; a symbol describing what is shown in the codeView"
+
+    codeAspect := aSymbolOrNil
+
+    "Created: / 11.2.2000 / 12:43:45 / cg"
+!
+
+codePaneAndPluginView
+    ^ codePaneAndPluginView
+!
+
+codePaneAndPluginView:something
+    codePaneAndPluginView := something.
+!
+
+codePaneAndPluginViewRelativeCorners
+    codePaneAndPluginViewRelativeCorners ifNil:[
+        codePaneAndPluginViewRelativeCorners := #(0.76 1.0)
+    ].
+    ^ codePaneAndPluginViewRelativeCorners
+
+    "Modified: / 04-10-2010 / 08:20:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+codePaneAndPluginViewRelativeCorners: anArray
+
+    codePaneAndPluginViewRelativeCorners := anArray.
+
+    "Modified: / 04-10-2010 / 08:14:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+editorNoteBookCanvasHolder
+    editorNoteBookCanvasHolder isNil ifTrue:[
+        editorNoteBookCanvasHolder := nil asValue.
+    ].
+    ^ editorNoteBookCanvasHolder
+!
+
+editorNoteBookListHolder
+    editorNoteBookListHolder isNil ifTrue:[
+        editorNoteBookListHolder := #() asValue.
+    ].
+    ^ editorNoteBookListHolder
+!
+
+environment
+    ^ Smalltalk
+!
+
+messagePaneView
+    ^ messagePaneView
+!
+
+messagePaneView:something
+    messagePaneView := something.
+!
+
+modified
+    "check for modified code by asking the editTextView;
+     this one returns true if ever modified - even if
+     the modifications where undone in the editor
+     (i.e. not really modified).
+     Use #reallyModified if the contents should be compared
+     against the original contents"
+
+    |v|
+
+    self realModifiedState == true ifTrue:[^ true].
+    self anySpecialEditorModified ifTrue:[^ true].
+
+    ^ (v := self codeView) notNil and:[v modified]
+!
+
+modified:aBoolean
+    |codeView|
+
+    (codeView := self codeView) notNil ifTrue:[
+        codeView modified:aBoolean
+    ].
+    specialEditors notNil ifTrue:[
+        specialEditors do:[:anEditor | 
+            anEditor application modified:aBoolean
+        ].    
+    ].
+!
+
+noteBookView
+    ^ noteBookView
+!
+
+noteBookView:something
+    noteBookView := something.
+!
+
+realModifiedState
+    ^ self realModifiedStateHolder value
+!
+
+realModifiedState:aBoolean
+    self realModifiedStateHolder value:aBoolean
+!
+
+realModifiedStateHolder
+    realModifiedStateHolder isNil ifTrue:[
+        realModifiedStateHolder := ValueHolder new.
+    ].
+    ^ realModifiedStateHolder
+!
+
+selectedEditorNoteBookTabIndexHolder
+    selectedEditorNoteBookTabIndexHolder isNil ifTrue:[
+        selectedEditorNoteBookTabIndexHolder := 1 asValue.
+    ].
+    ^ selectedEditorNoteBookTabIndexHolder
+!
+
+showMethodTemplate
+    ^ showMethodTemplate ? true
+
+    "Created: / 12-02-2012 / 08:49:32 / cg"
+!
+
+showMethodTemplate: aBoolean
+    showMethodTemplate := aBoolean
+
+    "Created: / 12-02-2012 / 08:49:45 / cg"
+!
+
+showingParseError
+    ^ showingParseError
+!
+
+showingParseError:something
+    showingParseError := something.
+!
+
+stringSearchToolView
+    ^ stringSearchToolView
+!
+
+stringSearchToolView: aStringSearchTool
+
+    stringSearchToolView := aStringSearchTool
+!
+
+tabContentView
+    ^ tabContentView
+!
+
+tabContentView:something
+    tabContentView := something.
+!
+
+worker
+    ^ worker
+!
+
+worker:aProcess
+    worker := aProcess.
+! !
+
+!NavigationState methodsFor:'accessing-selection'!
+
+theSingleSelectedClass
+    "if only one class is selected, return it.
+     Otherwise, return nil"
+
+    |classes|
+
+    classes := self selectedClasses value.
+    classes size == 1 ifTrue:[
+        ^ classes first
+    ].
+    ^ nil
+!
+
+theSingleSelectedMethod
+    "if only one method is selected, return it.
+     Otherwise, return nil"
+
+    |methods|
+
+    methods := self selectedMethods value.
+    methods size == 1 ifTrue:[
+        ^ methods first
+    ].
+    ^ nil
+! !
+
+!NavigationState methodsFor:'accessing-subApps'!
+
+applicationOfComponent:aComponentName
+    ^ self applicationOfComponent:aComponentName or:nil
+
+!
+
+applicationOfComponent:aComponentName or:anotherComponentName
+    |builder view|
+
+    canvas isNil ifTrue:[^ nil].
+
+    builder := canvas builder.
+
+    view := builder findVisibleComponentAt:aComponentName.
+    (view isNil and:[anotherComponentName notNil]) ifTrue:[
+        view := builder findVisibleComponentAt:anotherComponentName.
+    ].
+
+    view notNil ifTrue:[
+        ^ view application
+    ].
+    ^ nil
+!
+
+classCategoryListApplication
+    ^ self applicationOfComponent:#ClassCategoryList
+
+!
+
+classHierarchyListApplication
+    ^ self applicationOfComponent:#ClassHierarchyList
+!
+
+classListApplication
+    ^ self applicationOfComponent:#ClassList
+
+!
+
+metaToggleComponent
+    ^ canvas builder findComponentAt:#ClassToggle.
+!
+
+methodCategoryListApplication
+    ^ self applicationOfComponent:#MethodCategoryList
+!
+
+methodListApplication
+    ^ self applicationOfComponent:#MethodList
+!
+
+nameSpaceListApplication
+    ^ self applicationOfComponent:#NamespaceList or:#PseudoNamespaceList
+!
+
+projectListApplication
+    ^ self applicationOfComponent:#ProjectList or:#PseudoProjectList
+!
+
+variableListApplication
+    ^ self applicationOfComponent:#VariableList 
+!
+
+versionDiffApplication
+    ^ versionDiffApplication
+
+!
+
+versionDiffApplication:anApplication
+    versionDiffApplication := anApplication
+
+! !
+
+!NavigationState methodsFor:'accessing-subViews'!
+
+anySpecialEditorModified
+    specialEditors notNil ifTrue:[
+        ^ specialEditors contains:[:anEditor | anEditor application isModified].    
+    ].
+    ^ false
+!
+
+codeView
+    codeView isNil ifTrue:[
+        codeView := self scrollableCodeView scrolledView
+    ].
+    ^ codeView
+!
+
+doSaveInSpecialEditors
+    specialEditors notNil ifTrue:[
+        specialEditors do:[:anEditor | 
+            anEditor application isModified ifTrue:[
+                anEditor application save.
+                ^ self.
+            ]
+        ].    
+    ].
+!
+
+documentationView
+    |textView|
+
+    documentationView isNil ifTrue:[
+        textView := CodeView new.
+        documentationView := HVScrollableView forView:textView.
+    ].
+    ^ documentationView
+!
+
+getCodeView
+    ^ codeView
+!
+
+inheritanceView
+    inheritanceView isNil ifTrue:[
+        |classTreeView scrolledView|
+
+        classTreeView := ClassTreeGraphView new.
+        scrolledView := HVScrollableView forView:classTreeView.
+        classTreeView middleButtonMenu:nil.
+        inheritanceView := scrolledView
+    ].
+    ^ inheritanceView
+!
+
+methodCategoryList: aView
+
+    | builder |
+
+    builder := canvas builder.
+    builder namedComponents at: #MethodCategoryList put: aView.
+
+    "Created: / 08-08-2011 / 09:18:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+methodList: aView
+
+    | builder |
+
+    builder := canvas builder.
+    builder namedComponents at: #MethodList put: aView.
+
+    "Created: / 08-08-2011 / 15:32:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+packageInfoButton
+    ^ packageInfoButton
+!
+
+packageInfoButton:something
+    packageInfoButton := something.
+!
+
+scrollableCodeView
+    scrollableCodeView isNil ifTrue:[
+        scrollableCodeView := self setUpScrollableCodeView.
+    ].
+    ^ scrollableCodeView
+!
+
+setUpScrollableCodeView
+    |v aScrollableCodeView codeView |
+
+    (UserPreferences current useCodeView2In: #Browser) ifTrue:[
+        codeView := aScrollableCodeView := CodeView2 new.
+        codeView mode: #method.
+        codeView methodHolder: self theSingleSelectedMethodHolder.
+        codeView classHolder: self theSingleSelectedClassHolder.
+    ] ifFalse:[
+        aScrollableCodeView := HVScrollableView for:CodeView.
+        codeView := aScrollableCodeView scrolledView.
+        aScrollableCodeView horizontalMini:true.
+    ].
+
+    aScrollableCodeView name:'CodeView'.
+    codeView modifiedChannel:self codeModifiedHolder.
+    codeView model:self codeHolder.
+    codeView canTab:true.
+    UserPreferences current useCodeView2InTools ifTrue:[
+        codeView
+            classHolder:self theSingleSelectedClassFromMethodHolder;
+            languageHolder:self languageHolder
+    ].
+
+    UserPreferences current showAcceptCancelBarInBrowser ifTrue:[
+        ViewWithAcceptAndCancelBar notNil ifTrue:[
+            v := ViewWithAcceptAndCancelBar new.
+            v slaveView:aScrollableCodeView.
+            v reallyModifiedHolder:self realModifiedStateHolder.
+            v cancelAction:
+                [
+                    "/ codeView setClipboardText:(codeView contents).   "/ for undo
+                    codeView device rememberInCopyBufferHistory:(codeView contents).  "/ for undo
+                    codeView application
+                        delayedUpdateCodeWithAutoSearch:false checkModified:false.
+                    codeView requestFocus.
+                ].
+            v compareAction:
+                [
+                    codeView application doCompareIn:self.
+                    codeView requestFocus
+                ].
+            aScrollableCodeView := v.
+        ]
+    ].
+
+   ^aScrollableCodeView
+
+    "Modified: / 05-07-2011 / 10:34:33 / cg"
+    "Modified: / 05-08-2011 / 09:44:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+specialEditorCanvasClassForResourceType:resourceTypeSymbol
+    resourceTypeSymbol == #fileImage ifTrue:[
+        ^ nil
+    ].
+    ^ SystemBrowser resourceEditorClassFor:resourceTypeSymbol
+!
+
+specialEditorCanvasForResourceType:resourceTypeSymbol
+    |appClass app editorView|
+
+    specialEditors isNil ifTrue:[
+        specialEditors := Dictionary new.    
+    ].
+    editorView := specialEditors at:resourceTypeSymbol ifAbsent:nil.
+    editorView isNil ifTrue:[
+        appClass := self specialEditorCanvasClassForResourceType:resourceTypeSymbol.
+        appClass notNil ifTrue:[
+            app := appClass new.
+            app masterApplication:self canvas application.
+            app isEmbeddedInBrowser:true.
+            app infoLabelHolder:(self canvas application infoLabelHolder).
+
+            editorView := ApplicationSubView new.
+            editorView buildMenu:true.
+            editorView client:app.
+            app builder window:editorView.
+
+            specialEditors at:resourceTypeSymbol put:editorView.
+        ].
+    ].
+    ^ editorView
+! !
+
+!NavigationState methodsFor:'aspects'!
+
+bookmarkHolder
+    "return/create the 'bookmarkHolder' value holder (automatically generated)"
+
+    bookmarkHolder isNil ifTrue:[
+        bookmarkHolder := ValueHolder with: self theSingleSelectedBookmarkFromMethodOrClass.
+        self selectedMethods onChangeSend: #updateBookmarkHolder to: self.
+        self selectedClasses onChangeSend: #updateBookmarkHolder to: self.
+    ].
+    ^ bookmarkHolder
+
+    "Modified: / 03-06-2011 / 12:00:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+categoryList
+    categoryList isNil ifTrue:[
+        categoryList := nil asValue.
+    ].
+    ^ categoryList
+
+    "Modified: / 25.2.2000 / 01:35:42 / cg"
+    "Created: / 25.2.2000 / 01:57:45 / cg"
+!
+
+categoryListGenerator
+    categoryListGenerator isNil ifTrue:[
+        categoryListGenerator := nil asValue.
+    ].
+    ^ categoryListGenerator
+
+    "Created: / 25.2.2000 / 01:34:30 / cg"
+    "Modified: / 25.2.2000 / 01:35:42 / cg"
+!
+
+classDocumentationHolder
+    classDocumentationHolder isNil ifTrue:[
+        classDocumentationHolder := nil asValue.
+    ].
+    ^ classDocumentationHolder
+!
+
+classHierarchyTopClass
+    classHierarchyTopClass isNil ifTrue:[
+        classHierarchyTopClass := nil asValue.
+    ].
+    ^ classHierarchyTopClass
+
+!
+
+classList
+    classList isNil ifTrue:[
+        classList := nil asValue.
+    ].
+    ^ classList
+
+    "Created: / 25.2.2000 / 01:57:28 / cg"
+!
+
+classListGenerator
+    classListGenerator isNil ifTrue:[
+        classListGenerator := nil asValue.
+    ].
+    ^ classListGenerator
+
+
+!
+
+classListPerNameSpaceGenerator
+    classListPerNameSpaceGenerator isNil ifTrue:[
+        classListPerNameSpaceGenerator := nil asValue.
+    ].
+    ^ classListPerNameSpaceGenerator
+
+    "Created: / 18.8.2000 / 14:15:34 / cg"
+!
+
+codeHolder
+    codeHolder isNil ifTrue:[
+        codeHolder := nil asValue.
+    ].
+    ^ codeHolder
+
+!
+
+codeModifiedHolder
+    codeModifiedHolder isNil ifTrue:[
+        codeModifiedHolder := false asValue.
+    ].
+    ^ codeModifiedHolder
+!
+
+cursorColLabelHolder
+    cursorColLabelHolder isNil ifTrue:[
+"/        self codeView isNil ifTrue:[^ nil].
+
+        cursorColLabelHolder := BlockValue 
+                                    with:[:v | v printString]
+                                    argument:self codeView cursorColHolder.
+    ].
+    ^ cursorColLabelHolder
+!
+
+cursorLineLabelHolder
+    cursorLineLabelHolder isNil ifTrue:[
+"/        self codeView isNil ifTrue:[^ nil].
+
+        cursorLineLabelHolder := BlockValue 
+                                    with:[:v | v printString]
+                                    argument:self codeView cursorLineHolder.
+    ].
+    ^ cursorLineLabelHolder
+!
+
+editModeHolder
+    editModeHolder isNil ifTrue:[
+        editModeHolder := self codeView editModeHolder.
+    ].
+    ^ editModeHolder
+!
+
+filterClassVars
+    filterClassVars isNil ifTrue:[
+        filterClassVars := false asValue.
+    ].
+    ^ filterClassVars
+
+    "Created: / 24.2.2000 / 23:45:28 / cg"
+!
+
+hidePrivateClasses
+    hidePrivateClasses isNil ifTrue:[
+        hidePrivateClasses := false asValue.
+    ].
+    ^ hidePrivateClasses
+
+    "Created: / 24.2.2000 / 16:17:02 / cg"
+!
+
+infoLabelHolder 
+    infoLabelHolder isNil ifTrue:[
+        infoLabelHolder := '' asValue.
+    ].
+    ^ infoLabelHolder
+!
+
+languageHolder
+
+    languageHolder ifNil:[
+        languageHolder := ValueHolder with: self theSingleSelectedLanguageFromMethodOrClass.
+        self selectedMethods onChangeSend: #updateLanguageHolder to: self.
+        self selectedClasses onChangeSend: #updateLanguageHolder to: self.
+    ].
+    ^languageHolder
+
+    "Created: / 20-07-2010 / 16:03:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+lintRuleListGenerator
+
+    | result |
+    result := self objectAttributeAt: #lintRuleListGenerator.
+    result ifNil:
+        [result := ValueHolder new.
+        self objectAttributeAt: #lintRuleListGenerator put: result].
+    ^result
+
+    "Created: / 22-07-2009 / 15:27:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+messageHolder
+    "return/create the 'messageHolder' value holder (automatically generated)"
+
+    messageHolder isNil ifTrue:[
+        messageHolder := ValueHolder new.
+    ].
+    ^ messageHolder
+!
+
+messageHolder:aValueHolder
+    "set the 'messageHolder' value holder (automatically generated)"
+
+    messageHolder := aValueHolder.
+!
+
+messageSpecHolder
+    "return/create the 'messageSpecHolder' value holder (automatically generated)"
+
+    messageSpecHolder isNil ifTrue:[
+        messageSpecHolder := ValueHolder with:#messageInfoSpec.
+    ].
+    ^ messageSpecHolder
+
+    "Modified: / 28-08-2010 / 11:40:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+messageSpecHolder:something
+    "set the 'messageSpecHolder' value holder (automatically generated)"
+
+    messageSpecHolder := something.
+!
+
+meta
+    meta isNil ifTrue:[
+        meta := false asValue.
+    ].
+    ^ meta
+
+
+!
+
+metaToggleLabelHolder
+    metaToggleLabel isNil ifTrue:[
+        metaToggleLabel := 'Class' asValue.
+    ].
+    ^ metaToggleLabel
+!
+
+methodInfo
+    methodInfo isNil ifTrue:[
+        methodInfo := nil asValue.
+    ].
+    ^ methodInfo
+
+!
+
+methodList
+    |methodListApplication|
+
+    methodListApplication := self methodListApplication.
+    methodListApplication isNil ifTrue:[^ nil].
+
+    ^ methodListApplication methodList
+!
+
+modeLabelHolder
+    modeLabelHolder isNil ifTrue:[
+        modeLabelHolder := self codeView modeLabelHolder.
+    ].
+    ^ modeLabelHolder
+!
+
+nameSpaceFilter
+    nameSpaceFilter isNil ifTrue:[
+        nameSpaceFilter := nil asValue.
+    ].
+    ^ nameSpaceFilter
+
+    "Created: / 18.8.2000 / 14:25:24 / cg"
+!
+
+nameSpaceListGenerator
+    nameSpaceListGenerator isNil ifTrue:[
+        nameSpaceListGenerator := nil asValue.
+    ].
+    ^ nameSpaceListGenerator
+
+    "Created: / 18.8.2000 / 14:26:19 / cg"
+    "Modified: / 18.8.2000 / 14:27:59 / cg"
+!
+
+navigationHistory
+
+    | history |
+    history := self objectAttributeAt: #navigationHistory.
+    history ifNil:
+        [history := NavigationHistory new.
+        self objectAttributeAt: #navigationHistory put: history].
+    ^history
+
+    "Created: / 21-02-2008 / 20:08:43 / janfrog"
+    "Modified: / 21-07-2009 / 22:39:57 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+noAllItem
+    noAllItem isNil ifTrue:[
+        noAllItem := nil asValue.
+    ].
+    ^ noAllItem
+!
+
+organizerMode
+    "return the organizerMode holder; 
+     holding a symbol describing how things are organized
+     (#category, #hierarchy, #project or #namespace)"
+
+    organizerMode isNil ifTrue:[
+        organizerMode := OrganizerCanvas organizerModeCategory asValue.
+    ].
+    ^ organizerMode
+
+    "Created: / 18.2.2000 / 13:33:55 / cg"
+    "Modified: / 18.8.2000 / 18:37:22 / cg"
+!
+
+packageFilter
+    packageFilter isNil ifTrue:[
+        packageFilter := nil asValue.
+    ].
+    ^ packageFilter
+
+    "Created: / 24.2.2000 / 23:45:28 / cg"
+!
+
+packageInfoBackgroundColorHolder
+
+    packageInfoBackgroundColorHolder isNil ifTrue:[
+        packageInfoBackgroundColorHolder := nil asValue.
+    ].
+    ^ packageInfoBackgroundColorHolder
+
+    "Created: / 03-10-2011 / 14:04:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+packageLabelHolder
+    packageLabelHolder isNil ifTrue:[
+        packageLabelHolder := '' asValue.
+    ].
+    ^ packageLabelHolder
+!
+
+pluginVisibleHolder
+    pluginVisibleHolder isNil ifTrue:[
+        pluginVisibleHolder := false asValue.
+    ].
+    ^ pluginVisibleHolder
+
+    "Created: / 03-10-2010 / 17:50:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+profilerStatistics
+
+    | statistics |
+    statistics := self objectAttributeAt: #profilerStatistics.
+    statistics ifNil:
+        [statistics := ValueHolder new.
+        self objectAttributeAt: #profilerStatistics put: statistics].
+    ^statistics
+
+    "Created: / 21-02-2008 / 20:08:43 / janfrog"
+    "Modified: / 21-07-2009 / 22:40:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+profilerStatistics: anObject
+
+    self objectAttributeAt: #profilerStatistics put: anObject
+
+    "Created: / 21-02-2008 / 20:08:43 / janfrog"
+    "Modified: / 21-07-2009 / 22:41:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+progressHolder
+    "return/create the 'progressHolder' value holder (automatically generated)"
+
+    progressHolder isNil ifTrue:[
+        progressHolder := ValueHolder new.
+    ].
+    ^ progressHolder
+!
+
+progressHolder:aValueHolder
+    "set the 'progressHolder' value holder (automatically generated)"
+
+    progressHolder := aValueHolder.
+!
+
+projectListGenerator
+    projectListGenerator isNil ifTrue:[
+        projectListGenerator := nil asValue.
+    ].
+    ^ projectListGenerator
+
+    "Modified: / 25.2.2000 / 01:35:42 / cg"
+    "Created: / 25.2.2000 / 02:43:26 / cg"
+!
+
+protocolListGenerator
+    protocolListGenerator isNil ifTrue:[
+        protocolListGenerator := nil asValue.
+    ].
+    ^ protocolListGenerator
+
+!
+
+selectedCategories
+    selectedCategories isNil ifTrue:[
+        selectedCategories := nil asValue.
+    ].
+    ^ selectedCategories
+
+!
+
+selectedClasses
+    "bad name- it's a holder, baby"
+
+    selectedClasses isNil ifTrue:[
+        selectedClasses := "SpecialValueHolder with:nil." nil asValue.
+    ].
+    ^ selectedClasses
+!
+
+selectedLintRules
+    selectedLintRules isNil ifTrue:[
+        selectedLintRules := nil asValue.
+    ].
+    ^ selectedLintRules
+
+    "Modified: / 02-02-2010 / 20:42:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+selectedMethods
+    selectedMethods isNil ifTrue:[
+        selectedMethods := nil asValue.
+    ].
+    ^ selectedMethods
+
+!
+
+selectedMethodsArrayAt:index
+    |holder|
+
+    selectedMethodsArray isNil ifTrue:[
+        selectedMethodsArray := OrderedCollection new 
+    ].
+    index > selectedMethodsArray size ifTrue:[
+        selectedMethodsArray grow:index
+    ].
+    holder := selectedMethodsArray at:index.
+    holder isNil ifTrue:[
+        selectedMethodsArray at:index put:(holder := ValueHolder new)
+    ].
+    ^ holder.
+!
+
+selectedNamespaces
+    selectedNamespaces isNil ifTrue:[
+        selectedNamespaces := nil asValue.
+    ].
+    ^ selectedNamespaces
+
+!
+
+selectedProjects
+    selectedProjects isNil ifTrue:[
+        selectedProjects := nil asValue.
+    ].
+    ^ selectedProjects
+
+!
+
+selectedProtocols
+    selectedProtocols isNil ifTrue:[
+        selectedProtocols := nil asValue.
+    ].
+    ^ selectedProtocols
+
+!
+
+selectorListGenerator
+    selectorListGenerator isNil ifTrue:[
+        selectorListGenerator := nil asValue.
+    ].
+    ^ selectorListGenerator
+
+!
+
+selectorListGeneratorArray
+    self halt:'should not be invoked'.
+!
+
+selectorListGeneratorArrayAt:index
+    |holder|
+
+    selectorListGeneratorArray isNil ifTrue:[
+        selectorListGeneratorArray := OrderedCollection new 
+    ].
+    index > selectorListGeneratorArray size ifTrue:[
+        selectorListGeneratorArray grow:index
+    ].
+    holder := selectorListGeneratorArray at:index.
+    holder isNil ifTrue:[
+        selectorListGeneratorArray at:index put:(holder := ValueHolder new)
+    ].
+    ^ holder.
+!
+
+sortBy
+    sortBy isNil ifTrue:[
+        sortBy := nil asValue.
+    ].
+    ^ sortBy
+!
+
+theSingleSelectedBookmarkFromMethodOrClass
+
+    | mth cls |
+
+    mth := self theSingleSelectedMethod. 
+    (mth notNil and:[mth mclass notNil])
+        ifTrue:[^Tools::NewSystemBrowser bookmarkForClass:mth mclass selector:mth selector].
+    cls := self theSingleSelectedClass.
+    cls 
+        ifNotNil:[^Tools::NewSystemBrowser bookmarkForClass:cls selector:nil].
+    ^nil
+
+    "Created: / 02-06-2011 / 22:16:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 02-06-2011 / 23:19:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+theSingleSelectedClassFromMethodHolder
+
+    ^BlockValue 
+        with:
+            [:i1 :i2| | mth cls |
+            mth := self theSingleSelectedMethod. 
+            cls := mth ifNil:[nil] ifNotNil:[mth mclass].
+            cls ifNil:[
+            cls := self theSingleSelectedClass].
+            cls]
+        argument: self selectedMethods
+        argument: self selectedClasses.
+
+    "Created: / 14-02-2010 / 10:05:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+theSingleSelectedClassHolder
+
+    ^BlockValue 
+        with:
+            [:i1 | self theSingleSelectedClass]
+        argument: 
+            self selectedClasses
+
+    "Created: / 05-08-2011 / 09:44:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+theSingleSelectedLanguageFromMethodOrClass
+
+    | mth cls |
+
+    mth := self theSingleSelectedMethod. 
+    mth ifNotNil:[^mth programmingLanguage].
+    cls := self theSingleSelectedClass.
+    cls ifNotNil:[^cls programmingLanguage].
+    ^SmalltalkLanguage instance
+
+    "Created: / 20-07-2010 / 15:59:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+theSingleSelectedMethodHolder
+
+    ^BlockValue 
+        with:
+            [:i1 | self theSingleSelectedMethod]
+        argument: 
+            self selectedMethods
+
+    "Created: / 17-06-2011 / 12:39:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+updateBookmarkHolder
+
+   ^self bookmarkHolder value: self theSingleSelectedBookmarkFromMethodOrClass
+
+    "Created: / 02-06-2011 / 22:13:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+updateLanguageHolder
+
+   ^self languageHolder value: self theSingleSelectedLanguageFromMethodOrClass
+
+    "Created: / 20-07-2010 / 16:05:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+variableFilter
+    variableFilter isNil ifTrue:[
+        variableFilter := nil asValue.
+    ].
+    ^ variableFilter
+
+    "Created: / 24.2.2000 / 23:45:28 / cg"
+! !
+
+!NavigationState methodsFor:'aspects-kludges'!
+
+metaToggle
+    metaToggle isNil ifTrue:[
+        metaToggle := PluggableAdaptor on:(self meta).
+        metaToggle
+            getBlock:[:m | m value == true]
+            putBlock:[:m :newValue | m value:(newValue ? false)]
+            updateBlock:[:m :aspect :param | true].
+    ].
+    ^ metaToggle
+!
+
+notMetaToggle
+    notMetaToggle isNil ifTrue:[
+        notMetaToggle := PluggableAdaptor on:(self meta).
+        notMetaToggle
+            getBlock:[:m | m value == false]
+            putBlock:[:m :newValue | m value:(newValue ? false) not]
+            updateBlock:[:m :aspect :param | true].
+    ].
+    ^ notMetaToggle
+! !
+
+!NavigationState methodsFor:'history'!
+
+addToHistory: class selector: selector
+
+    | entry |
+    selector ifNil:[^self].
+    entry := SystemBrowser historyEntryForClass: class selector: selector.
+    self navigationHistory goTo: entry.
+    ^entry
+
+    "Created: / 22-02-2008 / 08:44:05 / janfrog"
+    "Modified: / 22-02-2008 / 17:20:00 / janfrog"
+    "Modified: / 25-10-2009 / 15:06:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!NavigationState methodsFor:'printing & storing'!
+
+colorizeForModifiedBuffer:someString
+    ^ someString asText emphasisAllAdd:(UserPreferences current emphasisForModifiedBuffer)
+!
+
+nameString
+    "a descriptive string of what this state shows"
+
+    |s|
+
+    s := self rawNameStringOrNil ? 'nothing selected'.
+
+    (self realModifiedState == true) ifTrue:[
+        ^ self colorizeForModifiedBuffer:s string
+    ].
+    ^ s
+!
+
+nameStringOrNil
+    "a descriptive string of what this state shows"
+
+    |s "codeView"|
+
+    s := self rawNameStringOrNil.
+    s notNil ifTrue:[
+        self realModifiedState == true 
+"/    ((codeView := self codeView) notNil
+"/    and:[codeView modified]) 
+        ifTrue:[
+            ^ self colorizeForModifiedBuffer:s string
+        ].
+    ].
+    ^ s
+!
+
+rawNameStringForCategory
+    |categories theCategory|
+
+    categories := self selectedCategories value.
+    categories size == 1 ifTrue:[
+        theCategory := categories first.
+        theCategory notNil ifTrue:[
+            ^ theCategory string, ' [Category]'
+        ].
+    ].
+    ^ nil
+
+    "Created: / 18.8.2000 / 19:42:42 / cg"
+!
+
+rawNameStringForNameSpace
+    |namespaces theNamespace nsName s|
+
+    namespaces := self selectedNamespaces value.
+    namespaces size == 1 ifTrue:[
+        theNamespace := namespaces first
+    ].
+    theNamespace notNil ifTrue:[
+        theNamespace isNameSpace ifTrue:[
+            nsName := theNamespace name
+        ] ifFalse:[
+            nsName := theNamespace
+        ].
+        s := nsName , ' [NameSpace]'.
+        (self isNameSpaceBrowser or:[self isNameSpaceFullBrowser]) ifTrue:[
+            ^ LabelAndIcon icon:(NewSystemBrowser nameSpaceIcon) string:s.
+        ].
+        ^ s
+    ].
+    ^ nil
+
+    "Created: / 18.8.2000 / 20:15:02 / cg"
+!
+
+rawNameStringForProject
+    |projects theProject s|
+
+    projects := self selectedProjects value.
+    projects size == 1 ifTrue:[
+        theProject := projects first
+    ].
+    theProject notNil ifTrue:[
+        s := theProject , ' [Project]'.
+        (self isProjectBrowser or:[self isProjectFullBrowser]) ifTrue:[
+            ^ LabelAndIcon icon:(NewSystemBrowser packageIcon) string:s.
+        ].
+        ^ s
+    ].
+    ^ nil
+
+    "Created: / 18.8.2000 / 20:18:34 / cg"
+!
+
+rawNameStringOrNil
+    "a descriptive string of what this state shows; nil, if nothing is selected"
+
+    ^ self rawNameStringOrNilWantShort:false
+!
+
+rawNameStringOrNilWantShort:shortName
+    "a descriptive string of what this state shows; nil, if nothing is selected"
+
+    |lbl nr numClasses numMethods numCategories cats classes theClass   
+     "protocols theProtocol" 
+     methods theSingleMethod projects theProject longName nm methodName suffix cls|
+
+    browserLabel notNil ifTrue:[
+        "/ add the number of selected methods
+        ((canvasType == #singleFullProtocolBrowserSpec)
+        or:[canvasType == #methodListBrowserSpec]) ifTrue:[
+            nr := self selectedMethods value size.
+            nr > 5 ifTrue:[
+                ^ browserLabel string , ' - ' , nr printString , ' methods'
+            ].
+        ].
+        ^ browserLabel
+    ].
+
+    suffix := ''.
+
+    self isProtocolOrFullProtocolBrowser ifTrue:[
+        lbl := self rawNameStringForProject.
+        lbl notNil ifTrue:[^ lbl].
+        suffix := ' [Protocol]'.
+    ].
+
+    self isCategoryBrowser ifTrue:[
+        lbl := self rawNameStringForCategory.
+        lbl notNil ifTrue:[^ lbl].
+        suffix := ' [Category]'.
+    ].
+
+    self isNameSpaceBrowser ifTrue:[
+        lbl := self rawNameStringForNameSpace.
+        lbl notNil ifTrue:[^ lbl].
+        suffix := ' [NameSpace]'.
+    ].
+
+    self isProjectBrowser ifTrue:[
+        projects := self selectedProjects value.
+        projects size == 1 ifTrue:[
+            theProject := projects first
+        ].
+        suffix := ' [Project]'.
+        theProject notNil ifTrue:[
+            ^ theProject , suffix
+        ]
+    ].
+
+    classes := self selectedClasses value.
+    classes size == 1 ifTrue:[
+        theClass := classes first.
+        theClass notNil ifTrue:[
+            theClass := theClass theNonMetaclass
+        ]
+    ].
+
+    self isClassBrowser ifTrue:[
+        suffix := ' [Class]'.
+        theClass notNil ifTrue:[
+            ^ theClass name , suffix
+        ]
+    ].
+
+"/    protocols := self selectedProtocols value.
+"/    protocols size == 1 ifTrue:[
+"/        theProtocol := protocols first
+"/    ].
+
+    methods := self selectedMethods value.
+    methods size == 1 ifTrue:[
+        theSingleMethod := methods first
+    ].
+
+    theSingleMethod notNil ifTrue:[
+        methodName := theSingleMethod selector.
+        methodName isSymbol ifTrue:[methodName := methodName selector].
+        theSingleMethod isJavaMethod ifTrue:[
+            methodName := theSingleMethod printStringForBrowserWithSelector:methodName.
+        ].
+    ].
+
+    self isMethodBrowser ifTrue:[
+        suffix := ' [Selector]'.
+
+        theSingleMethod notNil ifTrue:[
+            theSingleMethod mclass isNil ifTrue:[
+                ^ '???'
+            ].
+            ^ theSingleMethod mclass name , ' ' , methodName , suffix
+        ]
+    ].
+
+    self isCategoryBrowser ifTrue:[
+        suffix :=  ' [Category]'.
+    ] ifFalse:[
+        self isFullClassSourceBrowser ifTrue:[
+            suffix :=  ' [Full]'.
+        ] ifFalse:[
+            self isClassDocumentationBrowser ifTrue:[
+                suffix :=  ' [Doc]'.
+            ] ifFalse:[
+                self isProjectBrowser ifTrue:[
+                    suffix :=  ' [Project]'.
+                ]
+            ]
+        ]
+    ].
+
+    nm := nil.
+    (numClasses := classes size) > 0 ifTrue:[
+        numClasses > 1 ifTrue:[
+            methods size > 0 ifTrue:[
+                theSingleMethod notNil ifTrue:[
+                    cls := theSingleMethod mclass.
+                    cls isNil ifTrue:[ 
+                        "/ oops - unbound
+                        nm := '???'
+                    ] ifFalse:[
+                        longName := nm := cls nameInBrowser.
+                        shortName ifTrue:[
+                            nm := cls nameWithoutPrefix.
+                            cls isPrivate ifTrue:[
+                                nm := ':' , nm
+                            ]
+                        ].
+                    ].
+                    nm := nm , ' ', (methodName ? '???')
+                ] ifFalse:[
+                    nm := methods size printString , ' methods'.
+                    numClasses := (methods collect:[:each | each mclass]) asIdentitySet size.
+                    numClasses > 1 ifTrue:[
+                        nm := nm , ' in ' , numClasses printString , ' classes'.
+                    ].
+                ].
+                ^ nm , suffix.
+            ].
+
+            nm := numClasses printString , ' classes in '.
+            "/ cats := self selectedCategories value
+            cats := classes collect:[:each | each category] as:Set.
+            (numCategories := cats size) == 1 ifTrue:[
+                nm := nm , cats first
+            ] ifFalse:[
+                nm := nm , numCategories printString , ' categories'
+            ]
+        ] ifFalse:[
+            cls := theClass theNonMetaclass.
+            longName := nm := cls nameInBrowser.
+            shortName ifTrue:[
+                nm := cls nameWithoutPrefix.
+                cls isPrivate ifTrue:[
+                    nm := ':' , nm
+                ]
+            ].
+            methods := self selectedMethods value.
+            (numMethods := methods size) > 0 ifTrue:[
+                numMethods == 1 ifTrue:[
+                    theSingleMethod := methods first.
+                    nm := nm , ' ', (methodName ? '???')
+                ] ifFalse:[
+                    nm := numMethods printString , ' methods in ' , nm
+                ]
+            ]
+        ]
+    ] ifFalse:[
+        (self isNameSpaceBrowser 
+        or:[self isNameSpaceFullBrowser
+        or:[organizerMode value == OrganizerCanvas organizerModeNamespace]]) ifTrue:[
+            lbl := self rawNameStringForNameSpace.
+            lbl notNil ifTrue:[^ lbl].
+            suffix := ' [NameSpace]'.
+        ] ifFalse:[
+            (self isProjectBrowser 
+            or:[self isProjectFullBrowser
+            or:[organizerMode value == OrganizerCanvas organizerModeProject]]) ifTrue:[
+                lbl := self rawNameStringForProject.
+                lbl notNil ifTrue:[^ lbl].
+                suffix := ' [Project]'.
+            ] ifFalse:[
+                cats := self selectedCategories value.
+                cats size == 1 ifTrue:[
+                    nm := cats first string
+                ]
+            ]
+        ].
+    ].
+    nm isNil ifTrue:[ ^ nil ].
+    ^ nm , suffix.
+
+    "Created: / 11-02-2000 / 13:32:16 / cg"
+    "Modified: / 18-08-2000 / 21:06:35 / cg"
+    "Modified: / 20-07-2010 / 10:52:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+shortNameString
+    "a descriptive string of what this state shows"
+
+    |s|
+
+    s := (self rawNameStringOrNilWantShort:true) ? 'nothing selected'.
+
+    (self realModifiedState == true) ifTrue:[
+        ^ self colorizeForModifiedBuffer:s string
+    ].
+    ^ s
+! !
+
+!NavigationState methodsFor:'queries'!
+
+isCategoryBrowser
+    ^ canvasType == #categoryBrowserSpec
+      or:[ canvasType == #singleCategoryBrowserSpec
+      or:[ canvasType == #multipleCategoryBrowserSpec ]]
+
+    "Modified: / 25.2.2000 / 01:17:02 / cg"
+!
+
+isChainBrowser
+    ^ canvasType == #chainBrowserSpec    
+!
+
+isCheckOutputBrowser
+    ^ canvasType == #multipleClassWithInfoAndMethodWithInfoBrowserSpec
+      or:[canvasType == #multipleMethodWithInfoBrowserSpec
+      or:[canvasType == #multipleClassWithInfoBrowserSpec]]
+!
+
+isClassBrowser
+    ^ canvasType == #classBrowserSpec
+      or:[ canvasType == #singleClassBrowserSpec
+      or:[ canvasType == #multipleClassBrowserSpec ]]
+
+    "Modified: / 25.2.2000 / 00:38:07 / cg"
+!
+
+isClassDocumentationBrowser
+    ^ canvasType == #classDocumentationBrowserSpec
+
+    "Created: / 24.2.2000 / 14:54:40 / cg"
+!
+
+isClassExtensionBrowser
+    ^ canvasType == #multipleClassExtensionBrowserSpec
+
+    "Created: / 24.2.2000 / 14:54:40 / cg"
+!
+
+isFullBrowser
+    ^ canvasType == #fullBrowserSpec
+!
+
+isFullClassSourceBrowser
+    ^ canvasType == #fullClassSourceBrowserSpec
+
+    "Created: / 24.2.2000 / 14:54:40 / cg"
+!
+
+isFullProtocolBrowser
+    ^ canvasType == #singleFullProtocolBrowserSpec
+      or:[ canvasType == #multipleFullProtocolBrowserSpec ]
+
+    "Created: / 24.2.2000 / 21:32:09 / cg"
+    "Modified: / 25.2.2000 / 03:11:00 / cg"
+!
+
+isLintResultBrowser
+    ^ canvasType == #smallLintByRuleResultBrowserSpec
+!
+
+isMethodBrowser
+    ^ canvasType == #methodListBrowserSpec
+      or:[ canvasType == #singleMethodBrowserSpec
+      or:[ canvasType == #multipleMethodBrowserSpec
+      or:[ canvasType == #multipleMethodWithInfoBrowserSpec ]]]
+
+    "Modified: / 1.3.2000 / 13:35:12 / cg"
+!
+
+isMethodListBrowser
+    canvasType == #methodListBrowserSpec ifTrue:[^ true].
+    canvasType == #multipleMethodBrowserSpec ifTrue:[^ true].
+    canvasType == #singleProtocolBrowserSpec ifTrue:[^ true].
+    ^ false.
+!
+
+isNameSpaceBrowser
+    ^ canvasType == #singleNameSpaceBrowserSpec
+      or:[ canvasType == #multipleNameSpaceBrowserSpec]
+
+    "Modified: / 18.8.2000 / 16:12:34 / cg"
+!
+
+isNameSpaceFullBrowser
+    ^ canvasType == #singleNameSpaceFullBrowserSpec
+      or:[ canvasType == #multipleNameSpaceFullBrowserSpec ]
+
+    "Created: / 18.8.2000 / 14:58:36 / cg"
+!
+
+isProjectBrowser
+    ^ canvasType == #singleProjectBrowserSpec
+      or:[ canvasType == #multipleProjectBrowserSpec ]
+
+    "Created: / 24.2.2000 / 21:32:09 / cg"
+    "Modified: / 25.2.2000 / 03:11:00 / cg"
+!
+
+isProjectFullBrowser
+    ^ canvasType == #singleProjectFullBrowserSpec
+      or:[ canvasType == #multipleProjectFullBrowserSpec ]
+
+    "Created: / 18.8.2000 / 19:02:49 / cg"
+!
+
+isProtocolBrowser
+    ^ canvasType == #singleProtocolBrowserSpec
+      or:[ canvasType == #multipleProtocolBrowserSpec ]
+
+    "Created: / 24.2.2000 / 21:32:09 / cg"
+    "Modified: / 25.2.2000 / 03:11:00 / cg"
+!
+
+isProtocolOrFullProtocolBrowser
+    ^ self isProtocolBrowser
+      or:[ self isFullProtocolBrowser ]
+!
+
+isSingleCategoryBrowser
+    ^ canvasType == #singleCategoryBrowserSpec    
+!
+
+isSingleClassBrowser
+    ^ canvasType == #singleClassBrowserSpec    
+!
+
+isSingleFullProtocolBrowser
+    ^ canvasType == #singleFullProtocolBrowserSpec    
+!
+
+isSingleMethodBrowser
+    ^ canvasType == #singleMethodBrowserSpec
+
+    "Created: / 1.3.2000 / 13:35:52 / cg"
+!
+
+isSingleNamespaceBrowser
+    ^ canvasType == #singleNameSpaceBrowserSpec
+!
+
+isSingleNamespaceFullBrowser
+    ^ canvasType == #singleNameSpaceFullBrowserSpec
+!
+
+isSingleProjectBrowser
+    ^ canvasType == #singleProjectBrowserSpec
+      or:[ canvasType == #singleProjectFullBrowserSpec ]
+
+    "Created: / 24.2.2000 / 21:32:09 / cg"
+    "Modified: / 25.2.2000 / 03:11:00 / cg"
+!
+
+isSingleProjectFullBrowser
+    ^ canvasType == #singleProjectFullBrowserSpec
+
+    "Created: / 24.2.2000 / 21:32:09 / cg"
+    "Modified: / 25.2.2000 / 03:11:00 / cg"
+!
+
+isSingleProtocolBrowser
+    ^ canvasType == #singleProtocolBrowserSpec    
+!
+
+isVersionDiffBrowser
+    ^ canvasType == #multipleClassRepositoryDiffBrowserSpec
+! !
+
+!NavigationState class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigationState.st,v 1.47 2012-11-03 14:22:14 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigationState.st,v 1.47 2012-11-03 14:22:14 cg Exp $'
+!
+
+version_SVN
+    ^ 'Id'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_NavigatorModel.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,370 @@
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+	      All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+ApplicationModel subclass:#NavigatorModel
+	instanceVariableNames:''
+	classVariableNames:'AllEntry SuperSendEntry UncommentedEntry'
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!NavigatorModel class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+	      All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
+
+!NavigatorModel class methodsFor:'initialization'!
+
+initialize
+    AllEntry := '* all *'.
+
+    "Created: / 24.2.2000 / 13:41:29 / cg"
+! !
+
+!NavigatorModel class methodsFor:'defaults'!
+
+isPseudoCategory:cat
+    ^ cat = self nameListEntryForChanged
+    or:[ cat = self nameListEntryForUndocumented
+    or:[ cat = self nameListEntryForUnloaded
+    or:[ cat = self nameListEntryForExtendedClasses
+    or:[ cat = self nameListEntryForALL ]]]]
+!
+
+isPseudoProtocol:protocol
+    ^ protocol = self nameListEntryForObsolete
+    or:[ protocol = self nameListEntryForSuperSend
+    or:[ protocol = self nameListEntryForUncommented ]]
+!
+
+markForBeingInChangeList
+    ^ ' *'
+
+    "Created: / 29-08-2006 / 10:26:05 / cg"
+!
+
+markForBeingManagedBySVN: package
+
+    | repo branch mark |    
+
+    (ConfigurableFeatures includesFeature: #SubversionSupportEnabled) ifFalse:[^''].
+    package = PackageId noProjectID ifTrue:[^''].
+    
+    "/ use Smalltalk-at to trick the dependency/prerequisite generator
+    repo := (Smalltalk at:#SVN::RepositoryManager) current 
+                repositoryForPackage: package onlyFromCache: true.
+    repo ifNil:[^''].
+    mark := ' [SVN]'.
+    branch := repo workingCopy branchOrNil.
+    branch ifNotNil:[mark := ' [SVN: ', branch path,']'].
+    ^mark asText colorizeAllWith: Color gray
+
+    "Created: / 06-04-2010 / 11:23:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (comment): / 07-09-2011 / 10:43:00 / cg"
+    "Modified: / 19-01-2012 / 10:44:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+markForBeingManagedBySVN: package branch: branch
+
+    | mark |
+    mark := branch 
+                ifNil:
+                    [' [SVN]']
+                ifNotNil:
+                    [' [SVN: ',branch,']'].
+
+    ^mark asText colorizeAllWith: Color gray.
+
+    "Created: / 14-12-2010 / 15:56:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+nameListEntryForALL
+    ^ AllEntry ? '* all *'
+
+    "Created: / 24.2.2000 / 13:39:10 / cg"
+    "Modified: / 25.2.2000 / 21:18:30 / cg"
+!
+
+nameListEntryForALLWithCount
+    ^ '* all (%1) *'
+!
+
+nameListEntryForAnnotated
+    ^ '* annotated (%1) *'
+
+    "Created: / 07-09-2011 / 10:11:40 / cg"
+!
+
+nameListEntryForBookmarked
+    ^ '* bookmarked (%1) *'
+!
+
+nameListEntryForChanged
+    ^ '* changed *'
+!
+
+nameListEntryForChangedWithCount
+    ^ '* changed (%1) *'
+!
+
+nameListEntryForDocumentation
+    ^ '* documentation (%1) *'
+!
+
+nameListEntryForExtendedClasses
+    ^ '* extended *'
+!
+
+nameListEntryForExtendedClassesWithCount
+    ^ '* extended (%1) *'
+!
+
+nameListEntryForExtensions
+    ^ '* extensions (%1) *'
+!
+
+nameListEntryForFailedTests
+    ^ '* failed tests (%1) *'
+
+    "Created: / 08-03-2010 / 18:26:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+nameListEntryForFullyCovered
+    ^ '* covered (%1) *'
+
+    "Created: / 20-07-2011 / 18:20:53 / cg"
+!
+
+nameListEntryForLong
+    ^ '* long (%1) *'
+!
+
+nameListEntryForMustBeRedefinedInSubclass
+    ^ '* must be redefined (%1) *'
+!
+
+nameListEntryForNILCategory
+    ^ '* no category *'
+!
+
+nameListEntryForNonStatic
+    ^ '* instance *'
+!
+
+nameListEntryForNotInstrumented
+    ^ '* coverage unknown/not instrumented (%1) *'
+
+    "Created: / 20-07-2011 / 18:41:53 / cg"
+!
+
+nameListEntryForObsolete
+    ^ '* obsolete (%1) *'
+!
+
+nameListEntryForOverride
+    ^ '* override (%1) *'
+!
+
+nameListEntryForPartiallyCovered
+    ^ '* partially covered (%1) *'
+
+    "Created: / 20-07-2011 / 18:21:05 / cg"
+!
+
+nameListEntryForPassedTests
+    ^ '* passed tests (%1) *'
+
+    "Created: / 08-03-2010 / 18:26:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+nameListEntryForRedefine
+    ^ '* redefine (%1) *'
+!
+
+nameListEntryForRedefined
+    ^ '* redefined (%1) *'
+!
+
+nameListEntryForRequired
+    ^ '* required (%1) *'
+!
+
+nameListEntryForStatic
+    ^ '* static *'
+!
+
+nameListEntryForSuperSend
+    ^ '* super (%1) *'
+!
+
+nameListEntryForUncommented
+    ^ '* uncommented (%1) *'
+!
+
+nameListEntryForUncovered
+    ^ '* not covered (%1) *'
+
+    "Created: / 20-07-2011 / 18:20:44 / cg"
+!
+
+nameListEntryForUndocumented
+    ^ '* undocumented *'
+!
+
+nameListEntryForUndocumentedWithCount
+    ^ '* undocumented (%1) *'
+!
+
+nameListEntryForUnloaded
+    ^ '* unloaded *'
+!
+
+nameListEntryForUnloadedWithCount
+    ^ '* unloaded (%1) *'
+!
+
+nameListEntryForVisited
+    ^ '* visited (%1) *'
+!
+
+pseudoEntryForegroundColor
+    ^ UserPreferences current colorForPseudoProtocolsInMethodListInBrowser.
+
+    "Modified: / 07-09-2011 / 09:59:55 / cg"
+! !
+
+!NavigatorModel class methodsFor:'interface specs'!
+
+metaSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:Tools::NavigatorModel andSelector:#metaSpec
+     Tools::NavigatorModel new openInterface:#metaSpec
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(FullSpec
+        name: metaSpec
+        window: 
+       (WindowSpec
+          label: 'MetaToggles'
+          name: 'MetaToggles'
+          min: (Point 0 0)
+          max: (Point 1024 721)
+          bounds: (Rectangle 0 0 300 28)
+        )
+        component: 
+       (SpecCollection
+          collection: (
+           (RadioButtonSpec
+              label: 'Instance'
+              name: 'InstanceToggle'
+              layout: (LayoutFrame 0 0.0 0 0.0 0 0.5 25 0)
+              translateLabel: true
+              tabable: true
+              model: notMetaToggle
+              isTriggerOnDown: true
+              select: true
+              isToggle: true
+            )
+           (RadioButtonSpec
+              label: 'Class'
+              name: 'ClassToggle'
+              layout: (LayoutFrame 0 0.5 0 0 0 1.0 25 0)
+              translateLabel: true
+              labelChannel: metaToggleLabelHolder
+              tabable: false
+              model: metaToggle
+              isTriggerOnDown: true
+              select: true
+              isToggle: true
+            )
+           )
+         
+        )
+      )
+! !
+
+!NavigatorModel class methodsFor:'misc'!
+
+classResources
+    ^ NewSystemBrowser classResources
+! !
+
+!NavigatorModel class methodsFor:'queries'!
+
+hasSubversionSupport
+    ^ ConfigurableFeatures includesFeature: #SubversionSupportEnabled
+
+    "Created: / 06-04-2010 / 11:09:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 07-09-2011 / 10:45:45 / cg"
+    "Modified: / 19-01-2012 / 10:43:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!NavigatorModel methodsFor:'misc'!
+
+resources
+    "answer the resources of my masterApp, if there is one"
+
+    |m|
+
+    (m := self masterApplication) notNil ifTrue:[
+        ^ m resources
+    ].
+    ^ super resources
+! !
+
+!NavigatorModel methodsFor:'queries'!
+
+hasSubversionSupport
+    ^ ConfigurableFeatures includesFeature: #SubversionSupportEnabled
+
+    "Modified: / 07-09-2011 / 10:45:49 / cg"
+    "Modified: / 19-01-2012 / 10:43:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!NavigatorModel class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigatorModel.st,v 1.23 2012-11-07 13:57:05 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigatorModel.st,v 1.23 2012-11-07 13:57:05 cg Exp $'
+!
+
+version_SVN
+    ^ 'Id: Tools__NavigatorModel.st 7802 2011-07-05 18:33:36Z vranyj1 '
+! !
+
+NavigatorModel initialize!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_OrganizerCanvas.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,5043 @@
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+	      All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+NavigatorModel subclass:#OrganizerCanvas
+	instanceVariableNames:'projectListSlaveMode namespaceListSlaveMode categoryListSlaveMode
+		classInheritanceListSlaveMode classListSlaveMode
+		classHierarchyListSlaveMode organizerMode metaToggle
+		notMetaToggle meta classList classCategoryDoubleClickChannel
+		classDoubleClickChannel classGeneratorHolder
+		classGeneratorHolderFromClassCategory
+		classGeneratorHolderFromClassHierarchy
+		classGeneratorHolderFromProject classGeneratorHolderFromNamespace
+		classCategoryListMenuHolder categoryListShown
+		classCategoryListUpdateTrigger classListUpdateTrigger
+		classListMenuHolder classHierarchyListMenuHolder
+		projectListMenuHolder variablesMenuHolder filterClassVars
+		variableFilter packageFilter nameSpaceFilter hidePrivateClasses
+		hideUnloadedClasses showClassPackages immediateUpdate
+		metaToggleLabelHolder selectedCategories selectedClasses
+		selectedNamespaces selectedProjects selectionChangeCondition
+		nameSpaceFilterSelection markApplicationsHolder
+		sortVariablesByName showAllClassesInNameSpaceView
+		showMethodInheritance showMethodComplexity showMethodTypeIcon
+		methodVisibilityHolder showCoverageInformation
+		sortByNameAndInheritance'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!OrganizerCanvas class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+	      All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    I implement the top part containing the list views in the new system browser
+"
+! !
+
+!OrganizerCanvas class methodsFor:'constants'!
+
+organizerModeCategory
+    ^ #category
+!
+
+organizerModeClassHierarchy
+    ^ #classHierarchy
+!
+
+organizerModeClassInheritance
+    ^ #classInheritance
+!
+
+organizerModeHierarchy
+    ^ #hierarchy
+!
+
+organizerModeNamespace
+    ^ #namespace
+!
+
+organizerModePackageDiagram
+    ^ #packageDiagram
+!
+
+organizerModeProject
+    ^ #project
+! !
+
+!OrganizerCanvas class methodsFor:'interface specs'!
+
+embeddedNameSpaceListSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:OrganizerCanvas andSelector:#embeddedNameSpaceListSpec
+     OrganizerCanvas new openInterface:#embeddedNameSpaceListSpec
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+	#name: #embeddedNameSpaceListSpec
+	#window: 
+       #(#WindowSpec
+	  #label: 'Organizer'
+	  #name: 'Organizer'
+	  #min: #(#Point 0 0)
+	  #max: #(#Point 1024 721)
+	  #bounds: #(#Rectangle 218 175 518 475)
+	)
+	#component: 
+       #(#SpecCollection
+	  #collection: #(
+	   #(#SubCanvasSpec
+	      #name: 'NamespaceList2'
+	      #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+	      #level: 1
+	      #majorKey: #'NamespaceList'
+	      #subAspectHolders: 
+	     #(#Array
+                
+	       #(#SubChannelInfoSpec
+		  #subAspect: #doubleClickChannel
+		  #aspect: #nameSpaceFilterDoubleClickChannel
+		) 
+	       #(#SubChannelInfoSpec
+		  #subAspect: #forceGeneratorTrigger
+		  #aspect: #forceNamespaceGeneratorTrigger
+		)
+                
+	       #(#SubChannelInfoSpec
+		  #subAspect: #hideUnloadedClasses
+		  #aspect: #hideUnloadedClasses
+		) 
+	       #(#SubChannelInfoSpec
+		  #subAspect: #immediateUpdate
+		  #aspect: #immediateUpdate
+		)
+                
+	       #(#SubChannelInfoSpec
+		  #subAspect: #menuHolder
+		  #aspect: #nameSpaceListMenuHolder
+		) 
+	       #(#SubChannelInfoSpec
+		  #subAspect: #organizerMode
+		  #aspect: #organizerMode
+		)
+                
+	       #(#SubChannelInfoSpec
+		  #subAspect: #outGeneratorHolder
+		  #aspect: #classGeneratorHolder
+		) 
+	       #(#SubChannelInfoSpec
+		  #subAspect: #selectedNamespaces
+		  #aspect: #nameSpaceFilterSelection
+		)
+                
+	       #(#SubChannelInfoSpec
+		  #subAspect: #selectionChangeCondition
+		  #aspect: #selectionChangeCondition
+		) 
+	       #(#SubChannelInfoSpec
+		  #subAspect: #slaveMode
+		  #aspect: #popUpNameSpaceListSlaveMode
+		)
+                
+	       #(#SubChannelInfoSpec
+		  #subAspect: #updateTrigger
+		  #aspect: #nameSpaceListUpdateTrigger
+		)
+	      )
+	      #createNewApplication: true
+	      #createNewBuilder: true
+	      #postBuildCallback: #nameSpaceListWidgetWasBuilt:
+	    )
+	   )
+         
+	)
+      )
+!
+
+windowSpec
+    ^ self windowSpecNonHierarchicalWithClassDiagram
+    "/ ^ self windowSpecNonHierarchical
+    "/ ^ self windowSpecHierarchical
+
+    "
+     self openInterface:#windowSpec
+     self openInterface:#windowSpecWithoutMetaToggles
+     self openInterface:#windowSpecNonHierarchicalWithClassDiagram
+    "
+
+    "Modified: / 03-09-2006 / 10:47:15 / cg"
+!
+
+windowSpecHierarchical
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:OrganizerCanvas andSelector:#windowSpec
+     OrganizerCanvas new openInterface:#windowSpec
+     OrganizerCanvas open
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+        #name: #windowSpec
+        #window: 
+       #(#WindowSpec
+          #label: 'Organizer'
+          #name: 'Organizer'
+          #min: #(#Point 0 0)
+          #max: #(#Point 1024 721)
+          #bounds: #(#Rectangle 16 46 316 346)
+        )
+        #component: 
+       #(#SpecCollection
+          #collection: #(
+           #(#VariableHorizontalPanelSpec
+              #name: 'CategoryNameSpaceAndProjectPanel'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #visibilityChannel: #categoryNameSpaceAndProjectPanelShown
+              #barWidth: 2
+              #showHandle: false
+              #component: 
+             #(#SpecCollection
+                #collection: #(
+                 #(#ViewSpec
+                    #name: 'LeftBox'
+                    #component: 
+                   #(#SpecCollection
+                      #collection: #(
+                       #(#ViewSpec
+                          #name: 'ClassCategoryAndNamespaceFilterBox'
+                          #layout: #(#LayoutFrame 0 0 0 0 0 1 0 1)
+                          #visibilityChannel: #categoryListShown
+                          #component: 
+                         #(#SpecCollection
+                            #collection: #(
+                             #(#SubCanvasSpec
+                                #name: 'ClassCategoryList'
+                                #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
+"/                                #majorKey: #'ClassCategoryList'
+                                #majorKey: #'HierarchicalClassCategoryList'
+                                #subAspectHolders: 
+                               #(#Array
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #doubleClickChannel
+                                    #aspect: #classCategoryDoubleClickChannel
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #forceGeneratorTrigger
+                                    #aspect: #forceClassCategoryGeneratorTrigger
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #hideUnloadedClasses
+                                    #aspect: #hideUnloadedClasses
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #immediateUpdate
+                                    #aspect: #immediateUpdate
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #menuHolder
+                                    #aspect: #classCategoryListMenuHolder
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #organizerMode
+                                    #aspect: #organizerMode
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #outGeneratorHolder
+                                    #aspect: #classGeneratorHolder
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectedCategories
+                                    #aspect: #selectedCategories
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectionChangeCondition
+                                    #aspect: #selectionChangeCondition
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #slaveMode
+                                    #aspect: #categoryListSlaveMode
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #updateTrigger
+                                    #aspect: #classCategoryListUpdateTrigger
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #nameSpaceFilter
+                                    #aspect: #nameSpaceFilterSelection
+                                  )
+                                )
+                                #createNewApplication: true
+                                #createNewBuilder: true
+                              )
+                             #(#ExtendedComboBoxSpec
+                                #name: 'NameSpaceFilterComboBox'
+                                #layout: #(#LayoutFrame 0 0 -25 1 0 1 0 1)
+                                #tabable: true
+                                #model: #nameSpaceFilterSelectedNameSpace
+                                #menuWidgetHolder: #nameSpaceListWidgetHolder
+                                #miniScrollerHorizontal: true
+                                #menuSelector: #nameSpaceFilterPopUpMenu
+                              )
+                             )
+                           
+                          )
+                        )
+                       #(#SubCanvasSpec
+                          #name: 'NamespaceList'
+                          #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                          #initiallyInvisible: true
+                          #visibilityChannel: #nameSpaceListShown
+                          #majorKey: #'NamespaceList'
+                          #subAspectHolders: 
+                         #(#Array
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #doubleClickChannel
+                              #aspect: #nameSpaceDoubleClickChannel
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #forceGeneratorTrigger
+                              #aspect: #forceNamespaceGeneratorTrigger
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #hideUnloadedClasses
+                              #aspect: #hideUnloadedClasses
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #immediateUpdate
+                              #aspect: #immediateUpdate
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #menuHolder
+                              #aspect: #nameSpaceListMenuHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #organizerMode
+                              #aspect: #organizerMode
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #outGeneratorHolder
+                              #aspect: #classGeneratorHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectedNamespaces
+                              #aspect: #selectedNamespaces
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectionChangeCondition
+                              #aspect: #selectionChangeCondition
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #slaveMode
+                              #aspect: #nameSpaceListSlaveMode
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #updateTrigger
+                              #aspect: #nameSpaceListUpdateTrigger
+                            )
+                          )
+                          #createNewApplication: true
+                          #createNewBuilder: true
+                        )
+                       #(#SubCanvasSpec
+                          #name: 'ProjectList'
+                          #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                          #initiallyInvisible: true
+                          #visibilityChannel: #projectListShown
+"/                          #majorKey: #'HierarchicalProjectList'
+                          #majorKey: #'ProjectList'
+                          #subAspectHolders: 
+                         #(#Array
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #doubleClickChannel
+                              #aspect: #projectDoubleClickChannel
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #forceGeneratorTrigger
+                              #aspect: #forceProjectGeneratorTrigger
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #hideUnloadedClasses
+                              #aspect: #hideUnloadedClasses
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #immediateUpdate
+                              #aspect: #immediateUpdate
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #menuHolder
+                              #aspect: #projectListMenuHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #organizerMode
+                              #aspect: #organizerMode
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #outGeneratorHolder
+                              #aspect: #classGeneratorHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectedProjects
+                              #aspect: #selectedProjects
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectionChangeCondition
+                              #aspect: #selectionChangeCondition
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #slaveMode
+                              #aspect: #projectListSlaveMode
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #updateTrigger
+                              #aspect: #projectListUpdateTrigger
+                            )
+                          )
+                          #createNewApplication: true
+                          #createNewBuilder: true
+                        )
+                       )
+                     
+                    )
+                  )
+                 #(#ViewSpec
+                    #name: 'RightBox'
+                    #component: 
+                   #(#SpecCollection
+                      #collection: #(
+                       #(#VariableVerticalPanelSpec
+                          #name: 'ClassAndVariablesPanel'
+                          #layout: #(#LayoutFrame 0 0 0 0 0 1 -25 1)
+                          #showHandle: false
+                          #snapMode: #both
+                          #handlePosition: #left
+                          #component: 
+                         #(#SpecCollection
+                            #collection: #(
+                             #(#SubCanvasSpec
+                                #name: 'ClassList'
+                                #majorKey: #'ClassList'
+                                #minorKey: #windowSpec
+                                #subAspectHolders: 
+                               #(#Array
+
+
+                     #(#SubChannelInfoSpec
+                        #subAspect: #showCoverageInformation
+                        #aspect: #showCoverageInformation
+                      ) 
+                     #(#SubChannelInfoSpec
+                        #subAspect: #hidePrivateClasses
+                        #aspect: #hidePrivateClasses
+                      )
+                     #(#SubChannelInfoSpec
+                        #subAspect: #hideUnloadedClasses
+                        #aspect: #hideUnloadedClasses
+                      ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #sortByNameAndInheritance
+                  #aspect: #sortByNameAndInheritance
+                )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #doubleClickChannel
+                                    #aspect: #classDoubleClickChannel
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #markApplicationsHolder
+                                    #aspect: #markApplicationsHolder
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #immediateUpdate
+                                    #aspect: #immediateUpdate
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #showClassPackages
+                                    #aspect: #showClassPackages
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #inGeneratorHolder
+                                    #aspect: #classGeneratorHolder
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #menuHolder
+                                    #aspect: #classListMenuHolder
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #meta
+                                    #aspect: #meta
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #organizerMode
+                                    #aspect: #organizerMode
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #outGeneratorHolder
+                                    #aspect: #outGeneratorHolder
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #outGeneratorHolderForMethods
+                                    #aspect: #selectorListGenerator5
+                                  ) 
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #packageFilter
+                                    #aspect: #packageFilter
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #nameSpaceFilter
+                                    #aspect: #nameSpaceFilter
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectedClasses
+                                    #aspect: #selectedClasses
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectionChangeCondition
+                                    #aspect: #selectionChangeCondition
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #slaveMode
+                                    #aspect: #classListSlaveMode
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #updateTrigger
+                                    #aspect: #classListUpdateTrigger
+                                  )
+                                )
+                                #createNewApplication: true
+                                #createNewBuilder: true
+                              )
+                             #(#SubCanvasSpec
+                                #name: 'VariableList'
+                                #majorKey: #'VariableList'
+                                #subAspectHolders: 
+                               #(#Array
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #doubleClickChannel
+                                    #aspect: #variableDoubleClickChannel
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #classHolder
+                                    #aspect: #selectedClasses
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #menuHolder
+                                    #aspect: #variablesMenuHolder
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectedVariables
+                                    #aspect: #variableFilter
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #showClassVarsInVariableList
+                                    #aspect: #filterClassVars
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #sortVariablesByName
+                                    #aspect: #sortVariablesByName
+                                  )
+                                )
+                                #createNewApplication: true
+                                #createNewBuilder: true
+                              )
+                             )
+                           
+                          )
+                          #handles: #(#Any 0.5 1.0)
+                        )
+                       #(#UISubSpecification
+                          #name: 'MetaToggleSpec2'
+                          #layout: #(#LayoutFrame 0 0 -25 1 0 1 0 1)
+                          #minorKey: #metaSpec
+                        )
+                       )
+                     
+                    )
+                  )
+                 )
+               
+              )
+              #handles: #(#Any 0.5 1.0)
+            )
+           #(#ViewSpec
+              #name: 'ClassHierarchyOrInheritanceBox'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #initiallyInvisible: true
+              #visibilityChannel: #classHierarchyOrInheritanceShown
+              #component: 
+             #(#SpecCollection
+                #collection: #(
+                 #(#VariableVerticalPanelSpec
+                    #name: 'VariableVerticalPanel2'
+                    #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
+                    #showHandle: false
+                    #snapMode: #both
+                    #handlePosition: #left
+                    #component: 
+                   #(#SpecCollection
+                      #collection: #(
+                       #(#ViewSpec
+                          #name: 'HierarchyOrInheritanceBox'
+                          #component: 
+                         #(#SpecCollection
+                            #collection: #(
+                             #(#SubCanvasSpec
+                                #name: 'ClassHierarchyList'
+                                #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                                #visibilityChannel: #classHierarchyShown
+                                #majorKey: #'HierarchicalClassList'
+                                #subAspectHolders: 
+                               #(#Array
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #doubleClickChannel
+                                    #aspect: #classDoubleClickChannel
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #forceGeneratorTrigger
+                                    #aspect: #forceClassInheritanceGeneratorTrigger
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #hideUnloadedClasses
+                                    #aspect: #hideUnloadedClasses
+                                  ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #markApplicationsHolder
+                  #aspect: #markApplicationsHolder
+                ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #showClassPackages
+                                    #aspect: #showClassPackages
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #immediateUpdate
+                                    #aspect: #immediateUpdate
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #menuHolder
+                                    #aspect: #classInheritanceListMenuHolder
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #meta
+                                    #aspect: #meta
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #organizerMode
+                                    #aspect: #organizerMode
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #outGeneratorHolder
+                                    #aspect: #outGeneratorHolder
+                                  ) 
+                                #(#SubChannelInfoSpec
+                                  #subAspect: #outGeneratorHolderForMethods
+                                  #aspect: #selectorListGenerator5
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #packageFilter
+                                    #aspect: #packageFilter
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #nameSpaceFilter
+                                    #aspect: #nameSpaceFilter
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectedClasses
+                                    #aspect: #selectedClasses
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectionChangeCondition
+                                    #aspect: #selectionChangeCondition
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #slaveMode
+                                    #aspect: #classHierarchyListSlaveMode
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #topClassHolder
+                                    #aspect: #classHierarchyTopClass
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #updateTrigger
+                                    #aspect: #classHierarchyUpdateTrigger
+                                  )
+                                )
+                                #createNewApplication: true
+                                #createNewBuilder: true
+                              )
+                             #(#SubCanvasSpec
+                                #name: 'ClassInheritanceList'
+                                #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                                #visibilityChannel: #classInheritanceShown
+                                #majorKey: #'InheritanceClassList'
+                                #subAspectHolders: 
+                               #(#Array
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #doubleClickChannel
+                                    #aspect: #classDoubleClickChannel
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #forceGeneratorTrigger
+                                    #aspect: #forceClassInheritanceGeneratorTrigger
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #hideUnloadedClasses
+                                    #aspect: #hideUnloadedClasses
+                                  ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #markApplicationsHolder
+                  #aspect: #markApplicationsHolder
+                ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #showClassPackages
+                                    #aspect: #showClassPackages
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #immediateUpdate
+                                    #aspect: #immediateUpdate
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #menuHolder
+                                    #aspect: #classInheritanceListMenuHolder
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #meta
+                                    #aspect: #meta
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #organizerMode
+                                    #aspect: #organizerMode
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #outGeneratorHolder
+                                    #aspect: #outGeneratorHolder
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #outGeneratorHolderForMethods
+                                    #aspect: #selectorListGenerator5
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #packageFilter
+                                    #aspect: #packageFilter
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #nameSpaceFilter
+                                    #aspect: #nameSpaceFilter
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectedClasses
+                                    #aspect: #selectedClasses
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectionChangeCondition
+                                    #aspect: #selectionChangeCondition
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #slaveMode
+                                    #aspect: #classInheritanceListSlaveMode
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #topClassHolder
+                                    #aspect: #classHierarchyTopClass
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #updateTrigger
+                                    #aspect: #classHierarchyUpdateTrigger
+                                  )
+                                )
+                                #createNewApplication: true
+                                #createNewBuilder: true
+                              )
+                             )
+                           
+                          )
+                        )
+                       #(#SubCanvasSpec
+                          #name: 'VariableList2'
+                          #majorKey: #'VariableList'
+                          #subAspectHolders: 
+                         #(#Array
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #doubleClickChannel
+                              #aspect: #variableDoubleClickChannel
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #classHolder
+                              #aspect: #selectedClasses
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #menuHolder
+                              #aspect: #variablesMenuHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #slaveMode
+                              #aspect: #classHierarchyListSlaveMode
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectedVariables
+                              #aspect: #variableFilter
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #showClassVarsInVariableList
+                              #aspect: #filterClassVars
+                            )
+                          )
+                          #createNewApplication: true
+                          #createNewBuilder: true
+                        )
+                       )
+                     
+                    )
+                    #handles: #(#Any 0.5 1.0)
+                  )
+                 #(#SubCanvasSpec
+                    #name: 'MetaToggles1'
+                    #layout: #(#LayoutFrame 0 0.0 -25 1 0 1.0 0 1)
+                    #hasHorizontalScrollBar: false
+                    #hasVerticalScrollBar: false
+                    #minorKey: #metaSpec
+                  )
+                 )
+               
+              )
+            )
+           )
+         
+        )
+      )
+
+    "Modified: / 04-07-2011 / 19:05:28 / cg"
+    "Modified: / 07-08-2011 / 19:14:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+windowSpecNonHierarchical
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:OrganizerCanvas andSelector:#windowSpec
+     OrganizerCanvas new openInterface:#windowSpec
+     OrganizerCanvas open
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+        #name: #windowSpec
+        #window: 
+       #(#WindowSpec
+          #label: 'Organizer'
+          #name: 'Organizer'
+          #min: #(#Point 0 0)
+          #max: #(#Point 1024 721)
+          #bounds: #(#Rectangle 16 46 316 346)
+        )
+        #component: 
+       #(#SpecCollection
+          #collection: #(
+           #(#VariableHorizontalPanelSpec
+              #name: 'CategoryNameSpaceAndProjectPanel'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #visibilityChannel: #categoryNameSpaceAndProjectPanelShown
+              #barWidth: 2
+              #showHandle: false
+              #component: 
+             #(#SpecCollection
+                #collection: #(
+                 #(#ViewSpec
+                    #name: 'LeftBox'
+                    #component: 
+                   #(#SpecCollection
+                      #collection: #(
+                       #(#ViewSpec
+                          #name: 'ClassCategoryAndNamespaceFilterBox'
+                          #layout: #(#LayoutFrame 0 0 0 0 0 1 0 1)
+                          #visibilityChannel: #categoryListShown
+                          #component: 
+                         #(#SpecCollection
+                            #collection: #(
+                             #(#SubCanvasSpec
+                                #name: 'ClassCategoryList'
+                                #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
+                                #majorKey: #'ClassCategoryList'
+                                #subAspectHolders: 
+                               #(#Array
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #doubleClickChannel
+                                    #aspect: #classCategoryDoubleClickChannel
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #forceGeneratorTrigger
+                                    #aspect: #forceClassCategoryGeneratorTrigger
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #hideUnloadedClasses
+                                    #aspect: #hideUnloadedClasses
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #immediateUpdate
+                                    #aspect: #immediateUpdate
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #menuHolder
+                                    #aspect: #classCategoryListMenuHolder
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #organizerMode
+                                    #aspect: #organizerMode
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #outGeneratorHolder
+                                    #aspect: #classGeneratorHolder
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectedCategories
+                                    #aspect: #selectedCategories
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectionChangeCondition
+                                    #aspect: #selectionChangeCondition
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #slaveMode
+                                    #aspect: #categoryListSlaveMode
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #updateTrigger
+                                    #aspect: #classCategoryListUpdateTrigger
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #nameSpaceFilter
+                                    #aspect: #nameSpaceFilterSelection
+                                  )
+                                )
+                                #createNewApplication: true
+                                #createNewBuilder: true
+                              )
+                             #(#ExtendedComboBoxSpec
+                                #name: 'NameSpaceFilterComboBox'
+                                #layout: #(#LayoutFrame 0 0 -25 1 0 1 0 1)
+                                #tabable: true
+                                #model: #nameSpaceFilterSelectedNameSpace
+                                #menuWidgetHolder: #nameSpaceListWidgetHolder
+                                #miniScrollerHorizontal: true
+                                #menuSelector: #nameSpaceFilterPopUpMenu
+                              )
+                             )
+                           
+                          )
+                        )
+                       #(#SubCanvasSpec
+                          #name: 'NamespaceList'
+                          #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                          #initiallyInvisible: true
+                          #visibilityChannel: #nameSpaceListShown
+                          #majorKey: #'NamespaceList'
+                          #subAspectHolders: 
+                         #(#Array
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #doubleClickChannel
+                              #aspect: #nameSpaceDoubleClickChannel
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #forceGeneratorTrigger
+                              #aspect: #forceNamespaceGeneratorTrigger
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #hideUnloadedClasses
+                              #aspect: #hideUnloadedClasses
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #immediateUpdate
+                              #aspect: #immediateUpdate
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #menuHolder
+                              #aspect: #nameSpaceListMenuHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #organizerMode
+                              #aspect: #organizerMode
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #outGeneratorHolder
+                              #aspect: #classGeneratorHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectedNamespaces
+                              #aspect: #selectedNamespaces
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectionChangeCondition
+                              #aspect: #selectionChangeCondition
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #slaveMode
+                              #aspect: #nameSpaceListSlaveMode
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #updateTrigger
+                              #aspect: #nameSpaceListUpdateTrigger
+                            )
+                          )
+                          #createNewApplication: true
+                          #createNewBuilder: true
+                        )
+                       #(#SubCanvasSpec
+                          #name: 'ProjectList'
+                          #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                          #initiallyInvisible: true
+                          #visibilityChannel: #projectListShown
+"/                          #majorKey: #'HierarchicalProjectList'
+                          #majorKey: #'ProjectList'
+                          #subAspectHolders: 
+                         #(#Array
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #doubleClickChannel
+                              #aspect: #projectDoubleClickChannel
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #forceGeneratorTrigger
+                              #aspect: #forceProjectGeneratorTrigger
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #hideUnloadedClasses
+                              #aspect: #hideUnloadedClasses
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #immediateUpdate
+                              #aspect: #immediateUpdate
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #menuHolder
+                              #aspect: #projectListMenuHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #organizerMode
+                              #aspect: #organizerMode
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #outGeneratorHolder
+                              #aspect: #classGeneratorHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectedProjects
+                              #aspect: #selectedProjects
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectionChangeCondition
+                              #aspect: #selectionChangeCondition
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #slaveMode
+                              #aspect: #projectListSlaveMode
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #updateTrigger
+                              #aspect: #projectListUpdateTrigger
+                            )
+                          )
+                          #createNewApplication: true
+                          #createNewBuilder: true
+                        )
+                       )
+                     
+                    )
+                  )
+                 #(#ViewSpec
+                    #name: 'RightBox'
+                    #component: 
+                   #(#SpecCollection
+                      #collection: #(
+                       #(#VariableVerticalPanelSpec
+                          #name: 'ClassAndVariablesPanel'
+                          #layout: #(#LayoutFrame 0 0 0 0 0 1 -25 1)
+                          #showHandle: false
+                          #snapMode: #both
+                          #handlePosition: #left
+                          #component: 
+                         #(#SpecCollection
+                            #collection: #(
+                             #(#SubCanvasSpec
+                                #name: 'ClassList'
+                                #majorKey: #'ClassList'
+                                #minorKey: #windowSpec
+                                #subAspectHolders: 
+                               #(#Array
+
+
+                     #(#SubChannelInfoSpec
+                        #subAspect: #hidePrivateClasses
+                        #aspect: #hidePrivateClasses
+                      )
+                     #(#SubChannelInfoSpec
+                        #subAspect: #hideUnloadedClasses
+                        #aspect: #hideUnloadedClasses
+                      ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #sortByNameAndInheritance
+                  #aspect: #sortByNameAndInheritance
+                )
+                     #(#SubChannelInfoSpec
+                        #subAspect: #showCoverageInformation
+                        #aspect: #showCoverageInformation
+                      ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #doubleClickChannel
+                                    #aspect: #classDoubleClickChannel
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #markApplicationsHolder
+                                    #aspect: #markApplicationsHolder
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #immediateUpdate
+                                    #aspect: #immediateUpdate
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #showClassPackages
+                                    #aspect: #showClassPackages
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #inGeneratorHolder
+                                    #aspect: #classGeneratorHolder
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #menuHolder
+                                    #aspect: #classListMenuHolder
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #meta
+                                    #aspect: #meta
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #organizerMode
+                                    #aspect: #organizerMode
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #outGeneratorHolder
+                                    #aspect: #outGeneratorHolder
+                                  )
+                                  #(#SubChannelInfoSpec
+                                  #subAspect: #outGeneratorHolderForMethods
+                                  #aspect: #selectorListGenerator5
+                                  ) 
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #packageFilter
+                                    #aspect: #packageFilter
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #nameSpaceFilter
+                                    #aspect: #nameSpaceFilter
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectedClasses
+                                    #aspect: #selectedClasses
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectionChangeCondition
+                                    #aspect: #selectionChangeCondition
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #slaveMode
+                                    #aspect: #classListSlaveMode
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #updateTrigger
+                                    #aspect: #classListUpdateTrigger
+                                  )
+                                )
+                                #createNewApplication: true
+                                #createNewBuilder: true
+                              )
+                             #(#SubCanvasSpec
+                                #name: 'VariableList'
+                                #majorKey: #'VariableList'
+                                #subAspectHolders: 
+                               #(#Array
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #doubleClickChannel
+                                    #aspect: #variableDoubleClickChannel
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #classHolder
+                                    #aspect: #selectedClasses
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #menuHolder
+                                    #aspect: #variablesMenuHolder
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectedVariables
+                                    #aspect: #variableFilter
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #showClassVarsInVariableList
+                                    #aspect: #filterClassVars
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #sortVariablesByName
+                                    #aspect: #sortVariablesByName
+                                  )
+                                )
+                                #createNewApplication: true
+                                #createNewBuilder: true
+                              )
+                             )
+                           
+                          )
+                          #handles: #(#Any 0.5 1.0)
+                        )
+                       #(#UISubSpecification
+                          #name: 'MetaToggleSpec2'
+                          #layout: #(#LayoutFrame 0 0 -25 1 0 1 0 1)
+                          #minorKey: #metaSpec
+                        )
+                       )
+                     
+                    )
+                  )
+                 )
+               
+              )
+              #handles: #(#Any 0.5 1.0)
+            )
+           #(#ViewSpec
+              #name: 'ClassHierarchyOrInheritanceBox'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #initiallyInvisible: true
+              #visibilityChannel: #classHierarchyOrInheritanceShown
+              #component: 
+             #(#SpecCollection
+                #collection: #(
+                 #(#VariableVerticalPanelSpec
+                    #name: 'VariableVerticalPanel2'
+                    #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
+                    #showHandle: false
+                    #snapMode: #both
+                    #handlePosition: #left
+                    #component: 
+                   #(#SpecCollection
+                      #collection: #(
+                       #(#ViewSpec
+                          #name: 'HierarchyOrInheritanceBox'
+                          #component: 
+                         #(#SpecCollection
+                            #collection: #(
+                             #(#SubCanvasSpec
+                                #name: 'ClassHierarchyList'
+                                #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                                #visibilityChannel: #classHierarchyShown
+                                #majorKey: #'HierarchicalClassList'
+                                #subAspectHolders: 
+                               #(#Array
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #doubleClickChannel
+                                    #aspect: #classDoubleClickChannel
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #forceGeneratorTrigger
+                                    #aspect: #forceClassInheritanceGeneratorTrigger
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #hideUnloadedClasses
+                                    #aspect: #hideUnloadedClasses
+                                  ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #markApplicationsHolder
+                  #aspect: #markApplicationsHolder
+                ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #showClassPackages
+                                    #aspect: #showClassPackages
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #immediateUpdate
+                                    #aspect: #immediateUpdate
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #menuHolder
+                                    #aspect: #classInheritanceListMenuHolder
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #meta
+                                    #aspect: #meta
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #organizerMode
+                                    #aspect: #organizerMode
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #outGeneratorHolder
+                                    #aspect: #outGeneratorHolder
+                                  ) 
+                                  #(#SubChannelInfoSpec
+                                  #subAspect: #outGeneratorHolderForMethods
+                                  #aspect: #selectorListGenerator5
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #packageFilter
+                                    #aspect: #packageFilter
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #nameSpaceFilter
+                                    #aspect: #nameSpaceFilter
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectedClasses
+                                    #aspect: #selectedClasses
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectionChangeCondition
+                                    #aspect: #selectionChangeCondition
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #slaveMode
+                                    #aspect: #classHierarchyListSlaveMode
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #topClassHolder
+                                    #aspect: #classHierarchyTopClass
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #updateTrigger
+                                    #aspect: #classHierarchyUpdateTrigger
+                                  )
+                                )
+                                #createNewApplication: true
+                                #createNewBuilder: true
+                              )
+                             #(#SubCanvasSpec
+                                #name: 'ClassInheritanceList'
+                                #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                                #visibilityChannel: #classInheritanceShown
+                                #majorKey: #'InheritanceClassList'
+                                #subAspectHolders: 
+                               #(#Array
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #doubleClickChannel
+                                    #aspect: #classDoubleClickChannel
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #forceGeneratorTrigger
+                                    #aspect: #forceClassInheritanceGeneratorTrigger
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #hideUnloadedClasses
+                                    #aspect: #hideUnloadedClasses
+                                  ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #markApplicationsHolder
+                  #aspect: #markApplicationsHolder
+                ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #showClassPackages
+                                    #aspect: #showClassPackages
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #immediateUpdate
+                                    #aspect: #immediateUpdate
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #menuHolder
+                                    #aspect: #classInheritanceListMenuHolder
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #meta
+                                    #aspect: #meta
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #organizerMode
+                                    #aspect: #organizerMode
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #outGeneratorHolder
+                                    #aspect: #outGeneratorHolder
+                                  ) 
+                                  #(#SubChannelInfoSpec
+                                  #subAspect: #outGeneratorHolderForMethods
+                                  #aspect: #selectorListGenerator5
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #packageFilter
+                                    #aspect: #packageFilter
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #nameSpaceFilter
+                                    #aspect: #nameSpaceFilter
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectedClasses
+                                    #aspect: #selectedClasses
+                                  )
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #selectionChangeCondition
+                                    #aspect: #selectionChangeCondition
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #slaveMode
+                                    #aspect: #classInheritanceListSlaveMode
+                                  )
+                                  
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #topClassHolder
+                                    #aspect: #classHierarchyTopClass
+                                  ) 
+                                 #(#SubChannelInfoSpec
+                                    #subAspect: #updateTrigger
+                                    #aspect: #classHierarchyUpdateTrigger
+                                  )
+                                )
+                                #createNewApplication: true
+                                #createNewBuilder: true
+                              )
+                             )
+                           
+                          )
+                        )
+                       #(#SubCanvasSpec
+                          #name: 'VariableList2'
+                          #majorKey: #'VariableList'
+                          #subAspectHolders: 
+                         #(#Array
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #doubleClickChannel
+                              #aspect: #variableDoubleClickChannel
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #classHolder
+                              #aspect: #selectedClasses
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #menuHolder
+                              #aspect: #variablesMenuHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #slaveMode
+                              #aspect: #classHierarchyListSlaveMode
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectedVariables
+                              #aspect: #variableFilter
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #showClassVarsInVariableList
+                              #aspect: #filterClassVars
+                            )
+                          )
+                          #createNewApplication: true
+                          #createNewBuilder: true
+                        )
+                       )
+                     
+                    )
+                    #handles: #(#Any 0.5 1.0)
+                  )
+                 #(#SubCanvasSpec
+                    #name: 'MetaToggles1'
+                    #layout: #(#LayoutFrame 0 0.0 -25 1 0 1.0 0 1)
+                    #hasHorizontalScrollBar: false
+                    #hasVerticalScrollBar: false
+                    #minorKey: #metaSpec
+                  )
+                 )
+               
+              )
+            )
+           )
+         
+        )
+      )
+
+    "Modified: / 04-07-2011 / 19:05:47 / cg"
+    "Modified: / 07-08-2011 / 19:15:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+windowSpecNonHierarchicalWithClassDiagram
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:Tools::OrganizerCanvas andSelector:#windowSpecNonHierarchicalWithClassDiagram
+     Tools::OrganizerCanvas new openInterface:#windowSpecNonHierarchicalWithClassDiagram
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(FullSpec
+        name: windowSpecNonHierarchicalWithClassDiagram
+        window: 
+       (WindowSpec
+          label: 'Organizer'
+          name: 'Organizer'
+          min: (Point 0 0)
+          max: (Point 1024 721)
+          bounds: (Rectangle 0 0 300 300)
+        )
+        component: 
+       (SpecCollection
+          collection: (
+           (ViewSpec
+              name: 'PackageDiagramClassChooser'
+              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              level: 0
+              initiallyInvisible: true
+              visibilityChannel: packageDiagramShown
+              component: 
+             (SpecCollection
+                collection: (
+                 (ComboListSpec
+                    name: 'ComboList1'
+                    layout: (LayoutFrame 0 0 0 0 0 1 25 0)
+                    model: selectedDiagramProject
+                    comboList: packageList
+                    useIndex: false
+                  )
+                 (SubCanvasSpec
+                    name: 'SubCanvas1'
+                    layout: (LayoutFrame 0 0 25 0 0 1 -25 1)
+                    level: 0
+                    hasHorizontalScrollBar: false
+                    hasVerticalScrollBar: false
+                    minorKey: windowSpecForClassChooser
+                    clientHolder: diagramApplicationModelHolder
+                    createNewBuilder: false
+                  )
+                 (SubCanvasSpec
+                    name: 'MetaToggles2'
+                    layout: (LayoutFrame 0 0.0 -25 1 0 1.0 0 1)
+                    hasHorizontalScrollBar: false
+                    hasVerticalScrollBar: false
+                    minorKey: metaSpec
+                    createNewBuilder: false
+                  )
+                 )
+               
+              )
+            )
+           (ViewSpec
+              name: 'ClassHierarchyOrInheritanceBox'
+              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              initiallyInvisible: true
+              visibilityChannel: classHierarchyOrInheritanceShown
+              component: 
+             (SpecCollection
+                collection: (
+                 (VariableVerticalPanelSpec
+                    name: 'VariableVerticalPanel2'
+                    layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
+                    showHandle: false
+                    snapMode: both
+                    handlePosition: left
+                    component: 
+                   (SpecCollection
+                      collection: (
+                       (ViewSpec
+                          name: 'HierarchyOrInheritanceBox'
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (SubCanvasSpec
+                                name: 'ClassHierarchyList'
+                                layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                                visibilityChannel: classHierarchyShown
+                                majorKey: HierarchicalClassList
+                                subAspectHolders: 
+                               (Array
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: doubleClickChannel
+                                    aspect: classDoubleClickChannel
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: forceGeneratorTrigger
+                                    aspect: forceClassInheritanceGeneratorTrigger
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: hideUnloadedClasses
+                                    aspect: hideUnloadedClasses
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: markApplicationsHolder
+                                    aspect: markApplicationsHolder
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: showClassPackages
+                                    aspect: showClassPackages
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: immediateUpdate
+                                    aspect: immediateUpdate
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: menuHolder
+                                    aspect: classInheritanceListMenuHolder
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: meta
+                                    aspect: meta
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: organizerMode
+                                    aspect: organizerMode
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: outGeneratorHolder
+                                    aspect: outGeneratorHolder
+                                  )
+                                 (SubChannelInfoSpec
+                                    subAspect: #outGeneratorHolderForMethods
+                                    aspect: #selectorListGenerator5
+                                  ) 
+
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: packageFilter
+                                    aspect: packageFilter
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: nameSpaceFilter
+                                    aspect: nameSpaceFilter
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: selectedClasses
+                                    aspect: selectedClasses
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: selectionChangeCondition
+                                    aspect: selectionChangeCondition
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: slaveMode
+                                    aspect: classHierarchyListSlaveMode
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: topClassHolder
+                                    aspect: classHierarchyTopClass
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: updateTrigger
+                                    aspect: classHierarchyUpdateTrigger
+                                  )
+                                )
+                                createNewApplication: true
+                                createNewBuilder: true
+                              )
+                             (SubCanvasSpec
+                                name: 'ClassInheritanceList'
+                                layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                                visibilityChannel: classInheritanceShown
+                                majorKey: InheritanceClassList
+                                subAspectHolders: 
+                               (Array
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: doubleClickChannel
+                                    aspect: classDoubleClickChannel
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: forceGeneratorTrigger
+                                    aspect: forceClassInheritanceGeneratorTrigger
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: hideUnloadedClasses
+                                    aspect: hideUnloadedClasses
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: markApplicationsHolder
+                                    aspect: markApplicationsHolder
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: showClassPackages
+                                    aspect: showClassPackages
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: immediateUpdate
+                                    aspect: immediateUpdate
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: menuHolder
+                                    aspect: classInheritanceListMenuHolder
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: meta
+                                    aspect: meta
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: organizerMode
+                                    aspect: organizerMode
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: outGeneratorHolder
+                                    aspect: outGeneratorHolder
+                                  )
+                                  #(#SubChannelInfoSpec
+                                  #subAspect: #outGeneratorHolderForMethods
+                                  #aspect: #selectorListGenerator5
+                                  ) 
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: packageFilter
+                                    aspect: packageFilter
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: nameSpaceFilter
+                                    aspect: nameSpaceFilter
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: selectedClasses
+                                    aspect: selectedClasses
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: selectionChangeCondition
+                                    aspect: selectionChangeCondition
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: slaveMode
+                                    aspect: classInheritanceListSlaveMode
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: topClassHolder
+                                    aspect: classHierarchyTopClass
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: updateTrigger
+                                    aspect: classHierarchyUpdateTrigger
+                                  )
+                                )
+                                createNewApplication: true
+                                createNewBuilder: true
+                              )
+                             )
+                           
+                          )
+                        )
+                       (SubCanvasSpec
+                          name: 'VariableList2'
+                          majorKey: VariableList
+                          subAspectHolders: 
+                         (Array
+                            
+                           (SubChannelInfoSpec
+                              subAspect: doubleClickChannel
+                              aspect: variableDoubleClickChannel
+                            ) 
+                           (SubChannelInfoSpec
+                              subAspect: classHolder
+                              aspect: selectedClasses
+                            )
+                            
+                           (SubChannelInfoSpec
+                              subAspect: menuHolder
+                              aspect: variablesMenuHolder
+                            ) 
+                           (SubChannelInfoSpec
+                              subAspect: slaveMode
+                              aspect: classHierarchyListSlaveMode
+                            )
+                            
+                           (SubChannelInfoSpec
+                              subAspect: selectedVariables
+                              aspect: variableFilter
+                            ) 
+                           (SubChannelInfoSpec
+                              subAspect: showClassVarsInVariableList
+                              aspect: filterClassVars
+                            )
+                          )
+                          createNewApplication: true
+                          createNewBuilder: true
+                        )
+                       )
+                     
+                    )
+                    handles: (Any 0.5 1.0)
+                  )
+                 (SubCanvasSpec
+                    name: 'MetaToggles1'
+                    layout: (LayoutFrame 0 0.0 -25 1 0 1.0 0 1)
+                    hasHorizontalScrollBar: false
+                    hasVerticalScrollBar: false
+                    minorKey: metaSpec
+                    createNewBuilder: false
+                  )
+                 )
+               
+              )
+            )
+           (VariableHorizontalPanelSpec
+              name: 'CategoryNameSpaceAndProjectPanel'
+              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              visibilityChannel: categoryNameSpaceAndProjectPanelShown
+              barWidth: 2
+              showHandle: false
+              component: 
+             (SpecCollection
+                collection: (
+                 (ViewSpec
+                    name: 'LeftBox'
+                    component: 
+                   (SpecCollection
+                      collection: (
+                       (ViewSpec
+                          name: 'ClassCategoryAndNamespaceFilterBox'
+                          layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+                          visibilityChannel: categoryListShown
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (SubCanvasSpec
+                                name: 'ClassCategoryList'
+                                layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
+                                majorKey: ClassCategoryList
+                                subAspectHolders: 
+                               (Array
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: doubleClickChannel
+                                    aspect: classCategoryDoubleClickChannel
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: forceGeneratorTrigger
+                                    aspect: forceClassCategoryGeneratorTrigger
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: hideUnloadedClasses
+                                    aspect: hideUnloadedClasses
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: immediateUpdate
+                                    aspect: immediateUpdate
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: menuHolder
+                                    aspect: classCategoryListMenuHolder
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: organizerMode
+                                    aspect: organizerMode
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: outGeneratorHolder
+                                    aspect: classGeneratorHolder
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: selectedCategories
+                                    aspect: selectedCategories
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: selectionChangeCondition
+                                    aspect: selectionChangeCondition
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: slaveMode
+                                    aspect: categoryListSlaveMode
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: updateTrigger
+                                    aspect: classCategoryListUpdateTrigger
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: nameSpaceFilter
+                                    aspect: nameSpaceFilterSelection
+                                  )
+                                )
+                                createNewApplication: true
+                                createNewBuilder: true
+                              )
+                             (ExtendedComboBoxSpec
+                                name: 'NameSpaceFilterComboBox'
+                                layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
+                                tabable: true
+                                model: nameSpaceFilterSelectedNameSpace
+                                menuWidgetHolder: nameSpaceListWidgetHolder
+                                miniScrollerHorizontal: true
+                                menuSelector: nameSpaceFilterPopUpMenu
+                              )
+                             )
+                           
+                          )
+                        )
+                       (SubCanvasSpec
+                          name: 'NamespaceList'
+                          layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                          initiallyInvisible: true
+                          visibilityChannel: nameSpaceListShown
+                          majorKey: NamespaceList
+                          subAspectHolders: 
+                         (Array
+                            
+                           (SubChannelInfoSpec
+                              subAspect: doubleClickChannel
+                              aspect: nameSpaceDoubleClickChannel
+                            ) 
+                           (SubChannelInfoSpec
+                              subAspect: forceGeneratorTrigger
+                              aspect: forceNamespaceGeneratorTrigger
+                            )
+                            
+                           (SubChannelInfoSpec
+                              subAspect: hideUnloadedClasses
+                              aspect: hideUnloadedClasses
+                            ) 
+                           (SubChannelInfoSpec
+                              subAspect: immediateUpdate
+                              aspect: immediateUpdate
+                            )
+                            
+                           (SubChannelInfoSpec
+                              subAspect: menuHolder
+                              aspect: nameSpaceListMenuHolder
+                            ) 
+                           (SubChannelInfoSpec
+                              subAspect: organizerMode
+                              aspect: organizerMode
+                            )
+                            
+                           (SubChannelInfoSpec
+                              subAspect: outGeneratorHolder
+                              aspect: classGeneratorHolder
+                            ) 
+                           (SubChannelInfoSpec
+                              subAspect: selectedNamespaces
+                              aspect: selectedNamespaces
+                            )
+                            
+                           (SubChannelInfoSpec
+                              subAspect: selectionChangeCondition
+                              aspect: selectionChangeCondition
+                            ) 
+                           (SubChannelInfoSpec
+                              subAspect: slaveMode
+                              aspect: nameSpaceListSlaveMode
+                            )
+                            
+                           (SubChannelInfoSpec
+                              subAspect: updateTrigger
+                              aspect: nameSpaceListUpdateTrigger
+                            )
+                          )
+                          createNewApplication: true
+                          createNewBuilder: true
+                        )
+                       (SubCanvasSpec
+                          name: 'ProjectList'
+                          layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                          initiallyInvisible: true
+                          visibilityChannel: projectListShown
+                          majorKey: ProjectList
+                          subAspectHolders: 
+                         (Array
+                            
+                           (SubChannelInfoSpec
+                              subAspect: doubleClickChannel
+                              aspect: projectDoubleClickChannel
+                            ) 
+                           (SubChannelInfoSpec
+                              subAspect: forceGeneratorTrigger
+                              aspect: forceProjectGeneratorTrigger
+                            )
+                            
+                           (SubChannelInfoSpec
+                              subAspect: hideUnloadedClasses
+                              aspect: hideUnloadedClasses
+                            ) 
+                           (SubChannelInfoSpec
+                              subAspect: immediateUpdate
+                              aspect: immediateUpdate
+                            )
+                            
+                           (SubChannelInfoSpec
+                              subAspect: menuHolder
+                              aspect: projectListMenuHolder
+                            ) 
+                           (SubChannelInfoSpec
+                              subAspect: organizerMode
+                              aspect: organizerMode
+                            )
+                            
+                           (SubChannelInfoSpec
+                              subAspect: outGeneratorHolder
+                              aspect: classGeneratorHolder
+                            ) 
+                           (SubChannelInfoSpec
+                              subAspect: selectedProjects
+                              aspect: selectedProjects
+                            )
+                            
+                           (SubChannelInfoSpec
+                              subAspect: selectionChangeCondition
+                              aspect: selectionChangeCondition
+                            ) 
+                           (SubChannelInfoSpec
+                              subAspect: slaveMode
+                              aspect: projectListSlaveMode
+                            )
+                            
+                           (SubChannelInfoSpec
+                              subAspect: updateTrigger
+                              aspect: projectListUpdateTrigger
+                            )
+                          )
+                          createNewApplication: true
+                          createNewBuilder: true
+                        )
+                       )
+                     
+                    )
+                  )
+                 (ViewSpec
+                    name: 'RightBox'
+                    component: 
+                   (SpecCollection
+                      collection: (
+                       (VariableVerticalPanelSpec
+                          name: 'ClassAndVariablesPanel'
+                          layout: (LayoutFrame 0 0 0 0 0 1 -25 1)
+                          showHandle: false
+                          snapMode: both
+                          handlePosition: left
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (SubCanvasSpec
+                                name: 'ClassList'
+                                majorKey: ClassList
+                                minorKey: windowSpec
+                                subAspectHolders: 
+                               (Array
+                                  
+
+                     #(#SubChannelInfoSpec
+                        #subAspect: #hidePrivateClasses
+                        #aspect: #hidePrivateClasses
+                      )
+                     #(#SubChannelInfoSpec
+                        #subAspect: #hideUnloadedClasses
+                        #aspect: #hideUnloadedClasses
+                      ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #sortByNameAndInheritance
+                  #aspect: #sortByNameAndInheritance
+                )
+                     #(#SubChannelInfoSpec
+                        #subAspect: #showCoverageInformation
+                        #aspect: #showCoverageInformation
+                      ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: doubleClickChannel
+                                    aspect: classDoubleClickChannel
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: markApplicationsHolder
+                                    aspect: markApplicationsHolder
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: immediateUpdate
+                                    aspect: immediateUpdate
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: showClassPackages
+                                    aspect: showClassPackages
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: inGeneratorHolder
+                                    aspect: classGeneratorHolder
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: menuHolder
+                                    aspect: classListMenuHolder
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: meta
+                                    aspect: meta
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: organizerMode
+                                    aspect: organizerMode
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: outGeneratorHolder
+                                    aspect: outGeneratorHolder
+                                  ) 
+                                  #(#SubChannelInfoSpec
+                                  #subAspect: #outGeneratorHolderForMethods
+                                  #aspect: #selectorListGenerator5
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: packageFilter
+                                    aspect: packageFilter
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: nameSpaceFilter
+                                    aspect: nameSpaceFilter
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: selectedClasses
+                                    aspect: selectedClasses
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: selectionChangeCondition
+                                    aspect: selectionChangeCondition
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: slaveMode
+                                    aspect: classListSlaveMode
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: updateTrigger
+                                    aspect: classListUpdateTrigger
+                                  )
+                                )
+                                createNewApplication: true
+                                createNewBuilder: true
+                              )
+                             (SubCanvasSpec
+                                name: 'VariableList'
+                                majorKey: VariableList
+                                subAspectHolders: 
+                               (Array
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: doubleClickChannel
+                                    aspect: variableDoubleClickChannel
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: classHolder
+                                    aspect: selectedClasses
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: menuHolder
+                                    aspect: variablesMenuHolder
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: selectedVariables
+                                    aspect: variableFilter
+                                  )
+                                  
+                                 (SubChannelInfoSpec
+                                    subAspect: showClassVarsInVariableList
+                                    aspect: filterClassVars
+                                  ) 
+                                 (SubChannelInfoSpec
+                                    subAspect: sortVariablesByName
+                                    aspect: sortVariablesByName
+                                  )
+                                )
+                                createNewApplication: true
+                                createNewBuilder: true
+                              )
+                             )
+                           
+                          )
+                          handles: (Any 0.5 1.0)
+                        )
+                       (UISubSpecification
+                          name: 'MetaToggleSpec2'
+                          layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
+                          minorKey: metaSpec
+                        )
+                       )
+                     
+                    )
+                  )
+                 )
+               
+              )
+              handles: (Any 0.5 1.0)
+            )
+           )
+         
+        )
+      )
+
+    "Modified: / 04-07-2011 / 19:06:13 / cg"
+    "Modified: / 07-08-2011 / 19:16:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+windowSpecWithoutMetaToggles
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:OrganizerCanvas andSelector:#windowSpecWithoutMetaToggles
+     OrganizerCanvas new openInterface:#windowSpecWithoutMetaToggles
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+        #name: #windowSpecWithoutMetaToggles
+        #window: 
+       #(#WindowSpec
+          #label: 'Organizer'
+          #name: 'Organizer'
+          #min: #(#Point 0 0)
+          #max: #(#Point 1024 721)
+          #bounds: #(#Rectangle 13 23 313 323)
+        )
+        #component: 
+       #(#SpecCollection
+          #collection: #(
+           #(#SubCanvasSpec
+              #name: 'ClassHierarchyList'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #visibilityChannel: #classHierarchyShown
+              #majorKey: #'HierarchicalClassList'
+              #minorKey: #windowSpec
+              #subAspectHolders: 
+             #(#Array
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #doubleClickChannel
+                  #aspect: #classDoubleClickChannel
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #forceGeneratorTrigger
+                  #aspect: #forceClassInheritanceGeneratorTrigger
+                )
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #hideUnloadedClasses
+                  #aspect: #hideUnloadedClasses
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #markApplicationsHolder
+                  #aspect: #markApplicationsHolder
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #showClassPackages
+                  #aspect: #showClassPackages
+                ) 
+                     #(#SubChannelInfoSpec
+                        #subAspect: #showMethodInheritance
+                        #aspect: #showMethodInheritance
+                      )
+                     #(#SubChannelInfoSpec
+                        #subAspect: #showMethodComplexity
+                        #aspect: #showMethodComplexity
+                      )
+                     #(#SubChannelInfoSpec
+                        #subAspect: #showMethodTypeIcon
+                        #aspect: #showMethodTypeIcon
+                      )
+                     #(#SubChannelInfoSpec
+                        #subAspect: #methodVisibilityHolder
+                        #aspect: #methodVisibilityHolder
+                      )
+               #(#SubChannelInfoSpec
+                  #subAspect: #immediateUpdate
+                  #aspect: #immediateUpdate
+                )
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #menuHolder
+                  #aspect: #classInheritanceListMenuHolder
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #meta
+                  #aspect: #meta
+                )
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #organizerMode
+                  #aspect: #organizerMode
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #outGeneratorHolder
+                  #aspect: #outGeneratorHolder
+                )
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #packageFilter
+                  #aspect: #packageFilter
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #nameSpaceFilter
+                  #aspect: #nameSpaceFilter
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #selectedClasses
+                  #aspect: #selectedClasses
+                )
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #selectionChangeCondition
+                  #aspect: #selectionChangeCondition
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #slaveMode
+                  #aspect: #classInheritanceListSlaveMode
+                )
+                     #(#SubChannelInfoSpec
+                        #subAspect: #showCoverageInformation
+                        #aspect: #showCoverageInformation
+                      ) 
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #topClassHolder
+                  #aspect: #classHierarchyTopClass
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #updateTrigger
+                  #aspect: #classHierarchyUpdateTrigger
+                )
+              )
+              #createNewApplication: true
+              #createNewBuilder: true
+            )
+           #(#SubCanvasSpec
+              #name: 'ClassInheritanceList'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #visibilityChannel: #classInheritanceShown
+              #majorKey: #'InheritanceClassList'
+              #minorKey: #windowSpec
+              #subAspectHolders: 
+             #(#Array
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #doubleClickChannel
+                  #aspect: #classDoubleClickChannel
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #forceGeneratorTrigger
+                  #aspect: #forceClassInheritanceGeneratorTrigger
+                )
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #hideUnloadedClasses
+                  #aspect: #hideUnloadedClasses
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #markApplicationsHolder
+                  #aspect: #markApplicationsHolder
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #immediateUpdate
+                  #aspect: #immediateUpdate
+                )
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #menuHolder
+                  #aspect: #classInheritanceListMenuHolder
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #meta
+                  #aspect: #meta
+                )
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #organizerMode
+                  #aspect: #organizerMode
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #outGeneratorHolder
+                  #aspect: #outGeneratorHolder
+                )
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #packageFilter
+                  #aspect: #packageFilter
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #nameSpaceFilter
+                  #aspect: #nameSpaceFilter
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #selectedClasses
+                  #aspect: #selectedClasses
+                )
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #selectionChangeCondition
+                  #aspect: #selectionChangeCondition
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #slaveMode
+                  #aspect: #classInheritanceListSlaveMode
+                )
+                
+               #(#SubChannelInfoSpec
+                  #subAspect: #topClassHolder
+                  #aspect: #classHierarchyTopClass
+                ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #updateTrigger
+                  #aspect: #classHierarchyUpdateTrigger
+                )
+                     #(#SubChannelInfoSpec
+                        #subAspect: #showCoverageInformation
+                        #aspect: #showCoverageInformation
+                      ) 
+              )
+              #createNewApplication: true
+              #createNewBuilder: true
+            )
+           #(#VariableHorizontalPanelSpec
+              #name: 'VariableHorizontalPanel1'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #visibilityChannel: #classHierarchyNotShown
+              #barWidth: 2
+              #showHandle: false
+              #component: 
+             #(#SpecCollection
+                #collection: #(
+                 #(#ViewSpec
+                    #name: 'Box1'
+                    #component: 
+                   #(#SpecCollection
+                      #collection: #(
+                       #(#SubCanvasSpec
+                          #name: 'ClassCategoryList'
+                          #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                          #visibilityChannel: #categoryListShown
+                          #majorKey: #'ClassCategoryList'
+                          #subAspectHolders: 
+                         #(#Array
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #doubleClickChannel
+                              #aspect: #classCategoryDoubleClickChannel
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #forceGeneratorTrigger
+                              #aspect: #forceClassCategoryGeneratorTrigger
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #hideUnloadedClasses
+                              #aspect: #hideUnloadedClasses
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #immediateUpdate
+                              #aspect: #immediateUpdate
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #menuHolder
+                              #aspect: #classCategoryListMenuHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #organizerMode
+                              #aspect: #organizerMode
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #outGeneratorHolder
+                              #aspect: #classGeneratorHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectedCategories
+                              #aspect: #selectedCategories
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectionChangeCondition
+                              #aspect: #selectionChangeCondition
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #updateTrigger
+                              #aspect: #classCategoryListUpdateTrigger
+                            )
+                          )
+                          #createNewApplication: true
+                          #createNewBuilder: true
+                        )
+                       #(#SubCanvasSpec
+                          #name: 'NamespaceList'
+                          #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                          #visibilityChannel: #nameSpaceListShown
+                          #majorKey: #'NamespaceList'
+                          #subAspectHolders: 
+                         #(#Array
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #doubleClickChannel
+                              #aspect: #nameSpaceDoubleClickChannel
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #forceGeneratorTrigger
+                              #aspect: #forceNamespaceGeneratorTrigger
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #hideUnloadedClasses
+                              #aspect: #hideUnloadedClasses
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #immediateUpdate
+                              #aspect: #immediateUpdate
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #menuHolder
+                              #aspect: #nameSpaceListMenuHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #organizerMode
+                              #aspect: #organizerMode
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #outGeneratorHolder
+                              #aspect: #classGeneratorHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectedNamespaces
+                              #aspect: #selectedNamespaces
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectionChangeCondition
+                              #aspect: #selectionChangeCondition
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #updateTrigger
+                              #aspect: #nameSpaceListUpdateTrigger
+                            )
+                          )
+                          #createNewApplication: true
+                          #createNewBuilder: true
+                        )
+                       #(#SubCanvasSpec
+                          #name: 'ProjectList'
+                          #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+                          #visibilityChannel: #projectListShown
+                          #majorKey: #'ProjectList'
+                          #subAspectHolders: 
+                         #(#Array
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #doubleClickChannel
+                              #aspect: #projectDoubleClickChannel
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #forceGeneratorTrigger
+                              #aspect: #forceProjectGeneratorTrigger
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #hideUnloadedClasses
+                              #aspect: #hideUnloadedClasses
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #immediateUpdate
+                              #aspect: #immediateUpdate
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #menuHolder
+                              #aspect: #projectListMenuHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #organizerMode
+                              #aspect: #organizerMode
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #outGeneratorHolder
+                              #aspect: #classGeneratorHolder
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectedProjects
+                              #aspect: #selectedProjects
+                            )
+                            
+                           #(#SubChannelInfoSpec
+                              #subAspect: #selectionChangeCondition
+                              #aspect: #selectionChangeCondition
+                            ) 
+                           #(#SubChannelInfoSpec
+                              #subAspect: #updateTrigger
+                              #aspect: #projectListUpdateTrigger
+                            )
+                     #(#SubChannelInfoSpec
+                        #subAspect: #showCoverageInformation
+                        #aspect: #showCoverageInformation
+                      ) 
+                          )
+                          #createNewApplication: true
+                          #createNewBuilder: true
+                        )
+                       )
+                     
+                    )
+                  )
+                 #(#SubCanvasSpec
+                    #name: 'ClassList'
+                    #majorKey: #'ClassList'
+                    #minorKey: #windowSpec
+                    #subAspectHolders: 
+                   #(#Array
+                      
+
+                     #(#SubChannelInfoSpec
+                        #subAspect: #showCoverageInformation
+                        #aspect: #showCoverageInformation
+                      ) 
+                     #(#SubChannelInfoSpec
+                        #subAspect: #doubleClickChannel
+                        #aspect: #classDoubleClickChannel
+                      ) 
+                     #(#SubChannelInfoSpec
+                        #subAspect: #hidePrivateClasses
+                        #aspect: #hidePrivateClasses
+                      )
+                     #(#SubChannelInfoSpec
+                        #subAspect: #hideUnloadedClasses
+                        #aspect: #hideUnloadedClasses
+                      ) 
+               #(#SubChannelInfoSpec
+                  #subAspect: #sortByNameAndInheritance
+                  #aspect: #sortByNameAndInheritance
+                )
+               #(#SubChannelInfoSpec
+                  #subAspect: #markApplicationsHolder
+                  #aspect: #markApplicationsHolder
+                ) 
+                     #(#SubChannelInfoSpec
+                        #subAspect: #immediateUpdate
+                        #aspect: #immediateUpdate
+                      )
+                      
+                     #(#SubChannelInfoSpec
+                        #subAspect: #inGeneratorHolder
+                        #aspect: #classGeneratorHolder
+                      ) 
+                     #(#SubChannelInfoSpec
+                        #subAspect: #menuHolder
+                        #aspect: #classListMenuHolder
+                      )
+                      
+                     #(#SubChannelInfoSpec
+                        #subAspect: #meta
+                        #aspect: #meta
+                      ) 
+                     #(#SubChannelInfoSpec
+                        #subAspect: #organizerMode
+                        #aspect: #organizerMode
+                      )
+                      
+                     #(#SubChannelInfoSpec
+                        #subAspect: #outGeneratorHolder
+                        #aspect: #outGeneratorHolder
+                      ) 
+                     #(#SubChannelInfoSpec
+                        #subAspect: #selectedClasses
+                        #aspect: #selectedClasses
+                      )
+                      
+                     #(#SubChannelInfoSpec
+                        #subAspect: #selectionChangeCondition
+                        #aspect: #selectionChangeCondition
+                      ) 
+                     #(#SubChannelInfoSpec
+                        #subAspect: #slaveMode
+                        #aspect: #classListSlaveMode
+                      )
+                      
+                     #(#SubChannelInfoSpec
+                        #subAspect: #updateTrigger
+                        #aspect: #classListUpdateTrigger
+                      )
+                    )
+                    #createNewApplication: true
+                    #createNewBuilder: true
+                  )
+                 )
+               
+              )
+              #handles: #(#Any 0.5 1.0)
+            )
+           )
+         
+        )
+      )
+
+    "Modified: / 20-07-2011 / 14:26:44 / cg"
+! !
+
+!OrganizerCanvas class methodsFor:'plugIn spec'!
+
+aspectSelectors
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this. If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "Return a description of exported aspects;
+     these can be connected to aspects of an embedding application
+     (if this app is embedded in a subCanvas)."
+
+    ^ #(
+        #(classCategoryDoubleClickChannel action)
+        #classCategoryListMenuHolder
+        #(classDoubleClickChannel action)
+        #classHierarchyListMenuHolder
+        #classHierarchyTopClass
+        #classListMenuHolder
+        #filterClassVars
+        #hidePrivateClasses
+        #hideUnloadedClasses
+        #sortByNameAndInheritance
+        #immediateUpdate
+        #markApplicationsHolder
+        #meta
+        #metaToggleLabelHolder
+        #(nameSpaceDoubleClickChannel action)
+        #nameSpaceFilter
+        #nameSpaceListMenuHolder
+        #organizerMode
+        #outGeneratorHolder
+        #packageFilter
+        #(projectDoubleClickChannel action)
+        #projectListMenuHolder
+        #selectedCategories
+        #selectedClasses
+        #selectedNamespaces
+        #selectedProjects
+        #selectedProtocols
+        #selectionChangeCondition
+        #showClassPackages
+        #sortVariablesBy
+        #(variableDoubleClickChannel action)
+        #variableFilter
+        #variablesMenuHolder
+        #showCoverageInformation
+      ).
+
+    "Modified: / 20-07-2011 / 14:28:47 / cg"
+! !
+
+!OrganizerCanvas methodsFor:'aspects'!
+
+classCategoryDoubleClickChannel
+    classCategoryDoubleClickChannel isNil ifTrue:[
+        classCategoryDoubleClickChannel := TriggerValue new.
+    ].
+    ^ classCategoryDoubleClickChannel.
+!
+
+classCategoryListMenuHolder
+    classCategoryListMenuHolder isNil ifTrue:[
+        classCategoryListMenuHolder := ValueHolder new.
+    ].
+    ^ classCategoryListMenuHolder.
+
+    "Created: / 18.2.2000 / 11:52:55 / cg"
+!
+
+classDoubleClickChannel
+    classDoubleClickChannel isNil ifTrue:[
+        classDoubleClickChannel := TriggerValue new.
+    ].
+    ^ classDoubleClickChannel.
+!
+
+classGeneratorHolder
+    classGeneratorHolder isNil ifTrue:[
+        classGeneratorHolder := ValueHolder new.
+    ].
+    ^ classGeneratorHolder.
+
+    "Created: / 18.2.2000 / 00:56:50 / cg"
+!
+
+classGeneratorHolderFromClassCategory
+    classGeneratorHolderFromClassCategory isNil ifTrue:[
+        classGeneratorHolderFromClassCategory := ValueHolder new.
+    ].
+    ^ classGeneratorHolderFromClassCategory.
+
+    "Created: / 18.2.2000 / 02:21:55 / cg"
+!
+
+classGeneratorHolderFromClassHierarchy
+    classGeneratorHolderFromClassHierarchy isNil ifTrue:[
+        classGeneratorHolderFromClassHierarchy := ValueHolder new.
+    ].
+    ^ classGeneratorHolderFromClassHierarchy.
+
+    "Created: / 18.2.2000 / 02:21:55 / cg"
+!
+
+classGeneratorHolderFromNamespace
+    classGeneratorHolderFromNamespace isNil ifTrue:[
+        classGeneratorHolderFromNamespace := ValueHolder new.
+    ].
+    ^ classGeneratorHolderFromNamespace.
+
+    "Created: / 18.2.2000 / 02:21:55 / cg"
+!
+
+classGeneratorHolderFromProject
+    classGeneratorHolderFromProject isNil ifTrue:[
+        classGeneratorHolderFromProject := ValueHolder new.
+    ].
+    ^ classGeneratorHolderFromProject.
+
+    "Created: / 18.2.2000 / 02:21:55 / cg"
+!
+
+classHierarchyListMenuHolder
+    classHierarchyListMenuHolder isNil ifTrue:[
+        classHierarchyListMenuHolder := ValueHolder new.
+    ].
+    ^ classHierarchyListMenuHolder.
+
+    "Created: / 18.2.2000 / 11:52:55 / cg"
+!
+
+classHierarchyTopClass
+    ^ builder valueAspectFor:#classHierarchyTopClass initialValue:Object
+!
+
+classInheritanceListMenuHolder
+    ^ self classHierarchyListMenuHolder
+!
+
+classList
+    classList isNil ifTrue:[
+        classList := ValueHolder new.
+    ].
+    ^ classList.
+
+    "Created: / 18.2.2000 / 00:23:43 / cg"
+!
+
+classListMenuHolder
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    classListMenuHolder isNil ifTrue:[
+	classListMenuHolder := ValueHolder new.
+"/        classListMenuHolder addDependent:self.
+    ].
+    ^ classListMenuHolder.
+
+    "Created: / 18.2.2000 / 11:57:22 / cg"
+!
+
+defaultOrganizerMode
+    ^ OrganizerCanvas organizerModePackageDiagram.
+    ^ OrganizerCanvas organizerModeCategory
+!
+
+diagramPackageSelection
+    |holder|
+
+    (holder := builder bindingAt:#diagramPackageSelection) isNil ifTrue:[
+        holder := nil asValue.
+        builder aspectAt:#diagramPackageSelection put:holder.
+        holder onChangeSend:#diagramPackageSelectionChanged to:self.
+    ].
+    ^ holder.
+!
+
+filterClassVars
+    filterClassVars isNil ifTrue:[
+        filterClassVars := ValueHolder new.
+"/        filterClassVars addDependent:self.
+    ].
+    ^ filterClassVars.
+
+    "Created: / 24-02-2000 / 23:29:52 / cg"
+!
+
+hidePrivateClasses
+    hidePrivateClasses isNil ifTrue:[
+        hidePrivateClasses := false asValue.
+"/        hidePrivateClasses addDependent:self.
+    ].
+    ^ hidePrivateClasses.
+
+    "Created: / 24-02-2000 / 16:18:45 / cg"
+!
+
+hideUnloadedClasses
+    hideUnloadedClasses isNil ifTrue:[
+        hideUnloadedClasses := false asValue.
+"/        hideUnloadedClasses addDependent:self.
+    ].
+    ^ hideUnloadedClasses.
+
+    "Created: / 18-02-2000 / 17:54:57 / cg"
+!
+
+immediateUpdate
+    immediateUpdate isNil ifTrue:[
+        immediateUpdate := false asValue.
+"/        immediateUpdate addDependent:self.
+    ].
+    ^ immediateUpdate.
+
+    "Created: / 18-02-2000 / 00:23:43 / cg"
+!
+
+initialOrganizerMode
+    ^ nil  "/ dummy
+!
+
+markApplicationsHolder
+    markApplicationsHolder isNil ifTrue:[
+	markApplicationsHolder := false asValue.
+    ].
+    ^ markApplicationsHolder.
+!
+
+meta
+    meta isNil ifTrue:[
+        meta := false asValue.
+"/        meta addDependent:self.
+    ].
+    ^ meta.
+
+    "Created: / 18-02-2000 / 00:23:43 / cg"
+    "Modified (comment): / 04-07-2011 / 18:52:49 / cg"
+!
+
+metaToggle
+    metaToggle isNil ifTrue:[
+	metaToggle := PluggableAdaptor on:(self meta).
+	metaToggle
+	    getBlock:[:m | m value == true]
+	    putBlock:[:m :newValue | m value:(newValue ? false)]
+	    updateBlock:[:m :aspect :param | true].
+    ].
+    ^ metaToggle
+!
+
+metaToggleLabelHolder
+    "this is changed from 'Instance/Class' to 'Instance/Static' for Java"
+
+    metaToggleLabelHolder isNil ifTrue:[
+        metaToggleLabelHolder := (resources string:'Class') asValue.
+"/        metaToggleLabelHolder addDependent:self.
+    ].
+    ^ metaToggleLabelHolder.
+
+    "Created: / 18-02-2000 / 11:52:55 / cg"
+!
+
+methodVisibilityHolder
+    masterApplication notNil ifTrue:[
+        ^ masterApplication methodVisibilityHolder
+    ].
+
+    methodVisibilityHolder isNil ifTrue:[
+        methodVisibilityHolder := false asValue.
+    ].
+    ^ methodVisibilityHolder.
+
+    "Created: / 05-11-2007 / 16:57:58 / cg"
+!
+
+nameSpaceDoubleClickChannel
+    |holder|
+
+    (holder := builder bindingAt:#nameSpaceDoubleClickChannel) isNil ifTrue:[
+        holder := TriggerValue new.
+        builder aspectAt:#nameSpaceDoubleClickChannel put:holder.
+"/        holder addDependent:self.
+    ].
+    ^ holder.
+
+    "Modified (comment): / 04-07-2011 / 18:53:36 / cg"
+!
+
+nameSpaceFilter
+    nameSpaceFilter isNil ifTrue:[
+        nameSpaceFilter := ValueHolder new.
+        nameSpaceFilter onChangeEvaluate:[
+            nameSpaceFilter value ~= nameSpaceFilterSelection value ifTrue:[
+                self halt:'should not happen'
+            ].
+"/            self nameSpaceFilter value: nameSpaceFilterSelection value.
+        ]
+    ].
+    ^ nameSpaceFilter.
+
+    "Created: / 24.2.2000 / 23:29:52 / cg"
+!
+
+nameSpaceFilterDoubleClickChannel
+    |holder|
+
+    (holder := builder bindingAt:#nameSpaceFilterDoubleClickChannel) isNil ifTrue:[
+        holder := TriggerValue new.
+        builder aspectAt:#nameSpaceFilterDoubleClickChannel put:holder.
+        holder onChangeEvaluate:[
+                    (builder componentAt:#NameSpaceFilterComboBox) closeMenu.
+"/                    self nameSpaceDoubleClickChannel value:true.
+               ]
+    ].
+    ^ holder.
+
+    "Modified (comment): / 04-07-2011 / 18:53:39 / cg"
+!
+
+nameSpaceFilterPopUpMenu
+    ^ self nameSpaceListMenuHolder.
+!
+
+nameSpaceFilterSelectedNameSpace
+    |holder|
+
+    (holder := builder bindingAt:#nameSpaceFilterSelectedNameSpace) isNil ifTrue:[
+	holder := self class nameListEntryForALL "'* all *'" asValue.
+	builder aspectAt:#nameSpaceFilterSelectedNameSpace put:holder.
+	holder onChangeEvaluate:[ self updateNameSpaceLabel. ].
+    ].
+    ^ holder.
+
+    "Created: / 18.2.2000 / 11:52:55 / cg"
+!
+
+nameSpaceFilterSelection
+    "automatically generated by UIPainter ..."
+
+    nameSpaceFilterSelection isNil ifTrue:[
+	nameSpaceFilterSelection := (OrderedCollection with:self class nameListEntryForALL) asValue.
+	nameSpaceFilterSelection addDependent:self.
+    ].
+    ^ nameSpaceFilterSelection.
+!
+
+nameSpaceListMenuHolder
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#nameSpaceListMenuHolder) isNil ifTrue:[
+	holder := ValueHolder new.
+	builder aspectAt:#nameSpaceListMenuHolder put:holder.
+"/        holder addDependent:self.
+    ].
+    ^ holder.
+
+    "Created: / 18.2.2000 / 11:52:55 / cg"
+!
+
+nameSpaceListWidget
+    |view|
+
+    view := SubCanvas new.
+    view client:self spec:#embeddedNameSpaceListSpec builder:nil. "/ (self builder).
+    (view builder findComponentAt:#List) autoHideHorizontalScrollBar:true.
+    ^ view.
+!
+
+nameSpaceListWidgetHolder
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#nameSpaceListWidgetHolder) isNil ifTrue:[
+	holder := ValueHolder new.
+	builder aspectAt:#nameSpaceListWidgetHolder put:holder.
+	holder value:(self nameSpaceListWidget).
+    ].
+    ^ holder.
+!
+
+notMetaToggle
+    notMetaToggle isNil ifTrue:[
+	notMetaToggle := PluggableAdaptor on:(self meta).
+	notMetaToggle
+	    getBlock:[:m | m value == false]
+	    putBlock:[:m :newValue | m value:(newValue ? false) not]
+	    updateBlock:[:m :aspect :param | true].
+    ].
+    ^ notMetaToggle
+!
+
+organizerMode
+    organizerMode isNil ifTrue:[
+        organizerMode := self defaultOrganizerMode asValue.
+        organizerMode addDependent:self.
+    ].
+    ^ organizerMode
+
+    "Created: / 18.2.2000 / 00:30:44 / cg"
+    "Modified: / 18.2.2000 / 02:56:21 / cg"
+!
+
+outGeneratorHolder
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#outGeneratorHolder) isNil ifTrue:[
+	holder := ValueHolder new.
+	builder aspectAt:#outGeneratorHolder put:holder.
+"/        holder addDependent:self.
+    ].
+    ^ holder.
+
+    "Created: / 18.2.2000 / 00:23:43 / cg"
+!
+
+packageFilter
+    "automatically generated by UIPainter ..."
+
+    packageFilter isNil ifTrue:[
+        packageFilter := ValueHolder new.
+        "/ packageFilter addDependent:self.
+    ].
+    ^ packageFilter.
+
+    "Created: / 24.2.2000 / 23:29:52 / cg"
+!
+
+packageList
+    |holder|
+
+    (holder := builder bindingAt:#packageList) isNil ifTrue:[
+        holder := ValueHolder with:(ProjectList new listOfProjects).
+        builder aspectAt:#packageList put:holder.
+    ].
+    ^ holder.
+!
+
+popUpNameSpaceListSlaveMode
+    ^ false
+!
+
+projectDoubleClickChannel
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#projectDoubleClickChannel) isNil ifTrue:[
+	holder := TriggerValue new.
+	builder aspectAt:#projectDoubleClickChannel put:holder.
+"/        holder addDependent:self.
+    ].
+    ^ holder.
+!
+
+projectListMenuHolder
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    projectListMenuHolder isNil ifTrue:[
+	projectListMenuHolder := ValueHolder new.
+"/        projectListMenuHolder addDependent:self.
+    ].
+    ^ projectListMenuHolder.
+
+    "Created: / 18.2.2000 / 11:52:55 / cg"
+!
+
+selectedCategories
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    selectedCategories isNil ifTrue:[
+	selectedCategories := ValueHolder new.
+"/        selectedCategories addDependent:self.
+    ].
+    ^ selectedCategories.
+
+    "Created: / 18.2.2000 / 12:27:58 / cg"
+!
+
+selectedClasses
+    "bad name- it's a holder, baby"
+
+    selectedClasses isNil ifTrue:[
+        selectedClasses := ValueHolder new.
+        selectedClasses addDependent:self.
+    ].
+    ^ selectedClasses.
+
+    "Created: / 18.2.2000 / 00:23:43 / cg"
+!
+
+selectedDiagramProject
+    |holder|
+
+    (holder := builder bindingAt:#selectedDiagramProject) isNil ifTrue:[
+        holder := nil asValue.
+        builder aspectAt:#selectedDiagramProject put:holder.
+        holder addDependent:self.
+    ].
+    ^ holder.
+!
+
+selectedNamespaces
+    selectedNamespaces isNil ifTrue:[
+        selectedNamespaces := (OrderedCollection with:self class nameListEntryForALL) asValue.
+    ].
+    ^ selectedNamespaces.
+
+    "Created: / 18.2.2000 / 12:27:58 / cg"
+!
+
+selectedProjects
+    selectedProjects isNil ifTrue:[
+        selectedProjects := ValueHolder new.
+        selectedProjects addDependent:self.
+    ].
+    ^ selectedProjects.
+
+    "Created: / 18.2.2000 / 12:16:01 / cg"
+!
+
+selectionChangeCondition
+
+    selectionChangeCondition isNil ifTrue:[
+        selectionChangeCondition := ValueHolder new.
+"/        selectionChangeCondition addDependent:self.
+    ].
+    ^ selectionChangeCondition.
+
+    "Created: / 18.2.2000 / 00:23:43 / cg"
+!
+
+showAllClassesInNameSpaceOrganisation
+    masterApplication notNil ifTrue:[
+        ^ masterApplication showAllClassesInNameSpaceOrganisation
+    ].
+
+    showAllClassesInNameSpaceView isNil ifTrue:[
+        showAllClassesInNameSpaceView := false asValue.
+    ].
+    ^ showAllClassesInNameSpaceView.
+
+    "Created: / 05-03-2007 / 16:52:02 / cg"
+    "Modified: / 06-03-2007 / 12:30:17 / cg"
+!
+
+showClassPackages
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    showClassPackages isNil ifTrue:[
+	showClassPackages := false asValue.
+"/        showClassPackages addDependent:self.
+    ].
+    ^ showClassPackages.
+
+    "Created: / 18.2.2000 / 17:54:57 / cg"
+!
+
+showCoverageInformation
+    masterApplication notNil ifTrue:[
+        ^ masterApplication showCoverageInformation
+    ].
+
+    showCoverageInformation isNil ifTrue:[
+        showCoverageInformation := false asValue.
+    ].
+    ^ showCoverageInformation.
+
+    "Created: / 27-04-2010 / 16:32:56 / cg"
+!
+
+showMethodComplexity
+    masterApplication notNil ifTrue:[
+        ^ masterApplication showMethodComplexity
+    ].
+
+    showMethodComplexity isNil ifTrue:[
+        showMethodComplexity := false asValue.
+    ].
+    ^ showMethodComplexity.
+
+    "Created: / 05-11-2007 / 16:56:36 / cg"
+!
+
+showMethodInheritance
+    masterApplication notNil ifTrue:[
+        ^ masterApplication showMethodInheritance
+    ].
+
+    showMethodInheritance isNil ifTrue:[
+        showMethodInheritance := false asValue.
+    ].
+    ^ showMethodInheritance.
+
+    "Created: / 05-11-2007 / 16:55:35 / cg"
+!
+
+showMethodTypeIcon
+    masterApplication notNil ifTrue:[
+        ^ masterApplication showMethodTypeIcon
+    ].
+
+    showMethodTypeIcon isNil ifTrue:[
+        showMethodTypeIcon := false asValue.
+    ].
+    ^ showMethodTypeIcon.
+
+    "Created: / 05-11-2007 / 16:57:12 / cg"
+!
+
+sortByNameAndInheritance
+    sortByNameAndInheritance isNil ifTrue:[
+        sortByNameAndInheritance := false asValue.
+"/        sortByNameAndInheritance addDependent:self.
+    ].
+    ^ sortByNameAndInheritance.
+
+    "Created: / 04-07-2011 / 18:41:22 / cg"
+!
+
+sortVariablesByName
+    sortVariablesByName isNil ifTrue:[
+        sortVariablesByName := false asValue.
+    ].
+    ^ sortVariablesByName.
+!
+
+updateNameSpaceLabel
+    |box|
+
+    box := self componentAt:#NameSpaceFilterComboBox.
+    box notNil ifTrue:[
+        "/ new code: ExtComboBox uses always an EditField
+        box editor contents:nameSpaceFilterSelection value first.        
+
+        "/ old code: readOnly ExtComboBox used a Label
+        "/ box menuField label:nameSpaceFilterSelection value first
+    ]
+!
+
+variableDoubleClickChannel
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#variableDoubleClickChannel) isNil ifTrue:[
+	holder := TriggerValue new.
+	builder aspectAt:#variableDoubleClickChannel put:holder.
+"/        holder addDependent:self.
+    ].
+    ^ holder.
+!
+
+variableFilter
+    variableFilter isNil ifTrue:[
+        variableFilter := ValueHolder new.
+    ].
+    ^ variableFilter.
+
+    "Created: / 24.2.2000 / 23:29:52 / cg"
+!
+
+variablesMenuHolder
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    variablesMenuHolder isNil ifTrue:[
+	variablesMenuHolder := ValueHolder new.
+"/        variablesMenuHolder addDependent:self.
+    ].
+    ^ variablesMenuHolder.
+
+    "Created: / 24.2.2000 / 23:29:52 / cg"
+! !
+
+!OrganizerCanvas methodsFor:'aspects-exported'!
+
+classCategoryDoubleClickChannel:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ classCategoryDoubleClickChannel removeDependent:self.
+
+    classCategoryDoubleClickChannel := something.
+
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.8.2000 / 20:04:48 / cg"
+!
+
+classCategoryListMenuHolder:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ classCategoryListMenuHolder removeDependent:self.
+
+    classCategoryListMenuHolder := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 11:53:31 / cg"
+!
+
+classCategoryListUpdateTrigger:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ classCategoryListUpdateTrigger removeDependent:self.
+
+    classCategoryListUpdateTrigger := something.
+
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 02:08:01 / cg"
+!
+
+classDoubleClickChannel:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ classDoubleClickChannel removeDependent:self.
+
+    classDoubleClickChannel := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+!
+
+classHierarchyListMenuHolder:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ classHierarchyListMenuHolder removeDependent:self.
+
+    classHierarchyListMenuHolder := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 11:53:31 / cg"
+!
+
+classHierarchyShown:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ |holder|
+
+    "/ (holder := builder bindingAt:#classHierarchyShown) notNil ifTrue:[
+    "/     holder removeDependent:self.
+    "/ ].
+    builder aspectAt:#classHierarchyShown put:something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 00:24:28 / cg"
+!
+
+classHierarchyTopClass:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ |holder|
+
+    "/ (holder := builder bindingAt:#classHierarchyTopClass) notNil ifTrue:[
+    "/     holder removeDependent:self.
+    "/ ].
+    builder aspectAt:#classHierarchyTopClass put:something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+!
+
+classHierarchyUpdateTrigger:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ |holder|
+
+    "/ (holder := builder bindingAt:#classHierarchyUpdateTrigger) notNil ifTrue:[
+    "/     holder removeDependent:self.
+    "/ ].
+    builder aspectAt:#classHierarchyUpdateTrigger put:something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 02:08:01 / cg"
+!
+
+classList:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ classList notNil ifTrue:[
+    "/     classList removeDependent:self.
+    "/ ].
+    classList := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 00:24:28 / cg"
+!
+
+classListMenuHolder:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ classListMenuHolder removeDependent:self.
+
+    classListMenuHolder := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 11:57:22 / cg"
+!
+
+classListUpdateTrigger:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ classListUpdateTrigger removeDependent:self.
+
+    classListUpdateTrigger := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 02:08:01 / cg"
+!
+
+filterClassVars:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ filterClassVars removeDependent:self.
+
+    filterClassVars := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 24.2.2000 / 23:46:16 / cg"
+!
+
+hidePrivateClasses:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ hidePrivateClasses removeDependent:self.
+
+    hidePrivateClasses := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 24.2.2000 / 16:18:32 / cg"
+!
+
+hideUnloadedClasses:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ hideUnloadedClasses removeDependent:self.
+
+    hideUnloadedClasses := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 17:54:57 / cg"
+!
+
+immediateUpdate:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ immediateUpdate removeDependent:self.
+
+    immediateUpdate := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 00:24:29 / cg"
+!
+
+markApplicationsHolder:something
+    markApplicationsHolder := something.
+!
+
+meta:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ meta notNil ifTrue:[
+    "/     meta removeDependent:self.
+    "/ ].
+"/ (something == true or:[something == false]) ifTrue:[self halt].
+    meta := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    metaToggle notNil ifTrue:[
+	metaToggle model:something
+    ].
+    notMetaToggle notNil ifTrue:[
+	notMetaToggle model:something
+    ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 00:24:29 / cg"
+!
+
+metaToggleLabelHolder:something
+    |v|
+
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ metaToggleLabelHolder removeDependent:self.
+
+    metaToggleLabelHolder := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    (v := builder componentAt:#ClassToggle) notNil ifTrue:[
+	v labelChannel:metaToggleLabelHolder.
+    ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 11:53:31 / cg"
+!
+
+methodVisibilityHolder:aValueHolder
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    methodVisibilityHolder := aValueHolder.
+
+    "Created: / 05-11-2007 / 16:57:34 / cg"
+!
+
+nameSpaceFilter:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ packageFilter notNil ifTrue:[
+    "/     packageFilter removeDependent:self.
+    "/ ].
+    nameSpaceFilter := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    self nameSpaceFilterSelection value:something value.
+    ^ self.
+
+    "Created: / 24.2.2000 / 23:46:16 / cg"
+!
+
+nameSpaceListMenuHolder:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ |holder|
+
+    "/ (holder := builder bindingAt:#namespaceListMenuHolder) notNil ifTrue:[
+    "/     holder removeDependent:self.
+    "/ ].
+    builder aspectAt:#nameSpaceListMenuHolder put:something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 11:53:31 / cg"
+!
+
+nameSpaceListUpdateTrigger:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ |holder|
+
+    "/ (holder := builder bindingAt:#namespaceListUpdateTrigger) notNil ifTrue:[
+    "/     holder removeDependent:self.
+    "/ ].
+    builder aspectAt:#nameSpaceListUpdateTrigger put:something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 02:08:01 / cg"
+!
+
+organizerMode:aValueHolder
+    organizerMode notNil ifTrue:[
+	organizerMode removeDependent:self.
+    ].
+    organizerMode := aValueHolder.
+    organizerMode notNil ifTrue:[
+	organizerMode addDependent:self.
+    ].
+
+    "Created: / 18.2.2000 / 10:21:41 / cg"
+!
+
+outGeneratorHolder:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ |holder|
+
+    "/ (holder := builder bindingAt:#outGeneratorHolder) notNil ifTrue:[
+    "/     holder removeDependent:self.
+    "/ ].
+    builder aspectAt:#outGeneratorHolder put:something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 00:24:29 / cg"
+!
+
+packageFilter:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ packageFilter notNil ifTrue:[
+    "/     packageFilter removeDependent:self.
+    "/ ].
+    packageFilter := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 24.2.2000 / 23:46:16 / cg"
+!
+
+projectDoubleClickChannel:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ |holder|
+
+    "/ (holder := builder bindingAt:#projectDoubleClickChannel) notNil ifTrue:[
+    "/     holder removeDependent:self.
+    "/ ].
+    builder aspectAt:#projectDoubleClickChannel put:something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+!
+
+projectListMenuHolder:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    projectListMenuHolder := something.
+
+    "Created: / 18.2.2000 / 11:53:31 / cg"
+!
+
+projectListUpdateTrigger:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ |holder|
+
+    "/ (holder := builder bindingAt:#projectListUpdateTrigger) notNil ifTrue:[
+    "/     holder removeDependent:self.
+    "/ ].
+    builder aspectAt:#projectListUpdateTrigger put:something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 02:08:01 / cg"
+!
+
+selectedCategories:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    selectedCategories := something.
+    ^ self.
+
+    "Created: / 18.2.2000 / 14:04:36 / cg"
+!
+
+selectedClasses:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    selectedClasses removeDependent:self.
+
+    selectedClasses := something.
+    something notNil ifTrue:[
+	something addDependent:self.
+    ].
+    ^ self.
+
+    "Created: / 18.2.2000 / 00:24:29 / cg"
+!
+
+selectedNamespaces:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    selectedNamespaces := something.
+    selectedNamespaces onChangeEvaluate:[
+        nameSpaceFilterSelection notNil ifTrue:[
+            nameSpaceFilterSelection value:selectedNamespaces value.     
+        ]
+    ].
+
+    "Modified: / 05-11-2007 / 17:16:56 / cg"
+!
+
+selectedProjects:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    selectedProjects := something.
+!
+
+selectionChangeCondition:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    selectionChangeCondition := something.
+!
+
+showClassPackages:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    showClassPackages := something.
+!
+
+showCoverageInformation:something
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    showCoverageInformation := something.
+
+    "Created: / 06-07-2011 / 19:48:20 / cg"
+!
+
+showMethodComplexity:aValueHolder
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    showMethodComplexity := aValueHolder.
+
+    "Created: / 05-11-2007 / 16:56:18 / cg"
+!
+
+showMethodInheritance:aValueHolder
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    showMethodInheritance := aValueHolder.
+
+    "Created: / 05-11-2007 / 16:55:12 / cg"
+!
+
+showMethodTypeIcon:aValueHolder
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    showMethodTypeIcon := aValueHolder.
+
+    "Created: / 05-11-2007 / 16:57:02 / cg"
+!
+
+sortByNameAndInheritance:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ sortByNameAndInheritance removeDependent:self.
+
+    sortByNameAndInheritance := something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+
+    "Created: / 04-07-2011 / 18:42:01 / cg"
+!
+
+sortVariablesByName:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    sortVariablesByName := something.
+!
+
+variableDoubleClickChannel:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    "/ |holder|
+
+    "/ (holder := builder bindingAt:#variableDoubleClickChannel) notNil ifTrue:[
+    "/     holder removeDependent:self.
+    "/ ].
+    builder aspectAt:#variableDoubleClickChannel put:something.
+    "/ something notNil ifTrue:[
+    "/     something addDependent:self.
+    "/ ].
+    ^ self.
+!
+
+variableFilter:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    variableFilter := something.
+!
+
+variablesMenuHolder:something
+    "automatically generated by UIPainter ..."
+
+    "This method is used when I am embedded as subApplication,"
+    "and the mainApp wants to connect its aspects to mine."
+
+    variablesMenuHolder := something.
+! !
+
+!OrganizerCanvas methodsFor:'aspects-private'!
+
+categoryListSlaveMode
+    categoryListSlaveMode isNil ifTrue:[
+	categoryListSlaveMode := false asValue.
+    ].
+    ^ categoryListSlaveMode
+
+    "Created: / 18.2.2000 / 00:30:44 / cg"
+    "Modified: / 18.2.2000 / 02:56:21 / cg"
+!
+
+classHierarchyListSlaveMode
+    classHierarchyListSlaveMode isNil ifTrue:[
+	classHierarchyListSlaveMode := true asValue.
+    ].
+    ^ classHierarchyListSlaveMode
+
+    "Created: / 18.2.2000 / 00:30:44 / cg"
+    "Modified: / 18.2.2000 / 02:56:21 / cg"
+!
+
+classInheritanceListSlaveMode
+    classInheritanceListSlaveMode isNil ifTrue:[
+	classInheritanceListSlaveMode := true asValue.
+    ].
+    ^ classInheritanceListSlaveMode
+
+    "Modified: / 18.2.2000 / 02:56:21 / cg"
+    "Created: / 26.2.2000 / 00:09:18 / cg"
+!
+
+classListSlaveMode
+    classListSlaveMode isNil ifTrue:[
+	classListSlaveMode := false asValue.
+    ].
+    ^ classListSlaveMode
+
+    "Created: / 18.2.2000 / 00:30:44 / cg"
+    "Modified: / 18.2.2000 / 02:56:21 / cg"
+!
+
+nameSpaceListSlaveMode
+    namespaceListSlaveMode isNil ifTrue:[
+	namespaceListSlaveMode := true asValue.
+    ].
+    ^ namespaceListSlaveMode
+
+    "Created: / 18.2.2000 / 00:30:44 / cg"
+    "Modified: / 18.2.2000 / 02:56:21 / cg"
+!
+
+projectListSlaveMode
+    projectListSlaveMode isNil ifTrue:[
+	projectListSlaveMode := true asValue.
+    ].
+    ^ projectListSlaveMode
+
+    "Created: / 18.2.2000 / 00:30:44 / cg"
+    "Modified: / 18.2.2000 / 02:56:21 / cg"
+! !
+
+!OrganizerCanvas methodsFor:'aspects-trigger'!
+
+classCategoryListUpdateTrigger
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    classCategoryListUpdateTrigger isNil ifTrue:[
+	classCategoryListUpdateTrigger := TriggerValue new.
+"/        classCategoryListUpdateTrigger addDependent:self.
+    ].
+    ^ classCategoryListUpdateTrigger.
+
+    "Created: / 18.2.2000 / 02:05:14 / cg"
+    "Modified: / 18.2.2000 / 02:14:04 / cg"
+!
+
+classHierarchyUpdateTrigger
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#classHierarchyUpdateTrigger) isNil ifTrue:[
+	holder := TriggerValue new.
+	builder aspectAt:#classHierarchyUpdateTrigger put:holder.
+"/        holder addDependent:self.
+    ].
+    ^ holder.
+
+    "Created: / 18.2.2000 / 02:05:14 / cg"
+    "Modified: / 18.2.2000 / 02:13:57 / cg"
+!
+
+classListUpdateTrigger
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    classListUpdateTrigger isNil ifTrue:[
+	classListUpdateTrigger := TriggerValue new.
+"/        classListUpdateTrigger addDependent:self.
+    ].
+    ^ classListUpdateTrigger.
+
+    "Created: / 18.2.2000 / 02:05:14 / cg"
+    "Modified: / 18.2.2000 / 02:14:08 / cg"
+!
+
+forceClassCategoryGeneratorTrigger
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#forceClassCategoryGeneratorTrigger) isNil ifTrue:[
+	holder := TriggerValue new.
+	builder aspectAt:#forceClassCategoryGeneratorTrigger put:holder.
+"/        holder addDependent:self.
+    ].
+    ^ holder.
+
+    "Created: / 18.2.2000 / 02:49:43 / cg"
+    "Modified: / 18.2.2000 / 02:52:30 / cg"
+!
+
+forceClassHierarchyGeneratorTrigger
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#forceClassHierarchyGeneratorTrigger) isNil ifTrue:[
+	holder := TriggerValue new.
+	builder aspectAt:#forceClassHierarchyGeneratorTrigger put:holder.
+"/        holder addDependent:self.
+    ].
+    ^ holder.
+
+    "Created: / 18.2.2000 / 02:49:43 / cg"
+    "Modified: / 18.2.2000 / 02:52:32 / cg"
+!
+
+forceNamespaceGeneratorTrigger
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#forceNamespaceGeneratorTrigger) isNil ifTrue:[
+	holder := TriggerValue new.
+	builder aspectAt:#forceNamespaceGeneratorTrigger put:holder.
+"/        holder addDependent:self.
+    ].
+    ^ holder.
+
+    "Created: / 18.2.2000 / 02:49:43 / cg"
+    "Modified: / 18.2.2000 / 02:52:35 / cg"
+!
+
+forceProjectGeneratorTrigger
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#forceProjectGeneratorTrigger) isNil ifTrue:[
+	holder := TriggerValue new.
+	builder aspectAt:#forceProjectGeneratorTrigger put:holder.
+"/        holder addDependent:self.
+    ].
+    ^ holder.
+
+    "Created: / 18.2.2000 / 02:49:43 / cg"
+    "Modified: / 18.2.2000 / 02:52:38 / cg"
+!
+
+nameSpaceListUpdateTrigger
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#nameSpaceListUpdateTrigger) isNil ifTrue:[
+	holder := TriggerValue new.
+	builder aspectAt:#nameSpaceListUpdateTrigger put:holder.
+"/        holder addDependent:self.
+    ].
+    ^ holder.
+
+    "Created: / 18.2.2000 / 02:05:14 / cg"
+    "Modified: / 18.2.2000 / 02:14:12 / cg"
+!
+
+projectListUpdateTrigger
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#projectListUpdateTrigger) isNil ifTrue:[
+	holder := TriggerValue new.
+	builder aspectAt:#projectListUpdateTrigger put:holder.
+"/        holder addDependent:self.
+    ].
+    ^ holder.
+
+    "Created: / 18.2.2000 / 02:05:14 / cg"
+    "Modified: / 18.2.2000 / 02:14:15 / cg"
+! !
+
+!OrganizerCanvas methodsFor:'aspects-visibility'!
+
+categoryListShown
+    categoryListShown isNil ifTrue:[
+        categoryListShown := BlockValue 
+                        with:[:v | v == OrganizerCanvas organizerModeCategory]
+                        argument:(self organizerMode).
+    ].
+    ^ categoryListShown
+
+    "Modified: / 08-03-2007 / 23:01:48 / cg"
+!
+
+categoryNameSpaceAndProjectPanelShown
+    |holder|
+
+    (holder := builder bindingAt:#categoryNameSpaceAndProjectPanelShown) isNil ifTrue:[
+        holder := BlockValue 
+                        with:[:v1 :v2 :v3 | (v1 or:[v2 or:[v3]]) not]
+                        argument:(self classHierarchyShown)
+                        argument:(self classInheritanceShown)
+                        argument:(self packageDiagramShown).
+        builder aspectAt:#categoryNameSpaceAndProjectPanelShown put: holder
+    ].
+    ^ holder
+
+    "Modified: / 08-03-2007 / 23:01:57 / cg"
+!
+
+classHierarchyNotShown
+    |holder|
+
+    (holder := builder bindingAt:#classHierarchyNotShown) isNil ifTrue:[
+        holder := BlockValue 
+                        with:[:v | |org|
+                                   org := v.
+                                   org ~~ OrganizerCanvas organizerModeHierarchy
+                                   and:[org ~~ OrganizerCanvas organizerModeClassHierarchy
+                                   and:[org ~~ OrganizerCanvas organizerModeClassInheritance]]]
+                        argument:(self organizerMode).
+        builder aspectAt:#classHierarchyNotShown put: holder
+    ].
+    ^ holder
+
+    "Created: / 18-02-2000 / 00:36:38 / cg"
+    "Modified: / 08-03-2007 / 23:01:51 / cg"
+!
+
+classHierarchyOrInheritanceNotShown
+    <resource: #obsolete>
+
+    |holder|
+
+    (holder := builder bindingAt:#classHierarchyOrInheritanceNotShown) isNil ifTrue:[
+        holder := BlockValue 
+                        with:[:v1 :v2 | (v1 or:[v2]) not]
+                        argument:(self classHierarchyShown)
+                        argument:(self classInheritanceShown).
+        builder aspectAt:#classHierarchyOrInheritanceNotShown put: holder
+    ].
+    ^ holder
+
+    "Modified: / 08-03-2007 / 23:01:57 / cg"
+!
+
+classHierarchyOrInheritanceShown
+    |holder|
+
+    (holder := builder bindingAt:#classHierarchyOrInheritanceShown) isNil ifTrue:[
+        holder := BlockValue 
+                        with:[:v1 :v2 | v1 or:[v2] ]
+                        argument:(self classHierarchyShown)
+                        argument:(self classInheritanceShown).
+        builder aspectAt:#classHierarchyOrInheritanceShown put: holder
+    ].
+    ^ holder
+
+    "Modified: / 08-03-2007 / 23:02:03 / cg"
+!
+
+classHierarchyShown
+    |holder|
+
+    (holder := builder bindingAt:#classHierarchyShown) isNil ifTrue:[
+        holder := BlockValue 
+                        with:[:v | |org|
+                                   org := v.
+                                   org == OrganizerCanvas organizerModeHierarchy
+                                   or:[org == OrganizerCanvas organizerModeClassHierarchy]]
+                        argument:(self organizerMode).
+        builder aspectAt:#classHierarchyShown put: holder
+    ].
+    ^ holder
+
+    "Modified: / 08-03-2007 / 23:02:07 / cg"
+!
+
+classInheritanceShown
+    |holder|
+
+    (holder := builder bindingAt:#classInheritanceShown) isNil ifTrue:[
+        holder := BlockValue 
+                        with:[:v | v == OrganizerCanvas organizerModeClassInheritance]
+                        argument:(self organizerMode).
+        builder aspectAt:#classInheritanceShown put: holder
+    ].
+    ^ holder
+
+    "Created: / 24-02-2000 / 13:23:01 / cg"
+    "Modified: / 08-03-2007 / 23:02:09 / cg"
+!
+
+classListShown
+    |holder|
+
+    (holder := builder bindingAt:#classListShown) isNil ifTrue:[
+        holder := BlockValue 
+                        with:[:v | v ~~ OrganizerCanvas organizerModeHierarchy]
+                        argument:(self organizerMode).
+        builder aspectAt:#classListShown put: holder
+    ].
+    ^ holder
+
+    "Modified: / 08-03-2007 / 23:02:12 / cg"
+!
+
+nameSpaceListShown
+    |holder|
+
+    (holder := builder bindingAt:#nameSpaceListShown) isNil ifTrue:[
+        holder := BlockValue 
+                        with:[:v | v == OrganizerCanvas organizerModeNamespace]
+                        argument:(self organizerMode).
+        builder aspectAt:#nameSpaceListShown put: holder
+    ].
+    ^ holder
+
+    "Created: / 18-02-2000 / 00:32:09 / cg"
+    "Modified: / 08-03-2007 / 23:02:15 / cg"
+!
+
+packageDiagramShown
+    |holder|
+
+    (holder := builder bindingAt:#packageDiagramShown) isNil ifTrue:[
+        holder := BlockValue 
+                        with:[:v | |org|
+                                   org := v.
+                                   org == OrganizerCanvas organizerModePackageDiagram]
+                        argument:(self organizerMode).
+        builder aspectAt:#packageDiagramShown put: holder
+    ].
+    ^ holder
+
+    "Modified: / 08-03-2007 / 23:02:07 / cg"
+!
+
+projectListShown
+    |holder|
+
+    (holder := builder bindingAt:#projectListShown) isNil ifTrue:[
+        holder := BlockValue 
+                        with:[:v | v == OrganizerCanvas organizerModeProject]
+                        argument:(self organizerMode).
+        builder aspectAt:#projectListShown put: holder
+    ].
+    ^ holder
+
+    "Created: / 18-02-2000 / 00:32:09 / cg"
+    "Modified: / 08-03-2007 / 23:02:18 / cg"
+! !
+
+!OrganizerCanvas methodsFor:'change & update'!
+
+diagramClassSelectionChanged
+    |graphApp classes|
+
+    graphApp := self diagramApplicationModelHolder value.
+
+    classes := graphApp selectedClassesHolder value.
+    self classGeneratorHolder value:classes.
+    self classList value:classes.
+    self selectedClasses value:classes.
+
+"/    self outGeneratorHolder value:classes.
+!
+
+diagramPackageSelectionChanged
+    |package|
+
+    self packageDiagramShown value ifTrue:[
+        package := self diagramPackageSelection value.
+        self withWaitCursorDo:[
+            self diagramApplicationModelHolder value
+                packages:(Array with:package);
+                generateDiagram
+        ]
+    ].
+!
+
+packageFilterChanged
+!
+
+selectedProjectsChanged
+    self updatePackageDiagramView
+!
+
+update:something with:aParameter from:changedObject
+    |orgMode trigger classes selectedClassesHolder selectionValue|
+
+    orgMode := organizerMode value.
+    selectedClassesHolder := self selectedClasses.
+    classes := selectedClassesHolder value copy ? #().
+
+    changedObject == packageFilter ifTrue:[
+        self breakPoint:#cg
+    ].
+
+    changedObject == organizerMode ifTrue:[
+        self classHierarchyListSlaveMode value:true.
+        self classInheritanceListSlaveMode value:true.
+        self classListSlaveMode value:true.
+        self categoryListSlaveMode value:true.
+        self nameSpaceListSlaveMode value:true.
+        self projectListSlaveMode value:true.
+
+        self variableFilter value:nil.
+        self packageFilter value:nil.
+        self nameSpaceFilter value:nil.
+
+        "/ must update the packageFilter
+        orgMode == OrganizerCanvas organizerModeProject ifTrue:[
+            self selectedProjects value:(classes collect:[:each | each package]) asSet.
+            packageFilter setValue:(self selectedProjects value)
+        ] ifFalse:[
+            packageFilter value:nil
+        ].
+
+        self updateOrganizationFromChangedClass.
+
+        orgMode == OrganizerCanvas organizerModeCategory ifTrue:[
+            trigger := self forceClassCategoryGeneratorTrigger.
+        ] ifFalse:[ orgMode == OrganizerCanvas organizerModeHierarchy ifTrue:[
+            trigger := self forceClassHierarchyGeneratorTrigger.
+        ] ifFalse:[ orgMode == OrganizerCanvas organizerModeNamespace ifTrue:[
+            trigger := self forceNamespaceGeneratorTrigger
+        ] ifFalse:[ orgMode == OrganizerCanvas organizerModeProject ifTrue:[
+            trigger := self forceProjectGeneratorTrigger.
+        ] ifFalse:[ ((orgMode == OrganizerCanvas organizerModeClassHierarchy) 
+                  or:[orgMode == OrganizerCanvas organizerModeClassInheritance]) ifTrue:[
+"/            trigger := self forceClassHierarchyGeneratorTrigger.
+        ]]]]].
+
+        trigger notNil ifTrue:[
+            trigger value:true
+        ].
+        "/ selectedClassesHolder value:classes.
+
+        (orgMode == OrganizerCanvas organizerModeClassHierarchy or:[orgMode == OrganizerCanvas organizerModeHierarchy]) ifTrue:[
+            classHierarchyListSlaveMode value:false.
+        ].
+        (orgMode == OrganizerCanvas organizerModeClassInheritance) ifTrue:[
+            classInheritanceListSlaveMode value:false.
+        ].
+        (orgMode == OrganizerCanvas organizerModeClassInheritance 
+        or:[orgMode == OrganizerCanvas organizerModeClassHierarchy 
+        or:[orgMode == OrganizerCanvas organizerModeHierarchy]])
+        ifFalse:[
+            classListSlaveMode value:false.
+        ].
+        (orgMode == OrganizerCanvas organizerModeCategory) ifTrue:[
+            categoryListSlaveMode value:false.
+        ].
+        (orgMode == OrganizerCanvas organizerModeNamespace) ifTrue:[
+            namespaceListSlaveMode value:false.
+        ].
+        (orgMode == OrganizerCanvas organizerModeProject) ifTrue:[
+            projectListSlaveMode value:false.
+        ].
+        (orgMode == OrganizerCanvas organizerModePackageDiagram) ifTrue:[
+            "/
+            self selectedProjects value isEmptyOrNil ifTrue:[
+                self updateProjectSelectionFromClasses.
+            ].
+        ].
+
+        ^ self
+    ].
+
+    changedObject == selectedClasses ifTrue:[
+        selectedClasses value size ~~ 0 ifTrue:[
+            (orgMode ~~ OrganizerCanvas organizerModeClassHierarchy
+            and:[ orgMode ~~ OrganizerCanvas organizerModeProject
+            and:[ orgMode ~~ OrganizerCanvas organizerModePackageDiagram ]]) ifTrue:[
+                self updateOrganizationFromChangedClass.
+            ].
+        ]
+    ].
+"/    changedObject == selectedNamespaces ifTrue:[
+"/ self halt.
+"/    ].
+    changedObject == nameSpaceFilterSelection ifTrue:[
+        selectionValue := nameSpaceFilterSelection value.
+        selectionValue size > 1 ifTrue:[
+            nameSpaceFilterSelection value:(OrderedCollection with:selectionValue first).
+            selectionValue := nameSpaceFilterSelection value.
+        ].
+        self selectedNamespaces value:selectionValue.
+        selectionValue size > 0 ifTrue:[
+            self nameSpaceFilterSelectedNameSpace setValue:selectionValue first.
+            self updateNameSpaceLabel.
+        ].
+        self nameSpaceFilter value: selectionValue.
+    ].
+    changedObject == self selectedProjects ifTrue:[
+        self breakPoint:#cg.
+        self selectedProjectsChanged.
+    ].
+    changedObject == self selectedDiagramProject ifTrue:[
+        self breakPoint:#cg.
+        self selectedProjects value:(Array with:self selectedDiagramProject value).
+        self selectedProjectsChanged.
+        ^ self
+    ].
+
+    super update:something with:aParameter from:changedObject
+
+    "Modified: / 27-04-2010 / 16:58:31 / cg"
+!
+
+updateCategorySelectionFromClasses
+    |allEntry changedEntry oldSelectedCategories categories|
+
+    allEntry := self class nameListEntryForALL.
+    changedEntry := self class nameListEntryForChanged.
+
+    categories := Set new.
+    oldSelectedCategories := self selectedCategories value.
+
+    "/ category-selection feedBack;
+    "/ if '* all *' was in its selection, keep it (to avoid updating the classList)
+    oldSelectedCategories size > 0 ifTrue:[
+        (oldSelectedCategories includes:allEntry) ifTrue:[
+            categories add:allEntry
+        ].
+        oldSelectedCategories do:[:entry | 
+            (NavigatorModel isPseudoCategory:entry) ifTrue:[
+                (oldSelectedCategories size == 1) ifTrue:[
+                    "/ don't switch to category
+                    ^ self
+                ].
+                categories add:entry
+            ].
+        ].
+    ].
+
+    (self selectedClasses value ? #()) do:[:eachSelectedClass |
+        |cat cls|
+
+        cls := eachSelectedClass theNonMetaclass.
+        cls isPrivate ifTrue:[
+            cls := cls topOwningClass.
+        ].
+        cat := cls category.   
+        categories add:cat.
+    ].
+
+    (categories conform:[:each | (self selectedCategories value ? #()) includes:each]) ifFalse:[
+        self selectedCategories value:categories.
+    ].
+
+    "Modified: / 18.2.2000 / 13:17:36 / cg"
+!
+
+updateNamespaceSelectionFromClasses
+    "invoked when switching to the namespace-organization;
+     update selected namespaces from the set of selected classes"
+
+    |allEntry classes selectedNamespaces oldSelectedNamespaces|
+
+    allEntry := self class nameListEntryForALL.
+
+    classes := self selectedClasses value.
+    classes isEmptyOrNil ifTrue:[
+        |categories includesAll|
+
+        categories := self selectedCategories value.
+        categories notEmptyOrNil ifTrue:[
+            includesAll := categories includes:BrowserList nameListEntryForALL.
+            classes :=  Smalltalk allClassesForWhich:[:aClass |
+                (includesAll or:[categories includes:aClass category]).
+            ].
+        ].
+    ].
+    classes notEmptyOrNil ifTrue:[
+        selectedNamespaces := self selectedNamespaces value.
+        oldSelectedNamespaces := (selectedNamespaces ? #()) asSet.
+        selectedNamespaces := Set new.
+
+        "/ namespace-selection feedBack;
+        "/ if '* all *' was in its selection, keep it (to avoid updating the classList)
+"/        (oldSelectedNamespaces includes:allEntry) ifTrue:[
+"/            selectedNamespaces add:allEntry.
+"/        ].
+        selectedNamespaces addAll:(classes collect:[:eachClass | eachClass theNonMetaclass topNameSpace name.]).
+
+        classes := classes copy.
+        "/ selectedNamespaces ~= oldSelectedNamespaces ifTrue:[
+            self selectedNamespaces value:selectedNamespaces.
+        "/ ].
+
+"/        (classes ~= self selectedClasses) value ifTrue:[self halt:'oops'].
+    ].
+
+    "Modified: / 10-08-2006 / 16:04:55 / cg"
+!
+
+updateOrganizationFromChangedClass
+    |orgMode selectedClassesHolder selectedClasses classHierarchyTopClassHolder commonSuperClass|
+
+    orgMode := organizerMode value.
+    selectedClassesHolder := self selectedClasses.
+    selectedClasses := selectedClassesHolder value.
+    classHierarchyTopClassHolder := self classHierarchyTopClass.
+
+    orgMode == OrganizerCanvas organizerModeCategory ifTrue:[
+        self updateCategorySelectionFromClasses.
+        ^ self.
+    ].
+    orgMode == OrganizerCanvas organizerModeNamespace ifTrue:[
+        self updateNamespaceSelectionFromClasses.
+        ^ self.
+    ].
+    orgMode == OrganizerCanvas organizerModeProject ifTrue:[
+        self updateProjectSelectionFromClasses.
+        ^ self.
+    ].
+    orgMode == OrganizerCanvas organizerModeHierarchy ifTrue:[
+        classHierarchyTopClassHolder value:nil.
+        ^ self.
+    ].
+    (orgMode == OrganizerCanvas organizerModeClassHierarchy) ifTrue:[
+"/        (selectedClasses size == 1) ifTrue:[
+"/            self classHierarchyTopClass value:selectedClasses first
+"/        ].
+        "/ classHierarchyTopClassHolder value isNil ifTrue:[
+        selectedClasses size > 0 ifTrue:[
+            commonSuperClass := selectedClasses 
+                                    inject:selectedClasses first 
+                                    into:[:commonSuperClass :thisClass | commonSuperClass commonSuperclass:thisClass ].
+            classHierarchyTopClassHolder value:commonSuperClass "selectedClasses first".
+        ].
+        "/ ].
+        ^ self.
+    ].
+    (orgMode == OrganizerCanvas organizerModeClassInheritance) ifTrue:[
+        classHierarchyTopClassHolder value:
+            ((selectedClasses size == 1) ifTrue:[selectedClasses first] ifFalse:nil).
+        ^ self.
+    ].
+    orgMode == OrganizerCanvas organizerModePackageDiagram ifTrue:[
+        self updatePackageDiagramView.
+    ].
+!
+
+updatePackageDiagramView
+    |diagramApp packages selectedClasses|
+
+    self packageDiagramShown computeValue ifTrue:[
+        diagramApp := self diagramApplicationModelHolder value.
+        selectedClasses := self selectedClasses value ? #().
+
+        packages := self selectedProjects value ? #().
+        packages isEmpty ifTrue:[
+            selectedClasses notEmptyOrNil ifTrue:[
+                packages := (selectedClasses collect:[:cls | cls package]) asSet asOrderedCollection.
+            ].
+        ].
+
+        self selectedDiagramProject value:(packages firstIfEmpty:nil) withoutNotifying:self.
+        diagramApp notNil ifTrue:[
+            self withWaitCursorDo:[
+                diagramApp
+                    packages:packages;
+                    generateDiagram;
+                    selectClasses:selectedClasses.
+            ]
+        ]
+    ].
+
+    "Modified: / 28-04-2010 / 08:16:55 / cg"
+!
+
+updateProjectSelectionFromClasses
+    "invoked when switching to the projects-organization;
+     update selected projects from the set of selected classes"
+
+    |allEntry classes selectedProjects oldSelectedProjects categories|
+
+    allEntry := self class nameListEntryForALL.
+
+    selectedProjects := self selectedProjects value.
+    oldSelectedProjects := (selectedProjects ? #()) asSet.
+
+    variableFilter value:nil.
+    packageFilter value:nil.
+    nameSpaceFilter value:nil.
+
+    selectedProjects := Set new.
+    "/ project-selection feedBack;
+    "/ if '* all *' was in its selection, keep it (to avoid updating the classList)
+    (oldSelectedProjects size > 0 
+    and:[oldSelectedProjects includes:allEntry]) 
+    ifTrue:[
+        selectedProjects add:allEntry.
+    ].
+
+    classes := self selectedClasses value.
+    classes isEmptyOrNil ifTrue:[
+        classes := OrderedCollection new.
+        categories := self selectedCategories value.
+        categories notEmptyOrNil ifTrue:[
+            categories do:[:eachCategory |
+                classes addAll:(Smalltalk allClassesInCategory:eachCategory)
+            ].
+        ].
+    ].
+    classes notEmptyOrNil ifTrue:[
+        classes do:[:eachClass |
+            selectedProjects add:(eachClass package).
+            eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+                selectedProjects add:(mthd package).
+            ]
+        ].
+    ].
+
+    selectedProjects ~= oldSelectedProjects ifTrue:[
+        self selectedProjects value:selectedProjects.
+    ].
+
+    "Created: / 26-02-2000 / 01:09:13 / cg"
+    "Modified: / 22-02-2007 / 13:52:21 / cg"
+! !
+
+!OrganizerCanvas methodsFor:'forwarder operations'!
+
+copyMethods:methods toClass:cls
+    self masterApplication copyMethods:methods toClass:cls.
+!
+
+moveClasses:classes toCategory:cat
+    self masterApplication moveClasses:classes toCategory:cat
+!
+
+moveClasses:classes toProject:cat
+    self masterApplication moveClasses:classes toProject:cat
+!
+
+moveMethods:methods toClass:cls
+    self masterApplication moveMethods:methods toClass:cls.
+!
+
+moveMethods:methods toProject:package
+    self masterApplication moveMethods:methods toProject:package.
+! !
+
+!OrganizerCanvas methodsFor:'help specs'!
+
+flyByHelpTextFor:aComponent
+    (aComponent isSameOrComponentOf:(builder componentAt:#NameSpaceFilterComboBox)) ifTrue:[
+        ^ resources string:'Namespace filter'
+    ].
+    ^ super flyByHelpTextFor:aComponent
+! !
+
+!OrganizerCanvas methodsFor:'initialize-release'!
+
+release
+    super release.
+
+    nameSpaceFilterSelection removeDependent:self.
+    organizerMode removeDependent:self.
+    selectedClasses removeDependent:self.
+! !
+
+!OrganizerCanvas methodsFor:'private'!
+
+nameSpaceListWidgetWasBuilt:widget
+    |list|
+
+    "/ sigh - cannot do this in the nameSpaceListWidget method,
+    "/ because the GUI is build late (when the menu is popped up the first time)
+    widget application immediateUpdate:true.
+    list := widget builder componentAt:#List.
+    list autoHideHorizontalScrollBar:true.
+! !
+
+!OrganizerCanvas methodsFor:'subapplications'!
+
+diagramApplicationModelHolder
+    |holder graphApp|
+
+    (holder := builder bindingAt:#diagramApplicationModelHolder) isNil ifTrue:[
+        OOM::MetricVisualizer notNil ifTrue:[
+            graphApp := OOM::MetricVisualizer new.
+            graphApp masterApplication:self.
+            graphApp selectedClassesHolder onChangeSend:#diagramClassSelectionChanged to:self.
+            graphApp showShortClassInfo:true.
+            graphApp ignoreAutoloadedClasses:true.
+            graphApp askForAutoload:false.
+
+            holder := ValueHolder new.
+            holder value:graphApp.
+            builder aspectAt:#diagramApplicationModelHolder put: holder.
+
+            self packageFilter onChangeSend:#packageFilterChanged to:self.
+        ].
+    ].
+    ^ holder
+! !
+
+!OrganizerCanvas class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.50 2012-11-03 11:43:46 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.50 2012-11-03 11:43:46 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_ProjectList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,973 @@
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+	      All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+BrowserList subclass:#ProjectList
+	instanceVariableNames:'projectList projectNameList selectionIndexHolder worker
+		workerQueue includedPseudoEntryForChanged'
+	classVariableNames:'AdditionalEmptyProjects HideModules'
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!ProjectList class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+	      All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    I implement the project list in the new system browser
+"
+! !
+
+!ProjectList class methodsFor:'interface specs'!
+
+singleProjectWindowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:ClassCategoryList andSelector:#singleCategoryWindowSpec
+     ClassCategoryList new openInterface:#singleCategoryWindowSpec
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+	#name: #singleProjectWindowSpec
+	#window: 
+       #(#WindowSpec
+	  #label: 'ProjectList'
+	  #name: 'ProjectList'
+	  #min: #(#Point 0 0)
+	  #max: #(#Point 1024 721)
+	  #bounds: #(#Rectangle 218 175 518 475)
+	)
+	#component: 
+       #(#SpecCollection
+	  #collection: #(
+	   #(#LabelSpec
+	      #label: 'ProjectName'
+	      #name: 'ProjectLabel'
+	      #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
+	      #translateLabel: true
+	      #labelChannel: #projectLabelHolder
+	      #menu: #menuHolder
+	    )
+	   )
+
+	)
+      )
+!
+
+windowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:ProjectList andSelector:#windowSpec
+     ProjectList new openInterface:#windowSpec
+     ProjectList open
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+        #name: #windowSpec
+        #window: 
+       #(#WindowSpec
+          #label: 'ProjectList'
+          #name: 'ProjectList'
+          #min: #(#Point 0 0)
+          #bounds: #(#Rectangle 13 23 313 323)
+        )
+        #component: 
+       #(#SpecCollection
+          #collection: #(
+           #(#SequenceViewSpec
+              #name: 'List'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #tabable: true
+              #model: #selectionIndexHolder
+              #menu: #menuHolder
+              #hasHorizontalScrollBar: true
+              #hasVerticalScrollBar: true
+              #miniScrollerHorizontal: true
+              #isMultiSelect: true
+              #valueChangeSelector: #selectionChangedByClick
+              #useIndex: true
+              #sequenceList: #projectNameList
+              #doubleClickChannel: #doubleClickChannel
+              #properties: 
+             #(#PropertyListDictionary
+                #dragArgument: nil
+                #dropArgument: nil
+                #canDropSelector: #canDropContext:
+                #dropSelector: #doDropContext:
+              )
+            )
+           )
+
+        )
+      )
+
+    "Created: / 17.2.2000 / 23:45:47 / cg"
+    "Modified: / 17.2.2000 / 23:47:53 / cg"
+! !
+
+!ProjectList class methodsFor:'queries-plugin'!
+
+aspectSelectors
+    ^ #( 
+	#(#doubleClickChannel #action )
+	immediateUpdate 
+	selectedProjects 
+	menuHolder 
+	outGeneratorHolder 
+	inGeneratorHolder 
+	selectionChangeCondition
+	updateTrigger
+	forceGeneratorTrigger
+	hideUnloadedClasses
+	organizerMode
+	slaveMode
+       )
+
+    "Created: / 17.2.2000 / 23:46:18 / cg"
+    "Modified: / 25.2.2000 / 22:32:10 / cg"
+! !
+
+!ProjectList methodsFor:'accessing'!
+
+includedPseudoEntryForChanged:something
+    includedPseudoEntryForChanged := something.
+! !
+
+!ProjectList methodsFor:'aspects'!
+
+itemList
+    ^ self projectList value
+!
+
+projectLabelHolder
+    ^ self pseudoListLabelHolder
+!
+
+projectList
+    projectList isNil ifTrue:[
+	projectList := ValueHolder new.
+	projectList addDependent:self.
+    ].
+    ^ projectList
+
+    "Created: / 17.2.2000 / 23:39:32 / cg"
+!
+
+projectNameList
+    projectNameList isNil ifTrue:[
+        projectNameList := ValueHolder new.
+        "/ projectNameList addDependent:self.
+    ].
+    ^ projectNameList
+
+    "Created: / 17.2.2000 / 23:39:32 / cg"
+!
+
+selectedProjects
+    ^ self selectionHolder
+
+    "Created: / 17.2.2000 / 23:39:57 / cg"
+!
+
+selectedProjects:aValueHolder
+    ^ self selectionHolder:aValueHolder
+!
+
+selectionIndexHolder
+    selectionIndexHolder isNil ifTrue:[
+        selectionIndexHolder := 0 asValue.
+        selectionIndexHolder addDependent:self.
+    ].
+    ^ selectionIndexHolder
+
+    "Created: / 17.2.2000 / 23:39:32 / cg"
+! !
+
+!ProjectList methodsFor:'change & update'!
+
+delayedUpdate:something with:aParameter from:changedObject
+    |cls sel pkg mthd newSel allIdx|
+
+    self inSlaveModeOrInvisible 
+    "/ (self slaveMode value == true) 
+    ifTrue:[
+        (changedObject == Smalltalk
+        or:[ something == #projectOrganization ]) ifTrue:[ 
+            listValid := false
+        ].
+        ^ self
+    ].
+
+    changedObject == self selectionIndexHolder ifTrue:[
+        listValid ifFalse:[
+             self updateList.
+        ].
+        newSel := changedObject value collect:[:idx | projectList value at:idx].
+        newSel ~= self selectedProjects value ifTrue:[
+            self selectedProjects value:newSel.
+        ].
+        ^ self.
+    ].
+    changedObject == self selectionHolder ifTrue:[
+        listValid ifFalse:[
+             self updateList.
+        ].
+        allIdx := projectList value indexOf:(self class nameListEntryForALL).
+        newSel := changedObject value 
+                        collect:[:val | |i|
+                                        i := projectList value indexOf:val.
+                                        i == 0 ifTrue:[allIdx] ifFalse:[i]]
+                        thenSelect:[:idx | idx ~~ 0].
+        newSel ~= self selectionIndexHolder value ifTrue:[
+            self selectionIndexHolder value:newSel
+        ].
+    ].
+
+    changedObject == slaveMode ifTrue:[
+        listValid ~~ true ifTrue:[
+            self enqueueDelayedUpdateList
+        ].
+        "/ self invalidateList.
+        ^  self
+    ].
+
+    changedObject == self projectList ifTrue:[
+        ^  self
+    ].
+
+    changedObject == Smalltalk ifTrue:[
+        something == #projectOrganization ifTrue:[
+            self invalidateList.
+            self enqueueDelayedUpdateOutputGenerator.
+            ^ self.
+        ].
+        something == #methodInClass ifTrue:[
+            listValid == true ifTrue:[
+                cls := aParameter at:1.
+                sel := aParameter at:2.
+                mthd := cls compiledMethodAt:sel.
+                mthd notNil ifTrue:[
+                    pkg := mthd package.
+                    (projectList value includes:pkg) ifFalse:[
+                        self invalidateList.
+                    ]
+                ].
+            ].
+            ^ self
+        ].
+
+        (something == #classDefinition
+        or:[something == #newClass]) ifTrue:[
+            listValid == true ifTrue:[
+                cls := aParameter.
+                pkg := cls package.
+                (projectList value includes:pkg) ifFalse:[
+                    self invalidateList.
+                ] ifTrue:[
+                    self enqueueDelayedUpdateOutputGenerator
+                ].
+            ] ifFalse:[
+                self invalidateList
+            ].
+            ^ self
+        ].
+        (something == #classRemove) ifTrue:[
+            listValid == true ifTrue:[
+                cls := aParameter.
+                pkg := cls package.
+            ].
+        ].
+        ^ self
+    ].
+
+"/    something == #projectOrganization ifTrue:[
+"/        aParameter isSymbol ifTrue:[
+"/                    "/ a single method has changed
+"/"/                    sel := aParameter.
+"/"/                    mthd := changedObject compiledMethodAt:sel.
+"/            self enqueueDelayedUpdateOutputGenerator.
+"/        ].
+"/        ^ self
+"/    ].
+
+    changedObject == ChangeSet ifTrue:[
+        self invalidateList.
+        ^ self
+    ].
+
+    (organizerMode notNil
+    and:[organizerMode value ~~ #project]) ifTrue:[
+        self invalidateList.
+        ^ self
+    ].
+    super delayedUpdate:something with:aParameter from:changedObject
+
+    "Created: / 17-02-2000 / 23:41:02 / cg"
+    "Modified: / 17-10-2006 / 18:43:40 / cg"
+!
+
+selectionChangedByClick
+    "we are not interested in that - get another notification
+     via the changed valueHolder"
+
+    "Created: / 17.2.2000 / 23:41:17 / cg"
+!
+
+update:something with:aParameter from:changedObject
+
+    (self builder isNil or:[self window topView realized not]) ifTrue:[
+        self makeIndependent
+    ].
+
+    changedObject == Smalltalk ifTrue:[
+        something == #methodDictionary ifTrue:[
+            ^ self 
+        ].
+        something == #methodTrap ifTrue:[
+            ^ self
+        ].
+        something == #methodCoverageInfo ifTrue:[
+            ^ self
+        ].
+        something == #methodInClass ifTrue:[
+            ^ self
+        ].
+        something == #classVariables ifTrue:[
+            ^ self
+        ].
+        something == #classComment ifTrue:[
+            ^ self.
+        ].
+        something == #methodInClassRemoved ifTrue:[
+            ^ self.
+        ].
+    ].
+    super update:something with:aParameter from:changedObject
+
+    "Modified: / 20-07-2011 / 18:54:39 / cg"
+! !
+
+!ProjectList methodsFor:'drag & drop'!
+
+canDropContext:aDropContext
+    |objects package|
+
+    objects := aDropContext dropObjects collect:[:obj | obj theObject].
+
+    (self objectsAreClassFiles:objects) ifTrue:[^ true].
+
+    (objects conform:[:aMethodOrClass | (aMethodOrClass isMethod or:[aMethodOrClass isClass]) ]) ifFalse:[^ false].
+
+    package := self packageAtTargetPointOf:aDropContext.
+    package isNil ifTrue:[^ false].
+
+    (objects contains:[:aMethodOrClass | aMethodOrClass package ~= package]) ifFalse:[^ false].
+    ^ true
+
+    "Modified: / 17-10-2006 / 18:30:32 / cg"
+!
+
+doDropContext:aDropContext
+    |package objects methods classes|
+
+    objects := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
+    (objects conform:[:something | (something isMethod or:[something isClass])]) ifTrue:[
+        methods := objects select:[:something | something isMethod].
+        classes := objects select:[:something | something isClass].
+
+        package := self packageAtTargetPointOf:aDropContext.
+        package notNil ifTrue:[
+            methods notEmpty ifTrue:[
+                self masterApplication moveMethods:methods toProject:package.
+            ].
+            classes notEmpty ifTrue:[
+                self masterApplication moveClasses:classes toProject:package.
+            ]
+        ].
+        ^ self
+    ].
+
+    (objects conform:[:something | something isFilename]) ifTrue:[
+        |p|
+
+        p := (self selectedProjects value ? #()) firstIfEmpty:PackageId noProjectID.
+
+        Class packageQuerySignal answer:p
+        do:[
+            self dropClassFiles:objects.
+        ].
+        ^ self
+    ].
+
+    "Modified: / 17-10-2006 / 18:34:43 / cg"
+!
+
+packageAtTargetPointOf:aDropContext
+    |p packageListView lineNr item package dropInfo now 
+     overItem timeOverItem|
+
+    p := aDropContext targetPoint.
+
+    packageListView := aDropContext targetWidget.
+
+    dropInfo := aDropContext dropInfo.
+
+    lineNr := packageListView yVisibleToLineNr:p y.
+    lineNr isNil ifTrue:[^ nil].
+
+    item := projectList value at:lineNr.
+    item isNil ifTrue:[^ nil].
+    item isString ifTrue:[^ item asSymbol].
+
+    item canExpand ifTrue:[
+        now := Timestamp now.
+        overItem := dropInfo at:#overItem ifAbsentPut:item.
+        timeOverItem := dropInfo at:#timeOverItem ifAbsentPut:[now].
+
+        overItem ~~ item ifTrue:[
+            dropInfo at:#timeOverItem put:now.
+            dropInfo at:#overItem put:item.
+            aDropContext passiveAction:[ self packageAtTargetPointOf:aDropContext ].
+        ] ifFalse:[
+            (now millisecondDeltaFrom:timeOverItem) >= (UserPreferences current timeToAutoExpandItemsWhenDraggingOver) ifTrue:[
+                aDropContext saveDraw:[ item expand. packageListView repairDamage ].
+                dropInfo removeKey:#timeOverItem.
+                dropInfo removeKey:#overItem.
+            ] ifFalse:[
+                aDropContext passiveAction:[ self packageAtTargetPointOf:aDropContext ].
+            ]
+        ].
+    ].
+
+    package := item package.
+    package = self class nameListEntryForALL ifTrue:[^ nil].
+    ^ package.
+
+    "Modified: / 18-11-2006 / 16:13:47 / cg"
+! !
+
+!ProjectList methodsFor:'generators'!
+
+makeGenerator
+    "return a generator which enumerates the classes from the selected project(s)."
+
+    |selectedPackages thePackage hideUnloadedClasses showChangedClasses|
+
+    selectedPackages := self selectedProjects value.
+    selectedPackages size == 0 ifTrue:[
+        ^ #()
+    ].
+    selectedPackages := selectedPackages collect:[:p | p string withoutSeparators].
+
+    showChangedClasses := selectedPackages includes:(self class nameListEntryForChanged).
+    hideUnloadedClasses := self hideUnloadedClasses value.
+
+    (selectedPackages includes:(self class nameListEntryForALL)) ifTrue:[
+        hideUnloadedClasses ifTrue:[
+            ^ Iterator on:[:whatToDo |
+                               Smalltalk allClassesDo:[:cls |
+                                   cls isLoaded ifTrue:[
+                                       cls isRealNameSpace ifFalse:[
+                                           whatToDo value:cls
+                                       ]
+                                   ]
+                               ]
+                          ]
+        ].
+        ^ Iterator on:[:whatToDo |
+                           Smalltalk allClassesDo:[:cls |
+                               cls isRealNameSpace ifFalse:[
+                                   whatToDo value:cls
+                               ]
+                           ]
+                      ]
+    ].
+
+    selectedPackages size == 1 ifTrue:[
+        "/ faster common case
+        thePackage := selectedPackages first.
+
+        ^ Iterator on:[:whatToDo | 
+                           |changedClasses|
+
+                           showChangedClasses ifTrue:[ changedClasses := ChangeSet current changedClasses ].
+
+                           Smalltalk allClassesDo:[:cls |
+                               |doInclude|
+
+                               (hideUnloadedClasses not or:[cls isLoaded])
+                               ifTrue:[
+                                   cls isRealNameSpace ifFalse:[
+                                       doInclude := (thePackage = cls package).
+                                       doInclude ifFalse:[
+                                            cls isJavaClass ifFalse:[
+                                               doInclude := (cls methodDictionary contains:[:mthd | thePackage = mthd package])
+                                                            or:[ cls class methodDictionary contains:[:mthd | thePackage = mthd package]].
+                                            ].
+                                            doInclude ifFalse:[
+                                                (showChangedClasses and:[ (changedClasses includes:cls theNonMetaclass)
+                                                                        or:[(changedClasses includes:cls theMetaclass)] ]) ifTrue:[
+                                                    doInclude := true
+                                                ].
+                                            ].
+                                       ].
+                                       doInclude ifTrue:[
+                                           whatToDo value:cls
+                                       ]
+                                   ]
+                               ]
+                           ]
+                      ]
+    ].
+
+    ^ Iterator on:[:whatToDo | 
+                       |changedClasses|
+
+                       showChangedClasses ifTrue:[ changedClasses := ChangeSet current changedClasses ].
+
+                       Smalltalk allClassesDo:[:cls |
+                           |doInclude|
+
+                           (hideUnloadedClasses not or:[cls isLoaded])
+                           ifTrue:[
+                               cls isRealNameSpace ifFalse:[
+                                   doInclude := (selectedPackages includes:cls package).
+                                   doInclude ifFalse:[
+                                        cls isJavaClass ifFalse:[
+                                           doInclude := (cls methodDictionary contains:[:mthd | selectedPackages includes:mthd package])
+                                                        or:[ cls class methodDictionary contains:[:mthd | selectedPackages includes:mthd package]].
+                                           doInclude ifFalse:[
+                                               (showChangedClasses and:[ (changedClasses includes:cls theNonMetaclass)
+                                                                       or:[(changedClasses includes:cls theMetaclass)] ]) ifTrue:[
+                                                   doInclude := true
+                                               ].
+                                           ].
+
+                                        ]
+                                   ].
+                                   doInclude ifTrue:[
+                                       whatToDo value:cls
+                                   ]
+                               ]
+                           ]
+                       ]
+                  ]
+
+    "Created: / 17-02-2000 / 23:49:37 / cg"
+    "Modified: / 10-11-2006 / 17:15:15 / cg"
+! !
+
+!ProjectList methodsFor:'initialize-release'!
+
+commonPostBuild
+    super commonPostBuild.
+    listValid ifFalse:[
+        self enqueueDelayedUpdateList.
+    ]. 
+!
+
+commonPostOpen
+    super commonPostOpen.
+    listValid ifFalse:[
+        self enqueueDelayedUpdateList.
+    ]. 
+!
+
+initialize
+
+    super initialize.
+    workerQueue := SharedQueue new.
+    includedPseudoEntryForChanged := true.
+
+    "Created: / 14-12-2010 / 15:41:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+release
+    super release.
+
+    projectList removeDependent:self.
+! !
+
+!ProjectList methodsFor:'private'!
+
+allShownProjects
+    |hideUnloaded allProjects projectBag generator addWithAllParentPackages hideModules|
+
+    hideModules := HideModules ? true.
+    hideModules := HideModules ? false.
+
+    allProjects := IdentitySet new.
+    projectBag := Bag new.
+
+    inGeneratorHolder isNil ifTrue:[
+        hideUnloaded := self hideUnloadedClasses value.
+
+        addWithAllParentPackages := 
+            [:package |
+                |p parent module|
+
+                (allProjects includes:package) ifFalse:[
+                    allProjects add:package.
+                    (package ~= PackageId noProjectID 
+                    and:[package ~= #private]) ifTrue:[
+                        p := package asPackageId.
+                        [(parent := p parentPackage) notNil] whileTrue:[
+                            allProjects add:parent asSymbol.
+                            p := parent.
+                        ].
+                        hideModules ifFalse:[
+                            (module := p module) notNil ifTrue:[
+                                allProjects add:module asSymbol.
+                            ].
+                        ].
+                    ].
+                ].
+            ].
+
+        Smalltalk allClassesDo:[:eachClass |
+            |cls pkg p classPackage|
+
+            eachClass isRealNameSpace ifFalse:[
+
+                (hideUnloaded not or:[eachClass isLoaded]) ifTrue:[
+                    cls := eachClass theNonMetaclass.
+                    cls isPrivate ifTrue:[
+                        cls := cls topOwningClass
+                    ].
+
+                    classPackage := cls package ? (PackageId noProjectID).
+                    classPackage size > 0 ifTrue:[
+                        classPackage := classPackage asSymbol.
+                        addWithAllParentPackages value:classPackage.
+                        projectBag add:classPackage.
+                    ] ifFalse:[
+                        "/ for now, nameSpaces are not in any package;
+                        "/ this might change. Then, 0-sized packages are
+                        "/ illegal, and the following should be enabled.
+                        "/ self halt
+                    ].
+
+                    cls isJavaClass ifFalse:[
+                        cls instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+                            |mpkg|
+
+                            mpkg := mthd package asSymbol.
+                            mpkg ~~ classPackage ifTrue:[   
+                                (allProjects includes:mpkg) ifFalse:[
+                                    addWithAllParentPackages value:mpkg.
+                                ]
+                            ].
+                        ].
+                    ].
+                ].
+            ].
+        ].
+        allProjects := allProjects asOrderedCollection.
+
+        "/ those are simulated - in ST/X, empty projects do not
+        "/ really exist; however, during browsing, it makes sense.
+        AdditionalEmptyProjects size > 0 ifTrue:[
+            "/ remove those that are present ...
+            AdditionalEmptyProjects := AdditionalEmptyProjects select:[:pkg | (allProjects includes:pkg) not].
+            allProjects addAll:AdditionalEmptyProjects.
+        ].
+    ] ifFalse:[
+        generator := inGeneratorHolder value.
+        generator isNil ifTrue:[^ #() ].
+        generator do:[:prj | allProjects add:prj].
+    ].
+    ^ allProjects asOrderedCollection.
+
+    "Modified: / 16-01-2007 / 15:56:16 / cg"
+!
+
+defaultSlaveModeValue
+    |mode|
+
+    mode := self topApplication perform:#initialOrganizerMode ifNotUnderstood:nil.
+    mode == OrganizerCanvas organizerModeProject ifTrue:[^ false].
+    mode isNil ifTrue:[^ false].
+    ^ true
+!
+
+initialOrganizerMode
+    ^ OrganizerCanvas organizerModeProject
+!
+
+listOfProjects
+    |allProjects numClassesInChangeSet|
+
+    allProjects := self allShownProjects copyAsOrderedCollection.
+    allProjects sort.
+
+    allProjects size == 1 ifTrue:[
+        "/ self projectLabelHolder value:(allProjects first , ' [Project]').
+        self projectLabelHolder value:(LabelAndIcon icon:(self class packageIcon) string:allProjects first).
+    ].
+
+    includedPseudoEntryForChanged ifTrue:[
+        numClassesInChangeSet := ChangeSet current changedClasses size.
+        numClassesInChangeSet > 0 ifTrue:[
+            "/ don't include count - makeGenerator compares against the un-expanded nameListEntry (sigh - need two lists)
+            allProjects addFirst:((self class nameListEntryForChanged "bindWith:numClassesInChangeSet") allItalic).
+        ].
+    ].
+
+    allProjects size > 1 ifTrue:[
+        allProjects addFirst:(self class nameListEntryForALL allItalic).
+    ].
+
+    ^ allProjects
+
+    "Created: / 17-02-2000 / 23:43:05 / cg"
+    "Modified: / 17-08-2006 / 15:08:42 / cg"
+!
+
+makeDependent
+    Smalltalk addDependent:self.
+    ChangeSet addDependent:self.
+!
+
+makeIndependent
+    Smalltalk removeDependent:self.
+    ChangeSet removeDependent:self.
+!
+
+markEntry: rawEntry at: index forBeingManagedBySVN: package
+    ^ rawEntry.
+
+    (ConfigurableFeatures includesFeature: #SubversionSupportEnabled) ifFalse:[^rawEntry].
+    package = PackageId noProjectID ifTrue:[^rawEntry].
+
+"/    workerQueue 
+"/        nextPut:[
+"/            | repo newEntry branch mark|
+"/            "/ use Smalltalk-at to trick the dependency/prerequisite generator
+"/            repo := (Smalltalk at:#SVN::RepositoryManager) current 
+"/                        repositoryForPackage: package onlyFromCache: false.
+"/            repo ifNotNil:[
+"/                mark := ' [SVN]'.
+"/                branch := repo workingCopy branchOrNil.
+"/                branch ifNotNil:[mark := ' [SVN: ', branch path,']'].
+"/                newEntry := rawEntry , (mark asText colorizeAllWith: Color gray).
+"/                self projectNameList value at: index put: newEntry.
+"/                self projectNameList changed.
+"/            ]].
+    ^rawEntry
+
+    "Created: / 14-12-2010 / 15:59:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 15-01-2012 / 13:17:30 / cg"
+    "Modified: / 19-01-2012 / 10:46:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+nameListFor:aProjectList
+    "
+     self basicNew
+         nameListFor:#(
+            'exept:expecco'
+            'exept:expecco/application'
+            'exept:procware'
+            'exept:workflow'
+        )
+
+     self basicNew
+         nameListFor:#(
+            'exept'
+            'exept:expecco'
+            'exept:expecco/application'
+            'exept:procware'
+            'exept:workflow'
+        )
+    "
+
+    |stack projectsWithExtensions projectsWithChangedCode packagesInChangeSet projectNameList|
+
+    stack := OrderedCollection new.
+
+    projectsWithExtensions := Set new.
+    projectsWithChangedCode := Set new.
+
+    packagesInChangeSet := ChangeSet current changedPackages.
+
+    projectNameList := OrderedCollection new.
+    aProjectList do:[:this |
+        |thisC entry rawEntry prefix indent|
+
+        this = self class nameListEntryForALL ifTrue:[
+            entry := this
+        ] ifFalse:[
+            thisC := this asCollectionOfSubstringsSeparatedByAny:':/'.
+            thisC isEmpty ifTrue:[
+                thisC := Array with:(PackageId noProjectID).
+            ].
+
+            [
+                |stackTop|
+
+                stack notEmpty
+                and:[
+                    stackTop := stack last.
+                    (thisC startsWith:stackTop) ifFalse:[
+                        stack removeLast.
+                        true
+                    ] ifTrue:[
+                        false
+                    ]]
+            ] whileTrue.
+            prefix := stack notEmpty ifTrue:[ stack last ] ifFalse:[ #() ].
+            indent := stack size * 4.
+            stack addLast:thisC.
+            prefix isEmpty ifTrue:[
+                rawEntry := thisC first.
+                thisC size > 1 ifTrue:[
+                    rawEntry := rawEntry , ':' , ((thisC copyFrom:2) asStringWith:$/).
+                ]
+            ] ifFalse:[
+                rawEntry := (thisC copyFrom:prefix size+1) asStringWith:$/.
+            ].
+
+            (packagesInChangeSet includes:this) ifTrue:[
+                rawEntry := rawEntry , self class markForBeingInChangeList.
+                rawEntry := self colorizeForChangedCode:rawEntry.
+            ].
+        
+            entry := (String new:indent) , rawEntry.
+            ((ConfigurableFeatures includesFeature: #SubversionSupportEnabled) and:[this first ~= $*]) ifTrue:[
+                entry := self markEntry: entry at: projectNameList size + 1 forBeingManagedBySVN: this.
+            ].
+        ].
+        projectNameList add:entry.
+    ].
+    self startWorker.        
+    ^ projectNameList.
+
+    "Created: / 17-02-2000 / 23:43:05 / cg"
+    "Modified: / 07-09-2011 / 10:45:05 / cg"
+    "Modified: / 19-01-2012 / 10:46:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+startWorker
+
+    worker ifNil:
+        [worker := 
+            [[workerQueue notEmpty ] whileTrue:
+                [| job |
+                job := workerQueue next.
+                job value].
+            worker := nil.
+            ] newProcess.
+        worker resume].
+
+    "Created: / 14-12-2010 / 15:49:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-12-2010 / 17:35:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+updateList
+    |newList oldList newNameList oldNameList oldSelection newSelection selectedProjectsHolder|
+
+    selectedProjectsHolder := self selectedProjects.
+    oldSelection := selectedProjectsHolder value.
+    newList := self listOfProjects.
+    oldList := projectList value.
+    newNameList := self nameListFor:newList.
+    oldNameList := self projectNameList value.
+    (newList ~= oldList
+    or:[ newNameList ~= oldNameList]) ifTrue:[
+"/        oldSelection size > 0 ifTrue:[
+"/            selectedProjectsHolder removeDependent:self.
+"/            selectedProjectsHolder value:#().
+"/            selectedProjectsHolder addDependent:self.
+"/        ].
+
+        self projectList value:newList.
+        listValid := true.
+        self projectNameList value:newNameList.
+
+        oldSelection size > 0 ifTrue:[
+            newSelection := oldSelection select:[:prj | newList includes:prj].
+            selectedProjectsHolder value:newSelection.
+        ]
+    ].
+    listValid := true.
+
+    "Modified: / 25.2.2000 / 23:10:01 / cg"
+! !
+
+!ProjectList methodsFor:'special'!
+
+addAdditionalProject:aProject
+    "/ those are simulated - in ST/X, empty projects do not
+    "/ really exist; however, during browsing, it makes sense.
+    AdditionalEmptyProjects isNil ifTrue:[
+        AdditionalEmptyProjects := Set new.
+    ].
+    AdditionalEmptyProjects add:aProject.
+
+    Smalltalk changed:#projectOrganization   "/ not really ... to force update
+
+    "Created: / 17.2.2000 / 23:44:27 / cg"
+!
+
+removeAdditionalProjects:aListOfProjects
+    "/ those are simulated - in ST/X, empty categories do not
+    "/ really exist; however, during browsing, it makes sense.
+    AdditionalEmptyProjects notNil ifTrue:[
+	aListOfProjects do:[:eachProject |
+	    AdditionalEmptyProjects remove:eachProject ifAbsent:nil.
+	].
+    ].
+    Smalltalk changed:#projectOrganization   "/ not really ... to force update
+
+    "Created: / 17.2.2000 / 23:45:24 / cg"
+! !
+
+!ProjectList class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ProjectList.st,v 1.56 2012-12-13 18:39:32 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ProjectList.st,v 1.56 2012-12-13 18:39:32 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_SearchDialog.st	Wed Jan 30 11:15:09 2013 +0000
@@ -0,0 +1,1393 @@
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+	      All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+DialogBox subclass:#SearchDialog
+	instanceVariableNames:'openHow classes methods selectedClasses selectedCategories
+		selectedMethods selectedPackages currentClass currentNamespace
+		currentClassCategory currentPackage browser whereRadioGroup
+		currentPanel searchAreas caseHolder matchHolder isMethodHolder
+		codeField selectorHolder defaultOpenHow withTextEntry allowFind
+		allowBuffer allowBrowser searchWhat searchClassProtocolHolder
+		searchInstanceProtocolHolder selectorOrCode selectionList
+		listHolder matchProcess inputField showMetaFilter
+		metaclassesOnlyHolder classesOnlyHolder'
+	classVariableNames:'LastCodeSearched LastCodeSearchWasMethod LastGlobalSearched
+		LastStringSearched LastSearchWasMatch LastSearchWasCaseSensitive
+		LastStringSearchArea LastCodeSearchArea AREA_LISTOFMETHODS
+		LastResourceSearched'
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!SearchDialog class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2000 by eXept Software AG
+	      All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
+
+!SearchDialog class methodsFor:'initialization'!
+
+initialize
+    AREA_LISTOFMETHODS := #listOfMethods
+
+    "Created: / 19-11-2010 / 12:00:18 / cg"
+! !
+
+!SearchDialog class methodsFor:'constants'!
+
+constantForListOfMethodsArea
+    ^ AREA_LISTOFMETHODS
+
+    "Created: / 19-11-2010 / 12:11:50 / cg"
+! !
+
+!SearchDialog class methodsFor:'queries'!
+
+lastCodeSearchArea
+    ^ LastCodeSearchArea
+!
+
+lastStringSearchArea
+    ^ LastStringSearchArea
+! !
+
+!SearchDialog methodsFor:'accessing'!
+
+showMetaFilter:something
+    showMetaFilter := something.
+! !
+
+!SearchDialog methodsFor:'accessing-entered values'!
+
+classesOnly
+    ^ (classesOnlyHolder ? false) value
+
+    "Created: / 20-08-2012 / 13:25:26 / cg"
+!
+
+classesToSearch
+    ^ classes.
+!
+
+codeToSearch
+    ^ selectorOrCode.
+!
+
+matchMethods
+    ^ isMethodHolder value ? false.
+!
+
+metaclassesOnly
+    ^ (metaclassesOnlyHolder ? false) value
+
+    "Created: / 20-08-2012 / 13:17:12 / cg"
+!
+
+methodsToSearch
+    ^ methods.
+!
+
+openHow
+    ^ openHow.
+!
+
+searchIgnoringCase
+    ^ self searchIsCaseSensitive not
+!
+
+searchIsCaseSensitive
+    ^ (caseHolder value ? false)
+!
+
+searchWithMatch
+    ^ matchHolder value ? false.
+!
+
+selectorToSearch
+    ^ selectorOrCode.
+! !
+
+!SearchDialog methodsFor:'obsolete'!
+
+addCheckBoxForClassMethodSearch
+    |b|
+
+    b := CheckBox label:(resources string:'Class Protocol').
+    b model:(self searchClassProtocolHolder).
+    currentPanel add:b.
+    ^ b.
+!
+
+addCheckBoxForInstanceMethodSearch
+    |b|
+
+    b := CheckBox label:(resources string:'Instance Protocol').
+    b model:(self searchInstanceProtocolHolder).
+    currentPanel add:b.
+    ^ b.
+! !
+
+!SearchDialog methodsFor:'private'!
+
+searchClassProtocolHolder
+    searchClassProtocolHolder isNil ifTrue:[
+        searchClassProtocolHolder := true asValue
+    ].
+    ^ searchClassProtocolHolder
+!
+
+searchInstanceProtocolHolder
+    searchInstanceProtocolHolder isNil ifTrue:[
+        searchInstanceProtocolHolder := true asValue
+    ].
+    ^ searchInstanceProtocolHolder
+!
+
+showHelpOnCodePatterns
+    HTMLDocumentView openFullOnHelpFile:'Browser/RBSearchPatterns.html'
+!
+
+updateListOfMatchingSelectorsFor:s
+    |p|
+
+    (p := matchProcess) notNil ifTrue:[
+        p terminate.
+    ].
+    listHolder isNil ifTrue:[^ self].
+
+    matchProcess := 
+        [
+            |what matching|
+
+            [
+                searchWhat == #globalName ifFalse:[ 
+                    what := DoWhatIMeanSupport selectorCompletion:s inEnvironment:Smalltalk match:(matchHolder value) ignoreCase:(caseHolder value not)
+                ] ifTrue:[ 
+                    what := DoWhatIMeanSupport globalNameCompletion:s inEnvironment:Smalltalk match:(matchHolder value).
+                ].
+                "/ best := what first.
+                matching := what second.
+                self sensor pushAction:[ listHolder contents:matching ].
+            ] ensure:[
+                matchProcess := nil.
+            ].
+        ] fork.
+
+    "Modified: / 26-10-2010 / 20:33:05 / cg"
+! !
+
+!SearchDialog methodsFor:'public'!
+
+addTextEntryWithCaseIgnore:withCaseIgnore withMatch:withMatch 
+    matchHolder := caseHolder := nil.
+
+    searchWhat == #code ifTrue:[
+        self addTextEntryFieldForCode.
+        ^ self.
+    ].
+
+    self addInputFieldForSelectorOrNameOrString.
+    withCaseIgnore ifTrue:[
+        self 
+            addCheckBox:(resources string:'Case Sensitive')
+            on:(caseHolder := (LastSearchWasCaseSensitive ? false) asValue).
+    ].
+    withMatch ifTrue:[
+        self 
+            addCheckBox:(resources string:'Match')
+            on:(matchHolder := (LastSearchWasMatch ? true) asValue).
+"/                (isSelector and:[ sel notNil. ]) ifTrue:[ 
+"/                    sel includesMatchCharacters ifTrue:[ 
+"/                        matchHolder value:false.
+"/                    ].
+"/                ].
+    ]
+
+    "Modified (format): / 06-07-2011 / 11:56:31 / cg"
+!
+
+askThenDo:aBlock 
+    |where code sel matchHolderValue caseHolderValue|
+
+    self beScreenDialog.                "raise it above all windows"
+    self open.
+    self accepted ifFalse:[ 
+        ^ self.
+    ].
+
+    openHow isNil ifTrue:[ 
+        openHow := defaultOpenHow.
+    ].
+    where := whereRadioGroup value.
+    withTextEntry ifTrue:[ 
+        searchWhat == #code ifTrue:[
+            code := codeField contentsAsString.
+            LastCodeSearched := code.
+            LastCodeSearchArea := where.
+        ] ifFalse:[
+            (selectionList notNil and:[selectionList hasSelection]) ifTrue:[
+                sel := selectionList selectionValue.
+            ] ifFalse:[
+                sel := selectorHolder value withoutSeparators.
+            ].
+            sel isEmptyOrNil ifTrue:[ 
+                browser warn:((searchWhat == #selector) 
+                            ifTrue:[ 'No selector entered for search'. ]
+                            ifFalse:[ 'Nothing entered for search'. ]).
+                ^ self.
+            ].
+            sel := sel string.
+
+            (browser ? SystemBrowser) rememberSearchPattern:sel.
+            searchWhat == #globalName ifTrue:[ 
+                LastGlobalSearched := sel.
+            ] ifFalse:[
+                searchWhat == #string ifTrue:[
+                    LastStringSearched := sel.
+                    LastStringSearchArea := where.
+                ] ifFalse:[
+                    (sel startsWith:'#''') ifTrue:[
+                        sel := sel copyFrom:3.
+                        (sel endsWith:$') ifTrue:[
+                            sel := sel copyWithoutLast:1.
+                        ].
+                    ].
+                ]
+            ]
+        ].
+    ].
+    where isNil ifTrue:[ 
+        (browser ? Dialog) warn:'No class(es) for search'.
+        ^ self.
+    ].
+    self getClassesAndMethodsFor:where.
+
+    (#(#classesWithPrivateClasses #classHierarchiesWithPrivateClasses #ownersWithPrivateClasses #ownersHierarchiesWithPrivateClasses) 
+        includes:where) 
+            ifTrue:[ 
+                |toSearch|
+
+                toSearch := IdentitySet withAll:classes.
+                classes := IdentitySet withAll:toSearch.
+                [ toSearch notEmpty ] whileTrue:[
+                    |cls|
+
+                    cls := toSearch removeFirst.
+                    classes addAll:cls allPrivateClasses.
+                ].
+            ].
+
+    classes size == 0 ifTrue:[
+        classes := nil.
+        methods size == 0 ifTrue:[ 
+            (browser ? Dialog) warn:'No class(es) given for search.'.
+            ^ self.
+        ].
+    ] ifFalse:[
+        classes := classes asOrderedCollection.
+        methods size ~~ 0 ifTrue:[ 
+            (browser ? Dialog) warn:'oops'.
+            methods := nil.
+        ].
+    ].
+
+    matchHolderValue := matchHolder value.
+    matchHolderValue notNil ifTrue:[
+        LastSearchWasMatch := matchHolderValue
+    ].
+    caseHolderValue := caseHolder value.
+    caseHolderValue notNil ifTrue:[
+        LastSearchWasCaseSensitive := caseHolderValue
+    ].
+
+    selectorOrCode := sel ? code.
+
+    aBlock numArgs == 7 ifTrue:[
+        "/ old style
+        aBlock
+            value:classes
+            value:(sel ? code)
+            value:(self searchIgnoringCase)
+            value:openHow
+            value:(matchHolderValue ? false)
+            value:methods
+            value:(isMethodHolder value ? false).
+    ] ifFalse:[
+        aBlock value.
+    ]
+
+    "Modified: / 26-09-2012 / 11:50:45 / cg"
+!
+
+setupToAskForMethodSearchTitle:title forBrowser:brwsrArg searchWhat:searchWhatArg 
+  searchArea:whereDefault withCaseIgnore:withCaseIgnore withMatch:withMatch 
+  withMethodList:withMethodList allowFind:allowFindArg allowBuffer:allowBufferArg 
+  allowBrowser:allowBrowserArg withTextEntry:withTextEntryArg 
+
+    |where ns methodNameSpaces methodPackages hPanel leftVerticalPanel rightVerticalPanel|
+
+    allowFind := allowFindArg.
+    allowBuffer := allowBufferArg.
+    allowBrowser := allowBrowserArg.
+    searchWhat := searchWhatArg.
+
+    withTextEntry := withTextEntryArg.
+
+    (browser := brwsrArg) isNil ifTrue:[
+        resources := NewSystemBrowser classResources.
+    ] ifFalse:[
+        resources := browser resources.
+        selectedClasses := browser selectedClasses value.
+        selectedCategories := browser selectedCategoriesValue.
+        selectedCategories := selectedCategories reject:[:cat | NavigatorModel isPseudoCategory:cat].
+        selectedMethods := browser selectedMethods value.
+        currentClass := browser theSingleSelectedClass.
+        currentClassCategory := browser theSingleSelectedCategory.
+        currentPackage := browser theSingleSelectedProject.
+        currentClass isNil ifTrue:[
+            browser hasMethodSelected ifTrue:[
+                currentClass := selectedMethods first mclass.
+                "/ selectedClasses := (selectedMethods collect:[:each | each mclass ]) asIdentitySet.
+                "/ selectedClasses := selectedClasses select:[:each | each notNil ].
+            ].
+        ].
+    ].
+
+    (self addTextLabel:(resources stringWithCRs:title)) adjust:#left.
+
+    currentClass notNil ifTrue:[
+        currentClass := currentClass theNonMetaclass.
+    ].
+    withTextEntry ifTrue:[
+        self addTextEntryWithCaseIgnore:withCaseIgnore withMatch:withMatch.
+    ].
+
+    searchAreas := OrderedCollection new.
+
+    self addHorizontalLine.
+    "/ self addVerticalSpace.
+
+    (showMetaFilter ? false) ifTrue:[
+        currentPanel := self.
+        self addCheckBoxForMetaClassesOnly.
+    ].
+
+
+    hPanel := HorizontalPanelView "SimpleView" new.
+    hPanel verticalLayout:#top.
+    hPanel horizontalLayout:#left.
+
+    leftVerticalPanel := currentPanel := VerticalPanelView new.
+    leftVerticalPanel verticalLayout:#topSpace.
+    leftVerticalPanel horizontalLayout:#fitSpace.
+
+    (self addTextLabel:(resources string:'Search in:')) adjust:#left.
+
+    whereRadioGroup := RadioButtonGroup new.
+
+    (selectedCategories size > 0 or:[ selectedClasses size > 0 ]) ifTrue:[
+        self addCheckBoxForEverywhere.
+        "/        classMethodListView notNil ifTrue:[
+        "/            b := CheckBox label:(resources string:'Shown Methods').
+        "/            panel add:b. whereChannel add:b value:#currentMethodList.
+        "/            areas add:#currentMethodList.
+        "/            self makeTabable:b.
+        "/        ].
+        browser isMethodListBrowser ifTrue:[
+            methods := browser selectedMethods value ? #().
+            methodNameSpaces := methods
+                        select:[:eachMethod | eachMethod mclass notNil]
+                        thenCollect:[:eachMethod | eachMethod mclass topNameSpace ].
+            methodPackages := methods 
+                        collect:[:eachMethod | eachMethod package ].
+        ].
+        methodNameSpaces size == 1 ifTrue:[
+            currentNamespace := methodNameSpaces first.
+        ] ifFalse:[
+            currentNamespace := browser currentNamespace.
+            selectedClasses size == 0 ifTrue:[
+                |classesInAllSelectedCategories nameSpacesOfAllClassesInAllSelectedCategories|
+                classesInAllSelectedCategories := Smalltalk allClasses select:[:cls | selectedCategories includes:cls category].
+                nameSpacesOfAllClassesInAllSelectedCategories := classesInAllSelectedCategories collect:[:eachClass | eachClass topNameSpace].
+                nameSpacesOfAllClassesInAllSelectedCategories size == 1 ifTrue:[
+                    currentNamespace := nameSpacesOfAllClassesInAllSelectedCategories first.
+                ].
+            ].
+        ].
+
+        (currentNamespace notNil 
+            and:[ currentNamespace ~= (browser nameListEntryForALL) ]) 
+                ifTrue:[ self addCheckBoxForCurrentNamespace ]
+                ifFalse:[
+                    (currentClass notNil 
+                        and:[ (ns := currentClass nameSpace) notNil and:[ ns ~~ Smalltalk ] ]) 
+                            ifTrue:[ self addCheckBoxForClassesNamespace:ns ].
+                ].
+
+        methodPackages size == 1 ifTrue:[
+            currentPackage := methodPackages first.
+        ] ifFalse:[
+            currentPackage := browser currentProject.
+"/            selectedClasses size == 0 ifTrue:[
+"/                |classesInAllSelectedCategories packagesOfAllClassesInAllSelectedCategories|
+"/                classesInAllSelectedCategories := Smalltalk allClasses select:[:cls | selectedCategories includes:cls category].
+"/                packagesOfAllClassesInAllSelectedCategories := classesInAllSelectedCategories collect:[:eachClass | eachClass package].
+"/                packagesOfAllClassesInAllSelectedCategories size == 1 ifTrue:[
+"/                    currentPackage := packagesOfAllClassesInAllSelectedCategories first.
+"/                ].
+"/            ].
+        ].
+
+        (currentPackage notNil 
+            and:[ currentPackage ~= (browser nameListEntryForALL) ]) 
+                ifTrue:[ self addCheckBoxForCurrentPackage ]
+                ifFalse:[
+                    (currentClass notNil) ifTrue:[ 
+                        self addCheckBoxForClassesPackage:(currentClass package) 
+                    ].
+                ].
+
+        selectedCategories size > 0 ifTrue:[
+            self addCheckBoxForSelectedClassCategory.
+        ].
+        (selectedClasses size > 0 or:[ selectedMethods size > 0 ]) ifTrue:[
+            self addCheckBoxForSelectedClass.
+            self addCheckBoxForSelectedClassAndSuperclasses.
+            self addCheckBoxForSelectedClassAndSubclasses.
+            self addCheckBoxForSelectedClassAndPrivateClasses.
+            self addCheckBoxForSelectedClassAndSubclassesAndPrivateClasses.
+            self addCheckBoxForOwnerAndItsPrivateClasses.
+            self addCheckBoxForOwnerAndItsSubclassesAndItsPrivateClasses.
+        ].
+    ] ifFalse:[
+        (browser notNil and:[browser currentNamespace ~~ Smalltalk]) ifTrue:[
+            self addCheckBoxForEverywhere.
+            currentNamespace := browser currentNamespace.
+            currentNamespace ~= (browser nameListEntryForALL) ifTrue:[
+                self addCheckBoxForCurrentNamespace.
+            ] ifFalse:[
+                (currentClass notNil 
+                and:[ (ns := currentClass nameSpace) notNil 
+                and:[ ns ~~ Smalltalk ] ]) 
+                ifTrue:[ 
+                    self addCheckBoxForClassesNamespace:ns 
+                ].
+            ].
+        ].
+    ].
+    searchAreas size == 0 ifTrue:[
+        self addCheckBoxForEverywhere.
+    ].
+    self addCheckBoxForChangedClassesList.
+
+    withMethodList ifTrue:[
+        browser isMethodListBrowser ifTrue:[
+            searchAreas size == 0 ifTrue:[
+                self addCheckBoxForEverywhere.
+            ].
+            self addCheckBoxForMethodList.
+            self addCheckBoxForSelectedMethods.
+            self addCheckBoxForSelectedMethodClasses.
+            self addCheckBoxForSelectedMethodPackages.
+        ] ifFalse:[
+            searchAreas size == 0 ifTrue:[
+                self addCheckBoxForEverywhere.
+            ].
+            self addCheckBoxForChangedMethodList.
+        ].
+    ].
+
+    searchAreas size == 0 ifTrue:[
+        whereRadioGroup := #everywhere asValue.
+        self addDummyCheckBoxForEverywhere.
+    ] ifFalse:[
+        whereDefault notNil ifTrue:[
+            (searchAreas includes:whereDefault) ifTrue:[
+                where := whereDefault asSymbol.
+            ] ifFalse:[
+                where := searchAreas first.
+            ].
+        ] ifFalse:[
+            where := #everywhere.
+        ].
+        whereRadioGroup value:where.
+    ].
+
+    hPanel add:leftVerticalPanel.
+
+false ifTrue:[
+    "/ noone liked the right panel...
+    rightVerticalPanel := currentPanel := VerticalPanelView new.
+    rightVerticalPanel verticalLayout:#topSpace.
+    rightVerticalPanel horizontalLayout:#fitSpace.
+
+    self addCheckBoxForClassMethodSearch.
+    self addCheckBoxForInstanceMethodSearch.
+"/    rightVerticalPanel origin:0.75@0.0 corner:1.0@1.0.
+    hPanel 
+        preferredExtent:(leftVerticalPanel preferredWidth + rightVerticalPanel preferredWidth)
+                        @
+                        (leftVerticalPanel preferredHeight max:rightVerticalPanel preferredHeight).
+    hPanel add:rightVerticalPanel.
+] ifFalse:[
+
+"/    rightVerticalPanel origin:0.75@0.0 corner:1.0@1.0.
+    hPanel 
+        preferredExtent:(leftVerticalPanel preferredWidth) @ (leftVerticalPanel preferredHeight).
+].
+
+    self addComponent:hPanel indent:0.
+
+    "/ panel has its own idea of indenting
+    "/ self addVerticalSpace.
+    searchWhat == #selector ifTrue:[
+        "/ not yet implemented
+        "/ self addHorizontalLine.
+        "/ self addCheckBoxesForClassAndMetaSearch.
+
+        selectionList := self addFilteredListOfMatchingSelectors.
+        self stickAtBottomWithVariableHeight:selectionList.
+        matchHolder notNil ifTrue:[
+            matchHolder onChangeEvaluate:[ self updateListOfMatchingSelectorsFor:inputField contents ]
+        ].
+        inputField notNil ifTrue:[ self updateListOfMatchingSelectorsFor:inputField contents ].
+    ] ifFalse:[
+        self addHorizontalLine.
+    ].
+    self addButtons.
+
+    self label:(resources string:'Search').
+
+    "Modified: / 20-08-2012 / 13:25:03 / cg"
+! !
+
+!SearchDialog methodsFor:'setup'!
+
+addCheckBox:b forSearchArea:area 
+    currentPanel add:b.
+    whereRadioGroup add:b value:area.
+    searchAreas add:area.
+    self makeTabable:b.
+!
+
+addCheckBoxForChangedClassesList
+    |b|
+
+    b := CheckBox label:(resources string:'Changed Classes').
+    self addCheckBox:b forSearchArea:#listOfChangedClasses.
+    ChangeSet current changedClasses isEmpty ifTrue:[
+        b disable
+    ].
+    ^ b.
+!
+
+addCheckBoxForChangedMethodList
+    |b|
+
+    b := CheckBox label:(resources string:'Changed Methods').
+    self addCheckBox:b forSearchArea:#listOfChangedMethods.
+    ChangeSet current changeSelectors isEmpty ifTrue:[
+        b disable
+    ].
+    ^ b.
+!
+
+addCheckBoxForClassesNamespace:ns 
+    |b|
+
+    b := CheckBox 
+                label:(resources string:'Classes'' nameSpace ("%1")' with:ns name).
+    self addCheckBox:b forSearchArea:#currentClassesNameSpace.
+    ^ b.
+!
+
+addCheckBoxForClassesPackage:pkg 
+    |b|
+
+    b := CheckBox 
+                label:(resources string:'Classes'' package ("%1")' with:pkg).
+    self addCheckBox:b forSearchArea:#currentClassesPackage.
+    ^ b.
+
+    "Created: / 21-09-2006 / 17:39:55 / cg"
+!
+
+addCheckBoxForCurrentNamespace
+    |b|
+
+    b := CheckBox 
+            label:(resources string:'Current nameSpace ("%1")' with:currentNamespace name).
+    self addCheckBox:b forSearchArea:#currentNameSpace.
+    ^ b.
+
+    "Modified: / 10-10-2006 / 15:28:47 / cg"
+!
+
+addCheckBoxForCurrentPackage
+    |b|
+
+    b := CheckBox 
+            label:(resources string:'Current package ("%1")' with:currentPackage).
+    self addCheckBox:b forSearchArea:#currentPackage.
+    ^ b.
+
+    "Modified: / 10-10-2006 / 15:28:51 / cg"
+!
+
+addCheckBoxForCurrentPackage:pkg 
+    |b|
+
+    b := CheckBox 
+            label:(resources string:'Classes'' package ("%1")' with:pkg).
+    self addCheckBox:b forSearchArea:#currentClassesPackage.
+    ^ b.
+
+    "Modified: / 10-10-2006 / 15:29:06 / cg"
+!
+
+addCheckBoxForEverywhere
+    |b|
+
+    b := CheckBox label:(resources string:'Everywhere').
+    self addCheckBox:b forSearchArea:#everywhere.
+    ^ b.
+!
+
+addCheckBoxForMetaClassesOnly
+    |p b|
+
+    p := View new.
+    
+    b := CheckBox label:(resources string:'Metaclasses Only') in:p.
+    b model:(metaclassesOnlyHolder := false asValue).
+    metaclassesOnlyHolder onChangeEvaluate:[metaclassesOnlyHolder value ifTrue:[classesOnlyHolder value:false]].
+    self makeTabable:b.
+
+    b := CheckBox label:(resources string:'Classes Only') in:p.
+    b left:0.5.
+    b model:(classesOnlyHolder := false asValue).
+    classesOnlyHolder onChangeEvaluate:[classesOnlyHolder value ifTrue:[metaclassesOnlyHolder value:false]].
+    self makeTabable:b.
+
+    currentPanel add:p.
+    ^ nil.
+
+    "Created: / 20-08-2012 / 11:32:15 / cg"
+!
+
+addCheckBoxForMethodList
+    |b|
+
+    b := CheckBox label:(resources string:'Methodlist').
+    self addCheckBox:b forSearchArea:AREA_LISTOFMETHODS.
+    ^ b.
+
+    "Modified: / 19-11-2010 / 12:00:52 / cg"
+!
+
+addCheckBoxForOwnerAndItsPrivateClasses
+    |b lbl arg|
+
+    (currentClass notNil and:[ currentClass isPrivate. ]) ifTrue:[ 
+        lbl := 'Owner (%1) & all its private classes'.
+        arg := currentClass owningClass name.
+    ] ifFalse:[ 
+        lbl := 'Owners & all their private classes'.
+    ].
+    b := CheckBox label:(resources string:lbl with:arg).
+    self addCheckBox:b forSearchArea:#ownersWithPrivateClasses.
+    (selectedClasses contains:[ :cls | cls isPrivate. ]) ifFalse:[ 
+        b disable.
+    ].
+    ^ b.
+!
+
+addCheckBoxForOwnerAndItsSubclassesAndItsPrivateClasses
+    |b lbl arg|
+
+    (currentClass notNil and:[ currentClass isPrivate. ]) ifTrue:[ 
+        lbl := 'Owner (%1) & its subclasses & all its private classes'.
+        arg := currentClass owningClass name.
+    ] ifFalse:[ 
+        lbl := 'Owners & their subclasses & all their private classes'.
+    ].
+    b := CheckBox label:(resources string:lbl with:arg).
+    self addCheckBox:b forSearchArea:#ownersHierarchiesWithPrivateClasses.
+    (selectedClasses contains:[ :cls | cls isPrivate. ]) ifFalse:[ 
+        b disable.
+    ].
+    ^ b.
+!
+
+addCheckBoxForSelectedClass
+    |b lbl arg|
+
+    (browser isMethodListBrowser 
+    or:[ currentClass isNil
+    or:[ selectedClasses size > 1] ]) ifTrue:[ 
+        selectedClasses size == 1 ifTrue:[ 
+            lbl := 'Selected class ("%1")'.
+            arg := selectedClasses first theNonMetaclass name.
+        ] ifFalse:[ 
+            lbl := 'Selected classes (%1)'.
+            arg := selectedClasses size.
+        ].
+    ] ifFalse:[ 
+        lbl := 'Class ("%1")'.
+        arg := currentClass name.
+    ].
+    b := CheckBox label:(resources string:lbl with:arg).
+    self addCheckBox:b forSearchArea:#classes.
+    ^ b.
+!
+
+addCheckBoxForSelectedClassAndPrivateClasses
+    |b lbl|
+
+    (browser isMethodListBrowser 
+    or:[ currentClass isNil 
+    or:[ selectedClasses size > 1] ]) ifTrue:[ 
+        lbl := 'Selected classes & all private classes'.
+    ] ifFalse:[ 
+        lbl := 'Class & private classes'.
+    ].
+    b := CheckBox label:(resources string:lbl).
+    self addCheckBox:b forSearchArea:#classesWithPrivateClasses.
+    (selectedClasses 
+        contains:[ :cls | cls theNonMetaclass privateClasses size > 0. ]) 
+            ifFalse:[ b disable. ].
+    ^ b.
+!
+
+addCheckBoxForSelectedClassAndSubclasses
+    |b lbl|
+
+    (browser isMethodListBrowser 
+    or:[ currentClass isNil
+    or:[ selectedClasses size > 1] ]) ifTrue:[ 
+        lbl := 'Selected classes & all subclasses'.
+    ] ifFalse:[ 
+        lbl := 'Class & subclasses'.
+    ].
+    b := CheckBox label:(resources string:lbl).
+    self addCheckBox:b forSearchArea:#classHierarchies.
+    (selectedClasses 
+        contains:[ :cls | cls theNonMetaclass subclasses size > 0. ]) 
+            ifFalse:[ b disable. ].
+    ^ b.
+!
+
+addCheckBoxForSelectedClassAndSubclassesAndPrivateClasses
+    |b lbl|
+
+    (browser isMethodListBrowser 
+    or:[ currentClass isNil
+    or:[ selectedClasses size > 1] ]) ifTrue:[ 
+        lbl := 'Selected classes & all subclasses & all private classes'.
+    ] ifFalse:[ 
+        lbl := 'Class & subclasses & all private classes'.
+    ].
+    b := CheckBox label:(resources string:lbl).
+    self addCheckBox:b forSearchArea:#classHierarchiesWithPrivateClasses.
+    (selectedClasses 
+        contains:[ :cls | cls theNonMetaclass privateClasses size > 0. ]) 
+            ifFalse:[ b disable. ].
+    ^ b.
+!
+
+addCheckBoxForSelectedClassAndSuperclasses
+    |b lbl|
+
+    (browser isMethodListBrowser 
+    or:[ currentClass isNil
+    or:[ selectedClasses size > 1] ]) ifTrue:[ 
+        lbl := 'Selected classes & all superclasses'.
+    ] ifFalse:[ 
+        lbl := 'Class & superclasses'.
+    ].
+    b := CheckBox label:(resources string:lbl).
+    self addCheckBox:b forSearchArea:#classesAndSuperclasses.
+    (selectedClasses 
+        contains:[ :cls | cls theNonMetaclass superclass notNil. ]) 
+            ifFalse:[ b disable. ].
+    ^ b.
+!
+
+addCheckBoxForSelectedClassCategory
+    |b lbl arg|
+
+    currentClassCategory notNil ifTrue:[ 
+        lbl := 'Class category ("%1")'.
+        arg := currentClassCategory.
+    ] ifFalse:[ 
+        lbl := 'Selected class categories (%1)'.
+        arg := selectedCategories size.
+    ].
+    b := CheckBox label:(resources string:lbl with:arg).
+    self addCheckBox:b forSearchArea:#classCategories.
+    ^ b.
+!
+
+addCheckBoxForSelectedMethodClasses
+    |b classes numClasses|
+
+    classes := ((browser selectedMethods value ? #()) 
+                    select:[:m | m mclass notNil]
+                    thenCollect:[:m | m mclass theNonMetaclass]) asSet.
+    numClasses := classes size.
+    numClasses == 0 ifTrue:[^ self]. "/ comment this to show, but disabled
+
+    numClasses == 1 ifTrue:[
+        b := CheckBox label:(resources string:'Selected method''s class ("%1")'
+                            with:classes first name).
+    ] ifFalse:[
+        b := CheckBox label:(resources string:'Selected methods'' classes (%1)'
+                            with:numClasses).
+        numClasses == 0 ifTrue:[
+            b disable
+        ].
+    ].
+    self addCheckBox:b forSearchArea:#listOfSelectedMethodClasses.
+    ^ b.
+
+    "Modified (comment): / 20-07-2012 / 11:40:44 / cg"
+!
+
+addCheckBoxForSelectedMethodPackages
+    |b packages numPackages|
+
+    packages := ((browser selectedMethods value ? #()) 
+                    collect:[:m | m package]) asSet.
+    numPackages := packages size.
+    numPackages size == 0 ifTrue:[^ self]. "/ comment this to show, but disabled
+
+    numPackages == 1 ifTrue:[
+        b := CheckBox label:(resources string:'Selected method''s package ("%1")'
+                            with:packages first).
+    ] ifFalse:[
+        b := CheckBox label:(resources string:'Selected methods'' packages (%1)'
+                            with:numPackages).
+        numPackages == 0 ifTrue:[
+            b disable
+        ].
+    ].
+    self addCheckBox:b forSearchArea:#listOfSelectedMethodPackages.
+    ^ b.
+
+    "Created: / 29-02-2012 / 19:42:26 / cg"
+!
+
+addCheckBoxForSelectedMethods
+    |b numSelected|
+
+    numSelected := browser selectedMethods value size.
+    numSelected == 0 ifTrue:[^ self]. "/ comment this to show, but disabled
+
+    b := CheckBox label:(resources string:'Selected methods (%1)' with:numSelected).
+    self addCheckBox:b forSearchArea:#listOfSelectedMethods.
+    numSelected == 0 ifTrue:[b disable].
+    ^ b.
+
+    "Modified (comment): / 20-07-2012 / 11:40:33 / cg"
+!
+
+addCheckBoxForSelectedPackage
+    |b lbl arg|
+
+    currentClassCategory notNil ifTrue:[ 
+        lbl := 'Class category ("%1")'.
+        arg := currentClassCategory.
+    ] ifFalse:[ 
+        lbl := 'Selected classes categories (%1)'.
+        arg := selectedCategories size.
+    ].
+    b := CheckBox label:(resources string:lbl with:arg).
+    self addCheckBox:b forSearchArea:#classCategories.
+    ^ b.
+!
+
+addCheckBoxesForClassAndMetaSearch
+    |y b1 b2|
+
+    y := self yPosition.
+    b1 := self addCheckBox:(resources string:'Instance Protocol') on:(self searchInstanceProtocolHolder).
+    "/ b1 width:0.5.
+
+    "/ self yPosition:y.
+    b2 := self addCheckBox:(resources string:'Class Protocol') on:(self searchClassProtocolHolder).
+    "/ b2 left:0.5; width:0.5.
+
+    "Created: / 06-12-2011 / 11:24:11 / cg"
+!
+
+addDummyCheckBoxForEverywhere
+    |b|
+
+    b := CheckBox label:(resources string:'Everywhere').
+    b turnOn.
+    b disable.
+
+    currentPanel add:b.
+!
+
+addFilteredListOfMatchingSelectors
+    |l|
+
+    listHolder := List new.
+
+    l := HVScrollableView for:SelectionInListView.
+    l listHolder:listHolder.
+    self addComponent:l.
+    l doubleClickAction:[
+            selectorHolder value:(l selectionValue).
+            matchHolder value:false.
+            caseHolder value:false.
+            self doAccept.
+            self okPressed.
+    ].
+    ^ l.
+!
+
+addInputFieldForSelectorOrNameOrString
+    |sel lastSearchPatterns|
+
+    browser notNil ifTrue:[
+        searchWhat == #selector ifTrue:[ 
+            sel := browser selectorToSearchFor.
+        ] ifFalse:[ 
+            searchWhat == #globalName ifTrue:[ 
+                sel := browser globalNameToSearchFor ? LastGlobalSearched.
+            ] ifFalse:[ 
+                searchWhat == #string ifTrue:[
+                    sel := browser stringToSearchFor ? LastStringSearched.
+                ] ifFalse:[
+                    searchWhat == #resource ifTrue:[
+                        sel := browser stringToSearchFor ? LastResourceSearched.
+                    ] ifFalse:[
+                        sel := browser selectorToSearchFor.
+                    ]
+                ]
+            ].
+        ].
+    ].
+    lastSearchPatterns := (browser ? SystemBrowser) lastSearchPatterns.
+
+    sel isEmptyOrNil ifTrue:[ 
+        "/ use last searchString
+        lastSearchPatterns size > 0 ifTrue:[ 
+            sel := lastSearchPatterns first.
+        ].
+    ].
+    selectorHolder := (sel ? '') withoutSeparators asValue.
+
+    inputField := self addComboBoxOn:selectorHolder tabable:true.
+    inputField list:lastSearchPatterns.
+    inputField selectAllInitially.
+    inputField immediateAccept:true.
+    inputField takeFocus.
+    inputField 
+        entryCompletionBlock:[ :contents | 
+            |s what|
+
+            s := contents withoutSpaces.
+            self topView 
+                withWaitCursorDo:[
+                    |best matching|
+
+                    searchWhat == #resource ifTrue:[
+                        what := DoWhatIMeanSupport resourceCompletion:s inEnvironment:Smalltalk match:true ignoreCase:false.
+                    ] ifFalse:[
+                        searchWhat == #globalName ifFalse:[ 
+                            what := DoWhatIMeanSupport selectorCompletion:s inEnvironment:Smalltalk.
+                        ] ifTrue:[ 
+                            what := DoWhatIMeanSupport globalNameCompletion:s inEnvironment:Smalltalk match:true.
+                        ].
+                    ].
+                    best := what first.
+                    matching := what second.
+                    inputField contents:best.
+                    "/ listHolder contents:matching.
+                    matching size ~~ 1 ifTrue:[ 
+                        (browser ? self) window beep.
+                    ].
+                ].
+        ].
+
+    selectorHolder onChangeEvaluate:[ self updateListOfMatchingSelectorsFor:inputField contents ].
+
+    "Modified: / 14-02-2012 / 14:13:52 / cg"
+!
+
+addTextEntryFieldForCode
+    |initial box panel patternInfoBox infoLabel helpButton errMessageField checkCodeAction
+     metaBox b|
+
+    box := View new.
+    box extent:(600 @ 200).
+
+    panel := VariableHorizontalPanel in:box.
+    panel origin:0.0@0.0 corner:(1.0@1.0).
+
+    codeField := CodeView in:panel.        
+    codeField canTab:true.
+"/    codeField origin:0.0@0.0 corner:(0.75@1.0).
+
+    patternInfoBox := View in:panel.
+
+    infoLabel := Label in:patternInfoBox.
+    infoLabel geometryLayout:(LayoutFrame bottomInset:30).
+
+    infoLabel font:(codeField font asSize:(codeField font size - 2)).
+    infoLabel adjust:#left.
+    infoLabel label:(self helpTextForMetaPatterns).
+
+    panel relativeCorners:#(0.6 1.0).
+    panel showHandle:true.
+
+    helpButton := Button label:(resources string:'Pattern Help') in:patternInfoBox.
+    helpButton layout:((AlignmentOrigin fractionalFromPoint:0.5@1.0) 
+                            leftOffset:2
+                            topOffset:helpButton preferredHeight negated;
+                            leftAlignmentFraction:0.5 topAlignmentFraction:0).
+    helpButton topInset:0.75@1.0.
+    helpButton action:[self showHelpOnCodePatterns].
+
+
+    self addComponent:box tabable:true.
+
+    metaBox := HorizontalPanelView new.
+    metaBox horizontalLayout:#leftMax.
+    b := Button label:'+Lit' action:[ codeField pasteOrReplace:'`#n' ] in:metaBox.
+    b helpKey:#matchAnyLiteral.
+    b := Button label:'+Var' action:[ codeField pasteOrReplace:'`v' ] in:metaBox.
+    b helpKey:#matchAnyVariable.
+    b := Button label:'+Expr' action:[ codeField pasteOrReplace:'`@e' ] in:metaBox.
+    b helpKey:#matchAnyExpression.
+    b := Button label:'+Msg' action:[ codeField pasteOrReplace:'`@m:' ] in:metaBox.
+    b helpKey:#matchAnyMessage.
+    b := Button label:'+Node' action:[ codeField pasteOrReplace:'`{:node | node isLiteral and:[node value isSymbol] }' ] in:metaBox.
+    b helpKey:#matchAnyNode.
+    b := Button label:'+Stats' action:[ codeField pasteOrReplace:'`.@stats' ] in:metaBox.
+    b helpKey:#matchAnyStats.                                      
+    self addComponent:metaBox.
+
+    errMessageField := (self addTextLabel:'') adjust:#left.
+    errMessageField level:-1.    
+    self addCheckBox:(resources string:'Method') on:self isMethodHolder.
+
+    checkCodeAction := [ self checkCodeIn:codeField notifying:errMessageField. ].
+
+    codeField modifiedChannel onChangeEvaluate:checkCodeAction.
+    self isMethodHolder onChangeEvaluate:checkCodeAction.
+
+    initial := browser selectionInCodeView.
+    initial isEmptyOrNil ifTrue:[
+        initial := LastCodeSearched ? ''
+    ].
+    codeField contents:initial.
+    checkCodeAction value.
+
+    "Modified: / 23-07-2011 / 10:35:14 / cg"
+!
+
+checkCodeIn:codeField notifying:errMessageField
+    |codeString tree errAction|
+
+    codeString := codeField contents asString string.
+    errAction := [:str :pos |
+                    |line col badLine|
+
+                    line := codeField lineOfCharacterPosition:pos.
+                    col := (codeField colOfCharacterPosition:pos) max:1.
+
+                    badLine := (codeField listAt:line) ? ''.
+                    col <= badLine size size ifTrue:[
+                        codeField 
+                            listAt:line 
+                            put:(badLine asText 
+                                    emphasisAt:col 
+                                    put:(UserPreferences current unknownIdentifierEmphasis)).
+                        "/ codeField selectFromCharacterPosition:pos to:pos.
+                    ].
+                    errMessageField label:('line: ',line printString,' ',str).
+                    errMessageField backgroundColor:Color red.    
+                    codeField requestFocus.
+                    nil.
+                 ].
+
+    isMethodHolder value ifTrue:[
+        tree := RBParser parseRewriteMethod:codeString onError: errAction.
+    ] ifFalse:[
+        tree := RBParser parseRewriteExpression:codeString onError: errAction.
+    ].
+    tree notNil ifTrue:[ 
+        errMessageField backgroundColor:View defaultViewBackgroundColor.    
+        errMessageField label:nil 
+    ].
+    codeField modifiedChannel setValue:false.
+!
+
+getClassesAndMethodsFor:where 
+    where == #everywhere ifTrue:[ 
+        classes := Smalltalk allClasses.
+        methods := nil.
+        ^ self.
+    ].
+    where == #currentNameSpace ifTrue:[ 
+        classes := currentNamespace allClassesWithAllPrivateClasses.
+        methods := nil.
+        ^ self.
+    ].
+    where == #currentClassesNameSpace ifTrue:[ 
+        currentClass isPrivate ifTrue:[ 
+            classes := currentClass topOwningClass nameSpace 
+                        allClassesWithAllPrivateClasses.
+        ] ifFalse:[ 
+            classes := currentClass nameSpace allClassesWithAllPrivateClasses.
+        ].
+        methods := nil.
+        ^ self.
+    ].
+    where == #currentPackage ifTrue:[ 
+        classes := Smalltalk allClassesInPackage:currentPackage. 
+        methods := nil.
+        ^ self.
+    ].
+    where == #currentClassesPackage ifTrue:[ 
+        classes := Smalltalk allClassesInPackage:currentClass package. 
+        methods := nil.
+        ^ self.
+    ].
+    where == #classCategories ifTrue:[ 
+        classes := Smalltalk allClasses 
+                    select:[ :cls | selectedCategories includes:cls category. ].
+        classes := classes collect:[ :each | each theNonMetaclass. ].
+        methods := nil.
+        ^ self.
+    ].
+    (where == #classes or:[ where == #classesWithPrivateClasses. ]) ifTrue:[ 
+        classes := selectedClasses collect:[ :each | each theNonMetaclass. ].
+        methods := nil.
+        ^ self.
+    ].
+    (where == #classHierarchies or:[ where == #classHierarchiesWithPrivateClasses. ]) 
+    ifTrue:[ 
+        classes := IdentitySet new.
+        selectedClasses do:[ :cls | 
+            classes addAll:cls theNonMetaclass withAllSubclasses.
+        ].
+        methods := nil.
+        ^ self.
+    ].
+    where == #ownersWithPrivateClasses ifTrue:[ 
+        classes := IdentitySet new.
+        selectedClasses do:[ :cls | 
+            |c|
+
+            c := cls theNonMetaclass.
+            classes add:(c owningClass ? c).
+        ].
+        methods := nil.
+        ^ self.
+    ].
+    where == #ownersHierarchiesWithPrivateClasses ifTrue:[ 
+        classes := IdentitySet new.
+        selectedClasses do:[ :cls | 
+            |c|
+
+            c := cls theNonMetaclass.
+            classes addAll:(c owningClass ? c) withAllSubclasses.
+        ].
+        methods := nil.
+        ^ self.
+    ].
+    (where == #classesAndSuperclasses) ifTrue:[ 
+        classes := IdentitySet new.
+        selectedClasses do:[ :cls | 
+            classes addAll:cls theNonMetaclass withAllSuperclasses.
+        ].
+        methods := nil.
+        ^ self.
+    ].
+    (where == AREA_LISTOFMETHODS) ifTrue:[ 
+        classes := nil.
+        methods := browser methodListApp methodList value.
+        ^ self.
+    ].
+    (where == #listOfSelectedMethods) ifTrue:[ 
+        classes := nil.
+        methods := browser selectedMethods value ? #().
+        ^ self.
+    ].
+    (where == #listOfSelectedMethodClasses) ifTrue:[ 
+        classes := ((browser selectedMethods value ? #()) collect:[:m | m mclass theNonMetaclass]) asSet asOrderedCollection.
+        methods := nil.
+        ^ self.
+    ].
+    (where == #listOfSelectedMethodPackages) ifTrue:[ 
+        classes := (((browser selectedMethods value ? #()) collect:[:m | m package]) asSet
+                        collectAll:[:p | Smalltalk allClassesInPackage:p ]) asOrderedCollection.
+        methods := nil.
+        ^ self.
+    ].
+    (where == #listOfChangedClasses) ifTrue:[ 
+        classes := ChangeSet current changedClasses.
+        methods := nil.
+        ^ self.
+    ].
+    (where == #listOfChangedMethods) ifTrue:[ 
+        classes := nil.
+        methods := Set new.
+        ChangeSet current do:[:chg |
+            |mthd|
+
+            chg notNil ifTrue:[
+                chg isMethodChange ifTrue:[
+                    mthd := chg changeMethod.
+                    mthd notNil ifTrue:[
+                        methods add:mthd
+                    ]
+                ]
+            ]
+        ].
+        methods := methods asOrderedCollection.
+        ^ self.
+    ].
+
+    self halt:'inumplemented search'.
+
+    "Modified: / 05-10-2011 / 15:48:20 / az"
+    "Modified: / 29-02-2012 / 19:47:42 / cg"
+!
+
+helpTextForMetaPatterns
+    ^ 'MetaPatterns:
+    ' , '`' allBold , ' = meta 
+    ' , '@' allBold , ' = list/any
+    ' , '.' allBold , ' = statement
+    ' , '`' allBold , ' = recurse
+
+    ' , '`#n' allBold , ' any lit
+    ' , '`v' allBold , '  any var (`V => global)
+    ' , '`@e' allBold , ' any expr
+    ' , '`@m:' allBold , ' any message (`m => unary)
+    ' , '`{:n|...}' allBold , ' node pattern
+    ' , '`''a.*''' allBold , ' regex on string const
+'.
+
+    "Modified: / 08-08-2011 / 20:33:03 / cg"
+!
+
+isMethodHolder
+    isMethodHolder isNil ifTrue:[isMethodHolder := (LastCodeSearchWasMethod ? false) asValue].
+    ^ isMethodHolder
+! !
+
+!SearchDialog methodsFor:'setup-buttons'!
+
+addBrowseButton
+    |b|
+
+    b := Button label:(resources string:'Browse').
+    (DialogBox defaultOKButtonAtLeft) ifTrue:[ 
+	self addButton:b before:nil.
+    ] ifFalse:[ 
+	self addButton:b after:nil.
+    ].
+    b 
+	action:[ 
+	    openHow := #newBrowser.
+	    self doAccept.
+	    self okPressed.
+	].
+    ^ b.
+!
+
+addBufferButton
+    |b|
+
+    b := Button label:(resources string:'Add Buffer').
+    (DialogBox defaultOKButtonAtLeft) ifTrue:[ 
+	self addButton:b before:nil.
+    ] ifFalse:[ 
+	self addButton:b after:nil.
+    ].
+    b 
+	action:[ 
+	    openHow := #newBuffer.
+	    self doAccept.
+	    self okPressed.
+	].
+    ^ b.
+!
+
+addButtons
+    "add find/newBrowser/newBuffer buttons"
+
+    |prevButton|
+
+    allowFind ifTrue:[
+        defaultOpenHow := #showHere.
+        prevButton := self addFindButton.
+    ].
+    allowBrowser ifTrue:[
+        defaultOpenHow := #newBrowser.
+        prevButton := self addBrowseButton.
+    ].
+    allowBuffer ifTrue:[
+        defaultOpenHow := #newBuffer.
+        prevButton := self addBufferButton.
+    ].
+    prevButton notNil ifTrue:[
+        prevButton isReturnButton:true.
+    ].
+    self addAbortButton.
+!
+
+addFindButton
+    |b|
+
+    b := Button label:(resources string:'Find').
+    (DialogBox defaultOKButtonAtLeft) ifTrue:[ 
+	self addButton:b before:nil.
+    ] ifFalse:[ 
+	self addButton:b after:nil.
+    ].
+    b 
+	action:[ 
+	    openHow := #showHere.
+	    self doAccept.
+	    self okPressed.
+	].
+    ^ b.
+! !
+
+!SearchDialog class methodsFor:'documentation'!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_SearchDialog.st,v 1.73 2012-12-02 10:10:34 cg Exp $'
+! !
+
+SearchDialog initialize!
--- a/Tools__AbstractTestRunner.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__AbstractTestRunner.st	Wed Jan 30 11:15:09 2013 +0000
@@ -65,6 +65,7 @@
 "
 ! !
 
+
 !AbstractTestRunner class methodsFor:'initialization'!
 
 initialize
@@ -80,6 +81,7 @@
     "Modified: / 05-07-2011 / 14:12:34 / cg"
 ! !
 
+
 !AbstractTestRunner class methodsFor:'accessing'!
 
 currentlyRunningColor
@@ -114,6 +116,7 @@
     "Modified: / 15-03-2010 / 21:54:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractTestRunner methodsFor:'private'!
 
 buildSuiteFromClass:testCaseCls
@@ -130,6 +133,7 @@
     "Modified: / 28-02-2011 / 21:31:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractTestRunner methodsFor:'utilities'!
 
 suiteNameFromClasses: classes
@@ -178,18 +182,20 @@
     "Modified: / 18-10-2011 / 22:59:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !AbstractTestRunner class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__AbstractTestRunner.st,v 1.11 2012/10/17 18:12:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__AbstractTestRunner.st,v 1.11 2012-10-17 18:12:41 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__AbstractTestRunner.st,v 1.11 2012/10/17 18:12:41 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__AbstractTestRunner.st,v 1.11 2012-10-17 18:12:41 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__AbstractTestRunner.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id: Tools__AbstractTestRunner.st 7681 2011-03-04 11:30:02Z vranyj1 '
 ! !
 
+
 AbstractTestRunner initialize!
--- a/Tools__BackgroundSourceProcessingService.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__BackgroundSourceProcessingService.st	Wed Jan 30 11:15:09 2013 +0000
@@ -55,6 +55,7 @@
 "
 ! !
 
+
 !BackgroundSourceProcessingService class methodsFor:'testing'!
 
 isAbstract
@@ -64,6 +65,7 @@
     "Created: / 24-01-2012 / 12:27:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BackgroundSourceProcessingService methodsFor:'acessing-defaults'!
 
 defaultJobName
@@ -74,6 +76,7 @@
     "Created: / 24-01-2012 / 12:05:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BackgroundSourceProcessingService methodsFor:'change & update'!
 
 modelChanged
@@ -129,6 +132,7 @@
     "Modified: / 17-03-2012 / 16:06:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BackgroundSourceProcessingService methodsFor:'event handling'!
 
 linesDeletedFrom:start to:end 
@@ -152,6 +156,7 @@
     "Created: / 16-09-2011 / 15:15:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BackgroundSourceProcessingService methodsFor:'initialization'!
 
 initialize
@@ -173,6 +178,7 @@
     "Modified: / 19-07-2012 / 16:17:21 / cg"
 ! !
 
+
 !BackgroundSourceProcessingService methodsFor:'processing'!
 
 process
@@ -215,6 +221,7 @@
     "Created: / 24-01-2012 / 12:25:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BackgroundSourceProcessingService methodsFor:'registering'!
 
 registerIn: aCodeView
@@ -225,16 +232,18 @@
     "Created: / 27-07-2011 / 13:25:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BackgroundSourceProcessingService class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__BackgroundSourceProcessingService.st,v 1.3 2012/07/19 15:19:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BackgroundSourceProcessingService.st,v 1.3 2012-07-19 15:19:59 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__BackgroundSourceProcessingService.st,v 1.3 2012/07/19 15:19:59 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BackgroundSourceProcessingService.st,v 1.3 2012-07-19 15:19:59 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: Tools__BackgroundSourceProcessingService.st 8022 2012-07-25 09:51:30Z vranyj1 $'
 ! !
+
--- a/Tools__BreakpointBrowser.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__BreakpointBrowser.st	Wed Jan 30 11:15:09 2013 +0000
@@ -32,7 +32,7 @@
 	privateIn:BreakpointBrowser
 !
 
-BreakpointBrowser::BreakpointListEntry subclass:#BreakpointListEntryForLineBreak
+Tools::BreakpointBrowser::BreakpointListEntry subclass:#BreakpointListEntryForLineBreak
 	instanceVariableNames:'breakPoint'
 	classVariableNames:''
 	poolDictionaries:''
@@ -71,6 +71,7 @@
 "
 ! !
 
+
 !BreakpointBrowser class methodsFor:'initialization'!
 
 defaultListOfMessagesAndTypes
@@ -94,6 +95,7 @@
     MessagesAndTypes := self defaultListOfMessagesAndTypes
 ! !
 
+
 !BreakpointBrowser class methodsFor:'defaults'!
 
 defaultIcon
@@ -102,6 +104,7 @@
     ^ ToolbarIconLibrary openBreakpointBrowserIcon
 ! !
 
+
 !BreakpointBrowser class methodsFor:'interface specs'!
 
 windowSpec
@@ -204,6 +207,7 @@
       )
 ! !
 
+
 !BreakpointBrowser class methodsFor:'menu specs'!
 
 itemMenu
@@ -495,6 +499,7 @@
       )
 ! !
 
+
 !BreakpointBrowser class methodsFor:'tableColumns specs'!
 
 tableColumns
@@ -762,6 +767,7 @@
       )
 ! !
 
+
 !BreakpointBrowser methodsFor:'accessing'!
 
 aboutThisApplicationText
@@ -812,6 +818,7 @@
     ^ updatingLabelShown
 ! !
 
+
 !BreakpointBrowser methodsFor:'aspects'!
 
 enableAssertions
@@ -945,6 +952,7 @@
     ^ showWhichHaltsHolder
 ! !
 
+
 !BreakpointBrowser methodsFor:'change & update'!
 
 delayedUpdate:something with:aParameter from:changedObject
@@ -1310,6 +1318,7 @@
     ].
 ! !
 
+
 !BreakpointBrowser methodsFor:'initialization & release'!
 
 codeViewClass
@@ -1355,6 +1364,7 @@
     super release
 ! !
 
+
 !BreakpointBrowser methodsFor:'menu actions-item'!
 
 browseItem
@@ -1383,6 +1393,7 @@
     "Modified: / 18-02-2007 / 12:57:58 / cg"
 ! !
 
+
 !BreakpointBrowser methodsFor:'menus-dynamic'!
 
 codeBreakpointMenu
@@ -1492,6 +1503,7 @@
     "Modified: / 09-09-2012 / 13:11:30 / cg"
 ! !
 
+
 !BreakpointBrowser methodsFor:'tests'!
 
 aMethodWith_assert
@@ -1555,6 +1567,7 @@
     self todo
 ! !
 
+
 !BreakpointBrowser methodsFor:'user actions'!
 
 browseSelectedItem
@@ -1663,6 +1676,7 @@
     self showOthers:(self showOthers not).
 ! !
 
+
 !BreakpointBrowser::BreakpointListEntry methodsFor:'accessing'!
 
 arg
@@ -1711,6 +1725,7 @@
     enabled := enabledArg.
 ! !
 
+
 !BreakpointBrowser::BreakpointListEntry methodsFor:'actions'!
 
 browse
@@ -1730,6 +1745,7 @@
     ^ (Smalltalk classNamed:className) compiledMethodAt:selector.
 ! !
 
+
 !BreakpointBrowser::BreakpointListEntry methodsFor:'testing'!
 
 isAssertion
@@ -1761,6 +1777,7 @@
     ^ type == #other
 ! !
 
+
 !BreakpointBrowser::BreakpointListEntryForLineBreak methodsFor:'accessing'!
 
 breakPoint
@@ -1773,6 +1790,7 @@
     breakPoint := something.
 ! !
 
+
 !BreakpointBrowser::MessageArgumentExtractor methodsFor:'accessing'!
 
 callBack:something
@@ -1783,6 +1801,7 @@
     selectorToSearch := something.
 ! !
 
+
 !BreakpointBrowser::MessageArgumentExtractor methodsFor:'visiting'!
 
 acceptMessageNode: aMessageNode
@@ -1833,18 +1852,20 @@
     super acceptMessageNode: aMessageNode
 ! !
 
+
 !BreakpointBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.39 2012/11/04 14:02:58 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.39 2012-11-04 14:02:58 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.39 2012/11/04 14:02:58 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.39 2012-11-04 14:02:58 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: Tools__BreakpointBrowser.st 8074 2012-11-30 17:23:39Z vranyj1 $'
 ! !
 
+
 BreakpointBrowser initialize!
--- a/Tools__BreakpointService.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__BreakpointService.st	Wed Jan 30 11:15:09 2013 +0000
@@ -64,12 +64,14 @@
 "
 ! !
 
+
 !BreakpointService methodsFor:'accessing'!
 
 breakpoints
     ^ breakpoints
 ! !
 
+
 !BreakpointService methodsFor:'change & update'!
 
 update: aspect with: param from: sender
@@ -103,6 +105,7 @@
     "Modified: / 06-07-2011 / 17:32:54 / jv"
 ! !
 
+
 !BreakpointService methodsFor:'event handling'!
 
 buttonPress:button x:x y:y in:view
@@ -144,6 +147,7 @@
     "Created: / 06-07-2011 / 17:16:36 / jv"
 ! !
 
+
 !BreakpointService methodsFor:'initialization'!
 
 initialize
@@ -154,6 +158,7 @@
     "Created: / 17-06-2011 / 13:49:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BreakpointService methodsFor:'private'!
 
 breakpointAtLine:line
@@ -284,6 +289,7 @@
     "Modified: / 02-08-2012 / 09:26:38 / cg"
 ! !
 
+
 !BreakpointService methodsFor:'redrawing'!
 
 drawLine:lineNo in:view atX:x y:y width:w height:h from:startCol to:endColOrNil with:fg and:bg
@@ -318,13 +324,15 @@
     "Modified (format): / 05-07-2011 / 22:14:33 / cg"
 ! !
 
+
 !BreakpointService class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__BreakpointService.st,v 1.17 2012/11/01 14:18:23 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointService.st,v 1.17 2012-11-01 14:18:23 cg Exp $'
 
 !
 
 version_SVN
-    ^ '$Id: Tools__BreakpointService.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id'
 ! !
+
--- a/Tools__BrowserListWithFilter.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__BrowserListWithFilter.st	Wed Jan 30 11:15:09 2013 +0000
@@ -13,7 +13,7 @@
 
 "{ NameSpace: Tools }"
 
-BrowserList subclass:#BrowserListWithFilter
+Tools::BrowserList subclass:#BrowserListWithFilter
 	instanceVariableNames:'listView filterView filterPatternHolder showFilterHolder'
 	classVariableNames:''
 	poolDictionaries:''
@@ -54,6 +54,7 @@
 "
 ! !
 
+
 !BrowserListWithFilter class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -65,6 +66,7 @@
     "Created: / 11-02-2012 / 22:44:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BrowserListWithFilter methodsFor:'accessing'!
 
 filterPattern
@@ -87,6 +89,7 @@
     "Created: / 29-11-2011 / 15:27:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BrowserListWithFilter methodsFor:'aspects'!
 
 filterPatternHolder
@@ -147,6 +150,7 @@
     ].
 ! !
 
+
 !BrowserListWithFilter methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -166,6 +170,7 @@
     "Modified (format): / 06-06-2012 / 00:01:37 / cg"
 ! !
 
+
 !BrowserListWithFilter methodsFor:'event handling-delegation'!
 
 handlesKeyPress:key inView:aView
@@ -188,6 +193,7 @@
     "Modified: / 17-01-2013 / 21:28:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BrowserListWithFilter methodsFor:'hooks'!
 
 commonPostBuild
@@ -216,6 +222,7 @@
     "Created: / 29-11-2011 / 14:47:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BrowserListWithFilter methodsFor:'private'!
 
 filterList: list
@@ -251,16 +258,18 @@
     "Created: / 29-11-2011 / 14:55:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !BrowserListWithFilter class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__BrowserListWithFilter.st 8090 2013-01-17 21:52:18Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BrowserListWithFilter.st,v 1.4 2012-06-05 22:03:39 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__BrowserListWithFilter.st,v 1.4 2012/06/05 22:03:39 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BrowserListWithFilter.st,v 1.4 2012-06-05 22:03:39 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: Tools__BrowserListWithFilter.st 8090 2013-01-17 21:52:18Z vranyj1 $'
 ! !
+
--- a/Tools__ChangeList.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__ChangeList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -72,6 +72,7 @@
 "
 ! !
 
+
 !ChangeList class methodsFor:'image specs'!
 
 iconEqual
@@ -110,6 +111,7 @@
     "Modified: / 31-08-2011 / 10:54:46 / cg"
 ! !
 
+
 !ChangeList class methodsFor:'interface specs'!
 
 windowSpec
@@ -181,6 +183,7 @@
       )
 ! !
 
+
 !ChangeList class methodsFor:'list specs'!
 
 listColumnSpec
@@ -294,6 +297,7 @@
 
 ! !
 
+
 !ChangeList class methodsFor:'menu specs'!
 
 listMenu
@@ -416,6 +420,7 @@
       )
 ! !
 
+
 !ChangeList class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -444,6 +449,7 @@
 
 ! !
 
+
 !ChangeList methodsFor:'accessing'!
 
 acceptEnabled
@@ -525,6 +531,7 @@
     "Created: / 05-12-2009 / 14:28:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'actions'!
 
 selectionDoubleclicked
@@ -540,6 +547,7 @@
     "Modified: / 24-01-2012 / 22:01:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'aspects'!
 
 allowAcceptHolder
@@ -702,6 +710,7 @@
     ].
 ! !
 
+
 !ChangeList methodsFor:'change & update'!
 
 update: aspect with: param from: sender
@@ -737,6 +746,7 @@
     "Modified: / 26-07-2012 / 18:44:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'drag & drop'!
 
 canDrop: aDropContext
@@ -768,6 +778,7 @@
     "Modified: / 01-08-2012 / 18:15:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'event processing'!
 
 
@@ -775,8 +786,10 @@
 
 
 handlesKeyPress:key inView:aView
-    ^(key == #Accept or:[ key == #Ctrls])
-	and:[ listView scrolledView == aView ]
+    <resource: #keyboard (#Accept #Ctrls)>
+
+    ^(key == #Accept or:[ key == #Ctrls]) 
+        and:[ listView scrolledView == aView ]
 
     "Created: / 08-02-2012 / 14:43:11 / cg"
 !
@@ -790,6 +803,7 @@
     "Created: / 08-02-2012 / 14:42:18 / cg"
 ! !
 
+
 !ChangeList methodsFor:'generators'!
 
 makeGenerator
@@ -808,6 +822,7 @@
     "Modified: / 25-07-2012 / 15:39:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'hooks'!
 
 postBuildListView: aView
@@ -818,6 +833,7 @@
     "Created: / 29-11-2011 / 14:56:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'initialization'!
 
 initialize
@@ -832,6 +848,7 @@
     "Created: / 29-10-2010 / 12:50:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'menu actions'!
 
 listMenuApply
@@ -1006,6 +1023,7 @@
     self updateList
 ! !
 
+
 !ChangeList methodsFor:'private'!
 
 application
@@ -1024,9 +1042,9 @@
 
 listColumn: columnId visible: visible
     visible ifTrue:[
-	self listColumnShow: columnId
+        self listColumnShow: columnId
     ] ifFalse:[
-	self listColumnHide: columnId
+        self listColumnHide: columnId
     ]
 
     "Created: / 26-07-2012 / 18:20:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -1145,6 +1163,7 @@
     "Modified: / 01-08-2012 / 18:10:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'queries'!
 
 hasChangeSelected
@@ -1183,6 +1202,7 @@
     "Created: / 03-04-2012 / 11:28:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList::ListEntry class methodsFor:'instance creation'!
 
 change: aChange
@@ -1206,6 +1226,7 @@
     "Created: / 25-07-2009 / 23:33:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !ChangeList::ListEntry methodsFor:'accessing'!
 
 application
@@ -1325,17 +1346,17 @@
      if there are just 2 lines, then merge them, otherwise add
      ... to the first line"
     (label includes: Character cr) ifTrue:[
-	| firstCR secondCR |
-	firstCR := label indexOf: Character cr.
-	firstCR ~~ label size ifTrue:[
-	    secondCR := label indexOf: Character cr startingAt: firstCR + 1.
-	].
-	secondCR isNil ifTrue:[
-	    "/2 lines only
-	    label := label copy at: firstCR put: Character space.
-	] ifFalse:[
-	    label := (label copyTo: firstCR - 1) , '...'
-	].
+        | firstCR secondCR |
+        firstCR := label indexOf: Character cr.
+        firstCR ~~ label size ifTrue:[
+            secondCR := label indexOf: Character cr startingAt: firstCR + 1.
+        ].
+        secondCR isNil ifTrue:[
+            "/2 lines only
+            label := label copy at: firstCR put: Character space.
+        ] ifFalse:[
+            label := (label copyTo: firstCR - 1) , '...'
+        ].
     ].
     self removed ifTrue:[label := label asText colorizeAllWith: Color gray].
     ^label
@@ -1389,6 +1410,7 @@
     ^ x
 ! !
 
+
 !ChangeList::ListEntry methodsFor:'displaying'!
 
 displayLabel:aLabel h:lH on:aGC x:newX y:y h:h
@@ -1425,6 +1447,7 @@
     "Modified: / 27-07-2012 / 17:13:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList::ListEntry methodsFor:'private'!
 
 iconSelector
@@ -1440,6 +1463,7 @@
     "Modified: / 31-08-2011 / 10:39:32 / cg"
 ! !
 
+
 !ChangeList::ListEntry methodsFor:'protocol-queries'!
 
 hasChildren
@@ -1449,16 +1473,18 @@
     "Modified (format): / 27-07-2012 / 21:25:34 / cg"
 ! !
 
+
 !ChangeList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.19 2012/09/10 12:16:47 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.20 2013-01-17 10:40:20 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.19 2012/09/10 12:16:47 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.20 2013-01-17 10:40:20 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__ChangeList.st 8054 2012-09-13 09:15:20Z vranyj1 $'
+    ^ 'Id: Tools__ChangeList.st 7486 2009-10-26 22:06:24Z vranyj1 '
 ! !
+
--- a/Tools__ChangeSetBrowser2.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__ChangeSetBrowser2.st	Wed Jan 30 11:15:09 2013 +0000
@@ -80,6 +80,7 @@
 "
 ! !
 
+
 !ChangeSetBrowser2 class methodsFor:'instance creation'!
 
 on: aStringOrChangeSet
@@ -127,6 +128,7 @@
     "Created: / 17-05-2012 / 23:36:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeSetBrowser2 class methodsFor:'accessing'!
 
 showRemoved
@@ -139,6 +141,7 @@
     ShowRemoved := aBoolean
 ! !
 
+
 !ChangeSetBrowser2 class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -362,6 +365,7 @@
     "Modified: / 01-08-2012 / 18:40:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeSetBrowser2 class methodsFor:'image specs'!
 
 applyFromLastSnapshotIcon
@@ -632,6 +636,7 @@
 @P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??B@@@B@C@B@G B@O0@@_8@@G @@G @@G @') ; yourself); yourself]
 ! !
 
+
 !ChangeSetBrowser2 class methodsFor:'interface opening'!
 
 confirmChanges: aChangeSet
@@ -709,15 +714,16 @@
 !
 
 openOn: aChangeSet
-    ^(self on: aChangeSet)
-	open;
-	yourself.
+    ^(self on: aChangeSet) 
+        open;
+        yourself
 
     "
-	self openOn: ChangeSet current
+        self openOn: ChangeSet current
     "
 
-    "Modified: / 30-01-2012 / 15:59:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (comment): / 24-01-2012 / 20:01:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 26-07-2012 / 13:19:18 / cg"
 !
 
 openOn: aChangeSet label: aString
@@ -735,6 +741,7 @@
     "Modified: / 26-07-2012 / 13:19:30 / cg"
 ! !
 
+
 !ChangeSetBrowser2 class methodsFor:'interface specs'!
 
 hierarchicalNavigatorSpec
@@ -1220,6 +1227,7 @@
     "Modified: / 16-03-2012 / 13:09:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeSetBrowser2 class methodsFor:'menu specs'!
 
 changeMenu
@@ -1730,6 +1738,7 @@
       )
 ! !
 
+
 !ChangeSetBrowser2 class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -1749,6 +1758,7 @@
 
 ! !
 
+
 !ChangeSetBrowser2 methodsFor:'accessing'!
 
 allowAccept: aBoolean
@@ -1851,6 +1861,7 @@
     "Created: / 26-10-2010 / 23:01:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeSetBrowser2 methodsFor:'accessing - defaults'!
 
 defaultTitle
@@ -1859,6 +1870,7 @@
     "Modified: / 08-04-2011 / 10:10:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeSetBrowser2 methodsFor:'accessing - menus'!
 
 list1MenuHolder
@@ -1887,6 +1899,7 @@
     "Modified (format): / 05-09-2011 / 16:07:34 / cg"
 ! !
 
+
 !ChangeSetBrowser2 methodsFor:'actions'!
 
 accept: source
@@ -1908,6 +1921,7 @@
     "Modified: / 19-07-2011 / 19:08:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeSetBrowser2 methodsFor:'aspects'!
 
 allowAcceptHolder
@@ -2337,7 +2351,10 @@
 
     "Created: / 07-09-2011 / 15:54:03 / cg"
     "Created: / 11-02-2012 / 22:40:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
+!
+
+ !
+
 
 !ChangeSetBrowser2 methodsFor:'aspects-queries'!
 
@@ -2377,6 +2394,7 @@
     "Created: / 17-05-2012 / 20:45:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeSetBrowser2 methodsFor:'change & update'!
 
 changesetChanged
@@ -2450,6 +2468,7 @@
     "Created: / 24-10-2009 / 19:29:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeSetBrowser2 methodsFor:'initialization'!
 
 list1View: aSubApplicationView
@@ -2468,6 +2487,7 @@
     "Modified: / 10-09-2012 / 14:22:50 / cg"
 ! !
 
+
 !ChangeSetBrowser2 methodsFor:'menu actions'!
 
 doApply
@@ -2832,6 +2852,7 @@
     "Created: / 07-09-2011 / 12:47:15 / cg"
 ! !
 
+
 !ChangeSetBrowser2 methodsFor:'menu actions - changes'!
 
 changeMenuApply: changeList
@@ -3246,6 +3267,7 @@
     "Created: / 23-07-2012 / 13:13:11 / cg"
 ! !
 
+
 !ChangeSetBrowser2 methodsFor:'menu actions - changes - helpers'!
 
 changeMenuApplyChange: aChange
@@ -3333,6 +3355,7 @@
     "Modified: / 21-01-2013 / 17:12:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeSetBrowser2 methodsFor:'private'!
 
 changesDo:aBlock
@@ -3387,9 +3410,9 @@
 "/    selectionHolder value isEmptyOrNil ifTrue:[
 "/        (self navigatorChangesetHolder value ? #()) do: aBlock
 "/    ] ifFalse:[
-	selection2Holder value isEmptyOrNil not
-	    ifTrue:[selection2Holder value do: [:e|e notNil ifTrue:[applyBlock value:e]]]
-	    ifFalse:[selection1Holder value do: [:e|e notNil ifTrue:[applyBlock value:e]]].
+        selection2Holder value isEmptyOrNil not
+            ifTrue:[selection2Holder value do: [:e|e notNil ifTrue:[applyBlock value:e]]]
+            ifFalse:[selection1Holder value do: [:e|e notNil ifTrue:[applyBlock value:e]]].
 "/    ].
     self redrawChangeListViews
 
@@ -3441,6 +3464,7 @@
     "Created: / 07-09-2011 / 20:12:04 / cg"
 ! !
 
+
 !ChangeSetBrowser2 methodsFor:'queries'!
 
 canApplyChanges
@@ -3479,6 +3503,7 @@
     "Created: / 04-08-2011 / 18:25:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeSetBrowser2 methodsFor:'testing'!
 
 isHierarchical
@@ -3505,6 +3530,7 @@
     "Created: / 30-03-2012 / 11:59:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeSetBrowser2::ChangeEditor class methodsFor:'documentation'!
 
 documentation
@@ -3541,6 +3567,7 @@
 "
 ! !
 
+
 !ChangeSetBrowser2::ChangeEditor class methodsFor:'interface specs'!
 
 windowSpec
@@ -3624,6 +3651,7 @@
     "Modified: / 16-03-2012 / 13:08:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeSetBrowser2::ChangeEditor methodsFor:'accessing'!
 
 sourceChangeHolder
@@ -3642,6 +3670,7 @@
     sourceImageHolder := something.
 ! !
 
+
 !ChangeSetBrowser2::ChangeEditor methodsFor:'aspects'!
 
 changeHolder
@@ -3752,6 +3781,7 @@
     showdiffHolder := something.
 ! !
 
+
 !ChangeSetBrowser2::ChangeEditor methodsFor:'change & update'!
 
 changeChanged
@@ -3781,14 +3811,15 @@
     "Modified: / 29-11-2011 / 11:15:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeSetBrowser2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.43 2012/12/14 09:09:51 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.43 2012-12-14 09:09:51 stefan Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.43 2012/12/14 09:09:51 stefan Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.43 2012-12-14 09:09:51 stefan Exp $'
 !
 
 version_HG
@@ -3797,6 +3828,6 @@
 !
 
 version_SVN
-    ^ 'Id: Tools__ChangeSetBrowser2.st 8083 2013-01-14 11:48:37Z vranyj1 '
+    ^ 'Id: Tools__ChangeSetBrowser.st 7486 2009-10-26 22:06:24Z vranyj1 '
 ! !
 
--- a/Tools__CheckinInfoDialog.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__CheckinInfoDialog.st	Wed Jan 30 11:15:09 2013 +0000
@@ -54,6 +54,7 @@
 "
 ! !
 
+
 !CheckinInfoDialog class methodsFor:'interface specs'!
 
 windowSpec
@@ -206,6 +207,7 @@
       )
 ! !
 
+
 !CheckinInfoDialog class methodsFor:'opening'!
 
 getCheckinInfoFor:aString initialAnswer:initialAnswer
@@ -273,6 +275,7 @@
     "Created: / 12-03-2012 / 12:36:26 / cg"
 ! !
 
+
 !CheckinInfoDialog methodsFor:'accessing'!
 
 allowEmptyLogMessage
@@ -343,6 +346,7 @@
     ^ self quickCheckInVisibleHolder value:aBoolean
 ! !
 
+
 !CheckinInfoDialog methodsFor:'aspects'!
 
 descriptionHolder
@@ -423,16 +427,18 @@
     "Created: / 06-07-2010 / 11:30:29 / cg"
 ! !
 
+
 !CheckinInfoDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CheckinInfoDialog.st,v 1.15 2012/03/12 12:13:08 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CheckinInfoDialog.st,v 1.15 2012-03-12 12:13:08 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__CheckinInfoDialog.st,v 1.15 2012/03/12 12:13:08 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CheckinInfoDialog.st,v 1.15 2012-03-12 12:13:08 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: Tools__CheckinInfoDialog.st 7952 2012-03-21 17:50:14Z vranyj1 $'
 ! !
+
--- a/Tools__CodeCompletionMenu.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__CodeCompletionMenu.st	Wed Jan 30 11:15:09 2013 +0000
@@ -65,6 +65,7 @@
 "
 ! !
 
+
 !CodeCompletionMenu class methodsFor:'interface opening'!
 
 openFor: aCodeView at: anInteger with:aCollection
@@ -80,6 +81,7 @@
     "Modified: / 01-07-2011 / 00:05:01 / cg"
 ! !
 
+
 !CodeCompletionMenu methodsFor:'accessing'!
 
 contentHeight
@@ -108,6 +110,7 @@
     "Modified: / 06-03-2010 / 08:17:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeCompletionMenu methodsFor:'event handling'!
 
 backspaceKeyPress
@@ -122,8 +125,8 @@
 !
 
 characterKeyPress:aCharacter
+    | newString |
 
-    | newString |
     newString := typedString , aCharacter.
     (wholeList anySatisfy:[:s|s startsWith:newString]) ifTrue:[
         typedString := newString.
@@ -141,6 +144,7 @@
 !
 
 keyPress:key x:x y:y
+    <resource: #keyboard (#Return #BackSpace #Tab)>
 
     key isCharacter ifTrue:[
         self characterKeyPress:key.
@@ -199,8 +203,8 @@
 !
 
 tabKeyPressX:x y:y
+    | currentList idx char completionString|
 
-    | currentList idx char completionString|
     currentList := self list.
     idx := typedString size + 1.
     [
@@ -219,6 +223,7 @@
     "Created: / 29-05-2005 / 09:50:03 / janfrog"
 ! !
 
+
 !CodeCompletionMenu methodsFor:'initialize'!
 
 initialize
@@ -246,6 +251,7 @@
     "Modified: / 01-07-2011 / 00:08:31 / cg"
 ! !
 
+
 !CodeCompletionMenu methodsFor:'interface opening'!
 
 openModalXX
@@ -288,6 +294,7 @@
     "Modified: / 01-07-2011 / 09:30:29 / cg"
 ! !
 
+
 !CodeCompletionMenu methodsFor:'updating'!
 
 updateList
@@ -298,12 +305,14 @@
     "Modified: / 27-05-2005 / 22:23:37 / janfrog"
 ! !
 
+
 !CodeCompletionMenu class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__CodeCompletionMenu.st,v 1.3 2011/07/03 17:50:23 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeCompletionMenu.st,v 1.4 2013-01-17 10:39:42 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeCompletionMenu.st 7854 2012-01-30 17:49:41Z vranyj1 $'
-! !
\ No newline at end of file
+    ^ 'Id: Tools__CodeCompletionMenu.st 7690 2011-03-19 02:23:25Z vranyj1 '
+! !
+
--- a/Tools__CodeHighlightingService.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__CodeHighlightingService.st	Wed Jan 30 11:15:09 2013 +0000
@@ -64,6 +64,7 @@
 "
 ! !
 
+
 !CodeHighlightingService class methodsFor:'accessing'!
 
 label
@@ -75,6 +76,7 @@
     "Created: / 07-03-2010 / 14:00:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeHighlightingService methodsFor:'accessing'!
 
 syntaxHighlighter
@@ -141,6 +143,7 @@
     "Modified: / 19-07-2012 / 12:58:48 / cg"
 ! !
 
+
 !CodeHighlightingService methodsFor:'acessing-defaults'!
 
 defaultJobName
@@ -150,6 +153,7 @@
     "Created: / 24-01-2012 / 12:06:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeHighlightingService methodsFor:'private'!
 
 process
@@ -357,16 +361,18 @@
     "Modified: / 17-03-2012 / 19:33:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeHighlightingService class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeHighlightingService.st,v 1.35 2012/07/27 21:51:55 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeHighlightingService.st,v 1.36 2013-01-11 09:56:42 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__CodeHighlightingService.st,v 1.35 2012/07/27 21:51:55 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeHighlightingService.st,v 1.36 2013-01-11 09:56:42 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeHighlightingService.st 8048 2012-09-07 17:28:09Z vranyj1 $'
+    ^ 'Id: Tools__CodeHighlightingService.st 7715 2011-04-10 16:32:58Z vranyj1 '
 ! !
+
--- a/Tools__CodeNavigationService.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__CodeNavigationService.st	Wed Jan 30 11:15:09 2013 +0000
@@ -27,7 +27,7 @@
 
 "{ NameSpace: Tools }"
 
-CodeViewService subclass:#CodeNavigationService
+Tools::CodeViewService subclass:#CodeNavigationService
 	instanceVariableNames:'selectorEmphasis variableEmphasis currentEmphasis linesToRedraw'
 	classVariableNames:'DefaultVariableEmphasis DefaultSelectorEmphasis'
 	poolDictionaries:''
@@ -64,6 +64,7 @@
 "
 ! !
 
+
 !CodeNavigationService class methodsFor:'accessing'!
 
 label
@@ -82,6 +83,7 @@
     "Created: / 27-07-2011 / 11:40:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeNavigationService class methodsFor:'accessing - defaults'!
 
 defaultSelectorEmphasis
@@ -105,6 +107,7 @@
     "Modified: / 15-02-2012 / 19:38:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeNavigationService methodsFor:'change & update'!
 
 update: aspect with: param from: sender
@@ -122,6 +125,7 @@
     "Modified: / 05-09-2011 / 05:15:42 / cg"
 ! !
 
+
 !CodeNavigationService methodsFor:'code services'!
 
 browseClass:class 
@@ -148,6 +152,7 @@
     "Created: / 06-03-2010 / 21:14:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeNavigationService methodsFor:'event handling'!
 
 button1Press
@@ -279,6 +284,9 @@
      If the method returns true, it has eaten the event and it will not be processed
      by the view."
 
+    <resource: #keyboard (#Control_L #Ctrl 
+                          #CursorRight #CursorDown #CursorLeft #CursorUp)>
+
     |ev p|
 
     (view ==  textView) ifTrue:[
@@ -357,6 +365,7 @@
     "Created: / 16-09-2011 / 15:19:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeNavigationService methodsFor:'initialization'!
 
 initialize
@@ -369,6 +378,7 @@
     "Created: / 25-06-2010 / 14:05:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeNavigationService methodsFor:'private'!
 
 elementAtCursor
@@ -620,6 +630,7 @@
     "Created: / 25-06-2010 / 14:15:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeNavigationService methodsFor:'redrawing'!
 
 redrawLines
@@ -632,12 +643,14 @@
     "Modified (format): / 18-08-2011 / 16:01:34 / cg"
 ! !
 
+
 !CodeNavigationService class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__CodeNavigationService.st,v 1.18 2012/08/11 22:20:22 stefan Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeNavigationService.st,v 1.19 2013-01-17 10:35:48 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeNavigationService.st 8048 2012-09-07 17:28:09Z vranyj1 $'
+    ^ 'Id: Tools__CodeNavigationService.st 7788 2011-06-17 07:57:48Z vranyj1 '
 ! !
+
--- a/Tools__CodeView2.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__CodeView2.st	Wed Jan 30 11:15:09 2013 +0000
@@ -89,6 +89,7 @@
 "
 ! !
 
+
 !CodeView2 class methodsFor:'initialization'!
 
 initialize
@@ -101,6 +102,7 @@
     "Modified: / 14-02-2010 / 15:36:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 class methodsFor:'debugging'!
 
 trace: aSelector
@@ -124,6 +126,7 @@
     "Created: / 14-02-2010 / 09:53:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 class methodsFor:'examples'!
 
 example1
@@ -146,6 +149,7 @@
     "Created: / 02-09-2009 / 21:48:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 class methodsFor:'menu specs'!
 
 debugMenu
@@ -481,6 +485,7 @@
     "Modified: / 02-03-2012 / 19:53:19 / cg"
 ! !
 
+
 !CodeView2 methodsFor:'* As yet uncategorized *'!
 
 defaultFileNameForSave
@@ -489,6 +494,7 @@
     "Created: / 11-05-2012 / 15:38:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'accessing'!
 
 acceptAction:aBlock
@@ -745,6 +751,7 @@
     "Created: / 19-03-2012 / 14:25:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'accessing - code component'!
 
 klass
@@ -759,6 +766,7 @@
     "Created: / 27-07-2011 / 13:14:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'accessing-code component'!
 
 klass: aClass
@@ -802,6 +810,7 @@
     "Created: / 27-07-2011 / 13:12:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'aspects'!
 
 browserHolder
@@ -997,6 +1006,7 @@
     "Modified: / 17-06-2011 / 12:55:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'change & update'!
 
 update:aspect with:param from:sender
@@ -1036,6 +1046,7 @@
     "Created: / 23-06-2010 / 19:05:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'channels'!
 
 modifiedChannel
@@ -1120,6 +1131,7 @@
     "Created: / 23-06-2010 / 19:03:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'code services'!
 
 browseMethod: method
@@ -1218,6 +1230,7 @@
     "Modified: / 18-11-2011 / 14:58:19 / cg"
 ! !
 
+
 !CodeView2 methodsFor:'delegation'!
 
 doesNotUnderstand: aMessage
@@ -1238,6 +1251,7 @@
     "Created: / 14-02-2010 / 09:53:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'delegation - events'!
 
 buttonMotion: button x:x y:y in: view
@@ -1330,6 +1344,7 @@
     "Created: / 19-03-2012 / 17:05:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'delegation-drawing'!
 
 drawLine:lineNo in: view atX:x y:y width: w height:h from:startCol to:endColOrNil with:fg and:bg
@@ -1365,6 +1380,7 @@
     "Modified: / 07-03-2010 / 14:46:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'delegation-events'!
 
 linesDeletedFrom: start to: end
@@ -1408,6 +1424,7 @@
 
  !
 
+
 !CodeView2 methodsFor:'diff mode'!
 
 recomputeDiff:view 
@@ -1440,6 +1457,7 @@
     "Modified: / 23-06-2010 / 17:25:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'initialization'!
 
 initialize
@@ -1526,6 +1544,7 @@
     "Modified: / 23-06-2010 / 19:38:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'menu actions'!
 
 accept
@@ -1632,6 +1651,7 @@
     "Created: / 16-02-2010 / 19:35:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'menus-dynamic'!
 
 editMenu
@@ -1828,6 +1848,7 @@
     "Modified: / 06-10-2011 / 14:14:30 / cg"
 ! !
 
+
 !CodeView2 methodsFor:'private'!
 
 codeCompletion
@@ -1951,6 +1972,7 @@
     "Modified: / 13-02-2010 / 23:25:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'private-accessing'!
 
 gutterView
@@ -1999,6 +2021,7 @@
     "Created: / 14-02-2010 / 15:21:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'realization'!
 
 postRealize
@@ -2010,6 +2033,7 @@
     "Created: / 23-01-2012 / 10:35:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2 methodsFor:'services'!
 
 registerService: aCodeViewService
@@ -2029,6 +2053,7 @@
     "Created: / 19-07-2012 / 16:34:18 / cg"
 ! !
 
+
 !CodeView2 methodsFor:'testing'!
 
 isCodeView2
@@ -2045,6 +2070,7 @@
     "Created: / 14-02-2010 / 22:13:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::GutterView methodsFor:'accessing'!
 
 setTextView: aTextView
@@ -2069,6 +2095,7 @@
     "Created: / 07-12-2009 / 22:36:31 / Jindra <a>"
 ! !
 
+
 !CodeView2::GutterView methodsFor:'accessing-dimensions'!
 
 acceptButtonBottom
@@ -2135,6 +2162,7 @@
     ^ (codeView showAcceptCancelBar ifTrue:[widthAcceptCancel ? 0] ifFalse:[0])
 ! !
 
+
 !CodeView2::GutterView methodsFor:'actions'!
 
 accept
@@ -2156,6 +2184,7 @@
     "Created: / 07-10-2011 / 20:23:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::GutterView methodsFor:'aspects'!
 
 currentBlockNodeHolder
@@ -2187,6 +2216,7 @@
     ].
 ! !
 
+
 !CodeView2::GutterView methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -2222,6 +2252,7 @@
     "Modified: / 05-04-2012 / 17:47:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::GutterView methodsFor:'event handling'!
 
 buttonPress: btn x: x y: y
@@ -2262,6 +2293,7 @@
     "Modified (comment): / 18-05-2012 / 10:56:54 / cg"
 ! !
 
+
 !CodeView2::GutterView methodsFor:'help'!
 
 flyByHelpText
@@ -2270,6 +2302,7 @@
     "Created: / 27-01-2012 / 14:04:52 / cg"
 ! !
 
+
 !CodeView2::GutterView methodsFor:'initialization'!
 
 initialize
@@ -2307,6 +2340,7 @@
     "Modified: / 05-04-2012 / 17:46:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::GutterView methodsFor:'queries'!
 
 displayedString: line
@@ -2347,6 +2381,7 @@
     "Created: / 14-12-2009 / 13:35:07 / Jindra <a>"
 ! !
 
+
 !CodeView2::GutterView methodsFor:'redrawing'!
 
 redrawAcceptCancelBarX: x y: y width:w height:h
@@ -2506,6 +2541,7 @@
     "Modified: / 10-10-2011 / 16:35:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'accessing'!
 
 changedDiffText
@@ -2619,6 +2655,7 @@
     "Created: / 07-10-2011 / 19:28:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'accessing-colors'!
 
 colorChanged
@@ -2642,6 +2679,7 @@
     "Modified: / 24-06-2010 / 14:13:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'accessing-contents'!
 
 list:aCollection expandTabs:expand scanForNonStrings:scan includesNonStrings:nonStrings
@@ -2664,6 +2702,7 @@
     "Created: / 07-10-2011 / 18:42:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'accessing-look'!
 
 lineSpacing
@@ -2674,6 +2713,7 @@
     "Created: / 19-03-2012 / 13:22:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'accessing-state'!
 
 beUnmodified
@@ -2699,6 +2739,7 @@
     "Created: / 08-10-2011 / 12:52:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'channels'!
 
 reallyModifiedChannel
@@ -2727,6 +2768,7 @@
     "Created: / 07-10-2011 / 18:50:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'drawing'!
 
 backgroundForVisibleLine:visLineNr default:bg 
@@ -2883,6 +2925,7 @@
     "Modified: / 17-03-2012 / 09:27:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'editing'!
 
 contentsChanged
@@ -3018,6 +3061,7 @@
     "Modified: / 18-11-2011 / 14:58:22 / cg"
 ! !
 
+
 !CodeView2::TextView methodsFor:'editing-basic'!
 
 basicDeleteCharsAtLine:lineNr fromCol:startCol toCol:endCol
@@ -3085,6 +3129,7 @@
     "Created: / 20-12-2011 / 15:32:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'event handling'!
 
 buttonMotion:button x:x y:y
@@ -3152,6 +3197,7 @@
     "Modified: / 06-03-2010 / 21:04:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'formatting'!
 
 leftIndentForLine:lineNr
@@ -3192,6 +3238,7 @@
     "Created: / 10-12-2011 / 11:02:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'initialization'!
 
 initialize
@@ -3231,6 +3278,7 @@
     "Created: / 02-09-2009 / 21:57:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'menu & menu actions'!
 
 accept
@@ -3315,6 +3363,7 @@
     "Created: / 08-03-2012 / 12:44:03 / cg"
 ! !
 
+
 !CodeView2::TextView methodsFor:'notification'!
 
 notifyLinesDeletedFrom: startLine to: endLine
@@ -3352,6 +3401,7 @@
     "Created: / 16-09-2011 / 15:12:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'private'!
 
 superEditMenu
@@ -3420,12 +3470,14 @@
     "Modified: / 28-10-2011 / 09:23:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2::TextView methodsFor:'queries'!
 
 supportsSyntaxElements
     ^ true
 ! !
 
+
 !CodeView2::TextView methodsFor:'scrolling'!
 
 
@@ -3463,6 +3515,7 @@
 
  !
 
+
 !CodeView2::TextView methodsFor:'undo & again'!
 
 nonUndoableDo: aBlock
@@ -3481,18 +3534,20 @@
     "Created: / 06-07-2011 / 17:48:49 / jv"
 ! !
 
+
 !CodeView2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.67 2012/11/01 14:20:15 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.67 2012-11-01 14:20:15 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.67 2012/11/01 14:20:15 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.67 2012-11-01 14:20:15 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeView2.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id: Tools__CodeView2.st 7797 2011-06-28 07:45:06Z vranyj1 '
 ! !
 
+
 CodeView2 initialize!
--- a/Tools__CodeView2SettingsAppl.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__CodeView2SettingsAppl.st	Wed Jan 30 11:15:09 2013 +0000
@@ -38,6 +38,7 @@
 "
 ! !
 
+
 !CodeView2SettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -71,6 +72,7 @@
 )
 ! !
 
+
 !CodeView2SettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -96,6 +98,7 @@
 RRY(UUUD***("*)J*****$R***"J)J******QJ***HUUUZUUUUUD***TQDQDQDQDQDR***************(b') ; colorMapFromArray:#[240 160 80 192 80 0 64 0 0 240 208 160 0 0 0 240 240 240 192 192 192 240 128 0 208 208 208 48 48 48 160 160 160 255 0 0]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@C@@@G??LG??<_??<_??<G??<G??<G??<G??<G??8G??0G??0G??0G??0G??0G??0G??0G??0G??0O??0@@@@') ; yourself); yourself]
 ! !
 
+
 !CodeView2SettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -245,6 +248,7 @@
       )
 ! !
 
+
 !CodeView2SettingsAppl methodsFor:'aspects'!
 
 acceptCancelInGutterEnabledHolder
@@ -332,6 +336,7 @@
     "Created: / 26-07-2011 / 10:31:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2SettingsAppl methodsFor:'aspects-enablement'!
 
 useCodeView2InToolEnabled
@@ -349,6 +354,7 @@
     "Modified (format): / 25-11-2011 / 15:11:55 / cg"
 ! !
 
+
 !CodeView2SettingsAppl methodsFor:'protocol'!
 
 basicAspects
@@ -388,6 +394,7 @@
     "Modified: / 19-07-2011 / 16:55:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !CodeView2SettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -399,16 +406,18 @@
     "Modified (format): / 25-11-2011 / 15:25:16 / cg"
 ! !
 
+
 !CodeView2SettingsAppl class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2SettingsAppl.st,v 1.6 2012/11/01 13:55:42 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2SettingsAppl.st,v 1.6 2012-11-01 13:55:42 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__CodeView2SettingsAppl.st,v 1.6 2012/11/01 13:55:42 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2SettingsAppl.st,v 1.6 2012-11-01 13:55:42 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeView2SettingsAppl.st 8074 2012-11-30 17:23:39Z vranyj1 $'
-! !
\ No newline at end of file
+    ^ 'Id'
+! !
+
--- a/Tools__DiffCodeView2.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__DiffCodeView2.st	Wed Jan 30 11:15:09 2013 +0000
@@ -71,6 +71,7 @@
 "
 ! !
 
+
 !DiffCodeView2 class methodsFor:'defaults'!
 
 textViewClass
@@ -82,6 +83,7 @@
     "Created: / 06-03-2010 / 10:40:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !DiffCodeView2 methodsFor:'accessing'!
 
 classHolder: aValueModel
@@ -137,6 +139,7 @@
     "Modified: / 15-07-2010 / 23:08:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !DiffCodeView2 methodsFor:'initialization'!
 
 initialize
@@ -156,6 +159,7 @@
     "Modified: / 23-06-2010 / 19:36:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !DiffCodeView2 methodsFor:'private'!
 
 computeDiffDataForText1:t1 text2:t2 
@@ -316,6 +320,7 @@
     "Modified (comment): / 26-07-2012 / 21:45:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !DiffCodeView2::DiffData methodsFor:'accessing'!
 
 changed
@@ -362,12 +367,14 @@
     text2 := something.
 ! !
 
+
 !DiffCodeView2 class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__DiffCodeView2.st,v 1.6 2012/07/27 22:05:42 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__DiffCodeView2.st,v 1.6 2012-07-27 22:05:42 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__DiffCodeView2.st 8048 2012-09-07 17:28:09Z vranyj1 $'
+    ^ 'Id: Tools__DiffCodeView2.st 7594 2010-07-16 08:57:35Z vranyj1 '
 ! !
+
--- a/Tools__HierarchicalChangesetDialog.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__HierarchicalChangesetDialog.st	Wed Jan 30 11:15:09 2013 +0000
@@ -71,6 +71,7 @@
 "
 ! !
 
+
 !HierarchicalChangesetDialog class methodsFor:'interface specs'!
 
 codeViewSpec
@@ -234,6 +235,7 @@
     "Modified: / 06-11-2008 / 17:51:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !HierarchicalChangesetDialog class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -256,6 +258,7 @@
     "Modified: / 03-04-2009 / 09:46:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !HierarchicalChangesetDialog methodsFor:'accessing'!
 
 changeSet
@@ -319,6 +322,7 @@
     "Created: / 06-11-2008 / 15:02:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !HierarchicalChangesetDialog methodsFor:'actions'!
 
 changeListToggleRemoved
@@ -336,6 +340,7 @@
         ifNotNil:[ selectedChangeSetHolder value:self selectedChangeSet ]
 ! !
 
+
 !HierarchicalChangesetDialog methodsFor:'aspects'!
 
 changeSetHolder
@@ -430,6 +435,7 @@
     "Modified: / 06-11-2008 / 15:04:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !HierarchicalChangesetDialog methodsFor:'change & update'!
 
 updateChangeSet
@@ -475,6 +481,7 @@
     "Modified (format): / 18-11-2011 / 14:59:31 / cg"
 ! !
 
+
 !HierarchicalChangesetDialog methodsFor:'hooks'!
 
 commonPostOpen
@@ -485,12 +492,14 @@
     "Modified: / 06-11-2008 / 17:11:58 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !HierarchicalChangesetDialog::Change class methodsFor:'documentation'!
 
 version
-    ^'$Header: /cvs/stx/stx/libtool/Tools__HierarchicalChangesetDialog.st,v 1.4 2012/08/13 11:12:18 stefan Exp $'
+    ^'$Header: /cvs/stx/stx/libtool/Tools__HierarchicalChangesetDialog.st,v 1.4 2012-08-13 11:12:18 stefan Exp $'
 ! !
 
+
 !HierarchicalChangesetDialog::Change class methodsFor:'image specs'!
 
 checkedIcon
@@ -543,6 +552,7 @@
     "Created: / 06-11-2008 / 16:32:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !HierarchicalChangesetDialog::Change class methodsFor:'instance creation'!
 
 forChange: aChange
@@ -559,6 +569,7 @@
     "Created: / 26-11-2008 / 11:33:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !HierarchicalChangesetDialog::Change methodsFor:'accessing'!
 
 change
@@ -645,6 +656,7 @@
     "Modified: / 06-11-2008 / 16:31:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !HierarchicalChangesetDialog::Change methodsFor:'change & update'!
 
 updateRemoved
@@ -655,6 +667,7 @@
     "Created: / 06-11-2008 / 17:36:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !HierarchicalChangesetDialog::Change methodsFor:'private'!
 
 setRemoved: aBoolean
@@ -666,6 +679,7 @@
     "Created: / 06-11-2008 / 17:49:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !HierarchicalChangesetDialog::Change methodsFor:'testing'!
 
 isCompositeChange
@@ -691,12 +705,14 @@
     "Modified: / 18-11-2011 / 14:59:39 / cg"
 ! !
 
+
 !HierarchicalChangesetDialog class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__HierarchicalChangesetDialog.st,v 1.4 2012/08/13 11:12:18 stefan Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__HierarchicalChangesetDialog.st,v 1.4 2012-08-13 11:12:18 stefan Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__HierarchicalChangesetDialog.st 8048 2012-09-07 17:28:09Z vranyj1 $'
+    ^ 'Id: Tools__HierarchicalChangesetDialog.st 7486 2009-10-26 22:06:24Z vranyj1 '
 ! !
+
--- a/Tools__HierarchicalLintRuleList.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__HierarchicalLintRuleList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -27,7 +27,7 @@
 
 "{ NameSpace: Tools }"
 
-LintRuleList subclass:#HierarchicalLintRuleList
+Tools::LintRuleList subclass:#HierarchicalLintRuleList
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
@@ -64,6 +64,7 @@
 "
 ! !
 
+
 !HierarchicalLintRuleList class methodsFor:'interface specs'!
 
 windowSpec
@@ -123,6 +124,7 @@
       )
 ! !
 
+
 !HierarchicalLintRuleList class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -146,6 +148,7 @@
 
 ! !
 
+
 !HierarchicalLintRuleList methodsFor:'aspects'!
 
 listHolder
@@ -160,6 +163,7 @@
     "Created: / 15-04-2010 / 20:32:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !HierarchicalLintRuleList methodsFor:'private'!
 
 updateList
@@ -199,13 +203,14 @@
     "Modified: / 08-03-2012 / 03:11:19 / cg"
 ! !
 
+
 !HierarchicalLintRuleList class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__HierarchicalLintRuleList.st,v 1.4 2012/03/08 02:44:52 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__HierarchicalLintRuleList.st,v 1.4 2012-03-08 02:44:52 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__HierarchicalLintRuleList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ 'Id: Tools__HierarchicalLintRuleList.st 7617 2010-08-25 12:56:19Z vranyj1 '
 ! !
 
--- a/Tools__InlineMessageDialog.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__InlineMessageDialog.st	Wed Jan 30 11:15:09 2013 +0000
@@ -106,6 +106,7 @@
 "
 ! !
 
+
 !InlineMessageDialog class methodsFor:'accessing-colors'!
 
 defaultInformationBackground
@@ -122,6 +123,7 @@
     "Created: / 10-04-2012 / 19:30:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog class methodsFor:'interface specs'!
 
 messageInfoSpec
@@ -315,12 +317,14 @@
       )
 ! !
 
+
 !InlineMessageDialog class methodsFor:'others'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.7 2012/05/17 15:31:22 vrany Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.7 2012-05-17 15:31:22 vrany Exp $'
 ! !
 
+
 !InlineMessageDialog methodsFor:'accessing'!
 
 backgroundColor: aColor
@@ -358,6 +362,7 @@
     "Created: / 28-10-2010 / 18:24:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'accessing-presentation'!
 
 changeLayoutUponShowHide: aBoolean
@@ -372,6 +377,7 @@
     "Modified (comment): / 17-05-2012 / 13:56:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'actions'!
 
 doAbort
@@ -417,6 +423,7 @@
     "Modified: / 27-07-2012 / 15:42:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'adding & removing components'!
 
 addButton: aButton
@@ -518,6 +525,7 @@
     "Created: / 11-04-2012 / 00:51:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'aspects'!
 
 backgroundColorHolder
@@ -629,6 +637,7 @@
     "Modified: / 28-10-2010 / 18:29:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'change & update'!
 
 update:aspect with:parameter from:changedObject
@@ -643,6 +652,7 @@
     "Modified: / 10-04-2012 / 19:36:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'hooks'!
 
 commonPostBuild
@@ -671,6 +681,7 @@
     "Created: / 10-02-2012 / 10:42:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'private'!
 
 getMyView
@@ -769,6 +780,7 @@
     "Created: / 29-10-2010 / 11:48:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'utilities'!
 
 reset
@@ -863,6 +875,7 @@
     "Created: / 11-04-2012 / 13:38:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'utilities-obsolete'!
 
 information: message 
@@ -931,12 +944,14 @@
     "Created: / 13-02-2012 / 16:59:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__InlineMessageDialog.st 8091 2013-01-18 00:03:03Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.7 2012-05-17 15:31:22 vrany Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__InlineMessageDialog.st 8091 2013-01-18 00:03:03Z vranyj1 $'
+    ^ 'Id: Tools__InlineMessageDialog.st 7976 2012-04-11 16:14:22Z vranyj1 '
 ! !
+
--- a/Tools__Inspector2.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__Inspector2.st	Wed Jan 30 11:15:09 2013 +0000
@@ -56,6 +56,7 @@
 "
 ! !
 
+
 !Inspector2 class methodsFor:'initialization'!
 
 initialize
@@ -77,6 +78,7 @@
     "Modified: / 17-01-2012 / 12:57:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !Inspector2 class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -141,6 +143,7 @@
 )
 ! !
 
+
 !Inspector2 class methodsFor:'image specs'!
 
 settingsIcon
@@ -353,6 +356,7 @@
 ?8C???>@???? @@a') ; yourself); yourself]
 ! !
 
+
 !Inspector2 class methodsFor:'interface specs'!
 
 windowSpec
@@ -408,6 +412,7 @@
       )
 ! !
 
+
 !Inspector2 class methodsFor:'menu specs'!
 
 mainMenu
@@ -630,6 +635,7 @@
             label: 'Settings'
             translateLabel: true
             isButton: true
+            isVisible: false
             submenuChannel: settingsMenu
             labelImage: (ResourceRetriever #'Tools::Inspector2' settingsIcon)
           )
@@ -639,6 +645,7 @@
       )
 ! !
 
+
 !Inspector2 class methodsFor:'startup'!
 
 openOn: anObject
@@ -650,6 +657,7 @@
     "Modified (format): / 11-07-2011 / 22:28:03 / cg"
 ! !
 
+
 !Inspector2 class methodsFor:'testing'!
 
 testSimpleShow
@@ -668,6 +676,7 @@
     "Modified: / 11-01-2008 / 20:36:37 / janfrog"
 ! !
 
+
 !Inspector2 methodsFor:'accessing'!
 
 backButtonEnabled:value 
@@ -718,6 +727,7 @@
     "Modified: / 19-08-2011 / 09:16:38 / cg"
 ! !
 
+
 !Inspector2 methodsFor:'aspects'!
 
 backButtonEnabledHolder
@@ -878,6 +888,7 @@
     "Modified: / 27-02-2008 / 12:05:56 / janfrog"
 ! !
 
+
 !Inspector2 methodsFor:'menu'!
 
 backButtonMenuChannel
@@ -894,6 +905,7 @@
     "Modified: / 22-02-2008 / 16:58:11 / janfrog"
 ! !
 
+
 !Inspector2 methodsFor:'menu actions'!
 
 backButtonAction
@@ -977,6 +989,7 @@
     "Created: / 21-08-2011 / 08:23:00 / cg"
 ! !
 
+
 !Inspector2 methodsFor:'opening'!
 
 closeDownViews
@@ -1038,6 +1051,7 @@
     "Created: / 15-07-2011 / 16:25:42 / cg"
 ! !
 
+
 !Inspector2::NavigationState class methodsFor:'creating classes'!
 
 for:anObject 
@@ -1050,16 +1064,18 @@
     "Modified (format): / 19-08-2011 / 09:24:40 / cg"
 ! !
 
+
 !Inspector2::NavigationState class methodsFor:'documentation'!
 
 version
-    ^'$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.32 2012/10/24 13:04:30 cg Exp $'
+    ^'$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.32 2012-10-24 13:04:30 cg Exp $'
 !
 
 version_SVN
-    ^'$Id: Tools__Inspector2.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^'Id: Tools__Inspector2.st 115 2009-04-16 12:47:07Z vranyj1 '
 ! !
 
+
 !Inspector2::NavigationState methodsFor:'accessing'!
 
 index
@@ -1136,6 +1152,7 @@
     "Modified: / 19-08-2011 / 09:16:25 / cg"
 ! !
 
+
 !Inspector2::NavigationState methodsFor:'comparing'!
 
 = anotherState
@@ -1153,6 +1170,7 @@
     "Created: / 21-02-2008 / 19:38:08 / janfrog"
 ! !
 
+
 !Inspector2::NavigationState methodsFor:'displaying'!
 
 displayString
@@ -1171,6 +1189,7 @@
     "Modified: / 13-06-2012 / 14:40:34 / cg"
 ! !
 
+
 !Inspector2::NavigationState methodsFor:'initialization'!
 
 initializeClassBrowserTab
@@ -1270,14 +1289,15 @@
     "Created: / 21-08-2011 / 08:23:11 / cg"
 ! !
 
+
 !Inspector2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.32 2012/10/24 13:04:30 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.32 2012-10-24 13:04:30 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.32 2012/10/24 13:04:30 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.32 2012-10-24 13:04:30 cg Exp $'
 !
 
 version_CVS_jvrany
@@ -1285,7 +1305,8 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__Inspector2.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id: Tools__Inspector2.st 7486 2009-10-26 22:06:24Z vranyj1 '
 ! !
 
+
 Inspector2 initialize!
--- a/Tools__Inspector2Tab.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__Inspector2Tab.st	Wed Jan 30 11:15:09 2013 +0000
@@ -36,6 +36,7 @@
 "
 ! !
 
+
 !Inspector2Tab methodsFor:'accessing'!
 
 application
@@ -112,10 +113,11 @@
     viewHolder := something.
 ! !
 
+
 !Inspector2Tab class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__Inspector2Tab.st,v 1.7 2012/06/13 12:59:31 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2Tab.st,v 1.7 2012-06-13 12:59:31 cg Exp $'
 !
 
 version_CVS_jvrany
@@ -123,5 +125,6 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__Inspector2Tab.st 8018 2012-07-18 17:00:57Z vranyj1 $'
+    ^ 'Id: Tools__Inspector2Tab.st 7486 2009-10-26 22:06:24Z vranyj1 '
 ! !
+
--- a/Tools__LintHighlighter.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__LintHighlighter.st	Wed Jan 30 11:15:09 2013 +0000
@@ -37,6 +37,7 @@
 "
 ! !
 
+
 !LintHighlighter methodsFor:'accessing'!
 
 annotations
@@ -53,6 +54,7 @@
     "Modified (format): / 07-03-2012 / 17:24:02 / cg"
 ! !
 
+
 !LintHighlighter methodsFor:'accessing-emphasis'!
 
 emphasisForError
@@ -116,6 +118,7 @@
     "Modified: / 20-04-2012 / 18:29:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintHighlighter methodsFor:'formatting'!
 
 formatClassDefinition:source in:class
@@ -166,6 +169,7 @@
     "Created: / 04-08-2011 / 23:42:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintHighlighter methodsFor:'formatting-private'!
 
 format: text
@@ -178,6 +182,8 @@
     "Created: / 04-08-2011 / 23:51:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 format: text tree: tree
 
     annotations := SortedCollection new.
@@ -231,6 +237,7 @@
     "Created: / 03-02-2012 / 10:39:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintHighlighter methodsFor:'initialization'!
 
 reset
@@ -239,6 +246,7 @@
     "Created: / 18-02-2012 / 22:54:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintHighlighter methodsFor:'markup'!
 
 mark: text from: start to: end for: rule
@@ -252,16 +260,18 @@
     "Created: / 30-01-2012 / 15:30:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintHighlighter class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__LintHighlighter.st 8047 2012-09-07 11:37:19Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintHighlighter.st,v 1.5 2012-03-08 03:16:18 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__LintHighlighter.st,v 1.5 2012/03/08 03:16:18 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintHighlighter.st,v 1.5 2012-03-08 03:16:18 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: Tools__LintHighlighter.st 8047 2012-09-07 11:37:19Z vranyj1 $'
 ! !
+
--- a/Tools__LintRuleDetail.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__LintRuleDetail.st	Wed Jan 30 11:15:09 2013 +0000
@@ -64,6 +64,7 @@
 "
 ! !
 
+
 !LintRuleDetail class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -89,6 +90,7 @@
     "Created: / 07-09-2011 / 04:08:11 / cg"
 ! !
 
+
 !LintRuleDetail class methodsFor:'interface specs'!
 
 windowSpec
@@ -178,6 +180,7 @@
       )
 ! !
 
+
 !LintRuleDetail class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -199,6 +202,7 @@
     "Modified: / 01-03-2012 / 16:31:04 / cg"
 ! !
 
+
 !LintRuleDetail methodsFor:'actions'!
 
 browseLintRule
@@ -216,6 +220,7 @@
     "Created: / 07-09-2011 / 04:09:38 / cg"
 ! !
 
+
 !LintRuleDetail methodsFor:'aspects'!
 
 rationaleVisibleHolder
@@ -321,6 +326,7 @@
     "Modified: / 01-03-2012 / 15:29:16 / cg"
 ! !
 
+
 !LintRuleDetail methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -364,6 +370,7 @@
     "Modified: / 04-09-2011 / 20:18:48 / cg"
 ! !
 
+
 !LintRuleDetail methodsFor:'initialization'!
 
 setupHTMLView:aView
@@ -375,6 +382,7 @@
     "Created: / 04-08-2011 / 18:00:36 / cg"
 ! !
 
+
 !LintRuleDetail methodsFor:'private'!
 
 heightWhenNotShowingRationale
@@ -436,16 +444,18 @@
     "Modified: / 01-03-2012 / 10:35:51 / cg"
 ! !
 
+
 !LintRuleDetail class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleDetail.st,v 1.13 2012/03/01 19:59:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleDetail.st,v 1.13 2012-03-01 19:59:38 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__LintRuleDetail.st,v 1.13 2012/03/01 19:59:38 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleDetail.st,v 1.13 2012-03-01 19:59:38 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__LintRuleDetail.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ 'Id: Tools__LintRuleDetail.st 7617 2010-08-25 12:56:19Z vranyj1 '
 ! !
+
--- a/Tools__LintRuleList.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__LintRuleList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -27,7 +27,7 @@
 
 "{ NameSpace: Tools }"
 
-BrowserList subclass:#LintRuleList
+Tools::BrowserList subclass:#LintRuleList
 	instanceVariableNames:'listHolder filterHolder modeHolder listSelection listView
 		initialSelectionHolder'
 	classVariableNames:''
@@ -72,6 +72,7 @@
 "
 ! !
 
+
 !LintRuleList class methodsFor:'interface specs'!
 
 windowSpec
@@ -131,6 +132,7 @@
       )
 ! !
 
+
 !LintRuleList class methodsFor:'menu specs'!
 
 menu
@@ -166,6 +168,7 @@
       )
 ! !
 
+
 !LintRuleList class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -191,6 +194,7 @@
     "Modified: / 01-03-2012 / 10:48:43 / cg"
 ! !
 
+
 !LintRuleList methodsFor:'accessing'!
 
 mode
@@ -231,6 +235,7 @@
     "Modified: / 15-04-2010 / 20:56:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintRuleList methodsFor:'aspects'!
 
 filterHolder
@@ -325,6 +330,7 @@
     "Created: / 02-02-2010 / 20:43:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintRuleList methodsFor:'change & update'!
 
 delayedUpdate:something with:aParameter from:changedObject
@@ -368,6 +374,7 @@
     "Created: / 05-08-2011 / 00:10:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintRuleList methodsFor:'event processing'!
 
 buttonPress:button x:x y:y view:aView
@@ -401,6 +408,7 @@
     "Modified: / 15-04-2010 / 20:19:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintRuleList methodsFor:'generators'!
 
 makeGenerator
@@ -420,6 +428,7 @@
     "Modified: / 25-08-2010 / 13:39:51 / Jan Vrany <enter your email here>"
 ! !
 
+
 !LintRuleList methodsFor:'hooks'!
 
 commonPostOpen
@@ -437,6 +446,7 @@
     "Created: / 08-12-2009 / 14:10:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintRuleList methodsFor:'initialization'!
 
 initialize
@@ -448,6 +458,7 @@
     "Modified: / 25-08-2010 / 15:24:45 / Jan Vrany <enter your email here>"
 ! !
 
+
 !LintRuleList methodsFor:'menu actions'!
 
 menuInspect
@@ -460,6 +471,7 @@
     "Modified: / 25-08-2010 / 14:25:24 / Jan Vrany <enter your email here>"
 ! !
 
+
 !LintRuleList methodsFor:'private'!
 
 listEntryFor: anRBLintRule
@@ -531,6 +543,7 @@
     "Modified: / 07-03-2012 / 18:06:50 / cg"
 ! !
 
+
 !LintRuleList methodsFor:'queries'!
 
 supportsSearch
@@ -540,6 +553,7 @@
     "Created: / 04-08-2011 / 23:04:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintRuleList methodsFor:'selection'!
 
 selectionAdd: rule
@@ -571,6 +585,7 @@
     "Modified: / 26-08-2010 / 12:05:06 / Jan Vrany <enter your email here>"
 ! !
 
+
 !LintRuleList::ListEntry class methodsFor:'instance creation'!
 
 change: aChange
@@ -594,6 +609,7 @@
     "Created: / 25-07-2009 / 23:33:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !LintRuleList::ListEntry methodsFor:'accessing'!
 
 application
@@ -725,6 +741,7 @@
     "Modified: / 15-04-2010 / 20:48:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintRuleList::ListEntry methodsFor:'displaying'!
 
 displayLabel:aLabel h:lH on:aGC x:newX y:y h:h 
@@ -752,17 +769,18 @@
     "Created: / 15-04-2010 / 19:13:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintRuleList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleList.st,v 1.13 2012/11/06 00:48:36 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleList.st,v 1.13 2012-11-06 00:48:36 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__LintRuleList.st,v 1.13 2012/11/06 00:48:36 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleList.st,v 1.13 2012-11-06 00:48:36 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__LintRuleList.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id: Tools__LintRuleList.st 7619 2010-08-26 10:15:15Z vranyj1 '
 ! !
 
--- a/Tools__LintRuleSelectionDialog.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__LintRuleSelectionDialog.st	Wed Jan 30 11:15:09 2013 +0000
@@ -97,6 +97,7 @@
 "
 ! !
 
+
 !LintRuleSelectionDialog class methodsFor:'interface specs'!
 
 windowSpec
@@ -227,6 +228,7 @@
     "Modified: / 01-03-2012 / 10:50:28 / cg"
 ! !
 
+
 !LintRuleSelectionDialog methodsFor:'accessing'!
 
 selection
@@ -250,6 +252,7 @@
     "Created: / 25-08-2010 / 14:10:58 / Jan Vrany <enter your email here>"
 ! !
 
+
 !LintRuleSelectionDialog methodsFor:'actions'!
 
 hideResultView
@@ -280,6 +283,7 @@
     "Modified: / 24-07-2010 / 15:30:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintRuleSelectionDialog methodsFor:'aspects'!
 
 allRulesHolder
@@ -320,6 +324,7 @@
     ^ selectionHolder
 ! !
 
+
 !LintRuleSelectionDialog methodsFor:'callbacks - post build'!
 
 postBuildVariablePanel: aPanel
@@ -329,12 +334,14 @@
     "Created: / 24-07-2010 / 15:05:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintRuleSelectionDialog class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__LintRuleSelectionDialog.st,v 1.3 2012/03/01 09:55:40 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleSelectionDialog.st,v 1.3 2012-03-01 09:55:40 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__LintRuleSelectionDialog.st 7952 2012-03-21 17:50:14Z vranyj1 $'
-! !
\ No newline at end of file
+    ^ 'Id: Tools__LintRuleSelectionDialog.st 7617 2010-08-25 12:56:19Z vranyj1 '
+! !
+
--- a/Tools__LintService.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__LintService.st	Wed Jan 30 11:15:09 2013 +0000
@@ -27,7 +27,7 @@
 
 "{ NameSpace: Tools }"
 
-CodeViewService subclass:#LintService
+Tools::CodeViewService subclass:#LintService
 	instanceVariableNames:'ruleHolderFromApp highlighter'
 	classVariableNames:''
 	poolDictionaries:''
@@ -64,6 +64,7 @@
 "
 ! !
 
+
 !LintService class methodsFor:'accessing'!
 
 label
@@ -75,6 +76,7 @@
     "Created: / 05-08-2011 / 11:01:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintService methodsFor:'accessing'!
 
 syntaxHighlighter
@@ -94,6 +96,7 @@
     "Modified: / 08-03-2012 / 01:23:48 / cg"
 ! !
 
+
 !LintService methodsFor:'aspects'!
 
 ruleHolderFromApp
@@ -132,6 +135,7 @@
     ].
 ! !
 
+
 !LintService methodsFor:'change & update'!
 
 update: aspect with: param from: sender
@@ -147,6 +151,7 @@
     "Modified: / 07-03-2012 / 17:16:59 / cg"
 ! !
 
+
 !LintService methodsFor:'initialization'!
 
 initialize
@@ -159,6 +164,7 @@
     "Created: / 05-08-2011 / 11:53:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintService methodsFor:'private'!
 
 syntaxHighlight: delayed
@@ -172,6 +178,7 @@
     "Created: / 05-08-2011 / 11:49:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !LintService methodsFor:'registering'!
 
 fetchLintRuleHolder
@@ -202,16 +209,18 @@
     "Modified: / 08-03-2012 / 01:16:51 / cg"
 ! !
 
+
 !LintService class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__LintService.st 7953 2012-03-22 13:55:44Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintService.st,v 1.6 2012-03-12 18:20:05 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__LintService.st,v 1.6 2012/03/12 18:20:05 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintService.st,v 1.6 2012-03-12 18:20:05 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: Tools__LintService.st 7953 2012-03-22 13:55:44Z vranyj1 $'
 ! !
+
--- a/Tools__MethodRewriter.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__MethodRewriter.st	Wed Jan 30 11:15:09 2013 +0000
@@ -68,6 +68,7 @@
 "
 ! !
 
+
 !MethodRewriter class methodsFor:'example templates'!
 
 templateReplaceAtIfAbsentByAtAifAbsentPut
@@ -155,6 +156,7 @@
     "Created: / 12-12-2007 / 11:03:32 / janfrog"
 ! !
 
+
 !MethodRewriter class methodsFor:'interface specs'!
 
 classesSpec
@@ -500,6 +502,7 @@
     "Modified: / 12-12-2007 / 11:39:31 / janfrog"
 ! !
 
+
 !MethodRewriter class methodsFor:'list specs'!
 
 tabList
@@ -538,6 +541,7 @@
     "Modified: / 12-12-2007 / 11:21:27 / janfrog"
 ! !
 
+
 !MethodRewriter methodsFor:'accessing'!
 
 actionInProgress: aBoolean
@@ -622,8 +626,11 @@
     "Created: / 12-12-2007 / 11:17:55 / janfrog"
 ! !
 
+
 !MethodRewriter methodsFor:'actions'!
 
+
+
 doRewrite: methodsMatching
     | changes compositeChangeCollector |
 
@@ -728,6 +735,7 @@
     "Created: / 12-12-2007 / 11:14:15 / janfrog"
 ! !
 
+
 !MethodRewriter methodsFor:'aspects'!
 
 actionInProgresHolder
@@ -895,6 +903,7 @@
     "Created: / 12-12-2007 / 11:17:16 / janfrog"
 ! !
 
+
 !MethodRewriter methodsFor:'change & update'!
 
 selectedTemplateIndexChanged
@@ -905,6 +914,7 @@
     "Created: / 12-12-2007 / 11:20:16 / janfrog"
 ! !
 
+
 !MethodRewriter methodsFor:'drag & drop'!
 
 canDropClasses: dropContext
@@ -933,6 +943,7 @@
     "Created: / 20-07-2007 / 16:58:16 / janfrog"
 ! !
 
+
 !MethodRewriter methodsFor:'hooks'!
 
 postBuildFindTextView: scrollableView
@@ -949,6 +960,7 @@
     "Created: / 20-07-2007 / 15:55:29 / janfrog"
 ! !
 
+
 !MethodRewriter methodsFor:'private'!
 
 doSearch: pattern withResultDo: block
@@ -1067,6 +1079,7 @@
     "Modified: / 12-12-2007 / 10:32:48 / janfrog"
 ! !
 
+
 !MethodRewriter methodsFor:'testing method'!
 
 testXXX
@@ -1076,12 +1089,14 @@
     "Modified: / 12-12-2007 / 10:45:20 / janfrog"
 ! !
 
+
 !MethodRewriter class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__MethodRewriter.st,v 1.16 2012/08/03 19:21:17 stefan Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__MethodRewriter.st,v 1.16 2012-08-03 19:21:17 stefan Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__MethodRewriter.st 8048 2012-09-07 17:28:09Z vranyj1 $'
+    ^ 'Id: Tools__MethodRewriter.st 7486 2009-10-26 22:06:24Z vranyj1 '
 ! !
+
--- a/Tools__NavigationHistory.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__NavigationHistory.st	Wed Jan 30 11:15:09 2013 +0000
@@ -53,6 +53,7 @@
 "
 ! !
 
+
 !NavigationHistory class methodsFor:'instance creation'!
 
 new
@@ -61,6 +62,7 @@
     "Created: / 21-02-2008 / 15:26:05 / janfrog"
 ! !
 
+
 !NavigationHistory methodsFor:'accessing'!
 
 currentItem
@@ -97,6 +99,7 @@
     "Modified: / 03-07-2011 / 16:00:45 / cg"
 ! !
 
+
 !NavigationHistory methodsFor:'backward list compatibility'!
 
 addFirst:anEntry
@@ -204,6 +207,7 @@
     "Created: / 04-07-2011 / 22:44:28 / cg"
 ! !
 
+
 !NavigationHistory methodsFor:'initialization'!
 
 beGlobalHistory
@@ -228,6 +232,7 @@
     "Modified: / 03-07-2011 / 14:43:08 / cg"
 ! !
 
+
 !NavigationHistory methodsFor:'menu & menu actions'!
 
 goBackMenu
@@ -256,6 +261,7 @@
     "Modified: / 27-02-2008 / 11:52:26 / janfrog"
 ! !
 
+
 !NavigationHistory methodsFor:'navigation'!
 
 goBack
@@ -316,6 +322,7 @@
     "Modified: / 03-07-2011 / 16:03:11 / cg"
 ! !
 
+
 !NavigationHistory methodsFor:'queries'!
 
 canGoBack
@@ -335,10 +342,11 @@
     "Created: / 21-02-2008 / 16:40:48 / janfrog"
 ! !
 
+
 !NavigationHistory class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__NavigationHistory.st,v 1.14 2012/11/13 09:07:18 mb Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NavigationHistory.st,v 1.14 2012-11-13 09:07:18 mb Exp $'
 !
 
 version_CVS_jvrany
@@ -346,5 +354,6 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__NavigationHistory.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id: Tools__NavigationHistory.st 7486 2009-10-26 22:06:24Z vranyj1 '
 ! !
+
--- a/Tools__NavigationHistoryTests.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__NavigationHistoryTests.st	Wed Jan 30 11:15:09 2013 +0000
@@ -36,6 +36,7 @@
 "
 ! !
 
+
 !NavigationHistoryTests methodsFor:'initialization'!
 
 setUp
@@ -45,6 +46,7 @@
     "Created: / 21-02-2008 / 16:52:19 / janfrog"
 ! !
 
+
 !NavigationHistoryTests methodsFor:'tests'!
 
 test_01
@@ -122,12 +124,14 @@
     "Modified: / 06-06-2008 / 09:31:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !NavigationHistoryTests class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__NavigationHistoryTests.st,v 1.2 2012/09/02 11:21:14 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NavigationHistoryTests.st,v 1.2 2012-09-02 11:21:14 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__NavigationHistoryTests.st 7486 2009-10-26 22:06:24Z vranyj1 $'
-! !
\ No newline at end of file
+    ^ 'Id: Tools__NavigationHistoryTests.st 7486 2009-10-26 22:06:24Z vranyj1 '
+! !
+
--- a/Tools__NewSystemBrowser.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__NewSystemBrowser.st	Wed Jan 30 11:15:09 2013 +0000
@@ -107,6 +107,7 @@
 "
 ! !
 
+
 !NewSystemBrowser class methodsFor:'initialization'!
 
 initialize
@@ -236,6 +237,7 @@
     ].
 ! !
 
+
 !NewSystemBrowser class methodsFor:'accessing-history'!
 
 addToBookMarks:aClass selector:aSelectorOrNil
@@ -317,6 +319,7 @@
     "Modified: / 13-09-2012 / 18:14:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser class methodsFor:'defaults'!
 
 synchronousUpdate
@@ -330,6 +333,7 @@
     "Modified (comment): / 24-08-2011 / 15:33:27 / cg"
 ! !
 
+
 !NewSystemBrowser class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -498,6 +502,7 @@
 )
 ! !
 
+
 !NewSystemBrowser class methodsFor:'image specs'!
 
 defaultIcon
@@ -740,6 +745,7 @@
     ^ ToolbarIconLibrary startNewSystemBrowserIcon
 ! !
 
+
 !NewSystemBrowser class methodsFor:'interface specs'!
 
 browserPageSpec
@@ -1427,6 +1433,7 @@
 		 )
 
 	      )
+	      keepSpaceForOSXResizeHandleH: true
 	    )
 	   )
 
@@ -3593,7 +3600,7 @@
 		  subAspect: showMethodComplexity
 		  aspect: showMethodComplexity
 		)
-		(SubChannelInfoSpec
+	       (SubChannelInfoSpec
 		    subAspect: showSyntheticMethods
 		    aspect: showSyntheticMethods
 		  )
@@ -5452,6 +5459,7 @@
     "Modified: / 07-06-2011 / 14:39:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser class methodsFor:'interface specs-dialogs'!
 
 repositoryConsistencyDialogSpec
@@ -5709,6 +5717,7 @@
       )
 ! !
 
+
 !NewSystemBrowser class methodsFor:'interface specs-message pane'!
 
 messageInfoSpec
@@ -5821,6 +5830,7 @@
       )
 ! !
 
+
 !NewSystemBrowser class methodsFor:'menu specs'!
 
 browseMenu
@@ -6381,6 +6391,7 @@
 	 (MenuItem
 	    enabled: hasCategorySelectedHolder
 	    label: 'FileOut'
+	    translateLabel: true
 	    submenu:
 	   (Menu
 	      (
@@ -6388,19 +6399,21 @@
 		  enabled: hasCategorySelectedHolder
 		  label: 'as...'
 		  itemValue: categoryMenuFileOutAs
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
 		  enabled: hasCategorySelectedAndCanFileOutXMLHolder
 		  label: 'XML as...'
 		  itemValue: categoryMenuFileOutXMLAs
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
 		  enabled: hasCategorySelectedAndCanFileOutSIFHolder
 		  label: 'SIF as...'
 		  itemValue: categoryMenuFileOutSIFAs
-		  showBusyCursorWhilePerforming: true
+		  translateLabel: true
 		)
 	       (MenuItem
 		  enabled: hasCategorySelectedAndCanFileOutCypressHolder
@@ -6415,24 +6428,28 @@
 		  enabled: hasCategorySelectedHolder
 		  label: 'Each in...'
 		  itemValue: categoryMenuFileOutEachIn
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
 		  enabled: hasCategorySelectedAndCanFileOutXMLHolder
 		  label: 'Each XML in...'
 		  itemValue: categoryMenuFileOutEachXMLIn
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
 		  enabled: hasCategorySelectedAndCanFileOutSIFHolder
 		  label: 'Each SIF in...'
 		  itemValue: categoryMenuFileOutEachSIFIn
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
 		  enabled: hasCategorySelectedHolder
 		  label: 'Each Binary in...'
 		  itemValue: categoryMenuFileOutEachBinaryIn
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       )
@@ -6442,6 +6459,7 @@
 	  )
 	 (MenuItem
 	    label: 'Repository'
+	    translateLabel: true
 	    submenuChannel: categoryMenuSCMSlice
 	    isMenuSlice: true
 	  )
@@ -8669,38 +8687,46 @@
      #(Menu
 	(
 	 (MenuItem
+	    enabled: hasClassSelectedHolder
+	    label: 'Remove from ChangeSet'
+	    itemValue: classMenuCleanUpChangeSet
+	  )
+	 (MenuItem
+	    enabled: hasClassSelectedHolder
+	    label: 'Entries in ChangeSet'
+	    itemValue: classMenuShowEntriesInChangeSet
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
 	    enabled: hasAnyUnloadedClassSelectedHolder
 	    label: 'Load'
 	    itemValue: classMenuLoad
-	    translateLabel: true
 	    showBusyCursorWhilePerforming: true
 	  )
 	 (MenuItem
 	    enabled: hasProjectDefinitionWithAnyUnloadedClassSelectedHolder
 	    label: 'Load Project'
 	    itemValue: classMenuLoadProject
-	    translateLabel: true
 	    showBusyCursorWhilePerforming: true
 	  )
 	 (MenuItem
 	    enabled: hasClassSelectedHolder
 	    label: 'Unload'
 	    itemValue: classMenuUnload
-	    translateLabel: true
 	    showBusyCursorWhilePerforming: true
 	  )
 	 (MenuItem
 	    enabled: hasClassSelectedHolder
 	    label: 'Initialize Class(es)'
 	    itemValue: classMenuInitialize
-	    translateLabel: true
 	    showBusyCursorWhilePerforming: true
 	  )
 	 (MenuItem
 	    enabled: hasClassSelectedHolder
 	    label: 'Compile Lazy Methods'
 	    itemValue: classMenuCompileLazyMethods
-	    translateLabel: true
 	    isVisible: false
 	    showBusyCursorWhilePerforming: true
 	  )
@@ -8708,7 +8734,6 @@
 	    enabled: hasClassSelectedHolder
 	    label: 'Reload'
 	    itemValue: classMenuReload
-	    translateLabel: true
 	    showBusyCursorWhilePerforming: true
 	  )
 	 (MenuItem
@@ -8718,21 +8743,18 @@
 	    enabled: hasClassSelectedWhichCanBeIncludedInProjectHolder
 	    label: 'Include in Project as Compiled Class'
 	    itemValue: classMenuIncludeInProject
-	    translateLabel: true
 	    showBusyCursorWhilePerforming: true
 	  )
 	 (MenuItem
 	    enabled: hasClassSelectedWhichCanBeMadeAutoloadedInProject
 	    label: 'Include in Project as Autoloaded Class'
 	    itemValue: classMenuMakeAutoloadedInProject
-	    translateLabel: true
 	    showBusyCursorWhilePerforming: true
 	  )
 	 (MenuItem
 	    enabled: hasClassSelectedWhichCanBeExcludedFromProject
 	    label: 'Exclude from Project'
 	    itemValue: classMenuExcludeFromProject
-	    translateLabel: true
 	    showBusyCursorWhilePerforming: true
 	  )
 	 (MenuItem
@@ -8742,21 +8764,18 @@
 	    enabled: hasSingleLoadedClassSelectedHolder
 	    label: 'Primitive Definitions'
 	    itemValue: classMenuPrimitiveDefinitions
-	    translateLabel: true
 	    showBusyCursorWhilePerforming: true
 	  )
 	 (MenuItem
 	    enabled: hasSingleLoadedClassSelectedHolder
 	    label: 'Primitive Functions'
 	    itemValue: classMenuPrimitiveFunctions
-	    translateLabel: true
 	    showBusyCursorWhilePerforming: true
 	  )
 	 (MenuItem
 	    enabled: hasSingleLoadedClassSelectedHolder
 	    label: 'Primitive Variables'
 	    itemValue: classMenuPrimitiveVariables
-	    translateLabel: true
 	    showBusyCursorWhilePerforming: true
 	  )
 	 (MenuItem
@@ -8772,28 +8791,11 @@
 	  )
 	 (MenuItem
 	    enabled: hasClassSelectedHolder
-	    label: 'Remove from ChangeSet'
-	    itemValue: classMenuCleanUpChangeSet
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    enabled: hasClassSelectedHolder
-	    label: 'Entries in ChangeSet'
-	    itemValue: classMenuShowEntriesInChangeSet
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    label: '-'
-	  )
-	 (MenuItem
-	    enabled: hasClassSelectedHolder
 	    label: 'Do...'
 	    itemValue: classMenuDoUserProvidedAction
-	    translateLabel: true
 	  )
 	 (MenuItem
 	    label: 'Special ClassOPS'
-	    translateLabel: true
 	    submenuChannel: classOperationsMenu
 	    isMenuSlice: true
 	  )
@@ -8801,8 +8803,6 @@
 	nil
 	nil
       )
-
-    "Modified: / 26-07-2012 / 11:48:32 / cg"
 !
 
 codeMenu
@@ -9688,7 +9688,7 @@
 	    label: '-'
 	  )
 	 (MenuItem
-	    label: 'Search && Rewrite'
+	    label: 'Search && Rewrite...'
 	    itemValue: selectorMenuRewrite
 	    translateLabel: true
 	  )
@@ -9940,6 +9940,7 @@
 	 (MenuItem
 	    enabled: hasProjectSelectedHolder
 	    label: 'File out'
+	    translateLabel: true
 	    submenu:
 	   (Menu
 	      (
@@ -9947,18 +9948,21 @@
 		  enabled: hasProjectSelectedHolder
 		  label: 'as...'
 		  itemValue: projectMenuFileOutAs
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
 		  enabled: hasProjectSelectedAndCanFileOutXMLHolder
 		  label: 'XML as...'
 		  itemValue: projectMenuFileOutXMLAs
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
 		  enabled: hasProjectSelectedAndCanFileOutSIFHolder
 		  label: 'SIF as...'
 		  itemValue: projectMenuFileOutSIFAs
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
@@ -9973,30 +9977,35 @@
 		  enabled: hasProjectSelectedHolder
 		  label: 'Each in...'
 		  itemValue: projectMenuFileOutEachIn
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
 		  enabled: hasProjectSelectedHolder
 		  label: 'Build Support File in...'
 		  itemValue: projectMenuFileOutBuildSupportFiles
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
 		  enabled: hasProjectSelectedAndCanFileOutXMLHolder
 		  label: 'Each XML in...'
 		  itemValue: projectMenuFileOutEachXMLIn
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
 		  enabled: hasProjectSelectedAndCanFileOutSIFHolder
 		  label: 'Each SIF in...'
 		  itemValue: projectMenuFileOutEachSIFIn
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
 		  enabled: hasProjectSelectedHolder
 		  label: 'Each Binary in...'
 		  itemValue: projectMenuFileOutEachBinaryIn
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
@@ -10006,6 +10015,7 @@
 		  enabled: hasProjectSelectedHolder
 		  label: 'Mail To...'
 		  itemValue: projectMenuMailTo
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       )
@@ -10015,6 +10025,7 @@
 	  )
 	 (MenuItem
 	    label: 'Repository'
+	    translateLabel: true
 	    submenuChannel: projectMenuSCMSlice
 	    isMenuSlice: true
 	  )
@@ -10023,6 +10034,7 @@
 	  )
 	 (MenuItem
 	    label: 'Documentation'
+	    translateLabel: true
 	    submenu:
 	   (Menu
 	      (
@@ -10030,6 +10042,7 @@
 		  enabled: hasSingleRealProjectSelectedHolder
 		  label: 'Generate Project Documentation'
 		  itemValue: projectMenuDocumentation
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
@@ -10039,6 +10052,7 @@
 		  enabled: hasOOMPackageLoadedAndSingleRealProjectSelectedHolder
 		  label: 'Metrics Summary Report'
 		  itemValue: projectMenuMetricsSummary
+		  translateLabel: true
 		)
 	       )
 	      nil
@@ -10051,6 +10065,7 @@
 	 (MenuItem
 	    enabled: hasProjectSelectedHolder
 	    label: 'Spawn'
+	    translateLabel: true
 	    submenu:
 	   (Menu
 	      (
@@ -10058,16 +10073,19 @@
 		  enabled: hasProjectSelectedHolder
 		  label: 'Buffer'
 		  itemValue: projectMenuSpawnBuffer
+		  translateLabel: true
 		)
 	       (MenuItem
 		  enabled: hasProjectSelectedHolder
 		  label: 'Buffer with Extensions'
 		  itemValue: projectMenuSpawnExtensionsBuffer
+		  translateLabel: true
 		)
 	       (MenuItem
 		  enabled: hasProjectSelectedHolder
 		  label: 'Buffer with Projects Requiring this Project'
 		  itemValue: projectMenuSpawnPreRequirerBuffer
+		  translateLabel: true
 		)
 	       (MenuItem
 		  label: '-'
@@ -10076,16 +10094,19 @@
 		  enabled: hasProjectSelectedHolder
 		  label: 'Browser'
 		  itemValue: projectMenuSpawn
+		  translateLabel: true
 		)
 	       (MenuItem
 		  enabled: hasProjectSelectedHolder
 		  label: 'Browser on Extensions'
 		  itemValue: projectMenuSpawnExtensionsBrowser
+		  translateLabel: true
 		)
 	       (MenuItem
 		  enabled: hasProjectSelectedHolder
 		  label: 'Browser on Projects Requiring this Project'
 		  itemValue: projectMenuSpawnPreRequirerBrowser
+		  translateLabel: true
 		)
 	       )
 	      nil
@@ -10095,6 +10116,7 @@
 	 (MenuItem
 	    enabled: hasProjectSelectedHolder
 	    label: 'Find'
+	    translateLabel: true
 	    submenuChannel: searchMenu
 	  )
 	 (MenuItem
@@ -10103,16 +10125,19 @@
 	 (MenuItem
 	    label: 'New...'
 	    itemValue: projectMenuNew
+	    translateLabel: true
 	  )
 	 (MenuItem
 	    label: 'Load...'
 	    itemValue: projectMenuLoad
+	    translateLabel: true
 	    isVisible: hasNoProjectSelectedHolder
 	    showBusyCursorWhilePerforming: true
 	  )
 	 (MenuItem
 	    label: 'Load'
 	    itemValue: projectMenuLoad
+	    translateLabel: true
 	    isVisible: hasProjectSelectedHolder
 	    showBusyCursorWhilePerforming: true
 	  )
@@ -10120,17 +10145,20 @@
 	    enabled: hasProjectSelectedHolder
 	    label: 'Rename...'
 	    itemValue: projectMenuRename
+	    translateLabel: true
 	  )
 	 (MenuItem
 	    enabled: hasProjectSelectedHolder
 	    label: 'Remove...'
 	    itemValue: projectMenuRemove
+	    translateLabel: true
 	  )
 	 (MenuItem
 	    label: '-'
 	  )
 	 (MenuItem
 	    label: 'Build'
+	    translateLabel: true
 	    submenu:
 	   (Menu
 	      (
@@ -10138,12 +10166,14 @@
 		  enabled: hasSingleRealProjectSelectedHolder
 		  label: 'Build Package for Deployment'
 		  itemValue: projectMenuBuild
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
 		  enabled: hasSingleRealProjectSelectedHolder
 		  label: 'Build Binaries for Execution'
 		  itemValue: projectMenuBuildExeOnly
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
@@ -10152,14 +10182,23 @@
 	       (MenuItem
 		  label: 'Build with Interactive Application Packager...'
 		  itemValue: projectMenuBuildWithApplicationPackager
+		  translateLabel: true
 		)
 	       (MenuItem
 		  label: '-'
 		)
 	       (MenuItem
 		  enabled: hasProjectSelectedHolder
+		  label: 'Generate Build Support Files in...'
+		  itemValue: projectMenuGenerateBuildSupportFiles
+		  translateLabel: true
+		  showBusyCursorWhilePerforming: true
+		)
+	       (MenuItem
+		  enabled: hasProjectSelectedHolder
 		  label: 'Patch-Set...'
 		  itemValue: projectMenuGeneratePatchSet
+		  translateLabel: true
 		  showBusyCursorWhilePerforming: true
 		)
 	       )
@@ -10170,6 +10209,7 @@
 	 (MenuItem
 	    enabled: hasProjectSelectedHolder
 	    label: 'Generate'
+	    translateLabel: true
 	    submenu:
 	   (Menu
 	      (
@@ -10177,16 +10217,19 @@
 		  enabled: hasSingleRealProjectSelectedHolder
 		  label: 'Generate Project Definition Methods'
 		  itemValue: projectMenuGenerateProjectDefinitions
+		  translateLabel: true
 		)
 	       (MenuItem
 		  enabled: hasSingleRealProjectSelectedHolder
 		  label: 'Update Project Contents Definition Methods'
 		  itemValue: projectMenuUpdateProjectContentsDefinitions
+		  translateLabel: true
 		)
 	       (MenuItem
 		  enabled: hasSingleRealProjectSelectedHolder
 		  label: 'Regenerate Project Contents Definition Methods'
 		  itemValue: projectMenuRegenerateProjectContentsDefinitions
+		  translateLabel: true
 		)
 	       )
 	      nil
@@ -10197,19 +10240,23 @@
 	    enabled: hasProjectSelectedAndSourceCodeManagerHolder
 	    label: 'Package Integrity Check...'
 	    itemValue: projectMenuCheckPackageIntegrity
+	    translateLabel: true
 	  )
 	 (MenuItem
 	    label: 'Static Analysis (Lint)'
+	    translateLabel: true
 	    submenuChannel: projectCheckMenu
 	    labelImage: (ResourceRetriever ToolbarIconLibrary lint16x16Icon 'Static Analysis (Lint)')
 	  )
 	 (MenuItem
 	    label: 'Debug'
+	    translateLabel: true
 	    submenuChannel: projectDebugMenu
 	    keepLinkedMenu: true
 	  )
 	 (MenuItem
 	    label: 'Special'
+	    translateLabel: true
 	    submenu:
 	   (Menu
 	      (
@@ -10217,6 +10264,7 @@
 		  enabled: hasSingleRealProjectSelectedHolder
 		  label: 'Remove from ChangeSet'
 		  itemValue: projectMenuCleanUpChangeSet
+		  translateLabel: true
 		)
 	       (MenuItem
 		  label: '-'
@@ -10226,6 +10274,7 @@
 		  enabled: hasSingleRealProjectSelectedHolder
 		  label: 'Make Current Project'
 		  itemValue: projectMenuMakeCurrentProject
+		  translateLabel: true
 		  isVisible: false
 		)
 	       )
@@ -10240,6 +10289,7 @@
 	    enabled: hasSingleRealProjectSelectedHolder
 	    label: 'Properties...'
 	    itemValue: projectMenuProperties
+	    translateLabel: true
 	  )
 	 (MenuItem
 	    label: '-'
@@ -10247,11 +10297,15 @@
 	 (MenuItem
 	    label: 'Update'
 	    itemValue: projectMenuUpdate
-	  )
-	 )
-	nil
-	nil
-      )
+	    translateLabel: true
+	  )
+	 )
+	nil
+	nil
+      )
+
+    "Modified: / 24-07-2012 / 15:20:51 / cg"
+    "Modified: / 26-07-2012 / 12:33:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 protocolCheckMenu
@@ -10304,6 +10358,7 @@
     "Do not manually edit this!! If it is corrupted,
      the MenuEditor may not be able to read the specification."
 
+
     "
      MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#protocolMenu
      (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser protocolMenu)) startUp
@@ -10515,12 +10570,6 @@
 	    label: '-'
 	  )
 	 (MenuItem
-	    label: 'Static Anlysis (Lint)'
-	    translateLabel: true
-	    submenuChannel: protocolCheckMenu
-	    labelImage: (ResourceRetriever ToolbarIconLibrary lint16x16Icon 'Static Anlysis (Lint)')
-	  )
-	 (MenuItem
 	    label: 'Generate'
 	    translateLabel: true
 	    submenu:
@@ -11378,7 +11427,9 @@
 	    label: 'Remove...'
 	    itemValue: selectorMenuRemove
 	    translateLabel: true
+	    shortcutKey: Delete
 	    labelImage: (ResourceRetriever ToolbarIconLibrary erase16x16Icon 'Remove...')
+	    ignoreShortcutKeys: true
 	  )
 	 )
 	nil
@@ -12954,6 +13005,7 @@
       )
 ! !
 
+
 !NewSystemBrowser class methodsFor:'menu specs-SCM-category'!
 
 categoryMenuSCMCommon
@@ -12979,7 +13031,7 @@
 		  label: 'CheckIn all...'
 		  itemValue: categoryMenuCheckInEachUsing:
 		  translateLabel: true
-		  argument: SourceCodeManagerPlaceholder
+		  argument: SourceCodeManagerNamePlaceholder
 		  labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCheckIn 'CheckIn all...')
 		  showBusyCursorWhilePerforming: true
 		)
@@ -12991,7 +13043,7 @@
 		  label: 'CheckOut Newest All'
 		  itemValue: categoryMenuCheckOutNewestUsing:
 		  translateLabel: true
-		  argument: SourceCodeManagerPlaceholder
+		  argument: SourceCodeManagerNamePlaceholder
 		  labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCheckOut 'CheckOut Newest All')
 		  showBusyCursorWhilePerforming: true
 		)
@@ -13000,7 +13052,7 @@
 		  label: 'CheckOut Previous Versions All...'
 		  itemValue: categoryMenuCheckOutUsing:
 		  translateLabel: true
-		  argument: SourceCodeManagerPlaceholder
+		  argument: SourceCodeManagerNamePlaceholder
 		  showBusyCursorWhilePerforming: true
 		)
 	       (MenuItem
@@ -13011,7 +13063,7 @@
 		  label: 'Repository History...'
 		  itemValue: categoryMenuRepositoryHistoryUsing:
 		  translateLabel: true
-		  argument: SourceCodeManagerPlaceholder
+		  argument: SourceCodeManagerNamePlaceholder
 		  labelImage: (ResourceRetriever ToolbarIconLibrary repositoryLog 'Repository History...')
 		  showBusyCursorWhilePerforming: true
 		)
@@ -13120,6 +13172,7 @@
 	 (MenuItem
 	    enabled: hasClassSelectedAndCVSSourceCodeManagerHolder
 	    label: 'CVS'
+	    translateLabel: true
 	    submenuChannel: categoryMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
 	    argument: CVSSourceCodeManager
@@ -13128,6 +13181,7 @@
 	 (MenuItem
 	    enabled: hasClassesSelectedAndSubversionRepositoryExistsHolder
 	    label: 'SubVersion'
+	    translateLabel: true
 	    isVisible: hasSubversionSupport
 	    submenuChannel: categoryMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
@@ -13144,6 +13198,7 @@
 	 (MenuItem
 	    enabled: hasClassSelectedAndSourceCodeManagerHolder
 	    label: 'Perforce'
+	    translateLabel: true
 	    isVisible: hasPerforceSupport
 	    submenuChannel: categoryMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'Perforce')
@@ -13335,6 +13390,7 @@
       )
 ! !
 
+
 !NewSystemBrowser class methodsFor:'menu specs-SCM-class'!
 
 classCVSMenu
@@ -14500,8 +14556,9 @@
 	(
 	 (MenuItem
 	    enabled: hasClassSelectedAndCVSSourceCodeManagerHolder
+	    isVisible: cvsRepositoryMenusAreShown
 	    label: 'CVS'
-	    isVisible: cvsRepositoryMenusAreShown
+	    translateLabel: true
 	    submenuChannel: classMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
 	    argument: CVSSourceCodeManager
@@ -14509,8 +14566,9 @@
 	  )
 	 (MenuItem
 	    enabled: hasClassesSelectedAndSubversionRepositoryExistsHolder
+	    isVisible: svnRepositoryMenusAreShown
 	    label: 'SubVersion'
-	    isVisible: svnRepositoryMenusAreShown
+	    translateLabel: true
 	    submenuChannel: classMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
 	    argument: SVNSourceCodeManager
@@ -14534,15 +14592,16 @@
 	 (MenuItem
 	    enabled: hasClassSelectedAndSourceCodeManagerHolder
 	    label: 'Mercurial'
-	    isVisible: mercurialRepositoryMenusAreShown
+	    translateLabel: true
 	    submenuChannel: classMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryHGIcon 'Mercurial')
 	    argument: MercurialSourceCodeManager
 	  )
 	 (MenuItem
 	    enabled: hasClassSelectedAndSourceCodeManagerHolder
+	    isVisible: perforceRepositoryMenusAreShown
 	    label: 'Perforce'
-	    isVisible: perforceRepositoryMenusAreShown
+	    translateLabel: true
 	    submenuChannel: classMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'Perforce')
 	    argument: PerforceSourceCodeManager
@@ -15253,6 +15312,7 @@
     "Modified: / 28-10-2012 / 11:54:14 / cg"
 ! !
 
+
 !NewSystemBrowser class methodsFor:'menu specs-SCM-project'!
 
 projectCVSMenu
@@ -15990,6 +16050,7 @@
 	 (MenuItem
 	    enabled: hasProjectSelectedAndSourceCodeManagerHolder
 	    label: 'CVS'
+	    translateLabel: true
 	    submenuChannel: projectMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
 	    argument: CVSSourceCodeManager
@@ -15998,6 +16059,7 @@
 	 (MenuItem
 	    enabled: hasProjectSelectedAndSourceCodeManagerHolder
 	    label: 'SubVersion'
+	    translateLabel: true
 	    isVisible: hasSubversionSupport
 	    submenuChannel: projectMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
@@ -16022,6 +16084,7 @@
 	 (MenuItem
 	    enabled: hasProjectSelectedAndSourceCodeManagerHolder
 	    label: 'Perforce'
+	    translateLabel: true
 	    isVisible: hasPerforceSupport
 	    submenuChannel: projectMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryP4Icon 'Perforce')
@@ -16030,6 +16093,7 @@
 	 (MenuItem
 	    enabled: hasProjectSelectedAndSourceCodeManagerHolder
 	    label: 'Monticello'
+	    translateLabel: true
 	    isVisible: hasMonticelloSupport
 	    submenuChannel: projectMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryMCIcon 'Monticello')
@@ -16194,6 +16258,7 @@
     "Modified: / 24-07-2012 / 17:40:34 / cg"
 ! !
 
+
 !NewSystemBrowser class methodsFor:'menu specs-SCM-selector'!
 
 selectorMenuCVS
@@ -16388,6 +16453,7 @@
 	 (MenuItem
 	    enabled: hasMethodSelectedAndSourceCodeManagerHolder
 	    label: 'CVS'
+	    translateLabel: true
 	    submenuChannel: selectorMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
 	    argument: CVSSourceCodeManager
@@ -16396,6 +16462,7 @@
 	 (MenuItem
 	    enabled: hasMethodSelectedAndSourceCodeManagerHolder
 	    label: 'SubVersion'
+	    translateLabel: true
 	    isVisible: hasSubversionSupport
 	    submenuChannel: selectorMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
@@ -16420,6 +16487,7 @@
 	 (MenuItem
 	    enabled: hasMethodSelectedAndSourceCodeManagerHolder
 	    label: 'Perforce'
+	    translateLabel: true
 	    isVisible: hasPerforceSupport
 	    submenuChannel: selectorMenuSCMFor:
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryP4Icon 'Perforce')
@@ -16559,6 +16627,7 @@
       )
 ! !
 
+
 !NewSystemBrowser class methodsFor:'menu specs-dialogs'!
 
 classesWhichHaveBeenModifiedPopupMenu
@@ -16751,6 +16820,7 @@
     "Modified: / 29-09-2006 / 16:11:08 / cg"
 ! !
 
+
 !NewSystemBrowser class methodsFor:'menu specs-popup'!
 
 categoryPopUpMenu
@@ -16896,6 +16966,7 @@
     "Created: / 18.2.2000 / 11:58:25 / cg"
 ! !
 
+
 !NewSystemBrowser class methodsFor:'menu specs-subversion'!
 
 classSubversionMenu
@@ -17159,6 +17230,7 @@
       )
 ! !
 
+
 !NewSystemBrowser class methodsFor:'menu specs-toolbar'!
 
 toolBarMenu
@@ -17477,6 +17549,7 @@
       )
 ! !
 
+
 !NewSystemBrowser class methodsFor:'queries'!
 
 hasSubversionSupport
@@ -17486,6 +17559,7 @@
     "Modified: / 19-01-2012 / 10:46:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser class methodsFor:'startup'!
 
 browseClass:aClass
@@ -17705,6 +17779,7 @@
     "Created: / 06-07-2011 / 18:27:53 / cg"
 ! !
 
+
 !NewSystemBrowser class methodsFor:'utilities'!
 
 enterBoxTitle:title okText:okText label:label
@@ -17723,6 +17798,7 @@
     "Created: / 6.2.2000 / 01:07:11 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'accessing'!
 
 isEmbeddedBrowser
@@ -17737,6 +17813,7 @@
     isEmbedded := aBoolean.
 ! !
 
+
 !NewSystemBrowser methodsFor:'aspects'!
 
 bookmarkHolder
@@ -18042,6 +18119,7 @@
     builder aspectAt:#suppressChangeSetUpdate put:aBoolean
 ! !
 
+
 !NewSystemBrowser methodsFor:'aspects-environment'!
 
 selectedCategoriesAsEnvironment
@@ -18169,6 +18247,7 @@
     "Modified: / 28-02-2012 / 16:28:38 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'aspects-kludges'!
 
 metaToggle
@@ -18182,6 +18261,7 @@
 
 ! !
 
+
 !NewSystemBrowser methodsFor:'aspects-menus'!
 
 categoryMenu
@@ -18379,6 +18459,7 @@
     ^ self class visitedClassNamesHistory
 ! !
 
+
 !NewSystemBrowser methodsFor:'aspects-navigation'!
 
 categoryList
@@ -18599,6 +18680,7 @@
     "Created: / 24.2.2000 / 23:28:06 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'aspects-organization'!
 
 categoryMenuVisible
@@ -19072,6 +19154,7 @@
     "Modified: / 18.8.2000 / 19:03:48 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'aspects-presentation'!
 
 bookmarkBarVisibleHolder
@@ -19529,6 +19612,7 @@
     "Created: / 02-07-2011 / 18:27:29 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'aspects-queries'!
 
 anyBreakOrTracePointsAreSet
@@ -22245,6 +22329,7 @@
     ^ UserPreferences current useSearchBarInBrowser or:[self codeView searchBarActionBlock notNil]
 ! !
 
+
 !NewSystemBrowser methodsFor:'change & update'!
 
 categorySelectionChanged
@@ -23059,6 +23144,37 @@
     "Created: / 5.2.2000 / 04:25:54 / cg"
 !
 
+updateCategorySelectionForChangedClassSelection
+    |classes oldSelectedCategories selectedPseudoEntries newSelectedCategories|
+
+    navigationState isCategoryBrowser ifFalse:[^ self].
+
+    classes := self selectedClassesValue.
+    classes size > 0 ifTrue:[
+	"/ category-selection feedBack:
+	"/ update the category-selection, if '* all *' is in its selection
+	"/ (add the selected categories to the category-selection)
+	oldSelectedCategories := self selectedCategoriesValue.
+	selectedPseudoEntries := (oldSelectedCategories select:[:entry | BrowserList isPseudoCategory:entry]).
+
+	newSelectedCategories := Set new.
+	(selectedPseudoEntries asSet = (Set with:(BrowserList nameListEntryForChanged)))
+	ifFalse:[
+	    newSelectedCategories addAll:(classes collect:[:eachClass | eachClass category]).
+	].
+
+	"/ reselect any selected pseudoCategory
+	newSelectedCategories addAll:selectedPseudoEntries.
+
+	newSelectedCategories ~= oldSelectedCategories ifTrue:[
+	    self selectedCategories value:newSelectedCategories.
+	].
+    ].
+
+    "Created: / 24-02-2000 / 14:10:09 / cg"
+    "Modified: / 28-02-2012 / 16:51:33 / cg"
+!
+
 updateCodeInfoAndStringSearchToolVisibility
     |stringSearchToolVisible codeInfoVisible cFrame cBottomOffset sFrame sTopOffset sBottomOffset|
 
@@ -23338,6 +23454,7 @@
     self navigationState versionDiffApplication:diffApp.
 ! !
 
+
 !NewSystemBrowser methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -23365,6 +23482,7 @@
     ^ super flyByHelpTextFor:aComponent
 ! !
 
+
 !NewSystemBrowser methodsFor:'history'!
 
 addToHistory: class
@@ -23383,6 +23501,7 @@
     "Modified: / 02-07-2011 / 18:33:22 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-browse'!
 
 browseImplementorsOf
@@ -25677,6 +25796,7 @@
 viewMenuSelectAllClasses
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-buffers'!
 
 bufferMenuCreateBuffer
@@ -25841,6 +25961,7 @@
     "Modified: / 28-02-2012 / 10:22:24 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-category'!
 
 categoryMenuCheckInEach
@@ -26649,7 +26770,380 @@
     self spawnCategoryBrowserFor:(self selectedCategoriesValue) in:where
 ! !
 
-!NewSystemBrowser methodsFor:'menu actions-checks'!
+
+!NewSystemBrowser methodsFor:'menu actions-checks-lint'!
+
+foo
+    ^ true
+!
+
+isFoo
+    ^ true
+!
+
+loadSmalllint
+    |pkg |
+
+    pkg := Smalltalk at:#'stx_goodies_refactoryBrowser_lint'.
+    (pkg isNil or:[ pkg isFullyLoaded not ]) ifTrue:[
+	Smalltalk loadPackage:#'stx:goodies/refactoryBrowser/lint' asAutoloaded:false
+    ].
+
+    "
+     Tools::NewSystemBrowser basicNew loadSmallLint
+    "
+
+    "Created: / 17-04-2010 / 09:40:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (comment): / 07-03-2012 / 20:06:11 / cg"
+!
+
+runLint
+    "run the new smallLint checker tool"
+
+    self runLintOnPreviousRules
+
+    "Modified: / 17-04-2010 / 10:44:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 07-03-2012 / 17:39:34 / cg"
+!
+
+runLintOnAllRules
+    "run the new smallLint checker tool on all rules"
+
+    self
+	smalllintCheck: self selectedCodeComponentsAsEnvironment
+	against: #smalllintRulesAll
+
+    "Created: / 07-03-2012 / 17:40:07 / cg"
+!
+
+runLintOnPreviousRules
+    "run the new smallLint checker tool"
+
+    self
+	smalllintCheck: self selectedCodeComponentsAsEnvironment
+	against: #smalllintRules
+
+    "Modified: / 17-04-2010 / 10:44:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (comment): / 01-03-2012 / 14:10:47 / cg"
+    "Created: / 07-03-2012 / 17:39:28 / cg"
+!
+
+runLintOnSelectedRules
+    "run the new smallLint checker tool on selected rules"
+
+    self
+	smalllintCheck: self selectedCodeComponentsAsEnvironment
+	against: #smalllintRulesFromUser
+
+    "Created: / 07-03-2012 / 17:40:23 / cg"
+!
+
+smalllintCheck:anEnvironment against:ruleSetSymbol
+    "this is exected by an async task!!"
+
+    |rule runRules|
+
+    self assert:(#( #smalllintRulesAll #smalllintRulesFromUser #smalllintRules ) includes:ruleSetSymbol).
+
+    rule := self perform:ruleSetSymbol asSymbol.
+    rule isNil ifTrue:[ ^ self ].
+"/ cg: that is wrong implemented in RBxxxRule: isEmpty has two meanings:
+"/     for composite: has sub-rules
+"/     for non-composite: has a result
+"/ therefore, isEmpty returns true here, so we will be always asked twice!!
+
+    rule isEmptyInTree ifTrue:[
+	ruleSetSymbol ~~ #smalllintRulesFromUser ifTrue:[
+	    rule := self smalllintRulesFromUser.
+	    rule isNil ifTrue:[ ^ self ].
+	]
+    ].
+
+    runRules :=
+	[
+	    |showResult|
+
+	    self smalllintRunRule:rule onEnvironment:anEnvironment.
+	    showResult := true.
+	    [rule notNil and:[rule isEmpty]] whileTrue:[
+		(Dialog confirm:'Nothing special found.\\Proceed to select more/different lint rules.' withCRs) ifTrue:[
+		    rule := self smalllintRulesFromUser.
+		    rule notNil ifTrue:[
+			self smalllintRunRule:rule onEnvironment:anEnvironment.
+		    ].
+		] ifFalse:[
+		    rule := nil
+		].
+	    ].
+	    rule notNil ifTrue:[
+		self
+		    spawnSmalllintBrowserByRuleFor:rule
+		    in:#newBuffer
+		    label:'SmallLint results for ' , anEnvironment label
+	    ].
+	].
+
+    "background operation (Jan's pref) makes it difficult to stop and debug...)"
+    UserPreferences current runLintChecksInBackground ifTrue:[
+	self showMessage:'Checking code...' whileExecutingBackgroundAction:runRules.
+    ] ifFalse:[
+	self withWaitCursorDo:runRules
+    ].
+
+    "Modified: / 15-12-2008 / 18:51:43 / Josef Grega <gregaj1@fel.cvut.cz>"
+    "Modified: / 28-12-2008 / 14:40:01 / bazantj <enter your email here>"
+    "Created: / 24-02-2009 / 11:02:57 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 22-07-2009 / 14:38:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 28-08-2010 / 20:45:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 15-05-2012 / 10:46:02 / cg"
+!
+
+smalllintRules
+
+   ^LastLintRules
+	ifNil:[self smalllintRulesFromUser]
+	ifNotNil:[LastLintRules]
+
+
+    "
+	Tools::NewSystemBrowser basicNew smalllintRules
+    "
+
+    "Modified: / 17-04-2010 / 09:42:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+smalllintRulesFromUser
+    |dlg|
+
+    self loadSmalllint.
+    dlg := Tools::LintRuleSelectionDialog new.
+
+    dlg selection: (LastLintRules ifNil:[nil"self smalllintRulesAll flattened"] ifNotNil:[LastLintRules flattened]).
+    ^ (dlg open; accepted)
+	    ifTrue:[ LastLintRules := dlg selectionAsRule ]
+	    ifFalse:[ nil ].
+
+    "
+     LastLintRules := nil.
+     Tools::NewSystemBrowser basicNew smalllintRulesFromUser
+    "
+
+    "Created: / 17-04-2010 / 09:41:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 25-08-2010 / 15:35:16 / Jan Vrany <enter your email here>"
+    "Modified (format): / 06-03-2012 / 18:55:09 / cg"
+!
+
+smalllintRulesOrAll
+    "Returns a set of user-selected SmallLint rules or all rules,
+     if no user selection is done"
+
+   ^LastLintRules notNil
+	ifTrue:[ LastLintRules ]
+	ifFalse:[ self smalllintRulesAll ]
+
+    "Created: / 23-01-2012 / 10:59:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 07-03-2012 / 20:05:40 / cg"
+!
+
+smalllintRulesOrAllHolder
+    "Returns a holder on user-selected SmallLint rules
+     (or all rules if user made no selection"
+
+    ^[ self smalllintRulesOrAll ]
+
+    "Modified: / 17-04-2010 / 09:42:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Created: / 23-01-2012 / 11:05:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+smalllintRunRule: aLintRule onEnvironment: anEnvironment
+    "run a checker in the background"
+
+    | rules |
+
+    rules := aLintRule flattened.
+    rules withIndexDo:[:rule :index|
+	|t|
+
+	ProgressNotification new
+	    messageText: ('Checking: ', rule name);
+	    parameter: (rules size / 100) * index;
+	    raiseRequest.
+       t := Time millisecondsToRun:[
+		(SmalllintChecker runRule: rule onEnvironment: anEnvironment)
+	    ].
+       Transcript show:rule name,': ';showCR:t.
+    ].
+    ProgressNotification new
+	messageText: ('Done');
+	parameter: 100;
+	raiseRequest.
+
+    "Modified: / 15-12-2008 / 18:51:43 / Josef Grega <gregaj1@fel.cvut.cz>"
+    "Modified: / 28-12-2008 / 14:40:01 / bazantj <enter your email here>"
+    "Modified: / 22-07-2009 / 14:38:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Created: / 28-08-2010 / 12:12:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 01-03-2012 / 15:22:20 / cg"
+!
+
+spawnSmalllintBrowserByRuleFor: result in:where label:labelOrNil
+    ^ self
+	newBrowserOrBufferDependingOn:where
+	label:labelOrNil
+	forSpec: #smallLintByRuleResultBrowserSpec
+	setupWith:[:browser |
+	    |methodGenerator classGenerator ruleGenerator|
+
+	    ruleGenerator :=
+		Iterator on:[:whatToDo|
+		    result failedRules do:whatToDo].
+
+	    methodGenerator :=
+		Iterator on: [:whatToDo|
+		    | selectedRules selectedClasses failedMethods |
+
+		    selectedClasses := browser selectedClasses value.
+		    selectedRules := browser selectedLintRules value.
+		    failedMethods := OrderedCollection new.
+		    selectedClasses isEmptyOrNil ifFalse:
+			[selectedRules ? #() do:
+			    [:rule|
+			    failedMethods addAll:
+				(rule failedMethodsInAnyOf: selectedClasses meta: self hasMetaSelected)].
+		    failedMethods do:
+			[:mth|
+			whatToDo
+			    value:mth containingClass
+			    value:mth category
+			    value:mth selector
+			    value:mth]]].
+
+	    browser lintRuleListGenerator value:ruleGenerator.
+	    browser selectorListGenerator value:methodGenerator.
+
+	    browser selectedClasses
+		onChangeSend: #changed to: browser selectorListGenerator.
+	    browser selectedLintRules
+		onChangeSend: #changed to: browser selectorListGenerator.
+	    browser meta
+		onChangeSend: #changed to: browser selectorListGenerator.
+
+	    "/ cg: does not work - why?
+	    result failedRules size == 1 ifTrue:[
+		"/ autoselect the first one
+		browser selectedLintRules value:(result failedRules).
+	    ].
+
+	    "/self halt.
+	    "
+	    theMethodList isNil ifTrue:[
+		methodsOrMethodGeneratorBlock isBlock ifTrue:[
+		    theMethodList := methodsOrMethodGeneratorBlock value.
+		] ifFalse:[
+		    theMethodList := methodsOrMethodGeneratorBlock copy.
+		].
+	    ].
+	    perClassInfo := perClassInfoHolder value.
+	    perMethodInfo := perMethodInfoHolder value.
+
+	    methodGenerator := Iterator on:[:whatToDo |
+					    theMethodList isNil ifTrue:[
+						methodsOrMethodGeneratorBlock isBlock ifTrue:[
+						    theMethodList := methodsOrMethodGeneratorBlock value.
+						] ifFalse:[
+						    theMethodList := methodsOrMethodGeneratorBlock copy.
+						].
+					    ].
+					    perClassInfo := perClassInfoHolder value.
+					    perMethodInfo := perMethodInfoHolder value.
+
+					    theMethodNameList := theMethodList collect:[:eachMethod | eachMethod mclass -> eachMethod selector].
+					    theMethodNameList do:[:mAssoc |
+						|methodClass methodSelector method|
+
+						methodClass := mAssoc key.
+						methodSelector := mAssoc value.
+						methodClass notNil ifTrue:[
+						    method := methodClass compiledMethodAt:methodSelector.
+						    method notNil ifTrue:[
+							whatToDo
+							    value:methodClass
+							    value:method category
+							    value:methodSelector
+							    value:method.
+						    ].
+						].
+					    ].
+					    methodsOrMethodGeneratorBlock isBlock ifTrue:[
+						theMethodList := nil.
+					    ].
+					    whatToDo
+						value:nil
+						value:nil
+						value:nil
+						value:nil.
+				      ].
+
+	    sortHow notNil ifTrue:[brwsr sortBy value:sortHow].
+
+	    brwsr selectorListGenerator value:methodGenerator.
+	    perClassInfo notNil ifTrue:[
+		classGenerator := perClassInfo keys.
+		brwsr classListGenerator value:classGenerator.
+		brwsr meta value:false.
+	    ].
+
+	    perClassInfo notNil ifTrue:[
+		brwsr selectedClasses
+		    onChangeEvaluate:[
+			|class infoText|
+
+			brwsr selectedMethods value:nil.
+			class := brwsr theSingleSelectedClass.
+			class notNil ifTrue:[
+			    brwsr meta value:false.
+			    infoText := perClassInfoHolder value at:class theNonMetaclass ifAbsent:nil.
+			    infoText isNil ifTrue:[
+				infoText := perClassInfo at:class theMetaclass ifAbsent:nil
+			    ]
+			].
+			brwsr methodInfo value:infoText.
+		    ]
+	    ].
+
+	    perMethodInfo notNil ifTrue:[
+		brwsr selectedMethods
+		    onChangeEvaluate:[
+			|mthd infoText|
+
+			brwsr selectedClasses value:nil.
+			mthd := brwsr theSingleSelectedMethod.
+			mthd notNil ifTrue:[
+			    infoText := perMethodInfo at:mthd ifAbsent:nil
+			].
+			brwsr methodInfo value:infoText.
+		    ]
+	    ] ifFalse:[
+		(doSelect and:[theMethodList size == 1]) ifTrue:[
+		    brwsr selectMethods:(Array with:theMethodList first).
+		    brwsr methodsSelectionChanged.
+		]
+	    ].
+
+	    methodsOrMethodGeneratorBlock isBlock ifTrue:[
+		theMethodList := nil
+	    ]
+	    "
+	]
+
+    "Modified: / 22-07-2009 / 15:51:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Created: / 02-02-2010 / 20:05:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 02-02-2010 / 21:46:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 25-08-2010 / 10:30:33 / Jan Vrany <enter your email here>"
+    "Modified: / 01-03-2012 / 19:52:57 / cg"
+! !
+
+
+!NewSystemBrowser methodsFor:'menu actions-checks-old'!
 
 classMenuCheck
     "perform a bunch of checks on the selected class(es).
@@ -26810,71 +27304,6 @@
     "Modified (comment): / 01-03-2012 / 14:10:43 / cg"
 ! !
 
-!NewSystemBrowser methodsFor:'menu actions-checks-lint'!
-
-foo
-    ^ true
-!
-
-isFoo
-    ^ true
-!
-
-runLintOnAllRules
-    "run the new smallLint checker tool on all rules"
-
-    self
-	smalllintCheck: self selectedCodeComponentsAsEnvironment
-	against: #smalllintRulesAll
-
-    "Created: / 07-03-2012 / 17:40:07 / cg"
-!
-
-runLintOnPreviousRules
-    "run the new smallLint checker tool"
-
-    self
-	smalllintCheck: self selectedCodeComponentsAsEnvironment
-	against: #smalllintRules
-
-    "Modified: / 17-04-2010 / 10:44:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified (comment): / 01-03-2012 / 14:10:47 / cg"
-    "Created: / 07-03-2012 / 17:39:28 / cg"
-!
-
-runLintOnSelectedRules
-    "run the new smallLint checker tool on selected rules"
-
-    self
-	smalllintCheck: self selectedCodeComponentsAsEnvironment
-	against: #smalllintRulesFromUser
-
-    "Created: / 07-03-2012 / 17:40:23 / cg"
-!
-
-smalllintRules
-
-   ^LastLintRules
-	ifNil:[self smalllintRulesFromUser]
-	ifNotNil:[LastLintRules]
-
-
-    "
-	Tools::NewSystemBrowser basicNew smalllintRules
-    "
-
-    "Modified: / 17-04-2010 / 09:42:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-smalllintRulesOrAllHolder
-    "Returns a holder on user-selected SmallLint rules
-     (or all rules if user made no selection"
-
-    ^[ self smalllintRulesOrAll ]
-
-    "Modified: / 17-04-2010 / 09:42:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Created: / 23-01-2012 / 11:05:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
 
 !NewSystemBrowser methodsFor:'menu actions-class'!
 
@@ -27018,11 +27447,11 @@
 		     Such a query is not only annoying but also  confusing to newcomers
 		    "
 		    eachClassToRemove sourceCodeManager isCVS ifTrue:[
-			confirmed := Dialog
-				    confirmWithCancel:(resources
-					    string:'Remove the source container for ''%1'' in the repository ?\\Warning: can only be undone by manually fixing the CVS repository !!'
-					    with:eachClassToRemove name allBold) withCRs
-				    default:false.
+		    confirmed := Dialog
+				confirmWithCancel:(resources
+					string:'Remove the source container for ''%1'' in the repository ?\\Warning: can only be undone by manually fixing the CVS repository !!'
+					with:eachClassToRemove name allBold) withCRs
+				default:false.
 		    ] ifFalse:[
 			"JV@2012-02-09: Mhh, mhh, what to return here?"
 			confirmed := false. "/false avoids timely listing of huge expecco's repository,
@@ -31611,6 +32040,7 @@
     self classMenuGenerateMultiSetterMethod
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-class hierarchy'!
 
 classHierarchyMenuSelectWithAllSubclasses
@@ -31663,6 +32093,7 @@
     ^ self selectedClasses
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-class packaging'!
 
 excludeClasses: toExclude fromProject:aDefinitionClass using:generator
@@ -31694,6 +32125,7 @@
     aDefinitionClass makeClassesAutoloaded:toMakeAutoloaded usingCompiler:generator
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-class repository'!
 
 allKnownTagsInClasses:aCollectionOfClasses
@@ -32041,63 +32473,63 @@
     (aManagerOrNil isNil or:[aManagerOrNil performsCompilabilityChecks not]) ifTrue:[
         errors := self checkCompilabilityOfAll:aCollectionOfClasses withExtensions: true errorsOnly:true.
         errors notEmptyOrNil ifTrue:[
-            (TextBox openOn:errors title:'Attention: about to check in class with errors' readOnly:true) isNil
-            ifTrue:[
-                AbortSignal raise
-            ].
+	(TextBox openOn:errors title:'Attention: about to check in class with errors' readOnly:true) isNil
+	ifTrue:[
+	    AbortSignal raise
+	].
         ].
     ].
 
     utilities := aManagerOrNil isNil
-                    ifTrue:[ SourceCodeManagerUtilities default ]
-                    ifFalse:[ aManagerOrNil utilities ].
+		    ifTrue:[ SourceCodeManagerUtilities default ]
+		    ifFalse:[ aManagerOrNil utilities ].
 
     self withActivityNotificationsRedirectedToInfoLabelDo:[
-        utilities
-            checkinClasses:aCollectionOfClasses
-            withInfo:logInfoOrNil
-            withCheck:doCheck
-            usingManager:aManagerOrNil.
+	utilities
+	    checkinClasses:aCollectionOfClasses
+	    withInfo:logInfoOrNil
+	    withCheck:doCheck
+	    usingManager:aManagerOrNil.
     ].
 
     classesNotInPackage := aCollectionOfClasses select:[:cls |
-                                |pkg def|
-
-                                pkg := cls package.
-                                pkg notNil ifTrue:[
-                                    def := ProjectDefinition definitionClassForPackage:pkg.
-                                ].
-                                def notNil and:[
-                                    (def allClassNames includes:cls name) not]
-                           ].
+				|pkg def|
+
+				pkg := cls package.
+				pkg notNil ifTrue:[
+				    def := ProjectDefinition definitionClassForPackage:pkg.
+				].
+				def notNil and:[
+				    (def allClassNames includes:cls name) not]
+			   ].
     classesNotInPackage := classesNotInPackage collect:[:cls | cls theNonMetaclass].
 
     classesNotInPackage notEmpty ifTrue:[
-        classesNotInPackage size > 1 ifTrue:[
-            msg := 'Add %2 classes to their Package definition (Make compiled or autoloaded) ?'
-        ] ifFalse:[
-            msg := 'Add %1 to its Package definition (Make compiled or autoloaded) ?'
-        ].
-        answer := Dialog
-                    confirmWithCancel:((resources string:msg
-                                        with:classesNotInPackage first name
-                                        with:classesNotInPackage size)
-                                      , (resources
-                                            stringWithCRs:'\\(Notice: You have to "checkIn build support files" for the package\for the compilation to become effective)')
-                                      )
-                    labels:(resources array:#('Cancel' 'Autoloaded' 'Compiled')).
-        answer == nil ifTrue:[^ self ].
-
-        classesNotInPackage do:[:eachClass |
-            |defClass|
-
-            defClass := eachClass projectDefinitionClass.
-            answer == true ifTrue:[
-                defClass includeClasses:{ eachClass } usingCompiler:nil
-            ] ifFalse:[
-                defClass makeClassesAutoloaded:{ eachClass } usingCompiler:nil
-            ].
-        ].
+	classesNotInPackage size > 1 ifTrue:[
+	    msg := 'Add %2 classes to their Package definition (Make compiled or autoloaded) ?'
+	] ifFalse:[
+	    msg := 'Add %1 to its Package definition (Make compiled or autoloaded) ?'
+	].
+	answer := Dialog
+		    confirmWithCancel:((resources string:msg
+					with:classesNotInPackage first name
+					with:classesNotInPackage size)
+				      , (resources
+					    stringWithCRs:'\\(Notice: You have to "checkIn build support files" for the package\for the compilation to become effective)')
+				      )
+		    labels:(resources array:#('Cancel' 'Autoloaded' 'Compiled')).
+	answer == nil ifTrue:[^ self ].
+
+	classesNotInPackage do:[:eachClass |
+	    |defClass|
+
+	    defClass := eachClass projectDefinitionClass.
+	    answer == true ifTrue:[
+		defClass includeClasses:{ eachClass } usingCompiler:nil
+	    ] ifFalse:[
+		defClass makeClassesAutoloaded:{ eachClass } usingCompiler:nil
+	    ].
+	].
     ].
 
     "Created: / 21-12-2011 / 18:22:58 / cg"
@@ -32962,18 +33394,22 @@
 
 classMenuCompareTwoRepositoryVersions
     "open a diff-textView comparing two versions found in the repository."
+
     |currentClass mgr nm|
+
     currentClass := self theSingleSelectedLoadedNonMetaclassOrNil.
     currentClass isNil ifTrue:[
 	self warn:'Cannot compare unloaded classes.'.
 	^ self.
     ].
+
     nm := currentClass name.
     mgr := SourceCodeManagerUtilities default sourceCodeManagerFor:currentClass.
     mgr isNil ifTrue:[
 	^ self
     ].
     self classMenuCompareTwoRepositoryVersionsUsingManager: mgr
+
     "Modified (format): / 26-09-2012 / 12:17:45 / cg"
 !
 
@@ -33170,174 +33606,42 @@
 
     |mgr newestRev|
 
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
-<conflict>
+    self
+	askForRepositoryVersionUsingManager:manager
+	thenWithCurrentVersionDo:[:currentClass :comparedSource :revStringIn :currentSource :thisRevString |
+	    |versionsAreTheSame revString rev|
+
+	    self busyLabel:'comparing  ...' with:nil.
+	    revString := revStringIn.
+	    versionsAreTheSame := (comparedSource = currentSource).
+	    versionsAreTheSame ifFalse:[
+		revString = '(newest)' ifTrue:[
+		    (rev := mgr newestRevisionOf:currentClass) notNil ifTrue:[
+			revString := '(newest is ' , rev , ')'
+		    ]
+		].
+
+		self busyLabel:'comparing  ...' with:nil.
+		(UserPreferences versionDiffViewerClass)
+		      openOnClass:currentClass
+		      labelA:('repository: ' , revString)
+		      sourceA:comparedSource
+		      labelB:('current: (based on: ' , thisRevString , ')')
+		      sourceB:currentSource
+		      title:('comparing ' , currentClass name)
+		      ifSame:[versionsAreTheSame := true].
+	    ].
+	    versionsAreTheSame ifTrue:[
+		((thisRevString = newestRev)
+		and:[currentClass hasUnsavedChanges]) ifTrue:[
+		    (self confirm:'Versions are identical.\\Remove entries from changeSet ?' withCRs) ifTrue:[
+			ChangeSet current condenseChangesForClass:currentClass.
+		    ].
+		] ifFalse:[
+		    self information:'Versions are identical.'.
+		]
+	    ].
+	].
 
     "Modified: / 11-10-2011 / 16:25:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 21-12-2011 / 20:28:48 / cg"
@@ -34116,7 +34420,9 @@
 
 getClassSourceFor:aClass revision:revision
     "ask aClass's sourceCodeManager to retrieve a (possibly older or newer) version's source code"
+
     ^ self getClassSourceFor:aClass revision:revision usingManager:(aClass sourceCodeManager)
+
     "Created: / 08-02-2011 / 10:24:50 / cg"
 !
 
@@ -34309,7 +34615,9 @@
     "show a classes repository log - append to codeView.
      CAVEAT: that is almost the same code as found in SystemBrowser;
 	     move to SourceCodeManagerUtilities."
+
     ^ self showRepositoryLogOf:aClass short:shortOrNot usingManager: (aClass sourceCodeManager) beforeLogDo:aBlock
+
     "Modified: / 26-09-2012 / 13:06:30 / cg"
 !
 
@@ -34447,6 +34755,7 @@
     "Created: / 21-12-2011 / 20:11:25 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-code'!
 
 codeMenuAddClassVariable:newName inClass:aClass asValueHolder:asValueHolder
@@ -35853,7 +36162,7 @@
 				with:(self meta value ifTrue:['classInstance'] ifFalse:['instance']))
 		    title:(resources string:'Rename Variable')
 		    initialAnswer:oldName.
-    newName isEmpty ifTrue:[
+    newName isEmptyOrNil ifTrue:[
 	^ self
     ].
     (cls := aClass whichClassDefinesInstVar:newName) notNil ifTrue:[
@@ -36328,6 +36637,7 @@
     aTwoArgBlock value:cls value:selector.
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-debug'!
 
 classMenuClearCoverageInfo
@@ -36927,6 +37237,7 @@
     "Modified: / 28-02-2012 / 16:52:45 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-help'!
 
 openClassDocumentation
@@ -36949,6 +37260,7 @@
     HTMLDocumentView openFullOnDocumentationFile:'TOP.html'
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-inheritance'!
 
 inheritanceMenuNavigateToClass
@@ -36959,16 +37271,6 @@
     self updateSpecialCodeEditorVisibility
 ! !
 
-!NewSystemBrowser methodsFor:'menu actions-lint'!
-
-runLint
-    "run the new smallLint checker tool"
-
-    self runLintOnPreviousRules
-
-    "Modified: / 17-04-2010 / 10:44:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 07-03-2012 / 17:39:34 / cg"
-! !
 
 !NewSystemBrowser methodsFor:'menu actions-methodList'!
 
@@ -37198,6 +37500,7 @@
     "Modified: / 28-02-2012 / 16:27:44 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-namespace'!
 
 nameSpaceMenuCheckOut
@@ -37323,6 +37626,7 @@
     "Modified: / 28-02-2012 / 16:53:04 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-other'!
 
 editModeInsert
@@ -37388,6 +37692,7 @@
     "Created: / 15-10-2011 / 12:02:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-project'!
 
 classMenuCheckInBuildSupportFiles
@@ -38648,201 +38953,216 @@
      or merge-in the repository version.
     "
 
-    |classesInImage filesInImage|
+    |classesInImage filesInImage mgr|
 
     (Dialog confirm:('This functionality is not yet completely implemented.'
 		, String lf
 		,'For now, only existing classes are updated - no new classes are added or old ones removed.'
 		, String lf
 		, 'Please use the import-structure function to get new definitions.')) ifFalse:[^ self].
-    self checkOutClasses:(self selectedProjectClasses) askForRevision:false.
+
+    self selectedProjects value do:[:eachPackageID |
+	|definitionClass mgr classes|
+
+	definitionClass := ProjectDefinition definitionClassForPackage:eachPackageID.
+	definitionClass isNil ifTrue:[
+	    mgr := SourceCodeManager
+	] ifFalse:[
+	    mgr := SourceCodeManagerUtilities default sourceCodeManagerFor:definitionClass
+	].
+
+	classes := Smalltalk allClassesInPackage:eachPackageID.
+	classes := classes reject:[:cls | cls isPrivate ].
+	self checkOutClasses:classes askForRevision:false usingManager: mgr.
+    ].
+"/    self checkOutClasses:(self selectedProjectClasses) askForRevision:false.
 ^ self.
 
-    #TODO.
-
-    self selectedProjects value do:[:eachProject |
-	|module directory perProjectInfo
-	 classesNotInRepository filesNotInImage classesDeletedInRepository
-	 classesModifiedInImage classesModifiedInRepository
-	 classesDeletedInImage classesAddedInImage
-	 anyDifference box doRemove classDefs changeSets filePerClassDefintion
-	 classesToCheckIn|
-
-	module := eachProject asPackageId module.
-	directory := eachProject asPackageId directory.
-	perProjectInfo := SourceCodeManager newestRevisionsInModule:module directory:directory.
-	perProjectInfo := perProjectInfo ? #().
-	perProjectInfo := perProjectInfo select:[:info | info key asFilename hasSuffix:'st'].
-	perProjectInfo := Dictionary withAssociations:perProjectInfo.
-
-	classesInImage := Smalltalk allClassesInPackage:eachProject.
-	filesInImage := (classesInImage collect:[:cls | cls classBaseFilename]) asSet.
-	"/ any differences ?
-	classesNotInRepository := classesInImage reject:[:cls | (perProjectInfo includesKey:cls classBaseFilename)].
-	classesDeletedInRepository := classesInImage select:[:cls | (perProjectInfo at:cls classBaseFilename ifAbsent:nil) == #deleted].
-	perProjectInfo := perProjectInfo reject:[:v | v == #deleted].
-	filesNotInImage := perProjectInfo keys reject:[:file | (filesInImage includes:file)].
-
-	classesModifiedInImage := classesInImage select:[:cls | ChangeSet current includesChangeForClassOrMetaclass:cls].
-	classesModifiedInRepository := classesInImage select:[:cls | |v|
-							v := (perProjectInfo at:cls classBaseFilename ifAbsent:nil).
-							v notNil and:[ v > cls revision]].
-
-	anyDifference := false.
-	filesNotInImage notEmpty ifTrue:[
-	    filePerClassDefintion := Dictionary new.
-	    classDefs := ChangeSet new.
-	    changeSets := OrderedCollection new.
-	    filesNotInImage do:[:eachSTFile |
-		|s chgSet classDefinitions|
-
-		s := SourceCodeManager
-		    streamForClass:nil fileName:eachSTFile revision:#newest directory:directory module:module cache:true.
-		chgSet := ChangeSet fromStream:s.
-		s close.
-		changeSets add:chgSet.
-		classDefinitions := chgSet select:[:change | change isClassDefinitionChange and:[change isPrivateClassDefinitionChange not]].
-		classDefinitions do:[:def | filePerClassDefintion at:def put:eachSTFile].
-		classDefs addAll:classDefinitions.
-	    ].
-	    "/ now, install ...
-	    classDefs do:[:eachClassDefinition |
-		|cls oldPackage|
-
-		eachClassDefinition package:eachProject.
-		eachClassDefinition installAsAutoloadedClassIfPublicWithFilename:(filePerClassDefintion at:eachClassDefinition).
-		(cls := eachClassDefinition changeClass) notNil ifTrue:[
-		    (oldPackage := cls package) ~= eachProject ifTrue:[
-			(Dialog confirm:('Move the %1-class from %2 to %3 ?' bindWith:cls name allBold with:oldPackage allBold with:eachProject allBold)) ifTrue:[
-			    cls package:eachProject.
-			    cls instAndClassMethodsDo:[:m | m package = oldPackage ifTrue:[ m package:eachProject]].
-			]
-		    ].
-		].
-	    ].
-	    changeSets do:[:chgSet |
-		chgSet apply
-	    ].
-	].
-	classesModifiedInImage notEmpty ifTrue:[
-	    classesToCheckIn := OrderedCollection new.
-	    classesModifiedInImage do:[:eachChangedClass |
-		|currentVersion repositoryVersion s stFile diffs|
-
-		stFile := eachChangedClass classBaseFilename.
-		s := SourceCodeManager
-		    streamForClass:nil fileName:stFile revision:#newest directory:directory module:module cache:true.
-		repositoryVersion := ChangeSet fromStream:s.
-		s close.
-
-		currentVersion := ChangeSet forExistingClass:eachChangedClass.
-		diffs := currentVersion diffSetsAgainst:repositoryVersion.
-		diffs isEmpty ifTrue:[
-		    ChangeSet current condenseChangesForClass:eachChangedClass
-		] ifFalse:[
-self halt.
-		    classesToCheckIn add:eachChangedClass.
-		].
-	    ].
-	    classesToCheckIn notEmpty ifTrue:[
-self halt.
-	    ].
-	].
-	classesModifiedInRepository notEmpty ifTrue:[
-	    box := Dialog
-		forRequestText:(resources stringWithCRs:'The following classes need to be updated from the repository.')
-		editViewClass:ListView
-		lines:10 columns:20
-		initialAnswer:nil model:nil
-		setupWith:
-		   [:v :d |
-			    |removeButton|
-
-			    v list:classesModifiedInRepository.
-			    d okButton label:(resources string:'Update').
-			    d okButton isReturnButton:true.
-		   ].
-	    box open.
-	    box accepted ifFalse:[
-		^ self
-	    ].
-	    classesModifiedInRepository do:[:eachClass|
-		|s chgSet|
-
-		s := SourceCodeManager
-		    streamForClass:eachClass fileName:nil revision:#newest directory:directory module:module cache:true.
-		chgSet := ChangeSet fromStream:s.
-		s close.
-		chgSet apply.
-	    ].
-	].
-	classesDeletedInRepository notEmpty ifTrue:[
-self halt.
-	].
-	classesNotInRepository notEmpty ifTrue:[
-	    "/ if there are no changeSet entries for those classes, they seem to be
-	    "/ no longer in the repository (possibly moved ?)
-	    "/ If there are entries, these might have been added in the image and need a check-in
-	    classesAddedInImage := classesNotInRepository select:[:cls | ChangeSet current includesChangeForClassOrMetaclass:cls].
-	    classesAddedInImage isEmpty ifTrue:[
-		doRemove := false.
-		box := Dialog
-		    forRequestText:(resources stringWithCRs:'The following classes are no longer in the repository (or moved to another package).\\Remove classes from the image ?')
-		    editViewClass:ListView
-		    lines:10 columns:20
-		    initialAnswer:nil model:nil
-		    setupWith:
-		       [:v :d |
-				|removeButton|
-
-				removeButton := Button label:(resources string:'Remove').
-				removeButton action:[ doRemove := true. box okPressed. ].
-				v list:classesNotInRepository.
-				d addButton:removeButton after:(d okButton).
-				d okButton label:(resources string:'Continue').
-				d okButton isReturnButton:true.
-		       ].
-		box open.
-		box accepted ifFalse:[
-		    ^ self
-		].
-		doRemove ifTrue:[
-self halt.
-		    classesNotInRepository do:[:eachClassToRemove |
-			|subClasses|
-
-			subClasses := eachClassToRemove allSubclasses.
-			(subClasses conform:
-			    [:subClass |
-				|ownerOrClassItself|
-
-				ownerOrClassItself := subClass topOwningClass ? subClass.
-				(classesNotInRepository includes:ownerOrClassItself)
-			    ])
-			ifTrue:[
-			    Smalltalk removeClass:eachClassToRemove.
-			    ChangeSet current condenseChangesForClass:eachClassToRemove.
-			] ifFalse:[
-			    Dialog warn:'Cannit simply remove the class - more repair needed due to subclass(es)'.
-			].
-		    ].
-		].
-	    ] ifFalse:[
-self halt.
-	    ].
-	].
-
-	anyDifference ifFalse:[
-	    "/ Dialog information:(resources string:'%1 is up-to-date.' with:eachProject allBold).
-	    Transcript showCR:('%1 is up-to-date.' bindWith:eachProject allBold).
-	    ChangeSet current condenseChangesForPackage:eachProject.
-	] ifTrue:[
-self halt.
-	    self checkOutClasses:(self selectedProjectClasses) askForRevision:false
-	].
-    ].
-
-    "Modified: / 13-10-2006 / 01:31:43 / cg"
+"/    #TODO.
+"/
+"/    self selectedProjects value do:[:eachProject |
+"/        |module directory perProjectInfo
+"/         classesNotInRepository filesNotInImage classesDeletedInRepository
+"/         classesModifiedInImage classesModifiedInRepository
+"/         classesDeletedInImage classesAddedInImage
+"/         anyDifference box doRemove classDefs changeSets filePerClassDefintion
+"/         classesToCheckIn|
+"/
+"/        module := eachProject asPackageId module.
+"/        directory := eachProject asPackageId directory.
+"/        perProjectInfo := SourceCodeManager newestRevisionsInModule:module directory:directory.
+"/        perProjectInfo := perProjectInfo ? #().
+"/        perProjectInfo := perProjectInfo select:[:info | info key asFilename hasSuffix:'st'].
+"/        perProjectInfo := Dictionary withAssociations:perProjectInfo.
+"/
+"/        classesInImage := Smalltalk allClassesInPackage:eachProject.
+"/        filesInImage := (classesInImage collect:[:cls | cls classBaseFilename]) asSet.
+"/        "/ any differences ?
+"/        classesNotInRepository := classesInImage reject:[:cls | (perProjectInfo includesKey:cls classBaseFilename)].
+"/        classesDeletedInRepository := classesInImage select:[:cls | (perProjectInfo at:cls classBaseFilename ifAbsent:nil) == #deleted].
+"/        perProjectInfo := perProjectInfo reject:[:v | v == #deleted].
+"/        filesNotInImage := perProjectInfo keys reject:[:file | (filesInImage includes:file)].
+"/
+"/        classesModifiedInImage := classesInImage select:[:cls | ChangeSet current includesChangeForClassOrMetaclass:cls].
+"/        classesModifiedInRepository := classesInImage select:[:cls | |v|
+"/                                                        v := (perProjectInfo at:cls classBaseFilename ifAbsent:nil).
+"/                                                        v notNil and:[ v > cls revision]].
+"/
+"/        anyDifference := false.
+"/        filesNotInImage notEmpty ifTrue:[
+"/            filePerClassDefintion := Dictionary new.
+"/            classDefs := ChangeSet new.
+"/            changeSets := OrderedCollection new.
+"/            filesNotInImage do:[:eachSTFile |
+"/                |s chgSet classDefinitions|
+"/
+"/                s := SourceCodeManager
+"/                    streamForClass:nil fileName:eachSTFile revision:#newest directory:directory module:module cache:true.
+"/                chgSet := ChangeSet fromStream:s.
+"/                s close.
+"/                changeSets add:chgSet.
+"/                classDefinitions := chgSet select:[:change | change isClassDefinitionChange and:[change isPrivateClassDefinitionChange not]].
+"/                classDefinitions do:[:def | filePerClassDefintion at:def put:eachSTFile].
+"/                classDefs addAll:classDefinitions.
+"/            ].
+"/            "/ now, install ...
+"/            classDefs do:[:eachClassDefinition |
+"/                |cls oldPackage|
+"/
+"/                eachClassDefinition package:eachProject.
+"/                eachClassDefinition installAsAutoloadedClassIfPublicWithFilename:(filePerClassDefintion at:eachClassDefinition).
+"/                (cls := eachClassDefinition changeClass) notNil ifTrue:[
+"/                    (oldPackage := cls package) ~= eachProject ifTrue:[
+"/                        (Dialog confirm:('Move the %1-class from %2 to %3 ?' bindWith:cls name allBold with:oldPackage allBold with:eachProject allBold)) ifTrue:[
+"/                            cls package:eachProject.
+"/                            cls instAndClassMethodsDo:[:m | m package = oldPackage ifTrue:[ m package:eachProject]].
+"/                        ]
+"/                    ].
+"/                ].
+"/            ].
+"/            changeSets do:[:chgSet |
+"/                chgSet apply
+"/            ].
+"/        ].
+"/        classesModifiedInImage notEmpty ifTrue:[
+"/            classesToCheckIn := OrderedCollection new.
+"/            classesModifiedInImage do:[:eachChangedClass |
+"/                |currentVersion repositoryVersion s stFile diffs|
+"/
+"/                stFile := eachChangedClass classBaseFilename.
+"/                s := SourceCodeManager
+"/                    streamForClass:nil fileName:stFile revision:#newest directory:directory module:module cache:true.
+"/                repositoryVersion := ChangeSet fromStream:s.
+"/                s close.
+"/
+"/                currentVersion := ChangeSet forExistingClass:eachChangedClass.
+"/                diffs := currentVersion diffSetsAgainst:repositoryVersion.
+"/                diffs isEmpty ifTrue:[
+"/                    ChangeSet current condenseChangesForClass:eachChangedClass
+"/                ] ifFalse:[
+"/self halt.
+"/                    classesToCheckIn add:eachChangedClass.
+"/                ].
+"/            ].
+"/            classesToCheckIn notEmpty ifTrue:[
+"/self halt.
+"/            ].
+"/        ].
+"/        classesModifiedInRepository notEmpty ifTrue:[
+"/            box := Dialog
+"/                forRequestText:(resources stringWithCRs:'The following classes need to be updated from the repository.')
+"/                editViewClass:ListView
+"/                lines:10 columns:20
+"/                initialAnswer:nil model:nil
+"/                setupWith:
+"/                   [:v :d |
+"/                            |removeButton|
+"/
+"/                            v list:classesModifiedInRepository.
+"/                            d okButton label:(resources string:'Update').
+"/                            d okButton isReturnButton:true.
+"/                   ].
+"/            box open.
+"/            box accepted ifFalse:[
+"/                ^ self
+"/            ].
+"/            classesModifiedInRepository do:[:eachClass|
+"/                |s chgSet|
+"/
+"/                s := SourceCodeManager
+"/                    streamForClass:eachClass fileName:nil revision:#newest directory:directory module:module cache:true.
+"/                chgSet := ChangeSet fromStream:s.
+"/                s close.
+"/                chgSet apply.
+"/            ].
+"/        ].
+"/        classesDeletedInRepository notEmpty ifTrue:[
+"/self halt.
+"/        ].
+"/        classesNotInRepository notEmpty ifTrue:[
+"/            "/ if there are no changeSet entries for those classes, they seem to be
+"/            "/ no longer in the repository (possibly moved ?)
+"/            "/ If there are entries, these might have been added in the image and need a check-in
+"/            classesAddedInImage := classesNotInRepository select:[:cls | ChangeSet current includesChangeForClassOrMetaclass:cls].
+"/            classesAddedInImage isEmpty ifTrue:[
+"/                doRemove := false.
+"/                box := Dialog
+"/                    forRequestText:(resources stringWithCRs:'The following classes are no longer in the repository (or moved to another package).\\Remove classes from the image ?')
+"/                    editViewClass:ListView
+"/                    lines:10 columns:20
+"/                    initialAnswer:nil model:nil
+"/                    setupWith:
+"/                       [:v :d |
+"/                                |removeButton|
+"/
+"/                                removeButton := Button label:(resources string:'Remove').
+"/                                removeButton action:[ doRemove := true. box okPressed. ].
+"/                                v list:classesNotInRepository.
+"/                                d addButton:removeButton after:(d okButton).
+"/                                d okButton label:(resources string:'Continue').
+"/                                d okButton isReturnButton:true.
+"/                       ].
+"/                box open.
+"/                box accepted ifFalse:[
+"/                    ^ self
+"/                ].
+"/                doRemove ifTrue:[
+"/self halt.
+"/                    classesNotInRepository do:[:eachClassToRemove |
+"/                        |subClasses|
+"/
+"/                        subClasses := eachClassToRemove allSubclasses.
+"/                        (subClasses conform:
+"/                            [:subClass |
+"/                                |ownerOrClassItself|
+"/
+"/                                ownerOrClassItself := subClass topOwningClass ? subClass.
+"/                                (classesNotInRepository includes:ownerOrClassItself)
+"/                            ])
+"/                        ifTrue:[
+"/                            Smalltalk removeClass:eachClassToRemove.
+"/                            ChangeSet current condenseChangesForClass:eachClassToRemove.
+"/                        ] ifFalse:[
+"/                            Dialog warn:'Cannit simply remove the class - more repair needed due to subclass(es)'.
+"/                        ].
+"/                    ].
+"/                ].
+"/            ] ifFalse:[
+"/self halt.
+"/            ].
+"/        ].
+"/
+"/        anyDifference ifFalse:[
+"/            "/ Dialog information:(resources string:'%1 is up-to-date.' with:eachProject allBold).
+"/            Transcript showCR:('%1 is up-to-date.' bindWith:eachProject allBold).
+"/            ChangeSet current condenseChangesForPackage:eachProject.
+"/        ] ifTrue:[
+"/self halt.
+"/            self checkOutClasses:(self selectedProjectClasses) askForRevision:false
+"/        ].
+"/    ].
+
+    "Modified: / 10-02-2012 / 17:32:39 / cg"
 !
 
 projectMenuCheckPackageIntegrity
@@ -39176,17 +39496,17 @@
 	suffix := ''.
     ] ifFalse:[
 	aFormatSymbolOrNil == #xml ifTrue:[
-	    suffix := '.xml'
-	] ifFalse:[
-	    aFormatSymbolOrNil == #sif ifTrue:[
-		suffix := '.sif'
-	    ] ifFalse:[
-		aFormatSymbolOrNil == #binary ifTrue:[
-		    suffix := '.cls'
-		] ifFalse:[
-		    suffix := '.st'
-		]
-	    ]
+	suffix := '.xml'
+	] ifFalse:[
+	aFormatSymbolOrNil == #sif ifTrue:[
+	    suffix := '.sif'
+	] ifFalse:[
+	    aFormatSymbolOrNil == #binary ifTrue:[
+		suffix := '.cls'
+	    ] ifFalse:[
+		suffix := '.st'
+	    ]
+	]
 	].
     ].
     fileName := fileName , suffix.
@@ -39201,10 +39521,10 @@
 	    requestDirectoryName: (resources string:'FileOut %1 in:' with:(currentProject ? 'selected projects'))
 	    "default: (FileSelectionBox lastFileSelectionDirectory)"
     ] ifFalse:[
-	saveName := Dialog
-	    requestFileNameForSave:(resources string:'FileOut %1 as:' with:(currentProject ? 'selected projects'))
-	    default:fileName
-	    fromDirectory:(FileSelectionBox lastFileSelectionDirectory).
+    saveName := Dialog
+	requestFileNameForSave:(resources string:'FileOut %1 as:' with:(currentProject ? 'selected projects'))
+	default:fileName
+	fromDirectory:(FileSelectionBox lastFileSelectionDirectory).
     ].
 
 "/    fileBox := FileSelectionBox
@@ -39496,6 +39816,55 @@
     ].
 !
 
+projectMenuGenerateBuildSupportFiles
+    self selectedProjectsDo:[:packageToCheckIn |
+	self projectMenuGenerateBuildSupportFilesForProject:packageToCheckIn
+    ]
+
+    "Created: / 09-08-2006 / 19:04:52 / fm"
+    "Modified: / 15-10-2011 / 22:31:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+projectMenuGenerateBuildSupportFilesForProject:packageID
+    |defClass|
+
+    defClass := ProjectDefinition definitionClassForPackage:packageID createIfAbsent:false.
+    defClass isNil ifTrue:[
+	defClass := self projectDefinitionDialogFor:packageID.
+	defClass isNil ifTrue:[ ^ self ].
+	defClass compileDescriptionMethods.
+    ].
+
+    self projectMenuGenerateBuildSupportFilesForProject:packageID definition:defClass
+!
+
+projectMenuGenerateBuildSupportFilesForProject:packageID definition:defClass
+    |dirName directory|
+
+    defClass validateDescription.
+
+    dirName := self
+		askForDirectoryToFileOut:(resources string:'Generate Build Support Files for %1 in:'
+						    with:packageID)
+		default:nil.
+    dirName isNil ifTrue:[
+	^ self
+    ].
+    directory := dirName asFilename.
+    directory exists ifFalse:[
+	directory recursiveMakeDirectory
+    ].
+
+    self activityNotification:(resources string:'generating build-support files...').
+    self withActivityNotificationsRedirectedToInfoLabelDo:[
+	defClass forEachFileNameAndGeneratedContentsDo:[:fileName :fileContents |
+	    (directory construct:fileName) contents:fileContents.
+	].
+    ].
+
+    self activityNotification:nil.
+!
+
 projectMenuGeneratePatchSet
     "ask for two tags, generate a patchSet to bring a baseSystem (tag1) to the
      level of the tag2 version"
@@ -40709,6 +41078,7 @@
     "Modified: / 23-10-2006 / 11:01:42 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-project-monticello'!
 
 projectMenuMonticelloBrowseRepositories
@@ -40717,6 +41087,7 @@
     "Created: / 01-12-2011 / 21:47:24 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-protocol'!
 
 doMoveSelectedProtocolsToProject:newProject
@@ -41451,6 +41822,7 @@
     "Modified: / 28-02-2012 / 16:34:54 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-searching'!
 
 askForClassToSearch:doWhatByDefault single:singleClass msgTail:msgTail resources:resourcesOrNil thenDo:aBlock
@@ -42101,6 +42473,7 @@
     "Modified: / 02-06-2011 / 11:35:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-selector'!
 
 askForClassToMoveOrCopy:doWhat
@@ -42170,27 +42543,28 @@
 	].
     ].
 
-    newClassName := Dialog
-		    request:(resources string:reqString) withCRs
-		    initialAnswer:(initial ? '')
-		    okLabel:(resources string:okLabel)
-		    title:(resources string:title)
-		    onCancel:nil
-		    list:list
-		    entryCompletionBlock:(DoWhatIMeanSupport classNameEntryCompletionBlock).
-
-    newClassName isNil ifTrue:[^ nil].
-    (newClassName startsWith:'---- ') ifTrue:[^ nil].
-
-    newClass := self classIfValidNonMetaClassName:newClassName.
-    newClass isNil ifTrue:[
-	^ nil
-    ].
-
-    LastMethodMoveOrCopyTargetClass := newClass theNonMetaclass name.
-    ^ newClass.
-
-    "Modified: / 22.12.2001 / 03:04:48 / cg"
+    [
+	newClassName := Dialog
+			request:(resources string:reqString) withCRs
+			initialAnswer:(initial ? '')
+			okLabel:(resources string:okLabel)
+			title:(resources string:title)
+			onCancel:nil
+			list:list
+			entryCompletionBlock:(DoWhatIMeanSupport classNameEntryCompletionBlock).
+
+	newClassName isNil ifTrue:[^ nil].
+	(newClassName startsWith:'---- ') ifTrue:[^ nil].
+
+	newClass := self classIfValidNonMetaClassName:newClassName.
+	newClass notNil ifTrue:[
+	    LastMethodMoveOrCopyTargetClass := newClass theNonMetaclass name.
+	    ^ newClass.
+	].
+	initial := newClassName.
+    ] loop
+
+    "Modified: / 13-02-2012 / 17:43:10 / cg"
 !
 
 copyMethods:methods toClass:newClass
@@ -42924,7 +43298,7 @@
 	"/ ask if so many methods should be rewritten; give chance to cancel
 	"/ JV: but not if refactorings are confimed anyway in performRefactoring:...
 	UserPreferences current confirmRefactorings ifFalse:[
-	    (self findSendersOf:oldSelector in:affectedClasses andConfirmRefactoring:refactoring) ifFalse:[ ^ self ].
+	(self findSendersOf:oldSelector in:affectedClasses andConfirmRefactoring:refactoring) ifFalse:[ ^ self ].
 	].
     ].
 
@@ -44468,13 +44842,15 @@
 	    ].
 	    "look for majority protocol in subclasses"
 	    subclassCategories := Bag new.
-	    mthd mclass allSubclassesDo:[:cls |
-		|redefined|
-
-		redefined := superClass compiledMethodAt:mthd selector.
-		redefined notNil ifTrue:[
-		    subclassCategories add:(redefined category).
-		]
+	    superClass notNil ifTrue:[
+		mthd mclass allSubclassesDo:[:cls |
+		    |redefined|
+
+		    redefined := superClass compiledMethodAt:mthd selector.
+		    redefined notNil ifTrue:[
+			subclassCategories add:(redefined category).
+		    ]
+		].
 	    ].
 	    subclassCategories notEmpty ifTrue:[
 		subclassCategories := (subclassCategories valuesAndCounts
@@ -45796,7 +46172,7 @@
 	classes:Smalltalk allClasses
 	label:'Senders'
 
-    "Modified: / 05-09-2006 / 10:42:46 / cg"
+    "Modified: / 13-02-2012 / 13:17:20 / cg"
 !
 
 spawnMethodSendersBrowserFor:aSelectorCollection in:openHow classes:setOfClasses label:labelPrefix
@@ -46020,6 +46396,7 @@
     "Modified: / 28-02-2012 / 16:36:22 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-subversion'!
 
 commonMenuSubversionOpenSettings
@@ -46029,6 +46406,7 @@
     "Modified: / 26-03-2010 / 20:01:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-subversion-class'!
 
 classMenuSubversionShowRevisionLog
@@ -46049,6 +46427,7 @@
     "Modified: / 28-02-2012 / 16:48:38 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-variables'!
 
 browseVarRefsOrModsWithTitle:browserTitle boxTitle:boxTitle variables:varType access:accessType all:browseAll
@@ -47419,6 +47798,7 @@
     aBlock value:selectedVariable value:isClassVar
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu-actions-other'!
 
 goBack
@@ -47445,6 +47825,7 @@
     "Modified: / 22-02-2008 / 17:18:56 / janfrog"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menus-dynamic'!
 
 boockmarksMenu
@@ -48515,25 +48896,29 @@
     <resource: #programMenu >
 
     ^ [
-	|m cls classes|
+	|m cls classes first|
 
 	cls := self theSingleSelectedClass.
 	(cls notNil and:[cls superclass notNil]) ifTrue:[
 	    m := Menu new.
 	    cls := cls superclass.
+	    first := true.
 	    [cls notNil] whileTrue:[
 		|item className|
 
 		className := cls name.
-		item := MenuItem label:className.
+		item := MenuItem label:(first ifTrue:[className,' (direct superclass)'] ifFalse:[className]).
 		m addItem:item beforeIndex:1.   "/ reverse
 		item value:#'switchToClassNamed:'.
 		item argument:className.
 		cls := cls superclass.
+		first := false.
 	    ].
 	].
 	m
     ].
+
+    "Modified: / 05-02-2012 / 10:30:03 / cg"
 !
 
 selectorMenuNewSlice
@@ -48665,6 +49050,7 @@
     "Modified: / 09-09-2012 / 13:24:04 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menus-dynamic-SCM'!
 
 categoryMenuSCMFor: sourceCodeManagerClassName
@@ -49100,6 +49486,7 @@
     "Modified: / 19-10-2011 / 16:48:31 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menus-dynamic-popup'!
 
 categoryPopUpMenu
@@ -49145,6 +49532,7 @@
     "Created: / 12-10-2011 / 20:28:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menus-dynamic-subversion'!
 
 commonSubversionBranchMenu
@@ -49177,6 +49565,7 @@
     "Modified (format): / 01-12-2011 / 21:06:52 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'navigation'!
 
 askForClassNameMatching:matchStringArg
@@ -49768,108 +50157,108 @@
     |className class implementors answer classesMatchingCaseless|
 
     aMatchString isEmptyOrNil ifTrue:[
-	^ self.
+        ^ self.
     ].
 
     aMatchString knownAsSymbol ifTrue:[
-	class := Smalltalk classNamed:aMatchString.
-	class notNil ifTrue:[
-	    self switchToClass:class.
-	    ^ self.
-	].
-	classesMatchingCaseless := Smalltalk keys select:[:nm | nm sameAs:aMatchString].
+        class := Smalltalk classNamed:aMatchString.
+        class notNil ifTrue:[
+            self switchToClass:class.
+            ^ self.
+        ].
+        classesMatchingCaseless := Smalltalk keys select:[:nm | nm sameAs:aMatchString].
 "/        matchStringLowercase := aMatchString asLowercase.
 "/        classesWithPrefixCaseless := Smalltalk keys select:[:nm | nm asLowercase startsWith:aMatchString].
 
 "/        impl := Smalltalk allImplementorsOf:aMatchString asSymbol.
 "/        impl notEmptyOrNil ifTrue:[
 "/        ].
-	(aMatchString first isLetter not
-	 or:[ aMatchString first isLowercase]) ifTrue:[
-	    implementors := SystemBrowser findImplementorsMatching:aMatchString in:(Smalltalk allClasses) ignoreCase:true.
-	    implementors size > 0 ifTrue:[
-		(classesMatchingCaseless isEmpty and:[implementors size == 1]) ifTrue:[
-		    answer := Dialog
-			confirm:(resources
-					stringWithCRs:'No class named "%1".\But "%2" implements it. Go there ?'
-					with:aMatchString allBold
-					with:implementors first mclass name).
-		    answer ifTrue:[
-			self switchToClass:implementors first mclass selector:implementors first selector.
-		    ].
-		    ^ self.
-		].
-		implementors := implementors asOrderedCollection sort:[:a :b | a mclass name < b mclass name].
-		classesMatchingCaseless isEmpty ifTrue:[
-		    answer := Dialog
-			choose:(resources
-					stringWithCRs:'No class named "%1.\But there are %2 implementors of it.\\Goto one of them ?'
-					with:aMatchString allBold
-					with:implementors size)
-			fromList:(implementors collect:[:m | m mclass name])
-			values:implementors
-			buttons:#('No, Search for a Class' 'Show all Implementors') values:#(searchClass browseAllImplementors)
-			lines:10 cancel:nil
-			postBuildBlock:[:box | box minExtent:300@250].
-		] ifFalse:[
-		    answer := Dialog
-			choose:(resources
-					stringWithCRs:'No class named "%1".\But there are %2 implementors of it and %3 '
-						      , (classesMatchingCaseless size == 1 ifTrue:['class'] ifFalse:['classes'])
-						      ,' with a similar name.\\Goto one of them ?'
-					with:aMatchString allBold
-					with:implementors size
-					with:classesMatchingCaseless size)
-			fromList:({'Implementors:' colorizeAllWith:Color grey}
-				  ,(implementors collect:[:m | m mclass name])
-				  ,{'Classes:' colorizeAllWith:Color grey}
-				  ,classesMatchingCaseless)
-			values:(#(nil),implementors,#(nil),classesMatchingCaseless)
-			buttons:#('No, Search for a Class' 'Show all Implementors') values:#(searchClass browseAllImplementors)
-			lines:10 cancel:nil
-			postBuildBlock:[:box | box minExtent:300@250].
-		].
-
-		answer isNil ifTrue:[^ self].
-		answer == #browseAllImplementors ifTrue:[
-		    self
-			spawnMethodBrowserForSearch:[
-				SystemBrowser
-				    findImplementorsOf:aMatchString
-				    in:Smalltalk allClasses
-				    ignoreCase:false.
-			    ]
-			sortBy:#class
-			in:#newBuffer
-			label:(resources string:'Implementors of %1' string with:aMatchString).
-		    ^ self
-		].
-		answer ~~ #searchClass ifTrue:[
-		    answer isSymbol ifTrue:[
-			self switchToClass:(Smalltalk classNamed:answer).
-		    ] ifFalse:[
-			self switchToClass:(answer mclass) selector:(answer selector).
-		    ].
-		    ^ self.
-		].
-	    ].
-	].
+        (aMatchString first isLetter not
+         or:[ aMatchString first isLowercase]) ifTrue:[
+            implementors := SystemBrowser findImplementorsMatching:aMatchString in:(Smalltalk allClasses) ignoreCase:true.
+            implementors size > 0 ifTrue:[
+                (classesMatchingCaseless isEmpty and:[implementors size == 1]) ifTrue:[
+                    answer := Dialog
+                        confirm:(resources
+                                        stringWithCRs:'No class named "%1".\But "%2" implements it. Go there ?'
+                                        with:aMatchString allBold
+                                        with:implementors first mclass name).
+                    answer ifTrue:[
+                        self switchToClass:implementors first mclass selector:implementors first selector.
+                    ].
+                    ^ self.
+                ].
+                implementors := implementors asOrderedCollection sort:[:a :b | a mclass name < b mclass name].
+                classesMatchingCaseless isEmpty ifTrue:[
+                    answer := Dialog
+                        choose:(resources
+                                        stringWithCRs:'No class named "%1.\But there are %2 implementors of it.\\Goto one of them ?'
+                                        with:aMatchString allBold
+                                        with:implementors size)
+                        fromList:(implementors collect:[:m | m mclass name])
+                        values:implementors
+                        buttons:#('No, Search for a Class' 'Show all Implementors') values:#(searchClass browseAllImplementors)
+                        lines:10 cancel:nil
+                        postBuildBlock:[:box | box minExtent:300@250].
+                ] ifFalse:[
+                    answer := Dialog
+                        choose:(resources
+                                        stringWithCRs:'No class named "%1".\But there are %2 implementors of it and %3 '
+                                                      , (classesMatchingCaseless size == 1 ifTrue:['class'] ifFalse:['classes'])
+                                                      ,' with a similar name.\\Goto one of them ?'
+                                        with:aMatchString allBold
+                                        with:implementors size
+                                        with:classesMatchingCaseless size)
+                        fromList:({'Implementors:' colorizeAllWith:Color grey}
+                                  ,(implementors collect:[:m | m mclass name])
+                                  ,{'Classes:' colorizeAllWith:Color grey}
+                                  ,classesMatchingCaseless)
+                        values:(#(nil),implementors,#(nil),classesMatchingCaseless)
+                        buttons:#('No, Search for a Class' 'Show all Implementors') values:#(searchClass browseAllImplementors)
+                        lines:10 cancel:nil
+                        postBuildBlock:[:box | box minExtent:300@250].
+                ].
+
+                answer isNil ifTrue:[^ self].
+                answer == #browseAllImplementors ifTrue:[
+                    self
+                        spawnMethodBrowserForSearch:[
+                                SystemBrowser
+                                    findImplementorsOf:aMatchString
+                                    in:Smalltalk allClasses
+                                    ignoreCase:false.
+                            ]
+                        sortBy:#class
+                        in:#newBuffer
+                        label:(resources string:'Implementors of %1' string with:aMatchString).
+                    ^ self
+                ].
+                answer ~~ #searchClass ifTrue:[
+                    answer isSymbol ifTrue:[
+                        self switchToClass:(Smalltalk classNamed:answer).
+                    ] ifFalse:[
+                        self switchToClass:(answer mclass) selector:(answer selector).
+                    ].
+                    ^ self.
+                ].
+            ].
+        ].
     ].
 
     "Look for Java class..."
     (JAVA notNil and:[aMatchString includes: $.]) ifTrue:[
-	| javaClass |
-
-	javaClass := Java at: aMatchString.
-	javaClass notNil ifTrue:[
-	    self switchToClass: javaClass.
-	    ^self
-	].
+        | javaClass |
+
+        javaClass := Java at: aMatchString.
+        javaClass notNil ifTrue:[
+            self switchToClass: javaClass.
+            ^self
+        ].
     ].
 
     className := self askForClassNameMatching:aMatchString.
     className notNil ifTrue:[
-	self switchToClassNamed:className.
+        self switchToClassNamed:className.
     ]
 
     "Modified: / 04-07-2006 / 18:48:25 / fm"
@@ -49994,6 +50383,7 @@
     "Modified: / 5.2.2000 / 23:07:10 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'private-buffers'!
 
 removeBuffer:nr
@@ -50045,6 +50435,7 @@
     self removeBuffer:(selectedBuffer value)
 ! !
 
+
 !NewSystemBrowser methodsFor:'private-checks'!
 
 anySpecialEditorModified
@@ -50182,6 +50573,7 @@
     ^ true
 ! !
 
+
 !NewSystemBrowser methodsFor:'private-code update'!
 
 autoSearch:aString
@@ -51230,6 +51622,7 @@
     "Modified: / 01-12-2011 / 14:26:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser methodsFor:'private-dialogs'!
 
 askForDirectoryToFileOut:title default:defaultDirOrNil
@@ -52299,6 +52692,7 @@
 	    cancel: [nil]
 ! !
 
+
 !NewSystemBrowser methodsFor:'private-helpers'!
 
 anySelectedClass
@@ -53420,6 +53814,7 @@
       and:[ (view isSameOrComponentOf:appView) ]
 ! !
 
+
 !NewSystemBrowser methodsFor:'private-helpers-subApps'!
 
 categoryListApp
@@ -53468,6 +53863,7 @@
     ^ navigationState projectListApplication
 ! !
 
+
 !NewSystemBrowser methodsFor:'private-history'!
 
 lastSearchPatterns
@@ -53500,6 +53896,7 @@
     "Modified: / 14-02-2012 / 14:00:36 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'private-presentation'!
 
 asyncShowMethodInfo
@@ -54125,37 +54522,6 @@
     ].
 !
 
-updateCategorySelectionForChangedClassSelection
-    |classes oldSelectedCategories selectedPseudoEntries newSelectedCategories|
-
-    navigationState isCategoryBrowser ifFalse:[^ self].
-
-    classes := self selectedClassesValue.
-    classes size > 0 ifTrue:[
-	"/ category-selection feedBack:
-	"/ update the category-selection, if '* all *' is in its selection
-	"/ (add the selected categories to the category-selection)
-	oldSelectedCategories := self selectedCategoriesValue.
-	selectedPseudoEntries := (oldSelectedCategories select:[:entry | BrowserList isPseudoCategory:entry]).
-
-	newSelectedCategories := Set new.
-	(selectedPseudoEntries asSet = (Set with:(BrowserList nameListEntryForChanged)))
-	ifFalse:[
-	    newSelectedCategories addAll:(classes collect:[:eachClass | eachClass category]).
-	].
-
-	"/ reselect any selected pseudoCategory
-	newSelectedCategories addAll:selectedPseudoEntries.
-
-	newSelectedCategories ~= oldSelectedCategories ifTrue:[
-	    self selectedCategories value:newSelectedCategories.
-	].
-    ].
-
-    "Created: / 24-02-2000 / 14:10:09 / cg"
-    "Modified: / 28-02-2012 / 16:51:33 / cg"
-!
-
 withActivityNotificationsRedirectedToInfoLabelDo:aBlock
     ActivityNotification handle:[:ex |
 	self showInfo:(ex messageText).
@@ -54174,6 +54540,7 @@
     ]
 ! !
 
+
 !NewSystemBrowser methodsFor:'private-searching'!
 
 searchCompletionBlock
@@ -54306,6 +54673,7 @@
     "Created: / 06-04-2012 / 12:56:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser methodsFor:'private-semantic checks'!
 
 checkAcceptedMethod:aMethod inClass:aClass
@@ -54636,84 +55004,9 @@
     ^ nil.
 ! !
 
+
 !NewSystemBrowser methodsFor:'private-smalllint'!
 
-loadSmalllint
-    |pkg |
-
-    pkg := Smalltalk at:#'stx_goodies_refactoryBrowser_lint'.
-    (pkg isNil or:[ pkg isFullyLoaded not ]) ifTrue:[
-	Smalltalk loadPackage:#'stx:goodies/refactoryBrowser/lint' asAutoloaded:false
-    ].
-
-    "
-     Tools::NewSystemBrowser basicNew loadSmallLint
-    "
-
-    "Created: / 17-04-2010 / 09:40:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified (comment): / 07-03-2012 / 20:06:11 / cg"
-!
-
-smalllintCheck:anEnvironment against:ruleSetSymbol
-    "this is exected by an async task!!"
-
-    |rule runRules|
-
-    self assert:(#( #smalllintRulesAll #smalllintRulesFromUser #smalllintRules ) includes:ruleSetSymbol).
-
-    rule := self perform:ruleSetSymbol asSymbol.
-    rule isNil ifTrue:[ ^ self ].
-"/ cg: that is wrong implemented in RBxxxRule: isEmpty has two meanings:
-"/     for composite: has sub-rules
-"/     for non-composite: has a result
-"/ therefore, isEmpty returns true here, so we will be always asked twice!!
-
-    rule isEmptyInTree ifTrue:[
-	ruleSetSymbol ~~ #smalllintRulesFromUser ifTrue:[
-	    rule := self smalllintRulesFromUser.
-	    rule isNil ifTrue:[ ^ self ].
-	]
-    ].
-
-    runRules :=
-	[
-	    |showResult|
-
-	    self smalllintRunRule:rule onEnvironment:anEnvironment.
-	    showResult := true.
-	    [rule notNil and:[rule isEmpty]] whileTrue:[
-		(Dialog confirm:'Nothing special found.\\Proceed to select more/different lint rules.' withCRs) ifTrue:[
-		    rule := self smalllintRulesFromUser.
-		    rule notNil ifTrue:[
-			self smalllintRunRule:rule onEnvironment:anEnvironment.
-		    ].
-		] ifFalse:[
-		    rule := nil
-		].
-	    ].
-	    rule notNil ifTrue:[
-		self
-		    spawnSmalllintBrowserByRuleFor:rule
-		    in:#newBuffer
-		    label:'SmallLint results for ' , anEnvironment label
-	    ].
-	].
-
-    "background operation (Jan's pref) makes it difficult to stop and debug...)"
-    UserPreferences current runLintChecksInBackground ifTrue:[
-	self showMessage:'Checking code...' whileExecutingBackgroundAction:runRules.
-    ] ifFalse:[
-	self withWaitCursorDo:runRules
-    ].
-
-    "Modified: / 15-12-2008 / 18:51:43 / Josef Grega <gregaj1@fel.cvut.cz>"
-    "Modified: / 28-12-2008 / 14:40:01 / bazantj <enter your email here>"
-    "Created: / 24-02-2009 / 11:02:57 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 22-07-2009 / 14:38:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 28-08-2010 / 20:45:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 15-05-2012 / 10:46:02 / cg"
-!
-
 smalllintRulesAll
     "Return all lint rules except those specific for portability or
      dialect-specific rules"
@@ -54726,27 +55019,6 @@
     "Modified: / 06-09-2012 / 14:56:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-smalllintRulesFromUser
-    |dlg|
-
-    self loadSmalllint.
-    dlg := Tools::LintRuleSelectionDialog new.
-
-    dlg selection: (LastLintRules ifNil:[nil"self smalllintRulesAll flattened"] ifNotNil:[LastLintRules flattened]).
-    ^ (dlg open; accepted)
-	    ifTrue:[ LastLintRules := dlg selectionAsRule ]
-	    ifFalse:[ nil ].
-
-    "
-     LastLintRules := nil.
-     Tools::NewSystemBrowser basicNew smalllintRulesFromUser
-    "
-
-    "Created: / 17-04-2010 / 09:41:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 25-08-2010 / 15:35:16 / Jan Vrany <enter your email here>"
-    "Modified (format): / 06-03-2012 / 18:55:09 / cg"
-!
-
 smalllintRulesGood
     "Return all 'good' lint rules - good means that they are verified and
      should be used"
@@ -54756,18 +55028,6 @@
     "Created: / 06-09-2012 / 14:54:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-smalllintRulesOrAll
-    "Returns a set of user-selected SmallLint rules or all rules,
-     if no user selection is done"
-
-   ^LastLintRules notNil
-	ifTrue:[ LastLintRules ]
-	ifFalse:[ self smalllintRulesAll ]
-
-    "Created: / 23-01-2012 / 10:59:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified (format): / 07-03-2012 / 20:05:40 / cg"
-!
-
 smalllintRulesOrGood
     "Returns a set of user-selected SmallLint rules or all 'good' rules,
      if no user selection is done"
@@ -54777,194 +55037,8 @@
 	ifFalse:[ self smalllintRulesGood ]
 
     "Created: / 06-09-2012 / 14:49:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-smalllintRunRule: aLintRule onEnvironment: anEnvironment
-    "run a checker in the background"
-
-    | rules |
-
-    rules := aLintRule flattened.
-    rules withIndexDo:[:rule :index|
-	|t|
-
-	ProgressNotification new
-	    messageText: ('Checking: ', rule name);
-	    parameter: (rules size / 100) * index;
-	    raiseRequest.
-       t := Time millisecondsToRun:[
-		(SmalllintChecker runRule: rule onEnvironment: anEnvironment)
-	    ].
-       Transcript show:rule name,': ';showCR:t.
-    ].
-    ProgressNotification new
-	messageText: ('Done');
-	parameter: 100;
-	raiseRequest.
-
-    "Modified: / 15-12-2008 / 18:51:43 / Josef Grega <gregaj1@fel.cvut.cz>"
-    "Modified: / 28-12-2008 / 14:40:01 / bazantj <enter your email here>"
-    "Modified: / 22-07-2009 / 14:38:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Created: / 28-08-2010 / 12:12:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 01-03-2012 / 15:22:20 / cg"
-!
-
-spawnSmalllintBrowserByRuleFor: result in:where label:labelOrNil
-    ^ self
-	newBrowserOrBufferDependingOn:where
-	label:labelOrNil
-	forSpec: #smallLintByRuleResultBrowserSpec
-	setupWith:[:browser |
-	    |methodGenerator classGenerator ruleGenerator|
-
-	    ruleGenerator :=
-		Iterator on:[:whatToDo|
-		    result failedRules do:whatToDo].
-
-	    methodGenerator :=
-		Iterator on: [:whatToDo|
-		    | selectedRules selectedClasses failedMethods |
-
-		    selectedClasses := browser selectedClasses value.
-		    selectedRules := browser selectedLintRules value.
-		    failedMethods := OrderedCollection new.
-		    selectedClasses isEmptyOrNil ifFalse:
-			[selectedRules ? #() do:
-			    [:rule|
-			    failedMethods addAll:
-				(rule failedMethodsInAnyOf: selectedClasses meta: self hasMetaSelected)].
-		    failedMethods do:
-			[:mth|
-			whatToDo
-			    value:mth containingClass
-			    value:mth category
-			    value:mth selector
-			    value:mth]]].
-
-	    browser lintRuleListGenerator value:ruleGenerator.
-	    browser selectorListGenerator value:methodGenerator.
-
-	    browser selectedClasses
-		onChangeSend: #changed to: browser selectorListGenerator.
-	    browser selectedLintRules
-		onChangeSend: #changed to: browser selectorListGenerator.
-	    browser meta
-		onChangeSend: #changed to: browser selectorListGenerator.
-
-	    "/ cg: does not work - why?
-	    result failedRules size == 1 ifTrue:[
-		"/ autoselect the first one
-		browser selectedLintRules value:(result failedRules).
-	    ].
-
-	    "/self halt.
-	    "
-	    theMethodList isNil ifTrue:[
-		methodsOrMethodGeneratorBlock isBlock ifTrue:[
-		    theMethodList := methodsOrMethodGeneratorBlock value.
-		] ifFalse:[
-		    theMethodList := methodsOrMethodGeneratorBlock copy.
-		].
-	    ].
-	    perClassInfo := perClassInfoHolder value.
-	    perMethodInfo := perMethodInfoHolder value.
-
-	    methodGenerator := Iterator on:[:whatToDo |
-					    theMethodList isNil ifTrue:[
-						methodsOrMethodGeneratorBlock isBlock ifTrue:[
-						    theMethodList := methodsOrMethodGeneratorBlock value.
-						] ifFalse:[
-						    theMethodList := methodsOrMethodGeneratorBlock copy.
-						].
-					    ].
-					    perClassInfo := perClassInfoHolder value.
-					    perMethodInfo := perMethodInfoHolder value.
-
-					    theMethodNameList := theMethodList collect:[:eachMethod | eachMethod mclass -> eachMethod selector].
-					    theMethodNameList do:[:mAssoc |
-						|methodClass methodSelector method|
-
-						methodClass := mAssoc key.
-						methodSelector := mAssoc value.
-						methodClass notNil ifTrue:[
-						    method := methodClass compiledMethodAt:methodSelector.
-						    method notNil ifTrue:[
-							whatToDo
-							    value:methodClass
-							    value:method category
-							    value:methodSelector
-							    value:method.
-						    ].
-						].
-					    ].
-					    methodsOrMethodGeneratorBlock isBlock ifTrue:[
-						theMethodList := nil.
-					    ].
-					    whatToDo
-						value:nil
-						value:nil
-						value:nil
-						value:nil.
-				      ].
-
-	    sortHow notNil ifTrue:[brwsr sortBy value:sortHow].
-
-	    brwsr selectorListGenerator value:methodGenerator.
-	    perClassInfo notNil ifTrue:[
-		classGenerator := perClassInfo keys.
-		brwsr classListGenerator value:classGenerator.
-		brwsr meta value:false.
-	    ].
-
-	    perClassInfo notNil ifTrue:[
-		brwsr selectedClasses
-		    onChangeEvaluate:[
-			|class infoText|
-
-			brwsr selectedMethods value:nil.
-			class := brwsr theSingleSelectedClass.
-			class notNil ifTrue:[
-			    brwsr meta value:false.
-			    infoText := perClassInfoHolder value at:class theNonMetaclass ifAbsent:nil.
-			    infoText isNil ifTrue:[
-				infoText := perClassInfo at:class theMetaclass ifAbsent:nil
-			    ]
-			].
-			brwsr methodInfo value:infoText.
-		    ]
-	    ].
-
-	    perMethodInfo notNil ifTrue:[
-		brwsr selectedMethods
-		    onChangeEvaluate:[
-			|mthd infoText|
-
-			brwsr selectedClasses value:nil.
-			mthd := brwsr theSingleSelectedMethod.
-			mthd notNil ifTrue:[
-			    infoText := perMethodInfo at:mthd ifAbsent:nil
-			].
-			brwsr methodInfo value:infoText.
-		    ]
-	    ] ifFalse:[
-		(doSelect and:[theMethodList size == 1]) ifTrue:[
-		    brwsr selectMethods:(Array with:theMethodList first).
-		    brwsr methodsSelectionChanged.
-		]
-	    ].
-
-	    methodsOrMethodGeneratorBlock isBlock ifTrue:[
-		theMethodList := nil
-	    ]
-	    "
-	]
-
-    "Modified: / 22-07-2009 / 15:51:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Created: / 02-02-2010 / 20:05:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 02-02-2010 / 21:46:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 25-08-2010 / 10:30:33 / Jan Vrany <enter your email here>"
-    "Modified: / 01-03-2012 / 19:52:57 / cg"
-! !
+! !
+
 
 !NewSystemBrowser methodsFor:'private-syntax coloring'!
 
@@ -55258,6 +55332,7 @@
     "Modified: / 08-08-2011 / 15:09:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser methodsFor:'setup'!
 
 browserCanvas
@@ -55565,6 +55640,7 @@
     self normalLabel.
 ! !
 
+
 !NewSystemBrowser methodsFor:'special editors'!
 
 specialEditorCanvasForMethod:aMethod
@@ -55811,6 +55887,7 @@
     "Modified: / 28-02-2012 / 17:02:07 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'startup & release'!
 
 closeRequest
@@ -55874,6 +55951,7 @@
     "Modified: / 20-11-2006 / 12:16:37 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'string search tool'!
 
 hideSearchBar
@@ -55952,6 +56030,7 @@
     ].
 ! !
 
+
 !NewSystemBrowser methodsFor:'user actions'!
 
 backToLastClass
@@ -56750,6 +56829,7 @@
     "Modified: / 28-02-2012 / 16:51:54 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'user actions-accepting'!
 
 acceptMethod:codeArg inClass:cls language: languageOrNil check:doCheck
@@ -57852,6 +57932,7 @@
     self setAcceptAction:[:code | self codeView flash].
 ! !
 
+
 !NewSystemBrowser methodsFor:'user actions-class'!
 
 classLoad
@@ -57999,6 +58080,7 @@
     "Modified: / 12-09-2006 / 13:48:12 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'user actions-comparing'!
 
 doCompareIn:aNavigationState
@@ -58069,6 +58151,7 @@
     "Modified: / 27-07-2012 / 22:25:17 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'user actions-events'!
 
 keyInCategoryListView:key rawKey:rawKey
@@ -58242,16 +58325,8 @@
 	^ true
     ].
     ((key == #Cut) or:[rawKey == #Delete]) ifTrue:[
-	"JV@2012-05-08: This used to be 'unsafe' remove. When changing
-	 such a havily used feature, please at least add an preference to
-	 to switch it back to old behavior!!!!!!
-
-	 Perhaps, we need a better framework to define shortcuts.
-
-	 HACK: changed back
-	"
 	self
-	    enqueueMessage:#selectorMenuRemove
+	    enqueueMessage:#selectorMenuRemove "/ #selectorMenuSaveRemove
 	    for:self
 	    arguments:#().
 	^ true
@@ -58287,8 +58362,7 @@
     "/    ].
     ^ false
 
-    "Modified: / 27-04-2012 / 13:08:15 / cg"
-    "Modified (format): / 08-05-2012 / 13:31:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 28-05-2012 / 10:27:03 / cg"
 !
 
 keyInProjectListView:key rawKey:rawKey
@@ -58344,6 +58418,8 @@
     "filter keyboard events for Find key (unless typed into the codeView).
      Return true, if I have eaten the event"
 
+    <resource: #keyboard (#Ctrll #FindNext #FindPrev)>
+
     |codeView evView key rawKey sensor|
 
     codeView := self codeView.
@@ -58446,6 +58522,7 @@
     "Modified: / 17-08-2011 / 13:29:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser methodsFor:'user actions-helpers'!
 
 hideMessagePane
@@ -58612,6 +58689,7 @@
     "Modified: / 15-05-2012 / 10:46:06 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'user actions-profiler'!
 
 spawnProfilerStatistics:statistics in: where
@@ -58628,6 +58706,7 @@
     "Modified (format): / 29-11-2011 / 14:49:08 / cg"
 ! !
 
+
 !NewSystemBrowser::ClassCompletionEntry methodsFor:'accessing'!
 
 klass
@@ -58646,6 +58725,7 @@
     showPrefix := something.
 ! !
 
+
 !NewSystemBrowser::ClassCompletionEntry methodsFor:'converting'!
 
 asString
@@ -58658,6 +58738,7 @@
     "Created: / 04-04-2012 / 13:00:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser::ClassCompletionEntry methodsFor:'displaying'!
 
 displayOn:aGC x:x y:y opaque:opaque
@@ -58699,15 +58780,16 @@
     | name |
 
     showPrefix ifTrue:[
-	name := klass name.
-    ] ifFalse:[
-	name := klass nameWithoutPrefix.
+        name := klass name.
+    ] ifFalse:[
+        name := klass nameWithoutPrefix.
     ].
     ^name
 
     "Created: / 20-04-2012 / 18:19:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser::ClassCompletionEntry methodsFor:'printing & storing'!
 
 printOn:aStream
@@ -58721,14 +58803,15 @@
     "Modified: / 06-04-2012 / 13:30:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1827 2012/12/13 14:16:31 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1832 2013-01-26 21:08:14 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1827 2012/12/13 14:16:31 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1832 2013-01-26 21:08:14 cg Exp $'
 !
 
 version_HG
@@ -58737,7 +58820,8 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__NewSystemBrowser.st 8083 2013-01-14 11:48:37Z vranyj1 $'
-! !
+    ^ 'Id: Tools__NewSystemBrowser.st 7817 2011-08-18 09:38:28Z vranyj1 '
+! !
+
 
 NewSystemBrowser initialize!
--- a/Tools__NewSystemBrowserCodeView.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__NewSystemBrowserCodeView.st	Wed Jan 30 11:15:09 2013 +0000
@@ -37,6 +37,7 @@
 "
 ! !
 
+
 !NewSystemBrowserCodeView class methodsFor:'initialization'!
 
 initialize
@@ -58,6 +59,7 @@
     "Modified (comment): / 01-07-2011 / 16:21:38 / cg"
 ! !
 
+
 !NewSystemBrowserCodeView class methodsFor:'menu specs'!
 
 editMenuSpec
@@ -192,6 +194,7 @@
     "Modified: / 18-10-2008 / 18:50:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !NewSystemBrowserCodeView methodsFor:'accessing'!
 
 browser
@@ -289,6 +292,7 @@
     "Modified: / 04-08-2011 / 19:05:43 / cg"
 ! !
 
+
 !NewSystemBrowserCodeView methodsFor:'accessing-contents'!
 
 list: anObject
@@ -299,6 +303,7 @@
     "Created: / 25-12-2007 / 10:05:17 / janfrog"
 ! !
 
+
 !NewSystemBrowserCodeView methodsFor:'change & update'!
 
 updateParseTree
@@ -310,6 +315,7 @@
     "Modified: / 25-12-2007 / 21:29:28 / janfrog"
 ! !
 
+
 !NewSystemBrowserCodeView methodsFor:'event handling'!
 
 buttonMotion:button x:x y:y 
@@ -359,6 +365,10 @@
 !
 
 keyPress:key x:x y:y 
+    <resource: #keyboard (#Control_L 
+                          #Tab #Return #BackSpace #Delete
+                          #GoBack)>
+
     (x notNil and:[ y notNil ]) ifTrue:[
         key = #'Control_L' ifTrue:[
             self
@@ -368,7 +378,7 @@
          "key = #Alt_L ifTrue: [self highlightParseTreeNodeAtX: x y: y; redraw]"
     ].
 
-    (#( #Tab #Return #BackSpace ) includes:key) ifTrue:[
+    (#( #Tab #Return #BackSpace #Delete) includes:key) ifTrue:[
         self startParsingProcess
     ].
 
@@ -399,6 +409,7 @@
     "Modified: / 19-02-2008 / 09:16:11 / janfrog"
 ! !
 
+
 !NewSystemBrowserCodeView methodsFor:'menu'!
 
 browseClassesMenu: classes 
@@ -542,6 +553,7 @@
     "Modified: / 09-09-2012 / 13:24:19 / cg"
 ! !
 
+
 !NewSystemBrowserCodeView methodsFor:'menu - actions'!
 
 accept
@@ -656,6 +668,7 @@
     "Modified: / 19-02-2008 / 09:59:11 / janfrog"
 ! !
 
+
 !NewSystemBrowserCodeView methodsFor:'menu - double dispatch'!
 
 blueButtonMenuForMessageNode:messageNode 
@@ -737,6 +750,7 @@
     "Modified: / 18-02-2008 / 21:05:56 / janfrog"
 ! !
 
+
 !NewSystemBrowserCodeView methodsFor:'private'!
 
 implementorsOf: selector
@@ -760,6 +774,7 @@
     "Created: / 26-12-2007 / 11:37:22 / janfrog"
 ! !
 
+
 !NewSystemBrowserCodeView methodsFor:'private - highlighting'!
 
 highlightClear
@@ -898,6 +913,7 @@
     "Modified: / 01-09-2009 / 22:29:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !NewSystemBrowserCodeView methodsFor:'private - highlighting - nodes'!
 
 highlightLiteralNode: node
@@ -925,6 +941,7 @@
     "Modified: / 18-02-2008 / 20:51:51 / janfrog"
 ! !
 
+
 !NewSystemBrowserCodeView methodsFor:'private - parsing'!
 
 parseTree
@@ -1001,6 +1018,7 @@
     "Created: / 25-12-2007 / 21:16:03 / janfrog"
 ! !
 
+
 !NewSystemBrowserCodeView methodsFor:'private - testing'!
 
 isInstanceVariableNode: node
@@ -1022,14 +1040,16 @@
     "Created: / 21-02-2008 / 09:32:33 / janfrog"
 ! !
 
+
 !NewSystemBrowserCodeView class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowserCodeView.st,v 1.11 2012/09/09 19:17:44 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowserCodeView.st,v 1.12 2013-01-17 10:35:08 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__NewSystemBrowserCodeView.st 8054 2012-09-13 09:15:20Z vranyj1 $'
+    ^ 'Id: Tools__NewSystemBrowserCodeView.st 7486 2009-10-26 22:06:24Z vranyj1 '
 ! !
 
-NewSystemBrowserCodeView initialize!
\ No newline at end of file
+
+NewSystemBrowserCodeView initialize!
--- a/Tools__Profiler.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__Profiler.st	Wed Jan 30 11:15:09 2013 +0000
@@ -89,6 +89,7 @@
 "
 ! !
 
+
 !Profiler class methodsFor:'instance creation'!
 
 readStatisticsFrom: stream
@@ -98,6 +99,7 @@
     "Created: / 24-11-2007 / 09:24:12 / janfrog"
 ! !
 
+
 !Profiler class methodsFor:'messageTally compatible interface'!
 
 spyDetailedOn: aBlock
@@ -126,6 +128,7 @@
     ^ profiler retVal
 ! !
 
+
 !Profiler class methodsFor:'profiling'!
 
 profile: aBlock
@@ -175,6 +178,7 @@
     "Created: / 24-11-2007 / 08:25:37 / janfrog"
 ! !
 
+
 !Profiler methodsFor:'I/O'!
 
 storeStatisticsOn: stream
@@ -184,6 +188,7 @@
     "Created: / 24-11-2007 / 09:23:11 / janfrog"
 ! !
 
+
 !Profiler methodsFor:'accessing'!
 
 computationTime
@@ -214,6 +219,7 @@
     "Created: / 24-11-2007 / 09:01:12 / janfrog"
 ! !
 
+
 !Profiler methodsFor:'profiling'!
 
 profileOn: aBlock interval: interval
@@ -225,16 +231,18 @@
     "Created: / 24-11-2007 / 08:21:28 / janfrog"
 ! !
 
+
 !Profiler class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__Profiler.st,v 1.5 2012/11/04 21:42:25 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Profiler.st,v 1.5 2012-11-04 21:42:25 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__Profiler.st,v 1.5 2012/11/04 21:42:25 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Profiler.st,v 1.5 2012-11-04 21:42:25 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__Profiler.st 8074 2012-11-30 17:23:39Z vranyj1 $'
-! !
\ No newline at end of file
+    ^ 'Id: Tools__Profiler.st 7486 2009-10-26 22:06:24Z vranyj1 '
+! !
+
--- a/Tools__ProfilerInfoItem.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__ProfilerInfoItem.st	Wed Jan 30 11:15:09 2013 +0000
@@ -64,6 +64,7 @@
 "
 ! !
 
+
 !ProfilerInfoItem methodsFor:'accessing'!
 
 isBlock
@@ -172,6 +173,7 @@
     "Created: / 01-12-2007 / 20:47:09 / janfrog"
 ! !
 
+
 !ProfilerInfoItem methodsFor:'accessing - private'!
 
 setChildren: collection
@@ -182,6 +184,7 @@
     "Created: / 01-12-2007 / 20:43:36 / janfrog"
 ! !
 
+
 !ProfilerInfoItem methodsFor:'comparing'!
 
 = anotherMethodInfo
@@ -200,12 +203,14 @@
     "Created: / 01-12-2007 / 21:17:01 / janfrog"
 ! !
 
+
 !ProfilerInfoItem class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__ProfilerInfoItem.st,v 1.5 2012/11/04 21:40:34 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ProfilerInfoItem.st,v 1.5 2012-11-04 21:40:34 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__ProfilerInfoItem.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id: Tools__ProfilerInfoItem.st 7486 2009-10-26 22:06:24Z vranyj1 '
 ! !
+
--- a/Tools__ProjectCheckerBrowser.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__ProjectCheckerBrowser.st	Wed Jan 30 11:15:09 2013 +0000
@@ -54,6 +54,7 @@
 "
 ! !
 
+
 !ProjectCheckerBrowser class methodsFor:'interface specs'!
 
 windowSpec
@@ -176,6 +177,7 @@
       )
 ! !
 
+
 !ProjectCheckerBrowser methodsFor:'accessing'!
 
 problemList: problems
@@ -199,6 +201,7 @@
     "Created: / 13-02-2012 / 17:03:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ProjectCheckerBrowser methodsFor:'actions'!
 
 doCheckAgain
@@ -233,11 +236,16 @@
 doFix: index
     <resource: #uiCallback>
 
-    self problemSelectionHolder value doFix: index
+    [ 
+        self problemSelectionHolder value doFix: index
+    ] on: UserNotification do:[:not|
+        self infoPanel showMessage: not description.
+    ]
 
     "Created: / 26-07-2012 / 10:06:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ProjectCheckerBrowser methodsFor:'aspects'!
 
 infoPanel
@@ -326,6 +334,7 @@
     ].
 ! !
 
+
 !ProjectCheckerBrowser methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -347,6 +356,7 @@
     "Modified: / 13-09-2012 / 17:34:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ProjectCheckerBrowser methodsFor:'hooks'!
 
 setupHTMLView:aView
@@ -357,8 +367,18 @@
     "Created: / 23-02-2012 / 14:04:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ProjectCheckerBrowser class methodsFor:'documentation'!
 
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectCheckerBrowser.st,v 1.1 2012-07-26 11:59:59 vrany Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectCheckerBrowser.st,v 1.1 2012-07-26 11:59:59 vrany Exp $'
+!
+
 version_SVN
-    ^ '$Id: Tools__ProjectCheckerBrowser.st 8056 2012-09-13 17:50:09Z vranyj1 $'
+    ^ 'Id: Tools__ProjectCheckerBrowser.st 8024 2012-07-26 10:10:37Z vranyj1 '
 ! !
+
--- a/Tools__StringSearchTool.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__StringSearchTool.st	Wed Jan 30 11:15:09 2013 +0000
@@ -70,6 +70,7 @@
 "
 ! !
 
+
 !StringSearchTool class methodsFor:'accessing'!
 
 lastMatchCase
@@ -92,6 +93,7 @@
     LastRestart := aBoolean
 ! !
 
+
 !StringSearchTool class methodsFor:'image specs'!
 
 closeSearchBarIcon
@@ -279,6 +281,7 @@
 (Q0_$1XZ#1X["A(]^QPX&34>?;&).&-Z/6]Y06MU1&AR/5UG15-N0EYF1&EO0&EN/&EP.6AN.%5N.5-M.5%P/UYQ.$)I.4)L0UQW/U-\+5YX5XFA') ; mask:((Depth1Image new) width: 22; height: 19; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@C G@G0C@O0C@O8C@_8C@?<C@?<CA?>CC??CC??CC??#G??#O??3O??3_??;????????????????') ; yourself); yourself]
 ! !
 
+
 !StringSearchTool class methodsFor:'interface specs'!
 
 windowSpec
@@ -392,6 +395,7 @@
       )
 ! !
 
+
 !StringSearchTool methodsFor:'accessing'!
 
 closeBlock
@@ -442,6 +446,7 @@
     ^ searchTextView contents
 ! !
 
+
 !StringSearchTool methodsFor:'aspects'!
 
 matchCaseHolder
@@ -507,6 +512,7 @@
     "Created: / 15-06-2007 / 18:07:19 / Administrador"
 ! !
 
+
 !StringSearchTool methodsFor:'change & update'!
 
 matchCaseHolderChanged
@@ -517,6 +523,8 @@
 !
 
 processEvent:anEvent
+    <resource: #keyboard (#Escape #FindNext #FindPrev)>
+
     searchTextView hasFocus ifFalse:[^ false].
 
     anEvent isKeyPressEvent ifTrue:[
@@ -568,6 +576,7 @@
     "Modified: / 16-06-2007 / 09:21:27 / Administrador"
 ! !
 
+
 !StringSearchTool methodsFor:'images'!
 
 restartSearchBarIcon
@@ -580,6 +589,7 @@
     ^ self class warningSearchBarIcon
 ! !
 
+
 !StringSearchTool methodsFor:'initialization & release'!
 
 commonPostOpen
@@ -594,6 +604,7 @@
     "Created: / 15-06-2007 / 18:17:15 / Administrador"
 ! !
 
+
 !StringSearchTool methodsFor:'private'!
 
 searchReachEndOrBeginningIcon
@@ -625,6 +636,7 @@
     "Created: / 16-06-2007 / 06:29:00 / Administrador"
 ! !
 
+
 !StringSearchTool methodsFor:'public'!
 
 escapePressed
@@ -700,6 +712,7 @@
     searchTextView requestFocus.
 ! !
 
+
 !StringSearchTool methodsFor:'searching'!
 
 hideSearchBar
@@ -789,16 +802,18 @@
 "/            ignoreCase: ignoreCase 
 ! !
 
+
 !StringSearchTool class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__StringSearchTool.st 7854 2012-01-30 17:49:41Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__StringSearchTool.st,v 1.21 2013-01-17 11:18:42 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__StringSearchTool.st,v 1.20 2010/05/07 12:28:01 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__StringSearchTool.st,v 1.21 2013-01-17 11:18:42 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: Tools__StringSearchTool.st 7854 2012-01-30 17:49:41Z vranyj1 $'
 ! !
+
--- a/Tools__Tag.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__Tag.st	Wed Jan 30 11:15:09 2013 +0000
@@ -20,182 +20,182 @@
 	category:'Interface-Tools-File-Tags'
 !
 
-Tag subclass:#TElement
+Tools::Tag subclass:#TElement
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TClass
+Tools::Tag subclass:#TClass
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TDocumentation
+Tools::Tag subclass:#TDocumentation
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag::TElement subclass:#TAnchorElement
+Tools::Tag::TElement subclass:#TAnchorElement
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TEnum
+Tools::Tag subclass:#TEnum
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TEnumMember
+Tools::Tag subclass:#TEnumMember
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TField
+Tools::Tag subclass:#TField
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag::TElement subclass:#TFormElement
+Tools::Tag::TElement subclass:#TFormElement
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TFunction
+Tools::Tag subclass:#TFunction
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag::TElement subclass:#THeaderElement
+Tools::Tag::TElement subclass:#THeaderElement
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TInterface
+Tools::Tag subclass:#TInterface
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TLabel
+Tools::Tag subclass:#TLabel
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TLispConstant
+Tools::Tag subclass:#TLispConstant
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TLispEval
+Tools::Tag subclass:#TLispEval
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TLispMacro
+Tools::Tag subclass:#TLispMacro
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TMacro
+Tools::Tag subclass:#TMacro
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TMakeRule
+Tools::Tag subclass:#TMakeRule
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TMakeTarget
+Tools::Tag subclass:#TMakeTarget
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TMember
+Tools::Tag subclass:#TMember
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TMethod
+Tools::Tag subclass:#TMethod
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TPackage
+Tools::Tag subclass:#TPackage
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TPrologClause
+Tools::Tag subclass:#TPrologClause
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TStruct
+Tools::Tag subclass:#TStruct
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TTypedef
+Tools::Tag subclass:#TTypedef
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TUnion
+Tools::Tag subclass:#TUnion
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Tag
 !
 
-Tag subclass:#TVariable
+Tools::Tag subclass:#TVariable
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
@@ -227,6 +227,7 @@
 "
 ! !
 
+
 !Tag class methodsFor:'instance creation'!
 
 label:aLabel pattern:aPattern
@@ -261,6 +262,7 @@
     "Modified: / 05-05-2011 / 15:42:45 / cg"
 ! !
 
+
 !Tag class methodsFor:'accessing'!
 
 typeIdentifier
@@ -269,6 +271,7 @@
 
 ! !
 
+
 !Tag methodsFor:'accessing'!
 
 fileName
@@ -321,6 +324,7 @@
     ^ '???'
 ! !
 
+
 !Tag methodsFor:'instance creation'!
 
 label:aLabel pattern:aPattern lineNumber:aLineNumer className:cName
@@ -339,6 +343,7 @@
 
 ! !
 
+
 !Tag methodsFor:'list interface'!
 
 explainString
@@ -389,6 +394,7 @@
     ^ l
 ! !
 
+
 !Tag methodsFor:'queries'!
 
 widthOn:aGC
@@ -399,6 +405,7 @@
     ^ width
 ! !
 
+
 !Tag methodsFor:'tag searching'!
 
 lineNumberIn:someText
@@ -455,6 +462,7 @@
     ^ lnr
 ! !
 
+
 !Tag methodsFor:'testing'!
 
 isClassTag
@@ -623,6 +631,7 @@
 
 ! !
 
+
 !Tag::TElement class methodsFor:'accessing'!
 
 typeIdentifier
@@ -631,6 +640,7 @@
     "Created: / 20-04-2011 / 18:52:31 / cg"
 ! !
 
+
 !Tag::TElement class methodsFor:'documentation'!
 
 documentation
@@ -639,6 +649,7 @@
 "
 ! !
 
+
 !Tag::TElement methodsFor:'accessing'!
 
 typeIdentifierInList
@@ -653,6 +664,7 @@
     "Created: / 20-04-2011 / 18:53:29 / cg"
 ! !
 
+
 !Tag::TElement methodsFor:'testing'!
 
 isElementTag
@@ -663,6 +675,7 @@
     "Created: / 20-04-2011 / 18:53:16 / cg"
 ! !
 
+
 !Tag::TClass class methodsFor:'accessing'!
 
 typeIdentifier
@@ -671,6 +684,7 @@
     "Modified: / 05-05-2011 / 15:40:47 / cg"
 ! !
 
+
 !Tag::TClass class methodsFor:'documentation'!
 
 documentation
@@ -679,6 +693,7 @@
 "
 ! !
 
+
 !Tag::TClass methodsFor:'accessing'!
 
 typeIdentifierInList
@@ -691,6 +706,7 @@
 
 ! !
 
+
 !Tag::TClass methodsFor:'testing'!
 
 isClassTag
@@ -701,6 +717,7 @@
 
 ! !
 
+
 !Tag::TDocumentation class methodsFor:'accessing'!
 
 typeIdentifier
@@ -709,6 +726,7 @@
     "Modified: / 08-05-2011 / 10:06:26 / cg"
 ! !
 
+
 !Tag::TDocumentation class methodsFor:'documentation'!
 
 documentation
@@ -720,6 +738,7 @@
 "
 ! !
 
+
 !Tag::TDocumentation methodsFor:'accessing'!
 
 typeString
@@ -728,6 +747,7 @@
     "Modified: / 08-05-2011 / 10:05:52 / cg"
 ! !
 
+
 !Tag::TDocumentation methodsFor:'testing'!
 
 isDocumentationTag
@@ -738,6 +758,7 @@
     "Created: / 08-05-2011 / 10:06:03 / cg"
 ! !
 
+
 !Tag::TAnchorElement class methodsFor:'accessing'!
 
 typeIdentifier
@@ -746,6 +767,7 @@
     "Created: / 20-04-2011 / 18:52:31 / cg"
 ! !
 
+
 !Tag::TAnchorElement class methodsFor:'documentation'!
 
 documentation
@@ -754,6 +776,7 @@
 "
 ! !
 
+
 !Tag::TAnchorElement methodsFor:'accessing'!
 
 typeIdentifierInList
@@ -768,6 +791,7 @@
     "Created: / 20-04-2011 / 18:53:29 / cg"
 ! !
 
+
 !Tag::TEnum class methodsFor:'accessing'!
 
 typeIdentifier
@@ -776,6 +800,7 @@
     "Modified: / 05-05-2011 / 15:40:54 / cg"
 ! !
 
+
 !Tag::TEnum methodsFor:'accessing'!
 
 typeString
@@ -784,6 +809,7 @@
     "Modified: / 05-05-2011 / 15:37:03 / cg"
 ! !
 
+
 !Tag::TEnum methodsFor:'testing'!
 
 isEnumTag
@@ -792,6 +818,7 @@
     "Created: / 05-05-2011 / 15:37:15 / cg"
 ! !
 
+
 !Tag::TEnumMember class methodsFor:'accessing'!
 
 typeIdentifier
@@ -800,6 +827,7 @@
     "Modified: / 05-05-2011 / 15:40:57 / cg"
 ! !
 
+
 !Tag::TEnumMember methodsFor:'accessing'!
 
 typeString
@@ -808,6 +836,7 @@
     "Modified: / 05-05-2011 / 15:39:05 / cg"
 ! !
 
+
 !Tag::TEnumMember methodsFor:'testing'!
 
 isEnumMemberTag
@@ -816,6 +845,7 @@
     "Created: / 05-05-2011 / 15:38:49 / cg"
 ! !
 
+
 !Tag::TField class methodsFor:'accessing'!
 
 typeIdentifier
@@ -824,6 +854,7 @@
 
 ! !
 
+
 !Tag::TField methodsFor:'accessing'!
 
 typeString
@@ -831,6 +862,7 @@
 
 ! !
 
+
 !Tag::TField methodsFor:'testing'!
 
 isFieldTag
@@ -841,6 +873,7 @@
 
 ! !
 
+
 !Tag::TFormElement class methodsFor:'accessing'!
 
 typeIdentifier
@@ -849,6 +882,7 @@
     "Created: / 20-04-2011 / 18:52:31 / cg"
 ! !
 
+
 !Tag::TFormElement class methodsFor:'documentation'!
 
 documentation
@@ -857,6 +891,7 @@
 "
 ! !
 
+
 !Tag::TFormElement methodsFor:'accessing'!
 
 typeIdentifierInList
@@ -871,6 +906,7 @@
     "Created: / 20-04-2011 / 18:53:29 / cg"
 ! !
 
+
 !Tag::TFunction class methodsFor:'accessing'!
 
 typeIdentifier
@@ -879,6 +915,7 @@
     "Modified: / 05-05-2011 / 15:41:04 / cg"
 ! !
 
+
 !Tag::TFunction methodsFor:'accessing'!
 
 typeIdentifierInList
@@ -893,6 +930,7 @@
 
 ! !
 
+
 !Tag::TFunction methodsFor:'testing'!
 
 isFunctionTag
@@ -903,6 +941,7 @@
 
 ! !
 
+
 !Tag::THeaderElement class methodsFor:'accessing'!
 
 typeIdentifier
@@ -911,6 +950,7 @@
     "Created: / 20-04-2011 / 18:52:31 / cg"
 ! !
 
+
 !Tag::THeaderElement class methodsFor:'documentation'!
 
 documentation
@@ -919,6 +959,7 @@
 "
 ! !
 
+
 !Tag::THeaderElement methodsFor:'accessing'!
 
 typeIdentifierInList
@@ -933,6 +974,7 @@
     "Created: / 20-04-2011 / 18:53:29 / cg"
 ! !
 
+
 !Tag::TInterface class methodsFor:'accessing'!
 
 typeIdentifier
@@ -941,6 +983,7 @@
     "Modified: / 05-05-2011 / 15:41:08 / cg"
 ! !
 
+
 !Tag::TInterface methodsFor:'accessing'!
 
 typeString
@@ -949,6 +992,7 @@
 
 ! !
 
+
 !Tag::TInterface methodsFor:'testing'!
 
 isInterfaceTag
@@ -959,6 +1003,7 @@
 
 ! !
 
+
 !Tag::TLabel class methodsFor:'accessing'!
 
 typeIdentifier
@@ -967,6 +1012,7 @@
 
 ! !
 
+
 !Tag::TLabel methodsFor:'accessing'!
 
 typeString
@@ -975,6 +1021,7 @@
 
 ! !
 
+
 !Tag::TLabel methodsFor:'testing'!
 
 isLabelTag
@@ -985,6 +1032,7 @@
 
 ! !
 
+
 !Tag::TLispConstant class methodsFor:'accessing'!
 
 typeIdentifier
@@ -993,6 +1041,7 @@
 
 ! !
 
+
 !Tag::TLispConstant methodsFor:'accessing'!
 
 typeString
@@ -1001,6 +1050,7 @@
 
 ! !
 
+
 !Tag::TLispConstant methodsFor:'testing'!
 
 isLispConstantTag
@@ -1011,6 +1061,7 @@
 
 ! !
 
+
 !Tag::TLispEval class methodsFor:'accessing'!
 
 typeIdentifier
@@ -1019,6 +1070,7 @@
 
 ! !
 
+
 !Tag::TLispEval methodsFor:'accessing'!
 
 printString
@@ -1031,6 +1083,7 @@
 
 ! !
 
+
 !Tag::TLispEval methodsFor:'testing'!
 
 isLispEvalTag
@@ -1041,6 +1094,7 @@
 
 ! !
 
+
 !Tag::TLispMacro class methodsFor:'accessing'!
 
 typeIdentifier
@@ -1049,6 +1103,7 @@
 
 ! !
 
+
 !Tag::TLispMacro methodsFor:'accessing'!
 
 typeString
@@ -1057,6 +1112,7 @@
 
 ! !
 
+
 !Tag::TLispMacro methodsFor:'testing'!
 
 isLispMacroTag
@@ -1067,6 +1123,7 @@
 
 ! !
 
+
 !Tag::TMacro class methodsFor:'accessing'!
 
 typeIdentifier
@@ -1075,6 +1132,7 @@
 
 ! !
 
+
 !Tag::TMacro methodsFor:'accessing'!
 
 typeString
@@ -1083,6 +1141,7 @@
 
 ! !
 
+
 !Tag::TMacro methodsFor:'testing'!
 
 isMacroTag
@@ -1093,18 +1152,21 @@
 
 ! !
 
+
 !Tag::TMakeRule class methodsFor:'accessing'!
 
 typeIdentifier
     ^ 'R'
 ! !
 
+
 !Tag::TMakeRule methodsFor:'accessing'!
 
 typeString
     ^ 'rule'
 ! !
 
+
 !Tag::TMakeRule methodsFor:'testing'!
 
 isMakeTargetTag
@@ -1115,6 +1177,7 @@
 
 ! !
 
+
 !Tag::TMakeTarget class methodsFor:'accessing'!
 
 typeIdentifier
@@ -1123,6 +1186,7 @@
 
 ! !
 
+
 !Tag::TMakeTarget methodsFor:'accessing'!
 
 typeString
@@ -1131,6 +1195,7 @@
 
 ! !
 
+
 !Tag::TMakeTarget methodsFor:'testing'!
 
 isMakeTargetTag
@@ -1141,6 +1206,7 @@
 
 ! !
 
+
 !Tag::TMember class methodsFor:'accessing'!
 
 typeIdentifier
@@ -1149,6 +1215,7 @@
 
 ! !
 
+
 !Tag::TMember methodsFor:'accessing'!
 
 typeString
@@ -1157,6 +1224,7 @@
 
 ! !
 
+
 !Tag::TMember methodsFor:'testing'!
 
 isMemberTag
@@ -1167,6 +1235,7 @@
 
 ! !
 
+
 !Tag::TMethod class methodsFor:'accessing'!
 
 typeIdentifier
@@ -1175,6 +1244,7 @@
     "Modified: / 05-05-2011 / 15:41:29 / cg"
 ! !
 
+
 !Tag::TMethod methodsFor:'accessing'!
 
 typeIdentifierInList
@@ -1188,6 +1258,7 @@
 
 ! !
 
+
 !Tag::TMethod methodsFor:'testing'!
 
 isMethodTag
@@ -1198,6 +1269,7 @@
 
 ! !
 
+
 !Tag::TPackage class methodsFor:'accessing'!
 
 typeIdentifier
@@ -1206,6 +1278,7 @@
     "Modified: / 05-05-2011 / 15:41:35 / cg"
 ! !
 
+
 !Tag::TPackage methodsFor:'accessing'!
 
 typeString
@@ -1214,6 +1287,7 @@
 
 ! !
 
+
 !Tag::TPackage methodsFor:'testing'!
 
 isPackageTag
@@ -1224,6 +1298,7 @@
 
 ! !
 
+
 !Tag::TPrologClause class methodsFor:'accessing'!
 
 typeIdentifier
@@ -1232,6 +1307,7 @@
 
 ! !
 
+
 !Tag::TPrologClause methodsFor:'accessing'!
 
 typeString
@@ -1240,6 +1316,7 @@
 
 ! !
 
+
 !Tag::TPrologClause methodsFor:'testing'!
 
 isPrologClause
@@ -1250,6 +1327,7 @@
 
 ! !
 
+
 !Tag::TStruct class methodsFor:'accessing'!
 
 typeIdentifier
@@ -1258,6 +1336,7 @@
     "Modified: / 05-05-2011 / 15:41:42 / cg"
 ! !
 
+
 !Tag::TStruct methodsFor:'accessing'!
 
 typeString
@@ -1266,6 +1345,7 @@
 
 ! !
 
+
 !Tag::TStruct methodsFor:'testing'!
 
 isStructOrUnionTag
@@ -1282,6 +1362,7 @@
 
 ! !
 
+
 !Tag::TTypedef class methodsFor:'accessing'!
 
 typeIdentifier
@@ -1290,6 +1371,7 @@
     "Modified: / 05-05-2011 / 15:41:46 / cg"
 ! !
 
+
 !Tag::TTypedef methodsFor:'accessing'!
 
 typeString
@@ -1298,6 +1380,7 @@
 
 ! !
 
+
 !Tag::TTypedef methodsFor:'testing'!
 
 isTypedefTag
@@ -1308,6 +1391,7 @@
 
 ! !
 
+
 !Tag::TUnion class methodsFor:'accessing'!
 
 typeIdentifier
@@ -1316,6 +1400,7 @@
     "Modified: / 05-05-2011 / 15:41:50 / cg"
 ! !
 
+
 !Tag::TUnion methodsFor:'accessing'!
 
 typeString
@@ -1324,6 +1409,7 @@
     "Modified: / 05-05-2011 / 15:07:12 / cg"
 ! !
 
+
 !Tag::TUnion methodsFor:'testing'!
 
 isStructOrUnionTag
@@ -1340,6 +1426,7 @@
     "Created: / 05-05-2011 / 15:07:00 / cg"
 ! !
 
+
 !Tag::TVariable class methodsFor:'accessing'!
 
 typeIdentifier
@@ -1348,6 +1435,7 @@
 
 ! !
 
+
 !Tag::TVariable methodsFor:'accessing'!
 
 typeString
@@ -1356,6 +1444,7 @@
 
 ! !
 
+
 !Tag::TVariable methodsFor:'testing'!
 
 isVariableTag
@@ -1366,12 +1455,14 @@
 
 ! !
 
+
 !Tag class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__Tag.st,v 1.6 2012/09/12 20:42:58 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Tag.st,v 1.6 2012-09-12 20:42:58 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__Tag.st 8054 2012-09-13 09:15:20Z vranyj1 $'
-! !
\ No newline at end of file
+    ^ 'Id'
+! !
+
--- a/Tools__TagList.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__TagList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -62,6 +62,7 @@
 "
 ! !
 
+
 !TagList class methodsFor:'accessing'!
 
 tagsSuffixes
@@ -103,6 +104,7 @@
     "Modified: / 28-09-2012 / 14:48:25 / cg"
 ! !
 
+
 !TagList class methodsFor:'defaults'!
 
 arcLispSuffixes
@@ -272,6 +274,7 @@
     ^ self tagsSuffixes at:#'text/yacc'
 ! !
 
+
 !TagList class methodsFor:'queries'!
 
 isArcLispSuffix:suffix
@@ -398,6 +401,7 @@
     ^ self isSuffix:suffix in:self yaccSuffixes
 ! !
 
+
 !TagList class methodsFor:'queries basic'!
 
 isSuffix:suffix in:patterns
@@ -444,6 +448,7 @@
     ^ nil
 ! !
 
+
 !TagList class methodsFor:'tag generation'!
 
 cachedTagsFromFile:aFilename in:aTempDirectory
@@ -566,6 +571,7 @@
     ^ targets
 ! !
 
+
 !TagList methodsFor:'accessing-filters'!
 
 classesFunctionsAndVariablesOnly
@@ -1394,6 +1400,7 @@
     "Modified: / 05-05-2011 / 15:24:06 / cg"
 ! !
 
+
 !TagList methodsFor:'accessing-presentation'!
 
 groupBy
@@ -1527,6 +1534,7 @@
     ^ tagTypesPresent
 ! !
 
+
 !TagList methodsFor:'private'!
 
 applyFilterToList:aList
@@ -1607,9 +1615,12 @@
 !
 
 shellCommandTemplateFor:aFilenameString
-    "returns the shellCommand to be used (contains %1 for the filename)"
+    "returns the shellCommand to be used (contains %1 for the filename).
+     When first called, looks for ctags (both a private and the system-supplied),
+     and tries to see what version that is. I prefer exuberant ctags version"
 
     |lcSuffix shellCommand isCSuffix isCPlusPlusSuffix isJavaSuffix isEiffelSuffix isFortranSuffix
+     isTCLSuffix isRubySuffix isPythonSuffix isPhpSuffix isJavaScriptSuffix
      showOnly response suff fn|
 
     ctagsCommand isNil ifTrue:[
@@ -1617,7 +1628,7 @@
             "/ local use
             suff := (OperatingSystem isMSWINDOWSlike) ifTrue:'.exe' ifFalse:''.
 
-            ctagsCommand := Smalltalk getPackageFileName:'stx/support/tools/ctags-5.0.1/ctags',suff.
+            ctagsCommand := Smalltalk getPackageFileName:'stx/support/tools/ctags-5.8/ctags',suff.
             (ctagsCommand notNil and:[(fn := ctagsCommand asFilename) isExecutableProgram]) ifTrue:[
                 ctagsCommand := fn pathName.
                 ctagsIsExCtags := ctagsIsExCtags5x := true.
@@ -1685,9 +1696,18 @@
             (ctagsIsExCtags5x ? false) ifFalse:[
                 ^ nil
             ].
-            "/ ex_ctags5.x also supports awk, lisp, perl, pascal and a few others
-"/            ^ nil
+
+            "/ ex_ctags5.x also supports:
+            "/     Assembler, AWK, ASP, BETA,
+            "/     Bourne/Korn/Z Shell, C, C++, C#, COBOL, Eiffel, Erlang, Fortran, Java, Lisp,
+            "/     Lua, Makefile, Pascal, Perl, PHP, PL/SQL, Python, REXX, Ruby, Scheme,
+            "/     S-Lang, SML (Standard ML), Tcl, Vera, Verilog, VHDL, Vim, and YACC.
         ].
+        isTCLSuffix := self class isTCLSuffix:lcSuffix.
+        isRubySuffix := self class isRubySuffix:lcSuffix.
+        isPythonSuffix := self class isPythonSuffix:lcSuffix.
+        isPhpSuffix := self class isPhpSuffix:lcSuffix.
+        isJavaScriptSuffix := self class isJavaScriptSuffix:lcSuffix.
 
         usingDefaultCTags    := false.
         shellCommand := shellCommand asFilename asAbsoluteFilename pathName.
@@ -1724,28 +1744,15 @@
                     ] 
                 ] 
             ]. 
-            hideStructMembers == true ifTrue:[
-                shellCommand := shellCommand, ' --c-types=-m'
-            ].
-            hideDefines == true ifTrue:[                
-                shellCommand := shellCommand, ' --c-types=-d'
-            ].
-            hideTypedefs == true ifTrue:[
-                shellCommand := shellCommand, ' --c-types=-t'
-            ].
-            hideStructures == true ifTrue:[
-                shellCommand := shellCommand, ' --c-types=-s'
-            ].
-            hideVariables == true ifTrue:[
-                shellCommand := shellCommand, ' --c-types=-v'
-            ].
-            hideFunctions == true ifTrue:[
-                shellCommand := shellCommand, ' --c-types=-f'
-            ].
-            hideClasses == true ifTrue:[
-                shellCommand := shellCommand, ' --c-types=-c'
-            ].
+            hideStructMembers == true ifTrue:[ shellCommand := shellCommand, ' --c-types=-m'].
+            hideDefines == true ifTrue:[ shellCommand := shellCommand, ' --c-types=-d' ].
+            hideTypedefs == true ifTrue:[ shellCommand := shellCommand, ' --c-types=-t' ].
+            hideStructures == true ifTrue:[ shellCommand := shellCommand, ' --c-types=-s'].
+            hideVariables == true ifTrue:[ shellCommand := shellCommand, ' --c-types=-v'].
+            hideFunctions == true ifTrue:[ shellCommand := shellCommand, ' --c-types=-f'].
+            hideClasses == true ifTrue:[ shellCommand := shellCommand, ' --c-types=-c'].
         ].
+
         isJavaSuffix ifTrue:[
             shellCommand := shellCommand, ' --lang=java'.
 
@@ -1760,27 +1767,18 @@
                     ]
                 ]
             ]. 
-            hideJavaClasses == true ifTrue:[
-                shellCommand := shellCommand, ' --java-types=-c'
-            ].
-            hideJavaMethods == true ifTrue:[
-                shellCommand := shellCommand, ' --java-types=-m'
-            ].
-            hideJavaInterfaces == true ifTrue:[
-                shellCommand := shellCommand, ' --java-types=-i'
-            ].
-            hideJavaFields == true ifTrue:[
-                shellCommand := shellCommand, ' --java-types=-f'
-            ].
-            hideJavaPackages == true ifTrue:[
-                shellCommand := shellCommand, ' --java-types=-p'
-            ].
+            hideJavaClasses == true ifTrue:[ shellCommand := shellCommand, ' --java-types=-c' ].
+            hideJavaMethods == true ifTrue:[ shellCommand := shellCommand, ' --java-types=-m' ].
+            hideJavaInterfaces == true ifTrue:[ shellCommand := shellCommand, ' --java-types=-i' ].
+            hideJavaFields == true ifTrue:[ shellCommand := shellCommand, ' --java-types=-f' ].
+            hideJavaPackages == true ifTrue:[ shellCommand := shellCommand, ' --java-types=-p' ].
         ].
+
         isEiffelSuffix ifTrue:[
             shellCommand := shellCommand, ' --lang=eiffel'.
 
-            showOnly == #classes ifTrue:[
-                shellCommand := shellCommand, ' --eiffel-types=c'
+            showOnly == #classes ifTrue:[ 
+                shellCommand := shellCommand, ' --eiffel-types=c' 
             ] ifFalse:[
                 showOnly == #features ifTrue:[
                     shellCommand := shellCommand, ' --eiffel-types=f'
@@ -2020,6 +2018,7 @@
     "Modified: / 05-05-2011 / 15:13:14 / cg"
 ! !
 
+
 !TagList methodsFor:'queries'!
 
 bestTagForLine:lineNr 
@@ -2044,6 +2043,7 @@
     ^ bestTag
 ! !
 
+
 !TagList methodsFor:'tag generation'!
 
 fromFile:aFile in:aTempDirectory
@@ -2056,12 +2056,15 @@
     list := OrderedCollection new.
 
     shellCmd := (self shellCommandFor:aFile pathName).
-    shellCmd isNil ifTrue:[
-        list := self getSimpleTagListFromFile:aFile in:aTempDirectory.
-    ] ifFalse:[
+    shellCmd notNil ifTrue:[
         tagTypesPresent := false.     "/ will be set again, when ctags command provides types
         list := self getTagListFromFile:aFile usingCommand:shellCmd mode:nil in:aTempDirectory
     ].
+
+    "/ incase ctags could not find anything, try our own, naive fallback (not too bad either)
+    list isEmptyOrNil ifTrue:[
+        list := self getSimpleTagListFromFile:aFile in:aTempDirectory.
+    ].
     tagTypesPresent := true.
 
     numTags := list size.
@@ -2420,6 +2423,7 @@
     "Modified: / 05-05-2011 / 15:45:55 / cg"
 ! !
 
+
 !TagList methodsFor:'tag generation - simple'!
 
 assemblerTagsInFile:aFilePath
@@ -3606,6 +3610,7 @@
     "Modified: / 28-09-2012 / 14:45:52 / cg"
 ! !
 
+
 !TagList methodsFor:'testing'!
 
 supportsFile:aFile
@@ -3647,16 +3652,18 @@
 "/    ^ false
 ! !
 
+
 !TagList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.20 2012/09/30 09:39:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.22 2013-01-24 17:07:06 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.20 2012/09/30 09:39:59 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.22 2013-01-24 17:07:06 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__TagList.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id'
 ! !
+
--- a/Tools__TagsBrowser.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__TagsBrowser.st	Wed Jan 30 11:15:09 2013 +0000
@@ -58,6 +58,7 @@
 "
 ! !
 
+
 !TagsBrowser class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -86,6 +87,7 @@
     "Created: / 06-10-2011 / 12:04:51 / cg"
 ! !
 
+
 !TagsBrowser class methodsFor:'interface specs'!
 
 windowSpec
@@ -153,6 +155,7 @@
       )
 ! !
 
+
 !TagsBrowser class methodsFor:'menu specs'!
 
 assemblerMenuSlice
@@ -1186,6 +1189,7 @@
       )
 ! !
 
+
 !TagsBrowser methodsFor:'* As yet uncategorized *'!
 
 assignFocusToTagFilterInputField    
@@ -1195,6 +1199,7 @@
     "Created: / 02-08-2012 / 22:00:45 / cg"
 ! !
 
+
 !TagsBrowser methodsFor:'accessing'!
 
 action:aOneArgBlock
@@ -1257,6 +1262,7 @@
     "Created: / 07-05-2011 / 15:42:44 / cg"
 ! !
 
+
 !TagsBrowser methodsFor:'accessing filters'!
 
 classesFunctionsAndVariablesOnly
@@ -1858,6 +1864,7 @@
     "Modified: / 05-05-2011 / 15:33:18 / cg"
 ! !
 
+
 !TagsBrowser methodsFor:'accessing presentation aspects'!
 
 groupedByType
@@ -1928,6 +1935,7 @@
     tagList sortedByType:aBool
 ! !
 
+
 !TagsBrowser methodsFor:'aspects'!
 
 editedFileHasAssemblerSuffix
@@ -2073,6 +2081,7 @@
     ^ tagView
 ! !
 
+
 !TagsBrowser methodsFor:'change & update'!
 
 delayedEditedFileChanged
@@ -2180,6 +2189,7 @@
     "Modified: / 23-06-2011 / 17:28:26 / cg"
 ! !
 
+
 !TagsBrowser methodsFor:'hooks for ccbrowser'!
 
 buildTarget
@@ -2191,6 +2201,7 @@
     "Created: / 07-05-2011 / 15:38:20 / cg"
 ! !
 
+
 !TagsBrowser methodsFor:'menu actions'!
 
 keepingSelectionDo:aBlock
@@ -2312,6 +2323,7 @@
     "Modified: / 07-12-2011 / 11:13:18 / cg"
 ! !
 
+
 !TagsBrowser methodsFor:'startup & release'!
 
 cloneWith:anApplication
@@ -2358,6 +2370,7 @@
     "Created: / 06-12-2011 / 14:57:26 / cg"
 ! !
 
+
 !TagsBrowser::TagView methodsFor:'accessing'!
 
 application
@@ -2388,6 +2401,7 @@
     tagLineNr := lineNr
 ! !
 
+
 !TagsBrowser::TagView methodsFor:'drawing'!
 
 drawLabelAt:anIndex x:x y:y h:h
@@ -2479,6 +2493,7 @@
     ]
 ! !
 
+
 !TagsBrowser::TagView methodsFor:'generating tags'!
 
 generateTagsFor:aFile onTarget:aTarget finally:aBlock
@@ -2565,6 +2580,7 @@
     "Modified (comment): / 06-10-2011 / 14:01:30 / cg"
 ! !
 
+
 !TagsBrowser::TagView methodsFor:'initialize & release'!
 
 destroy
@@ -2580,6 +2596,7 @@
     highlightMode := #line.
 ! !
 
+
 !TagsBrowser::TagView methodsFor:'protocol'!
 
 heightOfLineAt:aLineNr
@@ -2597,16 +2614,18 @@
   ^ width + TypeInset
 ! !
 
+
 !TagsBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.31 2012/11/26 21:47:52 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.31 2012-11-26 21:47:52 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.31 2012/11/26 21:47:52 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.31 2012-11-26 21:47:52 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__TagsBrowser.st 8083 2013-01-14 11:48:37Z vranyj1 $'
+    ^ 'Id'
 ! !
+
--- a/Tools__TestRunner2.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__TestRunner2.st	Wed Jan 30 11:15:09 2013 +0000
@@ -91,6 +91,7 @@
 "
 ! !
 
+
 !TestRunner2 class methodsFor:'initialization'!
 
 initialize
@@ -158,6 +159,7 @@
     "Modified: / 18-08-2011 / 11:34:24 / cg"
 ! !
 
+
 !TestRunner2 class methodsFor:'help specs'!
 
 helpSpec
@@ -186,6 +188,7 @@
     "Modified: / 09-08-2012 / 09:37:16 / cg"
 ! !
 
+
 !TestRunner2 class methodsFor:'image specs'!
 
 defaultIcon
@@ -195,6 +198,7 @@
     "Created: / 19-08-2009 / 14:32:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !TestRunner2 class methodsFor:'interface specs'!
 
 buttonPaneSpec
@@ -774,6 +778,7 @@
     "Created: / 07-02-2010 / 14:48:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TestRunner2 class methodsFor:'list specs'!
 
 classCategoryOrPackageTabList
@@ -836,6 +841,7 @@
       collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]
 ! !
 
+
 !TestRunner2 class methodsFor:'menu specs'!
 
 classListMenu
@@ -1010,6 +1016,7 @@
       )
 ! !
 
+
 !TestRunner2 class methodsFor:'resources'!
 
 startSUnitIcon
@@ -1019,6 +1026,7 @@
     "/ ^ ToolbarIconLibrary sUnit28x28Icon    
 ! !
 
+
 !TestRunner2 class methodsFor:'startup'!
 
 openOnTestCase:aTestCaseClass
@@ -1033,6 +1041,7 @@
     "Created: / 06-07-2011 / 14:10:00 / cg"
 ! !
 
+
 !TestRunner2 methodsFor:'accessing'!
 
 errorColor
@@ -1133,6 +1142,7 @@
     "Created: / 06-06-2008 / 20:08:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !TestRunner2 methodsFor:'accessing - lists'!
 
 allTestCategories
@@ -1214,6 +1224,7 @@
     "Modified: / 28-02-2011 / 21:13:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TestRunner2 methodsFor:'accessing - menus'!
 
 packageListMenu
@@ -1230,6 +1241,7 @@
     "Created: / 23-09-2011 / 18:53:46 / cg"
 ! !
 
+
 !TestRunner2 methodsFor:'actions'!
 
 classSelectionChanged
@@ -1420,6 +1432,7 @@
     "Created: / 21-08-2011 / 17:51:42 / cg"
 ! !
 
+
 !TestRunner2 methodsFor:'actions - menu'!
 
 classListMenuBrowse
@@ -1507,6 +1520,7 @@
     "Created: / 23-09-2011 / 18:55:50 / cg"
 ! !
 
+
 !TestRunner2 methodsFor:'aspects'!
 
 classCategoryOrPackageTabIndexHolder
@@ -1699,6 +1713,7 @@
     "Created: / 18-01-2008 / 18:44:29 / janfrog"
 ! !
 
+
 !TestRunner2 methodsFor:'displaying'!
 
 displayColor: aColorValue
@@ -1783,6 +1798,7 @@
     "Modified: / 05-07-2011 / 14:14:42 / cg"
 ! !
 
+
 !TestRunner2 methodsFor:'hooks'!
 
 commonPostOpen
@@ -1798,6 +1814,7 @@
     "Modified: / 30-06-2011 / 20:20:40 / cg"
 ! !
 
+
 !TestRunner2 methodsFor:'private'!
 
 buildSuiteFromClass: testCaseCls 
@@ -1841,12 +1858,14 @@
     "Created: / 18-01-2008 / 18:51:21 / janfrog"
 ! !
 
+
 !TestRunner2::ClassList class methodsFor:'documentation'!
 
 version
-    ^'$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.34 2012/11/27 11:08:22 cg Exp $'
+    ^'$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.34 2012-11-27 11:08:22 cg Exp $'
 ! !
 
+
 !TestRunner2::ClassList methodsFor:'private'!
 
 nameListEntryFor:aClass withNameSpace:useFullName
@@ -1863,6 +1882,7 @@
     "Modified: / 28-02-2011 / 21:42:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TestRunner2::ResultList class methodsFor:'interface specs'!
 
 windowSpec
@@ -1913,6 +1933,7 @@
       )
 ! !
 
+
 !TestRunner2::ResultList class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -1933,6 +1954,7 @@
 
 ! !
 
+
 !TestRunner2::ResultList methodsFor:'actions'!
 
 debugTest:entryIndex 
@@ -1960,6 +1982,7 @@
     "Created: / 08-02-2010 / 10:08:30 / Jan Vrany <jan,vrany@fit.cvut.cz>"
 ! !
 
+
 !TestRunner2::ResultList methodsFor:'aspects'!
 
 listHolder
@@ -2019,6 +2042,7 @@
     "Created: / 23-09-2011 / 19:02:06 / cg"
 ! !
 
+
 !TestRunner2::ResultList methodsFor:'change & update'!
 
 update:aspect with:param from:sender
@@ -2060,6 +2084,7 @@
     "Modified: / 04-08-2011 / 19:05:57 / cg"
 ! !
 
+
 !TestRunner2::ResultList methodsFor:'private'!
 
 invalidate
@@ -2078,6 +2103,7 @@
     "Created: / 08-02-2010 / 10:28:53 / Jan Vrany <jan,vrany@fit.cvut.cz>"
 ! !
 
+
 !TestRunner2::ResultList methodsFor:'private-list'!
 
 makeClassEntryFor: class result: result tests: tests
@@ -2152,6 +2178,7 @@
     "Created: / 19-03-2010 / 08:41:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TestRunner2::ResultList::ListEntry class methodsFor:'initialization'!
 
 initialize
@@ -2166,6 +2193,7 @@
     "Modified: / 07-02-2010 / 15:06:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TestRunner2::ResultList::ListEntry class methodsFor:'instance creation'!
 
 labeled: aStringOrText
@@ -2175,6 +2203,7 @@
     "Created: / 07-02-2010 / 13:31:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TestRunner2::ResultList::ListEntry methodsFor:'accessing'!
 
 icon
@@ -2240,6 +2269,7 @@
     test := aTestCase.
 ! !
 
+
 !TestRunner2::ResultList::ListEntry methodsFor:'enumeration'!
 
 leafsDo: aBlock
@@ -2258,6 +2288,7 @@
     "Created: / 08-02-2010 / 10:10:36 / Jan Vrany <jan,vrany@fit.cvut.cz>"
 ! !
 
+
 !TestRunner2::ResultList::ListEntry methodsFor:'initialization'!
 
 reset
@@ -2277,6 +2308,7 @@
     "Created: / 07-02-2010 / 11:41:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TestRunner2::ResultList::ListEntry methodsFor:'private'!
 
 computeResult
@@ -2307,6 +2339,7 @@
     "Created: / 08-02-2010 / 10:16:52 / Jan Vrany <jan,vrany@fit.cvut.cz>"
 ! !
 
+
 !TestRunner2::ResultList::ListEntry methodsFor:'testing'!
 
 isError
@@ -2338,19 +2371,21 @@
     "Created: / 08-02-2010 / 10:18:15 / Jan Vrany <jan,vrany@fit.cvut.cz>"
 ! !
 
+
 !TestRunner2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.34 2012/11/27 11:08:22 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.34 2012-11-27 11:08:22 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.34 2012/11/27 11:08:22 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.34 2012-11-27 11:08:22 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__TestRunner2.st 8083 2013-01-14 11:48:37Z vranyj1 $'
+    ^ 'Id: Tools__TestRunner2.st 7486 2009-10-26 22:06:24Z vranyj1 '
 ! !
 
+
 TestRunner2 initialize!
 TestRunner2::ResultList::ListEntry initialize!
--- a/Tools__TextDiffTool.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__TextDiffTool.st	Wed Jan 30 11:15:09 2013 +0000
@@ -63,6 +63,7 @@
 "
 ! !
 
+
 !TextDiffTool class methodsFor:'image specs'!
 
 versionA24x24
@@ -93,8 +94,19 @@
     "Created: / 17-03-2012 / 12:18:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool class methodsFor:'interface specs'!
 
+
+
+
+
+
+
+
+
+
+
 windowSpec
     "This resource specification was automatically generated
      by the UIPainter of ST/X."
@@ -183,6 +195,7 @@
       )
 ! !
 
+
 !TextDiffTool class methodsFor:'interface specs - labels'!
 
 versionALabelSpec
@@ -289,6 +302,8 @@
     "Modified: / 30-06-2011 / 20:53:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 versionCLabelSpec
     "This resource specification was automatically generated
      by the UIPainter of ST/X."
@@ -342,6 +357,7 @@
     "Created: / 16-03-2012 / 12:16:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -364,6 +380,7 @@
     "Created: / 16-03-2012 / 12:18:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool methodsFor:'accessing'!
 
 label: aString
@@ -374,18 +391,19 @@
 !
 
 labelA: aString
-
     ^self labelAHolder value: aString
 
-    "Created: / 16-03-2012 / 13:05:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 19-07-2011 / 11:41:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Created: / 30-08-2011 / 09:42:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 27-07-2012 / 21:57:10 / cg"
 !
 
 labelB: aString
-
     ^self labelBHolder value: aString
 
     "Modified: / 19-07-2011 / 11:41:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 30-08-2011 / 09:42:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 27-07-2012 / 21:57:15 / cg"
 !
 
 labelC: aString
@@ -404,10 +422,10 @@
 !
 
 textA: aString
-
     ^self textAHolder value: aString
 
     "Created: / 30-08-2011 / 09:43:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 27-07-2012 / 21:57:37 / cg"
 !
 
 textB
@@ -418,10 +436,10 @@
 !
 
 textB: aString
-
     ^self textBHolder value: aString
 
     "Created: / 30-08-2011 / 09:43:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 27-07-2012 / 21:57:41 / cg"
 !
 
 textC
@@ -446,6 +464,7 @@
     "Created: / 30-08-2011 / 09:45:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool methodsFor:'aspects'!
 
 classHolder
@@ -458,29 +477,39 @@
 !
 
 classHolder: aValueHolder
-
     classHolder := aValueHolder.
     "codeView notNil ifTrue:[codeView classHolder: aValueHolder]."
     diffView notNil ifTrue:[diffView classHolder: aValueHolder].
 
     "Modified: / 19-07-2011 / 12:54:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 27-07-2012 / 21:57:00 / cg"
 !
 
 codeAspectHolder
     "return/create the 'codeAspectHolder' value holder (automatically generated)"
 
     codeAspectHolder isNil ifTrue:[
-        codeAspectHolder := ValueHolder with: #expression.
+        codeAspectHolder := ValueHolder with: (SyntaxHighlighter codeAspectExpression).
+        codeAspectHolder addDependent:self
     ].
     ^ codeAspectHolder
 
     "Modified: / 19-07-2011 / 19:07:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 27-07-2012 / 23:46:11 / cg"
 !
 
 codeAspectHolder:something
     "set the 'codeAspectHolder' value holder (automatically generated)"
 
+    codeAspectHolder notNil ifTrue:[
+        codeAspectHolder removeDependent:self
+    ].
     codeAspectHolder := something.
+    codeAspectHolder notNil ifTrue:[
+        codeAspectHolder addDependent:self
+    ].
+
+    "Modified: / 27-07-2012 / 22:55:42 / cg"
 !
 
 contentSpecHolder
@@ -512,6 +541,10 @@
     ].
 !
 
+
+
+
+
 diffView
 "/    diffView isNil ifTrue:[
         diffView := self initializeDiffView.
@@ -549,7 +582,14 @@
     diffView notNil ifTrue:[diffView languageHolder: aValueHolder].
 
     "Modified: / 19-07-2011 / 12:54:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
+!
+
+
+
+
+
+ !
+
 
 !TextDiffTool methodsFor:'aspects-versions'!
 
@@ -739,8 +779,23 @@
     "Created: / 16-03-2012 / 12:14:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool methodsFor:'change & update'!
 
+codeAspect
+    ^self codeAspectHolder value
+
+    "Created: / 19-07-2011 / 19:07:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 27-07-2012 / 21:56:52 / cg"
+!
+
+codeAspect:aSymbol
+    self codeAspectHolder value:aSymbol
+
+    "Created: / 19-07-2011 / 19:07:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Created: / 27-07-2012 / 21:56:48 / cg"
+!
+
 update:something with:aParameter from:changedObject
     "Invoked when an object that I depend upon sends a change notification."
 
@@ -766,22 +821,29 @@
     "Created: / 16-03-2012 / 12:36:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 updateAfterAorBorCChanged
     "Called whenever one of the texts changes"
 
     ^ self subclassResponsibility
 
     "Modified (comment): / 16-03-2012 / 12:39:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
+!
+
+ !
+
 
 !TextDiffTool methodsFor:'hooks'!
 
+
+
 postBuildDiffView:aScrollableView
-
     diffView := aScrollableView.
     self setupCodeView: aScrollableView.
 
     "Created: / 30-06-2011 / 20:55:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 27-07-2012 / 21:57:21 / cg"
 !
 
 setupCodeView: codeView2
@@ -795,14 +857,15 @@
     "Created: / 26-07-2012 / 19:13:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool methodsFor:'initialization'!
 
 initialize
+    super initialize.
+    textAChanged := textBChanged := false.
 
-    super initialize.
-    textAChanged := textBChanged := textBChanged := false.
-
-    "Modified: / 16-03-2012 / 12:40:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 19-07-2011 / 19:43:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 27-07-2012 / 21:57:08 / cg"
 !
 
 initializeDiffView
@@ -812,6 +875,25 @@
     "Created: / 16-01-2013 / 09:45:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
+!TextDiffTool methodsFor:'private'!
+
+
+
+showNothing
+    self diffSpecHolder value: #nothingSpec
+
+    "Created: / 19-07-2011 / 19:34:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 27-07-2012 / 21:57:28 / cg"
+!
+
+
+
+
+
+ !
+
+
 !TextDiffTool methodsFor:'testing'!
 
 isDiff2
@@ -832,8 +914,18 @@
     "Created: / 19-03-2012 / 11:53:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool class methodsFor:'documentation'!
 
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TextDiffTool.st,v 1.8 2012-07-27 21:48:04 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TextDiffTool.st,v 1.8 2012-07-27 21:48:04 cg Exp $'
+!
+
 version_SVN
-    ^ '$Id: Tools__TextDiffTool.st 8087 2013-01-16 11:53:38Z vranyj1 $'
+    ^ 'Id'
 ! !
+
--- a/Tools__ToDoListBrowser.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__ToDoListBrowser.st	Wed Jan 30 11:15:09 2013 +0000
@@ -69,6 +69,7 @@
 "
 ! !
 
+
 !ToDoListBrowser class methodsFor:'class initialization'!
 
 current
@@ -95,6 +96,7 @@
     "Created: / 21-10-2006 / 20:39:03 / cg"
 ! !
 
+
 !ToDoListBrowser class methodsFor:'interface specs'!
 
 windowSpec
@@ -146,6 +148,7 @@
     "Modified: / 18-02-2007 / 12:55:32 / cg"
 ! !
 
+
 !ToDoListBrowser class methodsFor:'menu specs'!
 
 itemMenu
@@ -276,6 +279,7 @@
     "Modified: / 23-10-2006 / 23:22:45 / cg"
 ! !
 
+
 !ToDoListBrowser class methodsFor:'tableColumns specs'!
 
 tableColumns
@@ -343,6 +347,7 @@
     "Modified: / 25-10-2006 / 01:05:50 / cg"
 ! !
 
+
 !ToDoListBrowser methodsFor:'accessing'!
 
 aboutThisApplicationText
@@ -399,6 +404,7 @@
     ^ shownCopyOfToDoList at:idx
 ! !
 
+
 !ToDoListBrowser methodsFor:'change & update'!
 
 delayedUpdate:something with:aParameter from:changedObject
@@ -425,6 +431,7 @@
     "Created: / 18-02-2007 / 12:54:58 / cg"
 ! !
 
+
 !ToDoListBrowser methodsFor:'initialization & release'!
 
 closeDownViews
@@ -500,6 +507,7 @@
     "Modified: / 18-02-2007 / 12:57:07 / cg"
 ! !
 
+
 !ToDoListBrowser methodsFor:'menu actions'!
 
 clearList
@@ -520,6 +528,7 @@
     "/ HTMLDocumentView openFullOnDocumentationFile:'help/<MyApplication>/TOP.html'.
 ! !
 
+
 !ToDoListBrowser methodsFor:'menu actions-item'!
 
 browseItem
@@ -561,6 +570,7 @@
     self removeItems:entriesToRemove
 ! !
 
+
 !ToDoListBrowser methodsFor:'user actions'!
 
 itemDoubleClicked:itemIndex
@@ -637,8 +647,10 @@
     "Created: / 25-10-2006 / 00:54:59 / cg"
 ! !
 
+
 !ToDoListBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ToDoListBrowser.st,v 1.18 2012/11/03 16:16:49 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ToDoListBrowser.st,v 1.18 2012-11-03 16:16:49 cg Exp $'
 ! !
+
--- a/Tools__VariableList.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__VariableList.st	Wed Jan 30 11:15:09 2013 +0000
@@ -13,7 +13,7 @@
 
 "{ NameSpace: Tools }"
 
-BrowserList subclass:#VariableList
+Tools::BrowserList subclass:#VariableList
 	instanceVariableNames:'variableList classHolder showClassVars sortVariablesByName
 		selectedVariableEntries showWarningAboutMissingEntryInXmlSpec'
 	classVariableNames:''
@@ -50,6 +50,7 @@
 "
 ! !
 
+
 !VariableList class methodsFor:'interface specs'!
 
 windowSpec
@@ -101,6 +102,7 @@
       )
 ! !
 
+
 !VariableList class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -132,6 +134,7 @@
       ).
 ! !
 
+
 !VariableList methodsFor:'aspects'!
 
 classHolder
@@ -242,6 +245,7 @@
 
 ! !
 
+
 !VariableList methodsFor:'change & update'!
 
 delayedUpdate:something with:aParameter from:changedObject
@@ -416,6 +420,7 @@
     "Modified: / 20-07-2011 / 18:52:44 / cg"
 ! !
 
+
 !VariableList methodsFor:'generators'!
 
 makeGenerator
@@ -424,6 +429,7 @@
 
 ! !
 
+
 !VariableList methodsFor:'private'!
 
 commonPostBuild
@@ -703,6 +709,7 @@
     "Modified: / 23-03-2012 / 15:55:47 / cg"
 ! !
 
+
 !VariableList::VariableEntry class methodsFor:'instance creation'!
 
 application: app class: aClass name: aString
@@ -719,6 +726,7 @@
     "Created: / 12-04-2011 / 15:39:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !VariableList::VariableEntry methodsFor:'accessing'!
 
 application: anObject
@@ -801,6 +809,7 @@
     "Modified (format): / 16-12-2011 / 00:41:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !VariableList::VariableEntry methodsFor:'displaying'!
 
 displayOn:aGC x:x y:y opaque: opaque
@@ -815,6 +824,7 @@
     "Created: / 12-04-2011 / 15:47:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !VariableList::VariableEntry methodsFor:'queries'!
 
 widthOn:aGC
@@ -825,12 +835,14 @@
     "Created: / 16-12-2011 / 01:04:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !VariableList class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__VariableList.st,v 1.19 2012/10/20 19:41:20 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__VariableList.st,v 1.19 2012-10-20 19:41:20 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: Tools__VariableList.st 8083 2013-01-14 11:48:37Z vranyj1 $'
 ! !
+
--- a/Tools__VisualProfilerCanvas.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__VisualProfilerCanvas.st	Wed Jan 30 11:15:09 2013 +0000
@@ -27,7 +27,7 @@
 
 "{ NameSpace: Tools }"
 
-NavigatorModel subclass:#VisualProfilerCanvas
+Tools::NavigatorModel subclass:#VisualProfilerCanvas
 	instanceVariableNames:'profilerStatistics selectedMethods packageFilter
 		perspectiveSpecHolder callTreeHolder selectedCallTreeItemHolder
 		methodList'
@@ -73,6 +73,7 @@
 "
 ! !
 
+
 !VisualProfilerCanvas class methodsFor:'interface specs'!
 
 callTreeSpec
@@ -415,6 +416,7 @@
     "Modified: / 24-11-2007 / 09:07:56 / janfrog"
 ! !
 
+
 !VisualProfilerCanvas class methodsFor:'list specs'!
 
 perspectiveNotebookTabList
@@ -478,6 +480,7 @@
     "Modified: / 24-11-2007 / 08:45:36 / janfrog"
 ! !
 
+
 !VisualProfilerCanvas class methodsFor:'menu specs'!
 
 sidebarMenu
@@ -510,6 +513,7 @@
       )
 ! !
 
+
 !VisualProfilerCanvas class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -532,6 +536,7 @@
     "Modified: / 01-12-2007 / 23:57:41 / janfrog"
 ! !
 
+
 !VisualProfilerCanvas class methodsFor:'tableColumns specs'!
 
 methodListColumns
@@ -588,6 +593,7 @@
     "Modified: / 01-12-2007 / 23:56:15 / janfrog"
 ! !
 
+
 !VisualProfilerCanvas methodsFor:'aspects'!
 
 callTreeHolder
@@ -781,6 +787,7 @@
     "Created: / 24-11-2007 / 08:57:58 / janfrog"
 ! !
 
+
 !VisualProfilerCanvas methodsFor:'change & update'!
 
 methodsSelectionChanged
@@ -852,6 +859,7 @@
     "Modified: / 18-11-2011 / 15:02:49 / cg"
 ! !
 
+
 !VisualProfilerCanvas methodsFor:'hooks'!
 
 commonPostBuild
@@ -874,6 +882,7 @@
     "Created: / 09-10-2007 / 21:05:39 / janfrog"
 ! !
 
+
 !VisualProfilerCanvas methodsFor:'user actions'!
 
 switchToMethod: aMethod
@@ -884,6 +893,7 @@
     "Created: / 09-10-2007 / 21:36:35 / janfrog"
 ! !
 
+
 !VisualProfilerCanvas methodsFor:'user actions-profiler'!
 
 profilerTestAction
@@ -905,12 +915,14 @@
     "Modified: / 04-08-2011 / 19:06:07 / cg"
 ! !
 
+
 !VisualProfilerCanvas::CallTreeItem class methodsFor:'documentation'!
 
 version
-    ^'$Header: /cvs/stx/stx/libtool/Tools__VisualProfilerCanvas.st,v 1.7 2012/11/04 21:42:49 cg Exp $'
+    ^'$Header: /cvs/stx/stx/libtool/Tools__VisualProfilerCanvas.st,v 1.7 2012-11-04 21:42:49 cg Exp $'
 ! !
 
+
 !VisualProfilerCanvas::CallTreeItem class methodsFor:'instance creation'!
 
 subject: subject parent: parent
@@ -923,6 +935,7 @@
     "Created: / 10-10-2007 / 08:35:55 / janfrog"
 ! !
 
+
 !VisualProfilerCanvas::CallTreeItem methodsFor:'accessing'!
 
 children
@@ -1047,6 +1060,7 @@
     "Created: / 24-11-2007 / 09:43:01 / janfrog"
 ! !
 
+
 !VisualProfilerCanvas::CallTreeItem methodsFor:'change & update'!
 
 updateChildren
@@ -1057,6 +1071,7 @@
     "Created: / 10-10-2007 / 13:02:13 / janfrog"
 ! !
 
+
 !VisualProfilerCanvas::CallTreeItem methodsFor:'comparing'!
 
 shouldBeMergedWith:anotherCallTreeItem 
@@ -1069,6 +1084,7 @@
     "Created: / 24-11-2007 / 09:50:34 / janfrog"
 ! !
 
+
 !VisualProfilerCanvas::CallTreeItem methodsFor:'private'!
 
 mergeChildren: rawChildren
@@ -1088,6 +1104,7 @@
     "Created: / 24-11-2007 / 09:20:07 / janfrog"
 ! !
 
+
 !VisualProfilerCanvas::CallTreeItem methodsFor:'testing'!
 
 isFiltered
@@ -1101,16 +1118,18 @@
     "Created: / 10-10-2007 / 13:09:46 / janfrog"
 ! !
 
+
 !VisualProfilerCanvas class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__VisualProfilerCanvas.st,v 1.7 2012/11/04 21:42:49 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__VisualProfilerCanvas.st,v 1.7 2012-11-04 21:42:49 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__VisualProfilerCanvas.st,v 1.7 2012/11/04 21:42:49 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__VisualProfilerCanvas.st,v 1.7 2012-11-04 21:42:49 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__VisualProfilerCanvas.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id: Tools__VisualProfilerCanvas.st 7486 2009-10-26 22:06:24Z vranyj1 '
 ! !
+
--- a/Tools__WebBrowserPage.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Tools__WebBrowserPage.st	Wed Jan 30 11:15:09 2013 +0000
@@ -65,6 +65,7 @@
 "
 ! !
 
+
 !WebBrowserPage class methodsFor:'image specs'!
 
 hideToolBarIcon
@@ -76,6 +77,7 @@
     "Created: / 08-06-2011 / 12:09:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !WebBrowserPage class methodsFor:'interface specs'!
 
 contentSpec
@@ -287,6 +289,7 @@
       )
 ! !
 
+
 !WebBrowserPage class methodsFor:'menu specs'!
 
 toolBarMenu
@@ -332,6 +335,7 @@
     "Modified: / 08-11-2011 / 16:42:44 / cg"
 ! !
 
+
 !WebBrowserPage class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -351,6 +355,7 @@
 
 ! !
 
+
 !WebBrowserPage methodsFor:'actions'!
 
 hideBookmarkBar
@@ -379,6 +384,7 @@
     "Created: / 16-06-2011 / 16:10:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !WebBrowserPage methodsFor:'aspects'!
 
 bookmarkBarVisibleHolder
@@ -571,6 +577,7 @@
     "Modified: / 30-05-2012 / 18:28:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !WebBrowserPage methodsFor:'aspects-queries'!
 
 canGoBackAspect
@@ -596,6 +603,7 @@
     "Modified: / 08-06-2011 / 12:36:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !WebBrowserPage methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -696,6 +704,7 @@
     "Modified: / 18-11-2011 / 15:04:22 / cg"
 ! !
 
+
 !WebBrowserPage methodsFor:'hooks'!
 
 commonPostOpen
@@ -705,6 +714,7 @@
     "Created: / 11-06-2011 / 00:00:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !WebBrowserPage methodsFor:'initialization'!
 
 initialize
@@ -715,6 +725,7 @@
     "Created: / 08-06-2011 / 12:23:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !WebBrowserPage methodsFor:'menu-actions'!
 
 goBack
@@ -742,6 +753,7 @@
     "Created: / 08-06-2011 / 15:01:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !WebBrowserPage methodsFor:'menu-dynamic'!
 
 goBackMenu
@@ -784,16 +796,18 @@
     "Modified (format): / 09-09-2012 / 13:24:59 / cg"
 ! !
 
+
 !WebBrowserPage class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__WebBrowserPage.st,v 1.8 2012/09/09 19:02:51 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__WebBrowserPage.st,v 1.8 2012-09-09 19:02:51 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Tools__WebBrowserPage.st,v 1.8 2012/09/09 19:02:51 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__WebBrowserPage.st,v 1.8 2012-09-09 19:02:51 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__WebBrowserPage.st 8054 2012-09-13 09:15:20Z vranyj1 $'
+    ^ 'Id'
 ! !
+
--- a/VersionDiffBrowser.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/VersionDiffBrowser.st	Wed Jan 30 11:15:09 2013 +0000
@@ -69,6 +69,7 @@
 
 ! !
 
+
 !VersionDiffBrowser class methodsFor:'interface specs'!
 
 windowSpec
@@ -282,6 +283,7 @@
       )
 ! !
 
+
 !VersionDiffBrowser class methodsFor:'menu specs'!
 
 mainMenu
@@ -552,6 +554,7 @@
     "Modified: / 31-08-2007 / 14:16:39 / cg"
 ! !
 
+
 !VersionDiffBrowser class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -573,6 +576,7 @@
 
 ! !
 
+
 !VersionDiffBrowser class methodsFor:'startup'!
 
 openOnClass:aClass againstVersion:aVersionA
@@ -795,6 +799,7 @@
     "
 ! !
 
+
 !VersionDiffBrowser methodsFor:'accessing'!
 
 canIncludeExtensions:something
@@ -953,6 +958,7 @@
     ^ classChangeSet labelB
 ! !
 
+
 !VersionDiffBrowser methodsFor:'actions'!
 
 acceptInLeftView
@@ -1119,6 +1125,7 @@
     "Modified: / 15-08-2010 / 21:35:00 / cg"
 ! !
 
+
 !VersionDiffBrowser methodsFor:'aspects'!
 
 boxAVisible
@@ -1394,6 +1401,7 @@
     "Modified: / 25-07-2006 / 11:15:07 / cg"
 ! !
 
+
 !VersionDiffBrowser methodsFor:'aspects-exported'!
 
 changedLabelHolder:aValueHolder
@@ -1439,6 +1447,7 @@
     ]
 ! !
 
+
 !VersionDiffBrowser methodsFor:'aspects-menu'!
 
 canAcceptInCodeView
@@ -1459,6 +1468,7 @@
     ^ self methodsChangedSelection value notNil
 ! !
 
+
 !VersionDiffBrowser methodsFor:'change & update'!
 
 update:something with:parameter from:changedObject
@@ -1480,6 +1490,7 @@
     "Modified: / 17-07-2012 / 17:48:58 / cg"
 ! !
 
+
 !VersionDiffBrowser methodsFor:'initialization & release'!
 
 postBuildWith:aBuilder
@@ -1494,6 +1505,7 @@
     super postBuildWith:aBuilder
 ! !
 
+
 !VersionDiffBrowser methodsFor:'menu action'!
 
 browseChange:aChange
@@ -1689,6 +1701,7 @@
     ].
 ! !
 
+
 !VersionDiffBrowser methodsFor:'private'!
 
 addAcceptToTextViewMenus
@@ -2003,6 +2016,7 @@
     "Modified: / 17-07-2012 / 18:34:36 / cg"
 ! !
 
+
 !VersionDiffBrowser methodsFor:'setup'!
 
 setupForClass:aClass againstVersion:aVersionA
@@ -2080,6 +2094,7 @@
     self classChangeSet:changeSet
 ! !
 
+
 !VersionDiffBrowser::ClassChangeSet class methodsFor:'instance creation'!
 
 changeSetForClass:aClass
@@ -2296,6 +2311,7 @@
 	].
 ! !
 
+
 !VersionDiffBrowser::ClassChangeSet methodsFor:'accessing'!
 
 classBeingCompared
@@ -2398,12 +2414,14 @@
     versionB := something.
 ! !
 
+
 !VersionDiffBrowser::ClassChangeSet methodsFor:'misc'!
 
 removeAllVersionMethods
     diffSet removeAllVersionMethods.
 ! !
 
+
 !VersionDiffBrowser::ClassChangeSet methodsFor:'setup'!
 
 setupForClass:aClass againstVersion:aVersionA
@@ -2443,16 +2461,18 @@
     ^ diffSet
 ! !
 
+
 !VersionDiffBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.111 2012/10/30 16:04:26 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.111 2012-10-30 16:04:26 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.111 2012/10/30 16:04:26 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.111 2012-10-30 16:04:26 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: VersionDiffBrowser.st 8074 2012-11-30 17:23:39Z vranyj1 $'
 ! !
+
--- a/ViewWithAcceptAndCancelBar.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/ViewWithAcceptAndCancelBar.st	Wed Jan 30 11:15:09 2013 +0000
@@ -58,6 +58,7 @@
 "
 ! !
 
+
 !ViewWithAcceptAndCancelBar methodsFor:'accessing'!
 
 acceptAction:something
@@ -107,6 +108,7 @@
     ^ slaveView scrolledView
 ! !
 
+
 !ViewWithAcceptAndCancelBar methodsFor:'action'!
 
 accept
@@ -125,6 +127,7 @@
     ]
 ! !
 
+
 !ViewWithAcceptAndCancelBar methodsFor:'change & update'!
 
 hideBar
@@ -174,6 +177,7 @@
     "Modified (format): / 29-11-2011 / 14:05:04 / cg"
 ! !
 
+
 !ViewWithAcceptAndCancelBar methodsFor:'initialization'!
 
 initialize
@@ -210,6 +214,7 @@
     "
 ! !
 
+
 !ViewWithAcceptAndCancelBar::AcceptAndCancelBar methodsFor:'accessing'!
 
 acceptButton
@@ -224,6 +229,7 @@
     ^ compareButton
 ! !
 
+
 !ViewWithAcceptAndCancelBar::AcceptAndCancelBar methodsFor:'help'!
 
 flyByHelpTextAt:srcPoint
@@ -243,6 +249,7 @@
     "Modified: / 26-09-2012 / 14:26:14 / cg"
 ! !
 
+
 !ViewWithAcceptAndCancelBar::AcceptAndCancelBar methodsFor:'initialization'!
 
 initialize
@@ -274,6 +281,7 @@
     "Modified: / 26-09-2012 / 14:44:18 / cg"
 ! !
 
+
 !ViewWithAcceptAndCancelBar::AcceptAndCancelBar::ButtonWithHelpText methodsFor:'accessing'!
 
 flyByHelpText
@@ -284,16 +292,18 @@
     helpText := something.
 ! !
 
+
 !ViewWithAcceptAndCancelBar class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ViewWithAcceptAndCancelBar.st,v 1.11 2012/09/26 12:44:28 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ViewWithAcceptAndCancelBar.st,v 1.11 2012-09-26 12:44:28 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/ViewWithAcceptAndCancelBar.st,v 1.11 2012/09/26 12:44:28 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/ViewWithAcceptAndCancelBar.st,v 1.11 2012-09-26 12:44:28 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: ViewWithAcceptAndCancelBar.st 8059 2012-09-27 20:08:20Z vranyj1 $'
 ! !
+
--- a/Win32FileDialog.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/Win32FileDialog.st	Wed Jan 30 11:15:09 2013 +0000
@@ -49,6 +49,7 @@
 "
 ! !
 
+
 !Win32FileDialog class methodsFor:'initialization'!
 
 initialize
@@ -64,12 +65,14 @@
     InitialDirectory := Directory pathName: Disk drivePathName.
 ! !
 
+
 !Win32FileDialog class methodsFor:'instance creation'!
 
 new
     ^ self basicNew initialize
 ! !
 
+
 !Win32FileDialog class methodsFor:'accessing'!
 
 getInitialDirectory
@@ -84,6 +87,7 @@
     "Modified: / 26-10-2010 / 18:47:48 / cg"
 ! !
 
+
 !Win32FileDialog class methodsFor:'constants'!
 
 commonDialogConstantAt:aString 
@@ -200,6 +204,7 @@
     "Modified: / 26-10-2010 / 18:47:57 / cg"
 ! !
 
+
 !Win32FileDialog class methodsFor:'examples'!
 
 openFile
@@ -218,6 +223,7 @@
     "
 ! !
 
+
 !Win32FileDialog class methodsFor:'filters'!
 
 filterPatternDescription:filterPattern 
@@ -277,6 +283,7 @@
     "Modified: / 26-10-2010 / 18:48:28 / cg"
 ! !
 
+
 !Win32FileDialog class methodsFor:'opening'!
 
 fileDialogFor:ownerWindow save:isSaveDialog 
@@ -308,6 +315,7 @@
     ^ filePath
 ! !
 
+
 !Win32FileDialog methodsFor:'accessing'!
 
 addAllFilesFilter
@@ -572,6 +580,7 @@
     "Modified: / 26-10-2010 / 18:47:41 / cg"
 ! !
 
+
 !Win32FileDialog methodsFor:'dapas'!
 
 dapasOpenFile
@@ -632,6 +641,7 @@
     "Modified: / 26-10-2010 / 18:47:14 / cg"
 ! !
 
+
 !Win32FileDialog methodsFor:'initialization & release'!
 
 cleanUp
@@ -672,6 +682,7 @@
     "Modified: / 27-10-2010 / 10:56:21 / cg"
 ! !
 
+
 !Win32FileDialog methodsFor:'opening'!
 
 asynchronousOpen
@@ -868,6 +879,7 @@
     "Modified: / 23-01-2011 / 10:59:20 / cg"
 ! !
 
+
 !Win32FileDialog methodsFor:'private'!
 
 fillStruct
@@ -913,6 +925,7 @@
     "Modified: / 26-10-2010 / 18:46:45 / cg"
 ! !
 
+
 !Win32FileDialog::OpenFilenameStructure class methodsFor:'accessing'!
 
 sizeInBytes
@@ -920,6 +933,7 @@
     ^ 76
 ! !
 
+
 !Win32FileDialog::OpenFilenameStructure class methodsFor:'instance creation'!
 
 new
@@ -927,6 +941,7 @@
     ^ super new: self sizeInBytes
 ! !
 
+
 !Win32FileDialog::OpenFilenameStructure methodsFor:'accessing'!
 
 flags
@@ -1174,6 +1189,7 @@
     ^ self class sizeInBytes
 ! !
 
+
 !Win32FileDialog::OpenFilenameStructure methodsFor:'printing'!
 
 printOn: aStream
@@ -1201,18 +1217,20 @@
     aStream nextPutAll:'nMaxFileTitle: ', self nMaxFileTitle printString; cr.    
 ! !
 
+
 !Win32FileDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Win32FileDialog.st,v 1.13 2012/10/29 11:41:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Win32FileDialog.st,v 1.13 2012-10-29 11:41:53 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/Win32FileDialog.st,v 1.13 2012/10/29 11:41:53 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/Win32FileDialog.st,v 1.13 2012-10-29 11:41:53 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: Win32FileDialog.st 8074 2012-11-30 17:23:39Z vranyj1 $'
 ! !
 
+
 Win32FileDialog initialize!
--- a/WorkspaceApplication.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/WorkspaceApplication.st	Wed Jan 30 11:15:09 2013 +0000
@@ -48,6 +48,7 @@
 "
 ! !
 
+
 !WorkspaceApplication class methodsFor:'defaults'!
 
 defaultEditToolbarVisible
@@ -100,6 +101,7 @@
     ^ '/workspace'
 ! !
 
+
 !WorkspaceApplication class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -144,6 +146,7 @@
     "Modified: / 08-07-2011 / 08:29:51 / cg"
 ! !
 
+
 !WorkspaceApplication class methodsFor:'interface specs'!
 
 manageSnipletsDialogSpec
@@ -422,6 +425,7 @@
 	      visibilityChannel: infoVisibleHolder
 	      majorKey: WorkspaceApplication
 	      minorKey: windowSpecForInfoBar
+              keepSpaceForOSXResizeHandleH: true
 	    )
 	   )
 
@@ -518,6 +522,7 @@
       )
 ! !
 
+
 !WorkspaceApplication class methodsFor:'menu specs'!
 
 bufferAddMenuSlice
@@ -561,7 +566,7 @@
 	    translateLabel: true
 	  )
 	 (MenuItem
-	    label: 'Stopwatch'
+            label: 'Stopwatch'
 	    itemValue: addStopWatch
 	    translateLabel: true
 	  )
@@ -724,19 +729,19 @@
 	    label: '-'
 	  )
 	 (MenuItem
-	    enabled: hasSelectionInActiveWorkspace
+            enabled: hasSelectionInActiveWorkspace
 	    label: 'Copy as Sniplet...'
 	    itemValue: addSelectionToSniplets
 	    translateLabel: true
 	  )
 	 (MenuItem
-	    enabled: selectedWorkspaceIsTextView
+            enabled: selectedWorkspaceIsTextView
 	    label: 'Paste Sniplet...'
 	    itemValue: pasteSniplet
 	    translateLabel: true
 	  )
 	 (MenuItem
-	    enabled: selectedWorkspaceIsTextView
+            enabled: selectedWorkspaceIsTextView
 	    label: 'Manage Sniplets...'
 	    itemValue: manageSniplets
 	    translateLabel: true
@@ -754,20 +759,25 @@
 	    isVisible: thisIsASmalltalkWorkspace
 	  )
 	 (MenuItem
-	    enabled: selectedWorkspaceIsTextView
+            enabled: selectedWorkspaceIsTextView
 	    label: 'Filter Text...'
 	    itemValue: filterText
 	    translateLabel: true
 	    isVisible: thisIsASmalltalkWorkspace
 	  )
 	 (MenuItem
-	    enabled: selectedWorkspaceIsTextView
+            enabled: selectedWorkspaceIsTextView
 	    label: 'Process Text...'
 	    itemValue: processText
 	    translateLabel: true
 	    isVisible: thisIsASmalltalkWorkspace
 	  )
 	 (MenuItem
+            label: 'Compare Text Against...'
+            itemValue: compareTextAgainst
+            translateLabel: true
+          )
+         (MenuItem
 	    label: '-'
 	  )
 	 (MenuItem
@@ -780,11 +790,14 @@
 		  label: 'Autofetch Selection'
 		  itemValue: autoFetchSelection:
 		  translateLabel: true
+                  hideMenuOnActivated: false
 		  indication: autoFetchSelection
 		)
 	       (MenuItem
-		  label: 'Autofetch Selection (Lines)'
+                  enabled: autoFetchSelection
+                  label: 'Insert as Line (Append CR)'
 		  translateLabel: true
+                  hideMenuOnActivated: false
 		  indication: autoFetchSelectionLines
 		)
 	       (MenuItem
@@ -799,7 +812,7 @@
 		  isVisible: thisIsASmalltalkWorkspace
 		)
 	       (MenuItem
-		  enabled: hasSelectionInActiveWorkspace
+                  enabled: hasSelectionInActiveWorkspace
 		  label: 'Translate (babelFish)'
 		  translateLabel: true
 		  isVisible: thisIsASmalltalkWorkspace
@@ -886,6 +899,8 @@
 	nil
 	nil
       )
+
+    "Modified: / 20-07-2012 / 10:30:57 / cg"
 !
 
 editModeInfoLabelMenu
@@ -1648,6 +1663,7 @@
     "Modified: / 12-09-2012 / 12:18:40 / cg"
 ! !
 
+
 !WorkspaceApplication class methodsFor:'private'!
 
 createWorkspaceView
@@ -1661,6 +1677,7 @@
     "Modified (format): / 21-08-2012 / 17:18:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !WorkspaceApplication class methodsFor:'special startup'!
 
 openEvaluationWorkspace
@@ -1968,6 +1985,7 @@
     "
 ! !
 
+
 !WorkspaceApplication class methodsFor:'startup'!
 
 open
@@ -1989,6 +2007,7 @@
     "Modified (comment): / 05-07-2011 / 15:23:53 / cg"
 ! !
 
+
 !WorkspaceApplication methodsFor:'aspects'!
 
 autoDefineVariables
@@ -2169,6 +2188,7 @@
     "Modified: / 11-06-2011 / 00:06:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !WorkspaceApplication methodsFor:'aspects-queries'!
 
 anyWorkspaceVariableIsDefined
@@ -2221,6 +2241,7 @@
     ^ self selectedWorkspacesTextView notNil
 ! !
 
+
 !WorkspaceApplication methodsFor:'autofetch selection'!
 
 autoFetchSelection
@@ -2318,6 +2339,7 @@
     "Created: / 16-11-2010 / 14:44:05 / cg"
 ! !
 
+
 !WorkspaceApplication methodsFor:'defaults'!
 
 defaultEvaluatorSyntax
@@ -2369,6 +2391,7 @@
     ^ true
 ! !
 
+
 !WorkspaceApplication methodsFor:'drag & drop'!
 
 droppedFile:aFilename in:aComponent
@@ -2379,6 +2402,7 @@
 	to:aFilename asFilename baseName
 ! !
 
+
 !WorkspaceApplication methodsFor:'help'!
 
 flyByHelpSpec
@@ -2412,6 +2436,7 @@
     "Created: / 06-07-2011 / 16:32:13 / cg"
 ! !
 
+
 !WorkspaceApplication methodsFor:'initialization & release'!
 
 closeRequest
@@ -2467,6 +2492,7 @@
     "Created: / 22-01-2011 / 12:10:01 / cg"
 ! !
 
+
 !WorkspaceApplication methodsFor:'menu-actions'!
 
 askForFilterBlock:message template:template rememberIn:nameOfClassVar
@@ -3038,6 +3064,7 @@
     self selectedWorkspacesTextView timeIt
 ! !
 
+
 !WorkspaceApplication methodsFor:'menu-actions-adding'!
 
 addBookmark
@@ -3473,6 +3500,7 @@
     "Created: / 21-06-2011 / 08:56:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !WorkspaceApplication methodsFor:'menu-actions-editing'!
 
 babelFishTranslate:fromToModeString
@@ -3649,6 +3677,7 @@
     self selectedWorkspacesTextView undentBy4.
 ! !
 
+
 !WorkspaceApplication methodsFor:'menu-dynamic'!
 
 bookmarkMenu
@@ -3779,6 +3808,7 @@
     ^ self recentDoItsMenuFor:#'pasteAndExecute:'
 ! !
 
+
 !WorkspaceApplication methodsFor:'private'!
 
 askIfAnyModified:question yesButton:yesButtonText
@@ -3996,45 +4026,46 @@
     selectedWorkspaceApp  := self selectedWorkspaceApplication.
 
     (selectedWorkspace notNil and:[selectedWorkspace isScrollWrapper]) ifTrue:[
-	selectedWorkspace := selectedWorkspace scrolledView
+        selectedWorkspace := selectedWorkspace scrolledView
     ].
 
     compilerClass := selectedWorkspaceApp ? selectedWorkspace
-			    perform: #compilerClass
-			    ifNotUnderstood: [Compiler].
+                            perform: #compilerClass
+                            ifNotUnderstood: [Compiler].
     self canChangeLanguageHolder value:
-	(selectedWorkspaceApp ? selectedWorkspace respondsTo: #compilerClass:).
+        (selectedWorkspaceApp ? selectedWorkspace respondsTo: #compilerClass:).
 
 
     self syntaxHolder value:(self syntaxFromEvaluatorClass:compilerClass).
 
     (selectedWorkspace notNil and:[ selectedWorkspace scrolledView isTextView or:[selectedWorkspaceApp notNil] ]) ifTrue:[
-	self cursorLineHolder valueHolder:( selectedWorkspaceApp ? selectedWorkspace perform:#cursorLineHolder ifNotUnderstood:nil ).
-	self cursorColHolder valueHolder:( selectedWorkspaceApp ? selectedWorkspace perform:#cursorColHolder ifNotUnderstood:nil ).
-	self modeLabelHolder valueHolder:( selectedWorkspaceApp ? selectedWorkspace perform:#modeLabelHolder ifNotUnderstood:nil ).
+        self cursorLineHolder valueHolder:( selectedWorkspaceApp ? selectedWorkspace perform:#cursorLineHolder ifNotUnderstood:nil ).
+        self cursorColHolder valueHolder:( selectedWorkspaceApp ? selectedWorkspace perform:#cursorColHolder ifNotUnderstood:nil ).
+        self modeLabelHolder valueHolder:( selectedWorkspaceApp ? selectedWorkspace perform:#modeLabelHolder ifNotUnderstood:nil ).
     ] ifFalse:[
-	self cursorLineHolder valueHolder:nil.
-	self cursorColHolder valueHolder:nil.
-	self modeLabelHolder valueHolder:nil.
+        self cursorLineHolder valueHolder:nil.
+        self cursorColHolder valueHolder:nil.
+        self modeLabelHolder valueHolder:nil.
     ].
 
     "Update toolbar"
     selectedWorkspaceApp notNil ifTrue:[
-	(selectedWorkspaceApp class respondsTo: #toolBarSpec) ifTrue:[
-	    self toolBarView
-		client: selectedWorkspaceApp spec: #toolBarSpec
-	] ifFalse:[
-	    self toolBarView
-		client: self spec: #toolBarSpec builder: builder.
-	]
+        (selectedWorkspaceApp class respondsTo: #toolBarSpec) ifTrue:[
+            self toolBarView
+                client: selectedWorkspaceApp spec: #toolBarSpec
+        ] ifFalse:[
+            self toolBarView
+                client: self spec: #toolBarSpec builder: builder.
+        ]
     ] ifFalse:[
-	self toolBarView
-	    client: self spec: #toolBarSpec builder: builder.
+        self toolBarView
+            client: self spec: #toolBarSpec builder: builder.
     ]
 
 
 ! !
 
+
 !WorkspaceApplication methodsFor:'user actions'!
 
 infoVisibilityChanged
@@ -4059,16 +4090,18 @@
     "Created: / 14-07-2007 / 16:45:31 / cg"
 ! !
 
+
 !WorkspaceApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.235 2012/11/05 10:42:39 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.236 2013-01-27 01:50:59 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.235 2012/11/05 10:42:39 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.236 2013-01-27 01:50:59 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: WorkspaceApplication.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id: WorkspaceApplication.st 7812 2011-08-17 08:55:59Z vranyj1 '
 ! !
+
--- a/XTermView.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/XTermView.st	Wed Jan 30 11:15:09 2013 +0000
@@ -34,6 +34,7 @@
 "
 ! !
 
+
 !XTermView class methodsFor:'class initialization'!
 
 initialize
@@ -53,6 +54,7 @@
     "Created: / 09-12-2010 / 23:15:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !XTermView class methodsFor:'defaults'!
 
 defaultFont
@@ -71,6 +73,7 @@
     "Created: / 25-11-2010 / 12:21:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !XTermView class methodsFor:'queries'!
 
 isAvailable
@@ -80,6 +83,7 @@
     "Created: / 09-12-2010 / 23:21:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !XTermView methodsFor:'accessing'!
 
 workingDirectory: aStringOrFilename
@@ -90,6 +94,7 @@
     "Created: / 25-11-2010 / 12:32:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !XTermView methodsFor:'event handling'!
 
 clientUnplugged: clientInitiated
@@ -119,6 +124,7 @@
     "Created: / 06-06-2011 / 10:04:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !XTermView methodsFor:'initialization & release'!
 
 destroy
@@ -144,6 +150,7 @@
     "Created: / 25-11-2010 / 12:34:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !XTermView methodsFor:'menu'!
 
 doClear
@@ -191,6 +198,7 @@
     "Modified: / 03-04-2012 / 10:34:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !XTermView methodsFor:'mimicry'!
 
 defaultFileNameForFileDialog
@@ -258,6 +266,7 @@
     "Created: / 25-11-2010 / 12:38:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !XTermView methodsFor:'private'!
 
 xcolorNameFor: aColor
@@ -300,6 +309,7 @@
     "Modified: / 09-12-2010 / 23:16:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !XTermView methodsFor:'queries'!
 
 preferredExtent
@@ -324,6 +334,7 @@
     "Created: / 25-11-2010 / 12:51:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !XTermView methodsFor:'realization'!
 
 postRealize
@@ -349,6 +360,7 @@
     "Modified: / 02-06-2011 / 23:27:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !XTermView methodsFor:'testing'!
 
 isTextView
@@ -358,14 +370,16 @@
     "Created: / 13-09-2011 / 11:22:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !XTermView class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/XTermView.st,v 1.3 2012/10/01 10:46:37 stefan Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/XTermView.st,v 1.3 2012-10-01 10:46:37 stefan Exp $'
 !
 
 version_SVN
-    ^ '$Id: XTermView.st 8074 2012-11-30 17:23:39Z vranyj1 $'
+    ^ 'Id: XTermView.st 7802 2011-07-05 18:33:36Z vranyj1 '
 ! !
 
+
 XTermView initialize!
--- a/extensions.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/extensions.st	Wed Jan 30 11:15:09 2013 +0000
@@ -9,7 +9,6 @@
     "Created: / 25-07-2010 / 08:57:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified (format): / 04-10-2011 / 19:47:20 / cg"
 ! !
-
 !AbstractSyntaxHighlighter class methodsFor:'api highlighting'!
 
 formatMethod:aString in:aClass using:preferencesOrNil elementsInto: elements
@@ -18,7 +17,6 @@
 
     "Created: / 25-07-2010 / 08:58:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !ArrayedCollection methodsFor:'inspecting'!
 
 inspector2TabForHexDump
@@ -86,7 +84,6 @@
 
     "Created: / 13-02-2012 / 15:08:42 / cg"
 ! !
-
 !Behavior methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -112,7 +109,6 @@
     ].
     ^ super inspectorValueStringInListFor:anInspector
 ! !
-
 !Block methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -134,7 +130,6 @@
 
     "Created: / 15-11-2011 / 14:24:10 / cg"
 ! !
-
 !Breakpoint methodsFor:'accessing'!
 
 icon
@@ -143,7 +138,6 @@
 
     "Created: / 11-07-2011 / 18:21:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !BreakpointDescription methodsFor:'accessing'!
 
 icon
@@ -167,7 +161,6 @@
     "Created: / 28-06-2011 / 08:29:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 27-01-2012 / 13:46:23 / cg"
 ! !
-
 !ByteArray methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -196,13 +189,11 @@
     "Created: / 18-09-2006 / 21:29:59 / cg"
     "Modified: / 06-10-2006 / 13:57:20 / cg"
 ! !
-
 !Change methodsFor:'private'!
 
 flattenOnto: aCollection 
 	aCollection add: self
 ! !
-
 !Change methodsFor:'private'!
 
 flattenedChanges
@@ -211,7 +202,6 @@
 	self flattenOnto: changes.
 	^changes
 ! !
-
 !Change methodsFor:'accessing'!
 
 removed
@@ -220,7 +210,6 @@
 
     "Created: / 24-10-2009 / 21:10:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !Change methodsFor:'accessing'!
 
 removed: aBoolean
@@ -229,7 +218,6 @@
 
     "Created: / 24-10-2009 / 21:11:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !ChangeSet methodsFor:'utilities'!
 
 condenseChangesForRemoved
@@ -251,48 +239,18 @@
     "Created: / 05-11-2001 / 14:21:17 / cg"
     "Modified: / 12-10-2006 / 16:51:27 / cg"
 ! !
-
 !ChangeSet methodsFor:'private'!
 
-flattenOnto: aCollection 
-
-    self do:[:change|change flattenOnto: aCollection]
 ! !
-
 !ChangeSet methodsFor:'private'!
 
-flattenedChanges
-	| changes |
-	changes := OrderedCollection new.
-	self flattenOnto: changes.
-	^changes
 ! !
-
 !ChangeSet methodsFor:'inspecting'!
 
-inspector2TabBrowser
-
-    ^self newInspector2Tab
-        label: 'Changes';    
-        priority: 35;
-        "JV@2011-08-06: Cannot do 'UserPreferences current changeSetBrowserClass'
-         here since ChangeSetBrowser has no #on: and it is not an application model.
-         Thus, enforce Tools::ChangeSetBrowser2 here..."
-        application: ((Tools::ChangeSetBrowser2 on: self) beOneColumn; yourself)
-
-    "Modified: / 25-07-2011 / 12:22:07 / sr"
-    "Modified: / 06-08-2011 / 21:22:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 13-09-2011 / 11:55:53 / cg"
 ! !
-
 !ChangeSet methodsFor:'inspecting'!
 
-inspector2Tabs
-    ^ #( inspector2TabCommon inspector2TabBrowser )
-
-    "Created: / 05-07-2011 / 13:40:19 / cg"
 ! !
-
 !Character methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -312,7 +270,6 @@
 
     "Created: / 22-10-2006 / 03:52:20 / cg"
 ! !
-
 !Character methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -323,7 +280,6 @@
     ].
     ^ self storeString,(' "%1"' bindWith:asciivalue)
 ! !
-
 !CharacterArray methodsFor:'inspecting'!
 
 inspector2TabBytes
@@ -338,7 +294,6 @@
     "Created: / 20-07-2011 / 16:36:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 21-08-2011 / 07:32:57 / cg"
 ! !
-
 !CharacterArray methodsFor:'inspecting'!
 
 inspector2TabHTML
@@ -351,7 +306,6 @@
     "Created: / 17-02-2008 / 10:10:50 / janfrog"
     "Created: / 07-11-2011 / 12:35:15 / cg"
 ! !
-
 !CharacterArray methodsFor:'inspecting'!
 
 inspector2TabText
@@ -364,7 +318,6 @@
     "Created: / 17-02-2008 / 10:10:50 / janfrog"
     "Modified: / 21-08-2011 / 08:02:57 / cg"
 ! !
-
 !CharacterArray methodsFor:'inspecting'!
 
 inspector2Tabs
@@ -377,7 +330,6 @@
 
     "Created: / 05-07-2011 / 13:40:27 / cg"
 ! !
-
 !CharacterArray methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -402,15 +354,13 @@
 
     "Created: / 22-10-2006 / 03:52:20 / cg"
 ! !
-
 !CharacterArray methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
     "returns a string to be shown in the inspector's list"
 
-    ^ self storeString contractTo:30.
+    ^ self basicStoreString contractTo:30.
 ! !
-
 !Collection methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -423,7 +373,6 @@
     ].
     ^ (super inspectorValueStringInListFor:anInspector),' size=',sz printString
 ! !
-
 !Color methodsFor:'inspecting'!
 
 inspectorClass
@@ -434,7 +383,6 @@
 
     "Modified: 23.4.1996 / 13:39:50 / cg"
 ! !
-
 !Color methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -450,7 +398,6 @@
      Color red inspect
     "
 ! !
-
 !Color methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -458,35 +405,30 @@
 
     ^ self htmlPrintString
 ! !
-
 !CompositeChange methodsFor:'utilities'!
 
 condenseChangesForRemoved
 
     self changes condenseChangesForRemoved
 ! !
-
 !CompositeChange methodsFor:'private'!
 
 flattenOnto: aCollection
 
     changes do:[:change|change flattenOnto: aCollection]
 ! !
-
 !CompositeChange methodsFor:'accessing'!
 
 removed
 
     ^changes allSatisfy: [:e|e removed]
 ! !
-
 !CompositeChange methodsFor:'accessing'!
 
 removed: aBoolean
 
     changes do:[:e|e removed: aBoolean]
 ! !
-
 !Date methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -507,7 +449,6 @@
 
     "Created: / 20-01-2011 / 12:19:05 / cg"
 ! !
-
 !Dictionary methodsFor:'inspecting'!
 
 inspector2TabLabel
@@ -515,7 +456,6 @@
 
     "Created: / 14-07-2011 / 11:57:18 / cg"
 ! !
-
 !Dictionary methodsFor:'inspecting'!
 
 inspectorClass
@@ -524,7 +464,6 @@
 
     ^ DictionaryInspectorView
 ! !
-
 !EditTextView methodsFor:'accessing-dimensions'!
 
 absoluteXOfPosition:positionInText 
@@ -542,7 +481,6 @@
 
     "Created: / 16-02-2010 / 10:05:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !EditTextView methodsFor:'accessing-dimensions'!
 
 absoluteYOfCursor
@@ -561,7 +499,6 @@
     "Created: / 27-05-2005 / 07:45:53 / janfrog"
     "Modified: / 27-05-2005 / 23:03:40 / janfrog"
 ! !
-
 !EditTextView methodsFor:'accessing-dimensions'!
 
 xOfPosition: positionInText
@@ -575,7 +512,6 @@
 
     "Created: / 16-02-2010 / 10:04:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !EditTextView methodsFor:'accessing-dimensions'!
 
 yOfCursor
@@ -584,7 +520,6 @@
 
     "Created: / 27-05-2005 / 07:43:41 / janfrog"
 ! !
-
 !EditTextView methodsFor:'accessing-dimensions'!
 
 yOfPosition: positionInText
@@ -595,7 +530,6 @@
 
     "Created: / 16-02-2010 / 10:08:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !ExecutableFunction methodsFor:'printing & storing'!
 
 printStringForBrowserWithSelector:selector
@@ -603,7 +537,6 @@
 
     ^ self printStringForBrowserWithSelector:selector inClass:nil
 ! !
-
 !Form methodsFor:'inspecting'!
 
 inspectorClass
@@ -612,7 +545,6 @@
 
     ^ ImageInspectorView
 ! !
-
 !GenericToolbarIconLibrary class methodsFor:'image specs-22x22'!
 
 bookmarks22x22
@@ -642,7 +574,6 @@
 
     "Modified: / 05-05-2011 / 12:45:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !GenericToolbarIconLibrary class methodsFor:'image specs-16x16'!
 
 bug16x16Icon
@@ -667,7 +598,6 @@
 ?_????????????7=W5=_W5?=O/7???????>L?PLC@0LC?_????????7=/4S[7S 8TY/=?VC?????L#L.>JI3I+A%H#[?????GA3_]U*/M3_;BPRLD_????7=
 ?_B@M>DE-04>?U/??????2_=HEXYQ7:R<Q_???????4>G2$%Q9QEL?5_??????????<=?\;M??????????????????=-H????????0@a') ; colorMapFromArray:#[205 205 205 227 35 35 106 106 106 98 98 98 135 135 135 163 34 34 101 5 5 124 124 124 48 2 2 227 11 11 173 173 173 218 54 54 241 241 241 235 19 19 225 225 225 219 18 18 245 58 58 214 214 214 249 46 46 90 90 90 254 61 61 36 36 36 176 176 176 233 233 233 114 114 114 255 78 78 212 33 33 230 57 57 61 61 61 94 94 94 76 76 76 19 19 19 255 57 57 161 161 161 83 83 83 217 217 217 249 249 249 255 65 65 139 2 2 27 27 27 169 169 169 253 53 53 210 28 28 251 251 251 154 154 154 117 117 117 195 1 1 245 245 245 145 145 145 218 5 5 230 230 230 69 2 2 181 181 181 11 11 11 141 141 141 249 61 61 205 21 21 165 165 165 157 157 157 241 28 28 223 223 223 109 109 109 2 2 2 245 45 45 146 0 0 69 69 69 137 137 137 140 40 40 188 1 1 206 24 24 219 33 33 255 76 76 249 49 49 249 56 56 236 236 236 121 121 121 248 53 53 171 1 1 111 40 40 237 41 41 178 21 21 205 16 16 129 129 129 163 1 1 155 18 18 85 4 4 243 68 68 73 73 73 45 45 45 202 51 51 241 40 40 86 86 86 114 1 1 210 4 4 246 41 41 148 148 148 189 189 189 209 209 209 210 17 17 158 28 28 213 5 5 205 1 1 53 53 53 217 9 9 69 40 40 187 10 10 255 74 74 218 28 28 146 11 11 65 65 65 232 37 37 101 101 101 196 26 26 245 53 53 188 26 26 213 10 10 184 184 184 206 5 5 249 65 65 172 21 21 206 34 34 195 195 195 237 32 32 131 12 12 233 29 29 179 36 36 241 37 37 139 13 13 245 49 49 180 1 1 168 37 37 198 198 198 202 202 202 228 21 21 206 10 10 206 29 29 229 30 30 255 80 80 188 20 20 245 37 37 57 57 57 252 50 50 87 42 42 172 10 10 209 13 13 155 4 4 164 11 11 242 44 44 255 70 70 225 25 25 222 14 14 237 24 24 240 49 49 205 13 13 202 44 44 201 0 0 225 17 17 186 42 42 255 72 72 122 1 1 40 40 40 157 10 10 209 8 8 222 8 8 195 41 41 223 21 21 180 11 11 255 68 68 162 28 28 194 11 11 232 25 25 131 1 1 241 32 32 246 246 246 49 49 49 224 44 44 208 2 2 227 227 227 239 239 239 239 46 46 162 20 20 245 33 33 219 219 219 238 29 29 237 37 37 171 29 29 36 46 46 250 68 68 147 16 16 182 26 26 187 187 187 24 1 1 185 32 32 229 24 24 232 33 33 150 150 150 122 12 12 229 17 17 204 27 27 242 52 52 213 2 2 200 15 15 191 191 191 217 43 43 217 12 12 115 10 10 140 16 16 200 28 28 202 6 6 215 13 13 182 41 41 57 46 46 40 46 46 233 40 40 252 70 70 173 40 40 226 28 28 46 54 54 202 22 22 203 18 18 245 72 72 191 17 17 200 37 37 10 0 0 50 52 52 252 74 74 252 72 72 247 38 38 160 40 40 231 14 14 252 68 68 200 10 10 15 15 15 211 47 47 254 254 254 253 76 76 23 23 23 237 69 69 7 7 7 144 7 7 196 8 7 32 32 32 59 59 59 90 93 93 67 67 67 70 28 28 50 56 56 232 15 16 208 4 4 237 35 35 220 12 11 232 20 20 223 62 62 0 0 0 255 255 255 255 255 255]; mask:((ImageMask new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@L@@0@C8AO C?0O<C?>G?0??#?>C?0_?@O@@L@b') ; yourself); yourself]
 ! !
-
 !GenericToolbarIconLibrary class methodsFor:'image specs-24x24'!
 
 bug24x24Icon
@@ -696,7 +626,6 @@
 <Q_???????????4XO!!?DJRU*Q9P%QSL5?U<-?????????3T5???=F$  EB@?L37?G3;=????????????????O_7D3,7=??????????????????????????<(
 [RO?????????????????????????????????????????????') ; colorMapFromArray:#[205 205 205 227 35 35 106 106 106 98 98 98 135 135 135 163 34 34 101 5 5 124 124 124 48 2 2 227 11 11 173 173 173 218 54 54 241 241 241 235 19 19 225 225 225 219 18 18 245 58 58 214 214 214 249 46 46 90 90 90 254 61 61 36 36 36 176 176 176 233 233 233 114 114 114 255 78 78 212 33 33 230 57 57 61 61 61 94 94 94 76 76 76 19 19 19 255 57 57 161 161 161 83 83 83 217 217 217 249 249 249 255 65 65 139 2 2 27 27 27 169 169 169 253 53 53 210 28 28 251 251 251 154 154 154 117 117 117 195 1 1 245 245 245 145 145 145 218 5 5 230 230 230 69 2 2 181 181 181 11 11 11 141 141 141 249 61 61 205 21 21 165 165 165 157 157 157 241 28 28 223 223 223 109 109 109 2 2 2 245 45 45 146 0 0 69 69 69 137 137 137 140 40 40 188 1 1 206 24 24 219 33 33 255 76 76 249 49 49 249 56 56 236 236 236 121 121 121 248 53 53 171 1 1 111 40 40 237 41 41 178 21 21 205 16 16 129 129 129 163 1 1 155 18 18 85 4 4 243 68 68 73 73 73 45 45 45 202 51 51 241 40 40 86 86 86 114 1 1 210 4 4 246 41 41 148 148 148 189 189 189 209 209 209 210 17 17 158 28 28 213 5 5 205 1 1 53 53 53 217 9 9 69 40 40 187 10 10 255 74 74 218 28 28 146 11 11 65 65 65 232 37 37 101 101 101 196 26 26 245 53 53 188 26 26 213 10 10 184 184 184 206 5 5 249 65 65 172 21 21 206 34 34 195 195 195 237 32 32 131 12 12 233 29 29 179 36 36 241 37 37 139 13 13 245 49 49 180 1 1 168 37 37 198 198 198 202 202 202 228 21 21 206 10 10 206 29 29 229 30 30 255 80 80 188 20 20 245 37 37 57 57 57 252 50 50 87 42 42 172 10 10 209 13 13 155 4 4 164 11 11 242 44 44 255 70 70 225 25 25 222 14 14 237 24 24 240 49 49 205 13 13 202 44 44 201 0 0 225 17 17 186 42 42 255 72 72 122 1 1 40 40 40 157 10 10 209 8 8 222 8 8 195 41 41 223 21 21 180 11 11 255 68 68 162 28 28 194 11 11 232 25 25 131 1 1 241 32 32 246 246 246 49 49 49 224 44 44 208 2 2 227 227 227 239 239 239 239 46 46 162 20 20 245 33 33 219 219 219 238 29 29 237 37 37 171 29 29 36 46 46 250 68 68 147 16 16 182 26 26 187 187 187 24 1 1 185 32 32 229 24 24 232 33 33 150 150 150 122 12 12 229 17 17 204 27 27 242 52 52 213 2 2 200 15 15 191 191 191 217 43 43 217 12 12 115 10 10 140 16 16 200 28 28 202 6 6 215 13 13 182 41 41 57 46 46 40 46 46 233 40 40 252 70 70 173 40 40 226 28 28 46 54 54 202 22 22 203 18 18 245 72 72 191 17 17 200 37 37 10 0 0 50 52 52 252 74 74 252 72 72 247 38 38 160 40 40 231 14 14 252 68 68 200 10 10 15 15 15 211 47 47 254 254 254 253 76 76 23 23 23 237 69 69 7 7 7 144 7 7 196 8 7 32 32 32 59 59 59 90 93 93 67 67 67 70 28 28 50 56 56 232 15 16 208 4 4 237 35 35 220 12 11 232 20 20 223 62 62 0 0 0 255 255 255 255 255 255]; mask:((ImageMask new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@H@@HH@@FH@@FH@@CX@@G<@BO<HGO>8A??0@??@@??@G??<C??8@??@G??<G??<G??XA??0C??8CO>8@G8@@A0@@@@@') ; yourself); yourself]
 ! !
-
 !GenericToolbarIconLibrary class methodsFor:'image specs-32x32'!
 
 bug32x32Icon
@@ -748,7 +677,6 @@
                 yourself
         ]
 ! !
-
 !GenericToolbarIconLibrary class methodsFor:'image specs-16x16'!
 
 lint16x16Icon
@@ -773,7 +701,6 @@
 @XS??????????3<)-;^76.Z5A0O???????<P@W!!8>-3J<0+??????0\JI1,;7^?57-[;''T????<JS0P"PN3'':-V>8L??????V5@''G57.1,!!#X-''R_O???1(R
 @RMW:Y*KY6+7*RW??????3P*ZU[;.:#!!/:7???????<A@6AV2?S:9+>5??????????< BC &?????;?Z??????????<XU_?????X<P@a') ; colorMapFromArray:#[0 1 0 0 2 0 1 4 0 3 6 2 30 1 0 6 9 5 34 2 2 10 12 8 43 4 2 13 15 12 15 17 13 77 0 0 16 18 15 35 14 12 17 19 16 67 6 1 19 20 18 75 7 10 21 23 20 86 9 4 25 27 24 111 4 7 103 7 10 96 10 12 32 29 28 29 30 28 31 33 30 153 2 0 33 35 33 35 36 34 110 16 16 173 0 1 36 38 35 41 37 36 165 4 0 155 7 7 128 15 14 39 41 39 157 12 16 51 42 42 207 0 4 43 45 42 58 41 39 141 19 15 199 4 0 210 3 0 221 1 4 48 49 47 231 0 12 211 7 8 172 19 10 172 19 18 52 54 51 53 55 53 234 5 23 59 54 53 176 24 21 56 57 55 57 59 56 204 19 22 195 22 24 103 47 48 227 16 9 60 61 59 198 25 19 216 20 21 61 63 60 119 48 45 228 20 20 63 65 62 211 30 27 68 69 67 69 71 68 212 32 34 242 25 29 72 74 71 74 76 74 191 45 50 245 31 38 76 78 75 77 79 76 79 80 78 138 66 66 248 36 40 240 41 43 83 85 82 216 50 52 241 43 50 195 58 61 86 88 85 244 46 46 87 89 86 89 91 88 214 58 58 193 65 67 92 93 91 248 51 49 109 90 87 185 68 87 194 67 80 87 95 125 250 54 57 173 74 96 202 67 84 159 78 103 253 56 52 188 72 90 87 99 135 129 89 121 99 101 98 73 104 148 255 59 60 159 83 106 175 81 94 94 102 132 187 78 98 215 71 85 255 61 67 169 84 104 251 66 66 104 106 103 90 106 147 151 92 119 200 81 93 107 108 106 140 99 131 162 94 119 255 72 76 144 100 128 96 112 153 228 80 83 159 97 120 111 113 110 191 90 111 206 87 104 113 115 112 87 118 163 115 117 114 83 122 166 179 100 117 118 120 117 199 99 101 231 91 88 138 113 147 120 122 119 196 101 119 123 125 122 115 123 167 213 100 113 119 123 162 180 109 128 127 129 126 208 108 109 115 131 173 185 115 140 158 122 154 173 119 144 131 133 130 130 130 163 178 122 124 181 119 147 106 139 178 136 138 135 120 139 175 126 138 175 204 121 132 132 139 172 113 146 186 136 143 176 144 146 143 121 149 184 153 142 173 135 150 181 148 150 147 125 153 188 130 153 182 179 140 167 150 152 149 205 136 148 181 145 146 136 159 189 155 157 154 140 163 193 159 161 158 161 163 160 143 166 196 162 164 161 148 167 192 164 166 163 165 165 187 197 159 173 167 169 166 152 171 196 191 163 180 157 172 191 169 171 168 216 159 166 171 173 170 208 163 179 187 169 190 217 162 175 174 176 173 159 178 203 186 173 174 207 167 175 163 178 198 213 166 176 179 181 178 198 176 192 169 185 204 183 185 182 216 175 184 209 177 189 212 180 192 204 183 198 208 183 193 188 190 187 180 192 206 194 196 193 215 191 201 187 199 213 204 198 197 211 196 210 199 201 198 190 202 216 191 203 217 201 202 212 202 204 201 208 203 201 219 201 210 205 207 203 217 203 217 206 208 205 213 207 206 223 205 214 203 211 220 211 213 210 211 212 222 214 216 213 221 215 227 217 219 216 219 221 218 228 218 224 217 222 225 221 223 220 231 221 227 216 225 233 220 226 228 224 226 223 221 229 238 231 233 230 228 234 236 233 235 232 235 238 234 249 251 248 255 255 255]; mask:((ImageMask new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@L@@0@C8AO0C?0O>C?>O?0??#?>C?0O?@OC@LLb') ; yourself); yourself]
 ! !
-
 !GenericToolbarIconLibrary class methodsFor:'image specs-24x24'!
 
 lint24x24Icon
@@ -802,7 +729,6 @@
 /:6D??????????<)@PLSXEY?2?S<>.Y-/;V-?????????1$A??<GRU)/]8JMT"_?/;>5#O??????????????H@ +NBXQ??????>:/=*L??????????????<9
 FEU_????????6OF5????????????????????????????-]K?') ; colorMapFromArray:#[0 1 0 0 2 0 1 4 0 3 6 2 30 1 0 6 9 5 34 2 2 10 12 8 43 4 2 13 15 12 15 17 13 77 0 0 16 18 15 35 14 12 17 19 16 67 6 1 19 20 18 75 7 10 21 23 20 86 9 4 25 27 24 111 4 7 103 7 10 96 10 12 32 29 28 29 30 28 31 33 30 153 2 0 33 35 33 35 36 34 110 16 16 173 0 1 36 38 35 41 37 36 165 4 0 155 7 7 128 15 14 39 41 39 157 12 16 51 42 42 207 0 4 43 45 42 58 41 39 141 19 15 199 4 0 210 3 0 221 1 4 48 49 47 231 0 12 211 7 8 172 19 10 172 19 18 52 54 51 53 55 53 234 5 23 59 54 53 176 24 21 56 57 55 57 59 56 204 19 22 195 22 24 103 47 48 227 16 9 60 61 59 198 25 19 216 20 21 61 63 60 119 48 45 228 20 20 63 65 62 211 30 27 68 69 67 69 71 68 212 32 34 242 25 29 72 74 71 74 76 74 191 45 50 245 31 38 76 78 75 77 79 76 79 80 78 138 66 66 248 36 40 240 41 43 83 85 82 216 50 52 241 43 50 195 58 61 86 88 85 244 46 46 87 89 86 89 91 88 214 58 58 193 65 67 92 93 91 248 51 49 109 90 87 185 68 87 194 67 80 87 95 125 250 54 57 173 74 96 202 67 84 159 78 103 253 56 52 188 72 90 87 99 135 129 89 121 99 101 98 73 104 148 255 59 60 159 83 106 175 81 94 94 102 132 187 78 98 215 71 85 255 61 67 169 84 104 251 66 66 104 106 103 90 106 147 151 92 119 200 81 93 107 108 106 140 99 131 162 94 119 255 72 76 144 100 128 96 112 153 228 80 83 159 97 120 111 113 110 191 90 111 206 87 104 113 115 112 87 118 163 115 117 114 83 122 166 179 100 117 118 120 117 199 99 101 231 91 88 138 113 147 120 122 119 196 101 119 123 125 122 115 123 167 213 100 113 119 123 162 180 109 128 127 129 126 208 108 109 115 131 173 185 115 140 158 122 154 173 119 144 131 133 130 130 130 163 178 122 124 181 119 147 106 139 178 136 138 135 120 139 175 126 138 175 204 121 132 132 139 172 113 146 186 136 143 176 144 146 143 121 149 184 153 142 173 135 150 181 148 150 147 125 153 188 130 153 182 179 140 167 150 152 149 205 136 148 181 145 146 136 159 189 155 157 154 140 163 193 159 161 158 161 163 160 143 166 196 162 164 161 148 167 192 164 166 163 165 165 187 197 159 173 167 169 166 152 171 196 191 163 180 157 172 191 169 171 168 216 159 166 171 173 170 208 163 179 187 169 190 217 162 175 174 176 173 159 178 203 186 173 174 207 167 175 163 178 198 213 166 176 179 181 178 198 176 192 169 185 204 183 185 182 216 175 184 209 177 189 212 180 192 204 183 198 208 183 193 188 190 187 180 192 206 194 196 193 215 191 201 187 199 213 204 198 197 211 196 210 199 201 198 190 202 216 191 203 217 201 202 212 202 204 201 208 203 201 219 201 210 205 207 203 217 203 217 206 208 205 213 207 206 223 205 214 203 211 220 211 213 210 211 212 222 214 216 213 221 215 227 217 219 216 219 221 218 228 218 224 217 222 225 221 223 220 231 221 227 216 225 233 220 226 228 224 226 223 221 229 238 231 233 230 228 234 236 233 235 232 235 238 234 249 251 248 255 255 255]; mask:((ImageMask new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@LL@@FH@@FH@@CX@@G<@BG>HGO>XA??8@?? @?? G??<G??8@??0G??<G??<G??<@??8A??8CO><@G8O@A8G@@@F') ; yourself); yourself]
 ! !
-
 !GenericToolbarIconLibrary class methodsFor:'image specs-32x32'!
 
 lint32x32Icon
@@ -839,7 +765,6 @@
 @@@@@@@@D@@@NC @@A 8@@@\L@@@CC@@@@Y0@@@G8@@@C? @AA?<H@8??G@G???0@???8@G??8@@??>@C???>A???? O???0@O??0@C??<@O???8G???>@??
 ?? @???@@_??8@O???@GO?38@!!?8_@@O<C8@@>@^@@@@C@@@@@@b') ; yourself); yourself]
 ! !
-
 !GenericToolbarIconLibrary class methodsFor:'image specs-16x16'!
 
 smalllintWarning16x16
@@ -870,7 +795,6 @@
 @@@@@@@@????????????9\^ 1(T.1(T.1(T.1(T.1(T.9\^ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@????????????????????????????@@@@@@@@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@_@C>@_<A?0G?0_? ?>C?<G?0_?!!?>G?8O?@G<@@@b') ; yourself); yourself]
 ! !
-
 !GenericToolbarIconLibrary class methodsFor:'image specs-versions'!
 
 versionMerged24x24
@@ -899,7 +823,6 @@
 UEQNS30GLFI,\V11\W!!,X&I"Y&I!!W%9^T5MSWS0HLH]:^&93[798[G9/\V1,X&I!!WFA\Y30EMIF,%9RK_G%9\&=/[6=1[&91[GV@]DHDJ9>6+)2P"8"A!!7=?
 _7=?_7=?\7Q.^4@CA"X-I2\''I2</JR$)JR (JB (K"4,J"T@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[28 1 19 26 0 23 36 0 35 57 0 48 55 1 50 58 0 51 61 0 54 57 3 52 56 0 54 63 0 57 64 0 58 63 0 62 67 3 66 66 0 68 69 5 67 70 6 68 70 0 72 71 0 73 57 15 60 65 17 63 72 9 70 79 0 77 70 0 74 72 0 75 61 25 59 81 2 79 74 13 71 74 1 77 76 4 79 70 15 72 66 23 68 78 7 81 75 19 76 81 12 83 61 25 67 75 21 77 78 23 79 91 5 94 114 6 111 122 0 119 124 0 121 130 0 123 118 0 120 110 25 104 119 0 122 119 17 114 120 0 123 125 20 115 129 2 127 135 0 131 137 0 134 139 0 136 125 26 118 138 1 141 137 22 130 142 9 143 138 16 142 139 31 136 142 22 145 145 26 147 147 16 155 154 0 166 159 22 161 128 73 126 148 48 147 186 0 187 155 40 156 187 0 189 196 0 193 188 0 190 188 0 191 156 31 162 189 0 192 180 0 187 157 32 163 198 0 197 164 20 172 191 4 193 200 0 200 182 3 189 156 57 155 193 9 194 202 0 202 203 0 204 196 13 195 152 66 152 194 0 199 205 0 206 164 41 168 206 0 207 197 17 195 195 0 201 207 0 208 188 16 192 196 0 202 198 20 195 207 0 209 196 0 203 197 0 204 167 45 171 199 23 196 198 0 205 208 0 211 192 23 194 200 26 196 189 0 201 199 2 206 201 29 196 203 7 208 202 31 197 192 5 203 200 0 210 173 52 176 206 13 209 201 0 211 195 11 204 199 33 198 214 18 211 204 36 198 201 0 212 208 17 210 202 0 213 197 15 205 190 33 195 203 0 214 184 47 187 210 21 211 202 39 200 208 41 201 211 24 212 200 22 207 202 25 208 214 28 214 204 28 209 198 1 216 207 47 203 207 31 211 200 45 202 185 65 187 208 33 212 198 32 208 209 35 213 210 38 214 212 40 215 213 42 216 207 55 208 202 40 211 193 73 194 214 44 217 205 42 213 216 46 218 213 28 223 206 44 214 208 47 215 220 49 221 214 62 214 221 51 222 192 87 193 210 50 217 206 83 201 215 64 215 211 51 218 224 55 224 213 53 219 217 67 217 227 58 226 218 68 218 215 56 221 218 58 223 213 80 212 220 71 220 219 60 224 229 62 229 220 61 225 231 64 230 223 74 222 201 96 202 222 63 226 224 75 223 225 76 224 218 85 217 224 65 228 226 78 224 224 67 229 218 77 222 228 80 226 229 82 227 226 70 231 230 83 228 223 81 226 211 105 211 225 92 223 233 85 230 226 93 224 224 84 228 231 75 235 227 95 225 234 87 232 219 94 223 230 98 228 228 89 232 217 106 222 234 102 232 225 100 229 226 101 230 228 104 232 213 116 219 229 105 233 231 107 235 224 114 229 199 149 203 242 102 244 216 137 220 205 135 215 237 113 241 234 128 234 238 114 242 223 126 229 226 134 228 236 130 236 225 128 231 229 131 234 240 134 239 233 117 242 230 133 236 239 128 243 236 143 238 238 145 239 238 123 247 243 133 247 238 146 240 215 161 223 241 148 243 250 144 249 235 156 239 225 155 235 237 158 241 229 163 235 249 142 255 242 161 245 247 149 252 238 154 246 246 170 245 249 151 254 249 153 255 238 170 243 230 176 238 245 161 253 247 163 255 236 181 244 245 166 255 243 172 253 245 190 253 243 184 254 246 193 255 238 193 253]; yourself]
 ! !
-
 !Image methodsFor:'inspecting'!
 
 inspector2TabImage
@@ -911,7 +834,6 @@
 
     "Created: / 11-10-2011 / 17:12:01 / cg"
 ! !
-
 !Image methodsFor:'inspecting'!
 
 inspector2Tabs
@@ -919,7 +841,6 @@
 
     "Created: / 11-10-2011 / 17:11:21 / cg"
 ! !
-
 !Image methodsFor:'inspecting'!
 
 inspectorClass
@@ -933,7 +854,6 @@
 
     "Modified: 10.6.1996 / 18:23:55 / cg"
 ! !
-
 !Integer methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -953,7 +873,6 @@
     "Created: / 18-09-2006 / 21:22:46 / cg"
     "Modified: / 06-10-2006 / 13:57:28 / cg"
 ! !
-
 !Iterator methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -962,7 +881,6 @@
 
     ^ self classNameWithArticle
 ! !
-
 !LimitedPrecisionReal methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -984,7 +902,6 @@
 
     "Created: / 20-03-2012 / 22:34:46 / cg"
 ! !
-
 !MenuView methodsFor:'accessing-behavior'!
 
 shortKeys
@@ -992,7 +909,6 @@
 
     "Created: / 18-10-2008 / 19:16:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
-
 !Method methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -1011,7 +927,6 @@
     "Created: / 18-09-2006 / 21:34:01 / cg"
     "Modified: / 06-10-2006 / 13:57:33 / cg"
 ! !
-
 !Method methodsFor:'printing & storing'!
 
 printStringForBrowserWithSelector:selector inClass:aClass
@@ -1137,13 +1052,11 @@
     "Modified: / 05-03-2007 / 16:18:53 / cg"
     "Modified: / 20-07-2010 / 15:39:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !Method methodsFor:'printing & storing'!
 
 selectorPrintStringInBrowserFor:selector
     ^ selector
 ! !
-
 !Method methodsFor:'printing & storing'!
 
 selectorPrintStringInBrowserFor:selector class:aClass
@@ -1161,7 +1074,6 @@
 
     "Modified: / 20-07-2010 / 10:33:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !MethodDictionary methodsFor:'inspecting'!
 
 inspectorClass
@@ -1172,7 +1084,6 @@
 
     "Created: 12.6.1996 / 12:29:13 / stefan"
 ! !
-
 !NameSpace class methodsFor:'inspecting'!
 
 inspectorClass
@@ -1185,7 +1096,6 @@
 
 
 ! !
-
 !Object methodsFor:'debugging'!
 
 inspect
@@ -1214,7 +1124,6 @@
      (Image fromFile:'bitmaps/garfield.gif') inspect
     "
 ! !
-
 !Object methodsFor:'inspecting'!
 
 inspector2TabCommon
@@ -1225,7 +1134,6 @@
     "Created: / 24-05-2011 / 14:56:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 05-07-2011 / 14:06:28 / cg"
 ! !
-
 !Object methodsFor:'inspecting'!
 
 inspector2TabForBasicInspect
@@ -1239,7 +1147,6 @@
 
     "Created: / 05-07-2011 / 13:59:59 / cg"
 ! !
-
 !Object methodsFor:'inspecting'!
 
 inspector2TabForInspectorClass
@@ -1253,7 +1160,6 @@
 
     "Created: / 05-07-2011 / 14:06:16 / cg"
 ! !
-
 !Object methodsFor:'inspecting'!
 
 inspector2TabLabel
@@ -1263,7 +1169,6 @@
 
     "Created: / 14-07-2011 / 11:56:23 / cg"
 ! !
-
 !Object methodsFor:'inspecting'!
 
 inspector2Tabs
@@ -1275,7 +1180,6 @@
 
     "Created: / 05-07-2011 / 13:39:24 / cg"
 ! !
-
 !Object methodsFor:'debugging'!
 
 inspectorExtraAttributes
@@ -1296,7 +1200,6 @@
     "Modified: / 02-09-2005 / 19:00:01 / janfrog"
     "Modified: / 04-10-2006 / 14:33:34 / cg"
 ! !
-
 !Object methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -1306,7 +1209,6 @@
 
     "Created: / 13-06-2012 / 12:50:26 / cg"
 ! !
-
 !Object methodsFor:'testing'!
 
 isTestCaseLike
@@ -1315,7 +1217,6 @@
 
     "Created: / 28-02-2011 / 21:30:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !Object methodsFor:'debugging'!
 
 newInspector2Tab
@@ -1326,7 +1227,6 @@
         ifNil:[self error:'Inspector2 not available!! Something is rotten...']
         ifNotNil:[(Smalltalk at: #'Tools::Inspector2Tab') new]
 ! !
-
 !OrderedCollection methodsFor:'inspecting'!
 
 inspectorClass
@@ -1341,7 +1241,6 @@
      #(0 8 15 3 99 2) asSortedCollection inspect
     "
 ! !
-
 !PopUpMenu methodsFor:'converting'!
 
 asMenu
@@ -1368,7 +1267,6 @@
     "Created: / 18-10-2008 / 19:01:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 09-09-2012 / 13:10:25 / cg"
 ! !
-
 !ProfileTree methodsFor:'accessing'!
 
 method
@@ -1379,7 +1277,6 @@
     "Created: / 01-12-2007 / 22:50:16 / janfrog"
     "Modified: / 07-11-2008 / 08:40:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
-
 !ProfileTree methodsFor:'accessing'!
 
 package
@@ -1390,7 +1287,6 @@
     "Created: / 01-12-2007 / 22:50:28 / janfrog"
     "Modified: / 07-11-2008 / 08:40:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
-
 !RunArray methodsFor:'user interface'!
 
 inspectorClass
@@ -1401,19 +1297,16 @@
 
     "Modified: / 30.10.1997 / 14:28:20 / cg"
 ! !
-
 !SelectionInListModelView methodsFor:'accessing'!
 
 textStartLeft
     ^ textStartLeft
 ! !
-
 !SelectionInListModelView methodsFor:'accessing'!
 
 textStartLeft:something
     textStartLeft := something.
 ! !
-
 !Set methodsFor:'inspecting'!
 
 inspectorClass
@@ -1422,7 +1315,6 @@
 
     ^ SetInspectorView
 ! !
-
 !SimpleView methodsFor:'testing'!
 
 isCodeView2
@@ -1431,7 +1323,6 @@
 
     "Created: / 20-07-2010 / 15:42:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !StringCollection methodsFor:'inspecting'!
 
 inspector2TabText
@@ -1443,7 +1334,6 @@
 
     "Created: / 17-02-2008 / 10:13:07 / janfrog"
 ! !
-
 !StringCollection methodsFor:'inspecting'!
 
 inspector2Tabs
@@ -1451,7 +1341,6 @@
 
     "Created: / 05-07-2011 / 13:40:43 / cg"
 ! !
-
 !Symbol methodsFor:'accessing'!
 
 formattedCode
@@ -1462,7 +1351,6 @@
 
     "Created: / 07-07-2009 / 20:03:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
-
 !Symbol methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -1470,7 +1358,6 @@
 
     ^ self storeString
 ! !
-
 !Text methodsFor:'inspecting'!
 
 inspector2TabText
@@ -1484,7 +1371,6 @@
     "Modified: / 17-02-2008 / 10:28:33 / janfrog"
     "Modified: / 21-08-2011 / 08:02:46 / cg"
 ! !
-
 !Text methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -1502,7 +1388,6 @@
     "Created: / 18-09-2006 / 21:25:52 / cg"
     "Modified: / 06-10-2006 / 13:57:38 / cg"
 ! !
-
 !Timestamp methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -1523,7 +1408,6 @@
 
     "Created: / 20-01-2011 / 12:19:05 / cg"
 ! !
-
 !UndefinedObject methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -1531,7 +1415,6 @@
 
     ^ 'nil'
 ! !
-
 !UninterpretedBytes methodsFor:'inspecting'!
 
 inspector2Tabs
@@ -1539,7 +1422,6 @@
 
     "Created: / 27-02-2012 / 21:51:36 / cg"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 alwaysOpenNewTabWhenCtrlClick
@@ -1554,7 +1436,6 @@
     "Created: / 19-10-2008 / 08:00:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 14-02-2010 / 19:37:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 alwaysOpenNewTabWhenCtrlClick: aBoolean
@@ -1563,7 +1444,6 @@
 
     "Created: / 19-10-2008 / 08:01:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-pref''d tools'!
 
 changesBrowserClassName
@@ -1574,7 +1454,6 @@
 
     "Created: / 03-04-2012 / 11:02:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 codeView2AutoIndent
@@ -1589,7 +1468,6 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 07-08-2011 / 12:46:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 codeView2AutoIndent: aBoolean
@@ -1604,7 +1482,6 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 07-08-2011 / 12:47:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 codeView2ShowAcceptCancel
@@ -1618,7 +1495,6 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 10-10-2011 / 16:41:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 codeView2ShowAcceptCancel: aBoolean
@@ -1632,7 +1508,6 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 10-10-2011 / 16:40:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 confirmRefactorings
@@ -1653,7 +1528,6 @@
 
     "Created: / 04-04-2012 / 14:02:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 confirmRefactorings:aBoolean
@@ -1674,7 +1548,6 @@
 
     "Created: / 04-04-2012 / 14:02:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-pref''d tools'!
 
 fileBrowserClass
@@ -1694,7 +1567,6 @@
 
     "Modified: / 03-04-2012 / 10:59:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-pref''d tools'!
 
 fileBrowserClass: aClass
@@ -1709,7 +1581,6 @@
 
     "Created: / 03-04-2012 / 10:57:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-pref''d tools'!
 
 fileBrowserClassName
@@ -1720,7 +1591,6 @@
 
     "Created: / 03-04-2012 / 11:01:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showBookmarkBar
@@ -1737,7 +1607,6 @@
     "Created: / 18-05-2011 / 16:48:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 03-06-2011 / 11:01:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showBookmarkBar: aBoolean
@@ -1753,7 +1622,6 @@
 
     "Created: / 18-05-2011 / 17:28:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showEmbeddedTestRunnerInBrowser
@@ -1769,7 +1637,6 @@
 
     "Created: / 11-03-2010 / 10:11:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showEmbeddedTestRunnerInBrowser:aBoolean
@@ -1784,7 +1651,6 @@
 
     "Created: / 11-03-2010 / 10:11:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showGlobalHistory
@@ -1801,7 +1667,6 @@
     "Created: / 07-07-2011 / 00:03:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified (comment): / 26-07-2012 / 16:35:54 / cg"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showGlobalHistory: aBoolean
@@ -1818,7 +1683,6 @@
     "Created: / 07-07-2011 / 00:02:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified (comment): / 26-07-2012 / 16:35:57 / cg"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showLocalHistory
@@ -1835,7 +1699,6 @@
     "Created: / 07-07-2011 / 00:02:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified (comment): / 26-07-2012 / 16:35:31 / cg"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showLocalHistory: aBoolean
@@ -1852,7 +1715,6 @@
     "Created: / 07-07-2011 / 00:02:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified (comment): / 26-07-2012 / 16:35:41 / cg"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showMethodTemplate
@@ -1868,7 +1730,6 @@
 
     "Created: / 12-02-2010 / 12:06:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showMethodTemplate:aBoolean
@@ -1883,7 +1744,6 @@
 
     "Created: / 12-02-2010 / 12:05:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 sortAndIndentClassesByInheritance
@@ -1898,7 +1758,6 @@
 
     "Created: / 06-07-2011 / 19:09:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 sortAndIndentClassesByInheritance: aBoolean
@@ -1913,7 +1772,6 @@
 
     "Created: / 06-07-2011 / 19:09:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 sourceCodeManagementMenuLayout
@@ -1936,7 +1794,6 @@
 
     "Created: / 06-10-2011 / 18:42:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 sourceCodeManagementMenuLayout: aSymbol
@@ -1960,7 +1817,6 @@
 
     "Created: / 06-10-2011 / 18:44:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2In: appSymbol
@@ -1980,7 +1836,6 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 26-07-2011 / 10:26:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InBrowser
@@ -1995,7 +1850,6 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 26-07-2011 / 10:22:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InBrowser: aBoolean
@@ -2010,7 +1864,6 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 26-07-2011 / 10:21:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InDebugger
@@ -2025,7 +1878,6 @@
 
     "Created: / 26-07-2011 / 10:22:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InDebugger: aBoolean
@@ -2040,7 +1892,6 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 26-07-2011 / 10:22:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InTools
@@ -2054,7 +1905,6 @@
     "Created: / 12-02-2010 / 12:13:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InTools:aBoolean 
@@ -2065,7 +1915,6 @@
      UserPreferences current useCodeView2InBrowser:false"
     "Created: / 12-02-2010 / 12:14:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InWorkspace
@@ -2080,7 +1929,6 @@
 
     "Created: / 26-07-2011 / 10:23:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InWorkspace: aBoolean
@@ -2095,7 +1943,6 @@
 
     "Created: / 26-07-2011 / 10:22:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 useInPlaceSearchInBrowserLists
@@ -2110,7 +1957,6 @@
 
     "Created: / 28-07-2011 / 09:34:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 useInPlaceSearchInBrowserLists: aBoolean
@@ -2125,7 +1971,6 @@
 
     "Created: / 28-07-2011 / 09:35:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 webBrowserLikeLayout
@@ -2141,7 +1986,6 @@
 
     "Created: / 07-06-2011 / 14:33:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 webBrowserLikeLayout: aBoolean
@@ -2157,9 +2001,13 @@
 
     "Created: / 07-06-2011 / 14:31:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+!stx_libtool class methodsFor:'documentation'!
 
+extensionsVersion_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.92 2012-12-18 21:36:46 stefan Exp $'
+! !
 !stx_libtool class methodsFor:'documentation'!
 
 extensionsVersion_SVN
     ^ '$Id:: extensions.st 8086 2013-01-15 12:03:21Z vranyj1                                                                        $'
-! !
\ No newline at end of file
+! !
--- a/libtool.rc	Tue Jan 22 12:24:41 2013 +0000
+++ b/libtool.rc	Wed Jan 30 11:15:09 2013 +0000
@@ -3,8 +3,8 @@
 // automagically generated from the projectDefinition: stx_libtool.
 //
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION     6,2,8088,8088
-  PRODUCTVERSION  6,2,3,0
+  FILEVERSION     6,2,1,83
+  PRODUCTVERSION  6,2,2,1
 #if (__BORLANDC__)
   FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
   FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
@@ -20,12 +20,12 @@
     BEGIN
       VALUE "CompanyName", "eXept Software AG\0"
       VALUE "FileDescription", "Smalltalk/X Tools (LIB)\0"
-      VALUE "FileVersion", "6.2.8088.8088\0"
+      VALUE "FileVersion", "6.2.1.83\0"
       VALUE "InternalName", "stx:libtool\0"
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2012\nCopyright eXept Software AG 1998-2012\0"
       VALUE "ProductName", "Smalltalk/X\0"
-      VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Fri, 18 Jan 2013 00:04:19 GMT\0"
+      VALUE "ProductVersion", "6.2.2.1\0"
+      VALUE "ProductDate", "Thu, 26 Jul 2012 12:06:06 GMT\0"
     END
 
   END
--- a/resources/de.rs	Tue Jan 22 12:24:41 2013 +0000
+++ b/resources/de.rs	Wed Jan 30 11:15:09 2013 +0000
@@ -1,6 +1,6 @@
 #encoding utf8
 
-; $Header: /cvs/stx/stx/libtool/resources/de.rs,v 1.201 2012/12/13 10:07:25 cg Exp $
+; $Header: /cvs/stx/stx/libtool/resources/de.rs,v 1.201 2012-12-13 10:07:25 cg Exp $
 ;
 ; German Workspace (and other tools) resources
 ;
@@ -19,16 +19,16 @@
 ; GETTING_STARTED_FILE 'GettingStarted_de.wsp'
 
 'Buffers'                               'Seiten'
-'Add Buffer'                            'Seite hinzufügen'
-'Add Buffer on Workspace Variables'     'Seite mit Workspace Variablen hinzufügen'
-'Add Buffer on Global Variables'        'Seite mit Globalen Variablen hinzufügen'
-'Add Buffer on Namespace'               'Seite mit Namensraum-Variablen hinzufügen'
-'Add Buffer on SharedPool'              'Seite mit SharedPool-Variablen hinzufügen'
-'Add Buffer on Class Variables'         'Seite mit Klassenvariablen hinzufügen'
-'Add Buffer on MyWorkspace'             'Seite mit MyWorkspace hinzufügen'
-'Add Evaluation Buffer'                 'Seite mit Evaluator hinzufügen'
+'Add Buffer'                            'Seite hinzufgen'
+'Add Buffer on Workspace Variables'     'Seite mit Workspace Variablen hinzufgen'
+'Add Buffer on Global Variables'        'Seite mit Globalen Variablen hinzufgen'
+'Add Buffer on Namespace'               'Seite mit Namensraum-Variablen hinzufgen'
+'Add Buffer on SharedPool'              'Seite mit SharedPool-Variablen hinzufgen'
+'Add Buffer on Class Variables'         'Seite mit Klassenvariablen hinzufgen'
+'Add Buffer on MyWorkspace'             'Seite mit MyWorkspace hinzufgen'
+'Add Evaluation Buffer'                 'Seite mit Evaluator hinzufgen'
 'Remove Buffer'                         'Seite entfernen'
-'Add Tab'                               'Tab hinzufügen'
+'Add Tab'                               'Tab hinzufgen'
 'Remove Tab'                            'Tab entfernen'
 'Documentation on Smalltalk/X'          'Dokumentation zu Smalltalk/X'
 
@@ -36,45 +36,45 @@
 'New Workspace'                         'Neuer Workspace'
 'New SystemWorkspace'                   'Neuer SystemWorkspace'
 'New EvaluationWorkspace'               'Neuer EvaluatorWorkspace'
-'Add Workspace Variable'                'Workspace Variable hinzufügen'
+'Add Workspace Variable'                'Workspace Variable hinzufgen'
 'Inspect Workspace Variables'           'Workspace Variable inspizieren'
 'Remove Workspace Variable'             'Workspace Variable entfernen'
 'Remove all Workspace Variables'        'Alle Workspace Variablen entfernen'
 
-'New Name for %1:'                      'Neuer Name für %1:'
-'New Name for "%1":'                    'Neuer Name für "%1":'
+'New Name for %1:'                      'Neuer Name fr %1:'
+'New Name for "%1":'                    'Neuer Name fr "%1":'
 
 'Save all As'                                           'Alle sichern als'
 'Ask for a file and save the page''s contents there'    'Den Seiteninhalt in einer Datei sichern'
 'Save the page''s contents in the original file'        'Den Seiteninhalt in der Originaldatei sichern'
 
-'Accept'                                'Übernehmen'
+'Accept'                                'bernehmen'
 
 'Filter Text'                           'Text filtern'
 'Process Text'                          'Text bearbeiten'
 'Compare Text Against'                  'Text vergleichen mit'
 'Redo Last'                             'Letzte Anweisung wiederholen'
-'Paste Last'                            'Letzte Anweisung einfügen'
-
-'Text was not saved. Close anyway ?'            'Text wurde nicht gesichert. Dennoch schließen ?'
-'Text was modified. Load anyway ?'              'Text wurde geändert. Dennoch laden ?'
-'Text was modified. Remove buffer anyway ?'     'Text wurde geändert. Seite dennoch entfernen ?'
-'Clear History'                                 'Historie löschen'
+'Paste Last'                            'Letzte Anweisung einfgen'
+
+'Text was not saved. Close anyway ?'            'Text wurde nicht gesichert. Dennoch schlieen ?'
+'Text was modified. Load anyway ?'              'Text wurde gendert. Dennoch laden ?'
+'Text was modified. Remove buffer anyway ?'     'Text wurde gendert. Seite dennoch entfernen ?'
+'Clear History'                                 'Historie lschen'
 
 'FileIn Text'                           'Text laden (fileIn im Chunk Format)'
 
 'Select All'                            'Alles Markieren'
 'Google Spell'                          'Google Rechtschreibhilfe'
-'Translate'                             'Übersetzen'
+'Translate'                             'bersetzen'
 'Compare with Clipboard'                'Vergleich mit Clipboard'
-'Open Workspace with It'                'Workspace mit Selektion öffnen'
+'Open Workspace with It'                'Workspace mit Selektion ffnen'
 'Services'                              'Dienste'
 'English -> German'                     'Englisch -> Deutsch'
-'English -> French'                     'Englisch -> Französisch'
+'English -> French'                     'Englisch -> Franzsisch'
 'English -> Spanish'                    'Englisch -> Spanisch'
 'English -> Portuguese'                 'Englisch -> Portugiesisch'
 'German -> English'                     'Deutsch -> Englisch'
-'French -> English'                     'Französisch -> Englisch'
+'French -> English'                     'Franzsisch -> Englisch'
 'Spanish -> English'                    'Spanisch -> Englisch'
 'Portuguese -> English'                 'Portugiesisch -> Englisch'
 'Russian -> English'                    'Russisch -> Englisch'
@@ -89,13 +89,13 @@
 'Autodefine as DoIt Variable'           'Automatisch definieren als DoIt-Variable'
 'Autodefine off'                        'Nicht automatisch definieren'
 'Autofetch Selection'                   'Clipboard automatisch holen'
-'Insert as Line (Append CR)'            'Als Zeile einfügen (CR anhängen)'
-
-'Add SharedPool'                        'SharedPool hinzufügen'
+'Insert as Line (Append CR)'            'Als Zeile einfgen (CR anhngen)'
+
+'Add SharedPool'                        'SharedPool hinzufgen'
 'Remove SharedPool'                     'SharedPool ignorieren'
 
 'Copy as Sniplet'                       'Zu Schnipsel kopieren'
-'Paste Sniplet'                         'Schnipsel einfügen'
+'Paste Sniplet'                         'Schnipsel einfgen'
 'Manage Sniplets'                       'Schnipsel verwalten'
 'No Sniplets to Manage'                 'Keine Schnipsel zum verwalten'
 'Nothing Selected'                      'Kein Text markiert'
@@ -112,15 +112,15 @@
 'Lines by nth Word (ignore case)'       'Zeilen nach n-tem Wort (gross/klein ignorieren)'
 'Words (ignore case)'                   'Worte (gross/klein ignorieren)'
 
-'Paste Previous'                        'Vorherigen Text einfügen'
+'Paste Previous'                        'Vorherigen Text einfgen'
 'Join Lines'                            'Zeilen zusammenfassen'
-'Insert new UUID'                       'Neue UUID einfügen'
-'AutoIndent'                            'Automatisch einrücken'
-
-'Hide Toolbar. Show again via the "View"-Menu'          'Werkzeugleiste ausblenden. Wiederherstellen über das "Ansicht"-Menu'
-; 'Hide Editor-Toolbar. Show again via the "View"-Menu'   'Editor-Werkzeugleiste ausblenden. Wiederherstellen über das "Ansicht"-Menu'
-'Hide Edit-Toolbar. Show again via the "View"-Menu'     'Editor-Werkzeugleiste ausblenden. Wiederherstellen über das "Ansicht"-Menu'
-'Hide Bookmarkbar. Show again via the "View"-Menu'      'Lesezeichenleiste ausblenden. Wiederherstellen über das "Ansicht"-Menu'
+'Insert new UUID'                       'Neue UUID einfgen'
+'AutoIndent'                            'Automatisch einrcken'
+
+'Hide Toolbar. Show again via the "View"-Menu'          'Werkzeugleiste ausblenden. Wiederherstellen ber das "Ansicht"-Menu'
+; 'Hide Editor-Toolbar. Show again via the "View"-Menu'   'Editor-Werkzeugleiste ausblenden. Wiederherstellen ber das "Ansicht"-Menu'
+'Hide Edit-Toolbar. Show again via the "View"-Menu'     'Editor-Werkzeugleiste ausblenden. Wiederherstellen ber das "Ansicht"-Menu'
+'Hide Bookmarkbar. Show again via the "View"-Menu'      'Lesezeichenleiste ausblenden. Wiederherstellen ber das "Ansicht"-Menu'
 
 ;--------------------------------------------------------------------------------------------
 ;
@@ -132,9 +132,9 @@
 'Create PatchFile'    'Patch-Datei erzeugen'
 'Exit'                'Beenden'
 'Documentation'       'Dokumentation'
-'About this Application'  'Über diese Anwendung'
-
-'Changed'             'Geändert'
+'About this Application'  'ber diese Anwendung'
+
+'Changed'             'Gendert'
 'current'             'aktuell'
 'newest'              'neueste'
 'current:'            'aktuell:'
@@ -150,17 +150,17 @@
 
 'Interrupt'                         'Unterbrechen (Interrupt)'
 'Kill'                              'Beenden (Kill)'
-'Reset Terminal'                    'Terminalemulation zurücksetzen'
+'Reset Terminal'                    'Terminalemulation zurcksetzen'
 
 ;--------------------------------------------------------------------------------------------
 ;
 ; Packager
 ;
 
-'Project Type Selection'            'Projektart auswählen'
-'ProjectDefinition Selection'       'Projekt-Definitionsklasse auswählen'
-'Startup Application Selection'     'Applikationsklasse auswählen'
-'Startup Class Selection'           'Startklasse auswählen'
+'Project Type Selection'            'Projektart auswhlen'
+'ProjectDefinition Selection'       'Projekt-Definitionsklasse auswhlen'
+'Startup Application Selection'     'Applikationsklasse auswhlen'
+'Startup Class Selection'           'Startklasse auswhlen'
 'Specify Contents'                  'Projektinhalt definieren'
 'Specify Prerequisites'             'Vorausgesetzte Pakete definieren'
 'Specify Project Attributes'        'Projektattribute definieren'
@@ -169,17 +169,17 @@
 'Deploy'                            'Ausliefern'
 'Finish'                            'Beenden'
 
-'Choose the <B>type</B> of project you are about to build.'  'Wählen Sie die <B>Art</B> des Projekts, das gebaut werden soll.'
-'Choose an existing project definition or create a new one. These are subclasses of <I>ProjectDefinition</I> and define the type and contents of a project. Notice that the ID directly reflects the project''s location within the source code repository (module:directory/subdirectory...). If in doubt, use "&lt;yourname&gt;:demos/xxx_n".'   'Wählen Sie eine existierende Projektdefinition oder legen Sie eine neue an. Diese sind Subklassen von <I>ProjectDefinition</I> und definieren Art und Inhalt eines Projekts. Beachten Sie, dass die ID direkt mit der Position innerhalb der Quellcodeverwaltung korrespondiert (module:directory/subdirectory...). Im Zweifelsfall geben Sie als ID "&lt;ihrName&gt;:demos/xxx_n" an.'
-'Choose an existing application or create a new one. These are subclasses of <I>ApplicationModel</I> and define the GUI and control flow inside the application. Can also be left blank if the startup class does it all (stx build).'         'Wählen Sie eine existierende Anwendungsklasse oder legen Sie eine neue an. Diese sind Subklassen von <I>ApplicationModel</I> und definieren das GUI (Oberfläche) sowie den Kontrollfluss der Anwendung. Kann leer bleiben, falls die Start-Klasse dies bereits macht (z.B. beim Bauen von stx).'
-'Choose an existing startup-class or create a new one. These are subclasses of <I>StandaloneStartup</I> and start the application. Command line arguments can be interpreted there.'   'Wählen Sie eine existierende Start-Klasse oder legen Sie eine neue an. Diese sind Subklassen von <I>StandaloneStartup</I> und haben die Aufgabe, die eigentliche Anwendung zu starten. Kommandozeilen-Argumente werden typischerweise dort ausgewertet.'
-'Define which (other) classes are to be included. Press "<I>Scan</I>" to include all classes of the package; browse to edit the contents manually.'    'Definieren Sie (weitere) Klassen, welche im Paket beinhaltet sein sollen. Drücken Sie "<I>Aktualisieren/Scan</I>" um alle Klassen des mit dieser Paket-ID einzutragen. Verwenden Sie den Browser um die Liste manuell zu verwalten.'
-'Define which packages are needed as prerequisites. Press "<I>Scan</I>" to search for prerequisites; browse to edit the list manually.'    'Definieren Sie vorausgesetzte Pakete. Drücken Sie "<I>Aktualisieren/Scan</I>" um die Liste der benötigten Pakete automatisch zu erzeugen. Verwenden Sie den Browser um die Liste manuell zu verwalten.'
+'Choose the <B>type</B> of project you are about to build.'  'Whlen Sie die <B>Art</B> des Projekts, das gebaut werden soll.'
+'Choose an existing project definition or create a new one. These are subclasses of <I>ProjectDefinition</I> and define the type and contents of a project. Notice that the ID directly reflects the project''s location within the source code repository (module:directory/subdirectory...). If in doubt, use "&lt;yourname&gt;:demos/xxx_n".'   'Whlen Sie eine existierende Projektdefinition oder legen Sie eine neue an. Diese sind Subklassen von <I>ProjectDefinition</I> und definieren Art und Inhalt eines Projekts. Beachten Sie, dass die ID direkt mit der Position innerhalb der Quellcodeverwaltung korrespondiert (module:directory/subdirectory...). Im Zweifelsfall geben Sie als ID "&lt;ihrName&gt;:demos/xxx_n" an.'
+'Choose an existing application or create a new one. These are subclasses of <I>ApplicationModel</I> and define the GUI and control flow inside the application. Can also be left blank if the startup class does it all (stx build).'         'Whlen Sie eine existierende Anwendungsklasse oder legen Sie eine neue an. Diese sind Subklassen von <I>ApplicationModel</I> und definieren das GUI (Oberflche) sowie den Kontrollfluss der Anwendung. Kann leer bleiben, falls die Start-Klasse dies bereits macht (z.B. beim Bauen von stx).'
+'Choose an existing startup-class or create a new one. These are subclasses of <I>StandaloneStartup</I> and start the application. Command line arguments can be interpreted there.'   'Whlen Sie eine existierende Start-Klasse oder legen Sie eine neue an. Diese sind Subklassen von <I>StandaloneStartup</I> und haben die Aufgabe, die eigentliche Anwendung zu starten. Kommandozeilen-Argumente werden typischerweise dort ausgewertet.'
+'Define which (other) classes are to be included. Press "<I>Scan</I>" to include all classes of the package; browse to edit the contents manually.'    'Definieren Sie (weitere) Klassen, welche im Paket beinhaltet sein sollen. Drcken Sie "<I>Aktualisieren/Scan</I>" um alle Klassen des mit dieser Paket-ID einzutragen. Verwenden Sie den Browser um die Liste manuell zu verwalten.'
+'Define which packages are needed as prerequisites. Press "<I>Scan</I>" to search for prerequisites; browse to edit the list manually.'    'Definieren Sie vorausgesetzte Pakete. Drcken Sie "<I>Aktualisieren/Scan</I>" um die Liste der bentigten Pakete automatisch zu erzeugen. Verwenden Sie den Browser um die Liste manuell zu verwalten.'
 'Define additional attributes.'     'Definieren Sie weitere Attribute.'
-'Define where the build-process is to be performed. All generated files are created below that directory. After deployment, the build directory is no longer needed (but you can keep it for a faster compile the next time).'         'Geben Sie an, in welchem Verzeichnis gebaut werden soll. Alle erzeugten Dateien werden unter diesem Verzeichnis abgelegt. Nach der Lieferung wird dieses Verzeichnis nicht mehr benötigt (Sie können es aber behalten, um nachfolgende Übersetzungen (make) zu beschleunigen).'
-'Start the build-process. This will run make/bcc to compile all required classes and nsis to generate a self-installable executable. You must have the borland-cc and NullSoft NSIS packages installed for this to work.'      'Start des Bauprozesses. Dies wird make aufrufen, um alle benötigten Klassen zu übersetzen, und nsis um ein selbstinstallierendes Paket zu erzeugen. Sie müssen vorher borland-cc und das NullSoft NSIS Paket installiert haben.'
-'Start the build-process. This will run make+bcc/vc to compile all required classes and nsis to generate a self-installable executable. You must have the compiler (borland-bcc or visual-c) and NullSoft NSIS packages installed for this to work.'   'Start des Bauprozesses. Dazu wird make aufrufen, um alle benötigten Klassen zu übersetzen, und nsis um ein selbstinstallierendes Paket zu erzeugen. Sie müssen vorher einen Compiler (borland-bcc oder visual-c) und das NullSoft NSIS Paket installiert haben.'
-'Find the installer to be deployed (or test-run the binary). You can open a Windows-Explorer there to copy the files for deployment. After that, the build directory is no longer needed. However, you can keep it for a faster compile the next time.'    'Hier finden Sie das gebaute Lieferpaket (sowie die gebaute Anwendung zum Testlauf). Sie können hier einen Windows-Explorer öffnen, um die Dateien zur Auslieferung zu kopieren. Danach wird das Bauverzeichnis nicht mehr benötigt. Sie können es aber behalten, um nachfolgende Übersetzungen zu beschleunigen.'
+'Define where the build-process is to be performed. All generated files are created below that directory. After deployment, the build directory is no longer needed (but you can keep it for a faster compile the next time).'         'Geben Sie an, in welchem Verzeichnis gebaut werden soll. Alle erzeugten Dateien werden unter diesem Verzeichnis abgelegt. Nach der Lieferung wird dieses Verzeichnis nicht mehr bentigt (Sie knnen es aber behalten, um nachfolgende bersetzungen (make) zu beschleunigen).'
+'Start the build-process. This will run make/bcc to compile all required classes and nsis to generate a self-installable executable. You must have the borland-cc and NullSoft NSIS packages installed for this to work.'      'Start des Bauprozesses. Dies wird make aufrufen, um alle bentigten Klassen zu bersetzen, und nsis um ein selbstinstallierendes Paket zu erzeugen. Sie mssen vorher borland-cc und das NullSoft NSIS Paket installiert haben.'
+'Start the build-process. This will run make+bcc/vc to compile all required classes and nsis to generate a self-installable executable. You must have the compiler (borland-bcc or visual-c) and NullSoft NSIS packages installed for this to work.'   'Start des Bauprozesses. Dazu wird make aufrufen, um alle bentigten Klassen zu bersetzen, und nsis um ein selbstinstallierendes Paket zu erzeugen. Sie mssen vorher einen Compiler (borland-bcc oder visual-c) und das NullSoft NSIS Paket installiert haben.'
+'Find the installer to be deployed (or test-run the binary). You can open a Windows-Explorer there to copy the files for deployment. After that, the build directory is no longer needed. However, you can keep it for a faster compile the next time.'    'Hier finden Sie das gebaute Lieferpaket (sowie die gebaute Anwendung zum Testlauf). Sie knnen hier einen Windows-Explorer ffnen, um die Dateien zur Auslieferung zu kopieren. Danach wird das Bauverzeichnis nicht mehr bentigt. Sie knnen es aber behalten, um nachfolgende bersetzungen zu beschleunigen.'
 
 'GUI Application'                   'GUI Anwendung'
 'Non-GUI Application'               'nicht-GUI Anwendung'
@@ -203,18 +203,18 @@
 'Company Name'                      'Firmenname'
 
 'Existing Projects of this Type (PackageIDs)'   'Existierende Projekte dieser Art (Paket-IDs)'
-'Hide ST/X Base Packages'                       'ST/X Basispakete unterdrücken'
+'Hide ST/X Base Packages'                       'ST/X Basispakete unterdrcken'
 'New Project''s PackageID'                      'Neues Projekt (Paket-ID)'
 'Existing Projects with ProjectDefinition'      'Existierende Projekte mit Projekt-Definition'
-'Browse Selected Project'                       'Browser auf ausgewähltes Projekt'
+'Browse Selected Project'                       'Browser auf ausgewhltes Projekt'
 'New Application Class'                         'Neue Anwendungsklasse'
 'Existing Applications'                         'Existierende Anwendungsklasse'
-'Hide other Application Classes'                'Andere Anwendungsklassen unterdrücken'
+'Hide other Application Classes'                'Andere Anwendungsklassen unterdrcken'
 'Browse Selected Application'                   'Browser auf Anwendung'
 'Launch Selected Application'                   'Anwendung starten'
 'New Startup Class'                             'Neue Startklasse'
 'Existing Startup Classes'                      'Existierende Startklassen'
-'Hide other Startup Classes'                    'Andere Startklassen unterdrücken'
+'Hide other Startup Classes'                    'Andere Startklassen unterdrcken'
 'Browse Selected StartupClass'                  'Browser auf Startklasse'
 'Browse Project Definition'                     'Browser auf Projektdefinition'
 'Update Contents (Scan)'                        'Liste Aktualisieren (durchsuchen)'
@@ -241,7 +241,7 @@
 'modifications of: %1'                   'Schreibzugriffe auf: %1'
 'references to: %1'                      'Zugriffe auf: %1'
 'supersends (in and below %1)'           'Super-Sends (in und unter %1)'
-'Only the selected method(s) found.\Browse anyway'  'Nur die bereits ausgewählte(n) Methode(n) gefunden.\Dennoch browsen'
+'Only the selected method(s) found.\Browse anyway'  'Nur die bereits ausgewhlte(n) Methode(n) gefunden.\Dennoch browsen'
 'Search Again'                           'Neue Suche'
 
 'System Browser'        'Systembrowser'
@@ -251,23 +251,23 @@
 fileOut                 'sichern (fileOut)'
 'fileOut each'          'einzeln sichern (fileOut)'
 'fileOut all'           'alle sichern'
-; 'fileOut binary'        'binär sichern'
-'SPAWN_CATEGORY'        'Browser für Kategorie'
-'spawn full class'      'Browser für ganze Klassen'
+; 'fileOut binary'        'binr sichern'
+'SPAWN_CATEGORY'        'Browser fr Kategorie'
+'spawn full class'      'Browser fr ganze Klassen'
 update                  'aktualisieren'
 
 ; 'class to find'                  'Name der Klasse'
 'name of new class category:'    'Name der neuen Klassenkategorie:'
-'select a class category first'  'keine Klassenkategorie ist ausgewählt'
-'select a class first'           'keine Klasse ist ausgewählt'
-'select a method category first' 'keine Methodenkategorie ist ausgewählt'
-'select a method first'          'keine Methode ist ausgewählt'
+'select a class category first'  'keine Klassenkategorie ist ausgewhlt'
+'select a class first'           'keine Klasse ist ausgewhlt'
+'select a method category first' 'keine Methodenkategorie ist ausgewhlt'
+'select a method first'          'keine Methode ist ausgewhlt'
 'no class named: %1'             'es gibt keine Klasse mit Name: %1'
 
-'SPAWN_CLASS'          'Browser für Klasse'
-'spawn full protocol'  'Browser für Protokoll'
-'spawn hierarchy'      'Browser für Hierarchie'
-'spawn subclasses'     'Browser für Subklassen'
+'SPAWN_CLASS'          'Browser fr Klasse'
+'spawn full protocol'  'Browser fr Protokoll'
+'spawn hierarchy'      'Browser fr Hierarchie'
+'spawn subclasses'     'Browser fr Subklassen'
 hierarchy              'Hierarchie'
 definition             'Definition'
 comment                'Kommentar'
@@ -287,18 +287,18 @@
 'all instvar mods'  'alle Modifikationen einer Instanzvariable'
 'all classvar mods' 'alle Modifikationen einer Klassenvariable'
 
-'SPAWN_METHODCATEGORY'          'Browser für Methodenkategorie'
-'spawn category'                'Browser für komplette Kategorie'
+'SPAWN_METHODCATEGORY'          'Browser fr Methodenkategorie'
+'spawn category'                'Browser fr komplette Kategorie'
 'new category'                  'neue Kategorie'
 
-'SPAWN_METHOD'          'Browser für Methode'
+'SPAWN_METHOD'          'Browser fr Methode'
 'globals'               'Globale'
 'string search'         'Zeichenkette suchen'
-'apropos'               'Schlüsselwort suchen'
+'apropos'               'Schlsselwort suchen'
 'local senders'         'lokale Sender'
 'local implementors'    'lokale Implementierungen'
 'local string search'   'Zeichenkette lokal suchen'
-'local apropos'         'Schlüsselwort lokal suchen'
+'local apropos'         'Schlsselwort lokal suchen'
 
 'breakpoint'            'Haltepunkt'
 'BreakPoint'            'Haltepunkt'
@@ -315,7 +315,7 @@
 'Format Code (PrettyPrint)'     'Code formatieren (PrettyPrint)'
 'Format code (PrettyPrint)'     'Code formatieren (PrettyPrint)'
 'new method'            'neue Methode'
-'change category'       'Kategorie ändern'
+'change category'       'Kategorie ndern'
 
 'instance variable to browse references to:' 'Instanzvariable auf die Zugriffe gesucht werden:'
 'class variable to browse references to:'    'Klassenvariable auf die Zugriffe gesucht werden:'
@@ -352,14 +352,14 @@
 'remove %1\(with %2 methods) ?'     '%1 entfernen ? (mit %2 Methoden)'
 'remove %1\(with 1 method) ?'       '%1 entfernen ? (mit 1 Methode)'
 
-'text has not been accepted.\\Your modifications will be lost when continuing'  'geänderter Text wurde nicht gesichert.\\Bei Fortfahren gehen ihre Änderungen verloren'
-'Code was modified.\\Change selection anyway'                                   'Geänderter Text wurde nicht gesichert.\\Auswahl dennoch ändern'
-'Modifications have not been saved.\\Exit anyway'                               'Änderungen wurden nicht gesichert.\\Dennoch beenden'
-'Modifications have not been saved.\\Change selection anyway'                   'Änderungen wurden nicht gesichert.\\Auswahl dennoch ändern'
-'Modifications have not been saved.\\Remove buffer anyway'                      'Änderungen wurden nicht gesichert.\\Seite dennoch entfernen'
-'Code was modified.\\Remove buffer anyway'                                      'Änderungen wurden nicht gesichert.\\Seite dennoch entfernen'
-'Modifications have not been saved.\\Your changes will be lost when continuing' 'Geänderter Text wurden nicht gesichert.\\Bei Fortfahren gehen ihre Änderungen verloren'
-'Buffer "%1" was modified.\\Exit anyway'                                        'Änderungen in "%1" wurden nicht gesichert.\\Dennoch beenden'
+'text has not been accepted.\\Your modifications will be lost when continuing'  'genderter Text wurde nicht gesichert.\\Bei Fortfahren gehen ihre nderungen verloren'
+'Code was modified.\\Change selection anyway'                                   'Genderter Text wurde nicht gesichert.\\Auswahl dennoch ndern'
+'Modifications have not been saved.\\Exit anyway'                               'nderungen wurden nicht gesichert.\\Dennoch beenden'
+'Modifications have not been saved.\\Change selection anyway'                   'nderungen wurden nicht gesichert.\\Auswahl dennoch ndern'
+'Modifications have not been saved.\\Remove buffer anyway'                      'nderungen wurden nicht gesichert.\\Seite dennoch entfernen'
+'Code was modified.\\Remove buffer anyway'                                      'nderungen wurden nicht gesichert.\\Seite dennoch entfernen'
+'Modifications have not been saved.\\Your changes will be lost when continuing' 'Genderter Text wurden nicht gesichert.\\Bei Fortfahren gehen ihre nderungen verloren'
+'Buffer "%1" was modified.\\Exit anyway'                                        'nderungen in "%1" wurden nicht gesichert.\\Dennoch beenden'
 
 'compare'                           'vergleichen'
 'Attention'                         'Achtung'
@@ -377,7 +377,7 @@
 abort                   'Abbruch'
 'cancel'                'abbrechen'
 ; abort                   'abbrechen'
-accept                  'übernehmen'
+accept                  'bernehmen'
 continue                'weiter'
 
 'references to undeclared variables'            'Referenzen auf unbekannte Variable'
@@ -385,24 +385,24 @@
 '...\\... none found.'                          '...\\... keine gefunden.'
 
 
-'Keyword Index'          'Schlüsselwort Index'
-
-HELP_CCAT_LIST   'zeigt Klassenkategorien.\Jede Klasse wird einer solchen Kategorie zugeordnet,\um die Übersichtlichkeit zu erhöhen.\Wählen Sie eine Kategorie aus, um die Klassen zu sehen.\Der spezielle Eintrag ``all'''' gibt ihnen eine vollständige alphabetische Liste;\wohingegen ``hierarchy'''' die Klassen nach ihrer Vererbungshierarchie sortiert.\\Semantisch haben Klassenkategorien keine Bedeutung.'
-HELP_CLASS_LIST  'zeigt die Klassen entsprechend der gewählten Kategorie.\Wählen Sie eine Klasse um deren Definition und Methoden anzuzeigen.'
-HELP_HCLASS_LIST 'zeigt die Klassen entlang der Vererbungskette.\Wählen Sie eine Klasse um deren Definition und Methoden anzuzeigen.'
-HELP_PCLASS_LIST 'zeigt die Klassen entlang der Vererbungskette.\Einzelne Klassen können ausgestrichen werden,\womit ihr Protokoll in den Methodenlisten nicht berücksichtigt wird.'
-HELP_MCAT_LIST   'zeigt Methodenkategorien.\Entsprechend der Klassenkategorien werden auch Methoden einer\Kategorie zugeordnet. Auch dies dient nur der Übersicht und hat\keine semantische Bedeutung.'
-HELP_METHOD_LIST 'zeigt Methoden sortiert nach Selektor.\Auswahl eines Selektors zeigt den Quellcode unten.\Sie finden nützliche Such- und Debugfunktionen im Menu des Fensters.'
+'Keyword Index'          'Schlsselwort Index'
+
+HELP_CCAT_LIST   'zeigt Klassenkategorien.\Jede Klasse wird einer solchen Kategorie zugeordnet,\um die bersichtlichkeit zu erhhen.\Whlen Sie eine Kategorie aus, um die Klassen zu sehen.\Der spezielle Eintrag ``all'''' gibt ihnen eine vollstndige alphabetische Liste;\wohingegen ``hierarchy'''' die Klassen nach ihrer Vererbungshierarchie sortiert.\\Semantisch haben Klassenkategorien keine Bedeutung.'
+HELP_CLASS_LIST  'zeigt die Klassen entsprechend der gewhlten Kategorie.\Whlen Sie eine Klasse um deren Definition und Methoden anzuzeigen.'
+HELP_HCLASS_LIST 'zeigt die Klassen entlang der Vererbungskette.\Whlen Sie eine Klasse um deren Definition und Methoden anzuzeigen.'
+HELP_PCLASS_LIST 'zeigt die Klassen entlang der Vererbungskette.\Einzelne Klassen knnen ausgestrichen werden,\womit ihr Protokoll in den Methodenlisten nicht bercksichtigt wird.'
+HELP_MCAT_LIST   'zeigt Methodenkategorien.\Entsprechend der Klassenkategorien werden auch Methoden einer\Kategorie zugeordnet. Auch dies dient nur der bersicht und hat\keine semantische Bedeutung.'
+HELP_METHOD_LIST 'zeigt Methoden sortiert nach Selektor.\Auswahl eines Selektors zeigt den Quellcode unten.\Sie finden ntzliche Such- und Debugfunktionen im Menu des Fensters.'
 HELP_CLSMTHOD_LIST 'zeigt Methoden entsprechend ihrer Recherche.\\Auswahl einer Zeile zeigt den Quellcode unten.'
-HELP_VAR_LIST    'zeigt Instanz- bzw. Klassenvariable\der ausgewählten Klasse.\Geerbte Variable werden ebenfalls angezeigt.\Bei Auswahl werden alle Methoden die auf diese Variable\zugreifen in der Methodenliste hervorgehoben.\Außerdem besitzt das Fenster ein Menu mit weiteren Suchfunktionen.'
-HELP_CODE_VIEW   'zeigt die Definition bzw. den Quellcode der ausgewählten Klasse bzw. Methode.\Sie können den Text bearbeiten und Änderungen mit ``übernehmen'''' installieren.'
-HELP_FULLCODE_VIEW   'zeigt den gesamten Quellcode der ausgewählten Klasse im ``fileOut'''' format.\Sie können den Text bearbeiten und Änderungen mit ``übernehmen'''' installieren.'
-HELP_INST_CLASS_TOGGLE  'Schaltet um zwischen Instanz- und Klassenprotokoll.\\Das Instanzprotokoll wird von Objekten verstanden,\die Instanzen der ausgewählten Klasse oder einer Subklasse sind;\das Klassenprotokoll von den Klassenobjekten selbst.'
-HELP_NS_BOX             'Filter für Namesraum. Es werden nur Klassen im ausgewählten Namesraum angezeigt.'
-
-'WARN_RENAME'           'Eine Klasse mit diesem Namen existiert bereits (in ''%2'').\\Falls Sie fortfahren, wird diese wird nicht mehr sichtbar sein (i.e. gelöscht).\\Fortfahren ?'
-'CREATE_REPOSITORY'     'Anlegen eines neuen Quellcode-Containers für %1.\\'
-'CHANGE_REPOSITORY'     'Ändern des Quellcode-Containers für %1.\\'
+HELP_VAR_LIST    'zeigt Instanz- bzw. Klassenvariable\der ausgewhlten Klasse.\Geerbte Variable werden ebenfalls angezeigt.\Bei Auswahl werden alle Methoden die auf diese Variable\zugreifen in der Methodenliste hervorgehoben.\Auerdem besitzt das Fenster ein Menu mit weiteren Suchfunktionen.'
+HELP_CODE_VIEW   'zeigt die Definition bzw. den Quellcode der ausgewhlten Klasse bzw. Methode.\Sie knnen den Text bearbeiten und nderungen mit ``bernehmen'''' installieren.'
+HELP_FULLCODE_VIEW   'zeigt den gesamten Quellcode der ausgewhlten Klasse im ``fileOut'''' format.\Sie knnen den Text bearbeiten und nderungen mit ``bernehmen'''' installieren.'
+HELP_INST_CLASS_TOGGLE  'Schaltet um zwischen Instanz- und Klassenprotokoll.\\Das Instanzprotokoll wird von Objekten verstanden,\die Instanzen der ausgewhlten Klasse oder einer Subklasse sind;\das Klassenprotokoll von den Klassenobjekten selbst.'
+HELP_NS_BOX             'Filter fr Namesraum. Es werden nur Klassen im ausgewhlten Namesraum angezeigt.'
+
+'WARN_RENAME'           'Eine Klasse mit diesem Namen existiert bereits (in ''%2'').\\Falls Sie fortfahren, wird diese wird nicht mehr sichtbar sein (i.e. gelscht).\\Fortfahren ?'
+'CREATE_REPOSITORY'     'Anlegen eines neuen Quellcode-Containers fr %1.\\'
+'CHANGE_REPOSITORY'     'ndern des Quellcode-Containers fr %1.\\'
 
 Category                'Kategorie'
 Class                   'Klasse'
@@ -413,7 +413,7 @@
 'Other'                 'Weitere'
 
 'Spawn'                 'Neuer Browser'
-'Spawn class'           'Browser für Klasse'
+'Spawn class'           'Browser fr Klasse'
 
 'File Browser'           'Dateibrowser'
 instance                 'Instanz'
@@ -423,11 +423,11 @@
 'FileOut As'           'Sichern als'
 'FileOut Each'            'Einzeln sichern'
 'FileOut Each In'      'Einzeln sichern in'
-'FileOut Each Binary In'  'Einzeln binär sichern in'
+'FileOut Each Binary In'  'Einzeln binr sichern in'
 'FileOut All'             'Alle sichern'
-'FileOut Binary'          'Binär sichern'
-'FileOut Each Binary'  'Einzeln binär sichern'
-'FileOut Binary As'    'Binär sichern als'
+'FileOut Binary'          'Binr sichern'
+'FileOut Each Binary'  'Einzeln binr sichern'
+'FileOut Binary As'    'Binr sichern als'
 PrintOut                  'Drucken'
 ; 'printOut protocol'       'drucken - nur Protokoll'
 ; 'PrintOut Protocol'       'Drucken - nur Protokoll'
@@ -436,58 +436,58 @@
 'Print out Protocol'      'Protokoll drucken'
 'PrintOut Protocol'       'Protokoll drucken'
 'Clone'                   'Browser duplizieren'
-'Open for Class'       'Öffnen für Klasse'
-'Open'                    'Öffnen'
-'Browse Class'              'Browser für Klasse'
+'Open for Class'       'ffnen fr Klasse'
+'Open'                    'ffnen'
+'Browse Class'              'Browser fr Klasse'
 ; 'Browse Class'              'Klasse bearbeiten'
-'browse class'              'Browser für Klasse'
+'browse class'              'Browser fr Klasse'
 'Browse Full Class Source'  'Browser auf gesamten Quellcode'
 'Browse Class Extensions'   'Browser auf Erweiterungen'
 
-'SPAWN_CATEGORY'          'Browser für Kategorie'
-'Spawn Category'          'Browser für Kategorie'
-'Spawn Category'       'Browser für Kategorie'
-'Spawn Full Class'          'Browser für ganze Klassen'
-'Spawn Full Class Browser'  'Browser für ganze Klassen'
-'Full Class Source'         'Browser für ganze Klassen'
-'Spawn Extensions'          'Browser für Erweiterungen'
-'Spawn Extensions Browser'  'Browser für Erweiterungen'
-'Class Extensions'        'Browser für Erweiterungen'
+'SPAWN_CATEGORY'          'Browser fr Kategorie'
+'Spawn Category'          'Browser fr Kategorie'
+'Spawn Category'       'Browser fr Kategorie'
+'Spawn Full Class'          'Browser fr ganze Klassen'
+'Spawn Full Class Browser'  'Browser fr ganze Klassen'
+'Full Class Source'         'Browser fr ganze Klassen'
+'Spawn Extensions'          'Browser fr Erweiterungen'
+'Spawn Extensions Browser'  'Browser fr Erweiterungen'
+'Class Extensions'        'Browser fr Erweiterungen'
 'Find Class'           'Klasse suchen'
 'Method'               'Methode'
 'New Class Category'   'Neue Kategorie anlegen'
 'Visited Classes'         'Besuchte Klassen'
 'Visited History'         'Besuchte Klassen'
-'Changed History'         'Historie - geänderte Methoden'
-'Changed Methods'         'Geänderte Methoden'
+'Changed History'         'Historie - genderte Methoden'
+'Changed Methods'         'Genderte Methoden'
 'Class History'           'Historie'
 'Rename'               'Umbenennen'
 ; Remove                    'Entfernen'
 'Remove'               'Entfernen'
 
 'browse or search class'         'Klasse suchen'
-'class to find (Tab to complete or use matchPattern):' 'Name der Klasse (mit Tab vervollständigen oder Suchmuster):'
-'class to browse (Tab to complete or use matchPattern):' 'Name der Klasse (mit Tab vervollständigen oder Suchmuster):'
+'class to find (Tab to complete or use matchPattern):' 'Name der Klasse (mit Tab vervollstndigen oder Suchmuster):'
+'class to browse (Tab to complete or use matchPattern):' 'Name der Klasse (mit Tab vervollstndigen oder Suchmuster):'
 'class to browse:'               'Name der Klasse:'
-'open new'                       'öffnen'
+'open new'                       'ffnen'
 'find here'                      'hier suchen'
 'name of new class category:'    'Name der neuen Klassenkategorie:'
 'Name of new class category:'    'Name der neuen Klassenkategorie:'
-'select a class category first'  'keine Klassenkategorie ist ausgewählt'
-'select a class first'           'keine Klasse ist ausgewählt'
-'select a method category first' 'keine Methodenkategorie ist ausgewählt'
-'select a method first'          'keine Methode ist ausgewählt'
+'select a class category first'  'keine Klassenkategorie ist ausgewhlt'
+'select a class first'           'keine Klasse ist ausgewhlt'
+'select a method category first' 'keine Methodenkategorie ist ausgewhlt'
+'select a method first'          'keine Methode ist ausgewhlt'
 'no class named: %1'             'es gibt keine Klasse mit Name: %1'
 'selector to find:'              'zu suchender Selektor:'
-'selector to find:\\(Tab to complete or use matchPattern)' 'zu suchender Selektor:\\(mit Tab vervollständigen oder Suchmuster)'
+'selector to find:\\(Tab to complete or use matchPattern)' 'zu suchender Selektor:\\(mit Tab vervollstndigen oder Suchmuster)'
 '#%1\\in which class ?'          '#%1\\in welcher Klasse ?'
 'show'                           'anzeigen'
 'create category'                'Kategorie anlegen'
 
 'Repository history'     'Historie aus Quellcodeverwaltung'
 'Repository History'     'Historie aus Quellcodeverwaltung'
-'Validate class revisions'  'Aktualität aller Klassen prüfen'
-'Validate Class Revisions'  'Aktualität aller Klassen prüfen'
+'Validate class revisions'  'Aktualitt aller Klassen prfen'
+'Validate Class Revisions'  'Aktualitt aller Klassen prfen'
 'Load from repository'   'Aus Quellcodeverwaltung laden'
 'Load from repository'      'Aus Quellcodeverwaltung laden'
 'Load from Repository'      'Aus Quellcodeverwaltung laden'
@@ -495,23 +495,23 @@
 'Modules'                   'Module'
 'Packages'                  'Pakete'
 'Package'                   'Paket'
-'Containers'                'Behälter'
+'Containers'                'Behlter'
 'Load'                      'Laden'
-'Dismiss'                   'Schließen'
-
-'Spawn'                  'Browser für'
+'Dismiss'                   'Schlieen'
+
+'Spawn'                  'Browser fr'
 'Full protocol'             'Gesamtes Protokoll'
 'Full Protocol'             'Gesamtes Protokoll'
 'Local Protocol'            'Lokales Protokoll'
-'Show Temporaries'          'Temporäre Variable anzeigen'
-'Hide Temporaries'          'Temporäre Variable nicht anzeigen'
+'Show Temporaries'          'Temporre Variable anzeigen'
+'Hide Temporaries'          'Temporre Variable nicht anzeigen'
 'Hierarchy'                 'Hierarchie'
 'Subclasses'                'Subklassen'
 
-'SPAWN_CLASS'               'Browser für Klasse'
-'spawn full protocol'       'Browser für Protokoll'
-'spawn hierarchy'           'Browser für Hierarchie'
-'spawn subclasses'          'Browser für Subklassen'
+'SPAWN_CLASS'               'Browser fr Klasse'
+'spawn full protocol'       'Browser fr Protokoll'
+'spawn hierarchy'           'Browser fr Hierarchie'
+'spawn subclasses'          'Browser fr Subklassen'
 hierarchy                   'Hierarchie'
 Definition                  'Definition'
 Comment                     'Kommentar'
@@ -532,11 +532,11 @@
 'Private class'                 'Private Klasse'
 'Private Class'                 'Private Klasse'
 'Make Private Class In'            'Zu privater Klasse konvertieren'
-'Make Public Class'                   'Zu öffentlicher Klasse konvertieren'
+'Make Public Class'                   'Zu ffentlicher Klasse konvertieren'
 'name of owner class:'          'Name der besitzenden Klasse:'
 'no class named ''%1'' found - try again.' 'Es gibt keine ''%1''-Klasse - bitte versuchen Sie es nochmal.'
-'a private class named ''%1'' already exists in ''%2''.\\Please remove/rename that one first,\or rename the public class ''%1'' here\and try again.' 'es existiert bereits eine private Klasse ''%1'' in ''%2''.\\Bitte diese zuerst entfernen oder umbenennen,\oder benennen Sie die öffentliche Klasse ''%1'' hier um\und versuchen es nochmal.'
-'a public class named ''%1'' already exists.\\Please remove/rename that one first,\or rename the private class ''%1'' here\and try again.' 'es existiert bereits eine öffentliche Klasse ''%1''.\\Bitte diese zuerst entfernen oder umbenennen,\oder benennen Sie die private Klasse ''%1'' hier um\und versuchen es nochmal.'
+'a private class named ''%1'' already exists in ''%2''.\\Please remove/rename that one first,\or rename the public class ''%1'' here\and try again.' 'es existiert bereits eine private Klasse ''%1'' in ''%2''.\\Bitte diese zuerst entfernen oder umbenennen,\oder benennen Sie die ffentliche Klasse ''%1'' hier um\und versuchen es nochmal.'
+'a public class named ''%1'' already exists.\\Please remove/rename that one first,\or rename the private class ''%1'' here\and try again.' 'es existiert bereits eine ffentliche Klasse ''%1''.\\Bitte diese zuerst entfernen oder umbenennen,\oder benennen Sie die private Klasse ''%1'' hier um\und versuchen es nochmal.'
 'new class'                     'Neue Klasse'
 'New Class'                     'Neue Klasse'
 'new application'               'Neue Applikation'
@@ -562,7 +562,7 @@
 'C-Objects'                             'C-Objekte'
 
 'filter'                        'Filter'
-'browse full'                   'Browser für gesamte Klasse'
+'browse full'                   'Browser fr gesamte Klasse'
 
 'Inspect'                       'Inspizieren'
 'Inspect Class'                 'Klasse inspizieren'
@@ -572,7 +572,7 @@
 
 'Include in Project as Compiled Class'      'Im Projekt als kompilierte Klasse eintragen'
 'Include in Project as Autoloaded Class'    'Im Projekt als nachgeladene Klasse eintragen (autoload)'
-'Exclude from Project'                      'Aus dem Projekt ausschließen'
+'Exclude from Project'                      'Aus dem Projekt ausschlieen'
 
 'Primitive Definitions'         'Primitive Definitionen'
 'Primitive Functions'           'Primitive Funktionen'
@@ -582,8 +582,8 @@
 
 'source container'           'Container in der Quellcodeverwaltung'
 'Source Container'           'Container in der Quellcodeverwaltung'
-'remove source container'    'Löschen des Quellcode-Containers'
-'Remove Source Container'    'Löschen des Quellcode-Containers'
+'remove source container'    'Lschen des Quellcode-Containers'
+'Remove Source Container'    'Lschen des Quellcode-Containers'
 'revision info'                 'Informationen zur Version'
 'revision log'                  'Informationen zu den Versionen'
 'Revision Log'                  'Informationen zu den Versionen'
@@ -598,7 +598,7 @@
 'Load from repository'          'Laden aus der Quellcodeverwaltung'
 'Load from Repository'          'Laden aus der Quellcodeverwaltung'
 
-'enter log message for: %1'         'Eintrag in der Log-Liste für: %1'
+'enter log message for: %1'         'Eintrag in der Log-Liste fr: %1'
 '(any in nameSpace ''%1'')'         '(Alle im Namensraum ''%1'')'
 '(any in classCategory ''%1'')'     '(Alle unter der Kategorie ''%1'')'
 'No classes in nameSpace ''%''.'    'Keine Klassen im Namensraum ''%1''.'
@@ -619,33 +619,33 @@
 'show classVars'                'Klassen-Variable zeigen'
 'type information'              'Typinfo'
 
-'SPAWN_METHODCATEGORY'          'Browser für Methodenkategorie'
-'spawn category'                'Browser für komplette Kategorie'
-'spawn category'                'Browser für komplette Kategorie'
+'SPAWN_METHODCATEGORY'          'Browser fr Methodenkategorie'
+'spawn category'                'Browser fr komplette Kategorie'
+'spawn category'                'Browser fr komplette Kategorie'
 'copy category'                 'Kategorie kopieren'
 'Copy Category'                 'Kategorie kopieren'
 'new category'                  'Neue Kategorie'
 'New Category'                  'Neue Kategorie'
-'Access Methods (for ''%1'')'   'Zugriffsmethoden (für ''%1'')'
-'Access Methods (for All)'      'Zugriffsmethoden (für alle)'
-'Access Methods for All'        'Zugriffsmethoden für alle'
-'Getter Method(s) for All'      'Get-Methode(n) für alle'
-'Setter Method(s) for All'      'Set-Methode(n) für alle'
-'Access Methods with Change Notification (for ''%1'')'  'Zugriffsmethoden mit change-Nachricht (für ''%1'')'
-'Access Methods with Change Notification (for All)'     'Zugriffsmethoden mit change-Nachricht (für alle)'
+'Access Methods (for ''%1'')'   'Zugriffsmethoden (fr ''%1'')'
+'Access Methods (for All)'      'Zugriffsmethoden (fr alle)'
+'Access Methods for All'        'Zugriffsmethoden fr alle'
+'Getter Method(s) for All'      'Get-Methode(n) fr alle'
+'Setter Method(s) for All'      'Set-Methode(n) fr alle'
+'Access Methods with Change Notification (for ''%1'')'  'Zugriffsmethoden mit change-Nachricht (fr ''%1'')'
+'Access Methods with Change Notification (for All)'     'Zugriffsmethoden mit change-Nachricht (fr alle)'
 'Documentation Stubs'                   'Dokumentationsmethoden'
-'Initial Dialog Code'                   'Code-Skelett für leeren Dialog'
-'Initial Applicaion Code'               'Code-Skelett für leeren Anwendung'
-'Standard update Method Template'       'Skelett für update Methode'
+'Initial Dialog Code'                   'Code-Skelett fr leeren Dialog'
+'Initial Applicaion Code'               'Code-Skelett fr leeren Anwendung'
+'Standard update Method Template'       'Skelett fr update Methode'
 
 'create access methods'               'Zugriffsmethoden erzeugen'
-'create access methods (for ''%1'')'  'Zugriffsmethoden erzeugen (für ''%1'')'
-'create access methods (for all)'     'Zugriffsmethoden erzeugen (für alle)'
-'create access methods with change message (for ''%1'')'  'Zugriffsmethoden mit change-Nachricht erzeugen (für ''%1'')'
-'create access methods with change message (for all)'     'Zugriffsmethoden mit change-Nachricht erzeugen (für alle)'
+'create access methods (for ''%1'')'  'Zugriffsmethoden erzeugen (fr ''%1'')'
+'create access methods (for all)'     'Zugriffsmethoden erzeugen (fr alle)'
+'create access methods with change message (for ''%1'')'  'Zugriffsmethoden mit change-Nachricht erzeugen (fr ''%1'')'
+'create access methods with change message (for all)'     'Zugriffsmethoden mit change-Nachricht erzeugen (fr alle)'
 'create documentation stubs'        'Dokumentationsmethoden erzeugen'
-'create initial dialog code'        'Codeskelett für leeren Dialog erzeugen'
-'create initial applicaion code'    'Codeskelett für leeren Anwendung erzeugen'
+'create initial dialog code'        'Codeskelett fr leeren Dialog erzeugen'
+'create initial applicaion code'    'Codeskelett fr leeren Anwendung erzeugen'
 'category to browse methods (matchPattern allowed):'   'Kategorie (Suchmuster erlaubt):'
 
 'find method'           'Methode suchen'
@@ -656,22 +656,22 @@
 'copy methods'          'Methoden kopieren'
 'Copy Methods'          'Methoden kopieren'
 
-'SPAWN_METHOD'             'Browser für Methode'
+'SPAWN_METHOD'             'Browser fr Methode'
 'senders'              'Sender'
 'Senders'              'Sender'
 'Sender'               'Sender'
 'Implementors'         'Implementierungen'
 'Globals'              'Globale'
 'String Search'        'Zeichenkette suchen'
-'Apropos'              'Schlüsselwort suchen'
+'Apropos'              'Schlsselwort suchen'
 'Local Senders'        'lokale Sender'
 'Local Implementors'   'lokale Implementierungen'
 'Local String Search'  'Zeichenkette lokal suchen'
-'Local Apropos'        'Schlüsselwort lokal suchen'
-
-'Back to Previous'         'Zurück zur vorigen Version'
-; 'Back to previous'      'Zurück zur vorigen Version'
-'Back to Previous Version'  'Zurück zur vorigen Version'
+'Local Apropos'        'Schlsselwort lokal suchen'
+
+'Back to Previous'         'Zurck zur vorigen Version'
+; 'Back to previous'      'Zurck zur vorigen Version'
+'Back to Previous Version'  'Zurck zur vorigen Version'
 'Compare with Previous'    'Vergleich mit voriger Version'
 ; 'Compare with Previous'    'Mit voriger Version vergleichen'
 'With Newest in CVS Repository'    'Mit neuester im CVS Repository'
@@ -681,17 +681,17 @@
 ; 'Trace'                  'Aufruf protokollieren'
 'Trace Sender'           'Aufrufer protokollieren'
 'Trace Full Walkback'    'Aufrufkette komplett protokollieren'
-'Start Counting'         'Aufrufzähler an'
-'Start Mem Usage'        'Speicherzähler an'
-'Stop Counting'          'Aufrufzähler aus'
-'Stop Mem Usage'         'Speicherzähler aus'
+'Start Counting'         'Aufrufzhler an'
+'Start Mem Usage'        'Speicherzhler an'
+'Stop Counting'          'Aufrufzhler aus'
+'Stop Mem Usage'         'Speicherzhler aus'
 'Start Timing'           'Zeitmessung an'
 'Stop Timing'            'Zeitmessung aus'
 'Start Memory Usage'     'Speicherbedarfsmessung an'
 'Stop Memory Usage'      'Speicherbedarfsmessung aus'
-'Run Tests'              'Tests durchführen'
-'Debug Tests'            'Tests mit Debug durchführen'
-'Run Tests for Coverage'                'Tests zur Überdeckungsanalyse durchführen'
+'Run Tests'              'Tests durchfhren'
+'Debug Tests'            'Tests mit Debug durchfhren'
+'Run Tests for Coverage'                'Tests zur berdeckungsanalyse durchfhren'
 
 'stop if method is executed by process:\\(current process is %1)'  'Anhalten wenn Methode in Prozess aufgerufen wird:\\(aktiver Prozess ist %1)'
 
@@ -701,20 +701,20 @@
 'New Menu spec'          'Neue MenuSpec Methode'
 'new image spec'         'Neue ImageSpec Methode'
 'New Image spec'         'Neue ImageSpec Methode'
-'Change Category'     'Kategorie ändern'
-'Change category from ''%1'' to:' 'Kategorie ändern; von ''%1'' nach:'
-'Change category'        'Kategorie ändern'
-'Change'                 'Ändern'
+'Change Category'     'Kategorie ndern'
+'Change category from ''%1'' to:' 'Kategorie ndern; von ''%1'' nach:'
+'Change category'        'Kategorie ndern'
+'Change'                 'ndern'
 
 ; 'move'                 'In andere Klasse verlagern'
 'Move To'              'In andere Klasse verlagern'
 'Copy To'              'In andere Klasse kopieren'
-'Copy this method to which class:'     'Ausgewählte Methode kopieren nach Klasse:'
-'Move current method to which class:'  'Ausgewählte Methode verlagern nach Klasse:'
-'Move this method to which class:'     'Ausgewählte Methode verlagern nach Klasse:'
+'Copy this method to which class:'     'Ausgewhlte Methode kopieren nach Klasse:'
+'Move current method to which class:'  'Ausgewhlte Methode verlagern nach Klasse:'
+'Move this method to which class:'     'Ausgewhlte Methode verlagern nach Klasse:'
 'Move method'             'Methode verlagern'
 ; 'Move'                    'Verlagern'
-'Move'                    'Übertragen'
+'Move'                    'bertragen'
 'Visibility'              'Sichtbarkeit'
 'Mark as Obsolete'        'Als obsolet markieren'
 
@@ -725,8 +725,8 @@
 'Compare source'        'Quelltext vergleichen'
 'Compare Against'       'Quelltext vergleichen'
 'Inspect Method'          'Methodenobjekt inspizieren'
-'compile to machine code' 'in Maschinencode übersetzen'
-'stc-compile'             'Mit stc in Maschinencode übersetzen'
+'compile to machine code' 'in Maschinencode bersetzen'
+'stc-compile'             'Mit stc in Maschinencode bersetzen'
 'decompile'               'Bytecodes anzeigen'
 
 'Make Private'            'Nur private Aufrufe zulassen'
@@ -752,14 +752,14 @@
 'Selector to browse senders of'              'Selektor dessen Sender gesucht werden'
 'Selector to browse local senders of'        'Selektor dessen Sender lokal gesucht werden'
 'Method selector to search for'              'Selektor dessen Methode gesucht wird'
-'Keyword to search for'                            'Zu suchendes Schlüsselwort'
-'Keyword to search for (in selector & comment)'    'Zu suchendes Schlüsselwort (im Selektor & Kommentar)'
+'Keyword to search for'                            'Zu suchendes Schlsselwort'
+'Keyword to search for (in selector & comment)'    'Zu suchendes Schlsselwort (im Selektor & Kommentar)'
 'String to search for in sources'            'In Quelltexten zu suchende Zeichenkette'
 'Name of new method category'                'Name der anzulegenden Kategorie'
 'Search in'                                  'Suchen in'
 'Metaclasses Only'                           'Nur Metaklassen'
 'Classes Only'                               'Nur Klassen'
-'everywhere'                                 'überall'
+'everywhere'                                 'berall'
 'current nameSpace'                          'in diesem Namensraum'
 'current nameSpace (''%1'')'                 'Namensraum (''%1'')'
 'current nameSpace ("%1")'                   'Namensraum ("%1")'
@@ -782,13 +782,13 @@
 'owners & all their private classes'                    'Besitzer & alle private Klassen'
 'owners & their subclasses & all their private classes' 'Besitzer & alle Subklassen & alle private Klassen'
 'methodlist'                                 'Methodenliste'
-'selected methods'                           'Ausgewählte Methoden'
-'selected methods (%1)'                      'Ausgewählte Methoden (%1)'
-'selected method''s class ("%1")'            'Klasse der ausgewählten Methode ("%1")'
-'selected methods'' classes (%1)'            'Klassen der ausgewählten Methoden (%1)'
-'selected method''s package ("%1")'          'Paket der ausgewählten Methode ("%1")'
-'selected methods'' packages (%1)'           'Pakete der ausgewählten Methoden (%1)'
-'selected class categories (%1)'             'Ausgewählte Klassenkategorien (%1)'
+'selected methods'                           'Ausgewhlte Methoden'
+'selected methods (%1)'                      'Ausgewhlte Methoden (%1)'
+'selected method''s class ("%1")'            'Klasse der ausgewhlten Methode ("%1")'
+'selected methods'' classes (%1)'            'Klassen der ausgewhlten Methoden (%1)'
+'selected method''s package ("%1")'          'Paket der ausgewhlten Methode ("%1")'
+'selected methods'' packages (%1)'           'Pakete der ausgewhlten Methoden (%1)'
+'selected class categories (%1)'             'Ausgewhlte Klassenkategorien (%1)'
 
 'class to copy instance method category from:' 'Klasse von der Instanzmethoden einer Kategorie kopiert werden:'
 'class to copy class method category from:'    'Klasse von der Klassenmethoden einer Kategorie kopiert werden:'
@@ -806,7 +806,7 @@
 'rename %1 to'                          '%1 umbenennen in'
 'rename "%1" to'                        '"%1" umbenennen in'
 
-; remove                                  'löschen'
+; remove                                  'lschen'
 'remove category'                       'Kategorie entfernen'
 'remove class'                          'Klasse entfernen'
 
@@ -829,21 +829,21 @@
 'remove %1\(with 1 method) ?'       '%1 entfernen ? (mit 1 Methode)'
 '''%1'' has instances - remove anyway ?' 'Es gibt Instanzen von ''%1'' - dennoch entfernen ?'
 
-'text has not been accepted.\\Your modifications will be lost when continuing.'  'Text wurde nicht gesichert.\\Bei Fortfahren gehen ihre Änderungen verloren.'
-'code here (to be accepted ?)'      'geänderter Quelltext (übernehmen ?)'
+'text has not been accepted.\\Your modifications will be lost when continuing.'  'Text wurde nicht gesichert.\\Bei Fortfahren gehen ihre nderungen verloren.'
+'code here (to be accepted ?)'      'genderter Quelltext (bernehmen ?)'
 'methods actual code'               'alter Quelletext'
 'comparing method versions'         'Unterschiede anzeigen'
 'accept in which method category ?' 'welche Methodenkategorie ?'
-'compare to revision: (empty for newest)' 'Vergleich mit Version: (leer für neueste)'
-'load which revision: (empty for newest)' 'Version laden: (leer für neueste)'
+'compare to revision: (empty for newest)' 'Vergleich mit Version: (leer fr neueste)'
+'load which revision: (empty for newest)' 'Version laden: (leer fr neueste)'
 
 'Copy as'               'Kopieren als'
 'Copy'                  'Kopieren'
 
 'String to Search for in Sources'       'Im Quellcode nach Zeichenkette suchen:'
-"/ 'Ignore case'                           'Groß-Kleinschreibung ignorieren'
-'Ignore case'                           'Groß/Klein ignorieren'
-'Case'                                  'Groß/Klein'
+"/ 'Ignore case'                           'Gro-Kleinschreibung ignorieren'
+'Ignore case'                           'Gro/Klein ignorieren'
+'Case'                                  'Gro/Klein'
 'Match'                                 'Muster'
 'Instance Protocol'                     'Instanzprotokoll'
 'Class Protocol'                        'Klassenprotokoll'
@@ -864,16 +864,16 @@
 ;
 
 'B&uffers'              'Seiten'
-'Create Buffer'         'Seite hinzufügen'
+'Create Buffer'         'Seite hinzufgen'
 'Recently Closed'       'Vor Kurzem geschlossen'
-'Add Buffer'            'Seite hinzufügen'
-'Add buffer'            'Seite hinzufügen'
+'Add Buffer'            'Seite hinzufgen'
+'Add buffer'            'Seite hinzufgen'
 'Remove Buffer'                     'Seite entfernen'
 'Remove Buffer <%1>'                'Seite entfernen <%1>'
 'Remove all but this Buffer <%1>'   'Alle ausser dieser Seite entfernen <%1>'
-'Add Page'                          'Seite hinzufügen'
+'Add Page'                          'Seite hinzufgen'
 'Remove Page'                       'Seite entfernen'
-'Add Tab'                           'Tab hinzufügen'
+'Add Tab'                           'Tab hinzufgen'
 'Remove Tab'                        'Tab entfernen'
 'Remove all other Tabs'             'Alle anderen Tabs entfernen'
 'Remove all other Pages'            'Alle anderen Seiten entfernen'
@@ -885,15 +885,15 @@
 'Spawn'               'Browse'
 'Spawn Browser'       'Neuer Browser'
 
-'Select a Class'        'Klasse auswählen'
-'Select a Category'     'Kategorie auswählen'
-'Select or Enter a Namespace'     'Namensraum auswählen oder eingeben'
-'Select or Enter a Package-ID'    'Paket-ID auswählen oder eingeben'
+'Select a Class'        'Klasse auswhlen'
+'Select a Category'     'Kategorie auswhlen'
+'Select or Enter a Namespace'     'Namensraum auswhlen oder eingeben'
+'Select or Enter a Package-ID'    'Paket-ID auswhlen oder eingeben'
 
 'Sort by Class'       'Sortieren nach Klasse'
 'Sort by Selector'    'Sortieren nach Selektor'
 'Sort by Category'    'Sortieren nach Kategorie'
-'Original Order'      'Ursprüngliche Reihenfolge'
+'Original Order'      'Ursprngliche Reihenfolge'
 
 'Class'               'Klasse'
 'Classes'             'Klassen'
@@ -911,21 +911,21 @@
 'Writes to Global'                   'Modifikation einer Globalen'
 'Class Extensions'          'Erweiterungen einer Klasse'
 'Methods'                   'Methoden'
-'Recently Changed Methods'  'Vor kurzem geänderte Methoden'
-'Recently changed methods'  'Vor kurzem geänderte Methoden'
-'Recently Changed Classes'  'Vor kurzem geänderte Klassen'
-'Recently changed classes'  'Vor kurzem geänderte Klassen'
-'Recently Changed'          'Vor kurzem geändert'
+'Recently Changed Methods'  'Vor kurzem genderte Methoden'
+'Recently changed methods'  'Vor kurzem genderte Methoden'
+'Recently Changed Classes'  'Vor kurzem genderte Klassen'
+'Recently changed classes'  'Vor kurzem genderte Klassen'
+'Recently Changed'          'Vor kurzem gendert'
 'Recently visited'          'Vor kurzem besucht'
 'Initialize Class(es)'      'Klasse(n) initialisieren'
-'Run static code analysis (lint) on the selected classes' 'Statische Codeanalyse auf selektierte Klassen durchführen'
+'Run static code analysis (lint) on the selected classes' 'Statische Codeanalyse auf selektierte Klassen durchfhren'
 
 'Operations'           'Operationen'
-'Undo: %1'             'Rückgängig: %1'
-'Undo'                 'Rückgängig'
-'Undo Recent'          'Rückgängig'
-'Redo: %1'             'Rück-rückgängig: %1'
-'Redo'                 'Rück-rückgängig'
+'Undo: %1'             'Rckgngig: %1'
+'Undo'                 'Rckgngig'
+'Undo Recent'          'Rckgngig'
+'Redo: %1'             'Rck-rckgngig: %1'
+'Redo'                 'Rck-rckgngig'
 'Set Undo Count'    'Anzahl gemerkter Operationen setzen'
 
 'Defining variable'                    'Mit Variable'
@@ -940,18 +940,18 @@
 'All Subclasses of'                       'Alle Subklassen von'
 'All Applications'                        'Alle Anwendungen'
 'All Web Services'                        'Alle Web-Dienste'
-'All TestCases'                           'Alle Testfälle'
+'All TestCases'                           'Alle Testflle'
 'All Shared Pools'                        'Alle Pools'
 'Referring Pools'                         'Besugnehmend auf Pool'
 'Which were Autoloaded'                   'Nachgeladene Klassen'
-'Recently Opened Applications'            'Vor kurzem geöffnete Anwendungen'
+'Recently Opened Applications'            'Vor kurzem geffnete Anwendungen'
 'Overwritten Methods'                     'Redefinierte Methoden'
 'Wrapped Methods (Break- or Tracepoint)'  'Methoden mit Halte- oder Tracepunkt'
 'With Break- or Tracepoint'               'Mit Halte- oder Tracepunkt'
 'With String-Literal Matching'            'Mit String-Konstante passend zu'
 'With Instrumentation'                    'Mit Instrumentierung'
 'Unassigned Extensions'                     'Nicht zugeordnete Erweiterungen'
-'For which'                                 'Für die gilt'
+'For which'                                 'Fr die gilt'
 'Without documentation'                   'Ohne Dokumentation'
 'Without Documentation'                   'Ohne Dokumentation'
 'Without examples'                        'Ohne Beispiele'
@@ -971,8 +971,8 @@
 'Check In'                             'Einchecken'
 'CheckIn'                              'Einchecken'
 'CheckIn All'                          'Alle Einchecken'
-'Quick Check In'                       'Einchecken (ohne Code-Prüfung)'
-'Quick CheckIn'                        'Einchecken (ohne Code-Prüfung)'
+'Quick Check In'                       'Einchecken (ohne Code-Prfung)'
+'Quick CheckIn'                        'Einchecken (ohne Code-Prfung)'
 'Check Out (Update)'                   'Auschecken (Aktualisieren)'
 'CheckOut (Update)'                    'Auschecken (Aktualisieren)'
 'CheckOut'                             'Auschecken'
@@ -1003,7 +1003,7 @@
 'With any Resource'                    'Mit Ressource'
 'Without Comment'                      'Ohne Kommentar'
 'With Ugly Coding Style'               'Mit fraglichem Kodierstil'
-'With Possible Leftover Debug Code'    'Mit möglicherweise vergessenem Debug-Code'
+'With Possible Leftover Debug Code'    'Mit mglicherweise vergessenem Debug-Code'
 'Deprecated'                           'Veraltet'
 'With Exception Raisers'               'Meldet Ausnahme'
 'With Exception Handlers'              'Behandelt Ausnahme'
@@ -1023,8 +1023,8 @@
 'Class(es) to find'                         'Gesuchte Klasse(n)'
 'Class to browse'                           'Klasse browsen'
 'Class(es) to browse'                       'Klasse(n) browsen'
-'(TAB to complete; matchPattern allowed)'      '(TAB zum Vervollständigen; Muster erlaubt)'
-'(TAB for completion; matchPattern allowed)'   '(TAB zum Vervollständigen; Muster erlaubt)'
+'(TAB to complete; matchPattern allowed)'      '(TAB zum Vervollstndigen; Muster erlaubt)'
+'(TAB for completion; matchPattern allowed)'   '(TAB zum Vervollstndigen; Muster erlaubt)'
 'Matching Classes'                              'Passende Klassen'
 'Show Full Name (do not strip off Namespace)'   'Gesamten Namen anzeigen (Namensraum nicht abschneiden)'
 
@@ -1032,24 +1032,24 @@
 'Response to'          'Antwort auf'
 'Class Hierarchy'      'Hierarchie der Klasse'
 'Bookmarks'            'Lesezeichen'
-'add bookmark'         'Lesezeichen hinzufügen'
-'Add Bookmark'         'Lesezeichen hinzufügen'
-'Add Bookmark Here'    'Lesezeichen hier hinzufügen'
+'add bookmark'         'Lesezeichen hinzufgen'
+'Add Bookmark'         'Lesezeichen hinzufgen'
+'Add Bookmark Here'    'Lesezeichen hier hinzufgen'
 'Edit Bookmarks'       'Lesezeichen verwalten'
 'Remove Bookmark'      'Lesezeichen entfernen'
-; 'Remove Bookmark'       'Lesezeichen löschen'
+; 'Remove Bookmark'       'Lesezeichen lschen'
 'Visited Methods'      'Besuchte Methoden'
-'Changed Classes'      'Geänderte Klassen'
+'Changed Classes'      'Genderte Klassen'
 ; 'Changed Classes'               'Modifizierte Klassen'
-'Changed Methods'                   'Geänderte Methoden'
+'Changed Methods'                   'Genderte Methoden'
 ; 'Changed Methods'               'Modifizierte Methoden'
 'Class Wizard'                      'Klassen-Wizard'
 'Launch the Selected Application'   'Selektierte Anwendung starten'
 'Launch the selected application'   'Selektierte Anwendung starten'
-'Execute the Selected Class Method. Show Execution Time and Answer on the Transcript'   'Selektierte Klassenmethode ausführen. Laufzeit und Antwort auf dem Transcript zeigen'
+'Execute the Selected Class Method. Show Execution Time and Answer on the Transcript'   'Selektierte Klassenmethode ausfhren. Laufzeit und Antwort auf dem Transcript zeigen'
 'Go back in global visited history' 'Zur vorigen Methode (in globaler Historie)'
 'Go back in lokal visited history' 'Zur vorigen Methode (in lokaler Historie)'
-'Go forward in lokal visited history' 'Zur nächsten Methode (in lokaler Historie)'
+'Go forward in lokal visited history' 'Zur nchsten Methode (in lokaler Historie)'
 
 'View'                                      'Ansicht'
 'Class Inheritance'                         'Vererbung der Klasse'
@@ -1060,7 +1060,7 @@
 'Short Class Names in Tabs'                 'Kurze Klassennamen zeigen'
 'Emphasize Unloaded Classes'                'Ungeladene Klassen hervorheben'
 'Display Class-Packages'                    'Paketinfo von Klassen anzeigen'
-'Sort and Indent by Inheritance'            'Sortieren und Einrücken nach Vererbung'
+'Sort and Indent by Inheritance'            'Sortieren und Einrcken nach Vererbung'
 
 'Show Class Categories'                     'Kategorien zeigen'
 'Show Class Inheritance'                    'Vererbung zeigen'
@@ -1071,11 +1071,11 @@
 'Show Class Type Indicator'                 'Typindikator bei Klassen anzeigen'
 'Settings'                                  'Einstellungen'
 'Show Inherited Methods'                    'Geerbte Methoden zeigen'
-'Show Inherited Methods except Object''s'   'Geerbte Methoden zeigen (außer von Object)'
-'Show inherited methods (except Object''s)'   'Geerbte Methoden zeigen (außer von Object)'
+'Show Inherited Methods except Object''s'   'Geerbte Methoden zeigen (auer von Object)'
+'Show inherited methods (except Object''s)'   'Geerbte Methoden zeigen (auer von Object)'
 'Show Method Type Indicator'                'Typindikator bei Methoden anzeigen'
-'Show Method-Complexity'                    'Komplexität von Methoden anzeigen'
-'Show Complexity'                           'Komplexität anzeigen'
+'Show Method-Complexity'                    'Komplexitt von Methoden anzeigen'
+'Show Complexity'                           'Komplexitt anzeigen'
 'Do not Show Inherited Methods'             'Geerbte Methoden nicht zeigen'
 
 'Category'              'Kategorie'
@@ -1096,35 +1096,35 @@
 
 ; 'Load'                  'Laden'
 ; 'Unload'                'Entladen'
-'Compile Lazy Methods'                          'Verzögert kompilierte (Lazy) Methoden'
-'Recompile all Methods'                         'Alle Methoden neu übersetzen'
-'Recompile all Methods here and in Subclasses'  'Alle Methoden hier und in Subklassen neu übersetzen'
+'Compile Lazy Methods'                          'Verzgert kompilierte (Lazy) Methoden'
+'Recompile all Methods'                         'Alle Methoden neu bersetzen'
+'Recompile all Methods here and in Subclasses'  'Alle Methoden hier und in Subklassen neu bersetzen'
 'Recompile all Methods with Instrumentation'    'Alle Methoden instrumentieren'
 'Recompile Method(s) with Instrumentation'      'Methode(n) instrumentieren'
 'Recompile Class(es) with Instrumentation'      'Klasse(n) instrumentieren'
 'Recompile Project(s) with Instrumentation'     'Projekt(e) instrumentieren'
 'Recompile all Classes with Instrumentation'    'Alle Klassen instrumentieren'
-'Recompile all Classes (without Instrumentation)'    'Alle Klassen neu übersetzen (ohne Instrumentierung)'
-'Recompile all Methods (without Instrumentation)'    'Alle Methoden neu übersetzen (ohne Instrumentierung)'
-'Recompile all Methods here and in Subclasses (without Instrumentation)'    'Alle Methoden hier und in Subklassen neu übersetzen (ohne Instrumentierung)'
-'Recompile Method(s) (without Instrumentation)'    'Methode(n) neu übersetzen (ohne Instrumentierung)'
-'Recompile Method(s) without Instrumentation'      'Methode(n) neu übersetzen (ohne Instrumentierung)'
+'Recompile all Classes (without Instrumentation)'    'Alle Klassen neu bersetzen (ohne Instrumentierung)'
+'Recompile all Methods (without Instrumentation)'    'Alle Methoden neu bersetzen (ohne Instrumentierung)'
+'Recompile all Methods here and in Subclasses (without Instrumentation)'    'Alle Methoden hier und in Subklassen neu bersetzen (ohne Instrumentierung)'
+'Recompile Method(s) (without Instrumentation)'    'Methode(n) neu bersetzen (ohne Instrumentierung)'
+'Recompile Method(s) without Instrumentation'      'Methode(n) neu bersetzen (ohne Instrumentierung)'
 'Call Graph'                                    'Aufrufgraph'
-'Enable Coverage Recording in all Processes'    'Überdeckungsinfo in allen Prozessen aufzeichnen'
-'Disable Coverage Recording in all Processes'   'Überdeckungsinfo in allen Prozessen nicht aufzeichnen'
-'Enable Global Coverage Recording (in all Processes)'    'Globales Aufzeichnen von Überdeckungsinfo einschalten (in allen Prozessen)'
-'Disable Global Coverage Recording (in all Processes)'   'Globales Aufzeichnen von Überdeckungsinfo ausschalten (in allen Prozessen)'
-'Clear all Coverage Info (Systemwide)'          'Überdeckungsinfo systemweit löschen'
-'Clear Coverage Info (Classwide)'               'Überdeckungsinfo klassenweit löschen'
+'Enable Coverage Recording in all Processes'    'berdeckungsinfo in allen Prozessen aufzeichnen'
+'Disable Coverage Recording in all Processes'   'berdeckungsinfo in allen Prozessen nicht aufzeichnen'
+'Enable Global Coverage Recording (in all Processes)'    'Globales Aufzeichnen von berdeckungsinfo einschalten (in allen Prozessen)'
+'Disable Global Coverage Recording (in all Processes)'   'Globales Aufzeichnen von berdeckungsinfo ausschalten (in allen Prozessen)'
+'Clear all Coverage Info (Systemwide)'          'berdeckungsinfo systemweit lschen'
+'Clear Coverage Info (Classwide)'               'berdeckungsinfo klassenweit lschen'
 'Cleanup ChangeSet'                             'Aus ChangeSet entfernen'
 
 'Build Package for Deployment'                  'Paket zur Auslieferung bauen'
-'Build Binaries for Execution'                  'Ausführbare Binärdatei (exe) zum Testlauf bauen'
+'Build Binaries for Execution'                  'Ausfhrbare Binrdatei (exe) zum Testlauf bauen'
 'Build with Interactive Applicatin Packager'    'Mit interaktivem Application Packager (exe-Builder) bauen'
 ; 'Patch-Set'                                     '???'
 
 'Generate'                  'Generieren'
-'Check'                     'Prüfen'
+'Check'                     'Prfen'
 'Instance Variables'        'Instanzvariable'
 'Class Variables'           'Klassenvariable'
 'Class Inst Variables'      'Klassen-Instanzvariable'
@@ -1132,13 +1132,13 @@
 'Pool Variables'            'Poolvariable'
 
 'Static Analysis (Lint)'    'Statische Codeanalyse (Lint)'
-'Check'                     'Prüfen'
-'Check (all checks)'        'Prüfen (alle Prüfungen)'
-'Check (selected checks)'   'Prüfen (ausgewählte Prüfungen)'
-'Smalltalk/X Checks'        'Prüfen (Smalltalk/X Prüfungen)'
-'Repeat Previously Selected Checks'     'Vorige Prüfungen wiederholen'
-'Run all Checks'                        'Alle Prüfungen durchführen'
-'Run Selected Checks'                   'Ausgewählte Prüfungen durchführen'
+'Check'                     'Prfen'
+'Check (all checks)'        'Prfen (alle Prfungen)'
+'Check (selected checks)'   'Prfen (ausgewhlte Prfungen)'
+'Smalltalk/X Checks'        'Prfen (Smalltalk/X Prfungen)'
+'Repeat Previously Selected Checks'     'Vorige Prfungen wiederholen'
+'Run all Checks'                        'Alle Prfungen durchfhren'
+'Run Selected Checks'                   'Ausgewhlte Prfungen durchfhren'
 
 'Programming Language'      'Programmiersprache'
 'Stereotype'                'Stereotyp'
@@ -1149,7 +1149,7 @@
 'Initializer'               'Initialisierung'
 'Update Method'             'Update Methode'
 'Initial Template Code'     'Initialer Schablonencode'
-'Required Methods (Subclass responsibilities)'     'Benötigte Methoden (Subclassresponsibility)'
+'Required Methods (Subclass responsibilities)'     'Bentigte Methoden (Subclassresponsibility)'
 'Common Protocols'          'Typische Protokolle'
 'Common Categories'         'Typische Kategorien'
 
@@ -1157,12 +1157,12 @@
 'SubclassResponsibility here'               'SubclassResponsibility hier'
 'Templates in Subclasses'                   'Methodenskelette in Subklassen'
 'Templates in all Subclasses'                'Methodenskelette in allen Subklassen'
-'Corresponding Instance Creation in Class'  'Zugehörige Instanzierung auf Klassen-Seite'
+'Corresponding Instance Creation in Class'  'Zugehrige Instanzierung auf Klassen-Seite'
 'Forwarding Method in Instance Protocol'    'Weiterleitende Methode auf Instanz-Seite'
 
 'Previous Versions'         'Vorige Versionen'
-'Compile with stc'          'Mit stc übersetzen'
-'Recompile'                 'Neu übersetzen'
+'Compile with stc'          'Mit stc bersetzen'
+'Recompile'                 'Neu bersetzen'
 'Decompile'                 'Bytecode anzeigen'
 'Process'                   'Bearbeiten mit'
 'Copy List to Clipboard'            'Liste ins Clipboard kopieren'
@@ -1188,13 +1188,13 @@
 'Variables'                     'Variable'
 'Move to Inner Scope'           'In inneren Block schieben'
 
-'Rename Temporary'              'Temporäre umbenennen'
+'Rename Temporary'              'Temporre umbenennen'
 'Rename Local Variable'         'Lokale Variable umbenennen'
 'Rename Instance Variable'      'Instanz-Variable umbenennen'
 'Rename Class Variable'         'Klassen-Variable umbenennen'
-; 'Make Abstract (Access only via Getters/Setters)'          'Abstrakte Variable (Zugriff nur über Get/Set-Methoden)'
+; 'Make Abstract (Access only via Getters/Setters)'          'Abstrakte Variable (Zugriff nur ber Get/Set-Methoden)'
 ; 'Make Concrete (Protect from Access via Getters/Setters)'  'Konkrete Variable (Schutz vor Zugriff durch Get/Set-Methoden)'
-'Make Abstract (Access only via Getters/Setters)'          'Abstrahieren (Zugriff nur über Get/Set-Methoden)'
+'Make Abstract (Access only via Getters/Setters)'          'Abstrahieren (Zugriff nur ber Get/Set-Methoden)'
 'Make Concrete (Protect from Access via Getters/Setters)'  'Konkretisieren (Schutz vor Zugriff durch Get/Set-Methoden)'
 'Make Instance Variable'        'Zu Instanzvariable konvertieren'
 'Convert to ValueHolder'        'Zu ValueHolder konvertieren'
@@ -1202,30 +1202,30 @@
 'Eliminate Constant'            'Konstante eliminieren'
 'Make Pool Variable'            'Zu Poolvariable konvertieren'
 
-'Syntax Coloring'                       'Einfärben'
-'Immediate Syntax Coloring'             'Sofort einfärben'
-'Immediate Explaining'                  'Sofort erklären'
+'Syntax Coloring'                       'Einfrben'
+'Immediate Syntax Coloring'             'Sofort einfrben'
+'Immediate Explaining'                  'Sofort erklren'
 'Auto-Format Code'                      'Automatisch Formatieren'
-'Show MethodTemplate for New Methods'   'Vorlage für neue Methoden anzeigen'
-'Enable Embedded Resource Editors'      'Eingebettete Editoren für Ressourcen'
-'Coverage Info'                         'Überdeckung (Coverage) anzeigen'
+'Show MethodTemplate for New Methods'   'Vorlage fr neue Methoden anzeigen'
+'Enable Embedded Resource Editors'      'Eingebettete Editoren fr Ressourcen'
+'Coverage Info'                         'berdeckung (Coverage) anzeigen'
 
 'Refactorings'                              'Refaktorierungen'
-'Inline Selected Message'                   'Selektierte Methode inline einfügen'
-'Inline Message'                            'Selektierte Methode inline einfügen'
-; 'Extract Selected Message to Temporary'     'Selektion zu neuer Methode extrahieren und temporär zuweisen'
-'Extract Selection to Temporary'            'Selektion extrahieren und temporär zuweisen'
+'Inline Selected Message'                   'Selektierte Methode inline einfgen'
+'Inline Message'                            'Selektierte Methode inline einfgen'
+; 'Extract Selected Message to Temporary'     'Selektion zu neuer Methode extrahieren und temporr zuweisen'
+'Extract Selection to Temporary'            'Selektion extrahieren und temporr zuweisen'
 'Extract Selection into new Method'         'Selektion zu neuer Methode extrahieren'
 'Extract Method from Selection'             'Methode aus Selektion extrahieren'
 'Extract Method'                            'Methode aus Selektion extrahieren'
 'Extract Method to Component'               'Methode aus Selektion zu Komponente extrahieren'
-'Add Parameter to Method'                   'Parameter zur Methode hinzufügen'
+'Add Parameter to Method'                   'Parameter zur Methode hinzufgen'
 'Remove Parameter from Method'              'Parameter von Methode entfernen'
-'Inline Parameter of Method'                'Parameter von Methode inline einfügen'
-'Add Parameter'                             'Parameter hinzufügen'
+'Inline Parameter of Method'                'Parameter von Methode inline einfgen'
+'Add Parameter'                             'Parameter hinzufgen'
 'Remove Parameter'                          'Parameter entfernen'
-'Inline Parameter'                          'Parameter inline einfügen'
-'Inline all self-Sends'                     'Alle self-Sends inline einfügen'
+'Inline Parameter'                          'Parameter inline einfgen'
+'Inline all self-Sends'                     'Alle self-Sends inline einfgen'
 'Push Down Instance Variable'               'Instanz-Variable nach Unten'
 'Pull Up Instance Variable'                 'Instanz-Variable nach Oben'
 'Push Down Class Variable'                  'Klassen-Variable nach Unten'
@@ -1235,15 +1235,15 @@
 ; 'Generate access methods'       'Generiere Get/Set-Methoden'
 'Show ClassVars (statics)'      'Klassenvariable anzeigen'
 'Show ClassVars (Statics)'      'Klassenvariable anzeigen'
-'Add ValueHolder'               'ValueHolder Hinzufügen'
-'Add'                           'Hinzufügen'
+'Add ValueHolder'               'ValueHolder Hinzufgen'
+'Add'                           'Hinzufgen'
 'Pull Up'                       'Nach Oben'
 'Push Up'                       'Nach Oben'
 'Push Down'                     'Nach Unten'
 'Show Type(s)'                  'Typ(en) anzeigen'
 'Browse Type(s)'                'Typ(en) browsen'
 
-'Copy Selected Name'            'Ausgewählten Namen ins Clipboard kopieren'
+'Copy Selected Name'            'Ausgewhlten Namen ins Clipboard kopieren'
 'Sort by Name'                  'Alphabetisch sortieren'
 
 'References'                    'Zugriffe'
@@ -1266,8 +1266,8 @@
 'as'                     'als'
 'XML as'                 'XML als'
 'SIF as'                 'SIF als'
-'binary as'              'binär als'
-'Binary as'              'Binär als'
+'binary as'              'binr als'
+'Binary as'              'Binr als'
 'Mail To'                   'Als Mail senden an'
 'Copy Source to Clipboard'  'Quelltext ins Cliboard kopieren'
 
@@ -1279,8 +1279,8 @@
 'Each SIF as'            'Einzeln SIF in'
 'Each XML in'            'Einzeln XML in'
 'Each SIF in'            'Einzeln SIF in'
-'each binary in'         'einzeln binär in'
-'Each Binary in'         'Einzeln Binär in'
+'each binary in'         'einzeln binr in'
+'Each Binary in'         'Einzeln Binr in'
 
 'CheckIn Each'                          'Einbringen aller Klassen in die Quellcodeverwaltung'
 'CheckIn Each'                          'Einbringen in die Quellcodeverwaltung'
@@ -1293,15 +1293,15 @@
 'CheckIn Extensions Only'               'Einchecken - lediglich Erweiterungen'
 'CheckIn Extensions for Project'        'Einchecken - Erweiterungen zu Projekt'
 'CheckIn Build Support Files Only'      'Einchecken - lediglich Hilfsdateien zum Bauen'
-'CheckIn All Changed Classes'           'Einchecken - Alle geänderte Klassen'
+'CheckIn All Changed Classes'           'Einchecken - Alle genderte Klassen'
 'CheckIn Build Support Files'           'Einchecken - Hilfsdateien zum Bauen'
 'Revision Log'                          'Info zu Versionen'
-'Revision Log (Recent Changes)'         'Info zu Versionen (letzte Änderungen)'
+'Revision Log (Recent Changes)'         'Info zu Versionen (letzte nderungen)'
 'Revision Log (Full)'                   'Info zu Versionen (alle)'
 'Compare with newest in Repository'     'Vergleichen mit neuester Repository-Version'
 ; 'CheckIn classes only'                  'Einchecken - nur Klassen'
 ; 'CheckIn extensions only'                   'Einchecken - nur Erweiterungen'
-'CheckIn Extensions For'                    'Einchecken - Erweiterungen für'
+'CheckIn Extensions For'                    'Einchecken - Erweiterungen fr'
 'CheckOut Newest all (Update)'              'Auschecken alle - Neueste Repository-Version(en)'
 'CheckOut Newest All'                       'Auschecken alle - Neueste Repository-Version(en)'
 'CheckOut Previous Versions All'            'Auschecken alle - Alte Repository-Version(en)'
@@ -1309,7 +1309,7 @@
 'CheckOut all (Load old Revisions)'         'Auschecken alle - Alte Repository-Version(en)'
 'CheckOut all (Load old Revision)'          'Auschecken alle - Alte Repository-Version(en)'
 'CheckOut Extensions Only'                  'Auschecken - lediglich Erweiterungen'
-'Consistency Check'                         'Konsistenz Prüfen'
+'Consistency Check'                         'Konsistenz Prfen'
 'CheckIn Class(es)'                         'Klasse(n) Einchecken'
 'Import and Load Classes'                   'Importieren und Klassen laden'
 'Import Structure'                          'Importieren - Struktur'
@@ -1321,7 +1321,7 @@
 
 'CheckIn Extensions for Projekt'            'Erweiterungen zum Projekt einchecken'
 'All Versions'                              'Alle Versionen'
-'Package Integrity Check'                   'Integrität des Pakets prüfen'
+'Package Integrity Check'                   'Integritt des Pakets prfen'
 
 'CheckOut Newest (Update)'                  'Auschecken der neuesten Repository-Version'
 'CheckOut (Load old Revision)'              'Auschecken einer alten Repository-Version'
@@ -1330,7 +1330,7 @@
 'Compare with Newest in Repository'         'Vergleichen mit neuester Repository-Version'
 'Compare with Stable in Repository'         'Vergleichen mit "stable" Repository-Version'
 'Compare with Stable Version in Repository' 'Vergleichen mit "stable" Repository-Version'
-'Compare with Original in Repository'       'Vergleichen mit ursprünglicher Repository-Version'
+'Compare with Original in Repository'       'Vergleichen mit ursprnglicher Repository-Version'
 'Compare Class with Newest in Repository'   'Vergleiche Klasse mit neuester Repository-Version'
 'Compare two Repository Versions'           'Vergleichen zweier Versionen im Repository'
 'Compare with Repository at Date'           'Vergleichen mit Repository-Version von Datum'
@@ -1422,12 +1422,12 @@
 'To Instance Protocol (Make Instance Method)'           'Zum Instanz-Protokoll'
 'To Class Protocol (Make Class Method) with Forwarding' 'Zum Klassen-Protokoll mit Weiterleitung'
 'Make Private in'        'Als private Klasse von'
-'Make Public in'         'Als öffentliche Klasse von'
-'Make Public'            'Als öffentliche Klasse'
+'Make Public in'         'Als ffentliche Klasse von'
+'Make Public'            'Als ffentliche Klasse'
 'Namespace filter'       'Filter auf Namensraum'
 
 'New Common Superclass with Children (Convert to Siblings)'  'Neue gemeinsame Superklasse mit Kindern (zu Geschwistern konvertieren)'
-'New Common Superclass (Insert Superclass)'                  'Neue gemeinsame Superklasse (Superklasse einfügen)'
+'New Common Superclass (Insert Superclass)'                  'Neue gemeinsame Superklasse (Superklasse einfgen)'
 
 'Inspect Classes'           'Klassen inspizieren'
 'Inspect References to Instances' 'Referenzen auf Instanzen inspizieren'
@@ -1441,7 +1441,7 @@
 'Access Methods for ValueHolder with Change Notification'   'Zugriffs-Methoden mit ValueHolder und change-Benachrichtigung'
 'Access Methods with Change Notification'                   'Zugriffs-Methoden mit change-Benachrichtigung'
 'Access Methods with Lazy Initialization in Getter'         'Zugriffs-Methoden mit lazy Initialisierung'
-'Multi-Setter Method'                                       'Set-Methode für mehrere Variable'
+'Multi-Setter Method'                                       'Set-Methode fr mehrere Variable'
 '"initialize"-Method'                                       '"initialize" Methode'
 '"printOn:"-Method'                                         '"printOn:" Methode'
 '#update Method Template'                                   '#update Methodenvorlage'
@@ -1450,9 +1450,9 @@
 'Visitor && Visited Methods'                                'Visitor && Visited Methoden'
 'Visitor and Visited Methods'                               'Visitor and Visited Methoden'
 'Visitor Pattern Support'                                   'Visitor Pattern'
-'Classtype Test Methods'                                    'Typ-Prüf-Methoden (isXXX)'
-'Classtype Test Methods for all Subclass(es) (isXXX)'       'Typ-Prüf-Methoden für alle Subklassen (isXXX)'
-'Classtype Test Methods for this Class (isXXX)'             'Typ-Prüf-Methoden für diese Klasse (isXXX)'
+'Classtype Test Methods'                                    'Typ-Prf-Methoden (isXXX)'
+'Classtype Test Methods for all Subclass(es) (isXXX)'       'Typ-Prf-Methoden fr alle Subklassen (isXXX)'
+'Classtype Test Methods for this Class (isXXX)'             'Typ-Prf-Methoden fr diese Klasse (isXXX)'
 'False-returning isXXX-Test in SuperClass'                  'False-liefernden isXXX-Test in Superklasse'
 'Application Code'                                          'Applikations-Rahmen'
 'Initialized Instance Creation'                             'Instanzierung mit Initialisierung'
@@ -1466,14 +1466,14 @@
 
 'All'                   'Alles'
 'Errors'                'Fehler'
-'Possible Errors'       'Mögliche Fehler'
+'Possible Errors'       'Mgliche Fehler'
 'Style'                 'Stil'
-'Individual checks'     'Einzelne Prüfungen'
-'Individual Checks'     'Einzelne Prüfungen'
-'Check Compilability'   'Übersetzbarkeit (stc) prüfen'
+'Individual checks'     'Einzelne Prfungen'
+'Individual Checks'     'Einzelne Prfungen'
+'Check Compilability'   'bersetzbarkeit (stc) prfen'
 
 'Window spec'           'Fenster spec'
-'Menu spec'             'Menü spec'
+'Menu spec'             'Men spec'
 'Image spec'            'Bitmap spec'
 
 'Edit Resource'         'Ressource editieren'
@@ -1485,7 +1485,7 @@
 'Breakpoint After'                  'Haltepunkt nach'
 'Breakpoint If'                     'Haltepunkt wenn'
 'Breakpoint in Process'             'Haltepunkt in Prozess'
-'Breakpoint for Instances Of'       'Haltepunkt für Instanzen von'
+'Breakpoint for Instances Of'       'Haltepunkt fr Instanzen von'
 'Goto class (uppercase) or method which implements this selector (lowercase)'  'Klasse (gross) oder Methodenimplementierung (klein) suchen'
 
 'Trace'                             'Aufrufprotokoll (Trace)'
@@ -1494,11 +1494,11 @@
 
 'Instance'              'Instanz'
 
-'About SystemBrowser'   'Über den SystemBrowser'
-
-; 'Recently Changed'         'Änderungen'
+'About SystemBrowser'   'ber den SystemBrowser'
+
+; 'Recently Changed'         'nderungen'
 ; 'Recently Visited'         'Besucht'
-'Show Inherited Methods (except Object''s)'   'Geerbte Methoden anzeigen (außer von Object)'
+'Show Inherited Methods (except Object''s)'   'Geerbte Methoden anzeigen (auer von Object)'
 'Add Breakpoint'           'Haltepunkt setzen'
 'Add Breakpoint on Method' 'Haltepunkt auf Methode setzen'
 'Add breakpoint on method' 'Haltepunkt auf Methode setzen'
@@ -1534,13 +1534,13 @@
 'optional:'                           'optional:'
 'optional (but highly recommended):'  'optional (aber nahegelegt)'
 
-'binaries (approx. %1 Mb)'            'ausführbare Programme (ca. %1 Mb)'
+'binaries (approx. %1 Mb)'            'ausfhrbare Programme (ca. %1 Mb)'
 'libraries (approx. %1 Mb)'           'Hilfsdateien (ca. %1 Mb)'
 
 'doc files'                      'Dokumentation'
 'stc & support files'            'stc & Hilfsdateien'
 'smalltalk source files'         'Smalltalk Quellen'
-'goodies'                        'Goodies (Nützliche Klassen)'
+'goodies'                        'Goodies (Ntzliche Klassen)'
 
 'install'                        'installieren'
 
@@ -1552,28 +1552,28 @@
 'creating %1 ...'                       'anlegen von %1 ...'
 'failed to create directory: %1'        'Das Verzeichnis %1 konnte nicht angelegt werden'
 'not a directory: %1'                   '%1 ist kein Verzeichnis'
-'no read/write access to directory: %1' 'keine schreib/lese Berechtigung für Verzeichnis %1'
-
-'must be in the ''projects/smalltalk'' directory' 'Installation ist nur im ''projects/smalltalk'' Verzeichnis möglich'
+'no read/write access to directory: %1' 'keine schreib/lese Berechtigung fr Verzeichnis %1'
+
+'must be in the ''projects/smalltalk'' directory' 'Installation ist nur im ''projects/smalltalk'' Verzeichnis mglich'
 'installation failed or aborted - retry ?'        'Installation ist fehlgeschlagen bzw. wurde abgebrochen. Nochmal ?'
 
 'detected existing ST/X installation in %1'   'existierende ST/X Installation wurde in %1 gefunden'
-'remove first'                                'zuerst löschen'
-'overwrite'                                   'überschreiben'
-'Insert Selecting'                            'Einfügen und markieren'
-'mhmh - could not remove old installation.'   'mhmh - die alte Installation konnte nicht gelöscht werden.'
+'remove first'                                'zuerst lschen'
+'overwrite'                                   'berschreiben'
+'Insert Selecting'                            'Einfgen und markieren'
+'mhmh - could not remove old installation.'   'mhmh - die alte Installation konnte nicht gelscht werden.'
 
 'ST/X Installation finished.'                 'ST/X Installation beendet.'
 'press continue ...'                          'klicken Sie auf weiter ...'
 'ST/X Installation complete.\\'               'ST/X Installation beendet.\\'
 
-'%1 is not in your PATH.\You should change your ".login" and/or ".profile" files to include it.\\'  '%1 ist nicht in ihrer PATH-Definition enthalten.\Sie sollten Ihre ".login" und/oder ".profile" Datei entsprechend ändern.\\'
-
-'The library directory is not a standard ST/X library directory\("/usr/local/lib/smalltalk" or "/usr/lib/smalltalk").\You have to define the %1 environment variable\as %2 before ST/X can be started.\' 'Das Verzeichnis für die Hilfsdateien ist kein Standard-ST/X-Verzeichnis\("/usr/local/lib/smalltalk" oder "/usr/lib/smalltalk").\Sie müssen die %1 Umgebungsvariable als\%2 definieren, bevor ST/X gestartet werden kann.\'
+'%1 is not in your PATH.\You should change your ".login" and/or ".profile" files to include it.\\'  '%1 ist nicht in ihrer PATH-Definition enthalten.\Sie sollten Ihre ".login" und/oder ".profile" Datei entsprechend ndern.\\'
+
+'The library directory is not a standard ST/X library directory\("/usr/local/lib/smalltalk" or "/usr/lib/smalltalk").\You have to define the %1 environment variable\as %2 before ST/X can be started.\' 'Das Verzeichnis fr die Hilfsdateien ist kein Standard-ST/X-Verzeichnis\("/usr/local/lib/smalltalk" oder "/usr/lib/smalltalk").\Sie mssen die %1 Umgebungsvariable als\%2 definieren, bevor ST/X gestartet werden kann.\'
 'The above mentioned files are also a good place to do this.\'        'Dazu sollten ebenfalls die oben genannten Dateien editiert werden.'
 'The ".login" and/or ".profile" files are a good place to do this.\'  'Dazu sollten Sie Ihre ".login" und/oder ".profile" Datei editieren.'
 
-'Please add the following to your ".profile" file:'     'Bitte fügen Sie folgende Zeile(n) in Ihre ".profile" Datei ein:'
+'Please add the following to your ".profile" file:'     'Bitte fgen Sie folgende Zeile(n) in Ihre ".profile" Datei ein:'
 'or (if you use csh/tcsh), add to your ".login" file:'  'oder (falls Sie csh/tcsh verwenden), folgende Zeile(n) in Ihre ".login" Datei:'
 
 ;--------------------------------------------------------------------------------------------
@@ -1582,11 +1582,11 @@
 ;
 'class documentation'    'Dokumentation'
 'rename ...'             'umbenennen ...'
-'changes'                'Änderungen'
-'browse'                 'Browser für Klassen & Methoden'   "/ mhmh - how should that be translated ...
-'browse redefined'       'Browser für redefinierte Methoden'
+'changes'                'nderungen'
+'browse'                 'Browser fr Klassen & Methoden'   "/ mhmh - how should that be translated ...
+'browse redefined'       'Browser fr redefinierte Methoden'
 'fileOut classes'        'Klassen sichern (fileOut)'
-'fileOut directory ...'  'Verzeichnis für fileOut ...'
+'fileOut directory ...'  'Verzeichnis fr fileOut ...'
 'repository module ...'     'Modul in der Quellcodeverwaltung'
 'repository directory ...'  'Unterverzeichnis (Paket) in der Quellcodeverwaltung'
 'repository defaults ...'   'Voreinstellungen der Quellcodeverwaltung ...'
@@ -1599,23 +1599,23 @@
 'remove package code'    'Paket entfernen'
 
 'The same code is found in the subclass(es)'    'Der selbe Code wurde in Unterklasse(n) gefunden:'
-'You may want to remove it there'               'Vielleicht möchten Sie ihn dort entfernen.'
+'You may want to remove it there'               'Vielleicht mchten Sie ihn dort entfernen.'
 'Remove in Subclass(es)'                        'In Subklasse(n) entfernen'
 'Remove here'                                   'Hier entfernen'
 
 'new name of project:'                  'neuer Name des Projekts:'
-'%1 is not a valid directory'           '%1 ist kein gültiges Verzeichnis'
+'%1 is not a valid directory'           '%1 ist kein gltiges Verzeichnis'
 '%1 does not exist\\create ?'           '%1 existiert nicht.\\anlegen ?'
 'cannot create %1'                      'kann %1 nicht anlegen.'
 'No classes or methods found in %1'     'weder Klassen noch Methoden wurden in %1 gefunden'
-'About to remove %1 classes and %2 additional methods.\\Are you certain you want this ?'  'Löschen von %1 Klassen un %2 Methoden.\\Wirklich entfernen ?'
+'About to remove %1 classes and %2 additional methods.\\Are you certain you want this ?'  'Lschen von %1 Klassen un %2 Methoden.\\Wirklich entfernen ?'
 'No current package.'                   'Kein aktives Paket definiert.'
 'no classes or methods in this project (yet)' '(Noch) keine Klassen oder Methoden in diesem Projekt'
-'no changes made in this project (yet)'       'In diesem Projekt wurden (noch) keine Änderungen gemacht.'
+'no changes made in this project (yet)'       'In diesem Projekt wurden (noch) keine nderungen gemacht.'
 
 'classes in package %1'                 'Klassen im Paket: %1'
 'individual methods in package %1'      'einzelne Methoden im Paket: %1'
-'Changes in %1'                         'Änderungen im Paket: %1'
+'Changes in %1'                         'nderungen im Paket: %1'
 
 ;--------------------------------------------------------------------------------------------
 ;
@@ -1623,7 +1623,7 @@
 ;
 ; 'Debug'                  'Debug'
 'Resume'                 'Fortfahren'
-'Suspend'                'Verdrängen'
+'Suspend'                'Verdrngen'
 'Stop'                   'Anhalten'
 'Abort'                  'Aktion abbrechen'
 'Restart'                'Neu starten'
@@ -1631,15 +1631,15 @@
 'Hard Terminate'         'Prozess sofort terminieren'
 'Terminate Group'        'Prozessgruppe terminieren'
 
-'Raise Prio'             'Priorität erhöhen'
-'Lower Prio'             'Priorität erniedrigen'
+'Raise Prio'             'Prioritt erhhen'
+'Lower Prio'             'Prioritt erniedrigen'
 
 '\c Detail'              '\c Genauere Information'
 
 'Process'               'Prozess'
 'Group'                 'Gruppe'
 'State'                 'Zustand'
-'Prio'                  'Priorität'
+'Prio'                  'Prioritt'
 'Used Stack'            'Verwendeter Stack'
 'Total Stack'           'Reservierter Stack'
 'Current-Segment'       'Aktuelles Stacksegment'
@@ -1670,34 +1670,34 @@
 ;
 ; ChangesBrowser
 ;
-Apply                                   'Übernehmen'
-Test                                    'Prüfen'
+Apply                                   'bernehmen'
+Test                                    'Prfen'
 
 Reload                                  'Neuladen'
 ; Load                                    'Laden'
 ; Save                                    'Speichern'
 Save                                    'Sichern'
-Append                                  'Anfügen'
-
-Change                                  'Änderung'
+Append                                  'Anfgen'
+
+Change                                  'nderung'
 'To End'                                'Bis Ende'
-'All for Class'                         'Alle für Klasse'
-'For Class to End'                      'Für Klasse bis Ende'
+'All for Class'                         'Alle fr Klasse'
+'For Class to End'                      'Fr Klasse bis Ende'
 'From last Snapshot'                    'Ab der letzten Sicherung'
 
-'Apply To End'                          'Übernehmen bis Ende'
-'Apply All For Class'                   'Übernehmen alle für Klasse'
-'Apply For Class To End'                'Übernehmen bis Ende für Klasse'
-
-'Delete To End'                         'Löschen bis Ende'
-'Delete All For Class'                  'Löschen Alle für Klasse'
-'Delete For Class To End'               'Löschen bis Ende für Klasse'
+'Apply To End'                          'bernehmen bis Ende'
+'Apply All For Class'                   'bernehmen alle fr Klasse'
+'Apply For Class To End'                'bernehmen bis Ende fr Klasse'
+
+'Delete To End'                         'Lschen bis Ende'
+'Delete All For Class'                  'Lschen Alle fr Klasse'
+'Delete For Class To End'               'Lschen bis Ende fr Klasse'
 
 Compress                                'Komprimieren'
-'Compress For Class'                    'Komprimieren für Klasse'
+'Compress For Class'                    'Komprimieren fr Klasse'
 
 'Find last Snapshot'                    'Letzte Sicherung suchen'
-'Find next Snapshot'                    'Nächste Sicherung suchen'
+'Find next Snapshot'                    'Nchste Sicherung suchen'
 
 'Compare with Current Version'          'Vergleichen mit aktueller Version'
 'compare with current version'          'Vergleichen - mit aktueller Version'
@@ -1708,18 +1708,18 @@
 'Private Classes as Separate'           'Private Klassen separat'
 
 Columns                                 'Spalten'
-Fonts                                   'Zeichensätze'
-
-'Empty History'                         'Historie löschen'
-'empty history'                         'Historie löschen'
+Fonts                                   'Zeichenstze'
+
+'Empty History'                         'Historie lschen'
+'empty history'                         'Historie lschen'
 
 'Documentation'                         'Dokumentation'
 
 'Change list was modified. Exit anyway?'   'Change-Liste wurde modifiziert. Trotzdem beenden?'
-'Discard Modifications and Exit'           'Änderungen verwerfen und beenden'
-
-'changes are not allowed to be changed'    'Änderungen können nicht geändert werden'
-'Warning: this operation cannot be undone' 'Achtung: diese Operation kann nicht zurückgenommen werden'
+'Discard Modifications and Exit'           'nderungen verwerfen und beenden'
+
+'changes are not allowed to be changed'    'nderungen knnen nicht gendert werden'
+'Warning: this operation cannot be undone' 'Achtung: diese Operation kann nicht zurckgenommen werden'
 'Quit without updating changeFile ?'       'Beenden ohne die Changedatei zu aktualisieren ?'
 
 'changefile has not been updated from the modified changelist.\\Update before closing ?' 'Changedatei wurde nicht aktualisiert.\\Aktualisieren ?'
@@ -1728,12 +1728,12 @@
 'don''t update'                        'nicht aktualisieren'
 
 'not comparable.'                      'nicht vergleichbar'
-'cannot compare this change\\(compare requires class to be loaded).'    'Kein Vergleich möglich\\(Klasse muss erst geladen werden).'
-'cannot compare this change\\(i.e. this is not a method change).'       'Kein Vergleich möglich\\(Änderung bezieht sich nicht auf eine Methode).'
+'cannot compare this change\\(compare requires class to be loaded).'    'Kein Vergleich mglich\\(Klasse muss erst geladen werden).'
+'cannot compare this change\\(i.e. this is not a method change).'       'Kein Vergleich mglich\\(nderung bezieht sich nicht auf eine Methode).'
 'class does not exist'                 'Klasse nicht gefunden'
 'method does not exist'                'Methode nicht gefunden'
 'there is no such method'              'Methode nicht gefunden'
-'change unparsable'                    'Änderung kann nicht analysiert werden'
+'change unparsable'                    'nderung kann nicht analysiert werden'
 'change has no effect\\(same category)' 'Kein Unterschied (gleiche Kategorie)'
 
 'same source'                          'Quelltexte gleich'
@@ -1741,7 +1741,7 @@
 'source changed'                       'Quelltexte unterschiedlich'
 
 'current version (in image)'           'aktuelle Version (im Image)'
-'change version'                       'Änderung'
+'change version'                       'nderung'
 
 'updating...'                   'aktualisieren...'
 
@@ -1756,34 +1756,34 @@
 'Type'                        'Typ'
 'Timestamp'                   'Zeit'
 
-'Change'                                'Änderung'
+'Change'                                'nderung'
 
 'Current'                               'Aktuell'
-'Change'                                'Änderung'
+'Change'                                'nderung'
 
 'search class'                          'Klasse suchen'
-'next for this class'                   'Nächste Änderung zu dieser Klasse'
-'previous for this class'               'Vorige Änderung zu dieser Klasse'
+'next for this class'                   'Nchste nderung zu dieser Klasse'
+'previous for this class'               'Vorige nderung zu dieser Klasse'
 'search selector'                       'Selektor suchen'
-'next with this selector'               'Nächste Änderung mit diesem Selektor'
-'previous with this selector'           'Vorige Änderung mit diesem Selektor'
-'next snapshot'                         'Nächste Sicherung (snapshot)'
+'next with this selector'               'Nchste nderung mit diesem Selektor'
+'previous with this selector'           'Vorige nderung mit diesem Selektor'
+'next snapshot'                         'Nchste Sicherung (snapshot)'
 'previous snapshot'                     'Vorige Sicherung (snapshot)'
 'search string'                         'Zeichenkette suchen'
 
 'Class'                                 'Klasse'
-'Next for Class'                        'Nächste Änderung zu dieser Klasse'
-'Previous for Class'                    'Vorige Änderung zu dieser Klasse'
+'Next for Class'                        'Nchste nderung zu dieser Klasse'
+'Previous for Class'                    'Vorige nderung zu dieser Klasse'
 'Selector'                              'Selektor'
-'Next for Selector'                     'Nächste Änderung mit diesem Selektor'
-'Previous for Selector'                 'Vorige Änderung mit diesem Selektor'
+'Next for Selector'                     'Nchste nderung mit diesem Selektor'
+'Previous for Selector'                 'Vorige nderung mit diesem Selektor'
 'String'                                'Zeichenkette'
-'Next with String'                      'Nächste Änderung mit dieser Zeichenkette'
-'Previous with String'                  'Vorige Änderung mit dieser Zeichenkette'
-'Next Snapshot'                         'Nächste Sicherung (snapshot)'
+'Next with String'                      'Nchste nderung mit dieser Zeichenkette'
+'Previous with String'                  'Vorige nderung mit dieser Zeichenkette'
+'Next Snapshot'                         'Nchste Sicherung (snapshot)'
 'Previous Snapshot'                     'Vorige Sicherung (snapshot)'
 'Last Snapshot'                         'Letzte Sicherung (snapshot)'
-'Next Difference'                       'Nächster Unterschied'
+'Next Difference'                       'Nchster Unterschied'
 'Previous Difference'                   'Voriger Unterschied'
 
 
@@ -1791,112 +1791,112 @@
 'Autoload As Required'                  'Klassen bei Bedarf automatisch laden'
 'Show Diffs'                            'Unterschiede zeigen'
 'Auto Update'                           'Automatisch aktualisieren'
-'Apply in Original NameSpace'           'Im ursprünglichen Namensraum übernehmen'
-'Apply into Package'                    'Übernehmen in Paket'
-'Apply into NameSpace'                  'Übernehmen in Namensraum'
-
-'Apply to End'                          'Übernehmen - bis Ende'
-'Apply for Class to End'                'Übernehmen - bis Ende für diese Klasse'
-'Apply All'                             'Übernehmen - alles'
-
-'Apply from Begin'                      'Übernehmen - vom Anfang'
-'Apply for Class from Begin'            'Übernehmen - vom Anfang für diese Klasse'
-
-; 'apply change'                          'Übernehmen'
-; 'apply changes to end'                  'Übernehmen - bis Ende'
-; 'apply changes for class to end'        'Übernehmen - bis Ende für diese Klasse'
-; 'apply all changes'                     'Übernehmen - alles'
-
-'Apply to Conflict or End'              'Übernehmen - bis Konflikt oder Ende'
-
-'Add to ChangeSet when Applying'        'Bei Übernehmen auch ins ChangeSet eintragen'
+'Apply in Original NameSpace'           'Im ursprnglichen Namensraum bernehmen'
+'Apply into Package'                    'bernehmen in Paket'
+'Apply into NameSpace'                  'bernehmen in Namensraum'
+
+'Apply to End'                          'bernehmen - bis Ende'
+'Apply for Class to End'                'bernehmen - bis Ende fr diese Klasse'
+'Apply All'                             'bernehmen - alles'
+
+'Apply from Begin'                      'bernehmen - vom Anfang'
+'Apply for Class from Begin'            'bernehmen - vom Anfang fr diese Klasse'
+
+; 'apply change'                          'bernehmen'
+; 'apply changes to end'                  'bernehmen - bis Ende'
+; 'apply changes for class to end'        'bernehmen - bis Ende fr diese Klasse'
+; 'apply all changes'                     'bernehmen - alles'
+
+'Apply to Conflict or End'              'bernehmen - bis Konflikt oder Ende'
+
+'Add to ChangeSet when Applying'        'Bei bernehmen auch ins ChangeSet eintragen'
 
 'Delete'                                'Entfernen'
 'Delete to End'                         'Entfernen - bis Ende'
 'Delete from Begin'                     'Entfernen - vom Anfang'
-'Delete for Class to End'               'Entfernen - bis Ende für diese Klasse'
-'Delete for Class from Begin'           'Entfernen - vom Anfang für diese Klasse'
-'Delete All for Class'                  'Entfernen - alles für diese Klasse'
-'Delete all for Class'                  'Entfernen - alles für diese Klasse'
-'Delete All for Classes'                'Entfernen - alles für diese Klassen'
-'Delete all for Classes'                'Entfernen - alles für diese Klassen'
-'delete all for class & its private classes'      'Entfernen - alles für diese Klasse & private Klassen'
-'Delete all for Class && its Private Classes'     'Entfernen - alles für diese Klasse && private Klassen'
-'Delete All for Class && its Private Classes'     'Entfernen - alles für diese Klasse && private Klassen'
-'Delete All for Class & its Private Classes'      'Entfernen - alles für diese Klasse & private Klassen'
-'Delete All for Class && its private Classes'     'Entfernen - alles für diese Klasse && private Klassen'
-'Delete All for Class & its private Classes'      'Entfernen - alles für diese Klasse & private Klassen'
-'Delete All for Classes && their private Classes' 'Entfernen - alles für diese Klassen && private Klassen'
-'Delete All for Classes & their private Classes'  'Entfernen - alles für diese Klassen & private Klassen'
-'Delete all for Classes & their Private Classes'  'Entfernen - alles für diese Klassen & private Klassen'
-
-'delete changes for class to end'      'Entfernen bis Ende für diese Klasse'
-'delete changes for class from begin'  'Entfernen vom Anfang für diese Klasse'
-'delete all changes for class'         'Entfernen alles für diese Klasse'
+'Delete for Class to End'               'Entfernen - bis Ende fr diese Klasse'
+'Delete for Class from Begin'           'Entfernen - vom Anfang fr diese Klasse'
+'Delete All for Class'                  'Entfernen - alles fr diese Klasse'
+'Delete all for Class'                  'Entfernen - alles fr diese Klasse'
+'Delete All for Classes'                'Entfernen - alles fr diese Klassen'
+'Delete all for Classes'                'Entfernen - alles fr diese Klassen'
+'delete all for class & its private classes'      'Entfernen - alles fr diese Klasse & private Klassen'
+'Delete all for Class && its Private Classes'     'Entfernen - alles fr diese Klasse && private Klassen'
+'Delete All for Class && its Private Classes'     'Entfernen - alles fr diese Klasse && private Klassen'
+'Delete All for Class & its Private Classes'      'Entfernen - alles fr diese Klasse & private Klassen'
+'Delete All for Class && its private Classes'     'Entfernen - alles fr diese Klasse && private Klassen'
+'Delete All for Class & its private Classes'      'Entfernen - alles fr diese Klasse & private Klassen'
+'Delete All for Classes && their private Classes' 'Entfernen - alles fr diese Klassen && private Klassen'
+'Delete All for Classes & their private Classes'  'Entfernen - alles fr diese Klassen & private Klassen'
+'Delete all for Classes & their Private Classes'  'Entfernen - alles fr diese Klassen & private Klassen'
+
+'delete changes for class to end'      'Entfernen bis Ende fr diese Klasse'
+'delete changes for class from begin'  'Entfernen vom Anfang fr diese Klasse'
+'delete all changes for class'         'Entfernen alles fr diese Klasse'
 
 'Delete all Versions of Selected Method'        'Entfernen - alle Versionen dieser Methode'
-'Delete all Versions of all Selected Methods'   'Entfernen - alle Versionen der ausgewählten Methoden'
+'Delete all Versions of all Selected Methods'   'Entfernen - alle Versionen der ausgewhlten Methoden'
 
 'update view'                          'Aktualisieren (ChangeDatei lesen)'
 'Update View'                          'Aktualisieren (ChangeDatei lesen)'
 'Update (Reread Change-File)'          'Aktualisieren (ChangeDatei lesen)'
 'Compress'                             'Komprimieren'
-'compress for class'                   'Komprimieren für diese Klasse'
-'Compress for Class'                   'Komprimieren für diese Klasse'
-'Compress for Class && Selector'       'Komprimieren für diese Klasse && Selektor'
+'compress for class'                   'Komprimieren fr diese Klasse'
+'Compress for Class'                   'Komprimieren fr diese Klasse'
+'Compress for Class && Selector'       'Komprimieren fr diese Klasse && Selektor'
 'compare and compress'                 'Vergleichen und Komprimieren'
 'Compare and Compress'                 'Vergleichen und Komprimieren'
 
-'make change a patch'                  'Änderung automatisieren (in patches übernehmen)'
-'Make Change a Patch'                  'Änderung automatisieren (in patches übernehmen)'
+'make change a patch'                  'nderung automatisieren (in patches bernehmen)'
+'Make Change a Patch'                  'nderung automatisieren (in patches bernehmen)'
 
 'save change in'                    'Sichern in'
 'save changes to end in'            'Sichern bis Ende in'
-'save changes for class to end in'  'Sichern bis Ende für diese Klasse in'
-'save all changes for class in'     'Sichern alle für diese Klasse in'
+'save changes for class to end in'  'Sichern bis Ende fr diese Klasse in'
+'save all changes for class in'     'Sichern alle fr diese Klasse in'
 
 'save in'                           'sichern in'
 'Save In'                           'Sichern in'
 'save to end in'                    'Sichern bis Ende in'
 'Save to End in'                    'Sichern bis Ende in'
 'Save to End In'                    'Sichern bis Ende in'
-'save for class to end in'          'Sichern bis Ende für diese Klasse in'
-'Save for Class to End in'          'Sichern bis Ende für diese Klasse in'
-'Save for Class to End In'          'Sichern bis Ende für diese Klasse in'
-'save all for class in'             'Sichern alle für diese Klasse in'
-'Save all for Class In'             'Sichern alle für diese Klasse in'
-
-'update sourcefile from change'        'Änderung in sources eintragen'
-'writeback changeFile'                 'Zurückschreiben (in ChangeDatei)'
-'Writeback ChangeFile'                 'Zurückschreiben (in ChangeDatei)'
-'Writeback ClassFile'                  'Zurückschreiben (in Datei)'
-
-'fileout & delete all for class'               'Klasse in Datei sichern (fileOut) und alle Änderungen dazu entfernen'
-'Fileout && Delete All for Class'              'Klasse in Datei sichern (fileOut) und alle Änderungen dazu entfernen'
-'Fileout & Delete All for Class'               'Klasse in Datei sichern (fileOut) und alle Änderungen dazu entfernen'
-'Fileout && Delete all Changes for Class'      'Klasse in Datei sichern (fileOut) und alle Änderungen dazu entfernen'
-'Fileout && Delete All Changes for Class'      'Klasse in Datei sichern (fileOut) und alle Änderungen dazu entfernen'
-'Fileout & Delete All for Classes'             'Klasse in Datei sichern (fileOut) und alle Änderungen dazu entfernen'
-
-'checkIn & delete all for class'               'Klasse in Quellcodeverwaltung sichern (checkIn) und alle Änderungen dazu entfernen'
-'CheckIn && Delete All for Class'              'Klasse in Quellcodeverwaltung sichern (checkIn) und alle Änderungen dazu entfernen'
-'CheckIn & Delete All for Class'               'Klasse in Quellcodeverwaltung sichern (checkIn) und alle Änderungen dazu entfernen'
-'CheckIn && Delete All Changes for Class'      'Klasse in Quellcodeverwaltung sichern (checkIn) und alle Änderungen dazu entfernen'
-'CheckIn && Delete all Changes for Class'      'Klasse in Quellcodeverwaltung sichern (checkIn) und alle Änderungen dazu entfernen'
-'CheckIn & Delete All Changes for Class'       'Klasse in Quellcodeverwaltung sichern (checkIn) und alle Änderungen dazu entfernen'
-
-'The modified changelist has not been written back to the change file.\\Write change file before closing ?' 'Modifizierte Change-Liste wurde nicht in die Changedatei zurückgeschrieben.\\ChangeDatei aktualisieren ?'
-'The modified changelist has not been written back to the change file.\\Write change file before exiting ?' 'Modifizierte Change-Liste wurde nicht in die Changedatei zurückgeschrieben.\\ChangeDatei aktualisieren ?'
-
-'Write'                                'Zurückschreiben'
-'Don''t Write'                         'Nicht Zurückschreiben'
-'don''t write'                         'Nicht Zurückschreiben'
+'save for class to end in'          'Sichern bis Ende fr diese Klasse in'
+'Save for Class to End in'          'Sichern bis Ende fr diese Klasse in'
+'Save for Class to End In'          'Sichern bis Ende fr diese Klasse in'
+'save all for class in'             'Sichern alle fr diese Klasse in'
+'Save all for Class In'             'Sichern alle fr diese Klasse in'
+
+'update sourcefile from change'        'nderung in sources eintragen'
+'writeback changeFile'                 'Zurckschreiben (in ChangeDatei)'
+'Writeback ChangeFile'                 'Zurckschreiben (in ChangeDatei)'
+'Writeback ClassFile'                  'Zurckschreiben (in Datei)'
+
+'fileout & delete all for class'               'Klasse in Datei sichern (fileOut) und alle nderungen dazu entfernen'
+'Fileout && Delete All for Class'              'Klasse in Datei sichern (fileOut) und alle nderungen dazu entfernen'
+'Fileout & Delete All for Class'               'Klasse in Datei sichern (fileOut) und alle nderungen dazu entfernen'
+'Fileout && Delete all Changes for Class'      'Klasse in Datei sichern (fileOut) und alle nderungen dazu entfernen'
+'Fileout && Delete All Changes for Class'      'Klasse in Datei sichern (fileOut) und alle nderungen dazu entfernen'
+'Fileout & Delete All for Classes'             'Klasse in Datei sichern (fileOut) und alle nderungen dazu entfernen'
+
+'checkIn & delete all for class'               'Klasse in Quellcodeverwaltung sichern (checkIn) und alle nderungen dazu entfernen'
+'CheckIn && Delete All for Class'              'Klasse in Quellcodeverwaltung sichern (checkIn) und alle nderungen dazu entfernen'
+'CheckIn & Delete All for Class'               'Klasse in Quellcodeverwaltung sichern (checkIn) und alle nderungen dazu entfernen'
+'CheckIn && Delete All Changes for Class'      'Klasse in Quellcodeverwaltung sichern (checkIn) und alle nderungen dazu entfernen'
+'CheckIn && Delete all Changes for Class'      'Klasse in Quellcodeverwaltung sichern (checkIn) und alle nderungen dazu entfernen'
+'CheckIn & Delete All Changes for Class'       'Klasse in Quellcodeverwaltung sichern (checkIn) und alle nderungen dazu entfernen'
+
+'The modified changelist has not been written back to the change file.\\Write change file before closing ?' 'Modifizierte Change-Liste wurde nicht in die Changedatei zurckgeschrieben.\\ChangeDatei aktualisieren ?'
+'The modified changelist has not been written back to the change file.\\Write change file before exiting ?' 'Modifizierte Change-Liste wurde nicht in die Changedatei zurckgeschrieben.\\ChangeDatei aktualisieren ?'
+
+'Write'                                'Zurckschreiben'
+'Don''t Write'                         'Nicht Zurckschreiben'
+'don''t write'                         'Nicht Zurckschreiben'
 'Continue'                             'Fortfahren'
 
-'%1 is an autoloaded class.\I can only compare the methods source if its loaded first.\\Shall the class be loaded now ?'  '%1 ist noch nicht geladen.\Vergleich ist nur nach dem Laden möglich.\\Soll die Klasse jetzt geladen werden ?'
+'%1 is an autoloaded class.\I can only compare the methods source if its loaded first.\\Shall the class be loaded now ?'  '%1 ist noch nicht geladen.\Vergleich ist nur nach dem Laden mglich.\\Soll die Klasse jetzt geladen werden ?'
 
 'ChangesBrowser Documentation'  'Dokumentation'
-'About ChangesBrowser'          'Über den ChangesBrowser'
+'About ChangesBrowser'          'ber den ChangesBrowser'
 
 ;--------------------------------------------------------------------------------------------
 ;
@@ -1938,17 +1938,17 @@
 
 'Scavenge'                      'Scavenge (Speicher f. junge Objekte)'
 'Tenure'                        'Tenure (Objekte altern)'
-'hi prio incremental collect'   'inkrementell bereinigen (hohe Priorität)'
-'Hi Prio Incremental Collect'   'Inkrementell bereinigen (hohe Priorität)'
-'flush method history'          'Methodenhistorie löschen'
-'Flush Method History'          'Methodenhistorie löschen'
+'hi prio incremental collect'   'inkrementell bereinigen (hohe Prioritt)'
+'Hi Prio Incremental Collect'   'Inkrementell bereinigen (hohe Prioritt)'
+'flush method history'          'Methodenhistorie lschen'
+'Flush Method History'          'Methodenhistorie lschen'
 'cleanup memory'                'alles bereinigen'
 'Cleanup Memory'                'Alles bereinigen'
 'unload autoloaded classes'     'Automatisch geladene Klassen wieder entladen'
 'Unload Autoloaded Classes'     'Automatisch geladene Klassen wieder entladen'
 
-'reset statistic values'        'Messwerte zurücksetzen'
-'Reset Statistic Values'        'Messwerte zurücksetzen'
+'reset statistic values'        'Messwerte zurcksetzen'
+'Reset Statistic Values'        'Messwerte zurcksetzen'
 
 'Collect Garbage'               'Speicher bereinigen'
 'Collect Garbage && Symbols'    'Speicher && Symbole bereinigen'
@@ -1959,13 +1959,13 @@
 ; Inspector resources
 ;
 'Follow'                 'Referenz folgen'
-'add key'                'index einfügen'
+'add key'                'index einfgen'
 'remove key'             'index entfernen'
-'Add Key'                'Schlüssel einfügen'
-'Remove Key'             'Schlüssel entfernen'
-'Copy Key'               'Schlüssel kopieren'
-'Copy Name or Key'       'Name oder Schlüssel kopieren'
-'Inspect Key'            'Schlüssel inspizieren'
+'Add Key'                'Schlssel einfgen'
+'Remove Key'             'Schlssel entfernen'
+'Copy Key'               'Schlssel kopieren'
+'Copy Name or Key'       'Name oder Schlssel kopieren'
+'Inspect Key'            'Schlssel inspizieren'
 'BasicInspect'           'Inspizieren (Basic)'
 'Inspect Hierarchical'   'Inspizieren (Hierarchisch)'
 'References to Global'   'Referenzen auf Globale'
@@ -1996,7 +1996,7 @@
 'Trace Message'          'Methodenaufruf protokollieren'
 'Untrace/Untrap'         'Protokollierung / Fangen beenden'
 'Hex Integers'           'Integerwerte hexadezimal anzeigen'
-'Binary Integers'        'Integerwerte binär anzeigen'
+'Binary Integers'        'Integerwerte binr anzeigen'
 'Decimal Integers'       'Integerwerte dezimal anzeigen'
 
 ;--------------------------------------------------------------------------------------------
@@ -2006,7 +2006,7 @@
 
 'Reload'                    'Neu Laden'
 'home'                      'Home'
-'back'                      'zurück'
+'back'                      'zurck'
 'hardcopy'                  'Abzug'
 'source'                    'Quelle'
 
@@ -2017,12 +2017,12 @@
 ; FileBrowser
 ;
 
-ENCODING_MSG       'Angabe der Zeichenkodierung.\\Die Voreinstellung (1-zu-1 unkodiert) sollte für 7Bit Ascii und\iso8859 (= ANSI) kodierte Textdateien verwendet werden.\'
+ENCODING_MSG       'Angabe der Zeichenkodierung.\\Die Voreinstellung (1-zu-1 unkodiert) sollte fr 7Bit Ascii und\iso8859 (= ANSI) kodierte Textdateien verwendet werden.\'
 
 'FileBrowser'      'DateiBrowser'
 
-'About Smalltalk/X'          'Über Smalltalk/X'
-'About FileBrowser'          'Über den DateiBrowser'
+'About Smalltalk/X'          'ber Smalltalk/X'
+'About FileBrowser'          'ber den DateiBrowser'
 'FileBrowser Documentation'  'DateiBrowser Dokumentation'
 
 'Directory'     'Verzeichnis'
@@ -2030,44 +2030,44 @@
 'Tools'         'Hilfsmittel'
 'Help'          'Hilfe'
 
-'Remove'        'Löschen'
+'Remove'        'Lschen'
 'Properties'    'Eigenschaften'
 
 'Rename each to Include Directory in Name'  'Umbenennen, mit Verzeichnis im Namen'
 
-'Make Selected Directory new Root'          'Ausgewähltes Verzeichnis als Stamm im Baum anzeigen'
-
-; 'Back'                  'Zurück'
-'Forward'               'Vorwärts'
+'Make Selected Directory new Root'          'Ausgewhltes Verzeichnis als Stamm im Baum anzeigen'
+
+; 'Back'                  'Zurck'
+'Forward'               'Vorwrts'
 'Home'                  'Heimatverzeichnis'
 ; 'Default'               'Startverzeichnis'
 ; 'Visited Files'         'Datei Historie'
 ; 'Visited Directories'   'Ordner Historie'
 
-'Hard Link'             'Harte Verknüpfung'
-'Symbolic Link'         'Symbolische Verknüpfung'
+'Hard Link'             'Harte Verknpfung'
+'Symbolic Link'         'Symbolische Verknpfung'
 
 'New Directory'         'Neuer Ordner'
 'New File'              'Neue Datei'
 
 'get contents'          'Datei lesen'
-'insert contents'       'Datei einfügen'
-'Insert URL Contents'   'Webdokument (URL-Inhalt) einfügen'
-; 'insert contents'       'Dateiinhalt einfügen'
+'insert contents'       'Datei einfgen'
+'Insert URL Contents'   'Webdokument (URL-Inhalt) einfgen'
+; 'insert contents'       'Dateiinhalt einfgen'
 'Copy File List'        'Dateiliste ins Clipboard kopieren'
 ; 'Copy File List'        'Kopiere Dateiliste'
 'copy Path'             'Pfad ins Clipboard kopieren'
 ; 'copy path'                 'Pfad kopieren'
-'Copy Selected Filename'                    'Ausgewählten Namen ins Clipboard kopieren'
-'Copy Selected Filenames to Clipboard'      'Ausgewählte Dateinamen ins Clipboard kopieren'
-; 'Copy Selected Filenames'                 'Kopiere ausgewählte Dateien'
+'Copy Selected Filename'                    'Ausgewhlten Namen ins Clipboard kopieren'
+'Copy Selected Filenames to Clipboard'      'Ausgewhlte Dateinamen ins Clipboard kopieren'
+; 'Copy Selected Filenames'                 'Kopiere ausgewhlte Dateien'
 'Copy All Filenames to Clipboard'           'Alle Dateinamen ins Clipboard kopieren'
 ; 'Copy All Filenames'                        'Kopiere alle Dateien'
-'Copy Selected Pathname'                    'Ausgewählten Pfad ins Clipboard kopieren'
+'Copy Selected Pathname'                    'Ausgewhlten Pfad ins Clipboard kopieren'
 'Copy Command History'                      'Befehlshistorie ins Clipboard kopieren'
 
 'Show Hidden Files'     'Versteckte Dateien Zeigen'
-'Big Image Preview'     'Bildvorschau mit großen Bildern'
+'Big Image Preview'     'Bildvorschau mit groen Bildern'
 'Sort by Type'          'Sortieren nach Typ'
 'Sort by Time'          'Sortieren nach Zeit'
 'Encoding'              'Zeichenkodierung'
@@ -2084,17 +2084,17 @@
 
 'spawn Filebrowser'         'neuer Dateibrowser'
 'show info'                 'Info anzeigen'
-'show full info'            'ausführliche Info anzeigen'
+'show full info'            'ausfhrliche Info anzeigen'
 'show all files'            'alle Dateien anzeigen'
-'hide hidden files'         'versteckte Dateien unterdrücken'
+'hide hidden files'         'versteckte Dateien unterdrcken'
 fileIn                      'laden (fileIn)'
 'fileIn (into ''%1'')'      'laden (fileIn nach ''%1'')'
-'execute unix command'      'Unix Kommando ausführen'
+'execute unix command'      'Unix Kommando ausfhren'
 'st/x tools'                'st/x Hilfsmittel'
-delete                      'löschen'
+delete                      'lschen'
 erase                       'ausradieren'
 DISPLAY_MODE                'Anzeigemodus'
-'display long list'         'ausführliche Liste'
+'display long list'         'ausfhrliche Liste'
 'display short list'        'kurze Liste'
 'encoding'                  'Zeichenkodierung'
 
@@ -2104,10 +2104,10 @@
 'create file'                   'Neue Datei anlegen'
 'Create File'                   'Datei anlegen'
 'create new file:'              'neue Datei anlegen:'
-'Create hard link from:'        'Harte Verknüpfung erzeugen von:'
-'Create Hard Link from:'        'Harte Verknüpfung (Link) anlegen von:'
-'Create symbolic link from:'    'Symbolische Verknüpfung erzeugen von:'
-'Create Symbolic Link from:'    'Symbolische Verknüpfung (Link) anlegen von:'
+'Create hard link from:'        'Harte Verknpfung erzeugen von:'
+'Create Hard Link from:'        'Harte Verknpfung (Link) anlegen von:'
+'Create symbolic link from:'    'Symbolische Verknpfung erzeugen von:'
+'Create Symbolic Link from:'    'Symbolische Verknpfung (Link) anlegen von:'
 
 'to:'                           'nach:'
 
@@ -2129,23 +2129,23 @@
 'Find a File'                   'Datei suchen'
 'terminal'                      'Terminal'
 
-'Update selected files/directories'     'Ausgewählte Dateien/Ordner Aktualisieren'
-'Update selected Files/Directories'     'Ausgewählte Dateien/Ordner aktualisieren (CVS)'
+'Update selected files/directories'     'Ausgewhlte Dateien/Ordner Aktualisieren'
+'Update selected Files/Directories'     'Ausgewhlte Dateien/Ordner aktualisieren (CVS)'
 'Update directory local'                'Ordner lokal Aktualisieren'
 'Update Directory Local'                'Ordner lokal aktualisieren (CVS)'
 'Update directory recursive'            'Ordner rekursiv Aktualisieren'
 'Update Directory Recursive'            'Ordner rekursiv aktualisieren (CVS)'
-'Remove file && CVS Container'          'Datei && CVS Container Löschen'
-'Remove File && CVS Container'          'Datei && Container löschen (CVS)'
+'Remove file && CVS Container'          'Datei && CVS Container Lschen'
+'Remove File && CVS Container'          'Datei && Container lschen (CVS)'
 ; 'Add'                            'CVS Container Anlegen'
 ; 'Add'                            'Container anlegen (CVS)'
 ; 'Commit'                         'In Source Repository Container Einchecken'
 'Commit'                         'Einchecken (Source Repository)'
 'Add && Commit'                  'Container anlegen und einchecken'
-'Add as Binary && Commit'        'Container für Binärdatei anlegen und einchecken'
+'Add as Binary && Commit'        'Container fr Binrdatei anlegen und einchecken'
 'Commit (CVS)'                         'Einchecken (CVS)'
 'Add && Commit (CVS)'                  'Container anlegen und einchecken (CVS)'
-'Add as Binary && Commit (CVS)'        'Container für Binärdatei anlegen und einchecken (CVS)'
+'Add as Binary && Commit (CVS)'        'Container fr Binrdatei anlegen und einchecken (CVS)'
 
 
 'symbolic link to: %1'  'Symbolische Referenz auf: %1'
@@ -2154,7 +2154,7 @@
 'type:   '              'Typ:      '
 'owner:  %1'            'Besitzer: %1'
 'group:  %1'            'Gruppe:   %1'
-'size:   %1'            'Grösse:   %1'
+'size:   %1'            'Grsse:   %1'
 'last access:       %1 %2'   'letzter Zugriff: %1 %2'
 'last modification: %1 %2'   'letzte Anderung: %1 %2'
 'owner: '               'Besitzer: '
@@ -2169,11 +2169,11 @@
 'cannot create file ''%1'' !'                           'kann Datei ''%1'' nicht anlegen !'
 'cannot read directory %1 !'                            'kann Verzeichnis %1 nicht lesen !'
 '''%1'' is not a directory !'                           '''%1'' ist kein Verzeichnis !'
-'''%1'' is not a regular file'                          '''%1'' ist keine reguläre Datei !'
-'''%1'' seems to be a binary file - continue anyway ?'  '''%1'' scheint eine Binärdatei zu sein - dennoch lesen ?'
-'''%1'' seems to be a binary file - show anyway ?'      '''%1'' scheint eine Binärdatei zu sein - dennoch anzeigen ?'
+'''%1'' is not a regular file'                          '''%1'' ist keine regulre Datei !'
+'''%1'' seems to be a binary file - continue anyway ?'  '''%1'' scheint eine Binrdatei zu sein - dennoch lesen ?'
+'''%1'' seems to be a binary file - show anyway ?'      '''%1'' scheint eine Binrdatei zu sein - dennoch anzeigen ?'
 '''%1'' seems to be %2 encoded.'                        '''%1'' scheint %2-kodiert zu sein.'
-'''%1'' seems to require a %2 font.'                    '''%1'' scheint einen %2 Zeichensatz zu benötigen'
+'''%1'' seems to require a %2 font.'                    '''%1'' scheint einen %2 Zeichensatz zu bentigen'
 
 'Save changed file "%1" ?'                              'Modifizierten Text in "%1" sichern ?'
 'Show Diffs'                                            'Unterschiede zeigen'
@@ -2181,34 +2181,34 @@
 'Change Font'                                           'Zeichensatz Umschalten'
 'Don''t Ask Again'                                      'Nicht mehr fragen'
 'switch to a %1 encoded font ?'                         'Umschalten auf einen %1-kodierten Zeichensatz ?'
-'Individual characters may be invisible/wrong in this font.' 'Einzelne Zeichen können in diesem Zeichensatz unsichtbar oder falsch dargestellt werden.'
+'Individual characters may be invisible/wrong in this font.' 'Einzelne Zeichen knnen in diesem Zeichensatz unsichtbar oder falsch dargestellt werden.'
 
 'cannot read %1 !'                                      'kann Datei %1 nicht lesen !'
-'cannot remove ''%1'' !'                                'kann ''%1'' nicht löschen !'
-'exactly one file must be selected !'                   'genau eine Datei muß selektiert sein !'
-'directory ''%1'' is not empty\remove anyway ?'         'Verzeichnis ''%1'' ist nicht leer - dennoch löschen ?'
-
-'execute %1 command:'      '%1- Befehl ausführen:'
-'execute unix command'    'Unix Kommando ausführen'
-'Execute'                  'Ausführen'
-
-'remove selected files ?'    'wirklich löschen ?'
-'remove all'                 'alle löschen'
-'remove ''%1'' ?'            '''%1'' wirklich löschen ?'
-'remove %1 selected files ?' 'Die %1 Dateien wirklich löschen ?'
-'Remove ''%1'' and its CVS container ?' '''%1'' und den dazugehörenden CVS Container wirklich löschen ?'
-'Remove %1 selected files and their CVS containers ?' '%1 ausgewählte Dateien und die dazugehörenden CVS Container wirklich löschen ?'
+'cannot remove ''%1'' !'                                'kann ''%1'' nicht lschen !'
+'exactly one file must be selected !'                   'genau eine Datei mu selektiert sein !'
+'directory ''%1'' is not empty\remove anyway ?'         'Verzeichnis ''%1'' ist nicht leer - dennoch lschen ?'
+
+'execute %1 command:'      '%1- Befehl ausfhren:'
+'execute unix command'    'Unix Kommando ausfhren'
+'Execute'                  'Ausfhren'
+
+'remove selected files ?'    'wirklich lschen ?'
+'remove all'                 'alle lschen'
+'remove ''%1'' ?'            '''%1'' wirklich lschen ?'
+'remove %1 selected files ?' 'Die %1 Dateien wirklich lschen ?'
+'Remove ''%1'' and its CVS container ?' '''%1'' und den dazugehrenden CVS Container wirklich lschen ?'
+'Remove %1 selected files and their CVS containers ?' '%1 ausgewhlte Dateien und die dazugehrenden CVS Container wirklich lschen ?'
 
 'rename ''%1'' to:'        '''%1'' umbenennen in:'
 
 'Change'                   'Wechseln'
 
-'contents has not been saved.\\Modifications will be lost when directory is changed.' 'Inhalt wurde nicht gesichert.\\Änderungen gehen verloren wenn in anderes Verzeichnis gewechselt wird.'
-'contents has not been saved.\\Modifications will be lost when directory is changed.' 'Inhalt wurde nicht gesichert.\\Änderungen gehen verloren wenn in anderes Verzeichnis gewechselt wird.'
-'contents has not been saved.\\Modifications will be lost when command is executed.'  'Inhalt wurde nicht gesichert.\\Änderungen gehen verloren wenn Kommando ausgeführt wird.'
-'contents has not been saved.\\Modifications will be lost when new file is read.' 'Inhalt wurde nicht gesichert.\\Änderungen gehen verloren wenn neue Datei gelesen wird.'
-'contents has not been saved.\\Modifications will be lost when FileBrowser is closed.' 'Inhalt wurde nicht gesichert.\\Änderungen gehen verloren wenn der Dateibrowser beendet wird.'
-'Contents has not been saved.\\Modifications will be lost when hex dump is shown.'    'Inhalt wurde nicht gesichert.\\Änderungen gehen verloren wenn HexDump angezeigt wird.'
+'contents has not been saved.\\Modifications will be lost when directory is changed.' 'Inhalt wurde nicht gesichert.\\nderungen gehen verloren wenn in anderes Verzeichnis gewechselt wird.'
+'contents has not been saved.\\Modifications will be lost when directory is changed.' 'Inhalt wurde nicht gesichert.\\nderungen gehen verloren wenn in anderes Verzeichnis gewechselt wird.'
+'contents has not been saved.\\Modifications will be lost when command is executed.'  'Inhalt wurde nicht gesichert.\\nderungen gehen verloren wenn Kommando ausgefhrt wird.'
+'contents has not been saved.\\Modifications will be lost when new file is read.' 'Inhalt wurde nicht gesichert.\\nderungen gehen verloren wenn neue Datei gelesen wird.'
+'contents has not been saved.\\Modifications will be lost when FileBrowser is closed.' 'Inhalt wurde nicht gesichert.\\nderungen gehen verloren wenn der Dateibrowser beendet wird.'
+'Contents has not been saved.\\Modifications will be lost when hex dump is shown.'    'Inhalt wurde nicht gesichert.\\nderungen gehen verloren wenn HexDump angezeigt wird.'
 
 'Get'    'Lesen'
 
@@ -2220,15 +2220,15 @@
 
 'File Browser V2'               'DateiBrowser V2'
 
-'About FileBrowser'             'Über den DateiBrowser'
+'About FileBrowser'             'ber den DateiBrowser'
 'FileBrowser Documentation'     'DateiBrowser Dokumentation'
 
-'Open selected Filename'    'Ausgewählte Datei Öffnen'
+'Open selected Filename'    'Ausgewhlte Datei ffnen'
 'FileIn'                    'Laden (fileIn)'
 'File In'                   'Laden (fileIn)'
 'File in'                   'Laden (fileIn)'
-'Move To'                   'Übertragen nach'
-'Move to'                   'Übertragen nach'
+'Move To'                   'bertragen nach'
+'Move to'                   'bertragen nach'
 'Copy To'                   'Kopieren nach'
 'Search Files'              'Dateien suchen'
 ; 'Add Search Tile'           'Neues Such-Fenster'
@@ -2251,22 +2251,22 @@
 ; 'Add Text Editor'               'Neues Texteditor-Fenster'
 'Add Text Editor Page'          'Neue Texteditor-Seite'
 'File Operations'               'Dateioperationen'
-'Truncate'                      'Inhalt kürzen (Truncate)'
+'Truncate'                      'Inhalt krzen (Truncate)'
 'Split'                         'Inhalt aufteilen'
 'Join'                          'Inhalte zusammenfassen'
-'Copy Corrupted File To'        'Beschädigte Datei kopieren nach'
+'Copy Corrupted File To'        'Beschdigte Datei kopieren nach'
 'Generate Signed Files'                             'Signierte Dateien erzeugen'
 'Generate Detached Signature Files (use for dll)'   'Separate Signaturdateien erzeugen'
 
 'Add Text Editor'               'Neuer Texteditor'
-'Select in Filelist'            'In der Dateiliste auswählen'
+'Select in Filelist'            'In der Dateiliste auswhlen'
 'Rename Tab'                    'Tab umbenennen'
-'Close Tab'                     'Tab schließen'
-'Close all Tabs'                'Alle Tabs schließen'
-'Close all but this Tab'        'Alle außer diesem Tab schließen'
+'Close Tab'                     'Tab schlieen'
+'Close all Tabs'                'Alle Tabs schlieen'
+'Close all but this Tab'        'Alle auer diesem Tab schlieen'
 
 'Up'                    'Nach oben'
-; 'Forward'               'Vorwärts'
+; 'Forward'               'Vorwrts'
 'Down '                 'Nach unten'
 'Home Directory'        'Homeverzeichnis'
 'Default Directory'     'Startverzeichnis'
@@ -2279,18 +2279,18 @@
 'Visited Files'         'Historie besuchter Dateien'
 'Visited Directories'   'Historie besuchter Ordner'
 'Save Bookmarks In'     'Lesezeichen sichern in'
-'Open in Text Editor'   'In Texteditor öffnen'
-'Select All'            'Alles auswählen'
-'Clear File History'    'Dateihistorie löschen'
+'Open in Text Editor'   'In Texteditor ffnen'
+'Select All'            'Alles auswhlen'
+'Clear File History'    'Dateihistorie lschen'
 
 'Hidden Files'          'Versteckte Dateien'
 'Sort by Name'                                          'Sortieren nach Name'
 'Sort by Name ignoring case'                            'Sortieren nach Name (gross/klein ignorieren)'
 'Sort by Name Ignoring Case'                            'Sortieren nach Name (gross/klein ignorieren)'
-'Sort by Name (ignore leading underscores)'             'Sortieren nach Name (führende Unterstriche ignorieren)'
-'Sort by Name (Ignore Leading Underscores)'             'Sortieren nach Name (führende Unterstriche ignorieren)'
-'Sort by Name (ignore leading underscores and case)'    'Sortieren nach Name (führende Unterstriche und gross/klein ignorieren)'
-'Sort by Name (Ignore Leading Underscores and Case)'    'Sortieren nach Name (führende Unterstriche und gross/klein ignorieren)'
+'Sort by Name (ignore leading underscores)'             'Sortieren nach Name (fhrende Unterstriche ignorieren)'
+'Sort by Name (Ignore Leading Underscores)'             'Sortieren nach Name (fhrende Unterstriche ignorieren)'
+'Sort by Name (ignore leading underscores and case)'    'Sortieren nach Name (fhrende Unterstriche und gross/klein ignorieren)'
+'Sort by Name (Ignore Leading Underscores and Case)'    'Sortieren nach Name (fhrende Unterstriche und gross/klein ignorieren)'
 'Sort by Type'                                          'Sortieren nach Typ'
 'Sort by Time'                                          'Sortieren nach Zeit'
 'Sort by Linenumber'                                    'Sortieren nach Zeilennummer'
@@ -2316,17 +2316,17 @@
 'Compare with Each Other'   'Miteinander vergleichen'
 'quick fileIn (lazy)'       'schnell laden (lazy fileIn)'
 DISPLAY_MODE                'Anzeigemodus'
-'display long list'         'ausführliche Liste'
+'display long list'         'ausfhrliche Liste'
 'display short list'        'kurze Liste'
 
 'Directories'               'Verzeichnisse'
 'Copy Filenames'            'Dateinamen kopieren'
 
-'Open (Win32-Shell)'        'Öffnen (Win32-Shell Aktion)'
-'Execute Command'           'Kommando ausführen'
-'Execute UNIX Command'      'UNIX-Kommando ausführen'
-'Execute DOS Command'       'DOS-Kommando ausführen'
-'Execute Script'            'Script ausführen'
+'Open (Win32-Shell)'        'ffnen (Win32-Shell Aktion)'
+'Execute Command'           'Kommando ausfhren'
+'Execute UNIX Command'      'UNIX-Kommando ausfhren'
+'Execute DOS Command'       'DOS-Kommando ausfhren'
+'Execute Script'            'Script ausfhren'
 'Create Smalltalk Project'  'Neues Smalltalk Projekt anlegen'
 'Install Autoloaded'                            'Installiere als Autoloaded'
 'Install all as Autoloaded'                     'Installiere alle als Autoloaded'
@@ -2356,20 +2356,20 @@
 'Directories in ContentsView (Right)'   'Ordner in DateiListe (Rechts)'
 'File Applications'                     'Datei-Editoren'
 'DiskUsage'                             'Plattenbelegung'
-'Open Multiple Applications'            'Öffnen mehrerer Editoren'
+'Open Multiple Applications'            'ffnen mehrerer Editoren'
 
 'Sort'                      'Sortieren'
 'By Filename'               'Nach Name'
 'By Extension'              'Nach Suffix'
 'By Type'                   'Nach Typ'
 'By Permissions'            'Nach Zugriffsrechten'
-'By Owner'                  'Nach Eigentümer'
+'By Owner'                  'Nach Eigentmer'
 'By Group'                  'Nach Gruppe'
-'By Size'                   'Nach Grösse'
+'By Size'                   'Nach Grsse'
 'By Date && Time'           'Nach Datum && Zeit'
 'By Group'                  'Nach Gruppe'
-; 'Ignore Case in Sort'       'Groß/Klein ignorieren'
-'Ignore Case in Sort'       'Groß/Klein beim Sortieren ignorieren'
+; 'Ignore Case in Sort'       'Gro/Klein ignorieren'
+'Ignore Case in Sort'       'Gro/Klein beim Sortieren ignorieren'
 'Directories before Files'  'Ordner vor Dateien'
 
 'Show Details'          'Details anzeigen'
@@ -2401,54 +2401,54 @@
 'Hide Filename Field'           'Datei Eingabefeld ausblenden'
 'Hide Filename & Filter Fields' 'Dateiname und Filter ausblenden'
 
-'Directory Up'          'Zu übergeordnetem Ordner gehen'
-'Directory up'          'Zu übergeordnetem Ordner gehen'
-'Directory Back'        'Zurück gehen'
-'Directory back'        'Zurück gehen'
-'Directory Forward'     'Vorwärts gehen'
-'Directory forward'     'Vorwärts gehen'
+'Directory Up'          'Zu bergeordnetem Ordner gehen'
+'Directory up'          'Zu bergeordnetem Ordner gehen'
+'Directory Back'        'Zurck gehen'
+'Directory back'        'Zurck gehen'
+'Directory Forward'     'Vorwrts gehen'
+'Directory forward'     'Vorwrts gehen'
 'File History'          'Historie besuchter Dateien'
 'File history'          'Historie besuchter Dateien'
 'Copy File'             'Datei kopieren'
 'Copy file'             'Datei kopieren'
 'Cut File'              'Datei auschneiden'
 'Cut file'              'Datei auschneiden'
-'Paste File'            'Datei einfügen'
-'Paste file'            'Datei einfügen'
-'Delete File'           'Datei löschen'
-'Delete file'           'Datei löschen'
+'Paste File'            'Datei einfgen'
+'Paste file'            'Datei einfgen'
+'Delete File'           'Datei lschen'
+'Delete file'           'Datei lschen'
 'Search a File'         'Datei suchen'
 'Search a file'         'Datei suchen'
 'Show/Hide File Details'   'Details ein-/ausblenden'
 'Show/hide file details'   'Details ein-/ausblenden'
-'Back to: %1'              'Zurück nach %1'
+'Back to: %1'              'Zurck nach %1'
 'Forward to: %1'           'Nochmal nach %1'
 
-'Cut the Selected File(s)'      'Ausgewählte Datei(en) auschneiden'
-'Cut the selected file(s)'      'Ausgewählte Datei(en) auschneiden'
-'Copy the Selected File(s)'     'Ausgewählte Datei(en) kopieren'
-'Copy the selected file(s)'     'Ausgewählte Datei(en) kopieren'
-'Delete the Selected File(s)'   'Ausgewählte Datei(en) entfernen'
-'Delete the selected file(s)'   'Ausgewählte Datei(en) entfernen'
-'Paste File(s)'                 'Datei(en) einfügen'
-'Paste file(s)'                 'Datei(en) einfügen'
-'Open a ChangeBrowser on File'  'ChangeBrowser auf Datei öffnen'
-'Open a ChangeBrowser on file'  'ChangeBrowser auf Datei öffnen'
-'Edit the Selected File'        'Ausgewählte Datei bearbeiten'
-'Edit the selected file'        'Ausgewählte Datei bearbeiten'
+'Cut the Selected File(s)'      'Ausgewhlte Datei(en) auschneiden'
+'Cut the selected file(s)'      'Ausgewhlte Datei(en) auschneiden'
+'Copy the Selected File(s)'     'Ausgewhlte Datei(en) kopieren'
+'Copy the selected file(s)'     'Ausgewhlte Datei(en) kopieren'
+'Delete the Selected File(s)'   'Ausgewhlte Datei(en) entfernen'
+'Delete the selected file(s)'   'Ausgewhlte Datei(en) entfernen'
+'Paste File(s)'                 'Datei(en) einfgen'
+'Paste file(s)'                 'Datei(en) einfgen'
+'Open a ChangeBrowser on File'  'ChangeBrowser auf Datei ffnen'
+'Open a ChangeBrowser on file'  'ChangeBrowser auf Datei ffnen'
+'Edit the Selected File'        'Ausgewhlte Datei bearbeiten'
+'Edit the selected file'        'Ausgewhlte Datei bearbeiten'
 'Goto Default Directory (ST/X Start Directory)'        'Gehe zum ST/X Startverzechnis'
 'Goto default directory (ST/X start directory)'        'Gehe zum ST/X Startverzechnis'
 'Save the editor''s contents into the file'            'Inhalt des Editors in Originaldatei sichern'
 'Save the editor''s contents into another file'        'Inhalt des Editors in einer anderen Datei sichern'
 'Save the complete state of ST/X into the current snapshot file ("%1")'   'Sichert den Zustand von ST/X in der aktuellen Snapshot-Datei ("%1")'
-'Open a FileBrowser to edit or load files and folders'  'Öffnet einen Dateibrowser zum Bearbeiten und Laden von Dateien und Ordnern'
-'Open a Workspace for evaluating Smalltalk expressions.\The first click opens the customizable MyWorkspace' 'Öffnet einen Workspace zum Ausführen von Smalltalk Ausdrücken.\Der erste Klick öffnet den persönlichen MyWorkspace'
-'Open a System Browser or revisit a class'             'Öffnet einen Systembrowser oder besucht eine Klasse erneut'
-'Open a Changes Browser or navigate to a recent change'  'Öffnet einen Changebrowser bzw. Navigation zu einer der letzten Änderungen'
-'Open a GUI Painter for graphical user interface construction' 'Öffnet einen GUI Painter zum graphischen und interaktiven Erstellen von Benutzeroberflächen'
-'Open a Menu Editor for building menus and toolbars' 'Öffnet einen Menu Editor zum Erstellen von Menüs und Toolbars'
-'Open a Bitmap Image Editor for editing small images for toolbars and buttons' 'Öffnet einen Bitmap Editor zum Erstellen und Bearbeiten von kleinen Bildern für Toolbars und Schaltflächen'
-'Open the SUnit test runner for executing unit tests'   'Öffnet den SUnit Testassistent zur Ausführung von Unit Tests'
+'Open a FileBrowser to edit or load files and folders'  'ffnet einen Dateibrowser zum Bearbeiten und Laden von Dateien und Ordnern'
+'Open a Workspace for evaluating Smalltalk expressions.\The first click opens the customizable MyWorkspace' 'ffnet einen Workspace zum Ausfhren von Smalltalk Ausdrcken.\Der erste Klick ffnet den persnlichen MyWorkspace'
+'Open a System Browser or revisit a class'             'ffnet einen Systembrowser oder besucht eine Klasse erneut'
+'Open a Changes Browser or navigate to a recent change'  'ffnet einen Changebrowser bzw. Navigation zu einer der letzten nderungen'
+'Open a GUI Painter for graphical user interface construction' 'ffnet einen GUI Painter zum graphischen und interaktiven Erstellen von Benutzeroberflchen'
+'Open a Menu Editor for building menus and toolbars' 'ffnet einen Menu Editor zum Erstellen von Mens und Toolbars'
+'Open a Bitmap Image Editor for editing small images for toolbars and buttons' 'ffnet einen Bitmap Editor zum Erstellen und Bearbeiten von kleinen Bildern fr Toolbars und Schaltflchen'
+'Open the SUnit test runner for executing unit tests'   'ffnet den SUnit Testassistent zur Ausfhrung von Unit Tests'
 'Show the ST/X online documentation'                    'Zeigt die ST/X Online Dokumentation'
 'Reload from the file'                                 'Datei erneut lesen'
 'Navigate the browser''s file list to the edited file' 'Bearbeitete Datei in der Dateiliste selektieren'
@@ -2456,9 +2456,9 @@
 'Show differences between file and editor versions'      'Unterschiede zwischen Datei- und Editorinhalt zeigen'
 'Close this tab'                                        'Diesen Tab schliessen'
 'Update (regenerate) the tag list'                      'Tagliste aktualisieren'
-'Sort by name (ignoring case and leading underscores)'  'Alphabetisch sortieren (gross/klein und führende Unterstriche werden ignoriert)'
+'Sort by name (ignoring case and leading underscores)'  'Alphabetisch sortieren (gross/klein und fhrende Unterstriche werden ignoriert)'
 'Sort by line number'                                   'Nach Zeilennummer sortieren'
-'Show only Functions (see Popup Menu for more Options)' 'Nur Funktionen anzeigen (siehe Popup-Menü für weitere Optionen)'
+'Show only Functions (see Popup Menu for more Options)' 'Nur Funktionen anzeigen (siehe Popup-Men fr weitere Optionen)'
 'Toggle Tag Filter'                                     'Filter auf Tagliste an- bzw. abschalten'
 'Pattern to Filter Tags'                                'Muster angezeigter Tags'
 
@@ -2472,25 +2472,25 @@
 '%1 files shown (out of %2)'    '%1 Dateien angezeigt (aus %2) '
 
 'Number of files shown (Total number of files in directory)'                'Anzahl gezeigter Dateien (Anzahl aller Dateien im Verzeichnis)'
-'The file''s encoding (Menu to change)'                                     'Kodierung der Datei (Menu zum Ändern)'
-'The file''s encoding (Right-Click to change)'                              'Kodierung der Datei  (Rechtsklick zum Ändern)'
+'The file''s encoding (Menu to change)'                                     'Kodierung der Datei (Menu zum ndern)'
+'The file''s encoding (Right-Click to change)'                              'Kodierung der Datei  (Rechtsklick zum ndern)'
 'Lock the file-encoding (do not try to guess from the file''s contents)'    'Kodierung festlegen (nicht aus dem Inhalt erkennen)'
 'locked'                                                                    'gesperrt'
-'The text-cursor''s column number'                                          'Spalte der Einfügemarke'
-'The text-cursor''s line number'                                            'Zeile der Einfügemarke'
-'The text-cursor''s line number. Double-Click to change'                    'Zeile der Einfügemarke. Doppelklick zum Positionieren'
-; 'The editing mode (insert vs. overwrite)'                                   'Editiermodus (Einfügen vs. Überschreiben)'
-'The editing mode (Insert vs. Overwrite)'                                   'Editiermodus (Einfügen vs. Überschreiben)'
-'The editing mode (Insert vs. Overwrite). Right-Click to change'            'Editiermodus (Einfügen vs. Überschreiben). Rechtsklick zum Ändern'
+'The text-cursor''s column number'                                          'Spalte der Einfgemarke'
+'The text-cursor''s line number'                                            'Zeile der Einfgemarke'
+'The text-cursor''s line number. Double-Click to change'                    'Zeile der Einfgemarke. Doppelklick zum Positionieren'
+; 'The editing mode (insert vs. overwrite)'                                   'Editiermodus (Einfgen vs. berschreiben)'
+'The editing mode (Insert vs. Overwrite)'                                   'Editiermodus (Einfgen vs. berschreiben)'
+'The editing mode (Insert vs. Overwrite). Right-Click to change'            'Editiermodus (Einfgen vs. berschreiben). Rechtsklick zum ndern'
 'Package and revision info (for class or method)'                           'Paket- und Versionsinfo (von Klasse oder Methode)'
 
 'Suffix'        'Dateityp'
 'Permissions'   'Zugriffsrechte'
 'Owner'         'Besitzer'
 'Group'         'Gruppe des Besitzers'
-'Size'          'Grösse'
-'Size (KByte)'  'Grösse (KByte)'
-'Size (Byte)'   'Grösse (Byte)'
+'Size'          'Grsse'
+'Size (KByte)'  'Grsse (KByte)'
+'Size (Byte)'   'Grsse (Byte)'
 'Date && Time'  'Datum && Zeit'
 'Date & Time'   'Datum & Zeit'
 
@@ -2504,23 +2504,23 @@
 'Not Containing'            'Ohne Inhalt'
 'Same Contents As'          'Gleicher Inhalt wie'
 'Recursive'                 'Rekursiv'
-'File Size'                 'Dateigrösse'
+'File Size'                 'Dateigrsse'
 'Use ''locate'' Cmd'        'Verwende ''locate'''
 'Use ''grep'' Cmd'          'Verwende ''grep'''
-'Clear Cache'               'Cache löschen'
+'Clear Cache'               'Cache lschen'
 'Stop other Task and Proceed'                           'Andere Suche beenden und fortfahren'
-'There is already another find-file task running'       'Es läuft bereits eine andere Dateisuche'
-
-
-'Really delete\\  %1%2 ?'     'Wirklich löschen \\  %1%2 ?'
+'There is already another find-file task running'       'Es luft bereits eine andere Dateisuche'
+
+
+'Really delete\\  %1%2 ?'     'Wirklich lschen \\  %1%2 ?'
 'Really erase\\  %1%2 ?'      'Wirklich ausradieren \\  %1%2 ?'
 
-'Really delete\\%1%2 ?'                         '%1%2\\wirklich löschen ?'
-'Really delete\\%1%2 ?\\(%3 files alltogether)' '%1%2\\wirklich löschen ?\\(insgesamt %3 Dateien)'
+'Really delete\\%1%2 ?'                         '%1%2\\wirklich lschen ?'
+'Really delete\\%1%2 ?\\(%3 files alltogether)' '%1%2\\wirklich lschen ?\\(insgesamt %3 Dateien)'
 'Really erase\\%1%2 ?'                          '%1%2\\wirklich ausradieren ?'
 'Really erase\\%1%2 ?\\(%3 files alltogether)'  '%1%2\\wirklich ausradieren ?\\(insgesamt %3 Dateien)'
-'Directory ''%1'' is not empty\remove anyway ?' 'Verzeichnis ''%1'' ist nicht leer\dennoch löschen ?'
-'Keep'                                          'Nicht Löschen'
+'Directory ''%1'' is not empty\remove anyway ?' 'Verzeichnis ''%1'' ist nicht leer\dennoch lschen ?'
+'Keep'                                          'Nicht Lschen'
 
 'Goto Home Directory'                           'Zum Heimatverzeichnis gehen'
 'Goto home directory'                           'Zum Heimatverzeichnis gehen'
@@ -2533,27 +2533,27 @@
 
 'Diff to Current'                               'Unterschiede zwischen Datei und Editor'
 'Close this Tab'                                'Diese Seite entfernen'
-'Open a Changebrowser on file'                  'Changebrowser auf Datei öffnen'
-'Select file details to be shown'               'Anzuzeigende Dateieigenschaften auswählen'
-'Open a FileBrowser on the selected directory'  'Dateibrowser auf ausgewähltes Verzeichnis öffnen'
+'Open a Changebrowser on file'                  'Changebrowser auf Datei ffnen'
+'Select file details to be shown'               'Anzuzeigende Dateieigenschaften auswhlen'
+'Open a FileBrowser on the selected directory'  'Dateibrowser auf ausgewhltes Verzeichnis ffnen'
 
 'unnamed'                           'unbenannt'
 '<unnamed>'                         '<unbenannt>'
 'Find in %1'                        'Suche in %1'
-'Open in New File Browser'          'In neuem Dateibrowser öffnen'
+'Open in New File Browser'          'In neuem Dateibrowser ffnen'
 'FileIn'                            'Laden (FileIn)'
-'Select in Browser'                 'Im Browser auswählen'
-'Autoselect in Browser'             'Im Browser automatisch auswählen'
-'Delete all Files'                  'Alle Dateien löschen'
-'Delete Selected Files'             'Ausgewählte Dateien löschen'
-'Remove Selected from Resultlist'   'Ausgewählte von der Resultatliste nehmen'
-'Clear Resultlist'                  'Resultatliste löschen'
+'Select in Browser'                 'Im Browser auswhlen'
+'Autoselect in Browser'             'Im Browser automatisch auswhlen'
+'Delete all Files'                  'Alle Dateien lschen'
+'Delete Selected Files'             'Ausgewhlte Dateien lschen'
+'Remove Selected from Resultlist'   'Ausgewhlte von der Resultatliste nehmen'
+'Clear Resultlist'                  'Resultatliste lschen'
 'Show Matched Files (After SameContents-Search)'    'Gefundene Originale zeigen (Nach Gleicher-Inhaltsuche)'
 'Show Matching Files (After SameContents-Search)'   'Gefundene Kopien zeigen (Nach Gleicher-Inhaltsuche)'
 
-'Copy or Move'                                'Kopieren oder übertragen'
-'Copy or move\\%1:\    %2\to:\    %3'         'Kopieren oder übertragen\\%1:\    %2\nach:\    %3 ?'
-'Copy or move\\    %1 objects\to:\    %2'     'Kopieren oder übertragen\\%1 Objekte\nach:\    %2 ?'
+'Copy or Move'                                'Kopieren oder bertragen'
+'Copy or move\\%1:\    %2\to:\    %3'         'Kopieren oder bertragen\\%1:\    %2\nach:\    %3 ?'
+'Copy or move\\    %1 objects\to:\    %2'     'Kopieren oder bertragen\\%1 Objekte\nach:\    %2 ?'
 'Copy As'                                     'Kopieren als'
 
 'Enter log message for checkIn of "%1"'       'Log-Eintrag zum CheckIn von "%1"'
@@ -2565,23 +2565,23 @@
 ; DebugView
 ;
 
-; HELP_ABORT      'Abbruch der Bearbeitung (Abort-Exception wird gemeldet).\Der betroffene Prozess fährt an einer `sicheren Stelle'''' mit der Ausführung fort.'
-; HELP_TERMINATE  'Prozess beenden.\Falls es sich um einen Fensterprozess handelt,\werden die zugehörigen Fenster geschlossen.'
+; HELP_ABORT      'Abbruch der Bearbeitung (Abort-Exception wird gemeldet).\Der betroffene Prozess fhrt an einer `sicheren Stelle'''' mit der Ausfhrung fort.'
+; HELP_TERMINATE  'Prozess beenden.\Falls es sich um einen Fensterprozess handelt,\werden die zugehrigen Fenster geschlossen.'
 ; HELP_STOP       'Prozess anhalten.'
 ; HELP_CONTINUE   'mit der Abarbeitung fortfahren.'
-; HELP_SEND       'bis zum nächsten Message-Send fortfahren.\Dann anhalten.'
-; HELP_NEXT       'fortfahren bis die aktuelle Zeile\im ausgewählten Kontext verlassen wird. Geht in Blöcke.'
-; HELP_NEXTOVER   'fortfahren bis die aktuelle Zeile\im ausgewählten Kontext verlassen wird. Überspringt Blöcke.'
-; HELP_NEXTOUT    'fortfahren bis die aktuelle Zeile\im ausgewählten Kontext verlassen wird. Springt aus dem aktiven Block.'
-; HELP_STEP       'fortfahren bis zum nächsten Message-Send im ausgewählten Kontext.'
-; HELP_RETURN     'Beendigung des ausgewählten Kontexts erzwingen.'
-; HELP_RESTART    'Neustart vom Anfang im ausgewählten Kontext.'
+; HELP_SEND       'bis zum nchsten Message-Send fortfahren.\Dann anhalten.'
+; HELP_NEXT       'fortfahren bis die aktuelle Zeile\im ausgewhlten Kontext verlassen wird. Geht in Blcke.'
+; HELP_NEXTOVER   'fortfahren bis die aktuelle Zeile\im ausgewhlten Kontext verlassen wird. berspringt Blcke.'
+; HELP_NEXTOUT    'fortfahren bis die aktuelle Zeile\im ausgewhlten Kontext verlassen wird. Springt aus dem aktiven Block.'
+; HELP_STEP       'fortfahren bis zum nchsten Message-Send im ausgewhlten Kontext.'
+; HELP_RETURN     'Beendigung des ausgewhlten Kontexts erzwingen.'
+; HELP_RESTART    'Neustart vom Anfang im ausgewhlten Kontext.'
 ; HELP_UPDATE     'Anzeige der Aufrufkette aktualisieren.'
 ; HELP_MONITOR    'Ein/Aus der automatischen Aktualisierung der Aufrufanzeige.'
 ; HELP_WALKBACK   'zeigt die Aufrufkette.\(wird auch "stack backtrace" oder "walkback" genannt)'
-; HELP_CODEVIEW   'zeigt den Quelltext der zum ausgewählten Kontext gehörenden Methode.'
-; HELP_REC_INSP   'Inspektor auf den Empfänger der ausgewählten Nachricht.'
-; HELP_CON_INSP   'Inspektor auf Variable im ausgewählten Kontext.'
+; HELP_CODEVIEW   'zeigt den Quelltext der zum ausgewhlten Kontext gehrenden Methode.'
+; HELP_REC_INSP   'Inspektor auf den Empfnger der ausgewhlten Nachricht.'
+; HELP_CON_INSP   'Inspektor auf Variable im ausgewhlten Kontext.'
 
 ; terminate                           'beenden'
 quickTerminate                      'Prozess beenden (ohne cleanup)'
@@ -2593,20 +2593,20 @@
 Step                                'Schritt'
 'Step out'                          'Einzelschritt bis Kontextende'
 send                                'Send'
-skip                                'überspringen'
+skip                                'berspringen'
 'Next (Line-Step)'                  'Zeilenschritt'
-'Change Priority'                   'Priorität ändern'
+'Change Priority'                   'Prioritt ndern'
 'Context'                           'Kontext (Stackframe)'
 resume                              'verlassen'
 restart                             'wiederholen'
-'Return'                            'Zurückkehren'
+'Return'                            'Zurckkehren'
 Breakpoints                         'Haltepunkte'
 'Manage Breakpoints'                'Haltepunkte verwalten'
-'Remember Callchain && Highlight on Next Entry'             'Aufrufkette merken und beim nächsten mal hervorheben'
+'Remember Callchain && Highlight on Next Entry'             'Aufrufkette merken und beim nchsten mal hervorheben'
 'Clear Remembered Callchain'                                'Aufrufkette vergessen'
 'Abort Testplan'                    'Testplan abbrechen'
 'Debugger''s Documentation'         'Dokumentation zun Debugger'
-'About DebugView'                   'Über den Debugger'
+'About DebugView'                   'ber den Debugger'
 implementors                        'Implementierungen'
 'implementors of'                   'Implementierungen von'
 senders                             'Sender'
@@ -2614,11 +2614,11 @@
 browse                              'Browser'
 ; 'browse class'                      'Klassenbrowser'
 'browse (implementing class)'       'Browser (implementierende Klasse)'
-'browse (receivers class)'          'Browser (Empfängerklasse)'
+'browse (receivers class)'          'Browser (Empfngerklasse)'
 'browse class hierarchy'            'Hierarchiebrowser'
-'browse full class protocol'        'Browser für gesamtes Protokoll'
+'browse full class protocol'        'Browser fr gesamtes Protokoll'
 'remove all trace & breakpoints'    'alle Trace- und Haltepunkte entfernen'
-'exit smalltalk (no confirmation)'  'Smalltalk beenden (ohne Bestätigung)'
+'exit smalltalk (no confirmation)'  'Smalltalk beenden (ohne Besttigung)'
 'show more'                         'mehr anzeigen'
 'show verbose backtrace'            'Gesamte Aufrufkette anzeigen'
 'inspect context'                   'Kontext inspizieren'
@@ -2644,12 +2644,12 @@
 
 'Show More WalkBack'            'Mehr von der Aufrufkette zeigen'
 'Show Full WalkBack'            'Gesamte Aufrufkette zeigen'
-'Show Verbose WalkBack'         'Aufrufkette ausführlich zeigen'
+'Show Verbose WalkBack'         'Aufrufkette ausfhrlich zeigen'
 'Show Dense WalkBack'           'Aufrufkette komprimiert zeigen'
 'Show Support Code (Implementation of Enumerations, Exceptions etc.)'           'Helfercode anzeigen (Implementierung von Enumerations, Exceptions etc.)'
 'Hide Support Code (Implementation of Enumerations, Exceptions etc.)'           'Helfercode nicht zeigen (Implementierung von Enumerations, Exceptions etc.)'
-'Close Debugger and Abort'      'Debugger schließen und abbrechen'
-'Close all Debuggers'           'Alle Debugger schließen'
+'Close Debugger and Abort'      'Debugger schlieen und abbrechen'
+'Close all Debuggers'           'Alle Debugger schlieen'
 'Raise Debugger when Entering'  'Debugger bei Bedarf nach vorne bringen'
 'Define Missing Method'         'Fehlende Methode definieren'
 
@@ -2661,11 +2661,11 @@
 'Ignore this Halt/BreakPoint'               'Diesen Halt/Haltepunkt ignorieren'
 'Ignore all Halts/BreakPoints'                  'Alle Halts/Haltepunkte ignorieren'
 'Ignore all BreakPoints with this Parameter'    'Alle Haltepunkte mit diesem Parameter ignorieren'
-'For Some Time'                                 'Für einen Zeitraum'
-'For the Next N Times'                          'Die nächsten N Aufrufe'
-'Until Shift-Key is Pressed'                    'Bis Shift-Taste gedrückt'
-'Forever (Until Ignoring is Stopped)'           'Immer (Bis Ignorieren zurückgenommen wird)'
-'Forever (Reenable in BreakPoint-Browser)'      'Immer (Im BreakPoint-Browser zurücknehmen)'
+'For Some Time'                                 'Fr einen Zeitraum'
+'For the Next N Times'                          'Die nchsten N Aufrufe'
+'Until Shift-Key is Pressed'                    'Bis Shift-Taste gedrckt'
+'Forever (Until Ignoring is Stopped)'           'Immer (Bis Ignorieren zurckgenommen wird)'
+'Forever (Reenable in BreakPoint-Browser)'      'Immer (Im BreakPoint-Browser zurcknehmen)'
 'Stop Ignoring'                             'Nicht ignorieren'
 'Stop Ignoring Halts/Breakpoints'           'Halts/Haltepunkte nicht mehr ignorieren'
 'Halt when Text is Sent to Transcript'      'Halt wenn Text an Transcript geschickt wird'
@@ -2674,14 +2674,14 @@
 'Browse Senders'                    'Browser auf Sender'
 'Browse Implementors'               'Browser auf Implementierungen'
 'Browse Implementing Class'         'Browser auf implementierende Klasse'
-'Browse Receivers Class'            'Browser auf Empfängerklasse'
-'Browse Receivers Class Hierarchy'  'Browser auf Hierarchie der Empfängerklasse'
-'Browse Receivers Full Protocol'    'Browser auf Gesamtprotokoll des Empfängers'
+'Browse Receivers Class'            'Browser auf Empfngerklasse'
+'Browse Receivers Class Hierarchy'  'Browser auf Hierarchie der Empfngerklasse'
+'Browse Receivers Full Protocol'    'Browser auf Gesamtprotokoll des Empfngers'
 'Copy WalkBack Text'                'Text der Aufrufkette ins Clipboard kopieren'
-'Bookmark Method in SystemBrowser'  'Lesezeichen für Methode im Browser anlegen'
-'Exit Smalltalk (No Confirmation)'  'Smalltalk beenden (ohne Bestätigung)'
+'Bookmark Method in SystemBrowser'  'Lesezeichen fr Methode im Browser anlegen'
+'Exit Smalltalk (No Confirmation)'  'Smalltalk beenden (ohne Besttigung)'
 'Inspect Context'                   'Kontext inspizieren'
-'Enable Coverage Analysis in all Processes' 'Überdeckungsanalyse in allen Prozessen einschalten'
+'Enable Coverage Analysis in all Processes' 'berdeckungsanalyse in allen Prozessen einschalten'
 'Report by Mail'                    'Fehlerbericht via eMail'
 'Report a Bug via eMail'            'Fehlerbericht via eMail schicken'
 
@@ -2695,7 +2695,7 @@
 'Distributor'           'Lieferant'
 'Configuration'         'Konfiguration'
 'Release ID'            'Versionskennung'
-'Running on'            'Ausgeführt auf'
+'Running on'            'Ausgefhrt auf'
 
 ;--------------------------------------------------------------------------------------------
 ;
@@ -2726,8 +2726,8 @@
 'Chinese (traditional)'         'Chinesisch (traditional)'
 'Croatian'          'Kroatisch'
 'Czech'             'Tschechisch'
-'Danish'            'Dänisch'
-'Dutch'             'Niederländisch'
+'Danish'            'Dnisch'
+'Dutch'             'Niederlndisch'
 'English (US)'      'Englisch (US)'
 'English (UK)'      'Englisch (UK)'
 ; 'Esperanto'         'Esperanto'
@@ -2735,7 +2735,7 @@
 'Greek'             'Griechisch'
 ; 'Hindi'             'Hindi'
 'Finnish'           'Finnisch'
-'French'            'Französisch'
+'French'            'Franzsisch'
 'Italian'           'Italienisch'
 'Japanese'          'Japanisch'
 'Korean'            'Koreanisch'
@@ -2751,52 +2751,52 @@
 'Slovenian'         'Slowenisch'
 'Swahili'           'Suaheli'
 'Thai'              'Thai'
-'Turkish'           'Türkisch'
+'Turkish'           'Trkisch'
 'Ukrainian'         'Ukrainisch'
 
-LANG_MSG        'Sprache wählen.\\Dazu müssen die resource-Dateien die entsprechenden\Texte enthalten. In der aktuellen Version ist dies\möglicherweise nicht bei allen Sprachen/Texten der Fall.\Außerdem sollte der Zeichensatz entsprechend gewählt werden,\damit sprachspezifische Zeichen dargestellt werden können.\\Die Änderung wirkt NICHT auf bereits geöffnete Fenster.\'
-STYLE_MSG       'Aussehen der Fenster wählen.\\Einige der nicht-Standard-Einstellungen sind experimentell, oder als Beispiel\bzw. Demonstration mitgeliefert und werden daher nicht unterstützt.\Viele entsprechen nicht den üblichen ergonomischen Anforderungen.\Bitte lesen Sie dazu auch die Dokumentation.\\Die Änderung wirkt nicht auf bereits geöffnete Fenster,\Sie sollten daher nach dem Umschalten die anderen\ST/X Fenster schließen und neu öffnen.\'
-KEY_MSG         'Zur Zeit kann dieser Dialog die Tastenfunktionen\und Makros nur anzeigen.\Zukünftige Versionen werden auch Änderungen erlauben.\\Bis dahin sollten Sie in der Dokumentation\das Kapitel über Tastenfunktionen und Makros nachschlagen.\'
-KEY_MSG2        'Zur Zeit kann dieser Dialog die Tastenfunktionen und Makros nur anzeigen.\Zukünftige Versionen werden auch Änderungen erlauben.\Bis dahin sollten Sie in der Dokumentation\das Kapitel über Tastenfunktionen und Makros nachschlagen.\'
+LANG_MSG        'Sprache whlen.\\Dazu mssen die resource-Dateien die entsprechenden\Texte enthalten. In der aktuellen Version ist dies\mglicherweise nicht bei allen Sprachen/Texten der Fall.\Auerdem sollte der Zeichensatz entsprechend gewhlt werden,\damit sprachspezifische Zeichen dargestellt werden knnen.\\Die nderung wirkt NICHT auf bereits geffnete Fenster.\'
+STYLE_MSG       'Aussehen der Fenster whlen.\\Einige der nicht-Standard-Einstellungen sind experimentell, oder als Beispiel\bzw. Demonstration mitgeliefert und werden daher nicht untersttzt.\Viele entsprechen nicht den blichen ergonomischen Anforderungen.\Bitte lesen Sie dazu auch die Dokumentation.\\Die nderung wirkt nicht auf bereits geffnete Fenster,\Sie sollten daher nach dem Umschalten die anderen\ST/X Fenster schlieen und neu ffnen.\'
+KEY_MSG         'Zur Zeit kann dieser Dialog die Tastenfunktionen\und Makros nur anzeigen.\Zuknftige Versionen werden auch nderungen erlauben.\\Bis dahin sollten Sie in der Dokumentation\das Kapitel ber Tastenfunktionen und Makros nachschlagen.\'
+KEY_MSG2        'Zur Zeit kann dieser Dialog die Tastenfunktionen und Makros nur anzeigen.\Zuknftige Versionen werden auch nderungen erlauben.\Bis dahin sollten Sie in der Dokumentation\das Kapitel ber Tastenfunktionen und Makros nachschlagen.\'
 
 ; TRANSCRIPT_HELP 'dies ist das Transcript-Fenster.\Benutzermeldungen werden auf ihm dargestellt.'
 ; INFOVIEW_HELP   'hier wird der Name des aktuellen Projekts\und das fileOut-Verzeichnis angezeigt.'
-SBROWSER_BUTTON_HELP   'öffnet einen SystemBrowser'
-FBROWSER_BUTTON_HELP   'öffnet einen FileBrowser'
-CBROWSER_BUTTON_HELP   'öffnet einen Browser auf Änderungen'
-; 'open a\SystemBrowser'  'öffnet einen\SystemBrowser'
-; 'open a\FileBrowser'    'öffnet einen\DateiBrowser'
+SBROWSER_BUTTON_HELP   'ffnet einen SystemBrowser'
+FBROWSER_BUTTON_HELP   'ffnet einen FileBrowser'
+CBROWSER_BUTTON_HELP   'ffnet einen Browser auf nderungen'
+; 'open a\SystemBrowser'  'ffnet einen\SystemBrowser'
+; 'open a\FileBrowser'    'ffnet einen\DateiBrowser'
 
 'Project: ''%1'' Package: ''%2'''                   'Projekt: ''%1'' Paket: ''%2'''
 'Project: ''%1'' Package: ''%2'' NameSpace: %4'     'Projekt: ''%1'' Paket: ''%2'' NameSpace: %4'
 
-'filename for image'                               'Dateiname für Image'
-'save state before exiting ?\\filename for image:' 'Zustand in Image sichern ?\\Dateiname für Image:'
-
-'change browser'         'Browser für Änderungen'
-
-'Remote Image Browser'   'Browser für entferntes Smalltalk'
+'filename for image'                               'Dateiname fr Image'
+'save state before exiting ?\\filename for image:' 'Zustand in Image sichern ?\\Dateiname fr Image:'
+
+'change browser'         'Browser fr nderungen'
+
+'Remote Image Browser'   'Browser fr entferntes Smalltalk'
 ; 'GUI Painter'            'GUI Painter'
 ; 'Terminal'               'Terminal'
 'Goodies'                'Extras'
 
 'event'                 'Eventmonitor'
 
-'find & raise'      'auswählen & nach vorne bringen'
-'find & destroy'    'auswählen & schließen'
-'select a view to raise deiconified:'  'Wählen Sie das Fenster,\welches sichtbar gemacht werden soll:\'
+'find & raise'      'auswhlen & nach vorne bringen'
+'find & destroy'    'auswhlen & schlieen'
+'select a view to raise deiconified:'  'Whlen Sie das Fenster,\welches sichtbar gemacht werden soll:\'
 
 'source & debugger'      'Quellcode & Debugger'
 
-'Compiler'                          'Übersetzung'
-'Compiler settings'                 'Einstellungen des Übersetzers'
+'Compiler'                          'bersetzung'
+'Compiler settings'                 'Einstellungen des bersetzers'
 
 'CVS repository:'                   'CVS Quellcode Repository:'
 'repository:'                       'Quellcode Repository:'
 'configure'                         'Einstellen'
 'setup'                             'Einstellen'
 
-'Processor & Scheduler'                             'Prozessausführung'
+'Processor & Scheduler'                             'Prozessausfhrung'
 
 ; 'show keyboard mappings' 'Tastenfunktionen anzeigen'
 'Keyboard Mappings'                 'Tastaturbelegung'
@@ -2804,20 +2804,20 @@
 
 'Syntax Colors'                     'Syntaxfarben'
 'Emphasis'                          'Hervorhebung'
-'Reset To'                          'Rücksetzen auf'
+'Reset To'                          'Rcksetzen auf'
 'Sample Output'                     'Beispielausgabe'
-'Syntax Coloring'                   'Einfärbung'
-'Immediate Selector Check'          'Selektoren bei der Eingabe prüfen'
+'Syntax Coloring'                   'Einfrbung'
+'Immediate Selector Check'          'Selektoren bei der Eingabe prfen'
 'Argument Identifier Color'         'Farbe von Argumentnamen'
-'Boolean Constant Color'            'Bezeichner für Boolsche Konstanten'
+'Boolean Constant Color'            'Bezeichner fr Boolsche Konstanten'
 'Bracket Color'                     'Eckige Klammern'
 'Constant Color'                    'Sonstige Konstanten'
 'Comment Color'                     'Kommentare'
-'Global Identifier Color'           'Bezeichner für Globale Variable'
+'Global Identifier Color'           'Bezeichner fr Globale Variable'
 'Here Color'                        '''here'' Bezeichner'
 'Identifier Color'                  'Sonstige Bezeichner'
-'InstVar Identifier Color'          'Bezeichner für Instanzvariable'
-'Local Identifier Color'            'Bezeichner für Lokale Variable'
+'InstVar Identifier Color'          'Bezeichner fr Instanzvariable'
+'Local Identifier Color'            'Bezeichner fr Lokale Variable'
 'Selector Color'                    'Selektoren'
 'Self Color'                        '''self'' Bezeichner'
 'String Color'                      'String Konstanten'
@@ -2833,23 +2833,23 @@
 
 'all'                   'alle'
 'Labels'                'Labels'
-'Buttons'               'Schaltflächen'
+'Buttons'               'Schaltflchen'
 'Lists'                 'Listen'
-'Menus'                 'Menüs'
+'Menus'                 'Mens'
 'Input Fields'          'Eingabefelder'
 'edit text'             'Text'
-'Font for %1'           'Zeichensatz für %1'
+'Font for %1'           'Zeichensatz fr %1'
 'Change'                'Auswahl'
 'Defaults'              'Voreinstellung'
 
 'Memory manager settings' 'Einstellung der Speicherverwaltung'
 
 'unload'                'entfernen'
-'close'                 'schließen'
-'dismiss'               'schließen'
-
-'menu font is not %1-encoded.\\Change it ?'  'Der Menu-Zeichensatz ist nicht %1-kodiert.\\Zeichensatz auswählen ?'
-'your display does not offer any %1-encoded font.\\Change the language anyway ?\ (texts will probably be unreadable then)' 'Ihr System stellt keinen %1-kodierten Zeichensatz zur Verfügung.\\Dennoch ändern ?\(Texte werden dann vermutlich nicht lesbar sein)'
+'close'                 'schlieen'
+'dismiss'               'schlieen'
+
+'menu font is not %1-encoded.\\Change it ?'  'Der Menu-Zeichensatz ist nicht %1-kodiert.\\Zeichensatz auswhlen ?'
+'your display does not offer any %1-encoded font.\\Change the language anyway ?\ (texts will probably be unreadable then)' 'Ihr System stellt keinen %1-kodierten Zeichensatz zur Verfgung.\\Dennoch ndern ?\(Texte werden dann vermutlich nicht lesbar sein)'
 
 'sorry, the %1 class is not available.'  'Pardon, die %1 Klasse ist nicht geladen'
 
@@ -2858,15 +2858,15 @@
 'Project: ''%1''  fileOut to: ''%3''  package: ''%2'''    'Projekt: ''%1''  fileOut in: ''%3''  Paket: ''%2'''
 'Project: ''%1'' fileOut to: ''%3'' package: ''%2'''    'Projekt: ''%1''  FileOut: ''%3''  Paket: ''%2'''
 
-'Close %1 only or Exit Smalltalk (Close all) ?'    'Nur %1 schließen oder Smalltalk beenden (alle schließen) ?'
+'Close %1 only or Exit Smalltalk (Close all) ?'    'Nur %1 schlieen oder Smalltalk beenden (alle schlieen) ?'
 
 '&File'                 '&Datei'
 'Windows'               'Fenster'
 'Demos'                 'Beispiele'
 '&Help'                 '&Hilfe'
 
-'About Smalltalk/X'          'Über Smalltalk/X'
-'About This Application'     'Über diese Anwendung'
+'About Smalltalk/X'          'ber Smalltalk/X'
+'About This Application'     'ber diese Anwendung'
 'Licence Conditions'            'Lizenzbedingungen'
 LICENCEFILE                     'german/LICENCE_STX.html'
 
@@ -2877,7 +2877,7 @@
 
 'System Browser on Class'       'Systembrowser auf Klasse'
 ; 'System Browser In Class'       'Systembrowser in Klasse'
-'Recent Changes'                'Letzte Änderungen'
+'Recent Changes'                'Letzte nderungen'
 'Special Browsers'              'Spezielle Browser'
 'Snapshot Image Browser'     'Imagedatei-Browser'
 ; 'Remote Smalltalk Browser'
@@ -2927,14 +2927,14 @@
 'Remove all Workspace Variables'   'Alle Workspace Variable entfernen'
 
 ; Workspace                       'Workspace'
-'Changes Browser'               'Browser für Änderungen'
-'Change File Browser'           'Browser für Änderungen'
+'Changes Browser'               'Browser fr nderungen'
+'Change File Browser'           'Browser fr nderungen'
 'Old Launcher'                  'Alter Launcher'
-'Old Changes Browser'           'Alter Browser für Änderungen'
-'New Changes Browser'           'Neuer Browser für Änderungen'
+'Old Changes Browser'           'Alter Browser fr nderungen'
+'New Changes Browser'           'Neuer Browser fr nderungen'
 'New Launcher'                  'Neuer Launcher'
-'Reopen Launcher'               'Launcher neu öffnen'
-'Recently Opened'               'Vor kurzem geöffnet'
+'Reopen Launcher'               'Launcher neu ffnen'
+'Recently Opened'               'Vor kurzem geffnet'
 
 'Monitors'                      'Monitore'
 'Semaphores'                    'Semaphormonitor'
@@ -2951,13 +2951,13 @@
 'Window Tree'                             'Fensterhierarchie'
 'Window Tree (All on All Screens)'        'Fensterhierarchie (alle Bildschirme)'
 'Inspect view'                          'Fenster inspizieren'
-'Destroy view'                          'Fenster schließen'
-'Select And Inspect View'               'Auswählen und inspizieren'
-'Select and Inspect'                    'Auswählen und inspizieren'
-'Select And Destroy View'               'Auswählen und schließen'
-'Select and Destroy'                    'Auswählen und schließen'
-'Select and Migrate To'                 'Auswählen und migrieren nach'
-'Select and Browse'                     'Auswählen und browsen'
+'Destroy view'                          'Fenster schlieen'
+'Select And Inspect View'               'Auswhlen und inspizieren'
+'Select and Inspect'                    'Auswhlen und inspizieren'
+'Select And Destroy View'               'Auswhlen und schlieen'
+'Select and Destroy'                    'Auswhlen und schlieen'
+'Select and Migrate To'                 'Auswhlen und migrieren nach'
+'Select and Browse'                     'Auswhlen und browsen'
 'Iconify All'                           'Alle Fenster minimieren'
 'Iconify all'                           'Alle Fenster minimieren'
 'De-iconify All'                        'Alle Fenster zeigen'
@@ -2965,12 +2965,12 @@
 'Redraw All'                            'Alle Fenster neu zeichnen'
 'Migrate All To'                     'Alle Fenster migrieren nach'
 
-'Find and Raise'                     'Auswählen und nach vorne bringen'
-'Find and Destroy'                   'Auswählen und schließen'
-'Find and Migrate To'                'Auswählen und migrieren nach'
-'Find and Migrate Back'              'Auswählen und zurückholen'
+'Find and Raise'                     'Auswhlen und nach vorne bringen'
+'Find and Destroy'                   'Auswhlen und schlieen'
+'Find and Migrate To'                'Auswhlen und migrieren nach'
+'Find and Migrate Back'              'Auswhlen und zurckholen'
 'View selection'                        'Fensterauswahl'
-'Select view to raise deiconified:'     'Wählen Sie das Fenster,\welches sichtbar gemacht werden soll:\'
+'Select view to raise deiconified:'     'Whlen Sie das Fenster,\welches sichtbar gemacht werden soll:\'
 
 'Hardcopy'                      'Bildschirmabzug'
 ; 'Screen'                        'Gesamter Bildschirm'
@@ -2985,7 +2985,7 @@
 'Grab Screen'                   'Bitmap-Abzug vom Schirm'
 'Grab Screen Area'              'Bitmap-Abzug von Schirmbereich'
 'Grab from Screen Area'             'Bitmap-Abzug von Schirmbereich'
-'Grab Screen Area with Delay'       'Bitmap-Abzug von Schirmbereich mit Verzögerung'
+'Grab Screen Area with Delay'       'Bitmap-Abzug von Schirmbereich mit Verzgerung'
 'Grab again from same Screen Area'  'Bitmap-Abzug vom gleichen Schirmbereich'
 'Grab'                          'Bildschirm auslesen'
 
@@ -2996,16 +2996,16 @@
 'Reload Resources'              'Sprachressourcen neu laden'
 
 'New Project'                   'Neues Projekt anlegen'
-'Select Project'                'Projekt auswählen'
-'select a project'              'Projekt auswählen'
-
-'Language selection'     'Sprache wählen'
+'Select Project'                'Projekt auswhlen'
+'select a project'              'Projekt auswhlen'
+
+'Language selection'     'Sprache whlen'
 'Language'               'Sprache'
-'Style selection'        'Aussehen der Fenster wählen'
+'Style selection'        'Aussehen der Fenster whlen'
 'View Style'             'Fensterstil'
 'ViewStyle'              'Fensterstil'
-'Compilation'            'Übersetzung'
-'Fonts'                  'Zeichensätze'
+'Compilation'            'bersetzung'
+'Fonts'                  'Zeichenstze'
 'Mouse Settings'         'Maus'
 'Object Memory'          'Speicher'
 'Source and Debugger'    'Quellcode und Debugger'
@@ -3025,28 +3025,28 @@
 
 'Mail Tool'             'Post lesen (mail)'
 'News Tool'             'Zeitung lesen (news)'
-'FTP Tool'              'FTP Übertragung'
+'FTP Tool'              'FTP bertragung'
 'Clock'                 'Uhr'
 'Digital Clock'         'Digitaluhr'
 'Round Clock'           'Runde Uhr'
 'Calendar'              'Kalender'
 'Calculator'            'Rechner'
 'Remote Launcher'    'Launcher auf entferntem Rechner'
-'Remote Launcher on which display:'    'Displayname für entfernten Launcher:'
+'Remote Launcher on which display:'    'Displayname fr entfernten Launcher:'
 
 'Games'                     'Spiele'
-; 'Tic Tac Toe'               'Tic Tac Toe (Käsekästchen)'
+; 'Tic Tac Toe'               'Tic Tac Toe (Ksekstchen)'
 'Tic Tac Toe (2 players)'   'Tic Tac Toe - (2 Spieler)'
 'PingPong - (2 players)'    'PingPong - (2 Spieler)'
 
 'Geometric Designs'     'Geometrische Figuren'
 
 'Simple Animations'     'Einfache Animationen'
-'Walking Man'           'Spaziergänger'
+'Walking Man'           'Spaziergnger'
 'Globe Demo'            'Globus'
 'Pen Demo'              'Pen Figurenbeispiele'
 'Commander Demo'        'Commander Figurenbeispiele'
-'Towers of Hanoi (Prolog)' 'Türme von Hanoi (Prolog)'
+'Towers of Hanoi (Prolog)' 'Trme von Hanoi (Prolog)'
 
 'Fractal Plants Demo'        'Fraktale Pflanzen'
 'Fractal Patterns Demo'      'Fraktale Muster'
@@ -3056,18 +3056,18 @@
 '3D Graphics'           '3D Grafik'
 '3D GL Graphics'        '3D GL Grafik'
 
-'Plane'                 'Fläche'
+'Plane'                 'Flche'
 'Tetra'                 'Tetraeder'
-'Cube (wireframe)'      'Würfel (Drahtmodell)'
-'Cube (solid)'          'Würfel (Seitenflächen)'
-'Cube (light)'          'Würfel (mit Lichtquelle)'
-'Cube (light & texture)' 'Würfel (Lichtquelle & Textur)'
+'Cube (wireframe)'      'Wrfel (Drahtmodell)'
+'Cube (solid)'          'Wrfel (Seitenflchen)'
+'Cube (light)'          'Wrfel (mit Lichtquelle)'
+'Cube (light & texture)' 'Wrfel (Lichtquelle & Textur)'
 'Doughnut (wireframe)'   'Torus (Drahtmodell)'
 'Sphere (wireframe)'    'Kugel (Drahtmodell)'
 'Sphere (light)'        'Kugel (mit Lichtquelle)'
 'Planet'                'Sonne & Erde'
 'Teapot'                'Teekanne'
-'Rubics cube'           'Magischer Würfel'
+'Rubics cube'           'Magischer Wrfel'
 'Logo'                  'ST/X Logo'
 'X/Y graph'             'Funktion von x und y'
 'Colored Octahedron'    'Achtkant mit Farbverlauf'
@@ -3083,7 +3083,7 @@
 'active help \c'            'aktive Hilfe \c'
 'ST/X Documentation'        'ST/X Dokumentation'
 'ST/X Online Documentation' 'ST/X Dokumentation'
-'Smalltalk Tutorial for Beginners'        'Smalltalk Tutorial für Einsteiger'
+'Smalltalk Tutorial for Beginners'        'Smalltalk Tutorial fr Einsteiger'
 'Class Documentation'       'Klassendokumentation'
 'Browser Documentation'     'Dokumentation zum Browser'
 'Tool Documentation'        'Tooldokumentation'
@@ -3102,7 +3102,7 @@
 'Web-Documents'             'Webdokumente'
 'Credits'                   'Danksagungen'
 
-'close Launcher ?'      'Launcher schließen ?'
+'close Launcher ?'      'Launcher schlieen ?'
 
 'Module dialog'         'Modul Dialog'
 'show:'                 'zeigen:'
@@ -3126,10 +3126,10 @@
 
 'Failed to save snapshot image (disk full or not writable)' 'Imagedatei konnten nicht geschrieben werden (Platte voll oder fehlende Berechtigung)'
 
-'Font Settings'         'Zeichensätze auswählen'
+'Font Settings'         'Zeichenstze auswhlen'
 'Edited Text'           'Text'
 
-'change '               'ändern '
+'change '               'ndern '
 
 ;
 ; active help:
@@ -3147,11 +3147,11 @@
 'Help functions.'        'Hilfe'
 
 'Change the national language.'                       'Sprache einstellen.'
-'Change the current view style.'                      'Aussehen der Fenster ändern.'
-'Change of the font defaults.'                        'Zeichensätze einstellen.'
+'Change the current view style.'                      'Aussehen der Fenster ndern.'
+'Change of the font defaults.'                        'Zeichenstze einstellen.'
 'Change the settings for info- / error-messagess.'    'Systemmeldungen an/abschalten'
 
-'Select schema:'        'Schema auswählen:'
+'Select schema:'        'Schema auswhlen:'
 
 'New FileBrowser'       'Dateibrowser'
 'New SystemBrowser'     'Klassenbrowser'
@@ -3165,7 +3165,7 @@
 
 'Utilities'             'Hilfsmittel'
 'View inspect'          'Fenster inspizieren'
-'View destroy'          'Fenster schließen'
+'View destroy'          'Fenster schlieen'
 'Process Monitor'       'Prozessmonitor'
 'Memory Monitor'        'Speichermonitor'
 'full screen hardcopy'  'Bildschirmabzug'
@@ -3190,9 +3190,9 @@
 'snapshot'              'Zustand sichern'
 'snapshot & exit'       'Zustand sichern & beenden'
 
-'About'                 'über Smalltalk/X'
-'Overview'              'Übersicht'
-'Getting started'       'Einführung'
+'About'                 'ber Smalltalk/X'
+'Overview'              'bersicht'
+'Getting started'       'Einfhrung'
 'Customizing'           'Einstellungen'
 'programming'           'Programmierung'
 'other topics'          'weitere Texte'
@@ -3204,19 +3204,19 @@
 'stc manual page'       'Manualseite zu stc'
 'smalltalk manual page' 'Manualseite zu Smalltalk'
 
-'useful selectors'      'nützliche Selektoren'
+'useful selectors'      'ntzliche Selektoren'
 'breakpoints & tracing' 'Haltepunkte & Ablauf mitverfolgen'
 'Processes'             'Prozesse'
 'timers & delays'       'Zeitgeber und Pausen'
 'exceptions & signals'  'Ausnahmen & Signale'
 'GL 3D graphics'        'GL 3D Graphik'
-'views - quick intro'   'Views - kurze Einführung'
+'views - quick intro'   'Views - kurze Einfhrung'
 
 ; Settings Dialog
 
 'Settings Dialog'                                       'Einstellungen'
 
-'Apply changes made in %1 ?'                            'Geänderte Einstellungen aus %1 übernehmen ?'
+'Apply changes made in %1 ?'                            'Genderte Einstellungen aus %1 bernehmen ?'
 
 'Use the New System Browser'                            'Verwende den neuen Systembrowser'
 'Use the New File Browser'                              'Verwende den neuen Dateibrowser'
@@ -3226,40 +3226,40 @@
 'Use the New Process Monitor'                           'Verwende den neuen Prozessmonitor'
 'Use the New TestRunner2'                               'Verwende den neuen TestRunner2'
 'Use the new Changes Browser'                           'Verwende den neuen ChangesBrowser'
-'Use the New Changes Browser (not yet recommended)'     'Verwende den neuen Änderungsbrowser (noch nicht empfohlen)'
-'Use the New Changes Browser for Changefiles (not yet recommended)' 'Verwende den neuen Änderungsbrowser für Dateien mit Changes (noch nicht empfohlen)'
-'Use the New ChangeSet Browser for Internal ChangeSets'             'Verwende den neuen Änderungsbrowser für interne ChangeSets'
+'Use the New Changes Browser (not yet recommended)'     'Verwende den neuen nderungsbrowser (noch nicht empfohlen)'
+'Use the New Changes Browser for Changefiles (not yet recommended)' 'Verwende den neuen nderungsbrowser fr Dateien mit Changes (noch nicht empfohlen)'
+'Use the New ChangeSet Browser for Internal ChangeSets'             'Verwende den neuen nderungsbrowser fr interne ChangeSets'
 'Use the New Code Editor 2 (experimental)'              'Verwende den neuen Code Editor 2 (experimentell)'
 'Use Hierarchical Inspector (not yet recommended)'      'Verwende den hierarchischen Inspektor (noch nicht empfohlen)'
 'Use Hierarchical Inspector'                            'Hierarchischen Inspektor verwenden'
 'Use the Smalltalk Document Viewer'                     'Verwende das eingebaute Tool zur Anzeige von Hilfe-Dokumenten'
 'Eclipse Style Menus (where implemented)'               'Menus im Stil von Eclipse (soweit implementiert)'
 
-'Transcript''s Buffer Size:'                            'Größe des Zeilenpuffers im Transcript:'
+'Transcript''s Buffer Size:'                            'Gre des Zeilenpuffers im Transcript:'
 'Show "Tip Of The Day" at Startup'                      '"Tipp des Tages" beim Start zeigen'
 'Autoraise Transcript'                                  'Transcript automatisch nach vorne bringen'
 'Syntax Coloring'                                       'Syntax farblich hervorheben'
-; 'Immediate Selector Check'                              'Selektor unmittelbar prüfen'
-'immediate Selector Check'                              'Selektor bei der Eingabe prüfen'
+; 'Immediate Selector Check'                              'Selektor unmittelbar prfen'
+'immediate Selector Check'                              'Selektor bei der Eingabe prfen'
 'Emphasis:'                                             'Hervorhebung'
 'Text Color:'                                           'Farbe von Text:'
-'Reset To:'                                             'Rücksetzen nach:'
+'Reset To:'                                             'Rcksetzen nach:'
 'Auto Format'                                           'Automatische Formatierung'
 'Sample Output:'                                        'Beispielausgabe'
 'Space around Temporaries'                              'Leerzeichen um Variablennamen'
 'Space after ''^'''                                     'Leezeichen nach ''^'''
 'Space after ''['''                                     'Leerzeichen nach ''['''
-'C-Style Blocks'                                        'Blöcke im C-Stil (K&&R)'
+'C-Style Blocks'                                        'Blcke im C-Stil (K&&R)'
 'Blank line after local Var Declaration'                'Leerzeile nach lokaler Var.Deklaration'
-'Space after '':'' in Keywords'                         'Leerzeichen nach '':'' in Schlüsselwörtern'
+'Space after '':'' in Keywords'                         'Leerzeichen nach '':'' in Schlsselwrtern'
 'Space before '']'''                                    'Leerzeichen vor '']'''
 'Block Args on new Line'                                'Blockargumente in neuer Zeile'
-'Indent'                                                'Einrückung'
-'Max Length for single line Blocks'                     'Maximale Länge für einzeilige Blöcke'
-'Max Length for Single Line Blocks'                     'Maximale Länge für einzeilige Blöcke'
-'Reset to ST/X Default'                                 'Zurücksetzen zu ST/X Standardwerten'
-'Reset to RB Default'                                   'Zurücksetzen zu RB Standardwerten'
-'Reset to RefactoryBrowser Default'                     'Zurücksetzen zu RefactoryBrowser Standard'
+'Indent'                                                'Einrckung'
+'Max Length for single line Blocks'                     'Maximale Lnge fr einzeilige Blcke'
+'Max Length for Single Line Blocks'                     'Maximale Lnge fr einzeilige Blcke'
+'Reset to ST/X Default'                                 'Zurcksetzen zu ST/X Standardwerten'
+'Reset to RB Default'                                   'Zurcksetzen zu RB Standardwerten'
+'Reset to RefactoryBrowser Default'                     'Zurcksetzen zu RefactoryBrowser Standard'
 'Generate Comments'                                     'Kommentare generieren'
 'Generate Comments in Getters'                          'Kommentare in Gettern generieren'
 'Generate Comments in Setters'                          'Kommentare in Settern generieren'
@@ -3268,22 +3268,22 @@
 'Save as'                                               'Sichern als'
 'Save Text As'                                          'Text Sichern als'
 'Load from'                                             'Laden von'
-; 'show error notifier before opening debugger'       'Fehlerdialog vor Öffnen eines Debuggers'
-'Show Error Notifier before Opening Debugger'           'Zeige Fehlerdialog vor Öffnen des Debuggers'
-; 'verbose backtrace by default in debugger'          'Ausführliche Aufrufliste im Debuggers'
-'Verbose Backtrace by Default in Debugger'              'Standardmäßig ausführliche Aufrufkette im Debugger anzeigen'
+; 'show error notifier before opening debugger'       'Fehlerdialog vor ffnen eines Debuggers'
+'Show Error Notifier before Opening Debugger'           'Zeige Fehlerdialog vor ffnen des Debuggers'
+; 'verbose backtrace by default in debugger'          'Ausfhrliche Aufrufliste im Debuggers'
+'Verbose Backtrace by Default in Debugger'              'Standardmig ausfhrliche Aufrufkette im Debugger anzeigen'
 'Hide Support Code (Implementation of Enumerations, Exceptions, etc.)'  'Support Code nicht anzeigen (Implementierung von Enumerations, Exceptions, etc.)'
 ; 'Allow Send Error Report from Debugger'                 'Erlaube das Senden von Fehlerberichten aus dem Debugger'
 'Allow Sending Error Report from Debugger'              'Erlaube das Senden von Fehlerberichten aus dem Debugger'
 'Allow Sending of Error Reports from Debugger'          'Erlaube das Senden von Fehlerberichten aus dem Debugger'
 'Use New Layout'                                        'Neues Layout verwenden'
-'Text Editor for all Types'                             'Texteditor für alle Dateitypen'
+'Text Editor for all Types'                             'Texteditor fr alle Dateitypen'
 'standard styles only'                                  'nur Standard-Stile'
 'Define the Format of Window Labels:'                   'Format von Fensterbezeichnungen:'
 
 'Show Accept/Cancel Bar in Editor'                      'Accept/Cancel Balken im Editor darstellen'
 'Show Search Bar in Browser'                            'Suchleiste im Editor immer zeigen'
-'Show Method Template'                                  'Vorlage für Methodenquellcode anzeigen'
+'Show Method Template'                                  'Vorlage fr Methodenquellcode anzeigen'
 'Use the Embedded Test Runner (experimental)'                           'Den eingebetteten Test Runner verwenden (experimentell)'
 'Show Bookmarks Bar (experimental)'                                     'Lesezeichen-Menu anzeigen (experimentell)'
 'Web Browser Like Layout (Toolbars are Part of the Tab - experimental)' 'Web Browser Layout (Toolbars sind Teil des Tabs - experimentell)'
@@ -3305,21 +3305,21 @@
 'Beep for Error Dialogs'                                'Signal bei Fehlerboxen'
 'Audible Bell'                                          'Akustische Signale'
 
-'Change File'                                           'Änderungsdatei'
-'Log compiles in Changefile'                            'Methodenänderungen im Changefile protokollieren'
+'Change File'                                           'nderungsdatei'
+'Log compiles in Changefile'                            'Methodennderungen im Changefile protokollieren'
 'Log doIts in Changefile'                               '''DoIts'' im Changefile protokollieren'
-'Changefile Name'                                       'Name der Änderungsdatei'
+'Changefile Name'                                       'Name der nderungsdatei'
 'Catch Method Redefinitions'                            'Redefinition einer Methode melden'
 'Catch Class Redefinitions'                             'Redefinition einer Klasse melden'
-'Keep History Line in Methods'                          'Historie in Methoden führen'
+'Keep History Line in Methods'                          'Historie in Methoden fhren'
 'Keep Full Class History'                               'Gesamte Historie halten'
 'FileIn Source Mode'                                    'Quellcode Modus bei FileIn'
-'If Present, Load Binary Objects when Autoloading'      'Bei Autoload, binäre Datei-Objekte laden, falls vorhanden'
+'If Present, Load Binary Objects when Autoloading'      'Bei Autoload, binre Datei-Objekte laden, falls vorhanden'
 'Keep as String'                                        'Als String halten'
 'Reference to Filename'                                 'Als Referenz auf die Datei halten (Relativer Pfad)'
 'Reference to Full Path'                                'Als Referenz auf die Datei halten (Absoluter Pfad)'
-'Append and Ref in ''st.src'' '                         'Anfügen an ''st.src'' und Referenz darauf'
-'Just in Time Compilation to Machine Code'              '''Just In time'' Übersetzung zu Maschinencode'
+'Append and Ref in ''st.src'' '                         'Anfgen an ''st.src'' und Referenz darauf'
+'Just in Time Compilation to Machine Code'              '''Just In time'' bersetzung zu Maschinencode'
 'Allow Underscore in Identifiers'                       'Unterstrich in Variablennamen erlauben'
 'Allow Dollar in Identifiers'                           'Dollarzeichen in Variablennamen erlauben'
 'Allow VW3 QualifiedNames'                              'VW3 QualifiedNames erlauben'
@@ -3327,12 +3327,12 @@
 ; 'Allow Squeak Syntax Extensions'                        'Syntaktische Erweiterungen von Squeak erlauben'
 'Allow Dolphin Extensions'                              'Dolphin-Erweiterungen erlauben'
 'Allow OldStyle Assignment (_)'                         'Alte Zuweisungs-Syntax (_) erlauben'
-'Allow Reserved Words as Selector (self)'               'Reservierte Wörter (self) als Selektor erlauben'
+'Allow Reserved Words as Selector (self)'               'Reservierte Wrter (self) als Selektor erlauben'
 'Allow ST/V Primitives'                                 'ST/V Primitive erlauben'
 'Allow VisualAge ES-Symbols'                            'VisualAge ES-Symbole erlauben'
 'Allow FixedPoint-Number Literals'                      'FixedPoint Zahlenliterale erlauben'
 'Allow Empty Statements'                                'Leere Anweisungen erlauben'
-'Allow Extended Binary Selectors'                       'Erweiterte binäre Selektoren erlauben'
+'Allow Extended Binary Selectors'                       'Erweiterte binre Selektoren erlauben'
 'Allow Assignment to Pool Variable'                     'Zuweisung an Pool Variable erlauben'
 'ST/X Extensions'                                       'ST/X Erweiterungen'
 'Underscores in Identifiers'                            'Unterstrich in Variablennamen'
@@ -3340,25 +3340,25 @@
 'Unused Method Variables'                               'Ungenutzte Methodenvariablen'
 'OldStyle Assignment'                                   'Alte Zuweisungs-Syntax'
 'Common Mistakes'                                       'Typische Fehler'
-'Possible Incompatibilities'                            'Mögliche Inkompatibilitäten'
-'Possible STC Compilation Problems'                     'Mögliche Probleme bei STC-Übersetzung'
+'Possible Incompatibilities'                            'Mgliche Inkompatibilitten'
+'Possible STC Compilation Problems'                     'Mgliche Probleme bei STC-bersetzung'
 'References to Provate Classes'                         'Referenz auf Private Klasse'
-'Possibly Unimplemented Selectors'                      'Möglicherweise nicht-implementierte Nachricht'
+'Possibly Unimplemented Selectors'                      'Mglicherweise nicht-implementierte Nachricht'
 'Bad (non-Lowercase) Local Variable Names'              'Schlechte (nicht-kleingeschriebene) lokale Variablennamen'
 'Bad (Non-Lowercase) Local Variable Names'              'Schlechte (nicht-kleingeschriebene) lokale Variablennamen'
 'Bad (Short) Local Variable Names'                      'Schlechte (kurze) lokale Variablennamen'
 'Bad (non-English) Variable Names'                      'Schlechte (nicht-englische) Variablennamen'
 'Bad (empty) Comments'                                  'Schlechte (leere) Kommentare'
-'Bad (Uppercase) Local Variable Names'                  'Schlechte (großgeschriebene) lokale Variablennamen'
-'Inconsistent Return Values'                            'Nichtkonsistente Rückgabewerte'
+'Bad (Uppercase) Local Variable Names'                  'Schlechte (grogeschriebene) lokale Variablennamen'
+'Inconsistent Return Values'                            'Nichtkonsistente Rckgabewerte'
 'Reference to Private Class'                            'Referenz auf private Klasse'
 'Method-Comment Missing'                                'Methodenkommentar fehlt'
-'Plausibility Checks'                                   'Plausibilitätsprüfungen'
+'Plausibility Checks'                                   'Plausibilittsprfungen'
 
 'Literal Arrays are Immutable'                          'Literale Arrays sind ''readOnly'''
 'Full Debug Info'                                       'Komplette Debuginformation'
-'Constant Folding'                                      'Konstanten zur Übersetzungszeit berechnen'
-'STC Compilation to Machine Code'                       'STC Übersetzung zu Maschinencode'
+'Constant Folding'                                      'Konstanten zur bersetzungszeit berechnen'
+'STC Compilation to Machine Code'                       'STC bersetzung zu Maschinencode'
 'STC Command'                                           'STC Kommando'
 'STC Options'                                           'STC Optionen'
 'CC Command'                                            'CC Kommando'
@@ -3369,34 +3369,34 @@
 'Link Arguments'                                        'Binder (Linker) Argumente'
 'C-Libraries'                                           'C-Bibliotheken'
 'STC Library Path'                                      'STC Bibiliothekspfad'
-'Warning - invalid settings may result in failures or poor performance'  'Achtung - ungültige Einstellungen können Fehler und schlechte Leistung verursachen'
+'Warning - invalid settings may result in failures or poor performance'  'Achtung - ungltige Einstellungen knnen Fehler und schlechte Leistung verursachen'
 'You have been warned'                                  'Sie wurden gewarnt'
-'Size of NewSpace'                                      'Größe des ''newSpace'''
-'Size of newSpace where objects are created'            'Größe des Speichers in dem neue Objekte erzeugt werden'
+'Size of NewSpace'                                      'Gre des ''newSpace'''
+'Size of newSpace where objects are created'            'Gre des Speichers in dem neue Objekte erzeugt werden'
 'Never allocate more than this amount of memory'        'Niemals mehr als diese Menge Speicher belegen'
 'Maximum Memory Limit'                                  'Maximales Speicherlimit'
-'Quick Allocation Lmit'                                 'Limit für schnelle Belegung'
-'Quickly allocate more memory (suppress GC) up to this limit'   'Bis zu diesem Limit schnell belegen (GC unterdrücken)'
-'Incremental GC Allocation Trigger'                     'Belegungs-Trigger für incrementellen GC (IGC)'
-'Start IGC whenever this amount has been allocated'     'IGC starten, sobald belegter Speicher über diesen Wert wächst'
-'Incremental GC Freespace Trigger'                      'Freispeicher-Trigger für incrementellen GC (IGC)'
-'Start IGC whenever freespace drops below this'         'IGC starten, sobald Freispeicher unter diesen Wert fällt'
-'Incremental GC Amount'                                 'Reserve für incrementellen GC'
-'Try to keep this amount for peak requests'             'Versuche diese Menge für kurzfristige Speicheranforderungen zu halten'
+'Quick Allocation Lmit'                                 'Limit fr schnelle Belegung'
+'Quickly allocate more memory (suppress GC) up to this limit'   'Bis zu diesem Limit schnell belegen (GC unterdrcken)'
+'Incremental GC Allocation Trigger'                     'Belegungs-Trigger fr incrementellen GC (IGC)'
+'Start IGC whenever this amount has been allocated'     'IGC starten, sobald belegter Speicher ber diesen Wert wchst'
+'Incremental GC Freespace Trigger'                      'Freispeicher-Trigger fr incrementellen GC (IGC)'
+'Start IGC whenever freespace drops below this'         'IGC starten, sobald Freispeicher unter diesen Wert fllt'
+'Incremental GC Amount'                                 'Reserve fr incrementellen GC'
+'Try to keep this amount for peak requests'             'Versuche diese Menge fr kurzfristige Speicheranforderungen zu halten'
 'Oldspace Increment'                                    'Inkrement im ''Oldspace'''
-'Increase oldSpace in chunks of this size'              'OldSpace wird in Blöcken dieser Größe erweitert'
+'Increase oldSpace in chunks of this size'              'OldSpace wird in Blcken dieser Gre erweitert'
 ; 'Oldspace Compress Limit'                                       'Oldspace Compress Limit'
 'Use 2-pass compressing GC if > 0 and more memory is in use'    'Benutze 2-Phasen-Komprimierung, falls > 0 und mehr Speicher belegt ist'
 ; 'Stack Limit'                                                   'Stack Limit'
-'Trigger recursionInterrupt if more stack is used by a process'  'RecursionInterrupt auslösen, sobald mehr Stack von einem Prozess reserviert wurde'
+'Trigger recursionInterrupt if more stack is used by a process'  'RecursionInterrupt auslsen, sobald mehr Stack von einem Prozess reserviert wurde'
 'Dynamic code Limit'                                             'Dynamisches Codelimit'
-'Flush dynamic compiled code to stay within this limit'          'Dynamisch übersetzten Code verwerfen, um unter dieser Grenze zu bleiben'
+'Flush dynamic compiled code to stay within this limit'          'Dynamisch bersetzten Code verwerfen, um unter dieser Grenze zu bleiben'
 'Start incremental CG whenever this amount of code has been allocated'  'Starte incrementellen GC, sobald diese Menge neu alloziert wurde'
 'Sourcecode Management'                                 'Quellcode-Verwaltung'
 'Source Code Management'                                'Quellcode-Verwaltung'
 'Source Code Manager Setup'                             'Quellcode Mangager Einstellungen'
 'CVS SourceCodeManager setup'                           'CVS Quellcodemanager konfigurieren'
-'CVS BinDirectory'                                      'CVS Binärverzeichnis (falls nicht im Pfad)'
+'CVS BinDirectory'                                      'CVS Binrverzeichnis (falls nicht im Pfad)'
 ; 'CVSRoot default'                                       'CVSRoot default'
 ; 'CVSRoot per Modul'                                     'CVSRoot per Modul'
 ; 'Modul'                                                 'Modul'
@@ -3404,15 +3404,15 @@
 'CVSRoot per Module'                                    'CVSRoot per Modul'
 'Module'                                                'Modul'
 'Add/Apply'                                             'Eintragen'
-'Remove'                                                'Löschen'
-'Source Cache Dir'                                      'Cache-Verzeichnis für Quellcode'
+'Remove'                                                'Lschen'
+'Source Cache Dir'                                      'Cache-Verzeichnis fr Quellcode'
 'Flush Cache now'                                       'Cache jetzt leeren'
-'Condense Cache now'                                    'Cache jetzt bereinigen' "/ (alte Quellen löschen)'
+'Condense Cache now'                                    'Cache jetzt bereinigen' "/ (alte Quellen lschen)'
 'Browse Cache'                                          'Cache browsen'
-'If Present, Use Local Source (Suppress Checkout)'      'Lokale Quelle benutzen, falls vorhanden (Checkout unterdrücken)'
+'If Present, Use Local Source (Suppress Checkout)'      'Lokale Quelle benutzen, falls vorhanden (Checkout unterdrcken)'
 'Keep Method Source (In Image)'                         'Sourcecode im Image merken'
 'Verbose (Trace Operations on Transcript)'              'Verbose (Trace von Operationen auf dem Transcript)'
-'Check for halt/error-Sends when Checking in'           'Halt/Error-Sends beim Einchecken überprüfen'
+'Check for halt/error-Sends when Checking in'           'Halt/Error-Sends beim Einchecken berprfen'
 'Printer Command'                                       'Druckerkommando'
 'Print to File'                                         'Drucke in Datei'
 'dumb printer (or print filter)'                        'Einfacher Drucker (oder Filterprogramm)'
@@ -3423,11 +3423,11 @@
 'PDF Printer'                                           'PDF Drucker (Datei erzeugen)'
 'windows printer'                                       'Windows Drucker'
 'Windows Printer'                                       'Windows Drucker'
-'Max. CopyBuffer Size'                                  'Maximale Text-Größe im clipboard'
+'Max. CopyBuffer Size'                                  'Maximale Text-Gre im clipboard'
 
 'Communication'                                             'Kommunikation'
 'Port/Path:'                                                'Port/Pfad:'
-'Port-number for tcp, path-string for unix domain socket.'  'Port-Nummer für tcp, Pfadangabe für unix domain socket.'
+'Port-number for tcp, path-string for unix domain socket.'  'Port-Nummer fr tcp, Pfadangabe fr unix domain socket.'
 'Log Errors'                                                'Fehler protokollieren'
 'Log Connections'                                           'Verbindungen protokollieren'
 'Log Data Xfer'                                             'Datentransfer protokollieren'
@@ -3445,25 +3445,25 @@
 
 'PREFERRED_FONT_ENCODINGS'          #('unicode' 'iso8859-1' 'ascii')
 
-'literal arrays are immutable'      'Array-Konstanten nicht änderbar'
-'stc compilation to machine code'   'Übersetzung mit stc in Maschinencode'
+'literal arrays are immutable'      'Array-Konstanten nicht nderbar'
+'stc compilation to machine code'   'bersetzung mit stc in Maschinencode'
 'always'                            'immer'
 'never'                             'nie'
 'primitive code only'               'nur Primitive'
-'just in time compilation to machine code'       'Dynamische Übersetzung in Maschinencode'
-'detailed single step support'                   'volle Einzelschritt Unterstützung'
+'just in time compilation to machine code'       'Dynamische bersetzung in Maschinencode'
+'detailed single step support'                   'volle Einzelschritt Untersttzung'
 'warnings'                          'Warnungen'
 'ST/X language extensions'          'ST/X Spracherweiterungen'
 'ST/X extensions'                   'ST/X Erweiterungen'
-'possible incompatibilities'        'Potentielle Unverträglichkeit'
+'possible incompatibilities'        'Potentielle Unvertrglichkeit'
 'unused method vars'                'Nicht verwendete Methodenvariable'
 'underscores in identifiers'        'Unterstrich in Variablenname'
 'dollars in identifiers'            'Dollar-Zeichen in Variablenname'
-'full lineNumber info'              'Ausführliche Zeilennummerninformation'
-'full debug info'                   'Ausführliche Debuginformation'
+'full lineNumber info'              'Ausfhrliche Zeilennummerninformation'
+'full debug info'                   'Ausfhrliche Debuginformation'
 'oldStyle assignment'               '"oldStyle" Zuweisungen'
 'common mistakes'                   'Typische Fehler'
-'stc compilation parameters'     'stc Übersetzungsparameter'
+'stc compilation parameters'     'stc bersetzungsparameter'
 'stc command:'                      'stc Kommandopfad:'
 'cc command:'                       'cc Kommandopfad:'
 'link command:'                     'linker Kommandopfad:'
@@ -3480,7 +3480,7 @@
 'keep as string'                    'als String behalten'
 'reference to filename'             'Referenz auf Datei'
 'reference to full path'            'Referenz auf Datei mit vollem Pfad'
-'append and ref in `st.src'''       'anfügen und Referenz auf `st.src'''
+'append and ref in `st.src'''       'anfgen und Referenz auf `st.src'''
 'discard'                           'verwerfen'
 
 'constant folding:'                 'Zusammenfassen von Konstanten:'
@@ -3493,25 +3493,25 @@
 'Transcript Buffer Size:'           'Anzahl Zeilen im Transcript:'
 
 'Other settings'                    'andere Einstellungen '
-'remember changed methods (for previous method in browser)'  'Methodenhistorie mitführen'
-'log compiles in changes file'      'Änderungen in changes-Datei eintragen'
+'remember changed methods (for previous method in browser)'  'Methodenhistorie mitfhren'
+'log compiles in changes file'      'nderungen in changes-Datei eintragen'
 'log doIts in changes file'         'DoIts in changes-Datei eintragen'
 'change file name:'                 'Name der Change-Datei:'
-'lazy compilation when autoloading' '"lazy" Übersetzung bei Autoload'
+'lazy compilation when autoloading' '"lazy" bersetzung bei Autoload'
 'catch method redefinitions'        'Meldung falls existierende Methode redefiniert wird'
 'catch class redefinitions'         'Meldung falls existierende Klasse redefiniert wird'
-'keep history line in methods'      'History-Zeile im Quelltext von Methoden mitführen'
-'keep full class history'           'Alle History-Einträge in history-Methode mitführen'
-'load binary objects, if present'   'Binäre Klassen werden geladen, falls vorhanden'
-'if present, load binary objects when autoloading'   'Falls vorhanden, lade Binärobjekte bei Autoload'
+'keep history line in methods'      'History-Zeile im Quelltext von Methoden mitfhren'
+'keep full class history'           'Alle History-Eintrge in history-Methode mitfhren'
+'load binary objects, if present'   'Binre Klassen werden geladen, falls vorhanden'
+'if present, load binary objects when autoloading'   'Falls vorhanden, lade Binrobjekte bei Autoload'
 'Source Cache Dir:'                 'Cacheverzeichnis:'
 'sourcecode from sourcecode management'  'Quellcode vom Versions-Management'
 
 
 'Shadows under PopUp Views'                         'Schatten unter PopUp Fenstern'
 'Beeper enabled'                                    'Akustische Signale eingeschaltet'
-'Boxes Return Focus to Previously Active View'      'Dialoge geben Fokus an vorherigens Fenster zurück'
-'Views Catch Focus when Mapped'                     'Fenster nehmen Fokus beim Öffnen'
+'Boxes Return Focus to Previously Active View'      'Dialoge geben Fokus an vorherigens Fenster zurck'
+'Views Catch Focus when Mapped'                     'Fenster nehmen Fokus beim ffnen'
 'Hostname in Window Labels'                         'Hostname im Fenstertitel anzeigen'
 'Show Accelerator Keys in Menus'                    'Funktionstasten im Menu anzeigen'
 'Raise & Activate Windows on Click'                 'Fenster bei Klick nach vorne bringen'
@@ -3519,11 +3519,11 @@
 'Keyboard Focus Follows Mouse'                      'Tastaturfokus folgt Mauszeiger'
 'Mousewheel Focus Follows Mouse'                    'Scrollrad-Fokus folgt Mauszeiger'
 'MouseWheel Focus Follows Mouse'                    'Scrollrad-Fokus folgt Mauszeiger'
-'Opaque Variable Panel Resizing'                    'Verändern der Grösse im VariablePanel animieren'
-'Opaque Table Column Resizing'                      'Verändern der Grösse einer Tabellenspalte animieren'
-'Select on Right-Button-Press'                      'Auswahl durch Drücken der rechten Maustaste'
+'Opaque Variable Panel Resizing'                    'Verndern der Grsse im VariablePanel animieren'
+'Opaque Table Column Resizing'                      'Verndern der Grsse einer Tabellenspalte animieren'
+'Select on Right-Button-Press'                      'Auswahl durch Drcken der rechten Maustaste'
 'Menu on Right-Button-Release'                      'Menu durch Loslassen der rechten Maustaste'
-'Define the Format of Window Labels:\\  %1 - Label\  %2 - Hostname\  %3 - Username\  %4 - ProcessId\' 'Format für Fenstertitel: \\  %1 - Label\  %2 - Hostname\  %3 - Benutzername\  %4 - ProzessId\'
+'Define the Format of Window Labels:\\  %1 - Label\  %2 - Hostname\  %3 - Username\  %4 - ProcessId\' 'Format fr Fenstertitel: \\  %1 - Label\  %2 - Hostname\  %3 - Benutzername\  %4 - ProzessId\'
 'Use Native Widgets (Experimental & Unfinished Feature)'        'Native Widgets verwenden (experimentell)'
 'Use Native Dialogs (Experimental & Unfinished Feature)'        'Native Dialoge verwenden (experimentell)'
 'Use Native File Dialogs (Experimental & Unfinished Feature)'   'Native Filedialoge verwenden (experimentell)'
@@ -3532,8 +3532,8 @@
 
 
 
-'Preemptive Scheduling'                             'Prozessausführung mit Zeitscheiben'
-'Dynamic Priorities'                                'Dynamische Prozessprioritäten'
+'Preemptive Scheduling'                             'Prozessausfhrung mit Zeitscheiben'
+'Dynamic Priorities'                                'Dynamische Prozessprioritten'
 
 'Cursor has ST80/VW Line-end Behavior'              'Schreibmarke mit ST80/VW Verhalten am Zeilenende'
 'Cursor has ST80 Line-end Behavior'                 'Schreibmarke mit ST80 Verhalten am Zeilenende'
@@ -3541,35 +3541,35 @@
 'Double Click Select Behavior as in ST80'           'Doppelklick-Selektion wie in ST80'
 'Tab Stops in Multiples of 4'                       '4-er Tabs'
 'SearchBox is Modal'                                'Textsuchdialog ist Modal'
-'CTRL-Key to Start TextDrag'                        'CTRL-Taste für Drag & Drop von Text'
+'CTRL-Key to Start TextDrag'                        'CTRL-Taste fr Drag & Drop von Text'
 'Extended Character-Set for Word-Select (Underline, Dollar)' 'Erweiterter Zeichensatz bei Wortselektion (Unterstrich, Dollar)'
 'Delete-Key sets Clipboard'                         'Delete-Taste (Entfernen) aktualisiert das Clipboard'
 'Treat Underscore as Letter in Word-Select'         'Unterstrich wie Buchstaben bei Wort-Selektion behandeln'
 'Any non-Whitespace in Word-Select'                 'Alle nicht-Leerzeichen bei Wort-Selektion'
-'Always Paste the Contents when Dropping a File (Do not Ask)' 'Bei Drop einer Datei immer den Dateiinhalt einfügen (nicht nachfragen)'
+'Always Paste the Contents when Dropping a File (Do not Ask)' 'Bei Drop einer Datei immer den Dateiinhalt einfgen (nicht nachfragen)'
 'Select all when Clicking beyond the Text''s End'   'Bei Klick hinter dem Textende alles selektieren'
 
-'Use Advanced Code Editor in All Tools (where supported)' 'Verbesserter Code-Editor in allen Tools verwenden (soweit unterstützt)'
+'Use Advanced Code Editor in All Tools (where supported)' 'Verbesserter Code-Editor in allen Tools verwenden (soweit untersttzt)'
 'Use Advanced Code Editor in Class Browser'               'Verbesserter Code-Editor im Klassenbrowser verwenden'
 'Use Advanced Code Editor in Debugger (experimental)'     'Verbesserter Code-Editor im Debugger verwenden (experimentell)'
 'Use Advanced Code Editor in Workspace'                   'Verbesserter Code-Editor im Workspace verwenden'
 'Show Accept/Cancel Buttons in Gutter'                    'Accept/Cancel Balken im Randbereich anzeigen'
-'Auto Indent (experimental, not yet recommended)'         'Automatisch einrücken (experimentell, noch nicht empfohlen)'
+'Auto Indent (experimental, not yet recommended)'         'Automatisch einrcken (experimentell, noch nicht empfohlen)'
 'Use the Embedded Test Runner'                            'Verwende den eingebetteten TestRunner'
 'Show Bookmarks Bar'                                      'Lesezeichenleiste anzeigen'
-'Sort and Indent Classes by Inheritance'                  'Klassen nach Vererbung sortieren und einrücken'
-'Show Local Navigation History (Separate History per Browser Tab)'  'Lokalen Verlauf zeigen (getrennt für jeden Tab)'                                     'Lesezeichenleiste anzeigen'
-'Show Global Navigation History (Global History for all Browsers)'  'Globalen Verlauf zeigen (global für alle Browser)'                                     'Lesezeichenleiste anzeigen'
+'Sort and Indent Classes by Inheritance'                  'Klassen nach Vererbung sortieren und einrcken'
+'Show Local Navigation History (Separate History per Browser Tab)'  'Lokalen Verlauf zeigen (getrennt fr jeden Tab)'                                     'Lesezeichenleiste anzeigen'
+'Show Global Navigation History (Global History for all Browsers)'  'Globalen Verlauf zeigen (global fr alle Browser)'                                     'Lesezeichenleiste anzeigen'
 'Use in-place Search in Browser Lists (experimental)'               'Schnellsuche innnerhalb der Browserliste (experimentell)'                                     'Lesezeichenleiste anzeigen'
 
-'Syntax Color'                                      'Syntaktische Einfärbung'
+'Syntax Color'                                      'Syntaktische Einfrbung'
 
 'Communication settings'                            'Kommunikation'
 'Communications'                                    'Kommunikation'
 
 'Window migration'                                  'Migrieren von Fenstern'
 'Window migration enabled'                          'Migrieren von Fenstern erlaubt'
-'Password check'                                    'Passwort prüfen'
+'Password check'                                    'Passwort prfen'
 
 'Remote doits enabled'                              'RDOIT Anweisungen erlaubt'
 'Log Data'                                          'Daten anzeigen'
@@ -3595,7 +3595,7 @@
 'OSI Protocols (addOn package)'                     'OSI Protokolle (Zusatzpaket)'
 'Log %1 errors'                                     '%1-Fehler melden'
 'Log %1 connection'                                 '%1-Verbindungen melden'
-'Log %1 data xfers'                                 '%1-Datenübertragung melden'
+'Log %1 data xfers'                                 '%1-Datenbertragung melden'
 'Log %1 invokations'                                '%1-Aufrufe melden'
 'Log %1 responses'                                  '%1-Antworten melden'
 'Log %1 messages'                                   '%1-Nachrichten melden'
@@ -3619,17 +3619,16 @@
 'Display screen settings'           'Einstellungen zum Bildschirm'
 
 'Actual Visible Screen Area:'       'Sichtbarer Bereich'
-'Common Sizes:'                     'Typische Größen:'
-'Screen Size:'                      'Größe des Bildschirms:'
+'Common Sizes:'                     'Typische Gren:'
+'Screen Size:'                      'Gre des Bildschirms:'
 'Color Monitor'                     'Farbschirm'
 'Use Fix Color Palette %1'          'Feste Farbpalette %1 verwenden'
-'Use Fix Gray Color Palette %1'     'Feste Farbpalette für Grautöne %1 verwenden'
+'Use Fix Gray Color Palette %1'     'Feste Farbpalette fr Grautne %1 verwenden'
 'Image Display:'                    'Bilder anzeigen mit:'
-'Allow Colored/Grayscale Icons'     'Sinnbilder mit Farben/Grautönen'
+'Allow Colored/Grayscale Icons'     'Sinnbilder mit Farben/Grautnen'
 'ClipBoard Encoding:'               'Kodierung von ClipBoard-Texten:'
 'Screen: Depth: %1 Visual: %2  (%3)' 'Darstellung: Tiefe: %1 Farbe: %2  (%3)'
 
 'All (Others)'          'Alle (Sonstige)'
 
 'Current Language'     'Aktuelle Sprache'
-
--- a/resources/ja.rs	Tue Jan 22 12:24:41 2013 +0000
+++ b/resources/ja.rs	Wed Jan 30 11:15:09 2013 +0000
@@ -1,6 +1,6 @@
 #encoding utf-8
 
-; $Header: /cvs/stx/stx/libtool/resources/ja.rs,v 1.5 2012/11/22 12:17:26 cg Exp $
+; $Header: /cvs/stx/stx/libtool/resources/ja.rs,v 1.5 2012-11-22 12:17:26 cg Exp $
 ;
 
 ;
@@ -17,23 +17,23 @@
 ; SystemBrowser resources
 ;
 
-search                  '捜す'
-create                  '生成'
-browse                  'ブラウズ'
-find                    '捜す'
-accept                  '応じる'
-continue                '続ける'
-copy                    '複写'
+search                  ''
+create                  ''
+browse                  ''
+find                    ''
+accept                  ''
+continue                ''
+copy                    ''
 
-compare                 '合わせる'
+compare                 ''
 
 ;--------------------------------------------------------------------------------------------
 ;
 ; AboutBox
 ;
-'Version'              '版'
-'Distributor'          'ディストリビューター'
-'Configuration'        '構成'
+'Version'              ''
+'Distributor'          ''
+'Configuration'        ''
 "/ 'Release ID'            '?'
 "/ 'Running on'            '?'
 
@@ -41,11 +41,11 @@
 ;
 ; DebugView
 ;
-'terminate'             '果てる'
-'return'                '帰る'
-'step'                  '単一段階'
-'send'                  '言づける'
-'restart'               '再出発'
+'terminate'             ''
+'return'                ''
+'step'                  ''
+'send'                  ''
+'restart'               ''
 
 ;--------------------------------------------------------------------------------------------
 ;
@@ -58,109 +58,109 @@
 ;
 
 ; 'Afrikaans'
-'Arabic'                    'アラビア語'
-'Chinese'                   '中国語'
-'Chinese (simplified)'                 '中国語 (simplified)'
-'Chinese (traditional)'                '中国語 (traditional)'
+'Arabic'                    ''
+'Chinese'                   ''
+'Chinese (simplified)'                 ' (simplified)'
+'Chinese (traditional)'                ' (traditional)'
 ; 'Croatian'
-'Czech'                     'チェコ'
+'Czech'                     ''
 ; 'Danish'
-'German'                    'ドイツ語'
-'Greek'                     'ギリシャ'
-'English (US)'              '英語 (US)'
-'English (UK)'              '英語 (UK)'
-'Esperanto'                 'エスペラント語'
-'Spanish'                   'スペイン語'
+'German'                    ''
+'Greek'                     ''
+'English (US)'              ' (US)'
+'English (UK)'              ' (UK)'
+'Esperanto'                 ''
+'Spanish'                   ''
 ; 'Finnish'
-'French'                    'フランスの'
-'Italian'                   'イタリア語'
-'Japanese'                  '日本語'
-'Latin'                     'ラテン語'
+'French'                    ''
+'Italian'                   ''
+'Japanese'                  ''
+'Latin'                     ''
 ; 'Hindi'
-'Dutch'                     'オランダ語'
+'Dutch'                     ''
 ; 'Norwegian'
-'Polish'                    'ポーランド語'
-'Portuguese'                'ポルトガル語'
-'Portuguese (Brazilian)'    'ポルトガル語 (ブラジル)'
-'Russian'                   'ロシア語'
+'Polish'                    ''
+'Portuguese'                ''
+'Portuguese (Brazilian)'    ' ()'
+'Russian'                   ''
 ; 'Swedish'
-'Thai'                      'タイ語'
-'Turkish'                   'トルコ語'
+'Thai'                      ''
+'Turkish'                   ''
 ; 'Ukrainian'
 
-'projects'              '事業'
-'demos'                 '用例'
+'projects'              ''
+'demos'                 ''
 
-'about Smalltalk/X'     'ついて Smalltalk/X'
+'about Smalltalk/X'     ' Smalltalk/X'
 
-; 'senders'                 '提供側'
+; 'senders'                 ''
 
-'language'              '言語'
+'language'              ''
 
-'ST/X documentation'        '取扱説明書 ST/X'
-'ST/X online documentation' '取扱説明書 ST/X'
-'class documentation'       '取扱説明書 類'
-'index'                     '索引'
-'what''s new'               '特報'
+'ST/X documentation'        ' ST/X'
+'ST/X online documentation' ' ST/X'
+'class documentation'       ' '
+'index'                     ''
+'what''s new'               ''
 
-'version'               'バ?ジ??'
-'copyright'             '著作権'
+'version'               '???'
+'copyright'             ''
 
-'snapshot...'           '規保'
-'snapshot & exit...'    '規保 & 済む'
-'exit smalltalk'        '済む Smalltalk/X'
+'snapshot...'           ''
+'snapshot & exit...'    ' & '
+'exit smalltalk'        ' Smalltalk/X'
 
-'hardcopy'              '写真'
+'hardcopy'              ''
 
-'views'                 '表示'
-'destroy view'          '崩す 表示'
-'select & destroy view' '崩す 表示'
-'view tree'             '表示階層'
-'view tree (all views)' '表示階層 (すっかり)'
-'find & raise'          '捜す & raise'    "/ '見える' ???
-'find & destroy'        '捜す & 崩す'
+'views'                 ''
+'destroy view'          ' '
+'select & destroy view' ' '
+'view tree'             ''
+'view tree (all views)' ' ()'
+'find & raise'          ' & raise'    "/ '' ???
+'find & destroy'        ' & '
 
-'workspace'             '作業表示'
-'semaphores'            '信号機'
-'memory'                '記憶'
+'workspace'             ''
+'semaphores'            ''
+'memory'                ''
 
-'view'                  '表示'
-'area'                  '地域'
+'view'                  ''
+'area'                  ''
 
-'new project'                '樹立 事業'
-'select project'             '選ぶ 事業'
+'new project'                ' '
+'select project'             ' '
 
-'view style'                 '表示型'
-'misc'                       '雑用'
-'messages'                   'お知らせ'
+'view style'                 ''
+'misc'                       ''
+'messages'                   ''
 
-'games'                      '競技'
+'games'                      ''
 
-'geometric designs'          '線画'
-'Pen demo'                   '発揮 Pen'
-'Commander demo'             '発揮 Commander'
+'geometric designs'          ''
+'Pen demo'                   ' Pen'
+'Commander demo'             ' Commander'
 
-'goodies'                    '馳走'
+'goodies'                    ''
 
-'clock'                      '時計'
-'calendar'                   '時刻表日'
-'calculator'                 '計算機'
+'clock'                      ''
+'calendar'                   ''
+'calculator'                 ''
 
-'Animation'                  '歩男'
-'Globe demo'                 '球'
-'3D graphics'                '絵 [三次元]'
-'Paint Demo'                 '絵'
-'Tic Tac Toe (2 players)'    'Tic Tac Toe (二 選手)'
+'Animation'                  ''
+'Globe demo'                 ''
+'3D graphics'                ' []'
+'Paint Demo'                 ''
+'Tic Tac Toe (2 players)'    'Tic Tac Toe ( )'
 
-'plane'                      '平面'
-'planet'                     '惑星'
-'sphere (wireframe)'         '球 (線)'
-'doughnut (wireframe)'       'doughnut (線)'
-'cube (wireframe)'           '立方 (線)'
-'cube (solid)'               '立方 (立体)'
-'rubics cube'                '立方 Rubics'
-'teapot'                     '茶鍋'
-'cube (light)'               '立方 (灯り)'
-'cube (light & texture)'     '立方 (灯り & ?)'
-'sphere (light)'             '球 (灯り)'
-'colored octahedron'         'octahedron (仰々し)'
+'plane'                      ''
+'planet'                     ''
+'sphere (wireframe)'         ' ()'
+'doughnut (wireframe)'       'doughnut ()'
+'cube (wireframe)'           ' ()'
+'cube (solid)'               ' ()'
+'rubics cube'                ' Rubics'
+'teapot'                     ''
+'cube (light)'               ' ()'
+'cube (light & texture)'     ' ( & ?)'
+'sphere (light)'             ' ()'
+'colored octahedron'         'octahedron ()'
--- a/resources/resources.rs	Tue Jan 22 12:24:41 2013 +0000
+++ b/resources/resources.rs	Wed Jan 30 11:15:09 2013 +0000
@@ -2,7 +2,7 @@
 
 ; resources
 ;
-; $Header: /cvs/stx/stx/libtool/resources/resources.rs,v 1.10 2012/03/13 14:44:24 stefan Exp $
+; $Header: /cvs/stx/stx/libtool/resources/resources.rs,v 1.10 2012-03-13 14:44:24 stefan Exp $
 
 #superpack      (ResourcePack forPackage:'stx:libview')
 
--- a/stx_libtool.st	Tue Jan 22 12:24:41 2013 +0000
+++ b/stx_libtool.st	Wed Jan 30 11:15:09 2013 +0000
@@ -11,7 +11,7 @@
 "
 "{ Package: 'stx:libtool' }"
 
-LibraryDefinition subclass:#stx_libtool
+LibraryDefinition subclass:#'stx_libtool'
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
@@ -43,7 +43,10 @@
 
 extensionsVersion_CVS
     ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.81 2012/09/09 20:44:34 cg Exp $'
-! !
+!
+
+ !
+
 
 !stx_libtool class methodsFor:'description'!
 
@@ -112,6 +115,7 @@
     )
 ! !
 
+
 !stx_libtool class methodsFor:'description - compilation'!
 
 additionalBaseAddressDefinition_bc_dot_mak
@@ -124,6 +128,7 @@
 '
 ! !
 
+
 !stx_libtool class methodsFor:'description - contents'!
 
 classNamesAndAttributes
@@ -498,6 +503,7 @@
     )
 ! !
 
+
 !stx_libtool class methodsFor:'description - project information'!
 
 applicationIconFileName
@@ -533,6 +539,7 @@
     ^ 'Smalltalk/X'
 ! !
 
+
 !stx_libtool class methodsFor:'description - svn'!
 
 svnRepositoryUrlString
@@ -551,16 +558,18 @@
     ^ "$SVN-Revision:"'8088            '"$"
 ! !
 
+
 !stx_libtool class methodsFor:'documentation'!
 
 version
-    ^ '$Id: stx_libtool.st 8090 2013-01-17 21:52:18Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.85 2012-10-23 13:59:10 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.85 2012/10/23 13:59:10 cg Exp '
+    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.85 2012-10-23 13:59:10 cg Exp $'
 !
 
 version_SVN
     ^ '$Id: stx_libtool.st 8090 2013-01-17 21:52:18Z vranyj1 $'
 ! !
+
--- a/vcmake.bat	Tue Jan 22 12:24:41 2013 +0000
+++ b/vcmake.bat	Wed Jan 30 11:15:09 2013 +0000
@@ -5,7 +5,7 @@
 @REM -------
 
 @if not defined VSINSTALLDIR (
-    call ..\rules\vcsetup.bat
+	call ..\rules\vcsetup.bat
 )
 @SET DEFINES=
 @REM Kludge got Mercurial, cannot be implemented in Borland make
@@ -14,5 +14,3 @@
 make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %*
 
 
-
-