models: adding ?set-model.
							parent
							
								
									07b0d52f55
								
							
						
					
					
						commit
						cceb085d60
					
				| 
						 | 
				
			
			@ -64,6 +64,10 @@ HELP: set-model
 | 
			
		|||
{ $values { "value" object } { "model" model } }
 | 
			
		||||
{ $description "Changes the value of a model and calls " { $link model-changed } " on all observers registered with " { $link add-connection } "." } ;
 | 
			
		||||
 | 
			
		||||
HELP: ?set-model
 | 
			
		||||
{ $values { "value" object } { "model" model } }
 | 
			
		||||
{ $description "Similar to " { $link set-model } ", but only sets the value if the new value is different." } ;
 | 
			
		||||
 | 
			
		||||
{ set-model change-model change-model* (change-model) push-model pop-model } related-words
 | 
			
		||||
 | 
			
		||||
HELP: change-model
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -87,6 +87,9 @@ M: model update-model drop ;
 | 
			
		|||
        ] with-locked-model
 | 
			
		||||
    ] if ;
 | 
			
		||||
 | 
			
		||||
: ?set-model ( value model -- )
 | 
			
		||||
    2dup value>> = [ 2drop ] [ set-model ] if ;
 | 
			
		||||
 | 
			
		||||
: ((change-model)) ( model quot -- newvalue model )
 | 
			
		||||
    over [ [ value>> ] dip call ] dip ; inline
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue