1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ 2 /* 3 * anjuta 4 * Copyright (C) James Liggett 2007 <jrliggett@cox.net> 5 * 6 * anjuta is free software. 7 * 8 * You may redistribute it and/or modify it under the terms of the 9 * GNU General Public License, as published by the Free Software 10 * Foundation; either version 2 of the License, or (at your option) 11 * any later version. 12 * 13 * anjuta is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 * See the GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with anjuta. If not, write to: 20 * The Free Software Foundation, Inc., 21 * 51 Franklin Street, Fifth Floor 22 * Boston, MA 02110-1301, USA. 23 */ 24 25 #ifndef _ANJUTA_VCS_STATUS_TREE_VIEW_H_ 26 #define _ANJUTA_VCS_STATUS_TREE_VIEW_H_ 27 28 #include <glib-object.h> 29 #include <gtk/gtk.h> 30 #include "anjuta-enum-types.h" 31 #include <libanjuta/anjuta-vcs-status.h> 32 33 G_BEGIN_DECLS 34 35 #define ANJUTA_VCS_TYPE_STATUS_TREE_VIEW (anjuta_vcs_status_tree_view_get_type ()) 36 #define ANJUTA_VCS_STATUS_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ANJUTA_VCS_TYPE_STATUS_TREE_VIEW, AnjutaVcsStatusTreeView)) 37 #define ANJUTA_VCS_STATUS_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ANJUTA_VCS_TYPE_STATUS_TREE_VIEW, AnjutaVcsStatusTreeViewClass)) 38 #define ANJUTA_VCS_IS_STATUS_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ANJUTA_VCS_TYPE_STATUS_TREE_VIEW)) 39 #define ANJUTA_VCS_IS_STATUS_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ANJUTA_VCS_TYPE_STATUS_TREE_VIEW)) 40 #define ANJUTA_VCS_STATUS_TREE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ANJUTA_VCS_TYPE_STATUS_TREE_VIEW, AnjutaVcsStatusTreeViewClass)) 41 42 /* Show default status codes: Modified, Added, Deleted, and Conflicted */ 43 #define ANJUTA_VCS_DEFAULT_STATUS_CODES (ANJUTA_VCS_STATUS_MODIFIED | \ 44 ANJUTA_VCS_STATUS_ADDED | \ 45 ANJUTA_VCS_STATUS_DELETED | \ 46 ANJUTA_VCS_STATUS_CONFLICTED) 47 48 typedef struct _AnjutaVcsStatusTreeViewClass AnjutaVcsStatusTreeViewClass; 49 typedef struct _AnjutaVcsStatusTreeView AnjutaVcsStatusTreeView; 50 typedef struct _AnjutaVcsStatusTreeViewPriv AnjutaVcsStatusTreeViewPriv; 51 52 struct _AnjutaVcsStatusTreeViewClass 53 { 54 GtkTreeViewClass parent_class; 55 }; 56 57 struct _AnjutaVcsStatusTreeView 58 { 59 GtkTreeView parent_instance; 60 61 AnjutaVcsStatusTreeViewPriv *priv; 62 }; 63 64 GType anjuta_vcs_status_tree_view_get_type (void) G_GNUC_CONST; 65 GtkWidget *anjuta_vcs_status_tree_view_new (void); 66 void anjuta_vcs_status_tree_view_destroy (AnjutaVcsStatusTreeView *self); 67 void anjuta_vcs_status_tree_view_add (AnjutaVcsStatusTreeView *self, 68 gchar *path, 69 AnjutaVcsStatus status, 70 gboolean selected); 71 void anjuta_vcs_status_tree_view_select_all (AnjutaVcsStatusTreeView *self); 72 void anjuta_vcs_status_tree_view_unselect_all (AnjutaVcsStatusTreeView *self); 73 GList *anjuta_vcs_status_tree_view_get_selected (AnjutaVcsStatusTreeView *self); 74 75 G_END_DECLS 76 77 #endif /* _ANJUTA_VCS_STATUS_TREE_VIEW_H_ */ 78