262 Commits

Author SHA1 Message Date
Nick Treleaven
15cec02d07 Add plugin symbol geany_callbacks (see plugindata.h for details).
Add GeanyObject type with "document-new", "document-open",
"document-save" signals.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1785 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-10 16:11:17 +00:00
Nick Treleaven
a19e05fa81 Tidy up struct typedefs.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1784 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-10 11:45:20 +00:00
Nick Treleaven
70cd941345 Add filetypes, editor_prefs fields to plugin API.
Wrap scintilla_send_message(), sci_cmd(), lookup_widget().
Apply patch from Jeff Pohlmeyer to add more common scintilla wrappers
to the plugin API (thanks).
Increment plugin ABI version.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1768 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-03 15:05:53 +00:00
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
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
1fb834b19a Increment plugin API version for Jeff's patch.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1738 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-24 11:46:03 +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
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