Merged with trunk jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Fri, 13 Apr 2012 14:15:47 +0100
branchjv
changeset 12229 5c129972b1fd
parent 12228 65c1148c41f6
child 12230 5568874ba4cf
Merged with trunk
AbstractLauncherApplication.st
ChangesBrowser.st
DebugView.st
DirectoryContentsBrowser.st
FindFileApplication.st
NewLauncher.st
SyntaxHighlighter2.st
SystemBrowser.st
Tools__BreakpointService.st
Tools__BrowserList.st
Tools__ClassCategoryList.st
Tools__ClassChecker.st
Tools__ClassGeneratorList.st
Tools__ClassList.st
Tools__CodeView2.st
Tools__FullMethodCategoryList.st
Tools__HierarchicalClassCategoryList.st
Tools__HierarchicalClassList.st
Tools__HierarchicalProjectList.st
Tools__ImplementingClassList.st
Tools__ImplementingMethodList.st
Tools__InheritanceClassList.st
Tools__MethodCategoryList.st
Tools__MethodList.st
Tools__NamespaceList.st
Tools__NavigationState.st
Tools__NavigatorCanvas.st
Tools__NavigatorModel.st
Tools__NewSystemBrowser.st
Tools__OrganizerCanvas.st
Tools__ProjectList.st
Tools__SearchDialog.st
Tools__SpecialCodeView.st
Tools__TagList.st
Tools__TagsBrowser.st
Tools__VariableList.st
VersionDiffBrowser.st
resources/de.rs
--- a/AbstractLauncherApplication.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/AbstractLauncherApplication.st	Fri Apr 13 14:15:47 2012 +0100
@@ -1019,7 +1019,7 @@
 !
 
 monticelloRepositoryAvailable
-    ^ MCRepositoryBrowser notNil
+    ^ true "MCRepositoryBrowser notNil" "/ - will install, if required.
 
     "Created: / 25-11-2011 / 17:54:37 / cg"
 !
@@ -1431,6 +1431,10 @@
 startMonticelloRepositoryBrowser
     "open a monticello repository browser. Unfinished & experimental."
 
+    MCRepositoryBrowser isNil ifTrue:[
+        Smalltalk loadPackage:'stx:goodies/monticello'
+    ].
+
     MCRepositoryBrowser open.
 
     "Created: / 25-11-2011 / 17:55:18 / cg"
@@ -6905,13 +6909,13 @@
 !AbstractLauncherApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.412 2012/03/12 19:34:25 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.413 2012/03/26 09:54:15 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.412 2012/03/12 19:34:25 stefan Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.413 2012/03/26 09:54:15 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: AbstractLauncherApplication.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: AbstractLauncherApplication.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/ChangesBrowser.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/ChangesBrowser.st	Fri Apr 13 14:15:47 2012 +0100
@@ -2967,11 +2967,6 @@
     ].
 
     fileName := aFileNameOrFileNameString asFilename.
-    fileName exists ifTrue:[
-        encoding := CharacterEncoder guessEncodingOfFile:fileName.
-    ] ifFalse:[
-        encoding := #utf8.
-    ].
 
     [
         outStream := fileName readWriteStream.
@@ -2980,11 +2975,16 @@
         ^ false
     ].
 
+    outStream fileSize = 0 ifTrue:[
+        encoding := #utf8.
+        outStream nextPutLine:'"{ Encoding: utf8 }" !!' asUnicodeString.
+    ] ifFalse:[
+        encoding := CharacterEncoder guessEncodingOfStream:outStream.
+    ].
+
     encoding notNil ifTrue:[
         outStream := EncodedStream stream:outStream encoder:(CharacterEncoder encoderFor:encoding).
-        outStream nextPutLine:'"{ Encoding: utf8 }" !!'.
-    ].
-
+    ].
     outStream setToEnd.
 
     sawExcla ifTrue:[
@@ -3259,9 +3259,11 @@
                         thisClassSym := (parseTree arguments at:1) evaluate.
 
                         (selector endsWith:':privateIn:') ifTrue:[
-                            ownerClass := (parseTree arguments at:5) evaluate.
-                            ownerClass isBehavior ifTrue:[
-                                thisClass := ownerClass privateClassesAt:thisClassSym.
+                            Parser undefinedVariableError catch:[
+                                ownerClass := (parseTree arguments at:5) evaluate.
+                                ownerClass isBehavior ifTrue:[
+                                    thisClass := ownerClass privateClassesAt:thisClassSym.
+                                ].
                             ].
                         ] ifFalse:[
                             thisClass := (self nameSpaceForApply) at:thisClassSym ifAbsent:nil.
@@ -5703,7 +5705,7 @@
     "Modified: / 27-10-2010 / 11:31:06 / cg"
 !
 
-selectionCanged
+selectionChanged
 self halt
 
     "Created: / 03-01-2012 / 15:26:36 / cg"
@@ -6448,13 +6450,13 @@
 !ChangesBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.425 2012/03/08 11:03:32 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.428 2012/04/05 11:12:53 stefan Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.425 2012/03/08 11:03:32 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.428 2012/04/05 11:12:53 stefan Exp §'
 !
 
 version_SVN
-    ^ '$Id: ChangesBrowser.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: ChangesBrowser.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/DebugView.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/DebugView.st	Fri Apr 13 14:15:47 2012 +0100
@@ -743,6 +743,16 @@
                   label: '-'
                 )
                (MenuItem
+                  enabled: canCloseAllDebuggers
+                  label: 'Close all Debuggers...'
+                  itemValue: closeAllDebuggers
+                  translateLabel: true
+                  isVisible: isNotInspecting
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
                   label: 'Exit'
                   itemValue: closeRequest
                   translateLabel: true
@@ -1175,7 +1185,7 @@
         nil
       )
 
-    "Modified: / 19-03-2012 / 16:37:36 / cg"
+    "Modified: / 23-03-2012 / 12:52:50 / cg"
 ! !
 
 !DebugView class methodsFor:'misc'!
@@ -2382,12 +2392,23 @@
 destroy
     "closing the debugger implies an abort or continue"
 
+    self destroyWithConfirmation:true
+
+    "Modified: / 10-07-1997 / 17:15:41 / stefan"
+    "Modified: / 23-03-2012 / 12:50:01 / cg"
+!
+
+destroyWithConfirmation:withConfirmation
+    "closing the debugger implies an abort or continue"
+
     |m|
 
-    self checkIfCodeIsReallyModified ifTrue:[
-        (self confirm:('Code modified - exit anyway ?'))
-        ifFalse:[
-            ^ self
+    withConfirmation ifTrue:[
+        self checkIfCodeIsReallyModified ifTrue:[
+            (self confirm:('Code modified - exit anyway ?'))
+            ifFalse:[
+                ^ self
+            ]
         ]
     ].
 
@@ -2422,8 +2443,6 @@
         ].
         "/ We don't reach this point normally
         'DebugView [info]: OOPS - non regular debugView closing(2)' infoPrintCR.
-        Debugger newDebugger.
-        self uncacheMyself.
     ].
 
     Debugger newDebugger.
@@ -2431,8 +2450,8 @@
     self uncacheMyself.
     super destroy.
 
-    "Modified: / 10.7.1997 / 17:15:41 / stefan"
-    "Modified: / 16.11.2001 / 17:38:15 / cg"
+    "Modified: / 10-07-1997 / 17:15:41 / stefan"
+    "Created: / 23-03-2012 / 12:49:50 / cg"
 !
 
 initialize
@@ -3844,6 +3863,24 @@
     "Created: / 08-03-2012 / 01:29:46 / cg"
 !
 
+closeAllDebuggers
+    (Dialog confirm:'Close all Debuggers (without confirmation if code was changed)?')
+    ifFalse:[
+        ^ self
+    ].
+
+    self class allInstancesDo:[:debugger | 
+        debugger ~~ self ifTrue:[
+            debugger busy ifTrue:[
+                debugger destroyWithConfirmation:true.
+            ].
+        ].
+    ].
+    self closeRequest.
+
+    "Created: / 23-03-2012 / 12:40:22 / cg"
+!
+
 configureX:x y:y width:newWidth height:newHeight
     super configureX:x y:y width:newWidth height:newHeight.
     LastExtent := self extent.
@@ -4051,7 +4088,7 @@
 
 doDefine
     |selectionIndex selector argNames receiversClass proto haltStmtDef haltStmtFix code cat
-     bagOfClassNames bagOfUsedClassNames implClass idx callee restart|
+     bagOfClassNames bagOfUsedClassNames implClass idx callee restart varName argName|
 
     selectionIndex := contextView selection.
     restart := true.
@@ -4104,18 +4141,36 @@
 
     receiversClass := actualContext receiver class.
 
+    "/ code for a getter
     (receiversClass instVarNames includes:selector) ifTrue:[
         code := '%1\' , haltStmtFix , '\    ^ %2'.
         cat := 'accessing'.
     ].
+
+    "/ code for a setter
     (selector numArgs == 1
     and:[(selector endsWith:':')
     and:[receiversClass instVarNames includes:(selector copyWithoutLast:1)]])
     ifTrue:[
-        code := '%1\' , haltStmtFix , '\    %2 := arg.'.
+        varName := selector copyWithoutLast:1.
+        argName := argNames first.
+        code := '%1\' , haltStmtFix , '\    %3 := %4.'.
         cat := 'accessing'.
     ].
 
+    "/ code for a tester
+    (selector numArgs == 0
+    and:[(selector startsWith:'is')
+    and:[(Smalltalk classNamed:(selector copyFrom:3)) notNil ]])
+    ifTrue:[
+        (receiversClass nameWithoutPrefix = (selector copyFrom:3)) ifTrue:[
+            code := '%1\' , haltStmtFix , '\    ^ true.'.
+        ] ifFalse:[
+            code := '%1\' , haltStmtFix , '\    ^ false.'.
+        ].
+        cat := 'testing'.
+    ].
+
 "/    actualContext receiver isClass ifTrue:[
 "/        selector == #new ifTrue:[
 "/            code := '%1\' , haltStmt , '\    ^ self basicNew initialize'
@@ -4129,7 +4184,7 @@
     ].
 
     self
-        codeAccept:(code bindWith:proto with:selector) withCRs
+        codeAccept:(code bindWith:proto with:selector with:varName with:argName) withCRs
         inClass:receiversClass
         unwind:false
         category:cat
@@ -4140,7 +4195,7 @@
         self doRestart
     ]
 
-    "Modified: / 17-11-2001 / 23:43:54 / cg"
+    "Modified: / 23-03-2012 / 09:49:31 / cg"
     "Modified: / 31-01-2012 / 13:41:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
@@ -5589,6 +5644,17 @@
     ^ m notNil and:[m isEnabled:#browseReceiversClass]
 !
 
+canCloseAllDebuggers
+    self class allInstancesDo:[:debugger | 
+        debugger ~~ self ifTrue:[
+            debugger busy ifTrue:[^ true].
+        ]
+    ].
+    ^ false
+
+    "Created: / 23-03-2012 / 12:40:18 / cg"
+!
+
 canDefineMethod
     ^ defineButton isVisible
 !
@@ -7528,12 +7594,6 @@
 
 !DebugView::IgnoredHalt methodsFor:'accessing'!
 
-
-
-
-
-
-
 method
     |m|
 
@@ -7567,10 +7627,6 @@
     "Modified: / 08-05-2011 / 10:28:41 / cg"
 ! !
 
-!DebugView::IgnoredHalt methodsFor:'misc'!
-
- !
-
 !DebugView::IgnoredHalt methodsFor:'printing'!
 
 printOn:aStream
@@ -7590,8 +7646,6 @@
 
 !DebugView::IgnoredHalt methodsFor:'queries'!
 
-
-
 isActive
     "true if this ignore-entry is still active"
 
@@ -7610,8 +7664,6 @@
     "Modified: / 08-05-2011 / 10:27:31 / cg"
 !
 
-
-
 isHaltIgnoredInMethod:aMethod line:line
     "/ Transcript show:'?same as ign '; show:(weakMethodHolder at:1); show:' at '; showCR:lineNumber.
 
@@ -7657,15 +7709,15 @@
 !DebugView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.538 2012/03/19 16:41:24 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.539 2012/03/23 11:54:22 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/DebugView.st,v 1.538 2012/03/19 16:41:24 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/DebugView.st,v 1.539 2012/03/23 11:54:22 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: DebugView.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: DebugView.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
 
 DebugView initialize!
--- a/DirectoryContentsBrowser.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/DirectoryContentsBrowser.st	Fri Apr 13 14:15:47 2012 +0100
@@ -2475,7 +2475,7 @@
     oldAllItems := self allItems.
     oldAllItems notEmpty ifTrue:[
         itemsToRemove notEmpty ifTrue:[
-            oldAllItems removeAll:itemsToRemove        
+            oldAllItems removeAllFoundIn:itemsToRemove        
         ].
     ].
     itemsToAdd do:[: aNewItem |
@@ -2490,7 +2490,7 @@
         arguments:#().
     filteredItems := newItems.
 
-    "Modified: / 20-03-2012 / 14:37:23 / cg"
+    "Modified: / 23-03-2012 / 14:42:32 / cg"
 !
 
 evaluateFilter:anItemsList
@@ -3425,13 +3425,13 @@
 !DirectoryContentsBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.246 2012/03/20 18:21:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.247 2012/03/23 13:51:09 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.246 2012/03/20 18:21:19 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.247 2012/03/23 13:51:09 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: DirectoryContentsBrowser.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: DirectoryContentsBrowser.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/FindFileApplication.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/FindFileApplication.st	Fri Apr 13 14:15:47 2012 +0100
@@ -20,7 +20,8 @@
 		rememberInCache searchOnlyInCache searchForSameContents
 		contentsInfoCache contentsInfoCacheAccessLock
 		fileSizeOperatorHolder fileSizeHolder enableFileSizeFilter
-		fileSizeUnitHolder'
+		fileSizeUnitHolder modificationTimeOperatorHolder
+		modificationTimeHolder enableModificationTimeFilter'
 	classVariableNames:'ContentsInfoCache ContentsInfoCacheAccessLock LastRememberInCache
 		LastSearchIgnoredCaseInContents LastSearchIgnoredCaseInFilename
 		SearchStringHistory LastSearchIgnoredCaseInExcludedFilename'
@@ -133,9 +134,11 @@
 #fileSize
 'Search for files with a specific size constraint ("~" means: +/- 10%)'
 
+#modificationTime
+'Search for files which are newer or older'
 )
 
-    "Modified: / 13-01-2012 / 14:40:34 / cg"
+    "Modified: / 28-03-2012 / 23:03:39 / cg"
 ! !
 
 !FindFileApplication class methodsFor:'history'!
@@ -181,7 +184,7 @@
           label: 'File Search'
           name: 'File Search'
           min: (Point 377 131)
-          bounds: (Rectangle 0 0 758 512)
+          bounds: (Rectangle 0 0 758 419)
         )
         component: 
        (SpecCollection
@@ -203,7 +206,7 @@
             )
            (ViewSpec
               name: 'Box1'
-              layout: (LayoutFrame 0 0.0 32 0 0 1.0 200 0)
+              layout: (LayoutFrame 0 0.0 32 0 0 1.0 231 0)
               component: 
              (SpecCollection
                 collection: (
@@ -348,7 +351,7 @@
                   )
                  (InputFieldSpec
                     name: 'FileSizeEntryField'
-                    layout: (LayoutFrame 219 0 148 0 -430 1 168 0)
+                    layout: (LayoutFrame 219 0 148 0 -349 1 168 0)
                     activeHelpKey: fileSize
                     enableChannel: enableFileSizeFilterAndNotSearchForSameContents
                     tabable: true
@@ -369,6 +372,49 @@
                     showLamp: false
                     lampColor: (Color 100.0 100.0 0.0)
                   )
+                 (LabelSpec
+                    label: 'Modified:'
+                    name: 'Label2'
+                    layout: (LayoutFrame 2 0 175 0 154 0 192 0)
+                    activeHelpKey: modificationTime
+                    translateLabel: true
+                    adjust: right
+                  )
+                 (PopUpListSpec
+                    label: 'PopUp List'
+                    name: 'PopUpList1'
+                    layout: (LayoutFrame 157 0 172 0 212 0 192 0)
+                    activeHelpKey: modificationTime
+                    tabable: true
+                    model: modificationTimeOperatorHolder
+                    enableChannel: enableModificationTimeFilter
+                    menu: 
+                   (Array
+                      ' before' ' after '
+                    )
+                  )
+                 (InputFieldSpec
+                    name: 'EntryField2'
+                    layout: (LayoutFrame 219 0 172 0 -349 1 192 0)
+                    activeHelpKey: modificationTime
+                    enableChannel: enableModificationTimeFilter
+                    tabable: true
+                    model: modificationTimeHolder
+                    type: timestamp
+                    immediateAccept: false
+                    acceptOnLeave: true
+                    acceptOnLostFocus: true
+                    acceptOnPointerLeave: true
+                  )
+                 (CheckToggleSpec
+                    name: 'CheckToggle1'
+                    layout: (LayoutOrigin -334 1 175 0)
+                    activeHelpKey: modificationTime
+                    model: enableModificationTimeFilter
+                    isTriggerOnDown: true
+                    showLamp: false
+                    lampColor: (Color 100.0 100.0 0.0)
+                  )
                  (CheckBoxSpec
                     label: 'Use ''locate'' Cmd'
                     name: 'UseLocateCheckBox'
@@ -468,7 +514,7 @@
             )
            (SequenceViewSpec
               name: 'List1'
-              layout: (LayoutFrame 0 0.0 210 0 0 1.0 0 1)
+              layout: (LayoutFrame 0 0.0 238 0 0 1.0 0 1)
               model: selectionHolder
               menu: menu
               hasHorizontalScrollBar: true
@@ -491,7 +537,6 @@
         )
       )
 
-    "Modified: / 13-01-2012 / 14:40:06 / cg"
 ! !
 
 !FindFileApplication class methodsFor:'menu specs'!
@@ -503,6 +548,7 @@
     "Do not manually edit this!! If it is corrupted,
      the MenuEditor may not be able to read the specification."
 
+
     "
      MenuEditor new openOnClass:FindFileApplication andSelector:#menu
      (Menu new fromLiteralArrayEncoding:(FindFileApplication menu)) startUp
@@ -553,16 +599,17 @@
             label: '-'
           )
          (MenuItem
-            enabled: hasListEntries
-            label: 'Delete all Files'
-            itemValue: deleteAllFiles
+            enabled: hasSelection
+            label: 'Delete Selected File(s)...'
+            itemValue: deleteSelectedFiles
             translateLabel: true
           )
          (MenuItem
-            enabled: hasSelection
-            label: 'Delete Selected Files'
-            itemValue: deleteSelectedFiles
+            enabled: hasListEntries
+            label: 'Delete all Files...'
+            itemValue: deleteAllFiles
             translateLabel: true
+            isVisible: false
           )
          (MenuItem
             label: '-'
@@ -600,8 +647,6 @@
         nil
         nil
       )
-
-    "Modified: / 01-03-2007 / 22:56:59 / cg"
 !
 
 searchMenu
