[Github-comments] [geany/geany-plugins] Workbench: project-related and global build commands (#733)

elextr notifications at xxxxx
Fri Apr 13 06:11:37 UTC 2018


> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20180413/c645a532/attachment.html>


More information about the Github-comments mailing list