20
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
21
21
* MA 02110-1301, USA.
23
* $Id: plugins.dox 4630 2010-01-31 21:54:47Z eht16 $
23
* $Id: plugins.dox 4799 2010-04-05 11:42:31Z ntrel $
25
25
* This file contains additional plugin documentation like the signal system and a small howto.
26
26
* It is best viewed when filetype is set to C or C++.
32
32
* @mainpage Geany Plugin API Documentation
34
34
* @author Enrico Tröger, Nick Treleaven, Frank Lanitz
35
* @date $Date: 2010-01-31 22:54:47 +0100 (Sun, 31 Jan 2010) $
35
* $Date: 2010-04-05 13:42:31 +0200 (Mon, 05 Apr 2010) $
38
38
* This is the Geany API documentation. It should be considered work in progress.
39
39
* We will try to document as many functions and structs as possible.
41
* To get started, see the @link howto Plugin Howto @endlink.
41
* @warning Do not use any symbol not in the documentation - it may change.
43
* @section pluginsupport Plugin Support
44
* - @link howto Plugin HowTo @endlink - get started
44
45
* - @link pluginsymbols.c Plugin Symbols @endlink
45
46
* - @link plugindata.h Main Datatypes and Macros @endlink
46
47
* - @link signals Plugin Signals @endlink
47
* - @link pluginutils.c Plugin Utility Functions @endlink
48
* - @link pluginutils.h Plugin Utility Functions @endlink
48
49
* - @link guidelines Plugin Writing Guidelines @endlink
49
50
* - <b>plugins/demoplugin.c</b> - in Geany's source, bigger than the howto example
50
* - Header files for functions and types - see <b>Files</b> link at the top
52
* @section common Common API files
53
* - @link dialogs.h @endlink
54
* - @link document.h @endlink
55
* - @link editor.h @endlink
56
* - @link filetypes.h @endlink
57
* - @link keybindings.h @endlink
58
* - @link msgwindow.h @endlink
59
* - @link project.h @endlink
60
* - @link sciwrappers.h Scintilla Wrapper Functions @endlink
61
* - @link stash.h Stash Pref/Setting Functions @endlink
62
* - @link utils.h General Utility Functions @endlink
63
* - @link ui_utils.h Widget Utility Functions @endlink
66
* - All API functions and types - see <b>Files</b> link at the top
51
67
* - Deprecated symbols - see <b>Related Pages</b> link at the top
53
* @warning Do not use any symbol not in the documentation - it may change.
54
69
* @note See the HACKING file for information about developing the plugin API and
55
70
* other useful notes.
116
131
* @param user_data user data.
134
* @signaldef document-before-save
136
* void user_function(GObject *obj, GeanyDocument *doc, gpointer user_data);
139
* Sent before a document is saved.
141
* You need to include "document.h" for the declaration of GeanyDocument.
143
* @param obj a GeanyObject instance, should be ignored.
144
* @param doc the document to be saved.
145
* @param user_data user data.
119
148
* @signaldef document-save
121
150
* void user_function(GObject *obj, GeanyDocument *doc, gpointer user_data);
130
159
* @param user_data user data.
162
* @signaldef document-filetype-set
164
* void user_function(GObject *obj, GeanyDocument *doc, GeanyFiletype *filetype_old, gpointer user_data);
167
* Sent after the filetype of a document has been changed.
168
* The previous filetype object is passed but it can be NULL (e.g. at startup).
169
* The new filetype can be read with: @code
170
* GeanyFiletype *ft = doc->file_type;
173
* @param obj a GeanyObject instance, should be ignored.
174
* @param doc the saved document.
175
* @param filetype_old the previous filetype of the document.
176
* @param user_data user data.
133
179
* @signaldef document-activate
135
181
* void user_function(GObject *obj, GeanyDocument *doc, gpointer user_data);
194
240
* @param user_data user data.
243
* @signaldef geany-startup-complete
245
* void user_function(GObject *obj, gpointer user_data);
248
* Sent once Geany has finished all initialization and startup tasks and the GUI has been
249
* realized. This signal is the very last step in the startup process and is sent once
250
* the GTK main event loop has been entered.
252
* @param obj a GeanyObject instance, should be ignored.
253
* @param user_data user data.
197
256
* @signaldef update-editor-menu
199
258
* void user_function(GObject *obj, const gchar *word, gint pos, GeanyDocument *doc,