@@ -703,7 +748,9 @@
 
     files := self shownList copy.
     self deleteFiles:files confirm:true.
-    self clearShownList.
+    self removeFilesFromResultList:files
+
+    "Modified: / 29-03-2012 / 10:06:09 / cg"
 !
 
 deleteFiles:colOfFiles confirm:confirm
@@ -738,8 +785,10 @@
     files := sel collect:[:idx | self shownList at:idx].
     self deleteFiles:files confirm:true.
     result == true ifTrue:[
-        self removeSelectedFilesFromResultList.
+        self removeFilesFromResultList:files
     ].
+
+    "Modified: / 29-03-2012 / 10:05:39 / cg"
 !
 
 doSearch
@@ -858,16 +907,23 @@
     "Created: / 03-08-2011 / 18:19:20 / cg"
 !
 
-removeSelectedFilesFromResultList
-    |sel list|
+removeFilesFromResultList:listOfFiles 
+    |list|
 
-    sel := self selectionHolder value.
     list := self shownList.
-    (sel notEmptyOrNil) ifTrue:[
-        sel reverseDo:[: key |
+    (listOfFiles notEmptyOrNil) ifTrue:[
+        listOfFiles reverseDo:[: key |
             list removeAtIndex:key
         ]
     ].
+
+    "Created: / 29-03-2012 / 10:04:58 / cg"
+!
+
+removeSelectedFilesFromResultList
+    self removeFilesFromResultList:(self selectionHolder value)
+
+    "Modified: / 29-03-2012 / 10:05:11 / cg"
 !
 
 showMatchedFiles:aBoolean
@@ -920,6 +976,15 @@
     ^ BlockValue forLogical:self notSearchForSameContents and:self enableFileSizeFilter
 !
 
+enableModificationTimeFilter
+    enableModificationTimeFilter isNil ifTrue:[
+        enableModificationTimeFilter := false asValue.
+    ].
+    ^ enableModificationTimeFilter.
+
+    "Created: / 28-03-2012 / 23:11:58 / cg"
+!
+
 excludedNamePatternHolder
     excludedNamePatternHolder isNil ifTrue:[
         excludedNamePatternHolder := '' asValue.
@@ -993,6 +1058,24 @@
     ^ ignoreCaseInNotContents.
 !
 
+modificationTimeHolder
+    modificationTimeHolder isNil ifTrue:[
+        modificationTimeHolder := (Timestamp now subtractDays:1) asValue.
+    ].
+    ^ modificationTimeHolder.
+
+    "Created: / 28-03-2012 / 23:08:25 / cg"
+!
+
+modificationTimeOperatorHolder
+    modificationTimeOperatorHolder isNil ifTrue:[
+        modificationTimeOperatorHolder := 'after' asValue.
+    ].
+    ^ modificationTimeOperatorHolder.
+
+    "Created: / 28-03-2012 / 23:04:44 / cg"
+!
+
 namePatternHolder
 
     namePatternHolder isNil ifTrue:[
@@ -1190,7 +1273,8 @@
 
     |dir lines contentsToCompare resultList inStream
      doesFileMatch contentsString notContentsString check checkNot 
-     grepCommand nameMatch nameExcludedMatch realNameMatch fileSizesToSearchFor filesToSearchFor fileMD5sToSearchFor 
+     grepCommand nameMatch nameExcludedMatch realNameMatch 
+     fileSizesToSearchFor filesToSearchFor fileMD5sToSearchFor 
      setOfFilesToSearchFor remember cache fn dirSearchedRelative|
 
     contentsString := contentsStringArg.
@@ -1423,6 +1507,8 @@
         doesFileMatch := self fileSizeWrapperFor:doesFileMatch.
     ].
 
+    doesFileMatch := self modificationTimeWrapperFor:doesFileMatch.
+
     namePatterns isNil ifTrue:[
         nameMatch := [:fn | true]
     ] ifFalse:[
@@ -1620,6 +1706,33 @@
     ^ [:f | (sizeMatch value:f) and:[ aFileMatchBlock value:f ]]
 
     "Created: / 11-01-2012 / 23:17:02 / cg"
+!
+
+modificationTimeWrapperFor:aFileMatchBlock
+    "possibly wrap the search-match block into a modification time matcher"
+
+    |timeToCompare timeMatch op compare|
+
+    self enableModificationTimeFilter value ifFalse:[ ^ aFileMatchBlock ].
+
+    timeToCompare := self modificationTimeHolder value.
+    op := self modificationTimeOperatorHolder value withoutSeparators.
+    op = 'after' ifTrue:[
+        compare := [:t | t > timeToCompare ].
+    ] ifFalse:[
+        compare := [:t | t < timeToCompare ].
+    ].
+
+    timeMatch := [:f | 
+                    |t| 
+
+                    t := f modificationTime. 
+                    t notNil and:[ compare value:t ]
+                 ].
+
+    ^ [:f | (timeMatch value:f) and:[ aFileMatchBlock value:f ]]
+
+    "Created: / 28-03-2012 / 23:18:32 / cg"
 ! !
 
 !FindFileApplication methodsFor:'queries'!
@@ -1683,13 +1796,13 @@
 !FindFileApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.101 2012/03/16 09:10:56 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.103 2012/03/29 08:06:59 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.101 2012/03/16 09:10:56 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.103 2012/03/29 08:06:59 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: FindFileApplication.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: FindFileApplication.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/NewLauncher.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/NewLauncher.st	Fri Apr 13 14:15:47 2012 +0100
@@ -881,13 +881,24 @@
               layout: (LayoutFrame 0 0.0 0 0 0 1.0 40 0)
               menu: menuToolbar
             )
-           (WorkspaceSpec
-              name: 'transcriptView'
+           (ViewSpec
+              name: 'Box1'
               layout: (LayoutFrame 0 0.0 40 0.0 0 1.0 -26 1.0)
-              hasHorizontalScrollBar: true
-              hasVerticalScrollBar: true
-              miniScrollerHorizontal: true
-              hasKeyboardFocusInitially: false
+              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'
@@ -2038,6 +2049,7 @@
     "Do not manually edit this!! If it is corrupted,
      the MenuEditor may not be able to read the specification."
 
+
     "
      MenuEditor new openOnClass:NewLauncher andSelector:#helpMenu
      (Menu new fromLiteralArrayEncoding:(NewLauncher helpMenu)) startUp
@@ -2049,6 +2061,27 @@
      #(Menu
         (
          (MenuItem
+            activeHelpKey: helpWhatsNewInSTX
+            label: 'What''s New in ST/X'
+            itemValue: startWhatsNewSTX
+            translateLabel: true
+          )
+         (MenuItem
+            activeHelpKey: helpWhatsNew
+            label: 'What''s New in the Documentation'
+            itemValue: startWhatsNewDocumentation
+            translateLabel: true
+          )
+         (MenuItem
+            activeHelpKey: helpIndex
+            label: 'Keyword Index'
+            itemValue: startDocumentationIndex
+            translateLabel: true
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
             activeHelpKey: helpSTXOnlineDocumentation
             label: 'ST/X Online Documentation'
             itemValue: startDocumentationTool
@@ -2072,21 +2105,18 @@
             label: 'Programmer''s Guide'
             itemValue: startProgrammersGuide
             translateLabel: true
-"/            labelImage: (ResourceRetriever ToolbarIconLibrary helpIcon 'Programmer''s Guide')
           )
          (MenuItem
             activeHelpKey: helpToolsDocumentation
             label: 'Tool Documentation'
             itemValue: startToolsDocumentation
             translateLabel: true
-"/            labelImage: (ResourceRetriever ToolbarIconLibrary helpIcon 'Tool Documentation')
           )
          (MenuItem
             activeHelpKey: helpClassDocumentation
             label: 'Class Documentation'
             itemValue: startClassDocumentation
             translateLabel: true
-"/            labelImage: (ResourceRetriever ToolbarIconLibrary helpIcon 'Class Documentation')
           )
          (MenuItem
             label: 'Web-Documents'
@@ -2148,27 +2178,6 @@
             label: '-'
           )
          (MenuItem
-            activeHelpKey: helpWhatsNew
-            label: 'What''s New in the Documentation'
-            itemValue: startWhatsNewDocumentation
-            translateLabel: true
-          )
-         (MenuItem
-            activeHelpKey: helpWhatsNewInSTX
-            label: 'What''s New in ST/X'
-            itemValue: startWhatsNewSTX
-            translateLabel: true
-          )
-         (MenuItem
-            activeHelpKey: helpIndex
-            label: 'Keyword Index'
-            itemValue: startDocumentationIndex
-            translateLabel: true
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
             activeHelpKey: helpCredits
             label: 'Credits'
             itemValue: showCredits
@@ -4588,7 +4597,7 @@
     |pattern|
 
     pattern := Dialog 
-                request:('Enter GLOB matchpattern for message text\(to enter breakpoint if matching text is sent to the Transcript)\\Empty to disable.' withCRs)
+                request:('Enter GLOB matchpattern for message text\(Breakpoint if matching text is sent to the Transcript)\\Empty to disable, * for any text.' withCRs)
                 initialAnswer:(Transcript class debugSendersOfMessagePattern).
     pattern isNil ifTrue:[^ self].
 
@@ -4601,7 +4610,7 @@
     |pattern|
 
     pattern := Dialog 
-                request:('Enter GLOB matchpattern for message text\(to trace who sends matching text to the Transcript)\\Empty to disable.' withCRs)
+                request:('Enter GLOB matchpattern for message text\(Trace who sends matching text to the Transcript)\\Empty to disable, * for any.' withCRs)
                 initialAnswer:(Transcript class traceSendersOfMessagePattern).
     pattern isNil ifTrue:[^ self].
 
@@ -4881,13 +4890,13 @@
 !NewLauncher class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.425 2012/02/28 10:58:29 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.428 2012/03/27 10:44:45 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.425 2012/02/28 10:58:29 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.428 2012/03/27 10:44:45 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: NewLauncher.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: NewLauncher.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/SyntaxHighlighter2.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/SyntaxHighlighter2.st	Fri Apr 13 14:15:47 2012 +0100
@@ -554,6 +554,8 @@
     "Created: / 16-02-2012 / 21:56:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 expression
     | node savedLastSelectorElement |
 
@@ -573,6 +575,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"
 
@@ -689,6 +693,8 @@
     "Created: / 17-03-2012 / 19:02:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 markLocalIdentifierFrom:pos1 to:pos2
     | node el prevEl |
 
@@ -726,6 +732,8 @@
     "Modified: / 16-02-2012 / 23:46:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 markUnknownIdentifierFrom:pos1 to:pos2
 
     ignoreBadIdentifier == true ifTrue:[ ^ self ].
@@ -734,14 +742,32 @@
 
     "Created: / 31.3.1998 / 19:09:26 / cg"
     "Modified: / 31.3.1998 / 19:10:30 / cg"
+!
+
+
+
+rememberVariableElementFor:name type:typeSymbol from:pos1 to:pos2
+    |element prev|
+
+    prev := lastVariableElements at:name ifAbsent:[nil].
+    (prev notNil and:[prev start == pos1]) ifTrue:[^ self].
+
+    element := SyntaxElement from: pos1 to: pos2 type:typeSymbol value: name.
+
+    prev notNil ifTrue:[prev next:element].
+    lastVariableElements at:name put:element.
+
+    elements add: element.
+
+    "Created: / 21-08-2011 / 09:26:24 / cg"
 ! !
 
 !SyntaxHighlighter2 class methodsFor:'documentation'!
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.8 2012/01/19 09:48:54 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.9 2012/03/23 13:03:23 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: SyntaxHighlighter2.st 7940 2012-03-17 20:05:16Z vranyj1 $'
+    ^ '$Id: SyntaxHighlighter2.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/SystemBrowser.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/SystemBrowser.st	Fri Apr 13 14:15:47 2012 +0100
@@ -2674,34 +2674,9 @@
 browseForSymbol:aSymbol title:title ifNone:actionIfNoneFound searchFor:searchString
     "launch a browser for all methods referencing aSymbol"
 
-    |browser searchBlock sym|
-
-    (aSymbol includesMatchCharacters) ifTrue:[
-        "a matchString"
-        searchBlock := [:c :m :s |
-                            m referencesGlobalMatching:aSymbol
-"/                            (m literalsDetect:[:aLiteral|
-"/                                (aLiteral isMemberOf:Symbol) 
-"/                                  and:[aSymbol match:aLiteral]
-"/                            ] ifNone:nil) notNil
-                       ].
-    ] ifFalse:[
-        "
-         can do a faster search
-        "
-        sym := aSymbol asSymbolIfInterned.
-        sym isNil ifTrue:[
-            actionIfNoneFound value.
-            ^ nil
-        ].
-
-        searchBlock := [:c :m :s |
-                            m referencesGlobal:sym
-"/                            (m literalsDetect:[:aLiteral|
-"/                                (sym == aLiteral) 
-"/                            ] ifNone:nil) notNil
-                       ].
-    ].
+    |browser searchBlock|
+
+    searchBlock := self searchBlockForSymbol:aSymbol.
 
     WarningSignal ignoreIn:[
         InformationSignal ignoreIn:[
@@ -2712,15 +2687,14 @@
         actionIfNoneFound value
     ].
 
-    (browser notNil 
-    and:[searchString notNil]) ifTrue:[
+    (browser notNil and:[searchString notNil]) ifTrue:[
         browser autoSearch:searchString
     ].
     ^ browser
 
-    "Modified: / 24.6.1996 / 14:39:07 / stefan"
-    "Created: / 31.10.1996 / 14:45:08 / cg"
-    "Modified: / 9.11.1999 / 17:04:30 / cg"
+    "Modified: / 24-06-1996 / 14:39:07 / stefan"
+    "Created: / 31-10-1996 / 14:45:08 / cg"
+    "Modified: / 22-03-2012 / 06:58:07 / cg"
 !
 
 browseForSymbol:aSymbol title:title warnIfNone:doWarn
@@ -3849,7 +3823,7 @@
      the classes contained in aCollectionOfClasses and its metaclasses.
      Return a collection of methods"
 
-    |list compare testST testJava lcSelector|
+    |lcSelector list compare testST testJava srchBlockST srchBlockJava|
 
     list := IdentitySet new.
     aSelectorMatchString size == 0 ifTrue:[ ^ list ].
@@ -3870,16 +3844,17 @@
         testJava := [:aSelector :aMethod | (compare value:aSelectorMatchString value:aMethod name) ].
     ].
 
+    srchBlockST := [:sel :mthd | (testST value:sel value:mthd) ifTrue:[ list add:mthd]].
+    srchBlockJava := [:sel :mthd | (testJava value:sel value:mthd) ifTrue:[ list add:mthd]].
+
     aCollectionOfClasses do:[:aClass |
-        |testBlock srchBlock|
+        |srchBlock|
 
         aClass isObsolete ifFalse:[
-            aClass isJavaClass ifTrue:[
-                testBlock := testJava
-            ] ifFalse:[
-                testBlock := testST
-            ].
-            srchBlock := [:sel :mthd | (testBlock value:sel value:mthd) ifTrue:[ list add:mthd]].
+            srchBlock := aClass isJavaClass 
+                            ifTrue:[ srchBlockJava ]
+                            ifFalse:[ srchBlockST ].
+
             aClass methodDictionary keysAndValuesDo:srchBlock.
             aClass isMeta ifFalse:[
                 aClass class methodDictionary keysAndValuesDo:srchBlock
@@ -3890,13 +3865,13 @@
     ^ list
 
     "
-     SystemBrowser findImplementorsOf:#+
-                                     in:(Array with:Number
-                                               with:Float
-                                               with:SmallInteger)
-    "
-
-    "Modified: / 20-09-2007 / 16:02:10 / cg"
+     SystemBrowser 
+        findImplementorsOf:#+
+        in: { Number . Float . SmallInteger }
+        ignoreCase: false
+    "
+
+    "Modified (format): / 22-03-2012 / 07:28:50 / cg"
 !
 
 findImplementors:aSelectorMatchString inMethods:aCollectionOfMethods ignoreCase:ignoreCase match:doMatch
@@ -3952,14 +3927,19 @@
      the classes contained in aCollectionOfClasses and its metaclasses.
      Return a collection of methods"
 
-    ^ self findImplementors:aSelectorMatchString in:aCollectionOfClasses ignoreCase:ignoreCase match:true
-
-    "
-     SystemBrowser findImplementorsOf:#+
-                                     in:(Array with:Number
-                                               with:Float
-                                               with:SmallInteger)
-    "
+    ^ self 
+        findImplementors:aSelectorMatchString 
+        in:aCollectionOfClasses 
+        ignoreCase:ignoreCase 
+        match:true
+
+    "
+     SystemBrowser 
+        findImplementorsOf:#+
+        in:{ Number . Float . SmallInteger }
+    "
+
+    "Modified (comment): / 22-03-2012 / 07:20:42 / cg"
 !
 
 findImplementorsMatchingAny:aCollectionOfSelectors in:aCollectionOfClasses ignoreCase:ignoreCase
@@ -4929,6 +4909,32 @@
      SystemBrowser findStringLiteral:'error' in:(Array with:Object) ignoreCase:false match:true
      SystemBrowser findStringLiteral:'error' in:(Array with:Object) ignoreCase:false match:false
     "
+!
+
+searchBlockForSymbol:aSymbol 
+    "return a matchblock to search for all methods referencing aSymbol"
+
+    (aSymbol includesMatchCharacters) ifTrue:[
+        "a matchString"
+        ^ [:c :m :s |
+                (m literalsDetect:[:aLiteral|
+                        (aLiteral isMemberOf:Symbol) 
+                        and:[aSymbol match:aLiteral]
+                    ] 
+                    ifNone:nil
+                ) notNil
+           ].
+    ] ifFalse:[
+        ^ [:c :m :s |
+                (m literalsDetect:[:aLiteral|
+                    (aSymbol == aLiteral) 
+                    ] 
+                    ifNone:nil
+                ) notNil
+           ].
+    ].
+
+    "Created: / 22-03-2012 / 06:56:51 / cg"
 ! !
 
 !SystemBrowser class methodsFor:'startup'!
@@ -5830,11 +5836,11 @@
 !SystemBrowser class methodsFor:'documentation'!
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.299 2012/02/28 11:24:36 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.300 2012/03/22 06:34:51 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: SystemBrowser.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: SystemBrowser.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
 
 SystemBrowser initialize!
--- a/Tools__BreakpointService.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__BreakpointService.st	Fri Apr 13 14:15:47 2012 +0100
@@ -188,7 +188,7 @@
 recompile
     "recompile the current method for changed breakpoints"
 
-    |method|
+    |method newMethod compiler|
 
     method := codeView methodHolder value.
     (method notNil and:[method hasPrimitiveCode not]) ifTrue:[
@@ -200,18 +200,23 @@
             breakpoints do:[:bp | bp isReached:false].
 
             Class withoutUpdatingChangesDo:[
-                ByteCodeCompilerWithBreakpointSupport new
-                    breakpoints:breakpoints;
+                compiler := ByteCodeCompilerWithBreakpointSupport new.
+                compiler breakpoints:breakpoints.
+                newMethod := compiler
+                            compile:method source
+                            forClass:method mclass 
+                            inCategory:method category 
+                            notifying:nil
+                            install:false 
+                            skipIfSame:false 
+                            silent:true 
+                            foldConstants:true
+                            ifFail:[ self halt ].
 
-                    compile:method source
-                    forClass:method mclass 
-                    inCategory:method category 
-                    notifying:nil
-                    install:true 
-                    skipIfSame:false 
-                    silent:true 
-                    foldConstants:true
-                    ifFail:[ self halt ].
+                (method mclass primAddSelector:method selector withMethod:newMethod) ifFalse:[
+                    self halt.
+                    ^ self
+                ].
             ].
 "/ self halt.
             breakpoints := breakpoints 
@@ -290,13 +295,13 @@
 !BreakpointService class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__BreakpointService.st 7856 2012-01-30 20:09:58Z vranyj1 $'
+    ^ '$Id: Tools__BreakpointService.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/Tools__BreakpointService.st,v 1.11 2012/01/27 13:08:07 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/Tools__BreakpointService.st,v 1.12 2012/03/23 18:10:47 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: Tools__BreakpointService.st 7856 2012-01-30 20:09:58Z vranyj1 $'
+    ^ '$Id: Tools__BreakpointService.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__BrowserList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__BrowserList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -1788,5 +1788,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__BrowserList.st 7972 2012-04-05 17:53:51Z vranyj1 $'
+    ^ '$Id: Tools__BrowserList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__ClassCategoryList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__ClassCategoryList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -915,7 +915,7 @@
 !ClassCategoryList class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__ClassCategoryList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__ClassCategoryList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 !
 
 version_CVS
@@ -923,6 +923,6 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__ClassCategoryList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__ClassCategoryList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
 
--- a/Tools__ClassChecker.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__ClassChecker.st	Fri Apr 13 14:15:47 2012 +0100
@@ -916,7 +916,7 @@
 !ClassChecker class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__ClassChecker.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__ClassChecker.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 !
 
 version_CVS
@@ -924,5 +924,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__ClassChecker.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__ClassChecker.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__ClassGeneratorList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__ClassGeneratorList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -513,7 +513,7 @@
 !ClassGeneratorList class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__ClassGeneratorList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__ClassGeneratorList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 !
 
 version_CVS
@@ -521,5 +521,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__ClassGeneratorList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__ClassGeneratorList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__ClassList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__ClassList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -2042,5 +2042,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__ClassList.st 7973 2012-04-06 15:56:16Z vranyj1 $'
+    ^ '$Id: Tools__ClassList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__CodeView2.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__CodeView2.st	Fri Apr 13 14:15:47 2012 +0100
@@ -1356,7 +1356,11 @@
 
     "Created: / 06-07-2011 / 17:12:58 / jv"
     "Modified: / 06-10-2011 / 14:13:44 / cg"
-! !
+!
+
+
+
+ !
 
 !CodeView2 methodsFor:'diff mode'!
 
@@ -2059,18 +2063,21 @@
 !
 
 preferredExtent
-
-    | w h |
+    | font w h |
 
     explicitExtent ifNotNil:[^explicitExtent].
     preferredExtent ifNotNil:[^preferredExtent].
 
-    w := (self font widthOf:'00') + self padding.
-    h := textView ifNotNil:[textView height] ifNil:[self font height * 12].
+    font := self font.
+    w := (font widthOf:'00') + self padding.
+    h := textView notNil 
+            ifTrue:[textView height] 
+            ifFalse:[font height * 12].
 
     ^preferredExtent := w @ h
 
     "Modified: / 16-06-2011 / 14:03:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 26-03-2012 / 11:19:54 / cg"
 ! !
 
 !CodeView2::GutterView methodsFor:'actions'!
@@ -2749,6 +2756,8 @@
     "Modified: / 17-03-2012 / 10:04:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 redrawLines
     |i pom|
 
@@ -3339,6 +3348,8 @@
 
 !CodeView2::TextView methodsFor:'scrolling'!
 
+
+
 basicScrollTo:anOrigin redraw:doRedraw
     super scrollTo:anOrigin redraw:doRedraw
 
@@ -3347,6 +3358,8 @@
     "Created: / 19-03-2012 / 17:01:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 originChanged:delta
 
     super originChanged:delta.
@@ -3356,6 +3369,8 @@
     "Created: / 07-12-2009 / 21:50:49 / Jindra <a>"
 !
 
+
+
 scrollTo:anOrigin redraw:doRedraw
 
     codeView scrollTo:anOrigin redraw:doRedraw in: self.
@@ -3364,7 +3379,9 @@
     "Modified: / 06-04-2010 / 14:04:28 / Jakub <zelenja7@fel.cvut.cz>"
     "Modified: / 17-03-2012 / 10:06:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 19-03-2012 / 17:05:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
+!
+
+ !
 
 !CodeView2::TextView methodsFor:'undo & again'!
 
@@ -3387,15 +3404,15 @@
 !CodeView2 class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__CodeView2.st 7972 2012-04-05 17:53:51Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.58 2012/03/26 09:21:20 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.57 2012/03/16 13:36:10 stefan Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.58 2012/03/26 09:21:20 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeView2.st 7972 2012-04-05 17:53:51Z vranyj1 $'
+    ^ '$Id: Tools__CodeView2.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
 
 CodeView2 initialize!
--- a/Tools__FullMethodCategoryList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__FullMethodCategoryList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -123,9 +123,9 @@
 !FullMethodCategoryList class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__FullMethodCategoryList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__FullMethodCategoryList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: Tools__FullMethodCategoryList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__FullMethodCategoryList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__HierarchicalClassCategoryList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__HierarchicalClassCategoryList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -402,7 +402,7 @@
 !HierarchicalClassCategoryList class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__HierarchicalClassCategoryList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__HierarchicalClassCategoryList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 !
 
 version_CVS
@@ -410,5 +410,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__HierarchicalClassCategoryList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__HierarchicalClassCategoryList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__HierarchicalClassList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__HierarchicalClassList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -308,11 +308,11 @@
 !HierarchicalClassList class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__HierarchicalClassList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__HierarchicalClassList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: Tools__HierarchicalClassList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__HierarchicalClassList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
 
 HierarchicalClassList initialize!
--- a/Tools__HierarchicalProjectList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__HierarchicalProjectList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -518,7 +518,7 @@
 !HierarchicalProjectList class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__HierarchicalProjectList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__HierarchicalProjectList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 !
 
 version_CVS
@@ -526,5 +526,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__HierarchicalProjectList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__HierarchicalProjectList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__ImplementingClassList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__ImplementingClassList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -117,9 +117,9 @@
 !ImplementingClassList class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__ImplementingClassList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__ImplementingClassList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: Tools__ImplementingClassList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__ImplementingClassList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__ImplementingMethodList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__ImplementingMethodList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -287,9 +287,9 @@
 !ImplementingMethodList class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__ImplementingMethodList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__ImplementingMethodList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: Tools__ImplementingMethodList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__ImplementingMethodList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__InheritanceClassList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__InheritanceClassList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -187,9 +187,9 @@
 !InheritanceClassList class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__InheritanceClassList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__InheritanceClassList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: Tools__InheritanceClassList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__InheritanceClassList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__MethodCategoryList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__MethodCategoryList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -13,7 +13,7 @@
 
 "{ NameSpace: Tools }"
 
-BrowserList subclass:#MethodCategoryList
+Tools::BrowserList subclass:#MethodCategoryList
 	instanceVariableNames:'variableFilter filterClassVars lastSelectedProtocols classes
 		leafClasses protocolList rawProtocolList selectedProtocolIndices
 		lastGeneratedProtocols packageFilterOnInput
@@ -35,7 +35,7 @@
 	privateIn:MethodCategoryList
 !
 
-Method variableSubclass:#MissingMethod
+Method subclass:#MissingMethod
 	instanceVariableNames:'selector'
 	classVariableNames:''
 	poolDictionaries:''
@@ -1578,7 +1578,9 @@
 "/                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.
@@ -1607,7 +1609,7 @@
     listValid := true.
 
     "Created: / 05-02-2000 / 13:42:11 / cg"
-    "Modified: / 08-08-2011 / 18:49:31 / cg"
+    "Modified: / 23-03-2012 / 15:53:41 / cg"
 ! !
 
 !MethodCategoryList methodsFor:'private-info'!
@@ -1990,17 +1992,16 @@
 !MethodCategoryList class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__MethodCategoryList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.78 2012/03/23 14:57:29 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.77 2011/09/23 18:56:37 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.78 2012/03/23 14:57:29 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: Tools__MethodCategoryList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__MethodCategoryList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
 
+MethodCategoryList::CachedMethodInfo initialize!
 MethodCategoryList initialize!
-MethodCategoryList::CachedMethodInfo initialize!
-
--- a/Tools__MethodList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__MethodList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -1763,5 +1763,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__MethodList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__MethodList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__NamespaceList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__NamespaceList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -559,5 +559,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__NamespaceList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__NamespaceList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__NavigationState.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__NavigationState.st	Fri Apr 13 14:15:47 2012 +0100
@@ -1673,5 +1673,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__NavigationState.st 7973 2012-04-06 15:56:16Z vranyj1 $'
+    ^ '$Id: Tools__NavigationState.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__NavigatorCanvas.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__NavigatorCanvas.st	Fri Apr 13 14:15:47 2012 +0100
@@ -6838,5 +6838,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__NavigatorCanvas.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__NavigatorCanvas.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__NavigatorModel.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__NavigatorModel.st	Fri Apr 13 14:15:47 2012 +0100
@@ -351,7 +351,7 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__NavigatorModel.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__NavigatorModel.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
 
 NavigatorModel initialize!
--- a/Tools__NewSystemBrowser.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__NewSystemBrowser.st	Fri Apr 13 14:15:47 2012 +0100
@@ -7188,7 +7188,7 @@
         (
          (MenuItem
             enabled: hasClassSelectedHolder
-            label: 'Initialize Method'
+            label: '"initialize"-Method'
             itemValue: classMenuGenerateInitializationMethod
             translateLabel: true
             isVisible: hasNonMetaSelectedHolder
@@ -7196,7 +7196,7 @@
           )
          (MenuItem
             enabled: hasClassSelectedHolder
-            label: 'PrintOn Method'
+            label: '"printOn:"-Method'
             itemValue: classMenuGenerateStandardPrintOnMethod
             translateLabel: true
             isVisible: hasNonMetaSelectedHolder
@@ -7252,6 +7252,8 @@
         nil
         nil
       )
+
+    "Modified: / 23-03-2012 / 11:58:16 / cg"
 !
 
 classHierarchyMenu
@@ -16083,7 +16085,6 @@
     "Modified: / 29-09-2006 / 16:11:08 / cg"
 ! !
 
-
 !NewSystemBrowser class methodsFor:'menu specs-popup'!
 
 categoryPopUpMenu
@@ -17864,7 +17865,6 @@
     "Created: / 24.2.2000 / 23:28:06 / cg"
 ! !
 
-
 !NewSystemBrowser methodsFor:'aspects-organization'!
 
 categoryMenuVisible
@@ -18797,13 +18797,15 @@
     ^ [ self canFileOutXML ]
 !
 
+canGenerateAccessMethodsForAllHolder
+    ^ self hasClassAndNoVariableSelectedHolder
+!
+
 canGenerateAccessMethodsHolder
     ^ self hasClassAndVariableSelectedHolder
 !
 
-canGenerateAccessMethodsHolderForAll
-    ^ self hasClassAndNoVariableSelectedHolder
-!
+
 
 canGenerateMultiSetterMethodHolder
     ^ self hasSingleLoadedClassSelectedAndMultipleVariablesSelectedHolder
@@ -21322,7 +21324,6 @@
     ^ UserPreferences current useSearchBarInBrowser or:[self codeView searchBarActionBlock notNil]
 ! !
 
-
 !NewSystemBrowser methodsFor:'change & update'!
 
 categorySelectionChanged
@@ -35332,7 +35333,6 @@
     "Modified: / 28-02-2012 / 16:27:44 / cg"
 ! !
 
-
 !NewSystemBrowser methodsFor:'menu actions-namespace'!
 
 nameSpaceMenuCheckOut
@@ -39371,9 +39371,12 @@
 
     |box boxLabel title okText okText2 okText3 className canFind
      button2 button3 doWhat doWhat2 doWhat3 classNameHolder updateList 
-     allClasses allNames resources|
+     allClasses 
+     allNames allFullNames initialShortNames initialFullNames 
+     resources check showingWhatLabel showFullNameHolder genShortNameListEntry|
 
     resources := resourcesOrNil ? self class classResources.
+    showFullNameHolder := false asValue.
 
     doWhat := doWhatByDefault.
     canFind := navigationState notNil and:[ navigationState isFullBrowser ].
@@ -39408,11 +39411,28 @@
         ]].
     ].
 
+    genShortNameListEntry := 
+        [:cls | 
+            |ns|
+            cls isNil ifTrue:[
+                nil
+            ] ifFalse:[
+                ns := cls topNameSpace name.
+                ns = 'Smalltalk' 
+                    ifTrue:[ ns := '' ]
+                    ifFalse:[ns := ' (in ',ns,')'].
+                cls nameWithoutNameSpacePrefix,ns
+            ].
+        ].
+
+    initialFullNames := self class visitedClassNamesHistory.
+    initialShortNames := initialFullNames collect:[:nm | genShortNameListEntry value:(Smalltalk at:nm)] thenSelect:[:nm | nm notNil].
+
     title := (resources string:title) , msgTail , '.\' , (resources string:'(TAB to complete; matchPattern allowed):').
 
     box := self
                 enterBoxForClassWithCodeSelectionTitle:title withCRs
-                withList:(self class visitedClassNamesHistory)
+                withList:(showFullNameHolder value ifTrue:[initialFullNames] ifFalse:[initialShortNames])
                 okText:okText.
 
     box label:boxLabel.
@@ -39445,6 +39465,7 @@
     ].
 
     allClasses := Smalltalk allClasses asOrderedCollection.
+
     allNames := (allClasses
                     collect:[:cls | 
                         |ns|
@@ -39454,32 +39475,40 @@
                             ifFalse:[ns := ' (in ',ns,')'].
                         cls nameWithoutNameSpacePrefix,ns
                     ]) sortWith:allClasses; yourself.
+    allFullNames := (allClasses collect:[:cls | cls name]) sortWith:allClasses; yourself.
 
     updateList := [
-            |nameToSearch list namesStarting namesIncluding lcName|
+            |nameToSearch list namesStarting namesIncluding lcName nameList|
 
             (nameToSearch := classNameHolder value withoutSeparators) isEmpty ifTrue:[
-                list := self class visitedClassNamesHistory
-            ] ifFalse:[
+                showingWhatLabel label:(resources string:'Recently visited:'). 
+                list := (showFullNameHolder value ifTrue:[initialFullNames] ifFalse:[initialShortNames]).
+            ] ifFalse:[
+                showingWhatLabel label:(resources string:'Matching classes:'). 
+                nameList := showFullNameHolder value
+                                ifTrue:[ allFullNames ]
+                                ifFalse:[ allNames ].
+
                 lcName := nameToSearch asLowercase.
                 (lcName includesString:'::') ifTrue:[
                     list := OrderedCollection new.
                     allClasses doWithIndex:[:cls :idx |
+                        |isIncluded|
+
                         (nameToSearch includesMatchCharacters) ifTrue:[
-                            (lcName match:cls name asLowercase) ifTrue:[
-                                list add:(allNames at:idx)
-                            ]
+                            isIncluded := (lcName match:cls name asLowercase) 
                         ] ifFalse:[
-                            (cls name includesString:lcName caseSensitive:false) ifTrue:[
-                                list add:(allNames at:idx)
-                            ].
-                        ]
+                            isIncluded := (cls name includesString:lcName caseSensitive:false) 
+                        ].
+                        isIncluded ifTrue:[
+                            list add:(nameList at:idx)
+                        ].
                     ].
                 ] ifFalse:[
                     (nameToSearch includesMatchCharacters) ifTrue:[
-                        list := allNames select:[:nm | lcName match:nm asLowercase]
+                        list := nameList select:[:nm | lcName match:nm asLowercase]
                     ] ifFalse:[
-                        namesIncluding := allNames 
+                        namesIncluding := nameList 
                                             select:[:nm | 
                                                 "/ nm asLowercase startsWith:lcName 
                                                 nm asLowercase includesString:lcName caseSensitive:false
@@ -39501,6 +39530,17 @@
 
     box entryCompletionBlock:(DoWhatIMeanSupport classNameEntryCompletionBlock).
     box action:[:aString | className := aString].
+
+    box panelView 
+        addSubView:(showingWhatLabel := (Label label:(resources string:'Recently visited:')) adjust:#left) 
+        before:nil.
+    box panelView 
+        addSubView:(check := CheckBox label:'Show Full Name (do not strip off Namespace)' model:showFullNameHolder) 
+        before:nil.
+    showFullNameHolder onChangeEvaluate:updateList.
+    box enterField origin:(0 @ check corner y).
+    box listView origin:(0 @ check corner y).
+
     box extent:(400 @ 350).
     box open.
 
@@ -39522,7 +39562,7 @@
     ].
     ^ className
 
-    "Modified: / 18-01-2012 / 11:28:42 / cg"
+    "Modified: / 23-03-2012 / 11:55:33 / cg"
 !
 
 askForClassToSearch:doWhatByDefault single:singleClass msgTail:msgTail thenDo:aBlock
@@ -43960,7 +44000,6 @@
     "Modified: / 28-02-2012 / 16:48:38 / cg"
 ! !
 
-
 !NewSystemBrowser methodsFor:'menu actions-variables'!
 
 browseVarRefsOrModsWithTitle:browserTitle boxTitle:boxTitle variables:varType access:accessType all:browseAll
@@ -51068,7 +51107,6 @@
     ^ navigationState projectListApplication
 ! !
 
-
 !NewSystemBrowser methodsFor:'private-history'!
 
 lastSearchPatterns
@@ -56494,15 +56532,15 @@
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__NewSystemBrowser.st 7976 2012-04-11 16:14:22Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1738 2012/04/06 14:00:08 stefan Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1734 2012/03/16 22:21:13 stefan Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1738 2012/04/06 14:00:08 stefan Exp §'
 !
 
 version_SVN
-    ^ '$Id: Tools__NewSystemBrowser.st 7976 2012-04-11 16:14:22Z vranyj1 $'
+    ^ '$Id: Tools__NewSystemBrowser.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
 
 NewSystemBrowser initialize!
--- a/Tools__OrganizerCanvas.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__OrganizerCanvas.st	Fri Apr 13 14:15:47 2012 +0100
@@ -5037,6 +5037,6 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__OrganizerCanvas.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__OrganizerCanvas.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
 
--- a/Tools__ProjectList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__ProjectList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -966,5 +966,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__ProjectList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__ProjectList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__SearchDialog.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__SearchDialog.st	Fri Apr 13 14:15:47 2012 +0100
@@ -1329,7 +1329,7 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__SearchDialog.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__SearchDialog.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
 
 SearchDialog initialize!
--- a/Tools__SpecialCodeView.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__SpecialCodeView.st	Fri Apr 13 14:15:47 2012 +0100
@@ -73,7 +73,7 @@
 !SpecialCodeView class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__SpecialCodeView.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__SpecialCodeView.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 !
 
 version_CVS
@@ -81,5 +81,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__SpecialCodeView.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__SpecialCodeView.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__TagList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__TagList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -20,12 +20,12 @@
 		hideFunctionProtoTypes hideJavaClasses hideJavaMethods
 		hideJavaInterfaces hideJavaFields hideJavaPackages hideLispMacros
 		hideLispEvaluations hideLispMethods hideLispConstants
-		hideLocalLabels hideDataLabels hideTextLabels tagTypesPresent
-		hidePythonClasses hidePythonMethods hidePythonFunctions
-		hideOzClasses hideOzMethods hideOzFunctions hideHTMLTextArea
-		hideHTMLInput hideHTMLTable hideHTMLScript hideHTMLForm
-		usingDefaultCTags ctagsCommand ctagsIsExCtags ctagsIsExCtags5x
-		hideDocumentation remoteTarget'
+		hideLocalLabels hideLocalLabels2 hideDataLabels hideTextLabels
+		tagTypesPresent hidePythonClasses hidePythonMethods
+		hidePythonFunctions hideOzClasses hideOzMethods hideOzFunctions
+		hideHTMLTextArea hideHTMLInput hideHTMLTable hideHTMLScript
+		hideHTMLForm usingDefaultCTags ctagsCommand ctagsIsExCtags
+		ctagsIsExCtags5x hideDocumentation remoteTarget'
 	classVariableNames:'Sorted CachedTagListsPerFile DefaultSortCriteria DefaultShowOnly
 		TagsSuffixes DefaultGroupBy'
 	poolDictionaries:''
@@ -844,6 +844,19 @@
     ^ hideLocalLabels ? false
 !
 
+hideLocalLabels2
+    ^ hideLocalLabels2 ? false
+
+    "Created: / 24-03-2012 / 23:23:15 / cg"
+!
+
+hideLocalLabels2:aBoolean
+    hideLocalLabels2 := aBoolean.
+
+    "Modified: / 05-05-2011 / 15:22:54 / cg"
+    "Created: / 24-03-2012 / 23:23:20 / cg"
+!
+
 hideLocalLabels:aBoolean
     hideLocalLabels := aBoolean.
 
@@ -2242,7 +2255,7 @@
     "
 
     |targets line l lineNr nm s words w directive
-     hideLocals hideData hideText currentSegment|
+     hideLocals hideLocals2 hideData hideText currentSegment|
 
     Tag autoload.
 
@@ -2250,6 +2263,7 @@
     s := aFilePath asFilename readStream.
     s notNil ifTrue:[
         hideLocals := hideLocalLabels ? false.
+        hideLocals2 := hideLocalLabels2 ? false.
         hideData := hideDataLabels ? false.
         hideText := hideTextLabels ? false.
         currentSegment := #text.
@@ -2266,12 +2280,14 @@
                     (hideText and:[currentSegment == #text]) ifFalse:[
                         (hideData and:[currentSegment == #data]) ifFalse:[
                             (hideLocals and:[(w startsWith:$.)]) ifFalse:[
-                                nm := w copyWithoutLast:1.
-                                targets add:(Tag::TLabel 
-                                                label:nm 
-                                                pattern:nil
-                                                type:nil
-                                                lineNumber:lineNr).
+                                (hideLocals2 and:[(w startsWith:$_) not]) ifFalse:[
+                                    nm := w copyWithoutLast:1.
+                                    targets add:(Tag::TLabel 
+                                                    label:nm 
+                                                    pattern:nil
+                                                    type:nil
+                                                    lineNumber:lineNr).
+                                ].
                             ].
                         ].
                     ].
@@ -2300,7 +2316,7 @@
     ].
     ^ targets
 
-    "Modified: / 08-05-2011 / 10:36:23 / cg"
+    "Modified: / 24-03-2012 / 23:24:22 / cg"
 !
 
 getSimpleTagListFromFile:aFileOrString in:aTempDirectory
@@ -3275,13 +3291,13 @@
 !TagList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.9 2012/01/05 10:29:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.10 2012/03/24 22:26:07 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.9 2012/01/05 10:29:21 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.10 2012/03/24 22:26:07 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: Tools__TagList.st 7854 2012-01-30 17:49:41Z vranyj1 $'
+    ^ '$Id: Tools__TagList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__TagsBrowser.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__TagsBrowser.st	Fri Apr 13 14:15:47 2012 +0100
@@ -161,7 +161,7 @@
           )
          (MenuItem
             enabled: tagTypesPresentHolder
-            label: 'Hide local labels'
+            label: 'Hide local labels (starting with ".")'
             translateLabel: true
             isVisible: editedFileHasAssemblerSuffix
             hideMenuOnActivated: false
@@ -169,6 +169,14 @@
           )
          (MenuItem
             enabled: tagTypesPresentHolder
+            label: 'Hide local labels2 (not starting with "_")'
+            translateLabel: true
+            isVisible: editedFileHasAssemblerSuffix
+            hideMenuOnActivated: false
+            indication: hideLocalLabels2:
+          )
+         (MenuItem
+            enabled: tagTypesPresentHolder
             label: 'Hide data labels'
             translateLabel: true
             isVisible: editedFileHasAssemblerSuffix
@@ -187,6 +195,8 @@
         nil
         nil
       )
+
+    "Modified: / 24-03-2012 / 23:22:45 / cg"
 !
 
 cMenuSlice
@@ -1287,6 +1297,19 @@
     ^ tagList hideLocalLabels
 !
 
+hideLocalLabels2
+    ^ tagList hideLocalLabels2
+
+    "Created: / 24-03-2012 / 23:23:43 / cg"
+!
+
+hideLocalLabels2:aBool
+    tagList hideLocalLabels2:aBool.
+    self updateTagList
+
+    "Created: / 24-03-2012 / 23:23:26 / cg"
+!
+
 hideLocalLabels:aBool
     tagList hideLocalLabels:aBool.
     self updateTagList
@@ -2249,13 +2272,13 @@
 !TagsBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.23 2012/03/17 10:16:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.24 2012/03/24 22:25:38 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.23 2012/03/17 10:16:19 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.24 2012/03/24 22:25:38 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: Tools__TagsBrowser.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__TagsBrowser.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/Tools__VariableList.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/Tools__VariableList.st	Fri Apr 13 14:15:47 2012 +0100
@@ -671,7 +671,9 @@
             "/ selectedVariablesHolder value:nil.
             selectedVariablesHolder 
                 setValue:newSelection;
-                changed.
+                removeDependent:self;
+                changed;
+                addDependent:self.
         ] ifFalse:[
             prevSelection := selectedVariablesHolder value.
             selectedVariablesHolder value:nil.
@@ -691,7 +693,7 @@
     listValid := true.
 
     "Modified: / 05-08-2011 / 12:34:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 04-03-2012 / 13:29:11 / cg"
+    "Modified: / 23-03-2012 / 15:55:47 / cg"
 ! !
 
 !VariableList::VariableEntry class methodsFor:'instance creation'!
@@ -819,9 +821,9 @@
 !VariableList class methodsFor:'documentation'!
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/Tools__VariableList.st,v 1.16 2012/03/05 10:04:04 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/Tools__VariableList.st,v 1.17 2012/03/23 14:56:52 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: Tools__VariableList.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: Tools__VariableList.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/VersionDiffBrowser.st	Wed Apr 11 17:14:22 2012 +0100
+++ b/VersionDiffBrowser.st	Fri Apr 13 14:15:47 2012 +0100
@@ -1,6 +1,6 @@
 "
  COPYRIGHT (c) 2000 by eXept Software AG
-              All Rights Reserved
+	      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
@@ -37,7 +37,7 @@
 copyright
 "
  COPYRIGHT (c) 2000 by eXept Software AG
-              All Rights Reserved
+	      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
@@ -84,199 +84,199 @@
 
     <resource: #canvas>
 
-    ^ 
+    ^
      #(FullSpec
-        name: windowSpec
-        window: 
+	name: windowSpec
+	window:
        (WindowSpec
-          label: 'Version DiffBrowser'
-          name: 'Version DiffBrowser'
-          min: (Point 10 10)
-          bounds: (Rectangle 0 0 865 504)
-          menu: mainMenu
-        )
-        component: 
+	  label: 'Version DiffBrowser'
+	  name: 'Version DiffBrowser'
+	  min: (Point 10 10)
+	  bounds: (Rectangle 0 0 865 504)
+	  menu: mainMenu
+	)
+	component:
        (SpecCollection
-          collection: (
-           (VariableVerticalPanelSpec
-              name: 'VariableVerticalPanel1'
-              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
-              component: 
-             (SpecCollection
-                collection: (
-                 (HorizontalPanelViewSpec
-                    name: 'TopHorizontalPanel'
-                    horizontalLayout: fit
-                    verticalLayout: fit
-                    horizontalSpace: 3
-                    verticalSpace: 3
-                    component: 
-                   (SpecCollection
-                      collection: (
-                       (ViewSpec
-                          name: 'BoxA'
-                          level: 0
-                          visibilityChannel: boxAVisible
-                          component: 
-                         (SpecCollection
-                            collection: (
-                             (LabelSpec
-                                label: 'Only in A'
-                                name: 'OnlyInALabel'
-                                layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 20 0)
-                                translateLabel: true
-                                labelChannel: onlyInALabelHolder
-                              )
-                             (SequenceViewSpec
-                                name: 'ListA'
-                                layout: (LayoutFrame 0 0.0 20 0.0 0 1.0 -3 1.0)
-                                model: methodsOnlyInASelection
-                                menu: menuA
-                                hasHorizontalScrollBar: true
-                                hasVerticalScrollBar: true
-                                miniScrollerHorizontal: true
-                                doubleClickSelector: methodInADoubleClicked:
-                                valueChangeSelector: methodsOnlyInASelectionChanged
-                                useIndex: true
-                                sequenceList: methodsOnlyInA
-                              )
-                             )
-                           
-                          )
-                          extent: (Point 286 199)
-                        )
-                       (ViewSpec
-                          name: 'BoxM'
-                          visibilityChannel: boxMVisible
-                          component: 
-                         (SpecCollection
-                            collection: (
-                             (LabelSpec
-                                label: 'Changed'
-                                name: 'ChangedLabel'
-                                layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 20 0)
-                                translateLabel: true
-                                labelChannel: changedLabelHolder
-                              )
-                             (SequenceViewSpec
-                                name: 'ListM'
-                                layout: (LayoutFrame 0 0.0 20 0.0 0 1.0 -3 1.0)
-                                model: methodsChangedSelection
-                                menu: menuM
-                                hasHorizontalScrollBar: true
-                                hasVerticalScrollBar: true
-                                miniScrollerHorizontal: true
-                                doubleClickSelector: methodInChangedDoubleClicked:
-                                valueChangeSelector: methodsChangedSelectionChanged
-                                useIndex: true
-                                sequenceList: methodsChanged
-                              )
-                             )
-                           
-                          )
-                          extent: (Point 286 199)
-                        )
-                       (ViewSpec
-                          name: 'BoxB'
-                          visibilityChannel: boxBVisible
-                          component: 
-                         (SpecCollection
-                            collection: (
-                             (LabelSpec
-                                label: 'Only in B'
-                                name: 'OnlyInBLabel'
-                                layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 20 0)
-                                translateLabel: true
-                                labelChannel: onlyInBLabelHolder
-                              )
-                             (SequenceViewSpec
-                                name: 'ListB'
-                                layout: (LayoutFrame 0 0.0 20 0.0 0 1.0 -3 1.0)
-                                model: methodsOnlyInBSelection
-                                menu: menuB
-                                hasHorizontalScrollBar: true
-                                hasVerticalScrollBar: true
-                                miniScrollerHorizontal: true
-                                doubleClickSelector: methodInBDoubleClicked:
-                                valueChangeSelector: methodsOnlyInBSelectionChanged
-                                useIndex: true
-                                sequenceList: methodsOnlyInB
-                              )
-                             )
-                           
-                          )
-                          extent: (Point 287 199)
-                        )
-                       )
-                     
-                    )
-                  )
-                 (ViewSpec
-                    name: 'Box4'
-                    component: 
-                   (SpecCollection
-                      collection: (
-                       (ViewSpec
-                          name: 'diffTextViewBox'
-                          layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
-                          initiallyInvisible: true
-                          component: 
-                         (SpecCollection
-                            collection: (
-                             (LabelSpec
-                                label: 'A'
-                                name: 'DiffTextLabelA'
-                                layout: (LayoutFrame 0 0 0 0 0 0.5 20 0)
-                                translateLabel: true
-                                labelChannel: diffTextLabelA
-                              )
-                             (LabelSpec
-                                label: 'B'
-                                name: 'DiffTextLabelB'
-                                layout: (LayoutFrame 0 0.5 0 0 0 1 20 0)
-                                translateLabel: true
-                                labelChannel: diffTextLabelB
-                              )
-                             (ArbitraryComponentSpec
-                                name: 'diffTextView'
-                                layout: (LayoutFrame 0 0.0 20 0.0 0 1.0 0 1.0)
-                                hasBorder: false
-                                component: diffTextView
-                              )
-                             )
-                           
-                          )
-                        )
-                       (CodeViewSpec
-                          name: 'singleTextView'
-                          layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
-                          model: methodText
-                          hasHorizontalScrollBar: true
-                          hasVerticalScrollBar: true
-                          miniScrollerHorizontal: true
-                          isReadOnly: true
-                          hasKeyboardFocusInitially: false
-                        )
-                       )
-                     
-                    )
-                  )
-                 )
-               
-              )
-              handles: (Any 0.42379958246347 1.0)
-            )
-           (LabelSpec
-              name: 'InfoLabel'
-              layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
-              level: -1
-              translateLabel: true
-              labelChannel: infoHolder
-              adjust: left
-            )
-           )
-         
-        )
+	  collection: (
+	   (VariableVerticalPanelSpec
+	      name: 'VariableVerticalPanel1'
+	      layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0)
+	      component:
+	     (SpecCollection
+		collection: (
+		 (HorizontalPanelViewSpec
+		    name: 'TopHorizontalPanel'
+		    horizontalLayout: fit
+		    verticalLayout: fit
+		    horizontalSpace: 3
+		    verticalSpace: 3
+		    component:
+		   (SpecCollection
+		      collection: (
+		       (ViewSpec
+			  name: 'BoxA'
+			  level: 0
+			  visibilityChannel: boxAVisible
+			  component:
+			 (SpecCollection
+			    collection: (
+			     (LabelSpec
+				label: 'Only in A'
+				name: 'OnlyInALabel'
+				layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 20 0)
+				translateLabel: true
+				labelChannel: onlyInALabelHolder
+			      )
+			     (SequenceViewSpec
+				name: 'ListA'
+				layout: (LayoutFrame 0 0.0 20 0.0 0 1.0 -3 1.0)
+				model: methodsOnlyInASelection
+				menu: menuA
+				hasHorizontalScrollBar: true
+				hasVerticalScrollBar: true
+				miniScrollerHorizontal: true
+				doubleClickSelector: methodInADoubleClicked:
+				valueChangeSelector: methodsOnlyInASelectionChanged
+				useIndex: true
+				sequenceList: methodsOnlyInA
+			      )
+			     )
+
+			  )
+			  extent: (Point 286 199)
+			)
+		       (ViewSpec
+			  name: 'BoxM'
+			  visibilityChannel: boxMVisible
+			  component:
+			 (SpecCollection
+			    collection: (
+			     (LabelSpec
+				label: 'Changed'
+				name: 'ChangedLabel'
+				layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 20 0)
+				translateLabel: true
+				labelChannel: changedLabelHolder
+			      )
+			     (SequenceViewSpec
+				name: 'ListM'
+				layout: (LayoutFrame 0 0.0 20 0.0 0 1.0 -3 1.0)
+				model: methodsChangedSelection
+				menu: menuM
+				hasHorizontalScrollBar: true
+				hasVerticalScrollBar: true
+				miniScrollerHorizontal: true
+				doubleClickSelector: methodInChangedDoubleClicked:
+				valueChangeSelector: methodsChangedSelectionChanged
+				useIndex: true
+				sequenceList: methodsChanged
+			      )
+			     )
+
+			  )
+			  extent: (Point 286 199)
+			)
+		       (ViewSpec
+			  name: 'BoxB'
+			  visibilityChannel: boxBVisible
+			  component:
+			 (SpecCollection
+			    collection: (
+			     (LabelSpec
+				label: 'Only in B'
+				name: 'OnlyInBLabel'
+				layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 20 0)
+				translateLabel: true
+				labelChannel: onlyInBLabelHolder
+			      )
+			     (SequenceViewSpec
+				name: 'ListB'
+				layout: (LayoutFrame 0 0.0 20 0.0 0 1.0 -3 1.0)
+				model: methodsOnlyInBSelection
+				menu: menuB
+				hasHorizontalScrollBar: true
+				hasVerticalScrollBar: true
+				miniScrollerHorizontal: true
+				doubleClickSelector: methodInBDoubleClicked:
+				valueChangeSelector: methodsOnlyInBSelectionChanged
+				useIndex: true
+				sequenceList: methodsOnlyInB
+			      )
+			     )
+
+			  )
+			  extent: (Point 287 199)
+			)
+		       )
+
+		    )
+		  )
+		 (ViewSpec
+		    name: 'Box4'
+		    component:
+		   (SpecCollection
+		      collection: (
+		       (ViewSpec
+			  name: 'diffTextViewBox'
+			  layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+			  initiallyInvisible: true
+			  component:
+			 (SpecCollection
+			    collection: (
+			     (LabelSpec
+				label: 'A'
+				name: 'DiffTextLabelA'
+				layout: (LayoutFrame 0 0 0 0 0 0.5 20 0)
+				translateLabel: true
+				labelChannel: diffTextLabelA
+			      )
+			     (LabelSpec
+				label: 'B'
+				name: 'DiffTextLabelB'
+				layout: (LayoutFrame 0 0.5 0 0 0 1 20 0)
+				translateLabel: true
+				labelChannel: diffTextLabelB
+			      )
+			     (ArbitraryComponentSpec
+				name: 'diffTextView'
+				layout: (LayoutFrame 0 0.0 20 0.0 0 1.0 0 1.0)
+				hasBorder: false
+				component: diffTextView
+			      )
+			     )
+
+			  )
+			)
+		       (CodeViewSpec
+			  name: 'singleTextView'
+			  layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+			  model: methodText
+			  hasHorizontalScrollBar: true
+			  hasVerticalScrollBar: true
+			  miniScrollerHorizontal: true
+			  isReadOnly: true
+			  hasKeyboardFocusInitially: false
+			)
+		       )
+
+		    )
+		  )
+		 )
+
+	      )
+	      handles: (Any 0.42379958246347 1.0)
+	    )
+	   (LabelSpec
+	      name: 'InfoLabel'
+	      layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
+	      level: -1
+	      translateLabel: true
+	      labelChannel: infoHolder
+	      adjust: left
+	    )
+	   )
+
+	)
       )
 ! !
 
@@ -297,79 +297,79 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(Menu
-        (
-         (MenuItem
-            label: 'File'
-            translateLabel: true
-            submenu: 
-           (Menu
-              (
-               (MenuItem
-                  label: 'Create PatchFile...'
-                  itemValue: createPatchFile
-                  translateLabel: true
-                )
-               (MenuItem
-                  label: '-'
-                )
-               (MenuItem
-                  label: 'Exit'
-                  itemValue: closeRequest
-                  translateLabel: true
-                )
-               )
-              nil
-              nil
-            )
-          )
-         (MenuItem
-            label: 'View'
-            translateLabel: true
-            submenu: 
-           (Menu
-              (
-               (MenuItem
-                  enabled: canIncludeExtensionsHolder
-                  label: 'Include Extensions'
-                  itemValue: includeExtensions:
-                  translateLabel: true
-                  indication: includeExtensionsHolder
-                )
-               )
-              nil
-              nil
-            )
-          )
-         (MenuItem
-            label: 'Help'
-            translateLabel: true
-            startGroup: conditionalRight
-            submenu: 
-           (Menu
-              (
-               (MenuItem
-                  label: 'Documentation'
-                  itemValue: openDocumentation
-                  translateLabel: true
-                )
-               (MenuItem
-                  label: '-'
-                )
-               (MenuItem
-                  label: 'About this Application...'
-                  itemValue: openAboutThisApplication
-                  translateLabel: true
-                )
-               )
-              nil
-              nil
-            )
-          )
-         )
-        nil
-        nil
+	(
+	 (MenuItem
+	    label: 'File'
+	    translateLabel: true
+	    submenu:
+	   (Menu
+	      (
+	       (MenuItem
+		  label: 'Create PatchFile...'
+		  itemValue: createPatchFile
+		  translateLabel: true
+		)
+	       (MenuItem
+		  label: '-'
+		)
+	       (MenuItem
+		  label: 'Exit'
+		  itemValue: closeRequest
+		  translateLabel: true
+		)
+	       )
+	      nil
+	      nil
+	    )
+	  )
+	 (MenuItem
+	    label: 'View'
+	    translateLabel: true
+	    submenu:
+	   (Menu
+	      (
+	       (MenuItem
+		  enabled: canIncludeExtensionsHolder
+		  label: 'Include Extensions'
+		  itemValue: includeExtensions:
+		  translateLabel: true
+		  indication: includeExtensionsHolder
+		)
+	       )
+	      nil
+	      nil
+	    )
+	  )
+	 (MenuItem
+	    label: 'Help'
+	    translateLabel: true
+	    startGroup: conditionalRight
+	    submenu:
+	   (Menu
+	      (
+	       (MenuItem
+		  label: 'Documentation'
+		  itemValue: openDocumentation
+		  translateLabel: true
+		)
+	       (MenuItem
+		  label: '-'
+		)
+	       (MenuItem
+		  label: 'About this Application...'
+		  itemValue: openAboutThisApplication
+		  translateLabel: true
+		)
+	       )
+	      nil
+	      nil
+	    )
+	  )
+	 )
+	nil
+	nil
       )
 !
 
@@ -387,34 +387,34 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(#Menu
-        #(
-         #(#MenuItem
-            #label: 'Apply'
-            #translateLabel: true
-            #value: #applySelectedChangeInA
-            #enabled: #hasChangeSelectedInA
-          )
-         #(#MenuItem
-            #label: 'Browse'
-            #translateLabel: true
-            #value: #browseClassInA
-            #enabled: #hasChangeSelectedInA
-          )
-         #(#MenuItem
-            #label: '-'
-          )
-         #(#MenuItem
-            #label: 'Inspect'
-            #translateLabel: true
-            #value: #inspectSelectedChangeInA
-            #choiceValue: 'nil "UndefinedObject" '
-            #enabled: #hasChangeSelectedInA
-          )
-         )
-        nil
-        nil
+	#(
+	 #(#MenuItem
+	    #label: 'Apply'
+	    #translateLabel: true
+	    #value: #applySelectedChangeInA
+	    #enabled: #hasChangeSelectedInA
+	  )
+	 #(#MenuItem
+	    #label: 'Browse'
+	    #translateLabel: true
+	    #value: #browseClassInA
+	    #enabled: #hasChangeSelectedInA
+	  )
+	 #(#MenuItem
+	    #label: '-'
+	  )
+	 #(#MenuItem
+	    #label: 'Inspect'
+	    #translateLabel: true
+	    #value: #inspectSelectedChangeInA
+	    #choiceValue: 'nil "UndefinedObject" '
+	    #enabled: #hasChangeSelectedInA
+	  )
+	 )
+	nil
+	nil
       )
 !
 
