On 08/01/2007 02:38:53 PM, blackdog wrote:
Hi there
So here's a patch tested against r 1767 which adds a single onCharAdded event for plugins that implement onCharAdded().
This is experimental and is really for you to comment on, if it's ok by you I'll add the other events.
Thanks, but IMO it could be done a bit differently. (I didn't have time to reply to your previous message about this, sorry).
I would prefer it to be done in a way that had less changes to the core - really I think the plugin API should be kept quite lean. Because I think you might want other callbacks besides onCharAdded, perhaps it would be best to have a single on_sci_notify() plugin callback (we don't really use CamelCase for function names, only typenames ;-)).
Then something like:
// callback func called by all editors when a signal arises void on_editor_notification(GtkWidget *editor, gint scn, gpointer lscn, gpointer user_data) { SCNotification *nt; ScintillaObject *sci; gint idx;
idx = GPOINTER_TO_INT(user_data); sci = doc_list[idx].sci;
nt = lscn; plugins_sci_notify(editor, scn, nt, idx);
Where plugins_sci_notify() calls any plugin that has an on_sci_notify symbol.
Also, I'm assuming that this notification doesn't slow down Geany (I guess it shouldn't though). I'm also wondering about replacing plugin_list GList with a GPtrArray, which could speed up things if necessary.
Regards, Nick