Merged d53a2bdc1569 and 867e53cc61c6 (branch text-view-selection-refactoring) delegated_gc_text-view-selection-refactoring
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 16 Feb 2015 08:12:24 +0000
branchdelegated_gc_text-view-selection-refactoring
changeset 5296 588057883532
parent 5294 d53a2bdc1569 (current diff)
parent 5295 867e53cc61c6 (diff)
child 5297 99cbc08768e0
Merged d53a2bdc1569 and 867e53cc61c6 (branch text-view-selection-refactoring)
EditTextView.st
GenericToolbarIconLibrary.st
SelectionInListView.st
TextCollector.st
TextView.st
--- a/DialogBox.st	Wed Dec 31 11:25:27 2014 +0100
+++ b/DialogBox.st	Mon Feb 16 08:12:24 2015 +0000
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libwidg' }"
 
+"{ NameSpace: Smalltalk }"
+
 ModalBox subclass:#DialogBox
 	instanceVariableNames:'buttonPanel okButton okAction abortButton abortAction
 		acceptReturnAsOK yPosition leftIndent rightIndent addedComponents
@@ -7135,18 +7137,18 @@
 
 addLabelledField:aView label:labelString adjust:labelAdjust tabable:tabable from:leftX to:rightX separateAtX:relativeX
     "add a label and some view side-by-side.
-     The labels goes from 0.0 to relativeX; the inputField from relativeX to 1.0.
-     The labels string is defined by labelString and adjusted according to labelAdjust.
+     The label goes from 0.0 to relativeX; the inputField from relativeX to 1.0.
+     The label's string is defined by labelString and adjusted according to labelAdjust.
      The inputField gets model as its model.
      Return the inputField."
 
     ^ self
-	addLabelledField:aView 
-	label:labelString 
-	adjust:labelAdjust 
-	tabable:tabable 
-	from:leftX to:rightX separateAtX:relativeX 
-	nameAs:nil
+        addLabelledField:aView 
+        label:labelString 
+        adjust:labelAdjust 
+        tabable:tabable 
+        from:leftX to:rightX separateAtX:relativeX 
+        nameAs:nil
 
     "
      |dialog model field|
@@ -7156,10 +7158,10 @@
      dialog := DialogBox new.
 
      field := dialog 
-		addLabelledField:(EditField on:model) label:'input here:' 
-		adjust:#left 
-		tabable:true 
-		separateAtX:0.3.
+                addLabelledField:(EditField on:model) label:'input here:' 
+                adjust:#left 
+                tabable:true 
+                separateAtX:0.3.
 
      dialog addAbortButton; addOkButton.
      dialog open.
@@ -7176,10 +7178,10 @@
      dialog := DialogBox new.
 
      field := dialog 
-		addLabelledField:(PopUpList on:model) label:'select here:' 
-		adjust:#left 
-		tabable:true 
-		separateAtX:0.3.
+                addLabelledField:(PopUpList on:model) label:'select here:' 
+                adjust:#left 
+                tabable:true 
+                separateAtX:0.3.
 
      dialog addAbortButton; addOkButton.
      dialog open.
@@ -7194,8 +7196,8 @@
     tabable:tabable from:leftX to:rightX separateAtX:relativeX nameAs:aName
 
     "add a label and some view side-by-side.
-     The labels goes from 0.0 to relativeX; the inputField from relativeX to 1.0.
-     The labels string is defined by labelString and adjusted according to labelAdjust.
+     The label goes from 0.0 to relativeX; the inputField from relativeX to 1.0.
+     The label's string is defined by labelString and adjusted according to labelAdjust.
      The inputField gets model as its model.
      Return the inputField."
 
@@ -7277,8 +7279,8 @@
     foregroundColor:fgColor
 
     "add a label and some view side-by-side.
-     The labels goes from 0.0 to relativeX; the inputField from relativeX to 1.0.
-     The labels string is defined by labelString and adjusted according to labelAdjust.
+     The label goes from 0.0 to relativeX; the inputField from relativeX to 1.0.
+     The label's string is defined by labelString and adjusted according to labelAdjust.
      The inputField gets model as its model.
      Return the inputField."
 
@@ -7415,18 +7417,18 @@
 
 addLabelledField:aView label:labelString adjust:labelAdjust tabable:tabable separateAtX:relativeX
     "add a label and some view side-by-side.
-     The labels goes from 0.0 to relativeX; the inputField from relativeX to 1.0.
-     The labels string is defined by labelString and adjusted according to labelAdjust.
+     The label goes from 0.0 to relativeX; the inputField from relativeX to 1.0.
+     The label's string is defined by labelString and adjusted according to labelAdjust.
      The inputField gets model as its model.
      Return the inputField."
 
     ^ self
-	addLabelledField:aView 
-	label:labelString 
-	adjust:labelAdjust 
-	tabable:tabable 
-	from:0.0 to:1.0 
-	separateAtX:relativeX
+        addLabelledField:aView 
+        label:labelString 
+        adjust:labelAdjust 
+        tabable:tabable 
+        from:0.0 to:1.0 
+        separateAtX:relativeX
 
 "/    |y lbl max|
 "/
@@ -7457,10 +7459,10 @@
      dialog := DialogBox new.
 
      field := dialog 
-		addLabelledField:(EditField on:model) label:'input here:' 
-		adjust:#left 
-		tabable:true 
-		separateAtX:0.3.
+                addLabelledField:(EditField on:model) label:'input here:' 
+                adjust:#left 
+                tabable:true 
+                separateAtX:0.3.
 
      dialog addAbortButton; addOkButton.
      dialog open.
@@ -7477,10 +7479,10 @@
      dialog := DialogBox new.
 
      field := dialog 