@@ -432,43 +432,43 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(#Menu
-        #(
-         #(#MenuItem
-            #label: 'Apply'
-            #translateLabel: true
-            #value: #applySelectedChangeInB
-            #enabled: #hasChangeSelectedInB
-          )
-         #(#MenuItem
-            #label: 'Browse'
-            #translateLabel: true
-            #value: #browseClassInB
-            #enabled: #hasChangeSelectedInB
-          )
-         #(#MenuItem
-            #label: '-'
-          )
-         #(#MenuItem
-            #label: 'Remove in Image'
-            #translateLabel: true
-            #value: #removeSelectedChangeInBFromImage
-            #enabled: #hasChangeSelectedInB
-          )
-         #(#MenuItem
-            #label: '-'
-          )
-         #(#MenuItem
-            #label: 'Inspect'
-            #translateLabel: true
-            #value: #inspectSelectedChangeInB
-            #choiceValue: 'nil "UndefinedObject" '
-            #enabled: #hasChangeSelectedInB
-          )
-         )
-        nil
-        nil
+	#(
+	 #(#MenuItem
+	    #label: 'Apply'
+	    #translateLabel: true
+	    #value: #applySelectedChangeInB
+	    #enabled: #hasChangeSelectedInB
+	  )
+	 #(#MenuItem
+	    #label: 'Browse'
+	    #translateLabel: true
+	    #value: #browseClassInB
+	    #enabled: #hasChangeSelectedInB
+	  )
+	 #(#MenuItem
+	    #label: '-'
+	  )
+	 #(#MenuItem
+	    #label: 'Remove in Image'
+	    #translateLabel: true
+	    #value: #removeSelectedChangeInBFromImage
+	    #enabled: #hasChangeSelectedInB
+	  )
+	 #(#MenuItem
+	    #label: '-'
+	  )
+	 #(#MenuItem
+	    #label: 'Inspect'
+	    #translateLabel: true
+	    #value: #inspectSelectedChangeInB
+	    #choiceValue: 'nil "UndefinedObject" '
+	    #enabled: #hasChangeSelectedInB
+	  )
+	 )
+	nil
+	nil
       )
 
     "Modified: / 15-08-2010 / 21:24:49 / cg"
