Fix a Gtk warning when checking path input in the log viewer.
[anjuta-git-plugin.git] / plugins / symbol-browser / an_symbol_info.h
blob47ca43d88b8b573f68bb01e2099d0bb73bbc9ab8
1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
2 /*
3 * an_symbol_view.c
4 * Copyright (C) 2004 Naba Kumar
5 *
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
22 #ifndef __AN_SYMBOL_INFO_H__
23 #define __AN_SYMBOL_INFO_H__
25 #include <gtk/gtk.h>
26 #include <tm_tagmanager.h>
29 G_BEGIN_DECLS
30 #define ANJUTA_TYPE_SYMBOL_INFO (anjuta_symbol_info_get_type ())
31 #define ANJUTA_SYMBOL_INFO(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), ANJUTA_TYPE_SYMBOL_INFO, AnjutaSymbolInfo))
32 #define ANJUTA_IS_SYMBOL_INFO(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), ANJUTA_TYPE_SYMBOL_INFO))
33 #define ANJUTA_IS_SYMBOL_INFO_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), ANJUTA_TYPE_SYMBOL_INFO))
34 typedef struct _AnjutaSymbolInfo AnjutaSymbolInfo;
35 typedef struct _AnjutaSymbolInfoPriv AnjutaSymbolInfoPriv;
37 typedef enum
39 sv_none_t,
40 sv_namespace_t,
41 sv_class_t,
42 sv_struct_t,
43 sv_union_t,
44 sv_typedef_t,
45 sv_function_t,
46 sv_variable_t,
47 sv_enumerator_t,
48 sv_macro_t,
49 sv_private_func_t,
50 sv_private_var_t,
51 sv_protected_func_t,
52 sv_protected_var_t,
53 sv_public_func_t,
54 sv_public_var_t,
55 sv_cfolder_t,
56 sv_ofolder_t,
57 sv_max_t
58 } SVNodeType;
60 typedef enum
62 sv_root_namespace_t,
63 sv_root_class_t,
64 sv_root_struct_t,
65 sv_root_union_t,
66 sv_root_function_t,
67 sv_root_variable_t,
68 sv_root_macro_t,
69 sv_root_typedef_t,
70 sv_root_none_t,
71 sv_root_max_t
72 } SVRootType;
74 struct _AnjutaSymbolInfo
77 gchar *sym_name; /* symbol name */
78 SVNodeType node_type; /* symbol node_type: defines the type of the Symbol. This item was added. */
79 struct
81 char *name; /* file name */
82 glong line; /* and line of the file in which the symbol is defined */
83 } def; /* the definition struct for the symbol */
84 struct
86 char *name;
87 glong line;
88 } decl; /* the declaration struct for the symbol */
92 GType anjuta_symbol_info_get_type (void);
93 AnjutaSymbolInfo *anjuta_symbol_info_new (TMSymbol *sym, SVNodeType node_type);
94 void anjuta_symbol_info_free (AnjutaSymbolInfo *sym);
96 /* If sym is give sym->tag is used, otherwise the passed tag is used
97 * to determine the sv node type
99 SVNodeType anjuta_symbol_info_get_node_type (const TMSymbol *sym,
100 const TMTag *tag);
101 SVRootType anjuta_symbol_info_get_root_type (SVNodeType type);
103 /* Returns the icon pixbuf. Caller does not get a reference. */
104 const GdkPixbuf* anjuta_symbol_info_get_pixbuf (SVNodeType type);
106 G_END_DECLS
107 #endif /* __AN_SYMBOL_INFO_H__ */