--- a/DialogBox.st Wed Apr 03 21:43:55 2013 +0200
+++ b/DialogBox.st Wed Apr 03 21:53:14 2013 +0200
@@ -3427,7 +3427,7 @@
!DialogBox class methodsFor:'fill in the blank dialogs'!
-forRequestText:title editViewClass:editViewClass lines:numLines columns:numCols initialAnswer:initialText model:textModel
+forRequestText:title editViewClass:editViewClass lines:numLines columns:numCols initialAnswer:initialText initialSelection:anIntervalOrNil model:textModel
"return a dialog asking for multiline text.
The box is not shown yet, for further customization"
@@ -3435,18 +3435,36 @@
forRequestText:title
editViewClass:EditTextView
lines:numLines columns:numCols
- initialAnswer:initialText model:textModel
+ initialAnswer:initialText
setupWith:
- [:textView :dialog|
- textView model:textModel.
- textView acceptChannel:(dialog acceptChannel).
-
+ [:textView :dialog|
+ initialText notEmptyOrNil ifTrue:[
+ textModel value:initialText
+ ].
+ textView scrolledView
+ model:textModel;
+ acceptChannel:(dialog acceptChannel).
+ anIntervalOrNil notNil ifTrue:[
+ textView scrolledView selectFromCharacterPosition:anIntervalOrNil start to:anIntervalOrNil stop.
+ ].
]
"Modified: / 12-10-2006 / 13:59:21 / cg"
!
-forRequestText:title editViewClass:editViewClass lines:numLines columns:numCols initialAnswer:initialText model:textModel setupWith:aSetupBlockOrNil
+forRequestText:title editViewClass:editViewClass lines:numLines columns:numCols initialAnswer:initialText model:textModel
+ "return a dialog asking for multiline text.
+ The box is not shown yet, for further customization"
+
+ ^ self
+ forRequestText:title
+ editViewClass:editViewClass
+ lines:numLines columns:numCols
+ initialAnswer:initialText initialSelection:nil
+ model:textModel
+!
+
+forRequestText:title editViewClass:editViewClass lines:numLines columns:numCols initialAnswer:initialText setupWith:aSetupBlockOrNil
"return a dialog asking for multiline text.
The box is not shown yet, for further customization"
@@ -3459,6 +3477,9 @@
withNumberOfLines:numLines
hScrollable:true
vScrollable:true.
+ initialText notEmptyOrNil ifTrue:[
+ textView contents:initialText
+ ].
dialog width:(textView preferredExtentForLines:numLines cols:numCols) x.
dialog addAbortAndOkButtons.
dialog okButton isReturnButton:false.
@@ -3468,9 +3489,6 @@
aSetupBlockOrNil notNil ifTrue:[
aSetupBlockOrNil valueWithOptionalArgument:textView and:dialog
].
- textModel notNil ifTrue:[
- textModel value:initialText.
- ].
^ dialog
@@ -3509,6 +3527,32 @@
"Created: / 12-10-2006 / 13:59:27 / cg"
!
+forRequestText:title lines:numLines columns:numCols initialAnswer:initialText initialSelection:anIntervalOrNil model:textModel
+ "return a dialog asking for multiline text.
+ The box is not shown yet, for further customization"
+
+ ^ self
+ forRequestText:title
+ editViewClass:EditTextView
+ lines:numLines columns:numCols
+ initialAnswer:initialText initialSelection:anIntervalOrNil
+ model:textModel
+
+ "
+ |dialog textHolder|
+
+ textHolder := ValueHolder new.
+ dialog := Dialog forRequestText:'foo' lines:10 columns:40 initialAnswer:'hello' model:textHolder.
+ dialog open.
+ dialog accepted ifTrue:[
+ ^ textHolder value
+ ].
+ ^ nil
+ "
+
+ "Modified: / 12-10-2006 / 12:45:47 / cg"
+!
+
forRequestText:title lines:numLines columns:numCols initialAnswer:initialText model:textModel
"return a dialog asking for multiline text.
The box is not shown yet, for further customization"
@@ -3517,7 +3561,8 @@
forRequestText:title
editViewClass:EditTextView
lines:numLines columns:numCols
- initialAnswer:initialText model:textModel
+ initialAnswer:initialText initialSelection:nil
+ model:textModel
"
|dialog textHolder|
@@ -3820,7 +3865,7 @@
request:aString displayAt:aPoint centered:centered action:resultAction
initialAnswer:initial okLabel:okLabel cancelLabel:cancelLabel title:titleString
-onCancel:cancelValue list:listToSelectFrom initialSelection:anInterval
+onCancel:cancelValue list:listToSelectFrom initialSelection:anIntervalOrNil
"launch a Dialog, which allows user to enter a string.
The dialogs window is titled titleString, or the default (if nil).
If aPoint is nonNil, the box is shown there, optionally centered around it.
@@ -3841,7 +3886,7 @@
title:titleString
onCancel:cancelValue
list:listToSelectFrom
- initialSelection:anInterval
+ initialSelection:anIntervalOrNil
entryCompletionBlock:nil
"
@@ -3905,7 +3950,7 @@
request:aString displayAt:aPoint centered:centeredOrNil action:resultAction
initialAnswer:initial okLabel:okLabel cancelLabel:cancelLabel title:titleString
-onCancel:cancelValue list:listToSelectFrom initialSelection:anInterval
+onCancel:cancelValue list:listToSelectFrom initialSelection:anIntervalOrNil
entryCompletionBlock:entryCompletionBlock
"launch a Dialog, which allows user to enter a string.
The dialogs window is titled titleString, or the default (if nil).
@@ -3925,8 +3970,8 @@
box list:listToSelectFrom.
].
initial notNil ifTrue:[ box initialText:initial printString ].
- anInterval notNil ifTrue:[
- box selectFrom:anInterval start to:anInterval stop.
+ anIntervalOrNil notNil ifTrue:[
+ box selectFromCharacterPosition:anIntervalOrNil start to:anIntervalOrNil stop.
].
box abortAction:[:val | box destroy. ^ cancelValue value].
okLabel notNil ifTrue:[
@@ -4180,7 +4225,7 @@
"Modified: 29.5.1996 / 14:30:05 / cg"
!
-request:aString initialAnswer:initial initialSelection:anInterval
+request:aString initialAnswer:initial initialSelection:anIntervalOrNil
"launch a Dialog, which allows user to enter something.
Return the entered string (may be empty string) or nil (if cancel was pressed)"
@@ -4195,7 +4240,7 @@
title:nil
onCancel:nil
list:nil
- initialSelection:anInterval
+ initialSelection:anIntervalOrNil
entryCompletionBlock:nil
"
@@ -4684,33 +4729,64 @@
Return a stringCollection or nil if cancelled."
^ self
- requestText:title lines:10 columns:40 initialAnswer:''
+ requestText:title initialAnswer:'' initialSelection:nil
"
Dialog requestText:'Bla'
"
!
-requestText:title initialAnswer:initialAnswer
+requestText:title initialAnswer:initialAnswer
"open a dialog asking for multiline text.
Return a stringCollection or nil if cancelled."
^ self
- requestText:title lines:10 columns:60 initialAnswer:initialAnswer
+ requestText:title initialAnswer:initialAnswer initialSelection:nil
"
Dialog requestText:'Bla' initialAnswer:'Hello world'
"
!
+requestText:title initialAnswer:initialAnswer initialSelection:anIntervalOrNil
+ "open a dialog asking for multiline text.
+ Return a stringCollection or nil if cancelled."
+
+ ^ self
+ requestText:title lines:10 columns:60 initialAnswer:initialAnswer initialSelection:anIntervalOrNil
+
+ "
+ Dialog requestText:'Bla' initialAnswer:'Hello world' initialSelection:(1 to:5)
+ "
+!
+
requestText:title lines:numLines columns:numCols initialAnswer:initialText
"open a dialog asking for multiline text.
Return a stringCollection or nil if cancelled."
+ ^ self
+ requestText:title lines:numLines columns:numCols
+ initialAnswer:initialText initialSelection:nil
+
+ "
+ Dialog requestText:'Bla' lines:8 columns:40 initialAnswer:'hello world'
+ "
+
+ "Modified: / 18.8.2000 / 21:45:41 / cg"
+!
+
+requestText:title lines:numLines columns:numCols initialAnswer:initialText initialSelection:anIntervalOrNil
+ "open a dialog asking for multiline text.
+ Return a stringCollection or nil if cancelled."
+
|dialog textHolder|
textHolder := ValueHolder new.
- dialog := Dialog forRequestText:title lines:numLines columns:numCols initialAnswer:initialText model:textHolder.
+ dialog := Dialog
+ forRequestText:title editViewClass:EditTextView
+ lines:numLines columns:numCols
+ initialAnswer:initialText initialSelection:anIntervalOrNil
+ model:textHolder.
dialog open.
dialog accepted ifTrue:[
^ textHolder value
@@ -4718,8 +4794,12 @@
^ nil
"
- Dialog requestText:'Bla' lines:8 columns:40 initialAnswer:'hello world'
- "
+ Dialog
+ requestText:'Bla' lines:8 columns:40 initialAnswer:'hello world'
+
+ Dialog
+ requestText:'Bla2' lines:8 columns:40 initialAnswer:'hello world' initialSelection:(1 to:5)
+ "
"Modified: / 18.8.2000 / 21:45:41 / cg"
! !
@@ -9799,11 +9879,11 @@
!DialogBox class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg/DialogBox.st,v 1.334 2013-03-30 19:14:25 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg/DialogBox.st,v 1.335 2013-04-03 19:53:14 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libwidg/DialogBox.st,v 1.334 2013-03-30 19:14:25 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg/DialogBox.st,v 1.335 2013-04-03 19:53:14 cg Exp $'
! !