@@ -488,43 +488,43 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(#Menu
-        #(
-         #(#MenuItem
-            #label: 'Browse'
-            #translateLabel: true
-            #value: #browseClassInM
-            #enabled: #hasChangeSelectedInM
-          )
-         #(#MenuItem
-            #label: '-'
-          )
-         #(#MenuItem
-            #label: 'Apply Left Version'
-            #translateLabel: true
-            #value: #acceptInLeftView
-            #enabled: #hasChangeSelectedInM
-          )
-         #(#MenuItem
-            #label: 'Apply Right Version'
-            #translateLabel: true
-            #value: #acceptInRightView
-            #enabled: #hasChangeSelectedInM
-          )
-         #(#MenuItem
-            #label: '-'
-          )
-         #(#MenuItem
-            #label: 'Inspect both'
-            #translateLabel: true
-            #value: #inspectSelectedChangeInM
-            #choiceValue: 'nil "UndefinedObject" '
-            #enabled: #hasChangeSelectedInM
-          )
-         )
-        nil
-        nil
+	#(
+	 #(#MenuItem
+	    #label: 'Browse'
+	    #translateLabel: true
+	    #value: #browseClassInM
+	    #enabled: #hasChangeSelectedInM
+	  )
+	 #(#MenuItem
+	    #label: '-'
+	  )
+	 #(#MenuItem
+	    #label: 'Apply Left Version'
+	    #translateLabel: true
+	    #value: #acceptInLeftView
+	    #enabled: #hasChangeSelectedInM
+	  )
+	 #(#MenuItem
+	    #label: 'Apply Right Version'
+	    #translateLabel: true
+	    #value: #acceptInRightView
+	    #enabled: #hasChangeSelectedInM
+	  )
+	 #(#MenuItem
+	    #label: '-'
+	  )
+	 #(#MenuItem
+	    #label: 'Inspect both'
+	    #translateLabel: true
+	    #value: #inspectSelectedChangeInM
+	    #choiceValue: 'nil "UndefinedObject" '
+	    #enabled: #hasChangeSelectedInM
+	  )
+	 )
+	nil
+	nil
       )
 
     "Modified: / 31-08-2007 / 14:16:39 / cg"
