I've been thinking about your suggestions re: the statusbar stuff...
I think what I want to do initially is have SPView provide two "virtual"
methods (we'll need to use the GObject vtable for now rather than real
StatusMessageID SPView::postStatusMessage(StatusMessageType type, bool
flash, gchar const *message);
void SPView::cancelStatusMessage(StatusMessageID id);
StatusType would be an enum indicating the "style" of the message --
warnings might get a little warning icon next to them, etc...
postStatusMessage returns an id which can be later used to cancel the
status message with cancelStatusMessage.
If 'flash' is true, the message is automatically cancelled after a
period of time. Cancelling an already cancelled message does no harm.
These two methods will be the building blocks on top of which a
"friendlier" (e.g. printf formatting and other amenities) API would be
built. But details on that will have to wait for later tonight.