equal
deleted
inserted
replaced
83 clientHolder removeDependent:self |
83 clientHolder removeDependent:self |
84 ]. |
84 ]. |
85 (clientHolder := aValueHolder) notNil ifTrue:[ |
85 (clientHolder := aValueHolder) notNil ifTrue:[ |
86 clientHolder addDependent:self |
86 clientHolder addDependent:self |
87 ]. |
87 ]. |
88 self client:clientHolder value |
88 self updateFromChannels |
89 ! |
89 ! |
90 |
90 |
91 specHolder |
91 specHolder |
92 ^ specHolder |
92 ^ specHolder |
93 ! |
93 ! |
98 specHolder removeDependent:self |
98 specHolder removeDependent:self |
99 ]. |
99 ]. |
100 (specHolder := aValueHolder) notNil ifTrue:[ |
100 (specHolder := aValueHolder) notNil ifTrue:[ |
101 specHolder addDependent:self |
101 specHolder addDependent:self |
102 ]. |
102 ]. |
103 |
103 self updateFromChannels |
104 ! ! |
104 ! ! |
105 |
105 |
106 !SubCanvas methodsFor:'building'! |
106 !SubCanvas methodsFor:'building'! |
107 |
107 |
108 rebuild |
108 rebuild |
144 !SubCanvas methodsFor:'change & update'! |
144 !SubCanvas methodsFor:'change & update'! |
145 |
145 |
146 update:something with:aParameter from:changedObject |
146 update:something with:aParameter from:changedObject |
147 "one of my models changed its value |
147 "one of my models changed its value |
148 " |
148 " |
149 changedObject == clientHolder ifTrue:[^ self client:(clientHolder value)]. |
149 (changedObject == clientHolder or:[changedObject == specHolder]) ifTrue:[ |
150 changedObject == specHolder ifTrue:[ |
150 self updateFromChannels |
151 client isNil ifTrue:[ |
151 ] ifFalse:[ |
152 (client := self application) notNil ifTrue:[ |
152 super update:something with:aParameter from:changedObject. |
153 builder := client builder |
153 ] |
154 ] |
154 |
155 ]. |
155 ! |
156 ^ self spec:(specHolder value) |
156 |
157 ]. |
157 updateFromChannels |
158 |
158 "update canvas from channel |
159 super update:something with:aParameter from:changedObject. |
159 " |
|
160 |client spec| |
|
161 |
|
162 clientHolder isNil ifTrue:[ |
|
163 client := self application |
|
164 ] ifFalse:[ |
|
165 client := clientHolder value |
|
166 ]. |
|
167 |
|
168 specHolder isNil ifTrue:[ |
|
169 spec := #windowSpec |
|
170 ] ifFalse:[ |
|
171 spec := specHolder value |
|
172 ]. |
|
173 (client notNil and:[spec notNil]) ifTrue:[ |
|
174 self client:client spec:spec |
|
175 ] ifFalse:[ |
|
176 self client:nil |
|
177 ] |
160 |
178 |
161 |
179 |
162 ! ! |
180 ! ! |
163 |
181 |
164 !SubCanvas methodsFor:'initialization'! |
182 !SubCanvas methodsFor:'initialization'! |
183 ! ! |
201 ! ! |
184 |
202 |
185 !SubCanvas class methodsFor:'documentation'! |
203 !SubCanvas class methodsFor:'documentation'! |
186 |
204 |
187 version |
205 version |
188 ^ '$Header: /cvs/stx/stx/libwidg2/SubCanvas.st,v 1.4 1997-10-12 11:29:49 ca Exp $' |
206 ^ '$Header: /cvs/stx/stx/libwidg2/SubCanvas.st,v 1.5 1997-10-15 10:31:52 ca Exp $' |
189 ! ! |
207 ! ! |