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

Reply via email to