UISpecificationTool.st
changeset 893 09ea254a9fda
parent 876 32b1012426e3
child 1024 d5085dcaa9ad
equal deleted inserted replaced
892:b200d2d9bf5e 893:09ea254a9fda
   532 
   532 
   533         specChannel   := nil.
   533         specChannel   := nil.
   534         specification := nil.
   534         specification := nil.
   535         aspects       := nil.
   535         aspects       := nil.
   536     ] ifFalse:[
   536     ] ifFalse:[
       
   537         "/ same type of spec - simply change the spec;
       
   538         "/ no need to setup everything
       
   539 
   537         specification class == aSpec class ifTrue:[
   540         specification class == aSpec class ifTrue:[
   538             specification := aSpec.
   541             specification := aSpec.
   539           ^ specChannel value:specification.
   542           ^ specChannel value:specification.
   540         ].
   543         ].
       
   544 
   541         specChannel notNil ifTrue:[ specChannel release ].
   545         specChannel notNil ifTrue:[ specChannel release ].
   542         aspects     notNil ifTrue:[ aspects     release ].
   546         aspects     notNil ifTrue:[ aspects     release ].
   543 
   547 
   544         specification  := aSpec.
   548         specification  := aSpec.
   545         
   549         
   551         aspects        := UISpecification newBindingsDictionary.
   555         aspects        := UISpecification newBindingsDictionary.
   552         aspects builder:builder.
   556         aspects builder:builder.
   553 
   557 
   554         specChannel    := specification asValue.
   558         specChannel    := specification asValue.
   555         specification class addBindingsTo:aspects for:specification channel:specChannel.
   559         specification class addBindingsTo:aspects for:specification channel:specChannel.
       
   560 
       
   561         "/ arrange for being notified, if any aspect changes
   556         aspects do:[:el| el addDependent:self ].
   562         aspects do:[:el| el addDependent:self ].
   557     ].
   563     ].
   558 
   564 
   559     selection notNil ifTrue:[
   565     selection notNil ifTrue:[
   560         self clearScrolledView.
   566         self clearScrolledView.
   561         selection := nil.
   567         selection := nil.
   562     ].
   568     ].
   563 
   569 
   564     "Modified: / 30.1.1998 / 13:50:51 / cg"
   570     "Modified: / 16.7.1998 / 19:39:42 / cg"
   565 ! !
   571 ! !
   566 
   572 
   567 !UISpecificationTool methodsFor:'accessing channels'!
   573 !UISpecificationTool methodsFor:'accessing channels'!
   568 
   574 
   569 modifiedHolder:aValueHolder
   575 modifiedHolder:aValueHolder
   666 
   672 
   667 update:something with:someArgument from:someone
   673 update:something with:someArgument from:someone
   668     "any attribute changed its state in the current specification
   674     "any attribute changed its state in the current specification
   669     "
   675     "
   670     someone ~~ modifiedHolder ifTrue:[
   676     someone ~~ modifiedHolder ifTrue:[
       
   677         "/ any in the spec has changed.
       
   678         "/ update my modified holders value
       
   679 
   671         modifiedHolder value ~~ true ifTrue:[
   680         modifiedHolder value ~~ true ifTrue:[
   672             modifiedHolder value:true
   681             modifiedHolder value:true
   673         ]
   682         ]
   674     ]
   683     ]
   675 
   684 
   676 
   685     "Modified: / 16.7.1998 / 19:25:59 / cg"
   677 ! !
   686 ! !
   678 
   687 
   679 !UISpecificationTool methodsFor:'selection'!
   688 !UISpecificationTool methodsFor:'selection'!
   680 
   689 
   681 selection:something
   690 selection:something