something for the next release

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

something for the next release

Eliot Miranda-2
Hi All, Hi Marcel,

    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 

delete
  ...
sketchEditor := self extantSketchEditor.
  ...
sketchEditor ifNotNil:
[sketchEditor deleteSelfAndSubordinates.
(thisWorld notNil 
 and: [(aPaintBox := thisWorld paintBoxOrNil) notNil]) ifTrue:
[aPaintBox delete]].

it reads something like

delete
  ...
dependentMorphs := self dependentMorphsOrNil.
  ...
dependentMorphs ifNotNil:
[dependentMorphs do: [:each| each deleteSelfAndSubordinates]].

then I can easily extend this to deal with additional inspector windows, instead of having code in the model to search for them.
_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: something for the next release

Jakob Reschke
Hi Eliot,

Does it require another hierarchy next to the owner hierarchy of morphs? Or should some submorphs simply not move when their owner is moved?

Should it be a Morphic feature or a Tools feature?

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?

Kind regards,
Jakob



Eliot Miranda <[hidden email]> schrieb am Mi., 25. Dez. 2019, 06:55:
Hi All, Hi Marcel,

    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 

delete
  ...
sketchEditor := self extantSketchEditor.
  ...
sketchEditor ifNotNil:
[sketchEditor deleteSelfAndSubordinates.
(thisWorld notNil 
 and: [(aPaintBox := thisWorld paintBoxOrNil) notNil]) ifTrue:
[aPaintBox delete]].

it reads something like

delete
  ...
dependentMorphs := self dependentMorphsOrNil.
  ...
dependentMorphs ifNotNil:
[dependentMorphs do: [:each| each deleteSelfAndSubordinates]].

then I can easily extend this to deal with additional inspector windows, instead of having code in the model to search for them.
_,,,^..^,,,_
best, Eliot