1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
4 * Copyright (C) 2010 Sébastien Granjoux
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; either version 2 of the
9 * License, or (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 GNU
14 * General Public License for more details.
16 * You should have received a copy of the GNU General Public
17 * License along with this program; if not, write to the
18 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 * Boston, MA 02110-1301, USA.
25 #include <glib-object.h>
27 #include <libanjuta/anjuta-project.h>
31 typedef struct _GbfTreeData GbfTreeData
;
34 GBF_TREE_NODE_UNKNOWN
,
39 GBF_TREE_NODE_PACKAGE
,
43 GBF_TREE_NODE_SHORTCUT
,
50 AnjutaProjectNode
*node
;
57 gboolean has_shortcut
;
58 GbfTreeData
*shortcut
;
59 GtkWidget
*properties_dialog
;
62 gchar
*gbf_tree_data_get_uri (GbfTreeData
*data
);
63 GFile
*gbf_tree_data_get_file (GbfTreeData
*data
);
64 const gchar
*gbf_tree_data_get_name (GbfTreeData
*data
);
65 AnjutaProjectNode
*gbf_tree_data_get_node (GbfTreeData
*data
);
67 gchar
*gbf_tree_data_get_path (GbfTreeData
*data
);
69 gboolean
gbf_tree_data_equal (GbfTreeData
*data_a
,
71 gboolean
gbf_tree_data_equal_file (GbfTreeData
*data
,
74 gboolean
gbf_tree_data_equal_name (GbfTreeData
*data
,
76 GbfTreeNodeType
gbf_tree_node_type_from_project (AnjutaProjectNodeType type
);
78 GbfTreeData
*gbf_tree_data_new_string (const gchar
*string
);
79 GbfTreeData
*gbf_tree_data_new_shortcut (GbfTreeData
*src
);
80 GbfTreeData
*gbf_tree_data_new_proxy (const gchar
*name
, gboolean expanded
);
81 GbfTreeData
*gbf_tree_data_new_group (AnjutaProjectNode
*group
);
82 GbfTreeData
*gbf_tree_data_new_target (AnjutaProjectNode
*target
);
83 GbfTreeData
*gbf_tree_data_new_object (AnjutaProjectNode
*object
);
84 GbfTreeData
*gbf_tree_data_new_source (AnjutaProjectNode
*source
);
85 GbfTreeData
*gbf_tree_data_new_module (AnjutaProjectNode
*module
);
86 GbfTreeData
*gbf_tree_data_new_root (AnjutaProjectNode
*root
);
87 GbfTreeData
*gbf_tree_data_new_package (AnjutaProjectNode
*package
);
88 GbfTreeData
*gbf_tree_data_new_node (AnjutaProjectNode
*node
);
89 void gbf_tree_data_invalidate (GbfTreeData
*data
);
90 void gbf_tree_data_free (GbfTreeData
*data
);
95 #endif /* _TREE_DATA_H_ */