--- 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'!