-		addLabelledField:(PopUpList on:model) label:'select here:' 
-		adjust:#left 
-		tabable:true 
-		separateAtX:0.3.
+                addLabelledField:(PopUpList on:model) label:'select here:' 
+                adjust:#left 
+                tabable:true 
+                separateAtX:0.3.
 
      dialog addAbortButton; addOkButton.
      dialog open.
@@ -7594,7 +7596,8 @@
 addTextLabel:aString adjust:how
     "create a text label - the name has been choosen for ST-80 compatibility;
      however, ST/X labels allow image labels too.
-     Returns the label."
+     Returns the label. 
+     The adjust argument must be one of #left, #right or #center (see Label for details)"
 
     |l|
 
@@ -7630,10 +7633,13 @@
     ^ l
 
     "
-     |b|
+     |holder b|
+
+     holder := ValueHolder with:'hello'.
 
      b := DialogBox new.
-     b addTextLabelOn:'hello' asValue.
+     b addTextLabelOn:holder asValue.
+     [ Delay waitForSeconds:2. holder value:'world' ] fork.
      b showAtPointer
     "
     "
@@ -7648,6 +7654,30 @@
     "
 !
 
+addTextLabelOn:aStringHolder adjust:how
+    "create a text label - the name has been choosen for ST-80 compatibility;
+     however, ST/X labels allow image labels too.
+     Returns the label. 
+     The adjust argument must be one of #left, #right or #center (see Label for details)"
+
+    |l|
+
+    l := self addTextLabelOn:aStringHolder.
+    l adjust:how.
+    ^ l
+
+    "
+     |holder b|
+
+     holder := ValueHolder with:'hello'.
+
+     b := DialogBox new.
+     b addTextLabelOn:holder asValue adjust:#left.
+     [ Delay waitForSeconds:2. holder value:'world' ] fork.
+     b showAtPointer
+    "
+!
+
 addToInputFieldGroup:aComponentOrSubcomponent
     "add a component to the input group.
      The argument, aComponentOrSubcomponent may even be a nested subcomponent of
@@ -8519,18 +8549,18 @@
 
 addLabelledInputField:labelString adjust:labelAdjust on:model tabable:tabable from:leftX to:rightX separateAtX:relativeX
     "add a label and an inputField side-by-side.
-     The labels goes from 0.0 to relativeX; the inputField from relativeX to 1.0.
-     The labels string is defined by labelString and adjusted according to labelAdjust.
+     The label goes from 0.0 to relativeX; the inputField from relativeX to 1.0.
+     The label's string is defined by labelString and adjusted according to labelAdjust.
      The inputField gets model as its model.
      Return the inputField."
 
 
     ^ self 
-	addLabelledField:(EditField on:model) label:labelString 
-	adjust:labelAdjust
-	tabable:tabable 
-	from:leftX to:rightX
-	separateAtX:relativeX.
+        addLabelledField:(EditField on:model) label:labelString 
+        adjust:labelAdjust
+        tabable:tabable 
+        from:leftX to:rightX
+        separateAtX:relativeX.
 
     "
      |dialog model field|
@@ -8540,11 +8570,11 @@
      dialog := DialogBox new.
 
      field := dialog 
-		addLabelledInputField:'enter a string' 
-		adjust:#left 
-		on:model 
-		tabable:true 
-		separateAtX:0.3.
+                addLabelledInputField:'enter a string' 
+                adjust:#left 
+                on:model 
+                tabable:true 
+                separateAtX:0.3.
 
      dialog addAbortButton; addOkButton.
      dialog open.
@@ -8563,24 +8593,24 @@
      dialog addHorizontalLine.
 
      field := dialog 
-		addLabelledInputField:'string1:' 
-		adjust:#right 
-		on:model1 
-		tabable:true 
-		separateAtX:0.4.
+                addLabelledInputField:'string1:' 
+                adjust:#right 
+                on:model1 
+                tabable:true 
+                separateAtX:0.4.
 
      field := dialog 
-		addLabelledInputField:'string2:' 
-		adjust:#right 
-		on:model2 
-		tabable:true 
-		separateAtX:0.4.
+                addLabelledInputField:'string2:' 
+                adjust:#right 
+                on:model2 
+                tabable:true 
+                separateAtX:0.4.
 
      dialog addAbortButton; addOkButton.
      dialog open.
      dialog accepted ifTrue:[
-	Transcript showCR:model1 value.
-	Transcript showCR:model2 value.
+        Transcript showCR:model1 value.
+        Transcript showCR:model2 value.
      ].
     "
 
@@ -8590,17 +8620,17 @@
 
 addLabelledInputField:labelString adjust:labelAdjust on:model tabable:tabable separateAtX:relativeX
     "add a label and an inputField side-by-side.
-     The labels goes from 0.0 to relativeX; the inputField from relativeX to 1.0.
-     The labels string is defined by labelString and adjusted according to labelAdjust.
+     The label goes from 0.0 to relativeX; the inputField from relativeX to 1.0.
+     The label's string is defined by labelString and adjusted according to labelAdjust.
      The inputField gets model as its model.
      Return the inputField."
 
 
     ^ self 
-	addLabelledField:(EditField on:model) label:labelString 
-	adjust:labelAdjust
-	tabable:tabable 
-	separateAtX:relativeX.
+        addLabelledField:(EditField on:model) label:labelString 
+        adjust:labelAdjust
+        tabable:tabable 
+        separateAtX:relativeX.
 
     "
      |dialog model field|
@@ -8610,11 +8640,11 @@
      dialog := DialogBox new.
 
      field := dialog 
-		addLabelledInputField:'enter a string' 
-		adjust:#left 
-		on:model 
-		tabable:true 
-		separateAtX:0.3.
+                addLabelledInputField:'enter a string' 
+                adjust:#left 
+                on:model 
+                tabable:true 
+                separateAtX:0.3.
 
      dialog addAbortButton; addOkButton.
      dialog open.
