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