AU-ExoMars / PCOT

Pancam Operations Toolkit
MIT License
3 stars 0 forks source link

sort out uichanged() - too many different ways to do it. #32

Closed jimfinnis closed 3 years ago

jimfinnis commented 3 years ago

There are a number of different ways to do the "the UI of this node has changed so we need to perform the node, but its output will not have changed" operation:

This probably needs unifying. Also note the changed/uichange dichotomy.

Often it's better to do a canvas redisplay, which will do both a uichange and an updateTabs. To be honest, this functionality should be put into a uichanged() method of Tab, but just make sure you do it everywhere and get rid of all the other changes. So here's the suggestion:

OK, can't quite do that because we sometimes need to call uichange from inside the node itself (at least in one place, in XForm.perform immediately before the call to type perform. And that's something that might need looking at; avoiding that second call!) (It also happens in XForm.changed, so trace that down too!) (check also the call in canvas redisplay).

jimfinnis commented 3 years ago