@@ -8633,24 +8663,24 @@
      dialog addHorizontalLine.
 
      field := dialog 
-		addLabelledInputField:'string1:' 
-		adjust:#right 
-		on:model1 
-		tabable:true 
-		separateAtX:0.4.
+                addLabelledInputField:'string1:' 
+                adjust:#right 
+                on:model1 
+                tabable:true 
+                separateAtX:0.4.
 
      field := dialog 
-		addLabelledInputField:'string2:' 
-		adjust:#right 
-		on:model2 
-		tabable:true 
-		separateAtX:0.4.
+                addLabelledInputField:'string2:' 
+                adjust:#right 
+                on:model2 
+                tabable:true 
+                separateAtX:0.4.
 
      dialog addAbortButton; addOkButton.
      dialog open.
      dialog accepted ifTrue:[
-	Transcript showCR:model1 value.
-	Transcript showCR:model2 value.
+        Transcript showCR:model1 value.
+        Transcript showCR:model2 value.
      ].
     "
 
@@ -10250,11 +10280,11 @@
 !DialogBox class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/DialogBox.st,v 1.360 2014-11-28 12:35:28 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/DialogBox.st,v 1.362 2015-01-31 13:42:43 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/DialogBox.st,v 1.360 2014-11-28 12:35:28 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/DialogBox.st,v 1.362 2015-01-31 13:42:43 cg Exp $'
 ! !
 
 
--- a/EditField.st	Wed Dec 31 11:25:27 2014 +0100
+++ b/EditField.st	Mon Feb 16 08:12:24 2015 +0000
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libwidg' }"
 
+"{ NameSpace: Smalltalk }"
+
 EditTextView subclass:#EditField
 	instanceVariableNames:'leaveAction enabled clickAction crAction tabAction converter
 		leaveKeys immediateAccept acceptOnLeave acceptOnReturn
@@ -1867,10 +1869,10 @@
 
 
     (enabled or:[explicit]) ifTrue:[
+        super showFocus:explicit.
         clickAction notNil ifTrue:[clickAction value:self].
         "/ mhmh - should we ALWAYS do this ?
-        explicit ifTrue:[ self makeCursorVisible ].
-        super showFocus:explicit
+        true "explicit" ifTrue:[ self makeCursorVisible ].
     ]
 
     "Modified: / 06-03-2007 / 21:11:17 / cg"
@@ -2409,10 +2411,10 @@
 !EditField class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/EditField.st,v 1.243 2014-08-03 12:27:52 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/EditField.st,v 1.244 2015-01-12 10:30:14 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/EditField.st,v 1.243 2014-08-03 12:27:52 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/EditField.st,v 1.244 2015-01-12 10:30:14 cg Exp $'
 ! !
 
--- a/EditTextView.st	Wed Dec 31 11:25:27 2014 +0100
+++ b/EditTextView.st	Mon Feb 16 08:12:24 2015 +0000
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libwidg' }"
 
+"{ NameSpace: Smalltalk }"
+
 TextView subclass:#EditTextView
 	instanceVariableNames:'cursorLine cursorVisibleLine cursorCol cursorShown
 		prevCursorState readOnly modifiedChannel fixedSize exceptionBlock
@@ -1271,12 +1273,13 @@
     ^ self modifiedChannel
 !
 
-st80Mode:aBoolean
+st80Mode:aBooleanOrNil
     "set/clear the st80Mode flag.
      If on, the cursor wraps at the line end (like in vi or st80);
-     if off, we have the Rand-editor behavior (random access)"
-
-    st80Mode := aBoolean
+     if off, we have the Rand-editor behavior (random access)
+     if nil, the setting follows the current userPref setting."
+
+    st80Mode := aBooleanOrNil
 
     "Created: / 09-11-2010 / 13:55:50 / cg"
 !
@@ -1946,7 +1949,6 @@
     aBoolean == cursorShown ifTrue:[
         ^ cursorShown
     ].