@@ -544,16 +544,16 @@
      (if this app is embedded in a subCanvas)."
 
     ^ #(
-        #changedLabelHolder
-        #onlyInALabelHolder
-        #onlyInBLabelHolder
+	#changedLabelHolder
+	#onlyInALabelHolder
+	#onlyInBLabelHolder
       ).
 
 ! !
 
 !VersionDiffBrowser class methodsFor:'startup'!
 
-openOnClass:aClass againstVersion:aVersionA 
+openOnClass:aClass againstVersion:aVersionA
     "create a VersionDiffBrowser instance and set the class change set of the
      browser. The class diff set is generated from aClasses current against some version
      via the source code manager."
@@ -578,20 +578,20 @@
     "
 !
 
-openOnClass:classA labelA:aLabelA andClass:classB labelB:aLabelB title:ignoredTitle 
+openOnClass:classA labelA:aLabelA andClass:classB labelB:aLabelB title:ignoredTitle
     "create a VersionDiffBrowser instance and set the class change set of the
      browser. The class diff set is generated from two classes."
 
     ^ self
-        openOnClass:classA labelA:aLabelA 
-        andClass:classB labelB:aLabelB 
-        title:ignoredTitle ifSame:nil
+	openOnClass:classA labelA:aLabelA
+	andClass:classB labelB:aLabelB
+	title:ignoredTitle ifSame:nil
 
     "
-     self 
-        openOnClass:Array labelA:'Array'
-        andClass:Collection labelB:'Collection'
-        title:'Array vs. Collection'
+     self
+	openOnClass:Array labelA:'Array'
+	andClass:Collection labelB:'Collection'
+	title:'Array vs. Collection'
     "
 !
 
@@ -604,35 +604,35 @@
     classChangeSet := ClassChangeSet newForClass:classA labelA:aLabelA andClass:classB labelB:aLabelB.
     classChangeSet removeAllVersionMethods.
     sameAction notNil ifTrue:[
-        "/ check if same ...
-        (classChangeSet methodsOnlyInA isEmpty
-        and:[classChangeSet methodsOnlyInB isEmpty
-        and:[classChangeSet diffSet isEmpty]]) ifTrue:[
-            sameAction value.
-            ^ self "/ do not open
-        ]
+	"/ check if same ...
+	(classChangeSet methodsOnlyInA isEmpty
+	and:[classChangeSet methodsOnlyInB isEmpty
+	and:[classChangeSet diffSet isEmpty]]) ifTrue:[
+	    sameAction value.
+	    ^ self "/ do not open
+	]
     ].
 
     ^ self openOnClassChangeSet:classChangeSet title:ignoredTitle
 !
 
-openOnClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB 
+openOnClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB
     "create a VersionDiffBrowser instance and set the class change set of the
      browser. The class diff set is generated from two source files."
 
     ^ self
-        openOnClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB 
-        title:nil
+	openOnClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB
+	title:nil
 !
 
 openOnClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB title:ignoredTitle
     "create a VersionDiffBrowser instance and set the class change set of the
      browser. The class diff set is generated from two source files."
 
-    ^ self 
-        openOnClass:aClass labelA:aLabelA sourceA:aSourceA 
-        labelB:aLabelB sourceB:aSourceB 
-        title:ignoredTitle ifSame:nil
+    ^ self
+	openOnClass:aClass labelA:aLabelA sourceA:aSourceA
+	labelB:aLabelB sourceB:aSourceB
+	title:ignoredTitle ifSame:nil
 !
 
 openOnClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB title:ignoredTitle ifSame:sameAction
@@ -644,41 +644,41 @@
     classChangeSet := ClassChangeSet newForClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB.
     classChangeSet removeAllVersionMethods.
     sameAction notNil ifTrue:[
-        "/ check if same ...
-        (classChangeSet methodsOnlyInA isEmpty
-        and:[classChangeSet methodsOnlyInB isEmpty]) ifTrue:[
-            diffs := classChangeSet diffSet.
+	"/ check if same ...
+	(classChangeSet methodsOnlyInA isEmpty
+	and:[classChangeSet methodsOnlyInB isEmpty]) ifTrue:[
+	    diffs := classChangeSet diffSet.
 
-            hasChangedMethods := diffs changed notEmpty.
-            hasChangedMethods ifTrue:[
-                versionMethodChanges := diffs changed select:[:eachDifference | 
-                    |eachChange|
-                    eachChange := eachDifference first.
-                    (eachChange isMethodChange 
-                    and:[ (AbstractSourceCodeManager isVersionMethodSelector:eachChange selector)
-                    and:[ eachChange changeClass isMeta ]]).
-                ].
-                diffs changed size == versionMethodChanges size ifTrue: [
-                    hasChangedMethods := false.
-                ].
+	    hasChangedMethods := diffs changed notEmpty.
+	    hasChangedMethods ifTrue:[
+		versionMethodChanges := diffs changed select:[:eachDifference |
+		    |eachChange|
+		    eachChange := eachDifference first.
+		    (eachChange isMethodChange
+		    and:[ (AbstractSourceCodeManager isVersionMethodSelector:eachChange selector)
+		    and:[ eachChange changeClass isMeta ]]).
+		].
+		diffs changed size == versionMethodChanges size ifTrue: [
+		    hasChangedMethods := false.
+		].
 "/                diffs changed size == 1 ifTrue:[
 "/                    theOnlyDifference := diffs changed first.
 "/                    theOnlyChange := theOnlyDifference first.
-"/                    (theOnlyChange isMethodChange 
+"/                    (theOnlyChange isMethodChange
 "/                    and:[ ((theOnlyChange selector == #version) or:[theOnlyChange selector startsWith:'version_'])
 "/                    and:[ theOnlyChange changeClass isMeta ]]) ifTrue:[
 "/                        hasChangedMethods := false
 "/                    ]
 "/                ]
-            ].
+	    ].
 
-            (hasChangedMethods not
-            and:[diffs onlyInArg isEmpty
-            and:[diffs onlyInReceiver isEmpty]]) ifTrue:[
-                sameAction value.
-                ^ self "/ do not open
-            ].
-        ]
+	    (hasChangedMethods not
+	    and:[diffs onlyInArg isEmpty
+	    and:[diffs onlyInReceiver isEmpty]]) ifTrue:[
+		sameAction value.
+		^ self "/ do not open
+	    ].
+	]
     ].
 
     ^ self openOnClassChangeSet:classChangeSet title:ignoredTitle
@@ -719,8 +719,8 @@
 
 openOnDiffSet:diffSet labelA:aLabelA labelB:aLabelB title:ignoredTitle
     ^ self
-        openOnDiffSet:diffSet labelA:aLabelA labelB:aLabelB title:ignoredTitle 
-        ignoreExtensions:false
+	openOnDiffSet:diffSet labelA:aLabelA labelB:aLabelB title:ignoredTitle
+	ignoreExtensions:false
 
     "Modified: / 12-09-2011 / 11:52:44 / cg"
 !
@@ -754,9 +754,9 @@
     ^ theBrowser.
 
     "
-     VersionDiffBrowser 
-        openOnDiffsBetweenFile:'/phys/exept/tmp/ws/Workflow::BlockDescription.st' 
-        and:'/phys/exept/tmp/workflowClasses/Workflow::BlockDescription.st' 
+     VersionDiffBrowser
+	openOnDiffsBetweenFile:'/phys/exept/tmp/ws/Workflow::BlockDescription.st'
+	and:'/phys/exept/tmp/workflowClasses/Workflow::BlockDescription.st'
     "
 ! !
 
@@ -799,12 +799,12 @@
     gets the class from the change set which is compared.
 
     <return: Class>
-    " 
+    "
     ^ self classChangeSet classBeingCompared
 !
 
 classChangeSet
-    "returns the class change set which is the model of the version diff browser." 
+    "returns the class change set which is the model of the version diff browser."
 
     ^ classChangeSet
 !
@@ -852,7 +852,7 @@
 
     sel := self methodsOnlyInASelection value.
     sel notNil ifTrue:[
-        change := self changeSetA at:sel.
+	change := self changeSetA at:sel.
     ].
     ^ change
 !
@@ -867,7 +867,7 @@
 
     sel := self methodsOnlyInBSelection value.
     sel notNil ifTrue:[
-        change := (self changeSetB at:sel).
+	change := (self changeSetB at:sel).
     ].
     ^ change
 !
@@ -882,11 +882,11 @@
 
     sel := self methodsChangedSelection value.
     sel notNil ifTrue:[
-        theTwoChanges := self classChangeSet methodsChanged at:sel.
+	theTwoChanges := self classChangeSet methodsChanged at:sel.
 "/        changeA := theTwoChanges first.
 "/        changeB := theTwoChanges second.
 "/        ^ Array with:changeA with:changeB.
-        ^ theTwoChanges.
+	^ theTwoChanges.
     ].
     ^ #(nil nil)
 !
@@ -914,35 +914,35 @@
 !VersionDiffBrowser methodsFor:'actions'!
 
 acceptInLeftView
-    |change|  
+    |change|
 
     change := self selectedChangesInM first.
     self applyChange:change
 !
 
 acceptInRightView
-    |change|  
+    |change|
 
     change := self selectedChangesInM second.
     self applyChange:change
 !
 
 acceptInSingleView
-    |change|  
+    |change|
 
     change := self selectedChangeInA.
     change isNil ifTrue:[
-        change := self selectedChangeInB
+	change := self selectedChangeInB
     ].
     self applyChange:change
 !
 
 applySelectedChangeInA
-    self applyChange:(self selectedChangeInA) 
+    self applyChange:(self selectedChangeInA)
 !
 
 applySelectedChangeInB
-    self applyChange:(self selectedChangeInB) 
+    self applyChange:(self selectedChangeInB)
 !
 
 methodInADoubleClicked:index
