1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
4 Copyright (C) 2004 Naba Kumar, Johannes Schmid
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
25 #include <libanjuta/anjuta-plugin.h>
26 #include <libanjuta/anjuta-launcher.h>
27 #include <libanjuta/interfaces/ianjuta-message-manager.h>
28 #include <libanjuta/interfaces/ianjuta-editor.h>
29 #include <svn_client.h>
31 #include <libanjuta/interfaces/ianjuta-message-view.h>
32 #include <libanjuta/interfaces/ianjuta-document-manager.h>
33 #include <libanjuta/interfaces/ianjuta-file.h>
34 #include <libanjuta/interfaces/ianjuta-project-manager.h>
35 #include <libanjuta/interfaces/ianjuta-file-manager.h>
36 #include <libanjuta/anjuta-shell.h>
37 #include <libanjuta/anjuta-dock.h>
38 #include <libanjuta/anjuta-debug.h>
39 #include <libanjuta/anjuta-command-queue.h>
41 extern GType
subversion_get_type (GTypeModule
*module
);
42 #define ANJUTA_TYPE_PLUGIN_SUBVERSION (subversion_get_type (NULL))
43 #define ANJUTA_PLUGIN_SUBVERSION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), ANJUTA_TYPE_PLUGIN_SUBVERSION, Subversion))
44 #define ANJUTA_PLUGIN_SUBVERSION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), ANJUTA_TYPE_PLUGIN_SUBVERSION, SubversionClass))
45 #define ANJUTA_IS_PLUGIN_SUBVERSION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), ANJUTA_TYPE_PLUGIN_SUBVERSION))
46 #define ANJUTA_IS_PLUGIN_SUBVERSION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), ANJUTA_TYPE_PLUGIN_SUBVERSION))
47 #define ANJUTA_PLUGIN_SUBVERSION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), ANJUTA_TYPE_PLUGIN_SUBVERSION, SubversionClass))
49 typedef struct _Subversion Subversion
;
50 typedef struct _SubversionClass SubversionClass
;
52 #define GLADE_FILE PACKAGE_DATA_DIR"/glade/anjuta-subversion.ui"
53 #define ICON_FILE "anjuta-subversion-plugin-48.png"
58 IAnjutaMessageView
* mesg_view
;
59 AnjutaLauncher
* launcher
;
65 GtkActionGroup
*action_group
;
66 GtkActionGroup
*popup_action_group
;
70 gint project_watch_id
;
74 gchar
*fm_current_filename
;
75 gchar
*project_root_dir
;
76 gchar
*current_editor_filename
;
80 GtkWidget
*log_viewer
;
82 GList
*svn_commit_logs
;
85 struct _SubversionClass
{
86 AnjutaPluginClass parent_class
;
89 void subversion_plugin_status_changed_emit(AnjutaCommand
*command
, guint return_code
, Subversion
*plugin
);