Fix file names of generated tags files for C, PHP and Python
[geany-mirror.git] / src / pluginutils.h
blobd679e4b07b4be86dd819988e409a9e585d590d25
1 /*
2 * pluginutils.h - this file is part of Geany, a fast and lightweight IDE
4 * Copyright 2009-2012 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
5 * Copyright 2009-2012 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 #ifndef GEANY_PLUGIN_UTILS_H
24 #define GEANY_PLUGIN_UTILS_H 1
26 #ifdef HAVE_PLUGINS
28 #include "keybindings.h" /* GeanyKeyGroupCallback */
30 #include "gtkcompat.h"
32 G_BEGIN_DECLS
34 /* avoid including plugindata.h otherwise this redefines the GEANY() macro */
35 struct GeanyPlugin;
36 struct GeanyDocument;
39 void plugin_add_toolbar_item(struct GeanyPlugin *plugin, GtkToolItem *item);
41 void plugin_module_make_resident(struct GeanyPlugin *plugin);
43 void plugin_signal_connect(struct GeanyPlugin *plugin,
44 GObject *object, const gchar *signal_name, gboolean after,
45 GCallback callback, gpointer user_data);
47 guint plugin_timeout_add(struct GeanyPlugin *plugin, guint interval, GSourceFunc function,
48 gpointer data);
50 guint plugin_timeout_add_seconds(struct GeanyPlugin *plugin, guint interval, GSourceFunc function,
51 gpointer data);
53 guint plugin_idle_add(struct GeanyPlugin *plugin, GSourceFunc function, gpointer data);
55 struct GeanyKeyGroup *plugin_set_key_group(struct GeanyPlugin *plugin,
56 const gchar *section_name, gsize count, GeanyKeyGroupCallback callback);
58 GeanyKeyGroup *plugin_set_key_group_full(struct GeanyPlugin *plugin,
59 const gchar *section_name, gsize count, GeanyKeyGroupFunc cb, gpointer pdata, GDestroyNotify destroy_notify);
61 void plugin_show_configure(struct GeanyPlugin *plugin);
63 void plugin_builder_connect_signals(struct GeanyPlugin *plugin,
64 GtkBuilder *builder, gpointer user_data);
66 gpointer plugin_get_document_data(struct GeanyPlugin *plugin,
67 struct GeanyDocument *doc, const gchar *key);
69 void plugin_set_document_data(struct GeanyPlugin *plugin, struct GeanyDocument *doc,
70 const gchar *key, gpointer data);
72 void plugin_set_document_data_full(struct GeanyPlugin *plugin,
73 struct GeanyDocument *doc, const gchar *key, gpointer data,
74 GDestroyNotify free_func);
76 G_END_DECLS
78 #endif /* HAVE_PLUGINS */
79 #endif /* GEANY_PLUGIN_UTILS_H */