SF.net SVN: geany: [2365] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Thu Mar 20 12:46:46 UTC 2008
Revision: 2365
http://geany.svn.sourceforge.net/geany/?rev=2365&view=rev
Author: ntrel
Date: 2008-03-20 05:46:45 -0700 (Thu, 20 Mar 2008)
Log Message:
-----------
Move plugin symbols page into separate source file so that symbols
are listed as variables and functions and are autolinked.
Edit plugin symbols description, document some function parameters.
Modified Paths:
--------------
trunk/ChangeLog
trunk/doc/Makefile.am
trunk/doc/plugins.dox
Added Paths:
-----------
trunk/doc/plugin-symbols.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2008-03-19 17:42:03 UTC (rev 2364)
+++ trunk/ChangeLog 2008-03-20 12:46:45 UTC (rev 2365)
@@ -1,3 +1,11 @@
+2008-03-20 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * doc/plugin-symbols.c, doc/Makefile.am, doc/plugins.dox:
+ Move plugin symbols page into separate source file so that symbols
+ are listed as variables and functions and are autolinked.
+ Edit plugin symbols description, document some function parameters.
+
+
2008-03-19 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/plugins.c:
Modified: trunk/doc/Makefile.am
===================================================================
--- trunk/doc/Makefile.am 2008-03-19 17:42:03 UTC (rev 2364)
+++ trunk/doc/Makefile.am 2008-03-20 12:46:45 UTC (rev 2365)
@@ -1,7 +1,7 @@
man_MANS=geany.1
DOCDIR = $(DESTDIR)/$(datadir)/doc/@PACKAGE@
IMAGE_FILES = images/*.png
-EXTRA_DIST = geany.html geany.css geany.txt geany.1 plugins.dox \
+EXTRA_DIST = geany.html geany.css geany.txt geany.1 plugins.dox plugin-symbols.c \
$(srcdir)/$(IMAGE_FILES)
pdf: geany.txt
Added: trunk/doc/plugin-symbols.c
===================================================================
--- trunk/doc/plugin-symbols.c (rev 0)
+++ trunk/doc/plugin-symbols.c 2008-03-20 12:46:45 UTC (rev 2365)
@@ -0,0 +1,77 @@
+/*
+ * plugin-symbols.c - this file is part of Geany, a fast and lightweight IDE
+ *
+ * Copyright 2008 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+ * Copyright 2008 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * $Id$
+ */
+
+/* Note: this file is for Doxygen only. */
+
+/**
+ * @file plugin-symbols.c
+ * Symbols declared from within plugins.
+ *
+ * Geany looks for these symbols (arrays, pointers and functions) when initializing
+ * plugins. Some of them are optional, i.e. they can be omitted; others are required
+ * and must be defined. Some symbols should only be declared using specific macros in
+ * @link plugindata.h @endlink.
+ */
+
+/** Use the VERSION_CHECK() macro instead. Required by Geany. */
+gint version_check(gint);
+
+/** Use the PLUGIN_INFO() macro to define it. Required by Geany. */
+PluginInfo* info();
+
+/** Geany owned fields and functions. */
+GeanyData* geany_data;
+
+/** Plugin owned fields, including flags. */
+PluginFields* plugin_fields;
+
+/** An array for connecting GeanyObject events, which should be terminated with
+ * @c {NULL, NULL, FALSE, NULL}. See @link signals Signal documentation @endlink. */
+GeanyCallback geany_callbacks[];
+
+/** Most plugins should use the PLUGIN_KEY_GROUP() macro to define it. However,
+ * its fields are not read until after init() is called for the plugin, so it
+ * is possible to setup a variable number of keybindings, e.g. based on the
+ * plugin's configuration file settings.
+ * - The @c name field must not be empty or match Geany's default group name.
+ * - The @c label field is set by Geany after init() is called to the name of the
+ * plugin.
+ * @note This is a single element array for implementation reasons,
+ * but you can treat it like a pointer. */
+KeyBindingGroup plugin_key_group[1];
+
+
+/** Called when the plugin should show a configure dialog to let the user set some basic
+ * plugin configuration. Optionally, can be omitted when not needed.
+ * @param parent The Plugin Manager dialog widget. */
+void configure(GtkWidget *parent);
+
+/** Called after loading the plugin.
+ * @param data The same as #geany_data. */
+void init(GeanyData *data);
+
+/** Called before unloading the plugin. Required for normal plugins - it should undo
+ * everything done in init() - e.g. destroy menu items, free memory. */
+void cleanup(); */
+
Property changes on: trunk/doc/plugin-symbols.c
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified: trunk/doc/plugins.dox
===================================================================
--- trunk/doc/plugins.dox 2008-03-19 17:42:03 UTC (rev 2364)
+++ trunk/doc/plugins.dox 2008-03-20 12:46:45 UTC (rev 2365)
@@ -43,52 +43,9 @@
*
*
*
- * @page symbols Plugin Symbols
- *
- * The following symbols (functions) should be exported by every plugin. Some of them
- * are optional, i.e. they can be omitted, others are required and must be defined.
- *
- * - @code version_check() @endcode
- * Use the VERSION_CHECK() macro instead. Required by Geany.
- *
- * - @code PluginInfo* info() @endcode
- * Use the PLUGIN_INFO() macro to define it. Required by Geany.
- *
- * - @code GeanyData* geany_data @endcode
- * Geany owned fields and functions.
- *
- * - @code PluginFields* plugin_fields @endcode
- * Plugin owned fields, including flags.
- *
- * - @code GeanyCallback geany_callbacks[] @endcode
- * An array for connecting GeanyObject events, which should be terminated with
- * {NULL, NULL, FALSE, NULL}. See @link signals Signal documentation @endlink.
- *
- * - @code KeyBindingGroup plugin_key_group[1] @endcode
- * Most plugins should use the PLUGIN_KEY_GROUP() macro to define it. However,
- * its fields are not read until after init() is called for the plugin, so it
- * is possible to setup a variable number of keybindings, e.g. based on the
- * plugin's configuration file settings.
- * - The @c name field must not be empty or match Geany's default group name.
- * - Ths @c label field is set by Geany after init() is called to the name of the
- * plugin.
- *
- * @note This is a single element array for implementation reasons,
- * but you can treat it like a pointer.
- *
- * - @code void configure(GtkWidget *parent) @endcode
- * Called when the plugin should show a configure dialog to let the user set some basic
- * plugin configuration. Optionally, can be omitted when not needed.
- *
- * - @code void init(GeanyData *data) @endcode
- * Called after loading the plugin. data is the same as geany_data.
- *
- * - @code void cleanup() @endcode
- * Called before unloading the plugin. Required for normal plugins - it should undo
- * everything done in init() - e.g. destroy menu items, free memory.
- *
- *
- *
+ */
+
+/**
* @page signals Plugin Signals
*
*
@@ -215,7 +172,7 @@
*
* Every plugin must contain some essential symbols unless it won't work. A complete
* list of all necessary and optional symbols can be found in
- * @link symbols Plugin Symbols @endlink.
+ * @link plugin-symbols.c Plugin Symbols @endlink.
* Every plugin should include "geany.h" and "plugindata.h" which provide necessary
* preprocessor macros and other basic information.
* There are two important preprocessor macros which need to be used at the beginning:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list