Commit b64b58d9 authored by Naba Kumar's avatar Naba Kumar

Updated, added missing files.

	* po/POTFILES.in: Updated, added missing files.

	* .cvsignore: Updated.

	* libanjuta/anjuta-utils.[h,c]: Functions take constant parameters. Added
	a new function to get User input text.

	* libanjuta/resources.[c,h]: Added a function to created sized image.

	* libanjuta/interfaces/libanjuta.idl: Changed parameter name to uri
	from filename, as thats the correct representation.

	* plugins/build-basic-autotools/Makefile.am,
	(added) plugins/build-basic-autotools/automake-c.filters,
	plugins/build-basic-autotools/anjuta-build-basic-autotools-plugin.ui,
	plugins/build-basic-autotools/build-basic-autotools.[c,h]:
	Rearragned UI elements in the build menu. Added codes to read build
	filter rules from external file. Implemented all build, configure,
	autogen commands. Watches current editor and project.

	* plugins/editor/anjuta-docman.[c,h], plugins/editor/plugin.c:
	Added editor changed signal and exports current editor value.
	Fixed parameter names. Fixed get_uri() interface implementation to
	return correct uri.

	* plugins/editor/anjuta-document-manager.ui: Removed unnecessary UI
	elements.

	* plugins/file-loader/anjuta-loader-plugin.ui: Added New UI element.

	* plugins/file-manager/an_file_view.c,
	plugins/file-manager/an_file_view.c: Exports file uri correctly.

	* plugins/file-wizard/file.c: Reads uri correctly.

	* plugins/message-view/anjuta-msgman.c: Sizes tab images properly and
	sets the page to the new view.

	* plugins/message-view/message-view.c: Unrefs the tree model when done.
	Fixed signal connecting.

	* plugins/project-manager/plugin.c: Changed "project_root_directory"
	to "project_root_uri" and exports as uri.
