10 Commits

Author SHA1 Message Date
Nick Treleaven
2a15ed3dd0 Add GeanyData* geany_data symbol for plugins so they don't have to
keep a copy of the init() argument.
Rename PluginData GeanyData (but use a typedef for backward
compatibility).
Update plugins to use newer API symbols.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1749 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-27 10:37:22 +00:00
Nick Treleaven
c703d6b638 Use a single PluginData struct for all plugins.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1747 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-26 12:06:12 +00:00
Nick Treleaven
75a08ac4a3 Don't destroy plugin_fields->menu_item automatically - plugin_fields
should be owned by the plugin, so the plugin is responsible for
destroying it, and any other memory it allocated.
Print a warning message in debug mode if a plugin has no cleanup()
function.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1743 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-25 11:59:34 +00:00
Nick Treleaven
aa54953cfe Apply patch from Jeff Pohlmeyer to add plugin functions for getting
a file list and modifying scintilla text selections (thanks).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1737 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-24 11:43:46 +00:00
Nick Treleaven
109a7aee67 Convert 'Insert Special HTML Characters' tool into a plugin;
keybinding support will be added later.
Add plugin functions for inserting text into the current document.
Add plugin support for disabling a menu item when no documents are
open.
Destroy plugin_fields->menu_item on unloading if set by a plugin.
Use G_MODULE_BIND_LOCAL for plugins to prevent symbol shadowing by
other modules, and to help detect unresolved symbols at loading time.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1734 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-23 15:41:08 +00:00
Nick Treleaven
5ec03cdc0a Make Class Builder 'Create Class' dialog use Glade-style frames and
remove some unnecessary border width.
Add ui->dialog_vbox_new() and ui->frame_new_with_alignment()
functions to the plugin API.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1701 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-13 14:54:11 +00:00
Nick Treleaven
0529b13442 Remove init_function_pointers(), use static initializers.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1700 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-13 11:22:47 +00:00
Nick Treleaven
451c5b0e7e Make Class Builder into a plugin.
Add some function pointers to the plugin API (for the class builder).
Don't use G_MODULE_BIND_LAZY when loading plugins otherwise we can
potentially get unresolved symbols at runtime, causing a segfault.
Capitalize 2 menu item labels.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1659 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-04 11:32:33 +00:00
Nick Treleaven
a549a99c33 Move plugin name and description into a separate struct, which is set
by calling the PLUGIN_INFO() macro - this can be read before the
plugin is initialized.
Added more comments for plugin authors.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1645 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-06-27 15:56:42 +00:00
Nick Treleaven
6e53eacc70 Added very basic plugin support - any plugins found in
/lib/geany are loaded at startup. Windows support will be
added later.
Added Demo plugin (currently installed by default), which adds an
item in the Tools menu.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1643 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-06-26 16:17:16 +00:00