217 |
|
|
218 |
Matcher structure can separate left&right links and know which way |
Matcher structure can separate left&right links and know which way |
219 |
|
|
220 |
|
Now, to make things clear, the call sequence for RealBuoyViewManager |
221 |
|
is |
222 |
|
|
223 |
|
.. UML:: BuoyManagerCall |
224 |
|
|
225 |
|
sequence CallBuoyManager |
226 |
|
call RealBuoyViewManager "render" |
227 |
|
call BuoyViewMainNodeA "renderMain" |
228 |
|
call RealBuoyViewManager "link(NodeTypeB)" |
229 |
|
call BuoyViewNodeTypeB "renderBuoy" |
230 |
|
call RealBuoyViewManager "mouse" |
231 |
|
call BuoyViewNodeTypeB "createMainNode" |
232 |
|
create BuoyViewMainNodeB |
233 |
|
call RealBuoyViewManager "render" |
234 |
|
call BuoyViewMainNodeB "renderMain" |
235 |
|
call RealBuoyViewManager "link(NodeTypeA)" |
236 |
|
call BuoyViewNodeTypeA "renderBuoy" |
237 |
|
|
238 |
|
seqobject RealBuoyViewManager |
239 |
|
seqobject BuoyViewNodeTypeA |
240 |
|
seqobject BuoyViewNodeTypeB |
241 |
|
seqobject BuoyViewMainNodeA |
242 |
|
seqobject BuoyViewMainNodeB |
243 |
|
|
244 |
|
|
245 |
|
--- |
246 |
|
RealBuoyViewManager.c = (0,0); |
247 |
|
horizontally(100, foo, RealBuoyViewManager, BuoyViewNodeTypeA, |
248 |
|
BuoyViewMainNodeA, BuoyViewNodeTypeB, |
249 |
|
BuoyViewMainNodeB.ghost); |
250 |
|
|
251 |
|
In the diagram, we first see RealBuoyViewManager render the view, calling |
252 |
|
BuoyViewMainNodeA to render the main node and getting a callback |
253 |
|
through the BuoyLinkListener interface about a link. This causes it to call |
254 |
|
BuoyViewNodeTypeB to render the buoy. |
255 |
|
|
256 |
|
Then, the mouse click comes which takes the focus to the buoy of type B. |
257 |
|
Its node type object is called to create the new focus object. Then, the |
258 |
|
render pattern is repeated, but now with BuoyViewMainNodeB in the focus. |
259 |
|
|
260 |
The semi-pluggable implementation |
The semi-pluggable implementation |
261 |
--------------------------------- |
--------------------------------- |