> By re-using it, I meant using only the GUI. I thought it would write the 
> settings made by the user to dst so that it would not change any other data 
> that belongs to geany.

I don't recommend re-using the Geany GUI implementation, that was created a 
long time ago.  It handles the fact that there is a variable number of commands 
by creating a dialog with code, and so the number of commands can only be 
changed at startup, and it was not at all written to be re-used.  These days 
you should probably use a 
[treeview](https://developer.gnome.org/gtk3/stable/GtkTreeView.html) as a list 
defined by UI Builder XML (as shown in an example in that link), much simpler, 
and easy to add the extra features the plugin needs.

I expect a plugin wants to set commands so it can do something different to 
Geany, so there is no reason for the plugin to duplicate the whole machinery of 
the cascading priority levels, the plugin is only interested in its own 
commands which are guaranteed to be the highest priority and so be the ones to 
be run.

As noted above, all that should need changing in Geany is to add a new 
BCS_PLUGIN source level and check it isn't editable or saved and restored by 
Geany.  Since most stuff works off that enum, hopefully most stuff will "just 
work".

> Load and save build command data for a plugin (of course a job for the plugin)

Indeed, and pass it to Geany as the plugin (extended BCS_PLUGIN source)  
command using the existing API.

> Having a GUI dialog to edit these settings (as written above I thought the 
> existing geany dialog could be re-used WITHOUT changing any of the geany data 
> - I want to pass over the pointer for the workbench data as dst.

Addressed above.

> A menu for the user to start the build commands (I thought extension of the 
> six sources with a seventh for plugins meant to re-use this because it would 
> decide which command to run)

My understanding is that the existing menu is to be used, just the decision on 
what command has highest priority is always in favour of a plugin command if 
its set.  IIRC that decision is made in one place in Geany, and with the extra 
BCS_PLUGIN level as the highest priority it will automagically happen.

> Having code that actually runs a build command (also done through the above I 
> thought)

Yes, done by above using the existing mechanisms and menu and shortcuts.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/733#issuecomment-381034271

Reply via email to