2014-12-01 10:32 GMT+01:00 Marcus Denker <marcus.denker@inria.fr>:
On 01 Dec 2014, at 10:26, Thierry Goubier <thierry.goubier@gmail.com> wrote:
2014-12-01 10:19 GMT+01:00 Marcus Denker <marcus.denker@inria.fr>:
The mechanism is very simple... if you remove a tool and then use it, there will be a DNU. (it should open instead window and tell that no tool is installed)
In fact, it's worse: it DNUs even if you still have some tools installed, just because you unregistered one of them.
i.e. With AltBrowser installed, you have four browsers in your image: SystemBrowser, Nautilus, PackageTreeNautilus, and AltBrowser. If you unregister AltBrowser, you have a DNU, even if you have the three others still available.
Yes, as they are there but not registered. ToolRegistry just knows about the *last* tool registered. If you unregister that, there is none (this is why ToolRegistry needs to be extended to remember all and just have the last be the default)
I disagree. Just force an interactive choice feels a lot better to me (and far simpler). Otherwise you'll see people jokeying for order for their tool, and anyway you have to provide a user setting. A cool one: open the settings browser at the right place, instead of creating an ad-hoc dialog. Reuse code + GUI familiarity + less lines of code. There is apparently some magic in the world menu to trigger a user-driven choice among existing tools, but I don't know how to trigger that. No, the only thing it does is to execute all the methods (in a some
un-defined order). The last tool's #registerToolsOn: then will be the one that ToolRegistry knows about.
There is somewhere a user-query that you can trigger under some circumstances. But I could not find it. I'll have a look. I noticed that unloading AltBrowser was a very nice way to end up with a dead Pharo image :( Remember, AltBrowser is clearly the best, so I won't provide a way back to the old ways :):):) Thierry
Marcus