parent 8e2d31db
.tm_project.cache
aclocal.m4
anjuta.desktop
anjuta.desktop.in
anjuta.pws
anjuta.spec
autom4te.cache
config.h
config.h.in
config.log
config.status
configure
intltool-extract
intltool-merge
intltool-modules
intltool-update
libtool
prepare.sh
stamp-h
stamp-h.in
Makefile
Makefile.in
2004-09-26 Naba Kumar <naba@gnome.org>
* po/POTFILES.in: Updated, added missing files.
* .cvsignore: Updated.
* libanjuta/anjuta-utils.[h,c]: Functions take constant parameters. Added
a new function to get User input text.
* libanjuta/resources.[c,h]: Added a function to created sized image.
* libanjuta/interfaces/libanjuta.idl: Changed parameter name to uri
from filename, as thats the correct representation.
* plugins/build-basic-autotools/Makefile.am,
(added) plugins/build-basic-autotools/automake-c.filters,
plugins/build-basic-autotools/anjuta-build-basic-autotools-plugin.ui,
plugins/build-basic-autotools/build-basic-autotools.[c,h]:
Rearragned UI elements in the build menu. Added codes to read build
filter rules from external file. Implemented all build, configure,
autogen commands. Watches current editor and project.
* plugins/editor/anjuta-docman.[c,h], plugins/editor/plugin.c:
Added editor changed signal and exports current editor value.
Fixed parameter names. Fixed get_uri() interface implementation to
return correct uri.
* plugins/editor/anjuta-document-manager.ui: Removed unnecessary UI
elements.
* plugins/file-loader/anjuta-loader-plugin.ui: Added New UI element.
* plugins/file-manager/an_file_view.c,
plugins/file-manager/an_file_view.c: Exports file uri correctly.
* plugins/file-wizard/file.c: Reads uri correctly.
* plugins/message-view/anjuta-msgman.c: Sizes tab images properly and
sets the page to the new view.
* plugins/message-view/message-view.c: Unrefs the tree model when done.
Fixed signal connecting.
* plugins/project-manager/plugin.c: Changed "project_root_directory"
to "project_root_uri" and exports as uri.
2004-09-24 Naba Kumar <naba@gnome.org>
* libanjuta/anjuta-ui.c: Fixed a crash bug.
......
......@@ -209,7 +209,7 @@ anjuta_util_dialog_add_button (GtkDialog *dialog, const gchar* text,
}
void
anjuta_util_dialog_error (GtkWindow *parent, gchar * mesg, ...)
anjuta_util_dialog_error (GtkWindow *parent, const gchar *mesg, ...)
{
gchar* message;
va_list args;
......@@ -231,7 +231,7 @@ anjuta_util_dialog_error (GtkWindow *parent, gchar * mesg, ...)
}
void
anjuta_util_dialog_warning (GtkWindow *parent, gchar * mesg, ...)
anjuta_util_dialog_warning (GtkWindow *parent, const gchar * mesg, ...)
{
gchar* message;
va_list args;
......@@ -253,7 +253,7 @@ anjuta_util_dialog_warning (GtkWindow *parent, gchar * mesg, ...)
}
void
anjuta_util_dialog_info (GtkWindow *parent, gchar * mesg, ...)
anjuta_util_dialog_info (GtkWindow *parent, const gchar * mesg, ...)
{
gchar* message;
va_list args;
......@@ -275,7 +275,8 @@ anjuta_util_dialog_info (GtkWindow *parent, gchar * mesg, ...)
}
void
anjuta_util_dialog_error_system (GtkWindow* parent, gint errnum, gchar * mesg, ... )
anjuta_util_dialog_error_system (GtkWindow* parent, gint errnum,
const gchar * mesg, ... )
{
gchar* message;
gchar* tot_mesg;
......@@ -287,7 +288,8 @@ anjuta_util_dialog_error_system (GtkWindow* parent, gint errnum, gchar * mesg, .
va_end (args);
if (0 != errnum) {
tot_mesg = g_strconcat (message, _("\nSystem: "), g_strerror(errnum), NULL);
tot_mesg = g_strconcat (message, _("\nSystem: "),
g_strerror(errnum), NULL);
g_free (message);
} else
tot_mesg = message;
......@@ -304,7 +306,7 @@ anjuta_util_dialog_error_system (GtkWindow* parent, gint errnum, gchar * mesg, .
}
gboolean
anjuta_util_dialog_boolean_question (GtkWindow *parent, gchar * mesg, ...)
anjuta_util_dialog_boolean_question (GtkWindow *parent, const gchar *mesg, ...)
{
gchar* message;
va_list args;
......@@ -326,6 +328,55 @@ anjuta_util_dialog_boolean_question (GtkWindow *parent, gchar * mesg, ...)
return (ret == GTK_RESPONSE_YES);
}
gboolean
anjuta_util_dialog_input (GtkWindow *parent, const gchar *prompt,
gchar **return_value)
{
GtkWidget *dialog, *label, *frame, *entry, *dialog_vbox;
gint res;
gchar *markup;
dialog = gtk_dialog_new_with_buttons (prompt, parent,
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_OK,
NULL);
dialog_vbox = GTK_DIALOG (dialog)->vbox;
gtk_window_set_default_size (GTK_WINDOW (dialog), 400, -1);
gtk_widget_show (dialog_vbox);
markup = g_strconcat ("<b>", prompt, "</b>", NULL);
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label), markup);
gtk_widget_show (label);
g_free (markup);
frame = gtk_frame_new (NULL);
gtk_frame_set_label_widget (GTK_FRAME (frame), label);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
gtk_container_set_border_width (GTK_CONTAINER (frame), 10);
gtk_widget_show (frame);
gtk_box_pack_start (GTK_BOX (dialog_vbox), frame, FALSE, FALSE, 0);
entry = gtk_entry_new ();
gtk_widget_show (entry);
gtk_container_add (GTK_CONTAINER (frame), entry);
res = gtk_dialog_run (GTK_DIALOG (dialog));
if (gtk_entry_get_text (GTK_ENTRY (entry)) &&
strlen (gtk_entry_get_text (GTK_ENTRY (entry))) > 0)
{
*return_value = g_strdup (gtk_entry_get_text (GTK_ENTRY (entry)));
}
else
{
*return_value = NULL;
}
gtk_widget_destroy (dialog);
return (res == GTK_RESPONSE_OK);
}
gboolean
anjuta_util_prog_is_installed (gchar * prog, gboolean show)
{
......
......@@ -38,13 +38,15 @@ GtkWidget* anjuta_util_dialog_add_button (GtkDialog *dialog, const gchar* text,
const gchar* stock_id,
gint response_id);
void anjuta_util_dialog_error (GtkWindow *parent, gchar * mesg, ...);
void anjuta_util_dialog_warning (GtkWindow *parent, gchar * mesg, ...);
void anjuta_util_dialog_info (GtkWindow *parent, gchar * mesg, ...);
void anjuta_util_dialog_error (GtkWindow *parent, const gchar * mesg, ...);
void anjuta_util_dialog_warning (GtkWindow *parent, const gchar * mesg, ...);
void anjuta_util_dialog_info (GtkWindow *parent, const gchar * mesg, ...);
void anjuta_util_dialog_error_system (GtkWindow* parent, gint errnum,
gchar * mesg, ... );
const gchar * mesg, ... );
gboolean anjuta_util_dialog_boolean_question (GtkWindow *parent,
gchar * mesg, ...);
const gchar * mesg, ...);
gboolean anjuta_util_dialog_input (GtkWindow *parent,
const gchar *label, gchar **value);
gboolean anjuta_util_prog_is_installed (gchar * prog, gboolean show);
......
......@@ -23,8 +23,8 @@
// Implemented by all plugins that can open files
interface IAnjutaFile
{
void open (const gchar *filename);
gchar* get_filename ();
void open (const gchar *uri);
gchar* get_uri ();
// Implemented by plugins which can also edit the files
interface IAnjutaFileSavable
......@@ -33,7 +33,7 @@ interface IAnjutaFile
void ::save_point (gboolean entered);
void save ();
void save_as (const gchar *filename);
void save_as (const gchar *uri);
void set_dirty (gboolean dirty);
gboolean is_dirty ();
......@@ -287,7 +287,7 @@ interface IAnjutaLoader
/**
* ianjuta_file_loader_load:
* @obj: Self
* @filename: File to load
* @uri: URI to load
* @readonly: Open in readonly mode.
* @err: Error propagation and reporting
*
......@@ -296,12 +296,12 @@ interface IAnjutaLoader
*
* Return value: Plugin interface used to load the file.
*/
GObject* load (const gchar *filename, gboolean readonly);
GObject* load (const gchar *uri, gboolean readonly);
/**
* ianjuta_loader_peek_interface:
* @obj: Self
* @filename: Meta file to peek
* @uri: Meta file to peek
* @err: Error propagation and reporting
*
* Peeks the file and determines the interface which can load
......@@ -309,7 +309,7 @@ interface IAnjutaLoader
*
* Return value: Plugin interface name that can load the file.
*/
gchar* peek_interface (const gchar *filename);
gchar* peek_interface (const gchar *uri);
}
// StreamLoaders can deterime correct plugin to open a stream.
......@@ -423,11 +423,11 @@ interface IAnjutaMessageManager
interface IAnjutaFileManager
{
void ::section_changed (const gchar *filename);
void ::section_changed (const gchar *uri);
void set_root (const gchar *root_directory);
void set_root (const gchar *root_uri);
gchar* get_selected ();
void set_selected (const gchar *filename);
void set_selected (const gchar *uri);
}
/* interface IAnjutaLauncher
......@@ -465,7 +465,7 @@ interface IAnjutaProjectManager
interface IAnjutaTodo
{
void load(gchar *filename);
void load(gchar *uri);
}
interface IAnjutaWizard
......
......@@ -106,6 +106,29 @@ anjuta_res_get_image (const gchar * pixfile)
return pixmap;
}
GtkWidget *
anjuta_res_get_image_sized (const gchar * pixfile, gint width, gint height)
{
GtkWidget *pixmap;
GdkPixbuf *pixbuf;
gchar *pathname;
if (!pixfile || !pixfile[0])
return gtk_image_new ();
pathname = anjuta_res_get_pixmap_file (pixfile);
if (!pathname)
{
g_warning (_("Could not find application pixmap file: %s"),
pixfile);
return gtk_image_new ();
}
pixbuf = gdk_pixbuf_new_from_file_at_size (pathname, width, height, NULL);
pixmap = gtk_image_new_from_pixbuf (pixbuf);
gdk_pixbuf_unref (pixbuf);
g_free (pathname);
return pixmap;
}
/* All the return strings MUST be freed */
gchar *
......
......@@ -30,6 +30,8 @@ extern "C"
GtkWidget* anjuta_res_lookup_widget (GtkWidget *widget,
const gchar *widget_name);
GtkWidget* anjuta_res_get_image (const gchar* filename);
GtkWidget* anjuta_res_get_image_sized (const gchar* filename,
gint width, gint height);
/* Do not unref the returned value */
GdkPixbuf* anjuta_res_get_pixbuf (const gchar *filename);
......
......@@ -50,10 +50,12 @@ ianjuta-file-loader
</para>
@obj:
@filename:
@uri:
@readonly:
@err:
@Returns:
<!-- # Unused Parameters # -->
@filename:
<!-- ##### FUNCTION ianjuta_file_loader_peek_interface ##### -->
......@@ -62,8 +64,10 @@ ianjuta-file-loader
</para>
@obj:
@filename:
@uri:
@err:
@Returns:
<!-- # Unused Parameters # -->
@filename:
......@@ -62,8 +62,10 @@ ianjuta-file-manager
</para>
@obj:
@root_directory:
@root_uri:
@err:
<!-- # Unused Parameters # -->
@root_directory:
<!-- ##### FUNCTION ianjuta_file_manager_set_selected ##### -->
......@@ -72,7 +74,9 @@ ianjuta-file-manager
</para>
@obj:
@filename:
@uri:
@err:
<!-- # Unused Parameters # -->
@filename:
......@@ -72,8 +72,10 @@ ianjuta-file-savable
</para>
@obj:
@filename:
@uri:
@err:
<!-- # Unused Parameters # -->
@filename:
<!-- ##### FUNCTION ianjuta_file_savable_set_dirty ##### -->
......
......@@ -33,7 +33,7 @@ ianjuta-file
</para>
@g_iface:
@get_filename:
@get_uri:
@open:
<!-- ##### FUNCTION ianjuta_file_error_quark ##### -->
......@@ -44,23 +44,15 @@ ianjuta-file
@Returns:
<!-- ##### FUNCTION ianjuta_file_get_filename ##### -->
<para>
</para>
@obj:
@err:
@Returns:
<!-- ##### FUNCTION ianjuta_file_open ##### -->
<para>
</para>
@obj:
@filename:
@uri:
@err:
<!-- # Unused Parameters # -->
@filename:
......@@ -64,6 +64,7 @@
@name:
@icon:
@err:
@Returns:
<!-- # Unused Parameters # -->
@msgman:
@file:
......
......@@ -33,12 +33,13 @@
</para>
@g_iface:
@buffer_flushed:
@message_clicked:
@append:
@buffer_append:
@clear:
@get_all_messages:
@get_line:
@get_message:
@get_current_message:
@select_next:
@select_previous:
......@@ -56,9 +57,12 @@
</para>
@obj:
@message:
@type:
@summary:
@details:
@err:
<!-- # Unused Parameters # -->
@message:
@message_view:
@e:
......@@ -88,32 +92,6 @@
@e:
<!-- ##### FUNCTION ianjuta_message_view_get_line ##### -->
<para>
</para>
@obj:
@err:
@Returns:
<!-- # Unused Parameters # -->
@message_view:
@e:
<!-- ##### FUNCTION ianjuta_message_view_get_message ##### -->
<para>
</para>
@obj:
@err:
@Returns:
<!-- # Unused Parameters # -->
@message_view:
@e:
<!-- ##### FUNCTION ianjuta_message_view_select_next ##### -->
<para>
......
......@@ -914,6 +914,37 @@ GnomeFileList
@e:
@Returns:
<!-- ##### FUNCTION ianjuta_file_get_filename ##### -->
<para>
</para>
@obj:
@err:
@Returns:
<!-- ##### FUNCTION ianjuta_message_view_get_line ##### -->
<para>
</para>
@obj:
@err:
@Returns:
@message_view:
@e:
<!-- ##### FUNCTION ianjuta_message_view_get_message ##### -->
<para>
</para>
@obj:
@err:
@Returns:
@message_view:
@e:
<!-- ##### FUNCTION prop_clear ##### -->
<para>
......
......@@ -13,6 +13,10 @@ plugin_in_files = anjuta-build-basic-autotools.plugin.in
anjuta_plugindir = $(prefix)/@NO_PREFIX_PACKAGE_PLUGIN_DIR@
anjuta_plugin_DATA = $(plugin_in_files:.plugin.in=.plugin)
# Plugin data files
plugin_datadir = $(prefix)/@NO_PREFIX_PACKAGE_DATA_DIR@/build
plugin_data_DATA = automake-c.filters
# NOTE :
# The naming convention is very intentional
# We are forced to use the prefix 'lib' by automake and libtool
......
......@@ -3,19 +3,19 @@
<menubar name="MenuMain">
<placeholder name="PlaceHolderBuildMenus">
<menu name="MenuBuild" action="ActionMenuBuild">
<menuitem name="CompileFile" action="ActionBuildCompileFile"/>
<menuitem name="BuildModule" action="ActionBuildBuildModule"/>
<menuitem name="BuildProject" action="ActionBuildBuildProject"/>
<menuitem name="BuildDistribution" action="ActionBuildDistribution"/>
<separator/>
<menuitem name="InstallModule" action="ActionBuildInstallModule"/>
<menuitem name="InstallProject" action="ActionBuildInstallProject"/>
<menuitem name="CleanProject" action="ActionBuildCleanProject"/>
<separator/>
<menuitem name="BuildDistribution" action="ActionBuildDistribution"/>
<menuitem name="Configure" action="ActionBuildConfigure"/>
<menuitem name="Autogen" action="ActionBuildAutogen"/>
<separator/>
<menuitem name="BuildModule" action="ActionBuildBuildModule"/>
<menuitem name="InstallModule" action="ActionBuildInstallModule"/>
<menuitem name="CleanModule" action="ActionBuildCleanModule"/>
<separator/>
<menuitem name="CompileFile" action="ActionBuildCompileFile"/>
<menuitem name="CleanProject" action="ActionBuildCleanProject"/>
</menu>
</placeholder>
</menubar>
......
^\s*(gcc|g\+\+|cc|c\+\+).*?\-c\s+([^\s]+).*?\-o\s+(\.libs/([^\s]+?)\.[^\s]+).*$|||Compiling \2 --> \4.lo [\3]|||0
^\s*(gcc|g\+\+|cc|c\+\+).*?\-o\s+(\.libs/([^\s]+?)\.[^\s]+).*?\-c\s+([^\s]+).*$|||Compiling \4 --> \3.lo [\2]|||0
^\s*(gcc|g\+\+|cc|c\+\+).*?\-c\s+([^\s]+).*?\-o\s+([^\s]+).*$|||Compiling \2 --> \3|||0
^\s*(gcc|g\+\+|cc|c\+\+).*?\-o\s+([^\s]+).*?\-c\s+([^\s]+).*$|||Compiling \3 --> \2|||0
^\s*(gcc|g\+\+|cc|c\+\+).*?\-c\s+([^\s]+).*$|||Compiling \2|||0
^.*?libtool \-\-mode=compile|||Invoking libtool for compilation|||0
^\s*(gcc|g\+\+|cc|c\+\+).*?\s+\-shared\s+.*?\-o\s+([^\s]+).*$|||Building library \2|||0
^ar cru\s+([^\s]+).*$"|||Building library \1|||0
^\s*(gcc|g\+\+|cc|c\+\+).*?\-o\s+([^\s]+).*$|||Building executable \2|||0
......@@ -7,11 +7,17 @@ typedef struct _BasicAutotoolsPluginClass BasicAutotoolsPluginClass;
struct _BasicAutotoolsPlugin{
AnjutaPlugin parent;
/* Watch IDs */
gint fm_watch_id;
gint project_watch_id;
gint editor_watch_id;
/* Watched values */
gchar *fm_current_filename;
gchar *project_root_dir;
gchar *current_editor_filename;
/* UI */
gint build_merge_id;
GtkActionGroup *build_action_group;
};
......
......@@ -388,7 +388,23 @@ anjuta_docman_instance_init (AnjutaDocman *docman)
static void
anjuta_docman_class_init (AnjutaDocmanClass *klass)
{
static gboolean initialized;
if (!initialized)
{
initialized = TRUE;
/* Signal */
g_signal_new ("editor_changed",
ANJUTA_TYPE_DOCMAN,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (AnjutaDocmanClass, editor_changed),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
1,
G_TYPE_OBJECT);
}
}
GtkWidget*
......@@ -541,7 +557,7 @@ anjuta_docman_remove_editor (AnjutaDocman *docman, TextEditor* te)
anjuta_docman_page_destroy (page);
if (docman->priv->current_editor == te)
docman->priv->current_editor = NULL;
anjuta_docman_set_current_editor (docman, NULL);
/* This is called to set the next active document */
if (GTK_NOTEBOOK (docman)->children == NULL)
......@@ -577,6 +593,9 @@ anjuta_docman_set_current_editor (AnjutaDocman *docman, TextEditor * te)
{
TextEditor *ote = docman->priv->current_editor;
if (ote == te)
return;
if (ote != NULL)
{
AnjutaDocmanPage *page = anjuta_docman_page_from_widget (docman, ote);
......@@ -614,16 +633,15 @@ anjuta_docman_set_current_editor (AnjutaDocman *docman, TextEditor * te)
{
const gchar *dir = g_get_home_dir();
chdir (dir);
return;
}
if (te->uri)
else if (te->uri)
{
gchar* dir;
dir = g_dirname (te->uri);
chdir (dir);
g_free (dir);
return;
}
g_signal_emit_by_name (G_OBJECT (docman), "editor_changed", te);
return;
}
......@@ -633,7 +651,6 @@ anjuta_docman_goto_file_line (AnjutaDocman *docman, const gchar *fname, glong li
return anjuta_docman_goto_file_line_mark (docman, fname, lineno, TRUE);
}
TextEditor *
anjuta_docman_goto_file_line_mark (AnjutaDocman *docman, const gchar *fname,
glong lineno, gboolean mark)
......
......@@ -43,6 +43,9 @@ struct _AnjutaDocman {
struct _AnjutaDocmanClass {
GtkNotebookClass parent_class;
/* Signals */
void (*editor_changed) (TextEditor *current_editor);
};
GType anjuta_docman_get_type (void);
......@@ -60,10 +63,12 @@ TextEditor* anjuta_docman_get_editor_from_path (AnjutaDocman *docman,
void anjuta_docman_set_current_editor (AnjutaDocman *docman, TextEditor *te);
TextEditor* anjuta_docman_goto_file_line (AnjutaDocman *docman, const gchar * fname,
TextEditor* anjuta_docman_goto_file_line (AnjutaDocman *docman,
const gchar * fname,
glong lineno);
TextEditor* anjuta_docman_goto_file_line_mark (AnjutaDocman *docman,
const gchar *fname, glong lineno,
const gchar *fname,
glong lineno,
gboolean mark);
void anjuta_docman_show_editor (AnjutaDocman *docman, GtkWidget* te);
......
......@@ -77,7 +77,6 @@
</menu>
<separator name="separator3"/>
<menuitem name="Autocomplete" action="ActionEditAutocomplete" />
<menuitem name="AdvancedSearchReplace" action="ActionEditAdvancedSearch" />
</menu>
<menu name="MenuView" action="ActionMenuView">
<placeholder name="PlaceholderViewMenus">
......@@ -154,10 +153,8 @@
</menubar>
<toolbar name="ToolbarMain">
<placeholder name="PlaceholderFileToolbar">
<toolitem name="New" action="ActionFileNew" />
<toolitem name="Save" action="ActionFileSave" />
<toolitem name="Reload" action="ActionFileReload" />
<toolitem name="Close" action="ActionFileClose" />
<separator name="separator1"/>
<toolitem name="Undo" action="ActionEditUndo" />
<toolitem name="Redo" action="ActionEditRedo" />
......
......@@ -388,7 +388,23 @@ anjuta_docman_instance_init (AnjutaDocman *docman)
static void
anjuta_docman_class_init (AnjutaDocmanClass *klass)
{
static gboolean initialized;
if (!initialized)
{
initialized = TRUE;
/* Signal */
g_signal_new ("editor_changed",
ANJUTA_TYPE_DOCMAN,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (AnjutaDocmanClass, editor_changed),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
1,