diff -r b200d2d9bf5e -r 09ea254a9fda UISpecificationTool.st --- a/UISpecificationTool.st Thu Jul 16 21:15:51 1998 +0200 +++ b/UISpecificationTool.st Thu Jul 16 21:18:10 1998 +0200 @@ -534,10 +534,14 @@ specification := nil. aspects := nil. ] ifFalse:[ + "/ same type of spec - simply change the spec; + "/ no need to setup everything + specification class == aSpec class ifTrue:[ specification := aSpec. ^ specChannel value:specification. ]. + specChannel notNil ifTrue:[ specChannel release ]. aspects notNil ifTrue:[ aspects release ]. @@ -553,6 +557,8 @@ specChannel := specification asValue. specification class addBindingsTo:aspects for:specification channel:specChannel. + + "/ arrange for being notified, if any aspect changes aspects do:[:el| el addDependent:self ]. ]. @@ -561,7 +567,7 @@ selection := nil. ]. - "Modified: / 30.1.1998 / 13:50:51 / cg" + "Modified: / 16.7.1998 / 19:39:42 / cg" ! ! !UISpecificationTool methodsFor:'accessing channels'! @@ -668,12 +674,15 @@ "any attribute changed its state in the current specification " someone ~~ modifiedHolder ifTrue:[ + "/ any in the spec has changed. + "/ update my modified holders value + modifiedHolder value ~~ true ifTrue:[ modifiedHolder value:true ] ] - + "Modified: / 16.7.1998 / 19:25:59 / cg" ! ! !UISpecificationTool methodsFor:'selection'!