|
signal void(* | build_start )(GObject *obj, gpointer user_data) |
| Sent before build is started. More...
|
|
signal void(* | document_activate )(GObject *obj, GeanyDocument *doc, gpointer user_data) |
| Sent when switching notebook pages. More...
|
|
signal void(* | document_before_save )(GObject *obj, GeanyDocument *doc, gpointer user_data) |
| Sent before a document is saved. More...
|
|
signal void(* | document_close )(GObject *obj, GeanyDocument *doc, gpointer user_data) |
| Sent before closing a document. More...
|
|
signal void(* | document_filetype_set )(GObject *obj, GeanyDocument *doc, GeanyFiletype *filetype_old, gpointer user_data) |
| Sent after the filetype of a document has been changed. More...
|
|
signal void(* | document_new )(GObject *obj, GeanyDocument *doc, gpointer user_data) |
| Sent when a new document is created. More...
|
|
signal void(* | document_open )(GObject *obj, GeanyDocument *doc, gpointer user_data) |
| Sent when a new document is opened. More...
|
|
signal void(* | document_reload )(GObject *obj, GeanyDocument *doc, gpointer user_data) |
| Sent when an existing document is reloaded. More...
|
|
signal void(* | document_save )(GObject *obj, GeanyDocument *doc, gpointer user_data) |
| Sent when a new document is saved. More...
|
|
signal gboolean(* | editor_notify )(GObject *obj, GeanyEditor *editor, SCNotification *nt, gpointer user_data) |
| Sent whenever something in the editor widget changes. More...
|
|
signal void(* | geany_startup_complete )(GObject *obj, gpointer user_data) |
| Sent once Geany has finished all initialization and startup tasks and the GUI has been realized. More...
|
|
signal gboolean(* | key_press )(GObject *obj, GdkEventKey *key, gpointer user_data) |
| Sent whenever a key is pressed. More...
|
|
signal void(* | project_before_close )(GObject *obj, gpointer user_data) |
| Sent before a project is closed. More...
|
|
signal void(* | project_close )(GObject *obj, gpointer user_data) |
| Sent after a project is closed. More...
|
|
signal void(* | project_dialog_close )(GObject *obj, GtkWidget *notebook, gpointer user_data) |
| Sent before project dialog is closed. More...
|
|
signal void(* | project_dialog_confirmed )(GObject *obj, GtkWidget *notebook, gpointer user_data) |
| Sent when the settings dialog is confirmed by the user. More...
|
|
signal void(* | project_dialog_open )(GObject *obj, GtkWidget *notebook, gpointer user_data) |
| Sent after a project dialog is opened but before it is displayed. More...
|
|
signal void(* | project_open )(GObject *obj, GKeyFile *config, gpointer user_data) |
| Sent after a project is opened but before session files are loaded. More...
|
|
signal void(* | project_save )(GObject *obj, GKeyFile *config, gpointer user_data) |
| Sent when a project is saved (happens when the project is created, the properties dialog is closed, before the project is closed, when Geany automatically saves its configuration by opening/closing documents or when Geany is exited). More...
|
|
signal void(* | update_editor_menu )(GObject *obj, const gchar *word, gint pos, GeanyDocument *doc, gpointer user_data) |
| Sent before the popup menu of the editing widget is shown. More...
|
|
Plugin Signals.
Usage
To use plugin signals in Geany, you have two options:
- Create a PluginCallback array with the plugin_callbacks symbol. List the signals you want to listen to and create the appropriate signal callbacks for each signal. The callback array is read after plugin_init() has been called.
- Use plugin_signal_connect(), which can be called at any time and can also connect to non-Geany signals (such as GTK widget signals).
This page lists the signal prototypes, but you connect to them using the string name (which by convention uses -
hyphens instead of _
underscores).
E.g. "document-open"
for document_open.
The following code demonstrates how to use signals in Geany plugins. The code can be inserted in your plugin code at any desired position.
static void on_document_open(GObject *obj,
GeanyDocument *doc, gpointer user_data)
{
}
{
{ "document-open", (GCallback) &on_document_open, FALSE, NULL },
{ NULL, NULL, FALSE, NULL }
};
- Note
- The PluginCallback array has to be ended with a final
NULL
entry.
signal gboolean(* editor_notify) (GObject *obj, GeanyEditor *editor, SCNotification *nt, gpointer user_data) |
Sent whenever something in the editor widget changes.
E.g. Character added, fold level changes, clicks to the line number margin. A detailed description of possible notifications and the SCNotification can be found at http://www.scintilla.org/ScintillaDoc.html#Notifications.
If you connect to this signal, you must check nt->nmhdr.code
for the notification type to prevent handling unwanted notifications. This is important because for instance SCN_UPDATEUI is sent very often whereas you probably don't want to handle this notification.
By default, the signal is sent before Geany's default handler is processing the event. Your callback function should return FALSE to allow Geany processing the event as well. If you want to prevent this for some reason, return TRUE. Please use this with care as it can break basic functionality of Geany.
The signal can be sent after Geany's default handler has been run when you set PluginCallback::after field to TRUE.
An example callback implementation of this signal can be found in the Demo plugin.
- Warning
- This signal has much power and should be used carefully. You should especially care about the return value; make sure to return TRUE only if it is necessary and in the correct situations.
- Parameters
-
obj | a GeanyObject instance, should be ignored. |
editor | The current GeanyEditor. |
nt | A pointer to the SCNotification struct which holds additional information for the event. |
user_data | user data. |
- Returns
TRUE
to stop other handlers from being invoked for the event. FALSE
to propagate the event further.
- Since
- 0.16