|
Class: TriggerValue
Object
|
+--Model
|
+--ValueModel
|
+--ValueHolder
|
+--TriggerValue
- Package:
- stx:libview2
- Category:
- Interface-Support-Models
- Version:
- rev:
1.11
date: 2014/11/14 11:40:20
- user: cg
- file: TriggerValue.st directory: libview2
- module: stx stc-classLibrary: libview2
- Author:
- Claus Gittinger
a triggerValue sends updates on every store of a value, even if the same
value is stored again.
It can be used as a triggerChannel of a bufferedValueHolder.
(however, in this specific use, you can also use normal ValueHolder,
and set it value to nil before setting it to the actual trigger value)
accessing
-
value: anObject
-
redefined to send change notifications on every store,
even if the same value is stored again.
|trigger|
trigger := TriggerValue new.
trigger onChangeEvaluate:[ Transcript showCR:'hello' ].
trigger value:true.
Delay waitForSeconds:1.
trigger value:true
|
buffered editing with a TriggerValue
|firstName lastName trigger dialog|
firstName := 'foo' asValue.
lastName := 'bar' asValue.
trigger := TriggerValue new.
dialog := Dialog new.
(dialog addTextLabel:'Name:') layout:#left.
(dialog addInputFieldOn:(BufferedValueHolder
subject:firstName
triggerChannel:trigger)) immediateAccept:true.
dialog addVerticalSpace.
(dialog addTextLabel:'Address:') layout:#left.
(dialog addInputFieldOn:(BufferedValueHolder
subject:lastName
triggerChannel:trigger)) immediateAccept:true.
dialog addAbortButton;
addButton:(Button new
label:'undo';
action:[trigger value:false]);
addOkButton.
dialog okAction:[trigger value:true].
dialog open.
Transcript show:firstName value; show:' '; showCR:lastName value
|
|