Here's one that I'm sure will put the cat among the pigeons.
I was looking at FormTabular, thinking of a nice way to make it a daughter
class of FormInset (incidentally, I have already converted FormGraphics), and
it got me thinking...
It starts off with the observation that almost all the signals we use are
stored in Dialogs.h.
Most of the insets that launch one of the new dialogs, however, also store a
Signal0<void> hide signal. The honourable exception to this is InsetTabular.
Here the hide signal is stored in Dialogs.h.
The question is:
why are we polluting the global namespace with all these signals? The
original reason is clear; no one was sure quite how this was all going to
work until it had been implemented. This reasoning is no longer valid.
All of the showInset signals are emitted from within InsetXXX::Edit() and
nowhere else. There is no need for these signals to be in the global
namespace; they should go in the releveant InsetXXX header files, just as the
hide signals already do.
This would leave in Dialogs.h all the createInset signals, but any show, hide
or update inset signals would be removed to the inset classes.
At the moment, we're treating signals as if they are some sort of special
beast and they're not.
Thoughts?
Angus