#FEATURE by cg
class: DialogBox class
added: #withAdditionalOKButtonLabeled:action:andOKButtonLabeled:action:do:
comment/format in: #withAdditionalOKButtonLabeled:action:do:
--- a/DialogBox.st Sat Jun 08 17:37:34 2019 +0200
+++ b/DialogBox.st Mon Jun 10 14:30:52 2019 +0200
@@ -6622,20 +6622,57 @@
"Modified: / 20-08-2018 / 11:46:31 / Claus Gittinger"
!
-withAdditionalOKButtonLabeled:aString action:action do:boxOpeningBlock
+withAdditionalOKButtonLabeled:label1 action:action1
+ andOKButtonLabeled:label2 action:action2 do:boxOpeningBlock
"launch a Dialog.
- Add an additional ok-like button to the bottom panel"
+ Add two additional ok-like buttons to the bottom panel.
+ These will invoke the corresponding actions before closing the box with ok"
+
+ ^ self
+ modifyingBoxWith:[:box |
+ |b1 b2|
+
+ (box isKindOf:DialogBox) ifTrue:[
+ b1 := Button label:label1 action:[action1 value. box okPressed].
+ box addButton:b1 after:nil.
+ b2 := Button label:label2 action:[action2 value. box okPressed].
+ box addButton:b2 after:nil.
+ box forceResize.
+ ] ifFalse:[
+ b1 := Button label:label1 action:[action1 value. box application doAccept].
+ b2 := Button label:label2 action:[action2 value. box application doAccept].
+ box application addButton:b1; addButton:b2.
+ ].
+ ]
+ do:boxOpeningBlock.
+
+ "
+ |h|
+ h := true asValue.
+ Dialog
+ withAdditionalOKButtonLabeled:'Oh,yes' action:[Transcript flash]
+ andOKButtonLabeled:'Oh,no' action:[Transcript flash]
+ do:[ Dialog confirm:'some question' ].
+ "
+
+ "Created: / 10-06-2019 / 14:29:32 / Claus Gittinger"
+!
+
+withAdditionalOKButtonLabeled:label1 action:action1 do:boxOpeningBlock
+ "launch a Dialog.
+ Add an additional ok-like button to the bottom panel.
+ This will invoke the corresponding actions before closing the box with ok"
^ self
modifyingBoxWith:[:box |
|b|
(box isKindOf:DialogBox) ifTrue:[
- b := Button label:aString action:[action value. box okPressed].
+ b := Button label:label1 action:[action1 value. box okPressed].
box addButton:b after:nil.
box forceResize.
] ifFalse:[
- b := Button label:aString action:[action value. box application doAccept].
+ b := Button label:label1 action:[action1 value. box application doAccept].
box application addButton:b.
].
]
@@ -6652,6 +6689,7 @@
"Created: / 01-07-2018 / 09:38:09 / Claus Gittinger"
"Modified: / 13-09-2018 / 15:06:54 / Claus Gittinger"
+ "Modified (comment): / 10-06-2019 / 14:30:35 / Claus Gittinger"
!
withCheckBoxFor:checkModel labelled:checkLabel do:boxOpeningBlock