<div dir="auto"><div>Hi Eliot,<div dir="auto"><br></div><div dir="auto">Does it require another hierarchy next to the owner hierarchy of morphs? Or should some submorphs simply not move when their owner is moved?</div><div dir="auto"><br></div><div dir="auto">Should it be a Morphic feature or a Tools feature?</div><div dir="auto"><br></div><div dir="auto">Can a window/widget/morph be  "dependent" on only one other (so the hierarchy is a tree) or also on multiple other? How does it behave if something depends on multiple things and one of them is closed? Are there other use cases than just closing? For example modal exclusiveness limited to a part of the hierarchy?</div><div dir="auto"><br></div><div dir="auto">Kind regards,</div><div dir="auto">Jakob</div><div dir="auto"><br></div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>> schrieb am Mi., 25. Dez. 2019, 06:55:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi All, Hi Marcel,<div><br></div><div>    in implementing inspectors for the VMMaker I'm wanting to close all open inspectors associated with a simulation when the simulation window is closed.  I notice in SystemWindow>>delete there is non-generic code (a.k.a. a horrible hack) for the sketch editors associated palettes.  This badly needs rewriting to be generic.  So instead of </div><div><br></div><div>delete</div><div> <span style="white-space:pre-wrap">     ...</span></div><div><div><span style="white-space:pre-wrap">   </span>sketchEditor := self extantSketchEditor.</div><div><span style="color:rgb(0,0,0)"> </span><span style="color:rgb(0,0,0);white-space:pre-wrap">  ...</span></div><div style="color:rgb(0,0,0)"></div><div><div><span style="white-space:pre-wrap"> </span>sketchEditor ifNotNil:</div><div><span style="white-space:pre-wrap">           </span>[sketchEditor deleteSelfAndSubordinates.</div><div><span style="white-space:pre-wrap">         </span> (thisWorld notNil </div><div><span style="white-space:pre-wrap">             </span>  and: [(aPaintBox := thisWorld paintBoxOrNil) notNil]) ifTrue:</div><div><span style="white-space:pre-wrap">                 </span>[aPaintBox delete]].</div></div><div><br></div><div>it reads something like</div><div><br></div><div><div style="color:rgb(0,0,0)">delete</div><div style="color:rgb(0,0,0)"> <span style="white-space:pre-wrap"> ...</span></div><div><div style="color:rgb(0,0,0)"><span style="white-space:pre-wrap">        </span>dependentMorphs := self dependentMorphsOrNil.</div><div style="color:rgb(0,0,0)"> <span style="white-space:pre-wrap">       ...</span></div><div style="color:rgb(0,0,0)"></div><div><span style="white-space:pre-wrap">    </span>dependentMorphs ifNotNil:</div><div><span style="white-space:pre-wrap">                </span>[dependentMorphs do: [:each| each deleteSelfAndSubordinates]].</div></div></div><div><br></div><div>then I can easily extend this to deal with additional inspector windows, instead of having code in the model to search for them.</div><div dir="ltr"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
<br>
</blockquote></div></div></div>