Watch the lifetime of objects referenced in plugin->signal_ids and
remove our references to them if they get destroyed. This avoids
possibly trying to disconnect signals on destroyed objects when the
plugin is unloaded.
Supporting this case is safer, and is useful for objects that may or
may not outlive the plugin (like ScintillaObjects), because in such
cases plugin_signal_connect() is handy to make sure the signals are
disconnected if the object is still alive, but used to crash if the
object was destroyed.
These functions does the same as the corresponding GLib functions but
makes sure that the added GSource will be removed when the plugin is
unloaded, preventing possible crashes.
These are only convenience functions for the plugin author not to have to
care about the case the plugin gets unloaded, he can still manually
manage hes GSources if he wants to.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5650 ea778897-0a13-0410-b9d1-a72fbfd435f5
pointer syntax instead of @signaldef as this puts a summary of
the signal names at the top of the page and sorts alphabetically.
(Note: the syntax is similar to Vala signal syntax).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5065 ea778897-0a13-0410-b9d1-a72fbfd435f5
Fix 'Date' appearing twice on the date line.
Don't generate API docs for prefs.h, toolbar.h (unused).
Move some '@file' doc-comments to the .c file.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4772 ea778897-0a13-0410-b9d1-a72fbfd435f5
to be ignored if inappropriate so a later keybinding with the same
key combination can intercept it. (Also group callbacks are usually
tidier than separate callbacks).
Remove special handling for GEANY_KEYS_EDIT_COMPLETESNIPPET.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4300 ea778897-0a13-0410-b9d1-a72fbfd435f5
these fields.
Make keybindings_set_item() duplicate the name and label fields
(needed by GeanyLua) and return a keybinding pointer.
Add keybindings_get_item() to the API (in case it's useful).
Move some keybinding code out of plugin source files.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4123 ea778897-0a13-0410-b9d1-a72fbfd435f5
GeanyKeyBinding or GeanyKeyGroup structs, so we don't need to break
the ABI when adding fields to them.
Add plugin_set_key_group() for plugins to dynamically set a
keybinding group (e.g. for the Lua script plugin). Used in Split
Window plugin as an example.
Improve keybinding docs a little.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4115 ea778897-0a13-0410-b9d1-a72fbfd435f5
runtime and also for connecting to any GObject signal.
Add 'Plugin Utility Functions' on main page.
Add foreach_array() macro.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4041 ea778897-0a13-0410-b9d1-a72fbfd435f5