@@ -978,31 +978,31 @@
 
     sel := self methodsChangedSelection value.
     sel notNil ifTrue:[
-        self methodsOnlyInASelection value:nil.
-        self methodsOnlyInBSelection value:nil.
-        methodsChanged := self classChangeSet methodsChanged.
-        changeA := (methodsChanged at:sel) first.
-        changeB := (methodsChanged at:sel) second.
-        self withReadCursorDo:[
-            "/ see if the semantics have changed (or only prettyPrinted)
-            RBParser notNil ifTrue:[
-                (classChangeSet notNil
-                and:[ classChangeSet classBeingCompared notNil ]) ifTrue:[
-                    parseError := false.
-                    treeA := RBParser parseMethod:changeA source onError: [:str :pos | parseError := true].
-                    treeB := RBParser parseMethod:changeB source onError: [:str :pos | parseError := true].
-                    parseError ifFalse:[    
-                        (treeA equalTo:treeB withMapping:(Dictionary  new)) ifTrue:[
-                            self infoHolder value:'Methods only differ in formatting / comments.'.
-                        ]
-                    ]
-                ].
-            ].
-            self diffTextView 
-                text1:(changeA prettyPrintedSource) text2:(changeB prettyPrintedSource);
-                moveToNextChanged
-        ].
-        self showDiffTextView.
+	self methodsOnlyInASelection value:nil.
+	self methodsOnlyInBSelection value:nil.
+	methodsChanged := self classChangeSet methodsChanged.
+	changeA := (methodsChanged at:sel) first.
+	changeB := (methodsChanged at:sel) second.
+	self withReadCursorDo:[
+	    "/ see if the semantics have changed (or only prettyPrinted)
+	    RBParser notNil ifTrue:[
+		(classChangeSet notNil
+		and:[ classChangeSet classBeingCompared notNil ]) ifTrue:[
+		    parseError := false.
+		    treeA := RBParser parseMethod:changeA source onError: [:str :pos | parseError := true].
+		    treeB := RBParser parseMethod:changeB source onError: [:str :pos | parseError := true].
+		    parseError ifFalse:[
+			(treeA equalTo:treeB withMapping:(Dictionary  new)) ifTrue:[
+			    self infoHolder value:'Methods only differ in formatting / comments.'.
+			]
+		    ]
+		].
+	    ].
+	    self diffTextView
+		text1:(changeA prettyPrintedSource) text2:(changeB prettyPrintedSource);
+		moveToNextChanged
+	].
+	self showDiffTextView.
     ]
 
     "Modified: / 3.9.1999 / 15:01:30 / ps"
@@ -1022,11 +1022,11 @@
 
     sel := self methodsOnlyInASelection value.
     sel notNil ifTrue:[
-        self methodsOnlyInBSelection value:nil.
-        self methodsChangedSelection value:nil.
-        change := self changeSetA at:sel.
-        self methodText value:(change prettyPrintedSource).    
-        self showSingleTextView.
+	self methodsOnlyInBSelection value:nil.
+	self methodsChangedSelection value:nil.
+	change := self changeSetA at:sel.
+	self methodText value:(change prettyPrintedSource).
+	self showSingleTextView.
     ]
 !
 
@@ -1044,11 +1044,11 @@
 
     sel := self methodsOnlyInBSelection value.
     sel notNil ifTrue:[
-        self methodsOnlyInASelection value:nil.
-        self methodsChangedSelection value:nil.
-        change := self changeSetB at:sel.
-        self methodText value:(change prettyPrintedSource).    
-        self showSingleTextView.
+	self methodsOnlyInASelection value:nil.
+	self methodsChangedSelection value:nil.
+	change := self changeSetB at:sel.
+	self methodText value:(change prettyPrintedSource).
+	self showSingleTextView.
     ]
 !
 
@@ -1057,16 +1057,16 @@
 
     change := self selectedChangeInB.
     change isMethodChange ifTrue:[
-        (cls := change changeClass) notNil ifTrue:[
-            (sel := change selector) notNil ifTrue:[
-                RefactoryChangeManager notNil ifTrue:[    
-                    op := RemoveMethodChange remove:sel from:cls.
-                    RefactoryChangeManager performChange: op.
-                ] ifFalse:[
-                    cls removeSelector:sel
-                ]
-            ]
-        ]
+	(cls := change changeClass) notNil ifTrue:[
+	    (sel := change selector) notNil ifTrue:[
+		RefactoryChangeManager notNil ifTrue:[
+		    op := RemoveMethodChange remove:sel from:cls.
+		    RefactoryChangeManager performChange: op.
+		] ifFalse:[
+		    cls removeSelector:sel
+		]
+	    ]
+	]
     ]
 
     "Modified: / 15-08-2010 / 21:35:00 / cg"
@@ -1076,21 +1076,21 @@
 
 boxAVisible
     boxAVisible isNil ifTrue:[
-        boxAVisible := true asValue.
+	boxAVisible := true asValue.
     ].
     ^ boxAVisible.
 !
 
 boxBVisible
     boxBVisible isNil ifTrue:[
-        boxBVisible := true asValue.
+	boxBVisible := true asValue.
     ].
     ^ boxBVisible.
 !
 
 boxMVisible
     boxMVisible isNil ifTrue:[
-        boxMVisible := true asValue.
+	boxMVisible := true asValue.
     ].
     ^ boxMVisible.
 !
@@ -1099,7 +1099,7 @@
     "can include extensions ? (menu item enabler)"
 
     canIncludeExtensionsHolder isNil ifTrue:[
-        canIncludeExtensionsHolder := true asValue.
+	canIncludeExtensionsHolder := true asValue.
     ].
     ^ canIncludeExtensionsHolder.
 !
@@ -1112,7 +1112,7 @@
     "
 
     changedLabelHolder isNil ifTrue:[
-        changedLabelHolder := ValueHolder new.
+	changedLabelHolder := ValueHolder new.
     ].
     ^ changedLabelHolder.
 !
@@ -1125,7 +1125,7 @@
     "
 
     diffTextLabelA isNil ifTrue:[
-        diffTextLabelA := ValueHolder new.
+	diffTextLabelA := ValueHolder new.
     ].
     ^ diffTextLabelA.
 !
@@ -1138,7 +1138,7 @@
     "
 
     diffTextLabelB isNil ifTrue:[
-        diffTextLabelB := ValueHolder new.
+	diffTextLabelB := ValueHolder new.
     ].
     ^ diffTextLabelB.
 !
@@ -1152,13 +1152,13 @@
     |v|
 
     diffTextView isNil ifTrue:[
-        v := DiffCodeView basicNew.
-        v textViewClass:CodeView.
-        v initialize.
-        diffTextView := HVScrollableView
-                           forView:v
-                           miniScrollerH:true miniScrollerV:false.
-        diffTextView addNextPreviousButtons.
+	v := DiffCodeView basicNew.
+	v textViewClass:CodeView.
+	v initialize.
+	diffTextView := HVScrollableView
+			   forView:v
+			   miniScrollerH:true miniScrollerV:false.
+	diffTextView addNextPreviousButtons.
     ].
     ^ diffTextView
 
@@ -1181,8 +1181,8 @@
     "only compare base-methods or include extensions ?"
 
     includeExtensionsHolder isNil ifTrue:[
-        includeExtensionsHolder := false asValue.
-        includeExtensionsHolder addDependent:self.
+	includeExtensionsHolder := false asValue.
+	includeExtensionsHolder addDependent:self.
     ].
     ^ includeExtensionsHolder.
 
@@ -1191,7 +1191,7 @@
 
 infoHolder
     infoHolder isNil ifTrue:[
-        infoHolder := ValueHolder new.
+	infoHolder := ValueHolder new.
     ].
     ^ infoHolder.
 !
@@ -1204,7 +1204,7 @@
     "
 
     methodText isNil ifTrue:[
-        methodText := ValueHolder new.
+	methodText := ValueHolder new.
     ].
     ^ methodText.
 !
@@ -1217,7 +1217,7 @@
     "
 
     methodsChanged isNil ifTrue:[
-        methodsChanged := List new.
+	methodsChanged := List new.
     ].
     ^ methodsChanged.
 !
@@ -1230,7 +1230,7 @@
     "
 
     methodsChangedSelection isNil ifTrue:[
-        methodsChangedSelection := ValueHolder new.
+	methodsChangedSelection := ValueHolder new.
     ].
     ^ methodsChangedSelection.
 !
@@ -1239,7 +1239,7 @@
     "aspect for the 'method only in version A' list."
 
     methodsOnlyInA isNil ifTrue:[
-        methodsOnlyInA := List new.
+	methodsOnlyInA := List new.
     ].
     ^ methodsOnlyInA.
 
@@ -1250,7 +1250,7 @@
     "aspect for the selection holder of 'method only in version A'-list."
 
     methodsOnlyInASelection isNil ifTrue:[
-        methodsOnlyInASelection := ValueHolder new.
+	methodsOnlyInASelection := ValueHolder new.
     ].
     ^ methodsOnlyInASelection.
 
@@ -1261,7 +1261,7 @@
     "aspect for the 'method only in version B' list"
 
     methodsOnlyInB isNil ifTrue:[
-        methodsOnlyInB := List new.
+	methodsOnlyInB := List new.
     ].
     ^ methodsOnlyInB.
 
@@ -1272,7 +1272,7 @@
     "aspect for the selection holder of 'method only in version B'-list."
 
     methodsOnlyInBSelection isNil ifTrue:[
-        methodsOnlyInBSelection := ValueHolder new.
+	methodsOnlyInBSelection := ValueHolder new.
     ].
     ^ methodsOnlyInBSelection.
 
@@ -1283,7 +1283,7 @@
     "aspect for the label for 'method only in version A'."
 
     onlyInALabelHolder isNil ifTrue:[
-        onlyInALabelHolder := ValueHolder new.
+	onlyInALabelHolder := ValueHolder new.
     ].
     ^ onlyInALabelHolder.
 
@@ -1294,7 +1294,7 @@
     "aspect for the label for 'method only in version B'."
 
     onlyInBLabelHolder isNil ifTrue:[
-        onlyInBLabelHolder := ValueHolder new.
+	onlyInBLabelHolder := ValueHolder new.
     ].
     ^ onlyInBLabelHolder.
 
@@ -1310,11 +1310,11 @@
 
 classHolder:aValueHolder
     classHolder notNil ifTrue:[
-        classHolder removeDependent:self
+	classHolder removeDependent:self
     ].
     classHolder := aValueHolder.
     classHolder notNil ifTrue:[
-        classHolder addDependent:self
+	classHolder addDependent:self
     ]
 !
 
@@ -1328,21 +1328,21 @@
 
 versionAHolder:aValueHolder
     versionAHolder notNil ifTrue:[
-        versionAHolder removeDependent:self
+	versionAHolder removeDependent:self
     ].
     versionAHolder := aValueHolder.
     versionAHolder notNil ifTrue:[
-        versionAHolder addDependent:self
+	versionAHolder addDependent:self
     ]
 !
 
 versionBHolder:aValueHolder
     versionBHolder notNil ifTrue:[
-        versionBHolder removeDependent:self
+	versionBHolder removeDependent:self
     ].
     versionBHolder := aValueHolder.
     versionBHolder notNil ifTrue:[
-        versionBHolder addDependent:self
+	versionBHolder addDependent:self
     ]
 ! !
 
@@ -1369,16 +1369,16 @@
 !VersionDiffBrowser methodsFor:'change & update'!
 
 update:something with:parameter from:changedObject