-
     oldState := cursorShown.
 
     aBoolean ifTrue:[
@@ -5741,8 +5743,8 @@
     "in addition to however my superclass thinks how a focusView is to be
      displayed, show the cursor when I got the focus"
 
+    self hasKeyboardFocus:true.
     self showCursor.
-    self hasKeyboardFocus:true.
     super showFocus:explicit
 
     "Modified: 11.12.1996 / 16:56:54 / cg"
@@ -6042,8 +6044,8 @@
     cursorLine := 1.
     cursorVisibleLine := 1.
     cursorCol := 1.
-    cursorLineHolder := 1 asValue.
-    cursorColHolder := 1 asValue.
+    cursorLineHolder := ValueHolder with:1.
+    cursorColHolder := ValueHolder with:1.
     modifiedChannel := ValueHolder with:false.
     acceptChannel := ValueHolder with:false.
     acceptChannel addDependent:self.
@@ -6052,8 +6054,8 @@
     tabMeansNextField := false.
     "/ autoIndent := UserPreferences current autoIndentInCodeView.
     autoIndent := false.
-    editMode := EditMode insertMode asValue.
-    learnMode := false asValue.
+    editMode := ValueHolder with:EditMode insertMode.
+    learnMode := ValueHolder with:false.
     trimBlankLines := self st80EditMode not.
     cursorMovementWhenUpdating := #beginOfText.
     lastReplacementInfo := LastReplacementInfo new.
@@ -6062,7 +6064,7 @@
     self allowDrop:true.        "/ readOnly tested in #canDrop:
 
     undoSupport := UndoSupport for:self.
-    codeAspectHolder := nil asValue.
+    codeAspectHolder := ValueHolder with:nil.
 
     "Modified: / 27-09-2013 / 09:41:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -6138,7 +6140,7 @@
     "a holder returning true, if in learn mode"
 
     learnMode isNil ifTrue:[
-        learnMode := false asValue
+        learnMode := ValueHolder with:false
     ].
     ^ learnMode
 !
@@ -7067,9 +7069,9 @@
     modal := false "(UserPreferences current searchDialogIsModal)".
     lastSearchDirection := #forward.
     ign := lastSearchIgnoredCase ? LastSearchIgnoredCase ? true.
-    caseHolder := ign asValue.
-    patternHolder := '' asValue.
-    replacePatternHolder := '' asValue.
+    caseHolder := ValueHolder with:ign.
+    patternHolder := ValueHolder with:''.
+    replacePatternHolder := ValueHolder with:''.
     lastSearchPattern notNil ifTrue:[
         initialString := lastSearchPattern
     ].
@@ -7362,6 +7364,8 @@
 !EditTextView methodsFor:'private'!
 
 beep
+    "output an audible beep or bell on my screen device"
+
     UserPreferences current beepInEditor ifTrue:[                
         super beep
     ]
@@ -7437,6 +7441,9 @@
 !
 
 st80EditMode
+    "If on, the cursor wraps at the line end (like in vi or st80);
+     if off, we have the Rand-editor behavior (random access)"
+
     ^ st80Mode ? (UserPreferences current st80EditMode)
 !
 
@@ -8971,11 +8978,11 @@
 !EditTextView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/EditTextView.st,v 1.628 2014-12-05 13:39:25 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/EditTextView.st,v 1.633 2015-02-16 01:09:27 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/EditTextView.st,v 1.628 2014-12-05 13:39:25 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/EditTextView.st,v 1.633 2015-02-16 01:09:27 cg Exp $'
 !
 
 version_HG
--- a/GenericToolbarIconLibrary.st	Wed Dec 31 11:25:27 2014 +0100
+++ b/GenericToolbarIconLibrary.st	Mon Feb 16 08:12:24 2015 +0000
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libwidg' }"
 
+"{ NameSpace: Smalltalk }"
+
 Object subclass:#GenericToolbarIconLibrary
 	instanceVariableNames:''
 	classVariableNames:''
@@ -7593,14 +7595,14 @@
     <resource: #image>
 
     ^Icon
-	constantNamed:'GenericToolbarIconLibrary class languages22x22Icon'
-	ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B (JB (@@@@@@@@F <O@@@@@@@@@@@ZJB (GA0\GA0(JB VE @@@@@@@@@@
-F" (JA0\GA0\GB (E!!X@@@@@@@@@@A((JA0\GA0\GA0\JA(Z@@@@@@@@@@@ZJB \GA0\GA0\GB (J@@@@@@@@@@@F" (@@X\G@X@GA0(JB B@@@@@@@@@A((
-J@@FB0,F@@(J@@(J@ @@@@@@@@@ZJB @@@XFB0X@@@TEAPTE@@@@@@@@F" (@ALFA!!4S@0LBAPTEB@@@@@@@@AT@@@@]H2L#GP8QDQLSG2@WE0$@@@@U@@@@
-GQ<_G1<QDQDSD1<_E1\I@@@@A@@@@AL]GRLSD!!HMF1,_G1<_BP@@@@@@@@@SFQ$YFRT%EALSHRP^G $@@@@@@@@@D1$"H"H%IQPSD2D$G"HI@@@@@@@@@AP"
-H!!$"H"H"H"H"H"H"A0@@@@@@@@@PFA LA2H"CBH"I!!$"H 0@@@@@@@@@C@0L@@@GA00GA00LA0\@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 0 0 0 32 32 32 48 48 48 49 48 49 54 54 54 69 69 69 75 67 22 82 82 82 85 14 14 89 89 89 105 105 105 106 88 25 110 19 19 113 19 19 131 129 131 134 122 39 149 25 25 149 26 26 158 27 27 158 140 45 164 161 164 164 161 172 165 43 43 177 161 52 196 175 0 197 194 197 204 36 36 204 75 75 205 36 36 205 113 38 212 66 66 216 81 81 223 72 72 227 202 66 231 120 120 231 123 123 255 129 0 255 238 162 255 251 229 255 255 255]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@O \@??>@??>@??>@??>@???0???0???0???8???8???8???89??81??81??81??81??8A9?0A@@@A@@@A@@@') ; yourself); yourself]
+        constantNamed:'GenericToolbarIconLibrary languages22x22Icon'
+        ifAbsentPut:[(Depth8Image new) width:22; height:22; bits:(ByteArray fromPackedString:'
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FA @@@@@@@@@@@@@@@@XF@@@@@@@@@B (JB (JB (JB (F!!(Z@@@@@@@@@@@ZJB (JA0\GA0(JB ZF @@@@@@@@@@
+F" (JA0\GA0\GB (F!!(@@@@@@@@@@A((JA0\GA0\GA0\JB Z@@@@@@@@@@@ZJB \GA0\GA0\GB (J@@@@@@@@@@@F" (GA0\GA0\GA0(JB B@@@@@@@@@A((
+J@X@A LC@0LC@0LC@ @@@@X@@@@ZJB @@@@@@0@@@@@@@@@C@@@@@@@@F" (@@X@@@@@@@@@@@@@@@@E@@@@@ATZF @]DQDQGP8[F1,SE1\WE0$@@@XF@@@@
+GQ<_G1<[F1,[D1<_E1\I@@@@@@@@@AL]GQDSD!!H[F1,[F1,[BP@@@@@@@@@TFQ$YFQ$YEAPTEAPTE@@@@@@@@@@@FQ$"H"HYFQ$YFQ$YFRH@@@@@@@@@@BH"
+H!!$"H"H"H"H"H"H"@@@@@@@@@@@"H"H"H"H"H"HYFQ$YFPX@@@@@@@@F@@@@@@@@@@@@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 0 0 0 32 32 32 48 48 48 49 48 49 54 54 54 69 69 69 75 67 22 82 82 82 85 14 14 89 89 89 105 105 105 106 88 25 110 19 19 113 19 19 131 129 131 134 122 39 149 25 25 149 26 26 158 27 27 158 140 45 164 161 164 164 161 172 165 43 43 177 161 52 196 175 0 197 194 197 204 36 36 204 75 75 205 36 36 205 113 38 212 66 66 216 81 81 223 72 72 227 202 66 231 120 120 231 123 123 255 129 0 255 238 162 255 251 229 255 255 255]; mask:((ImageMask new) width:22; height:22; bits:(ByteArray fromPackedString:'@@@@_?>@_?>@_?>@_?>@_?>@_?>@_?>@_??8_??8_??8_??8_??8A??8A??8A??8A??8A??8A??8@@@@@@@@@@@@') ; yourself); yourself]
 !
 
 left22x22Icon
@@ -8067,6 +8069,64 @@
         ]
 !
 
+pickWindowIcon
+    <resource: #programImage>
+
+    ^ self pickWindowIcon2
+!
+
+pickWindowIcon1
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     self pickWindowIcon1 inspect
+     ImageEditor openOnClass:self andSelector:#pickWindowIcon1
+     Icon flushCachedIcons
+    "
+
+    <resource: #image>
+
+    ^Icon
+        constantNamed:'GenericToolbarIconLibrary pickWindowIcon1'
+        ifAbsentPut:[(Depth8Image new) width:22; height:22; bits:(ByteArray fromPackedString:'
+@@DB@0PEA \HBP(KC@4NC1@QD!!LTEPDVE1 YF!!,\GQ8_HBD"H2P%I"X&I2 )J!!\WFQ([J20-K"<0LSH$IRX&I#L4MSX6M#X6M#X6M#X6M#\7NC$:N30=O#<6
+M#X6M#X6M#X6M#\7M3 9N#,<OT@?M#X6M#X6M#X6M#X7M3\8NS(;OC5@PSX6M#X6M#X6M#X6M#\7NC$:N30:PDH6M#X6M#X6M$MCP3X6M3\8NS(;ODQEM#X6
+M#X6P4L6P3YCP3\8NS(;ODYDQSX6M#X6P3X6P4MCM3]CNS(;OC%GRD$6M#X6M$L6M3]CNS\7P3$:N309Q4!!JM#X6M$L6P3\7P3\7P3%CN31KN41MR#X6M#YC
+P4MCP4MCP4MCP3,<N31NST<6M#X6P3YCM3]CM3!!CN$MGQ3,<S$5PM#X6M#YCM#\7P3\8NTL;Q4]GQ5EMT#X6M#X6P3X7P4MCNC%CN4]GQ4]SSUP6M#X6M#YC
+P3]CNDMCN31GQ4]GT45UM#X6M#X6U#]CP4L:N31GQ4]GQ5]MVE$6M#X7M3 9N#,<N#,<Q4]GQ4]ZSU!!YM#X6M3\8NS(;OC(;OD]GQ4]GV$5[VSX6M3\8NS(;
+OC$:N31GQ4]GQ5M\V55^W6A!!X&M$YVY''ZD!!MST5MST5MW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[56 150 230 68 158 230 76 160 230 72 156 230 68 150 230 64 144 230 60 138 220 56 132 220 52 126 220 44 120 220 40 114 210 36 108 210 32 102 210 28 96 210 24 90 200 20 84 200 16 78 200 12 72 200 8 66 190 4 64 190 4 56 180 0 50 160 140 208 255 132 202 255 124 194 255 116 186 255 108 178 255 100 170 255 92 162 255 84 154 255 76 144 255 68 136 255 56 128 255 48 118 255 40 110 255 32 100 255 20 92 255 12 82 255 4 74 255 4 64 240 0 50 170 76 164 240 132 200 255 88 158 255 80 150 255 72 142 255 64 132 255 56 124 255 44 116 255 36 106 255 28 98 255 4 68 250 0 50 180 92 168 240 255 255 255 244 244 250 240 242 250 240 240 250 240 238 240 236 236 240 236 234 240 240 240 240 28 72 180 108 176 240 56 94 180 104 174 230 104 172 230 0 0 0 56 92 180 104 170 230 232 234 240 232 232 240 52 90 180 104 168 230 100 166 230 236 238 240 228 228 240 52 88 180 224 226 230 100 164 230 100 162 230 224 222 230 100 160 230 220 220 230 96 160 230 96 158 220 248 246 250 220 218 230 96 154 220 252 250 250 212 212 220 52 128 210 12 60 170 88 146 220 84 140 210 80 136 210 80 132 210 76 126 200 72 122 200 68 118 200 68 114 190 64 108 190 60 104 190 60 100 180 56 96 180]; mask:((Depth1Image new) width:22; height:22; bits:(ByteArray fromPackedString:'????????????????????????????????????????????????????????????????????????????????????????') ; yourself); yourself]
+!
+
+pickWindowIcon2
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     self pickWindowIcon2 inspect
+     ImageEditor openOnClass:self andSelector:#pickWindowIcon2
+     Icon flushCachedIcons
+    "
+
+    <resource: #image>
+
+    ^Icon
+        constantNamed:'Tools::ViewTreeInspectorApplication pickWindowIcon2'
+        ifAbsentPut:[(Depth8Image new) width:21; height:23; bits:(ByteArray fromPackedString:'
+@@DB@0PEA \HBP(KC@4NC1@QD!!LT@QTVE1 YF!!,\GQ8_HBD"H2P$IBT&I2 )E1 YJ",,KR8/LCD"H2P$ICH3MCT5MST5MST5MST5MSX7NC$:N30=O#T5MST5
+MST?O3<?O3X7NC$:N31@O#T5MST5O3<5MS<5M#<?NC$:N31@PST5MST?MST?O3<?O3X7O3$:N3%@P#T5MS<5MST5MS<6M#\8NS<:N31CQCT5O3T5MST?O3<?
+O3\8NS(?N31CQCT5O3T5MST5M#<6M3 9N#(?N31EQ#T?MS<5O3T5O3<?M3 ?N#<:O31EQ3T?MS<5O3T?M#X7O3$?N#<:O31HQ3T?O3<?O3<?M#X7O3<?O3<?
+O31HRST?MS<5O3X?M#X7O3$?NC<:O31HR#T?MS<5O3X6O3<?N#$?NC<:O31HR3T5O3T5M#X6M3<9N#$:NC$?N31HSCT5O3T6M#X?O3<?O3$:ST4?ST9HS3T5
+MS<6M#X6M3<9N#$:SS=MSUAHTUH5MSX?M#X?O3<?O3-MO45MSUMHTUH5M#X6O3<9N#<9N#<?ST5MSUMHUEH5M#X7NC$?O3<?O3-MST5MST9UUCT5MST5MST5
+MST5MSX7NC$:N31UUEYWVE%ZV51]W%= QT!!HRD!!HRD!!U') ; colorMapFromArray:#[56 150 230 68 158 230 72 156 230 68 150 230 64 144 230 60 138 220 56 132 220 52 126 220 44 120 220 40 114 210 36 108 210 32 102 210 28 96 210 24 90 200 20 84 200 16 78 200 12 72 200 8 66 190 4 64 190 4 56 180 0 50 160 140 208 255 124 194 255 116 186 255 108 178 255 100 170 255 92 162 255 84 154 255 76 144 255 68 136 255 56 128 255 48 118 255 40 110 255 32 100 255 20 92 255 12 82 255 4 74 255 4 64 240 0 50 170 76 164 240 132 200 255 132 202 255 88 158 255 80 150 255 72 142 255 64 132 255 56 124 255 44 116 255 36 106 255 28 98 255 4 68 250 0 50 180 92 168 240 255 255 255 244 244 250 240 242 250 240 240 250 240 238 240 236 236 240 236 234 240 240 240 240 28 72 180 108 176 240 0 0 0 56 94 180 104 174 230 104 172 230 56 92 180 104 170 230 52 90 180 104 168 230 100 166 230 52 88 180 100 164 230 100 162 230 100 160 230 96 160 230 232 232 240 220 220 230 96 158 220 220 218 230 96 154 220 252 250 250 212 212 220 52 128 210 12 60 170 88 146 220 80 136 210 80 132 210 76 126 200 72 122 200 68 118 200 68 114 190 64 108 190 60 104 190 60 100 180 56 96 180]; mask:((Depth1Image new) width:21; height:23; bits:(ByteArray fromPackedString:'???8???8???8???8???8???8???8???8???8???8???8???8???8???8???8???8???8???8???8???8???8???8???8') ; yourself); yourself]
+!
+
 printer22x22Icon
     <resource:#programImage>
     ^ self printer22x22Icon1
@@ -8645,6 +8705,26 @@
     "Modified: / 06-02-2007 / 19:41:03 / cg"
 !
 
+bigCrossHairIcon
+    "This resource specification was automatically generated
+     by the ImageEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the ImageEditor may not be able to read the specification."
+
+    "
+     self bigCrossHairIcon inspect
+     ImageEditor openOnClass:self andSelector:#bigCrossHairIcon
+     Icon flushCachedIcons
+    "
+
+    <resource: #image>
+
+    ^Icon
+        constantNamed:'GenericToolbarIconLibrary bigCrossHairIcon'
+        ifAbsentPut:[(Depth1Image new) width:24; height:24; bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@F0@@XL@@>>@A8O@A>?@B,Z B(J @@@@B(J B,Z A>?@A8O@@>>@@XL@@F0@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[255 255 255 0 0 0]; mask:((Depth1Image new) width:24; height:24; bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@G0@@_<@@?>@A??@C?? C?? G??0G<_0G<_0G<_0G??0C?? C?? A??@@?>@@_<@@G0@@@@@@@@@@@@@@@@@') ; yourself); yourself]
+!
+
 bugReporter24x24Icon
     <resource: #image>
     "This resource specification was automatically generated
@@ -17352,11 +17432,11 @@
 !GenericToolbarIconLibrary class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/GenericToolbarIconLibrary.st,v 1.227 2014-12-19 19:18:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/GenericToolbarIconLibrary.st,v 1.229 2015-02-15 09:53:02 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/GenericToolbarIconLibrary.st,v 1.227 2014-12-19 19:18:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/GenericToolbarIconLibrary.st,v 1.229 2015-02-15 09:53:02 cg Exp $'
 !
 
 version_HG
--- a/PopUpMenu.st	Wed Dec 31 11:25:27 2014 +0100
+++ b/PopUpMenu.st	Mon Feb 16 08:12:24 2015 +0000
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libwidg' }"
 
+"{ NameSpace: Smalltalk }"
+
 PopUpView subclass:#PopUpMenu
 	instanceVariableNames:'menuView lastSelection memorize hideOnLeave actionLabels
 		actionLines actionValues hideOnRelease defaultHideOnRelease
@@ -1687,10 +1689,10 @@
 !PopUpMenu class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/PopUpMenu.st,v 1.116 2014-06-04 12:38:42 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/PopUpMenu.st,v 1.118 2015-02-13 11:06:05 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/PopUpMenu.st,v 1.116 2014-06-04 12:38:42 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/PopUpMenu.st,v 1.118 2015-02-13 11:06:05 cg Exp $'
 ! !
 
--- a/SelectionInListView.st	Wed Dec 31 11:25:27 2014 +0100
+++ b/SelectionInListView.st	Mon Feb 16 08:12:24 2015 +0000
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libwidg' }"
 
+"{ NameSpace: Smalltalk }"
+
 ListView subclass:#SelectionInListView
 	instanceVariableNames:'selection actionBlock enabled hilightFgColor hilightBgColor
 		hilightFgColorNoFocus hilightBgColorNoFocus halfIntensityFgColor
@@ -3288,24 +3290,28 @@
      however, if a dragObjectConverter is defined, that one gets a chance
      to convert as appropriate."
 
-    |collection converted|
+    |collection indices converted|
 
     collection := OrderedCollection new.
-
-    self selectionDo:[:aNumber| |text|
+    indices := OrderedCollection new.      
+
+    self selectionDo:[:aNumber| 
+        |text|
+
         text := self at:aNumber.
-        collection add:(DropObject newText:text)
+        collection add:(DropObject newText:text).
+        indices add:aNumber.
     ].
     dragObjectConverter notNil ifTrue:[
         converted := OrderedCollection new.
-        collection do:[:o | 
-                                |convertedObject|
-
-                                convertedObject := dragObjectConverter value:o.
-                                convertedObject notNil ifTrue:[
-                                    converted add:convertedObject
-                                ]
-                      ].
+        collection with:indices do:[:o :idx | 
+            |convertedObject|
+
+            convertedObject := dragObjectConverter value:o optionalArgument:idx.
+            convertedObject notNil ifTrue:[
+                converted add:convertedObject
+            ]
+        ].
         collection := converted
     ].
     ^ collection.
@@ -3320,8 +3326,7 @@
      i.e. it can handle some keyboard input,
      isCursorKeyConsumer are potential candidates for getting the keyboard
      focus initially within dialogBoxes, or when the focus-follows-pointer
-     mode is off.
-     Return false here, this is redefined in SelectionInListView."
+     mode is off."
 
     ^ true
 !
@@ -4183,11 +4188,11 @@
 !SelectionInListView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/SelectionInListView.st,v 1.282 2014-12-03 22:54:29 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/SelectionInListView.st,v 1.284 2015-02-04 23:14:36 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/SelectionInListView.st,v 1.282 2014-12-03 22:54:29 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/SelectionInListView.st,v 1.284 2015-02-04 23:14:36 cg Exp $'
 !
 
 version_HG
--- a/TextCollector.st	Wed Dec 31 11:25:27 2014 +0100
+++ b/TextCollector.st	Mon Feb 16 08:12:24 2015 +0000
@@ -13,6 +13,8 @@
 
 "{ Package: 'stx:libwidg' }"
 
+"{ NameSpace: Smalltalk }"
+
 EditTextView subclass:#TextCollector
 	instanceVariableNames:'entryStream lineLimit destroyAction outstandingLines
 		outstandingLine flushBlock flushPending inFlush collecting
@@ -668,7 +670,8 @@
 display:someObject
     "dolphin compatibility"
 
-    someObject printOn:self.
+    "/ someObject printOn:self.
+    self nextPutAll: someObject asString.
 !
 
 doesNotUnderstand:aMessage
@@ -1179,11 +1182,11 @@
 !TextCollector class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/TextCollector.st,v 1.139 2014-11-15 15:10:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/TextCollector.st,v 1.140 2015-02-03 09:19:42 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/TextCollector.st,v 1.139 2014-11-15 15:10:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/TextCollector.st,v 1.140 2015-02-03 09:19:42 cg Exp $'
 ! !
 
 
--- a/TextView.st	Wed Dec 31 11:25:27 2014 +0100
+++ b/TextView.st	Mon Feb 16 08:12:24 2015 +0000
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libwidg' }"
 
+"{ NameSpace: Smalltalk }"
+
 ListView subclass:#TextView
 	instanceVariableNames:'selectionStartLine selectionStartCol selectionEndLine
 		selectionEndCol clickPos clickStartLine clickStartCol clickLine
@@ -1193,7 +1195,7 @@
     selection := self selection.
 
     selection size == 0 ifTrue:[^ nil].
-  ^ Array with:(DropObject newText:selection).
+    ^ Array with:(DropObject newText:selection).
 !
 
 dropSource
@@ -2754,9 +2756,9 @@
     selectionEndLine := firstLineShown + nFullLinesShown.
     selectionEndCol := 0.
     prevEndLine to:selectionEndLine do:[:lineNr |
-	self redrawLine:lineNr
+        self redrawLine:lineNr
     ].
-    Processor addTimedBlock:autoScrollBlock afterSeconds:autoScrollDeltaT.
+    autoScrollBlock notNil ifTrue:[ Processor addTimedBlock:autoScrollBlock afterSeconds:autoScrollDeltaT ].
     self selectionChanged.
 !
 
@@ -2774,7 +2776,7 @@
     selectionStartCol := selectionStartCol - 1 max:1.
     self scrollLeft.
 
-    Processor addTimedBlock:autoScrollBlock afterSeconds:autoScrollDeltaT.
+    autoScrollBlock notNil ifTrue:[ Processor addTimedBlock:autoScrollBlock afterSeconds:autoScrollDeltaT ].
     self selectionChanged.
 !
 
@@ -2792,18 +2794,18 @@
 
     endLine := self listLineToVisibleLine:selectionEndLine.
     endLine notNil ifTrue:[
-	firstVisibleCol := self colOfX:1 inVisibleLine:endLine.
-	selectionEndCol < firstVisibleCol ifTrue:[
-	    "/ scrolling faster than selection advances...
-	    selectionEndCol := firstVisibleCol
-	].
+        firstVisibleCol := self colOfX:1 inVisibleLine:endLine.
+        selectionEndCol < firstVisibleCol ifTrue:[
+            "/ scrolling faster than selection advances...
+            selectionEndCol := firstVisibleCol
+        ].
     ].
 
     self selectionChanged.
     self scrollRight.
     "/ self repairDamage.
 
-    Processor addTimedBlock:autoScrollBlock afterSeconds:autoScrollDeltaT.
+    autoScrollBlock notNil ifTrue:[ Processor addTimedBlock:autoScrollBlock afterSeconds:autoScrollDeltaT ].
 
     "Modified: / 05-08-2010 / 21:25:56 / cg"
 !
@@ -2823,9 +2825,9 @@
     selectionStartLine := firstLineShown.
     selectionStartCol := 1.
     selectionStartLine to:prevStartLine do:[:lineNr |
-	self redrawLine:lineNr
+        self redrawLine:lineNr
     ].
-    Processor addTimedBlock:autoScrollBlock afterSeconds:autoScrollDeltaT.
+    autoScrollBlock notNil ifTrue:[ Processor addTimedBlock:autoScrollBlock afterSeconds:autoScrollDeltaT ].
     self selectionChanged.
 !
 
@@ -4280,9 +4282,10 @@
     "set the searchpattern for future searches"
 
     aStringOrNil isEmptyOrNil ifTrue:[
-	lastSearchPattern := nil.
+        lastSearchPattern := nil.
     ] ifFalse:[
-	lastSearchPattern := aStringOrNil asString withoutSeparators string.
+        "/ not withoutSeparators: may want to search for spaces...
+        lastSearchPattern := aStringOrNil asString "withoutSeparators" string.
     ].
 
     "Modified: / 6.3.1999 / 23:47:36 / cg"
@@ -4949,11 +4952,11 @@
 !TextView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/TextView.st,v 1.384 2014-08-03 12:27:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/TextView.st,v 1.388 2015-02-04 23:14:56 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/TextView.st,v 1.384 2014-08-03 12:27:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/TextView.st,v 1.388 2015-02-04 23:14:56 cg Exp $'
 !
 
 version_HG
--- a/Toggle.st	Wed Dec 31 11:25:27 2014 +0100
+++ b/Toggle.st	Mon Feb 16 08:12:24 2015 +0000
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libwidg' }"
 
+"{ NameSpace: Smalltalk }"
+
 Button subclass:#Toggle
 	instanceVariableNames:'showLamp lampColor lampWidth lampHeight'
 	classVariableNames:'DefaultShowLamp DefaultLampColor LampInset'
@@ -394,10 +396,18 @@
     "Modified: / 6.6.1998 / 19:32:50 / cg"
 !
 
+lampHeight
+    ^ lampHeight
+!
+
 lampHeight:something
     lampHeight := something.
 !
 
+lampWidth
+    ^ lampWidth 
+!
+
 lampWidth: something
     lampWidth := something
 !
@@ -626,10 +636,10 @@
 !Toggle class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/Toggle.st,v 1.57 2014-02-18 16:59:47 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/Toggle.st,v 1.58 2015-01-26 14:47:46 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/Toggle.st,v 1.57 2014-02-18 16:59:47 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/Toggle.st,v 1.58 2015-01-26 14:47:46 cg Exp $'
 ! !
 
--- a/Workspace.st	Wed Dec 31 11:25:27 2014 +0100
+++ b/Workspace.st	Mon Feb 16 08:12:24 2015 +0000
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libwidg' }"
 
+"{ NameSpace: Smalltalk }"
+
 TextCollector subclass:#Workspace
 	instanceVariableNames:'doItAction codeStartPosition errorFgColor errorBgColor
 		commentStrings autoDefineWorkspaceVariables simulatedSelf
@@ -327,7 +329,6 @@
     DefaultViewBackground := StyleSheet colorAt:'codeView.backgroundColor'.
 ! !
 
-
 !Workspace class methodsFor:'getting a new Workspace'!
 
 open
@@ -1843,7 +1844,7 @@
                                 browserClass browseReferendsOf:nsClass name
                             ] ifFalse:[
                                 "/ an instvar?
-                                (cls allInstVarNames includes:nameOfVariable) ifTrue:[
+                                (cls notNil and:[cls allInstVarNames includes:nameOfVariable]) ifTrue:[
                                     browserClass 
                                         browseInstRefsTo:nameOfVariable 
                                         under:(cls whichClassDefinesInstVar:nameOfVariable) 
@@ -2347,10 +2348,10 @@
 !Workspace class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.339 2014-11-15 15:10:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.340 2015-02-06 13:50:52 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.339 2014-11-15 15:10:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.340 2015-02-06 13:50:52 cg Exp $'
 ! !
 
--- a/stx_libwidg.st	Wed Dec 31 11:25:27 2014 +0100
+++ b/stx_libwidg.st	Mon Feb 16 08:12:24 2015 +0000
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libwidg' }"
 
+"{ NameSpace: Smalltalk }"
+
 LibraryDefinition subclass:#stx_libwidg
 	instanceVariableNames:''
 	classVariableNames:''
@@ -36,8 +38,10 @@
 
 documentation
 "
-    Build- and package information for creation of the st/x standard library: stx_libwidg.
-    This library contains elementary gui components (widgets).
+    Package Documentation
+
+    This library contains elementary gui components (widgets), such as Buttons, InputFields,
+    TextEditors, Scrollbars etc.
 "
 ! !
 
@@ -246,10 +250,10 @@
 !stx_libwidg class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/stx_libwidg.st,v 1.38 2014-11-22 22:38:47 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/stx_libwidg.st,v 1.39 2015-01-31 12:58:46 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/stx_libwidg.st,v 1.38 2014-11-22 22:38:47 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/stx_libwidg.st,v 1.39 2015-01-31 12:58:46 cg Exp $'
 ! !