eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'TriggerValue':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: TriggerValue


Inheritance:

   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

Description:


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)


Instance protocol:

accessing
o  value: anObject
redefined to send change notifications on every store,
even if the same value is stored again.


Examples:


        |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


ST/X 7.2.0.0; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Fri, 16 Apr 2021 10:50:27 GMT