-    changedObject == includeExtensionsHolder ifTrue:[ 
-        self updateLists.
-         ^ self
+    changedObject == includeExtensionsHolder ifTrue:[
+	self updateLists.
+	 ^ self
     ].
 
-    (changedObject == classHolder 
+    (changedObject == classHolder
     or:[changedObject == versionAHolder
-    or:[changedObject == versionBHolder]]) ifTrue:[ 
-        self setupForClass:(classHolder value) versionA:(versionAHolder value) versionB:(versionBHolder value).
-        ^ self
+    or:[changedObject == versionBHolder]]) ifTrue:[
+	self setupForClass:(classHolder value) versionA:(versionAHolder value) versionB:(versionBHolder value).
+	^ self
     ].
     super update:something with:parameter from:changedObject
 
@@ -1411,7 +1411,7 @@
 
     cls := aChange changeClass.
     aChange isMethodChange ifTrue:[
-        sel := aChange changeSelector.
+	sel := aChange changeSelector.
 "/        (cls compiledMethodAt:sel) isNil ifTrue:[
 "/            (self confirm:'Method does not exist.\\Browse Class ?' withCRs) ifTrue:[
 "/                browserClass openInClass:cls
@@ -1420,7 +1420,7 @@
 "/        ]
     ].
     self withWaitCursorDo:[
-        browserClass openInClass:cls selector:sel.
+	browserClass openInClass:cls selector:sel.
     ]
 
     "Modified: / 12-10-2006 / 23:58:40 / cg"
@@ -1458,36 +1458,36 @@
 
     classBeingCompared := classChangeSet classBeingCompared.
     classBeingCompared notNil ifTrue:[
-        defaultName := classBeingCompared nameWithoutPrefix.
-        classChangeSet versionA notNil ifTrue:[
-            defaultName := defaultName , '-'.
-            defaultName := defaultName , classChangeSet versionA.
-            classChangeSet versionB notNil ifTrue:[
-                defaultName := defaultName , '-'.
-                defaultName := defaultName , classChangeSet versionB.
-            ].
-        ].
-        defaultName := defaultName , '.chg'.
+	defaultName := classBeingCompared nameWithoutPrefix.
+	classChangeSet versionA notNil ifTrue:[
+	    defaultName := defaultName , '-'.
+	    defaultName := defaultName , classChangeSet versionA.
+	    classChangeSet versionB notNil ifTrue:[
+		defaultName := defaultName , '-'.
+		defaultName := defaultName , classChangeSet versionB.
+	    ].
+	].
+	defaultName := defaultName , '.chg'.
     ].
-    f := Dialog 
-            requestFileNameForSave:'Name of patchFile:'
-            default:defaultName.
+    f := Dialog
+	    requestFileNameForSave:'Name of patchFile:'
+	    default:defaultName.
 self warn:'Sorry: This function is not yet implemented'.
 ^ self.
 
-"/    vsnMthdA := self changeSetA 
+"/    vsnMthdA := self changeSetA
 "/                detect:[:ch | ch isMethodChange
 "/                              and:[ch changeClass isMeta
 "/                              and:[ch changeSelector = #version]]]
 "/                ifNone:nil.
-"/    vsnMthdB := self changeSetA 
+"/    vsnMthdB := self changeSetA
 "/                detect:[:ch | ch isMethodChange
 "/                              and:[ch changeClass isMeta
 "/                              and:[ch changeSelector = #version]]]
 "/                ifNone:nil.
 "/
 "/    vsnMthdA notNil ifTrue:[
-"/        "/ extract the version        
+"/        "/ extract the version
 "/        vsnA := Class revisionStringFromSource:vsnMthdA source.
 "/        vsnA notNil ifTrue:[
 "/            info := Class revisionInfoFromString:vsnA.
@@ -1499,7 +1499,7 @@
 "/        ].
 "/    ].
 "/    vsnMthdB notNil ifTrue:[
-"/        "/ extract the version        
+"/        "/ extract the version
 "/        vsnB := Class revisionStringFromSource:vsnMthdB source.
 "/        vsnB notNil ifTrue:[
 "/            info := Class revisionInfoFromString:vsnB.
@@ -1543,7 +1543,7 @@
 
     changes := self selectedChangesInM.
     changes do:[:change |
-        change inspect
+	change inspect
     ].
 
     "Modified: / 25-07-2006 / 11:13:13 / cg"
@@ -1554,7 +1554,7 @@
      the menu bar should not be used."
 
     self masterApplication isNil ifTrue:[
-        ^ self class mainMenu
+	^ self class mainMenu
     ].
     ^ nil
 
@@ -1582,107 +1582,107 @@
     rightView := diffTextView rightTextView.
     singleView := self componentAt:#singleTextView.
 
-    (Array 
-        with:leftView
-        with:rightView
-        with:singleView)
+    (Array
+	with:leftView
+	with:rightView
+	with:singleView)
     do:[:v |
-        |mGen|
+	|mGen|
 
-        mGen := [
-            |m|
+	mGen := [
+	    |m|
 
-            m := v editMenu.
+	    m := v editMenu.
 
-            (m selectorAt:#accept) isNil ifTrue:[
-                m addLabels:(resources array:#('-' 'Accept'))
-                  selectors:(Array with:nil with:#accept)
-                  after:#copySelection.
-            ].
-            m 
-                actionAt:#accept 
-                put:[
-                    v == singleView ifTrue:[
-                        self acceptInSingleView
-                    ] ifFalse:[     
-                        v == leftView ifTrue:[
-                           self acceptInLeftView
-                        ] ifFalse:[
-                           self acceptInRightView
-                        ].
-                    ].
-                ].
-            m selectorAt:#accept put:nil.
-            m enable:#copySelection.
-            m setEnable:#accept to:[self canAcceptInCodeView].
-            m
-        ].
-        v menuHolder:mGen.
-        v menuMessage:#value.
+	    (m selectorAt:#accept) isNil ifTrue:[
+		m addLabels:(resources array:#('-' 'Accept'))
+		  selectors:(Array with:nil with:#accept)
+		  after:#copySelection.
+	    ].
+	    m
+		actionAt:#accept
+		put:[
+		    v == singleView ifTrue:[
+			self acceptInSingleView
+		    ] ifFalse:[
+			v == leftView ifTrue:[
+			   self acceptInLeftView
+			] ifFalse:[
+			   self acceptInRightView
+			].
+		    ].
+		].
+	    m selectorAt:#accept put:nil.
+	    m enable:#copySelection.
+	    m setEnable:#accept to:[self canAcceptInCodeView].
+	    m
+	].
+	v menuHolder:mGen.
+	v menuMessage:#value.
     ]
 !
 
 applyChange:change
     change notNil ifTrue:[
-        change apply
+	change apply
     ]
 !
 
 printStringForChange:aChange
     "generate a print string for a change."
 
-    |m changeClassName useChangesString selectorString 
+    |m changeClassName useChangesString selectorString
      singleComparedClass singleComparedClassesName singleComparedMetaclassesName|
 
     (singleComparedClass := self classBeingCompared) notNil ifTrue:[
-        singleComparedClassesName := singleComparedClass name.
-        singleComparedMetaclassesName := singleComparedClass theMetaclass name.
+	singleComparedClassesName := singleComparedClass name.
+	singleComparedMetaclassesName := singleComparedClass theMetaclass name.
     ].
 
     aChange isClassDefinitionChange ifTrue:[
-        ^ aChange printStringWithoutClassName
+	^ aChange printStringWithoutClassName
     ].
     aChange isDoIt ifTrue:[
-        ^ aChange source , ' (doIt)'
+	^ aChange source , ' (doIt)'
     ].
     aChange isNameSpaceCreationChange ifTrue:[
-        ^ aChange source
+	^ aChange source
     ].
 
     changeClassName := aChange className.
     changeClassName isNil ifTrue:[
-        ^ aChange source
+	^ aChange source
     ].
     useChangesString := false.
 
     (changeClassName = singleComparedClassesName) ifTrue:[
-        changeClassName := ''.
-        useChangesString := true.
+	changeClassName := ''.
+	useChangesString := true.
     ] ifFalse:[
-        (changeClassName = singleComparedMetaclassesName) ifTrue:[
-            changeClassName := 'class '.
-            useChangesString := true.
-        ] ifFalse:[
-            ((changeClassName includes:$:) and:[ changeClassName startsWith:((singleComparedClassesName ? ''),'::') ]) ifTrue:[
-                changeClassName := changeClassName copyFrom:(singleComparedClassesName,'::') size+1.
-            ].
-        ].
+	(changeClassName = singleComparedMetaclassesName) ifTrue:[
+	    changeClassName := 'class '.
+	    useChangesString := true.
+	] ifFalse:[
+	    ((changeClassName includes:$:) and:[ changeClassName startsWith:((singleComparedClassesName ? ''),'::') ]) ifTrue:[
+		changeClassName := changeClassName copyFrom:(singleComparedClassesName,'::') size+1.
+	    ].
+	].
     ].
 
     selectorString := ''.
-    (aChange isMethodChange 
+    (aChange isMethodChange
     and:[ aChange changeClass notNil ]) ifTrue:[
-        selectorString := aChange selector.
-        m := aChange changeMethod.
-        m notNil ifTrue:[
-            m := m originalMethodIfWrapped.
-            selectorString := m printStringForBrowserWithSelector:aChange selector inClass:aChange changeClass.    
-        ].
-        selectorString := ' ',selectorString 
+	selectorString := aChange selector.
+	m := aChange changeMethod.
+	m notNil ifTrue:[
+	    m := m originalMethodIfWrapped.
+	    selectorString := m printStringForBrowserWithSelector:aChange selector inClass:aChange changeClass.
+	].
+	selectorString := ' ',selectorString
     ].
 
     aChange isMethodCategoryChange ifTrue:[
-        ^ changeClassName,selectorString, ' (category)'
+	^ changeClassName,selectorString, ' (category)'
     ].
     ^ changeClassName,selectorString
 
@@ -1692,7 +1692,7 @@
 resetSelectionHolders
     "
     reset all selection holders when a new change set is given.
-    First set the selection to nil. 
+    First set the selection to nil.
 
     <return: self>
     "
@@ -1745,18 +1745,18 @@
 
     builder := self builder.
     (theVersionA := self versionA) notNil ifTrue:[
-        self diffTextLabelA value:theVersionA.
-        self onlyInALabelHolder value:('Only in ' , theVersionA).
-        (self componentAt:#OnlyInALabel) 
-            foregroundColor:Color white;
-            backgroundColor:Color green darkened.
+	self diffTextLabelA value:theVersionA.
+	self onlyInALabelHolder value:('Only in ' , theVersionA).
+	(self componentAt:#OnlyInALabel)
+	    foregroundColor:Color white;
+	    backgroundColor:Color green darkened.
     ].
     (theVersionB :=self versionB) notNil ifTrue:[
-        self diffTextLabelB value:theVersionB.
-        self onlyInBLabelHolder value:('Only in ' , theVersionB).
-        (self componentAt:#OnlyInBLabel) 
-            foregroundColor:Color white;
-            backgroundColor:Color red darkened.
+	self diffTextLabelB value:theVersionB.
+	self onlyInBLabelHolder value:('Only in ' , theVersionB).
+	(self componentAt:#OnlyInBLabel)
+	    foregroundColor:Color white;
+	    backgroundColor:Color red darkened.
     ].
 
     self changedLabelHolder value:('Different').
@@ -1765,7 +1765,7 @@
 !
 
 updateLists
-    |classChangeSet listOnlyInA listOnlyInB listChanged 
+    |classChangeSet listOnlyInA listOnlyInB listChanged
      printStringGenerator sortBlockForChangeLists filteredList
      isIgnoredChange numIgnoredExtensions|
 
@@ -1776,80 +1776,80 @@
 
     numIgnoredExtensions := 0.
 
-    isIgnoredChange := 
-        [:change |
-            |packageOfMethodInChange packageOfMethodInImage changeMethod ignored|
+    isIgnoredChange :=
+	[:change |
+	    |packageOfMethodInChange packageOfMethodInImage changeMethod ignored|
 
-            ignored := false.
-            change isMethodCodeChange ifTrue:[
-                packageOfMethodInChange := change package.
-                (packageOfMethodInChange notNil
-                  and:[ packageOfMethodInChange ~= PackageId noProjectID
-                  and:[ packageOfMethodInChange ~= change changeClass package ]]) ifTrue:[ 
-                    ignored := true 
-                ].
+	    ignored := false.
+	    change isMethodCodeChange ifTrue:[
+		packageOfMethodInChange := change package.
+		(packageOfMethodInChange notNil
+		  and:[ packageOfMethodInChange ~= PackageId noProjectID
+		  and:[ packageOfMethodInChange ~= change changeClass package ]]) ifTrue:[
+		    ignored := true
+		].
 
-                changeMethod := change changeMethod.
-                changeMethod notNil ifTrue:[
-                    packageOfMethodInImage := changeMethod package.
-                    (true "packageOfMethodInImage notNil"
-                      and:[ packageOfMethodInImage ~= PackageId noProjectID
-                      and:[ packageOfMethodInImage ~= changeMethod mclass package ]]) ifTrue:[
-                        ignored := true
-                    ].
-                ].
-                numIgnoredExtensions := numIgnoredExtensions + (ignored ifTrue:[1] ifFalse:[0]).
-            ].
-            ignored.
-        ].
+		changeMethod := change changeMethod.
+		changeMethod notNil ifTrue:[
+		    packageOfMethodInImage := changeMethod package.
+		    (true "packageOfMethodInImage notNil"
+		      and:[ packageOfMethodInImage ~= PackageId noProjectID
+		      and:[ packageOfMethodInImage ~= changeMethod mclass package ]]) ifTrue:[
+			ignored := true
+		    ].
+		].
+		numIgnoredExtensions := numIgnoredExtensions + (ignored ifTrue:[1] ifFalse:[0]).
+	    ].
+	    ignored.
+	].
 
-    listOnlyInA := self methodsOnlyInA. 
+    listOnlyInA := self methodsOnlyInA.
     listOnlyInA removeAll.
     classChangeSet notNil ifTrue:[
-        "/ classChangeSet methodsOnlyInA sort:sortBlockForChangeLists.
-        filteredList := classChangeSet methodsOnlyInA.
-        self includeExtensions ifFalse:[
-            filteredList := filteredList reject:isIgnoredChange.
-        ].
-        listOnlyInA addAll: (filteredList collect:printStringGenerator).
+	"/ classChangeSet methodsOnlyInA sort:sortBlockForChangeLists.
+	filteredList := classChangeSet methodsOnlyInA.
+	self includeExtensions ifFalse:[
+	    filteredList := filteredList reject:isIgnoredChange.
+	].
+	listOnlyInA addAll: (filteredList collect:printStringGenerator).
     ].
 
-    listOnlyInB := self methodsOnlyInB. 
+    listOnlyInB := self methodsOnlyInB.
     listOnlyInB removeAll.
     classChangeSet notNil ifTrue:[
-        "/ classChangeSet methodsOnlyInB sort:sortBlockForChangeLists.
-        filteredList := classChangeSet methodsOnlyInB.
-        self includeExtensions ifFalse:[
-            filteredList := filteredList reject:isIgnoredChange.
-        ].
-        listOnlyInB addAll: (filteredList collect:printStringGenerator).
+	"/ classChangeSet methodsOnlyInB sort:sortBlockForChangeLists.
+	filteredList := classChangeSet methodsOnlyInB.
+	self includeExtensions ifFalse:[
+	    filteredList := filteredList reject:isIgnoredChange.
+	].
+	listOnlyInB addAll: (filteredList collect:printStringGenerator).
     ].
 
-    listChanged := self methodsChanged. 
+    listChanged := self methodsChanged.
     listChanged removeAll.
     classChangeSet notNil ifTrue:[
-        "/ classChangeSet methodsChanged sort:[:a :b | sortBlockForChangeLists value:a first value:b first].
-        filteredList := classChangeSet methodsChanged.
-        self includeExtensions ifFalse:[
-            filteredList := filteredList reject:[:entry | isIgnoredChange value:entry first].
-        ].
-        listChanged addAll: (filteredList collect:[:entry| printStringGenerator value:(entry first)]).
+	"/ classChangeSet methodsChanged sort:[:a :b | sortBlockForChangeLists value:a first value:b first].
+	filteredList := classChangeSet methodsChanged.
+	self includeExtensions ifFalse:[
+	    filteredList := filteredList reject:[:entry | isIgnoredChange value:entry first].
+	].
+	listChanged addAll: (filteredList collect:[:entry| printStringGenerator value:(entry first)]).
     ].
 
     self boxAVisible value:(listOnlyInA notEmpty).
     self boxBVisible value:(listOnlyInB notEmpty).
 
-    self boxMVisible value:(listChanged isEmpty 
-                            and: [(listOnlyInA notEmpty 
-                                  or:[listOnlyInB notEmpty])]) not.
+    self boxMVisible value:(listChanged isEmpty
+			    and: [(listOnlyInA notEmpty
+				  or:[listOnlyInB notEmpty])]) not.
 
     numIgnoredExtensions ~~ 0 ifTrue:[
-        infoHolder value:('%1 extension methods ignored.' bindWith:numIgnoredExtensions)
+	self infoHolder value:('%1 extension methods ignored.' bindWith:numIgnoredExtensions)
     ] ifFalse:[
-        infoHolder value:nil
+	self infoHolder value:nil
     ].
 
-    "Modified: / 13-09-2011 / 12:08:06 / cg"
+    "Modified: / 21-03-2012 / 17:00:13 / cg"
 ! !
 
 !VersionDiffBrowser methodsFor:'setup'!
@@ -1862,19 +1862,19 @@
     |changeSet|
 
     aClass isNil ifTrue:[
-        changeSet := nil
+	changeSet := nil
     ] ifFalse:[
-        aClass isNameSpace ifFalse:[
-            aClass isLoaded ifTrue:[
-                changeSet := (ClassChangeSet newForClass:aClass againstVersion:aVersionA).
-            ]
-        ].
+	aClass isNameSpace ifFalse:[
+	    aClass isLoaded ifTrue:[
+		changeSet := (ClassChangeSet newForClass:aClass againstVersion:aVersionA).
+	    ]
+	].
     ].
     self classChangeSet:changeSet.
     aVersionA isNil ifTrue:[
-        self class:aClass versionA:'Repository' versionB:'Current'.
+	self class:aClass versionA:'Repository' versionB:'Current'.
     ] ifFalse:[
-        self class:aClass versionA:aVersionA versionB:(aVersionA , 'm').
+	self class:aClass versionA:aVersionA versionB:(aVersionA , 'm').
     ]
 !
 
@@ -1897,9 +1897,9 @@
     |changeSet|
 
     aClass isRealNameSpace ifFalse:[
-        aClass isLoaded ifTrue:[
-            changeSet := (ClassChangeSet newForClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB).
-        ]
+	aClass isLoaded ifTrue:[
+	    changeSet := (ClassChangeSet newForClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB).
+	]
     ].
     self classChangeSet:changeSet
 
@@ -1914,9 +1914,9 @@
     |changeSet|
 
     aClass isNameSpace ifFalse:[
-        aClass isLoaded ifTrue:[
-            changeSet := (ClassChangeSet newForClass:aClass versionA:aVersionA versionB:aVersionB).
-        ]
+	aClass isLoaded ifTrue:[
+	    changeSet := (ClassChangeSet newForClass:aClass versionA:aVersionA versionB:aVersionB).
+	]
     ].
     self classChangeSet:changeSet.
     self class:aClass versionA:aVersionA versionB:aVersionB.
@@ -1931,7 +1931,7 @@
 
 !VersionDiffBrowser::ClassChangeSet class methodsFor:'instance creation'!
 
-changeSetForClass:aClass 
+changeSetForClass:aClass
     "return a ChangeSet for the class aClass and its current source.
      The source is generated into a stream and then the change set is generated
      from the source stream."
@@ -1948,11 +1948,11 @@
 
     theSourceCodeManager := SourceCodeManagerUtilities default sourceCodeManagerFor:aClass.
     [
-        theSourceStream := theSourceCodeManager getSourceStreamFor:aClass revision:aVersion.
-        theSourceStream notNil
-            ifTrue:[theChangeSet := ChangeSet fromStream:theSourceStream]
+	theSourceStream := theSourceCodeManager getSourceStreamFor:aClass revision:aVersion.
+	theSourceStream notNil
+	    ifTrue:[theChangeSet := ChangeSet fromStream:theSourceStream]
     ] ensure:[
-        theSourceStream notNil ifTrue:[theSourceStream close]
+	theSourceStream notNil ifTrue:[theSourceStream close]
     ].
     self sortChangeSet:theChangeSet.
     ^ theChangeSet
@@ -1960,7 +1960,7 @@
     "Modified: / 12-09-2006 / 14:24:51 / cg"
 !
 
-changeSetForClass:aClass andSource:aSource 
+changeSetForClass:aClass andSource:aSource
     "return a ChangeSet for the class aClass and source aSource.
      The source is converted to a stream and then the change set is generated
      from the source stream.
@@ -1969,12 +1969,12 @@
     |theChangeSet theSourceStream|
 
     [
-        theSourceStream := aSource readStream.
-        theChangeSet := ChangeSet fromStream:(theSourceStream := aSource readStream)
+	theSourceStream := aSource readStream.
+	theChangeSet := ChangeSet fromStream:(theSourceStream := aSource readStream)
     ] ensure:[
-        theSourceStream notNil ifTrue:[
-            theSourceStream close
-        ]
+	theSourceStream notNil ifTrue:[
+	    theSourceStream close
+	]
     ].
     self sortChangeSet:theChangeSet.
     ^ theChangeSet
@@ -1982,7 +1982,7 @@
 
 newForClass:aClass againstVersion:aVersionA
     "return a ClassChangeSet for the class aClass against some verson in the repository.
-     A new instance of ClassChangeSet is generated containing 
+     A new instance of ClassChangeSet is generated containing
      the correspondenting changes."
 
     |theClassChangeSet|
@@ -2013,28 +2013,28 @@
     classB fileOutOn:aStream withTimeStamp:false.
     sourceB := aStream contents asString.
 
-    theChangeSetA:=self changeSetForClass:classA andSource:sourceA. 
+    theChangeSetA:=self changeSetForClass:classA andSource:sourceA.
     theChangeSetB:=self changeSetForClass:classB andSource:sourceB.
     theChangeSetA isNil
-        ifTrue: [theChangeSetA := ChangeSet new].
+	ifTrue: [theChangeSetA := ChangeSet new].
     theChangeSetB isNil
-        ifTrue: [theChangeSetB := ChangeSet new].
+	ifTrue: [theChangeSetB := ChangeSet new].
 
     "/ just in case (if comparing a class against another),
     "/ unify the classes of the changes (to avoid that all changes are detected as different)
 
     theChangeSetB do:[:eachChange |
-        eachChange isMethodChange ifTrue:[
-            eachChange changeClass isMeta ifTrue:[
-                eachChange changeClass ~~ classA theMetaclass ifTrue:[
-                    eachChange changeClass:classA theMetaclass.
-                ]
-            ] ifFalse:[
-                eachChange changeClass ~~ classA theNonMetaclass ifTrue:[
-                    eachChange changeClass:classA theNonMetaclass.
-                ]
-            ].
-        ].
+	eachChange isMethodChange ifTrue:[
+	    eachChange changeClass isMeta ifTrue:[
+		eachChange changeClass ~~ classA theMetaclass ifTrue:[
+		    eachChange changeClass:classA theMetaclass.
+		]
+	    ] ifFalse:[
+		eachChange changeClass ~~ classA theNonMetaclass ifTrue:[
+		    eachChange changeClass:classA theNonMetaclass.
+		]
+	    ].
+	].
     ].
     "/ remove all #initialize doIts
     theChangeSetA := theChangeSetA select:[:eachChange | eachChange isDoIt not or:[eachChange isInitialize not]].
@@ -2046,7 +2046,7 @@
 
 newForClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB
     "return a ClassChangeSet for the class aClass and the two sources.
-     The two classes are compared via the source files. A new instance of 
+     The two classes are compared via the source files. A new instance of
      ClassChangeSet is generated containing the correspondenting changes."
 
     |theChangeSetA theChangeSetB theClassChangeSet className metaClassName|
@@ -2055,32 +2055,32 @@
     theClassChangeSet classBeingCompared:aClass.
     theClassChangeSet labelA:aLabelA.
     theClassChangeSet labelB:aLabelB.
-    theChangeSetA:=self changeSetForClass:aClass andSource:aSourceA. 
+    theChangeSetA:=self changeSetForClass:aClass andSource:aSourceA.
     theChangeSetB:=self changeSetForClass:aClass andSource:aSourceB.
 
     className := aClass name.
     metaClassName := aClass class name.
 
     aClass isPrivate ifTrue:[
-        theChangeSetA := theChangeSetA select:[:change | change isMethodChange not
-                                                         or:[change className = className or:[change className = metaClassName]]].
-        theChangeSetA := theChangeSetA select:[:change | change isClassDefinitionChange not
-                                                         or:[change className = className or:[change className = metaClassName]]].
-        theChangeSetA := theChangeSetA select:[:change | change isDoIt not
-                                                         or:[change receiverClassName = className or:[change receiverClassName = metaClassName]]].
-        theChangeSetB := theChangeSetB select:[:change | change isMethodChange not
-                                                         or:[change className = className or:[change className = metaClassName]]].
-        theChangeSetB := theChangeSetB select:[:change | change isClassDefinitionChange not
-                                                         or:[change className = className or:[change className = metaClassName]]].
-        theChangeSetB := theChangeSetB select:[:change | change isDoIt not
-                                                         or:[change receiverClassName = className or:[change receiverClassName = metaClassName]]].
-        "/ there might be more needed...
+	theChangeSetA := theChangeSetA select:[:change | change isMethodChange not
+							 or:[change className = className or:[change className = metaClassName]]].
+	theChangeSetA := theChangeSetA select:[:change | change isClassDefinitionChange not
+							 or:[change className = className or:[change className = metaClassName]]].
+	theChangeSetA := theChangeSetA select:[:change | change isDoIt not
+							 or:[change receiverClassName = className or:[change receiverClassName = metaClassName]]].
+	theChangeSetB := theChangeSetB select:[:change | change isMethodChange not
+							 or:[change className = className or:[change className = metaClassName]]].
+	theChangeSetB := theChangeSetB select:[:change | change isClassDefinitionChange not
+							 or:[change className = className or:[change className = metaClassName]]].
+	theChangeSetB := theChangeSetB select:[:change | change isDoIt not
+							 or:[change receiverClassName = className or:[change receiverClassName = metaClassName]]].
+	"/ there might be more needed...
     ].
 
     theChangeSetA isNil
-        ifTrue: [theChangeSetA := ChangeSet new].
+	ifTrue: [theChangeSetA := ChangeSet new].
     theChangeSetB isNil
-        ifTrue: [theChangeSetB := ChangeSet new].
+	ifTrue: [theChangeSetB := ChangeSet new].
 
     theClassChangeSet diffSet:(theChangeSetA diffSetsAgainst:theChangeSetB).
     ^ theClassChangeSet
@@ -2089,7 +2089,7 @@
 newForClass:aClass versionA:aVersionA versionB:aVersionB
     "return a ClassChangeSet for the class aClass and the two versions.
      The two class version are checked out from the repository and then being
-     compared. A new instance of ClassChangeSet is generated containing 
+     compared. A new instance of ClassChangeSet is generated containing
      the correspondenting changes."
 
     |theChangeSetA theChangeSetB theClassChangeSet|
@@ -2111,38 +2111,38 @@
 sortChangeSet:aChangeSet
     "/ sort by meta and selector
 
-    aChangeSet 
-        sort:[:a :b |
-            a == b ifTrue:[
-                false
-            ] ifFalse:[
-                a isClassDefinitionChange == b isClassDefinitionChange ifTrue:[
-                    a isClassChange == b isClassChange ifTrue:[
-                        a isClassChange ifTrue:[
-                            a isForMeta == b isForMeta ifTrue:[
-                                a isMethodChange == b isMethodChange ifTrue:[
-                                    a className < b className
-                                    or:[ a className = b className
-                                         and:[ a isPrimitiveChange not
-                                         and:[ b isPrimitiveChange not
-                                         and:[ a selector < b selector ]]]]
-                                ] ifFalse:[
-                                    a isMethodChange not
-                                ].
-                            ] ifFalse:[
-                                a isForMeta
-                            ].
-                        ] ifFalse:[
-                            a printString < b printString
-                        ].
-                    ] ifFalse:[
-                        a isClassChange
-                    ].
-                ] ifFalse:[
-                    a isClassDefinitionChange
-                ].
-            ]
-        ].
+    aChangeSet
+	sort:[:a :b |
+	    a == b ifTrue:[
+		false
+	    ] ifFalse:[
+		a isClassDefinitionChange == b isClassDefinitionChange ifTrue:[
+		    a isClassChange == b isClassChange ifTrue:[
+			a isClassChange ifTrue:[
+			    a isForMeta == b isForMeta ifTrue:[
+				a isMethodChange == b isMethodChange ifTrue:[
+				    a className < b className
+				    or:[ a className = b className
+					 and:[ a isPrimitiveChange not
+					 and:[ b isPrimitiveChange not
+					 and:[ a selector < b selector ]]]]
+				] ifFalse:[
+				    a isMethodChange not
+				].
+			    ] ifFalse:[
+				a isForMeta
+			    ].
+			] ifFalse:[
+			    a printString < b printString
+			].
+		    ] ifFalse:[
+			a isClassChange
+		    ].
+		] ifFalse:[
+		    a isClassDefinitionChange
+		].
+	    ]
+	].
 ! !
 
 !VersionDiffBrowser::ClassChangeSet methodsFor:'accessing'!
@@ -2163,11 +2163,11 @@
     "returns a diffSet containing the different changes.
      it responds to:
 
-     changed         OrderedCollection of arrays containing ChangeSets for methods 
-                     which are changed and exists in the class versionA and versionB
+     changed         OrderedCollection of arrays containing ChangeSets for methods
+		     which are changed and exists in the class versionA and versionB
      onlyInArg       ChangeSet for the methods which exists only in the class versionB
      onlyInReceiver  ChangeSet for the methods which exists only in the class versionA
-    "  
+    "
 
     ^ diffSet
 !
@@ -2176,11 +2176,11 @@
     "sets the diffSet containing the different changes.
      it responds to:
 
-     changed         OrderedCollection of arrays containing ChangeSets for methods 
-                     which are changed and exists in the class versionA and versionB
+     changed         OrderedCollection of arrays containing ChangeSets for methods
+		     which are changed and exists in the class versionA and versionB
      onlyInArg       ChangeSet for the methods which exists only in the class versionB
      onlyInReceiver  ChangeSet for the methods which exists only in the class versionA
-    "  
+    "
 
     diffSet := something.
 !
@@ -2210,7 +2210,7 @@
 !
 
 methodsChanged
-    "returns an OrderedCollection of arrays containing ChangeSets for methods 
+    "returns an OrderedCollection of arrays containing ChangeSets for methods
      which are changed and exists in the class versionA and versionB
 
      <return: OrderedCollection of Array(2)>
@@ -2220,13 +2220,13 @@
 !
 
 methodsOnlyInA
-    "returns a ChangeSet for the methods which exists only in the class versionA"  
+    "returns a ChangeSet for the methods which exists only in the class versionA"
 
     ^ self diffSet onlyInReceiver
 !
 
 methodsOnlyInB
-    "returns a ChangeSet for the methods which exists only in the class versionB"  
+    "returns a ChangeSet for the methods which exists only in the class versionB"
 
     ^ self diffSet onlyInArg
 !
@@ -2257,7 +2257,7 @@
 
 setupForClass:aClass againstVersion:aVersionA
     "return a ClassChangeSet for the class aClass against some verison in the repository.
-     A new instance of ClassChangeSet is generated containing 
+     A new instance of ClassChangeSet is generated containing
      the correspondenting changes."
 
     |theChangeSetA theChangeSetB versionCompared|
@@ -2265,15 +2265,15 @@
     self classBeingCompared:aClass.
     versionCompared := aVersionA.
     aVersionA isNil ifTrue:[
-        self labelA:(versionCompared := aClass revision).
-        self versionA:versionCompared.
+	self labelA:(versionCompared := aClass revision).
+	self versionA:versionCompared.
     ] ifFalse:[
-        aVersionA == #newest ifTrue:[
-            self labelA:(VersionDiffBrowser resources string:'Newest').
-        ] ifFalse:[
-            self labelA:versionCompared.
-            self versionA:versionCompared.
-        ]
+	aVersionA == #newest ifTrue:[
+	    self labelA:(VersionDiffBrowser resources string:'Newest').
+	] ifFalse:[
+	    self labelA:versionCompared.
+	    self versionA:versionCompared.
+	]
     ].
     self labelB:(VersionDiffBrowser resources string:'Current').
     theChangeSetA := self class changeSetForClass: aClass andRevision: versionCompared.
@@ -2283,8 +2283,8 @@
 
     "/ if we are comparing a private class, prune out other changes
     aClass isPrivate ifTrue:[
-        theChangeSetA removeAllSuchThat:[:aChange | aChange className ~= aClass name ].
-        theChangeSetB removeAllSuchThat:[:aChange | aChange className ~= aClass name ].
+	theChangeSetA removeAllSuchThat:[:aChange | aChange className ~= aClass name ].
+	theChangeSetB removeAllSuchThat:[:aChange | aChange className ~= aClass name ].
     ].
     self activityNotification:'Generating diff-set...'.
     self diffSet:(theChangeSetA diffSetsAgainst:theChangeSetB).
@@ -2295,13 +2295,13 @@
 !VersionDiffBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.102 2012/03/06 14:43:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.104 2012/03/22 08:32:02 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.102 2012/03/06 14:43:53 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.104 2012/03/22 08:32:02 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: VersionDiffBrowser.st 7952 2012-03-21 17:50:14Z vranyj1 $'
+    ^ '$Id: VersionDiffBrowser.st 7978 2012-04-13 13:15:47Z vranyj1 $'
 ! !
--- a/resources/de.rs	Wed Apr 11 17:14:22 2012 +0100
+++ b/resources/de.rs	Fri Apr 13 14:15:47 2012 +0100
@@ -1,6 +1,6 @@
 #encoding utf8
 
-; $Header: /cvs/stx/stx/libtool/resources/de.rs,v 1.159 2012/03/19 15:41:29 cg Exp $
+; $Header: /cvs/stx/stx/libtool/resources/de.rs,v 1.162 2012/03/28 08:03:48 cg Exp $
 ;
 ; German Workspace (and other tools) resources
 ;
@@ -165,9 +165,9 @@
 '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.'   'Wählen Sie eine existierende Projektdefinition oder legen Sie eine neue an. Diese sind Unterklassen von <I>ProjectDefinition</I> und definieren Art und Inhalt eines Projekts.'
-'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 Unterklassen 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 Unterklassen von <I>StandaloneStartup</I> und haben die Aufgabe, die eigentliche Anwendung zu starten. Kommandozeilen-Argumente werden typischerweise dort ausgewertet.'
+'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.'   '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.'
+'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>Scan</I>" um alle Klassen des mit dieser Paket-ID einzutragen. Benutzen Sie den Browser, um die Liste manuell zu verwalten.'
 'Define additional attributes.'     'Definieren Sie weiter 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 welchen 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).'
@@ -221,6 +221,7 @@
 'methods containing: %1'                 'Methoden in denen %1 vorkommt'
 'methods containing ''%1'''              'Methoden in denen "%1" vorkommt'
 'methods containing "%1"'                'Methoden in denen "%1" vorkommt'
+'methods containing code'                'Methoden in denen der Code vorkommt'
 'users of: %1'                           'Referenzen auf: %1'
 'modifications of: %1'                   'Schreibzugriffe auf: %1'
 'references to: %1'                      'Zugriffe auf: %1'
@@ -251,7 +252,7 @@
 'SPAWN_CLASS'          'Browser für Klasse'
 'spawn full protocol'  'Browser für Protokoll'
 'spawn hierarchy'      'Browser für Hierarchie'
-'spawn subclasses'     'Browser für Unterklassen'
+'spawn subclasses'     'Browser für Subklassen'
 hierarchy              'Hierarchie'
 definition             'Definition'
 comment                'Kommentar'
@@ -260,7 +261,7 @@
 'variable search'      'Zugriffe auf Variable'
 'class refs'           'Benutzer der Klasse'
 'new class'            'neue Klasse'
-'new subclass'         'neue Unterklasse'
+'new subclass'         'neue Subklasse'
 
 'instvar refs'      'Zugriffe auf Instanzvariable'
 'classvar refs'     'Zugriffe auf Klassenvariable'
@@ -479,12 +480,12 @@
 'Full protocol'             'Gesamtes Protokoll'
 'Full Protocol'             'Gesamtes Protokoll'
 'Hierarchy'                 'Hierarchie'
-'Subclasses'                'Unterklassen'
+'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 Unterklassen'
+'spawn subclasses'          'Browser für Subklassen'
 hierarchy                   'Hierarchie'
 Definition                  'Definition'
 Comment                     'Kommentar'
@@ -498,13 +499,12 @@
 
 'New'                           'Neu'
 'Class'                         'Klasse'
-'Private Class'                 'Private Klasse'
-'Subclass'                      'Unterklasse'
+'Subclass'                      'Subklasse'
 'Application'                   'Anwendung'
 'Dialog'                        'Dialog'
 'private class'                 'Private Klasse'
 'Private class'                 'Private Klasse'
-'Subclass'                      'Unterklasse'
+'Private Class'                 'Private Klasse'
 'Make Private Class In'            'Zu privater Klasse konvertieren'
 'Make Public Class'                   'Zu öffentlicher Klasse konvertieren'
 'name of owner class:'          'Name der besitzenden Klasse:'
@@ -519,8 +519,8 @@
 'New Dialog'                    'Neuer Dialog'
 'new private class'             'Private Klasse anlegen'
 'New private Class'             'Private Klasse anlegen'
-'new subclass'                  'Neue Unterklasse'
-'New Subclass'                  'Neue Unterklasse'
+'new subclass'                  'Neue Subklasse'
+'New Subclass'                  'Neue Subklasse'
 'application'                   'Applikation'
 'dialog'                        'Dialog'
 ; 'Load'                          'Laden'
@@ -541,6 +541,7 @@
 
 'Inspect'                       'Inspizieren'
 'Inspect Class'                 'Klasse inspizieren'
+'Inspect Subclasses'            'Subklasse inspizieren'
 'Inspect Instances'             'Instanzen inspizieren'
 'Inspect Derived Instances'     'Abgeleitete Instanzen inspizieren'
 
@@ -751,14 +752,14 @@
 'class category ("%1")'                      'Klassenkategorie ("%1")'
 'class (''%1'')'                             'Klasse (''%1'')'
 'class ("%1")'                               'Klasse ("%1")'
-'class, super- & subclasses'                 'Klasse, Ober- & Unterklassen'
-'class, super-, sub- & private classes'      'Klasse, Ober-, Unter- & private Klassen'
-'class & subclasses'                         'Klasse & Unterklassen'
+'class, super- & subclasses'                 'Klasse, Ober- & Subklassen'
+'class, super-, sub- & private classes'      'Klasse, Ober-, Sub- & private Klassen'
+'class & subclasses'                         'Klasse & Subklassen'
 'class & superclasses'                       'Klasse & Oberklassen'
 'class & private classes'                    'Klasse & private Klassen'
-'class & subclasses & all private classes'   'Klasse & Unterklassen & alle private Klassen'
+'class & subclasses & all private classes'   'Klasse & Subklassen & alle private Klassen'
 'owners & all their private classes'                    'Besitzer & alle private Klassen'
-'owners & their subclasses & all their private classes' 'Besitzer & alle Unterklassen & alle private Klassen'
+'owners & their subclasses & all their private classes' 'Besitzer & alle Subklassen & alle private Klassen'
 'methodlist'                                 'Methodenliste'
 
 'class to copy instance method category from:' 'Klasse von der Instanzmethoden einer Kategorie kopiert werden:'
@@ -903,7 +904,7 @@
 'In ChangeSet'                            'Im ChangeSet'
 'In Current ChangeSet'                    'Im aktuellen ChangeSet'
 'In All ChangeSets'                       'In allen ChangeSets'
-'All Subclasses of'                       'Alle Unterklassen von'
+'All Subclasses of'                       'Alle Subklassen von'
 'All Applications'                        'Alle Anwendungen'
 'All Web Services'                        'Alle Web-Dienste'
 'All TestCases'                           'Alle Testfälle'
@@ -933,6 +934,7 @@
 'Class Documentation'                     'Dokumentation'
 'Check In'                             'Einchecken'
 'CheckIn'                              'Einchecken'
+'CheckIn All'                          'Alle Einchecken'
 'Quick Check In'                       'Einchecken (ohne Code-Prüfung)'
 'Quick CheckIn'                        'Einchecken (ohne Code-Prüfung)'
 'Check Out (Update)'                   'Auschecken (Aktualisieren)'
@@ -1048,7 +1050,7 @@
 ; '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 Unterklassen 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'
@@ -1086,6 +1088,7 @@
 'SubclassResponsibility in SuperClass'      'SubclassResponsibility in Superklasse'
 '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'
 'Forwarding Method in Instance Protocol'    'Weiterleitende Methode auf Instanz-Seite'
 
@@ -1274,10 +1277,10 @@
 'Buffer'                                        'Seite'
 'Browse'                                        'Browser'
 'Buffer with Common Superclass'                 'Seite mit gemeinsamer Oberklasse'
-'Buffer with all Subclasses'                    'Seite mit allen Unterklassen'
+'Buffer with all Subclasses'                    'Seite mit allen Subklassen'
 'Buffer with all Superclasses'                  'Seite mit allen Oberklassen'
 'Buffer with References to Class'               'Seite mit Referenzen auf Klasse'
-'Buffer with References to Class or Subclass'   'Seite mit Referenzen auf Klasse oder Unterklasse'
+'Buffer with References to Class or Subclass'   'Seite mit Referenzen auf Klasse oder Subklasse'
 'Buffer with Projects'                          'Seite mit Projekt'
 'Buffer with Full Protocol'                     'Seite mit gesamtem Protokoll'
 'Buffer with Full Protocols Matching'           'Seite mit gesamtem Protokoll mit Muster'
@@ -1285,16 +1288,16 @@
 'Buffer with Categories Matching'               'Seite mit Protokoll passend zu Muster'
 'Buffer with Full Class(es)'                    'Seite mit gesamter Klasse'
 'Buffer with Class(es)'                         'Seite mit Klasse'
-'Buffer with Subclasses'                        'Seite mit Unterklassen'
+'Buffer with Subclasses'                        'Seite mit Subklassen'
 'Buffer with Superclasses'                      'Seite mit Oberklassen'
 
 'Show Hierarchy'                                'Hierarchie anzeigen'
 
-'Browser on all subclasses'                     'Browser auf alle Unterklassen'
+'Browser on all subclasses'                     'Browser auf alle Subklassen'
 'Browser on all superclasses'                   'Browser auf alle Oberklassen'
 'Browser on Common Superclass'                  'Browser auf gemeinsame Oberklasse'
 'Browser on References to Class'                'Browser auf Referenzen auf Klasse'
-'Browser on References to Class or Subclass'    'Browser auf Referenzen auf Klasse oder Unterklasse'
+'Browser on References to Class or Subclass'    'Browser auf Referenzen auf Klasse oder Subklasse'
 'Browser on Projects'                           'Browser auf Projekt'
 'Browser on Full Protocol'                      'Browser auf gesamtes Protokoll'
 'Browser on Full Protocols Matching'            'Browser auf gesamtes Protokoll mit Muster'
@@ -1302,12 +1305,13 @@
 'Browser on Categories Matching'                'Browser auf Protokoll passend zu Muster'
 'Browser on Full Class(es)'                     'Browser auf gesamter Klasse'
 'Browser on Class(es)'                          'Browser auf Klasse'
-'Browser on Subclasses'                         'Browser auf Unterklassen'
+'Browser on Subclasses'                         'Browser auf Subklassen'
 'Browser on Superclasses'                       'Browser auf Oberklassen'
 
 
 'With Class'                     'Mit Klasse'
 'With Repository'                'Mit Version'
+'With File'                      'Mit Datei'
 'With Newest in Repository'      'Mit neuester Repository-Version'
 'With Original in Repository'    'Mit Original im Repository'
 'With SmallTeam Version on Host' 'Mit SmallTeam Version auf Host'
@@ -1352,6 +1356,8 @@
 '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'
+'"initialize"-Method'                                       '"initialize" Methode'
+'"printOn:"-Method'                                         '"printOn:" Methode'
 '#update Method Template'                                   '#update Methodenvorlage'
 'Update Method Template'                                    'Update Methodenvorlage'
 'Visitor Method'                                            'Visitor Methode'
@@ -1359,14 +1365,17 @@
 '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 Unterklassen (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)'
 'Application Code'                                          'Applikations-Rahmen'
 'Initialized Instance Creation'                             'Instanzierung mit Initialisierung'
+'Class Initialization Code'                                 'Klasseninitialisierung'
 'Parametrized Instance Creation'                            'Instanzierung mit Parametrisierung'
 'Redefined Instance Creation'                               'Redefinierte Instanzierung'
 'Required Protocol'                                         'Erforderliches Minimalprotokoll'
 'Documentation Method from Comment'                         'Dokumentationsmethode aus Kommentar'
+'Copyright Method'                                          'Copyright Methode'
+; 'Singleton Pattern'                                         'Singleton Pattern '
 
 'All'                   'Alles'
 'Errors'                'Fehler'
@@ -1501,6 +1510,11 @@
 'remove project'         'Projekt entfernen'
 '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.'
+'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 does not exist\\create ?'           '%1 existiert nicht.\\anlegen ?'