On Sun, 2003-12-14 at 21:13, bulia byak wrote:
To that end, I want to keep the signal (or at least some kind of notification callback) to maintain that interface boundary.
OK, I kept the one signal, but added an argument msec (how long to stay the message, forever if zero).
Ok.
I would not call them "a few". For example, all global verbs use it, because I see no other way for them to perfom their action, given they can be called anywhere, e.g. in a dialog.
The easy way would be to have sp_verb_get_action() create SPActions on a per-SPView basis (currently only one SPAction is created for each verb, globally).
An SPView * can be stored in each SPAction, so the SPAction::perform() callback will "know" which SPView * (i.e. SPDesktop *) it applies to.
Voila. No more need for using SP_ACTIVE_DESKTOP in verbs.
sp_verb_get_action() is only used in a very few places, so the change should be very non-intrusive, but it will (among other things) finally let us implement per-desktop tool states correctly.
Adding a method to SPEventContext to set the status message for that event context's desktop would be good too (maybe something printf-like ... e.g. sp_event_context_set_statusf (SPEventContext *context, const gchar *format, ...)?).
Will do that now. All tools will display a helpful default message when sqitched to.
Ah, good idea.
-mental