On 2016-08-30 06:24 AM, Colomban Wendling wrote:
Le 29/08/2016 à 02:47, Matthew Brush a écrit :
[…]
To give an idea, the registration function called by plugins might look something like this:
gboolean ftplugin_register_provider(GeanyPlugin*, GeanyFiletypeID, GeanyFiletypeFeature, GCallback, gpointer);
Maybe we could simply use GSignals? Something like
[...]
Just a though, and seeing some of the questions raised further down might suggest it's not flexible enough, but using the GSignal mechanism we already have at hand seemed like at least a good idea to consider.
It's a good thought, and I did consider it, but I believe for it to work, we would have to store an object of a different GObject type for each combination of Filetype and Feature, so that each object could have their distinct signals installed in their classes and be connected to. Otherwise we'd have to provide some kind of DSL embedded inside the signal-name like property notifications (ex. `c::autocomplete`) or something, and have Filetype*Feature signals for the GeanyObject.
Cheers, Matthew Brush