1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
3 * anjuta-symbol-locals.c
4 * Copyright (C) Naba Kumar 2007 <naba@gnome.org>
6 * anjuta is free software.
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)
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.
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.
28 #include <glib/gi18n.h>
29 #include <gtk/gtktreeselection.h>
30 #include <gtk/gtkcellrenderertext.h>
31 #include <gtk/gtkcellrendererpixbuf.h>
32 #include "anjuta-symbol-locals.h"
34 static GtkTreeViewClass
* parent_class
= NULL
;
43 anjuta_symbol_locals_init (AnjutaSymbolLocals
*view
)
45 GtkTreeViewColumn
*column
;
46 GtkCellRenderer
*renderer
;
47 GtkTreeSelection
*selection
;
49 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (view
), FALSE
);
51 selection
= gtk_tree_view_get_selection (GTK_TREE_VIEW (view
));
52 gtk_tree_selection_set_mode (selection
, GTK_SELECTION_SINGLE
);
54 /* search through the tree interactively */
55 gtk_tree_view_set_enable_search (GTK_TREE_VIEW (view
), TRUE
);
56 gtk_tree_view_set_search_column (GTK_TREE_VIEW (view
), NAME_COLUMN
);
59 column
= gtk_tree_view_column_new ();
60 gtk_tree_view_column_set_sizing (column
,
61 GTK_TREE_VIEW_COLUMN_AUTOSIZE
);
62 gtk_tree_view_column_set_title (column
, _("Symbol"));
64 renderer
= gtk_cell_renderer_pixbuf_new ();
65 gtk_tree_view_column_pack_start (column
, renderer
, FALSE
);
66 gtk_tree_view_column_add_attribute (column
, renderer
, "pixbuf",
69 renderer
= gtk_cell_renderer_text_new ();
70 gtk_tree_view_column_pack_start (column
, renderer
, TRUE
);
71 gtk_tree_view_column_add_attribute (column
, renderer
, "text",
74 gtk_tree_view_append_column (GTK_TREE_VIEW (view
), column
);
75 gtk_tree_view_set_expander_column (GTK_TREE_VIEW (view
), column
);
79 anjuta_symbol_locals_finalize (GObject
*object
)
81 /* TODO: Add deinitalization code here */
83 G_OBJECT_CLASS (parent_class
)->finalize (object
);
87 anjuta_symbol_locals_class_init (AnjutaSymbolLocalsClass
*klass
)
89 GObjectClass
* object_class
= G_OBJECT_CLASS (klass
);
90 parent_class
= GTK_TREE_VIEW_CLASS (g_type_class_peek_parent (klass
));
92 object_class
->finalize
= anjuta_symbol_locals_finalize
;
96 anjuta_symbol_locals_get_type (void)
98 static GType our_type
= 0;
102 static const GTypeInfo our_info
=
104 sizeof (AnjutaSymbolLocalsClass
), /* class_size */
105 (GBaseInitFunc
) NULL
, /* base_init */
106 (GBaseFinalizeFunc
) NULL
, /* base_finalize */
107 (GClassInitFunc
) anjuta_symbol_locals_class_init
, /* class_init */
108 (GClassFinalizeFunc
) NULL
, /* class_finalize */
109 NULL
/* class_data */,
110 sizeof (AnjutaSymbolLocals
), /* instance_size */
112 (GInstanceInitFunc
) anjuta_symbol_locals_init
, /* instance_init */
113 NULL
/* value_table */
116 our_type
= g_type_register_static (GTK_TYPE_TREE_VIEW
, "AnjutaSymbolLocals",
124 anjuta_symbol_locals_new (void)
126 return GTK_WIDGET (g_object_new (ANJUTA_TYPE_SYMBOL_LOCALS
, NULL
));