anjuta r3814 - in trunk: . libegg plugins/document-manager plugins/editor plugins/file-loader plugins/search plugins/symbol-browser plugins/symbol-db



Author: jhs
Date: Thu Apr  3 21:49:08 2008
New Revision: 3814
URL: http://svn.gnome.org/viewvc/anjuta?rev=3814&view=rev

Log:
2008-04-03  Johannes Schmid  <jhs gnome org>

	* Makefile.am:
	* configure.in:
	* libegg/.cvsignore:
	* libegg/Makefile.am:
	* libegg/egg-cell-renderer-text.c:
	* libegg/egg-combo-action.c:
	* libegg/egg-entry-action.c:
	* libegg/egg-recent-action.c:
	* libegg/egg-recent-files-module.c:
	* libegg/egg-recent-item.c:
	* libegg/egg-recent-model.c:
	* libegg/egg-recent-util.c:
	* libegg/egg-recent-view-gtk.c:
	* libegg/egg-recent-view.c:
	* libegg/egg-submenu-action.c:
	* libegg/eggcellrendererpopup.c:
	* libegg/eggcomboselect.c:
	* libegg/eggmarshalers.list:
	* libegg/eggtreemodelfilter.c:
	* libegg/eggtreemodelunion.c:
	* libegg/eggtreemultidnd.c:
	* libegg/gtkcellview.h:
	* libegg/layout.glade:
	* libegg/menu/.cvsignore:
	* libegg/menu/Makefile.am:
	* libegg/menu/egg-combo-action.h:
	* libegg/menu/egg-entry-action.h:
	* libegg/menu/egg-recent-action.h:
	* libegg/menu/egg-submenu-action.h:
	* libegg/menu/eggcomboselect.h:
	* libegg/recent-files/.cvsignore:
	* libegg/recent-files/Makefile.am:
	* libegg/recent-files/egg-recent-item.h:
	* libegg/recent-files/egg-recent-model.h:
	* libegg/recent-files/egg-recent-util.h:
	* libegg/recent-files/egg-recent-view-gtk.h:
	* libegg/recent-files/egg-recent-view.h:
	* libegg/recent-files/egg-recent.h:
	* libegg/test-actions.c:
	* libegg/test-multi-drag.c:
	* libegg/test-union.c:
	* libegg/treeviewutils/.cvsignore:
	* libegg/treeviewutils/Makefile.am:
	* libegg/treeviewutils/egg-cell-renderer-text.h:
	* libegg/treeviewutils/eggcellrendererpopup.h:
	* libegg/treeviewutils/eggtreemodelfilter.h:
	* libegg/treeviewutils/eggtreemodelunion.h:
	* libegg/treeviewutils/eggtreemultidnd.h:
	* libegg/util/.cvsignore:
	* libegg/util/Makefile.am:
	* libegg/util/egg-macros.h:
	* libegg/util/eggintl.h:
	
	Killed libegg (#349279)
	
	* plugins/document-manager/Makefile.am:
	* plugins/document-manager/action-callbacks.c:
	* plugins/document-manager/plugin.c:
	* plugins/editor/plugin.c:
	(on_open_recent_file), (sort_recent_menu),
	(setup_recent_chooser_menu), (activate_plugin), (dispose),
	(anjuta_file_loader_plugin_instance_init):
	* plugins/file-loader/plugin.h:
	* plugins/search/Makefile.am:
	* plugins/search/plugin.c:
	* plugins/search/search-replace.c:
	
	Removed dead code and libegg from Makefiles
	
	* plugins/symbol-browser/Makefile.am:
	* plugins/symbol-browser/anjuta-symbol-browser-plugin.ui:
	* plugins/symbol-browser/plugin.c (on_editor_saved),
	(update_editor_symbol_model), (iter_matches),
	(value_removed_current_editor), (activate_plugin):
	Removed symbol-browser toolbar which used libegg and was
	buggy (#451588)
	
	Patch from Ignacio Casal Quinteiro with lots of changes:
	* plugins/file-loader/Makefile.am:
	* plugins/file-loader/anjuta-loader-plugin.ui:
	* plugins/file-loader/plugin.c (set_recent_file), (open_file),
	Port FileLoader to GtkRecent (#398984)

Removed:
   trunk/libegg/
Modified:
   trunk/ChangeLog
   trunk/Makefile.am
   trunk/configure.in
   trunk/plugins/document-manager/Makefile.am
   trunk/plugins/document-manager/action-callbacks.c
   trunk/plugins/document-manager/plugin.c
   trunk/plugins/editor/plugin.c
   trunk/plugins/file-loader/Makefile.am
   trunk/plugins/file-loader/anjuta-loader-plugin.ui
   trunk/plugins/file-loader/plugin.c
   trunk/plugins/file-loader/plugin.h
   trunk/plugins/search/Makefile.am
   trunk/plugins/search/plugin.c
   trunk/plugins/search/search-replace.c
   trunk/plugins/symbol-browser/Makefile.am
   trunk/plugins/symbol-browser/anjuta-symbol-browser-plugin.ui
   trunk/plugins/symbol-browser/plugin.c
   trunk/plugins/symbol-db/plugin.c
   trunk/plugins/symbol-db/symbol-db-engine-iterator-node.c
   trunk/plugins/symbol-db/symbol-db-view-locals.c

Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am	(original)
+++ trunk/Makefile.am	Thu Apr  3 21:49:08 2008
@@ -3,7 +3,7 @@
 @INTLTOOL_DESKTOP_RULE@
 
 SUBDIRS = tagmanager global-tags \
-	libegg pixmaps scripts data \
+	pixmaps scripts data \
 	doc libanjuta plugins src manuals mime launcher po
 
 anjutadocdir = $(datadir)/doc/anjuta

Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in	(original)
+++ trunk/configure.in	Thu Apr  3 21:49:08 2008
@@ -1097,11 +1097,6 @@
 tagmanager/Makefile
 tagmanager/include/Makefile
 global-tags/Makefile
-libegg/Makefile
-libegg/util/Makefile
-libegg/treeviewutils/Makefile
-libegg/menu/Makefile
-libegg/recent-files/Makefile
 libanjuta/Makefile
 libanjuta/libanjuta-1.0.pc
 libanjuta/interfaces/Makefile

Modified: trunk/plugins/document-manager/Makefile.am
==============================================================================
--- trunk/plugins/document-manager/Makefile.am	(original)
+++ trunk/plugins/document-manager/Makefile.am	Thu Apr  3 21:49:08 2008
@@ -34,7 +34,6 @@
 	$(PCRE_LIBS) \
 	$(GNOME_PRINT_UI_LIBS) \
 	$(GNOME_VFS_LIBS) \
-	$(top_builddir)/libegg/libanjuta-egg.la \
 	$(LIBANJUTA_LIBS)
 
 libanjuta_document_manager_la_SOURCES= \

Modified: trunk/plugins/document-manager/action-callbacks.c
==============================================================================
--- trunk/plugins/document-manager/action-callbacks.c	(original)
+++ trunk/plugins/document-manager/action-callbacks.c	Thu Apr  3 21:49:08 2008
@@ -38,8 +38,6 @@
 #include <libanjuta/interfaces/ianjuta-editor-goto.h>
 #include <libanjuta/interfaces/ianjuta-editor-language.h>
 
-#include <libegg/menu/egg-entry-action.h>
-
 #include <sys/wait.h>
 #include <sys/stat.h>
 

Modified: trunk/plugins/document-manager/plugin.c
==============================================================================
--- trunk/plugins/document-manager/plugin.c	(original)
+++ trunk/plugins/document-manager/plugin.c	Thu Apr  3 21:49:08 2008
@@ -24,7 +24,6 @@
 #include <libanjuta/anjuta-debug.h>
 #include <libanjuta/anjuta-encodings.h>
 
-#include <libegg/menu/egg-entry-action.h>
 #include <libanjuta/interfaces/ianjuta-document-manager.h>
 #include <libanjuta/interfaces/ianjuta-file.h>
 #include <libanjuta/interfaces/ianjuta-editor.h>

Modified: trunk/plugins/editor/plugin.c
==============================================================================
--- trunk/plugins/editor/plugin.c	(original)
+++ trunk/plugins/editor/plugin.c	Thu Apr  3 21:49:08 2008
@@ -23,7 +23,6 @@
 #include <libanjuta/anjuta-shell.h>
 #include <libanjuta/anjuta-debug.h>
 #include <libanjuta/anjuta-encodings.h>
-#include <libegg/menu/egg-entry-action.h>
 #include <libanjuta/interfaces/ianjuta-document-manager.h>
 #include <libanjuta/interfaces/ianjuta-file.h>
 #include <libanjuta/interfaces/ianjuta-file-savable.h>

Modified: trunk/plugins/file-loader/Makefile.am
==============================================================================
--- trunk/plugins/file-loader/Makefile.am	(original)
+++ trunk/plugins/file-loader/Makefile.am	Thu Apr  3 21:49:08 2008
@@ -39,8 +39,7 @@
 libanjuta_loader_la_LIBADD = \
 	$(GTK_LIBS) \
 	$(GNOME_VFS_LIBS) \
-	$(LIBANJUTA_LIBS)\
-	$(top_builddir)/libegg/libanjuta-egg.la
+	$(LIBANJUTA_LIBS)
 
 # Plugin dependencies
 

Modified: trunk/plugins/file-loader/anjuta-loader-plugin.ui
==============================================================================
--- trunk/plugins/file-loader/anjuta-loader-plugin.ui	(original)
+++ trunk/plugins/file-loader/anjuta-loader-plugin.ui	Thu Apr  3 21:49:08 2008
@@ -28,9 +28,7 @@
 	<toolbar name="ToolbarMain">
 		<placeholder name="PlaceholderFileToolbar">
 			<placeholder name="PlaceholderFileToolbarNew" />
-			<toolitem name="Wizard" action="ActionFileWizard" />
-			<toolitem name="Open" action="ActionFileOpen" />
-			<toolitem name="OpenRecent" action="ActionFileOpenRecent"/>
+			<toolitem name="Open" action="ActionFileOpenRecent" />
 		</placeholder>
 	</toolbar>
 </ui>

Modified: trunk/plugins/file-loader/plugin.c
==============================================================================
--- trunk/plugins/file-loader/plugin.c	(original)
+++ trunk/plugins/file-loader/plugin.c	Thu Apr  3 21:49:08 2008
@@ -34,8 +34,6 @@
 #include <libanjuta/interfaces/ianjuta-file-loader.h>
 #include <libanjuta/interfaces/ianjuta-document-manager.h>
 #include <libanjuta/interfaces/ianjuta-wizard.h>
-#include <libegg/menu/egg-submenu-action.h>
-#include <libegg/menu/egg-recent-action.h>
 
 #include "plugin.h"
 #include "dnd.h"
@@ -70,23 +68,31 @@
 set_recent_file (AnjutaFileLoaderPlugin *plugin, const gchar *uri,
 				 const gchar *mime)
 {
-	EggRecentItem *recent_item;
+	GtkRecentData *recent_data;
+	gchar *name;
+	
 	DEBUG_PRINT ("Adding recent item of mimi-type: %s", mime);
-	recent_item = egg_recent_item_new ();
-	egg_recent_item_set_uri (recent_item, uri);
-	egg_recent_item_set_mime_type (recent_item, mime);
-	if (strcmp (mime, "application/x-anjuta") == 0)
-	{
-		egg_recent_item_add_group (recent_item, "anjuta-projects");
-		egg_recent_model_add_full (plugin->recent_files_model_top,
-								   recent_item);
-	}
-	else
+	
+	name = g_path_get_basename (uri);
+	
+	recent_data = g_slice_new (GtkRecentData);
+
+	recent_data->display_name   = name;
+	recent_data->description    = NULL;
+	recent_data->mime_type      = (gchar *)mime;
+	recent_data->app_name       = (gchar *) g_get_application_name ();
+	recent_data->app_exec       = g_strjoin (" ", g_get_prgname (), "%u", NULL);
+	recent_data->groups         = NULL;
+	recent_data->is_private     = FALSE;
+
+	if (!gtk_recent_manager_add_full (plugin->recent_manager, uri, recent_data))
 	{
-		egg_recent_item_add_group (recent_item, "anjuta-files");
-		egg_recent_model_add_full (plugin->recent_files_model_bottom,
-								   recent_item);
+      		g_warning ("Unable to add '%s' to the list of recently used documents", uri);
 	}
+
+	g_free (name);
+	g_free (recent_data->app_exec);
+	g_slice_free (GtkRecentData, recent_data);
 }
 
 static void
@@ -354,6 +360,8 @@
 	chdir (dirname);
 	g_free (dirname);
 	
+	/* FIXME: We have to manage the error to know if we have to remove the recent file
+	 */
 	ianjuta_file_loader_load (IANJUTA_FILE_LOADER (plugin),
 							  uri, FALSE, NULL);
 }
@@ -376,14 +384,14 @@
 }
 
 static gboolean
-on_open_recent_file (EggRecentAction *action, AnjutaFileLoaderPlugin *plugin)
+on_open_recent_file (GtkRecentChooser *chooser, AnjutaFileLoaderPlugin *plugin)
 {
 	const gchar *uri;
 	GnomeVFSURI *vfs_uri;
 	gboolean ret = TRUE;
 	RecentIdelOpenData *rdata;
 	
-	uri = egg_recent_action_get_selected_uri (action);
+	uri = gtk_recent_chooser_get_current_uri (chooser);
 	vfs_uri = gnome_vfs_uri_new (uri);
 	rdata = g_new0 (RecentIdelOpenData, 1);
 	rdata->plugin = plugin;
@@ -665,22 +673,6 @@
 	return submenu;
 }
 
-/*
-static void
-on_recent_files_tooltip (GtkTooltips *tooltips, GtkWidget *menu_item,
-						 EggRecentItem *item, gpointer user_data)
-{
-	char *uri, *tip;
-
-	uri = egg_recent_item_get_uri_for_display (item);
-	tip = g_strdup_printf ("Open '%s'", uri);
-
-	gtk_tooltips_set_tip (tooltips, menu_item, tip, NULL);
-
-	g_free (uri);
-}
-*/
-
 static void
 open_file_with (AnjutaFileLoaderPlugin *plugin, GtkMenuItem *menuitem,
 				const gchar *uri)
@@ -1106,16 +1098,54 @@
 	}
 }
 
+static gint
+sort_recent_menu (GtkRecentInfo *a, GtkRecentInfo *b, gpointer useless)
+{
+	const gchar *mime_a;
+	const gchar *mime_b;
+
+	mime_a = gtk_recent_info_get_mime_type (a);
+	mime_b = gtk_recent_info_get_mime_type (b);
+	
+	if (strcmp(mime_a, mime_b) == 0)
+		return 1;
+	else if (strcmp (mime_a, "application/x-anjuta") == 0)
+		return -1;
+	else if (strcmp (mime_b, "application/x-anjuta") == 0)
+		return 1;
+		
+	return 0;
+}
+
+static void
+setup_recent_chooser_menu (GtkRecentChooser* recent_menu, AnjutaFileLoaderPlugin* plugin)
+{
+	GtkRecentFilter *filter;
+
+	gtk_recent_chooser_set_local_only (GTK_RECENT_CHOOSER (recent_menu), TRUE);
+	gtk_recent_chooser_set_show_icons (GTK_RECENT_CHOOSER (recent_menu), TRUE);
+	gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (recent_menu), GTK_RECENT_SORT_CUSTOM);
+	gtk_recent_chooser_set_sort_func (GTK_RECENT_CHOOSER (recent_menu), sort_recent_menu, NULL, NULL);
+	g_object_set (recent_menu, "show-numbers", TRUE, NULL);
+	gtk_recent_chooser_set_limit (GTK_RECENT_CHOOSER (recent_menu), 20);
+
+	filter = gtk_recent_filter_new ();
+	gtk_recent_filter_add_application (filter, g_get_application_name ());
+	gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (recent_menu), filter);
+
+	g_signal_connect (recent_menu, "item-activated",
+					  G_CALLBACK (on_open_recent_file), plugin);	
+}
+
 static gboolean
 activate_plugin (AnjutaPlugin *plugin)
 {
-	EggSubmenuAction *saction;
-	GtkAction *action;
+	GtkAction *action, *saction;
 	AnjutaUI *ui;
 	AnjutaFileLoaderPlugin *loader_plugin;
-	// GtkWidget *recent_menu;
-	// EggRecentViewGtk *recent_view;
 	GtkActionGroup *group;
+	GtkWidget *widget;
+	GtkWidget* recent_menu;
 	
 	loader_plugin = ANJUTA_PLUGIN_FILE_LOADER (plugin);
 	
@@ -1123,6 +1153,9 @@
 	
 	ui = anjuta_shell_get_ui (plugin->shell, NULL);
 	
+	/* Recent manager */
+	loader_plugin->recent_manager = gtk_recent_manager_get_default();
+	
 	/* Add action group */
 	loader_plugin->action_group =
 		anjuta_ui_add_action_group_entries (ui, "ActionGroupLoader",
@@ -1136,13 +1169,8 @@
 											popup_actions_file,
 											G_N_ELEMENTS (popup_actions_file),
 											GETTEXT_PACKAGE, FALSE, plugin);
-	saction = g_object_new (EGG_TYPE_SUBMENU_ACTION,
-							"name", "ActionFileWizard",
-							"label", _("New"),
-							"tooltip", _("New file, project and project components."),
-							NULL);
-	egg_submenu_action_set_menu_factory (saction,
-										 on_create_submenu, plugin);
+	saction = gtk_recent_action_new ("ActionFileWizard", _("New"),
+							  _("New file, project and project components."), NULL);
 	gtk_action_group_add_action (loader_plugin->action_group,
 								 GTK_ACTION (saction));
 	
@@ -1152,17 +1180,13 @@
 				  "is-important", TRUE, NULL);
 
 	group = gtk_action_group_new ("ActionGroupLoaderRecent");
-	action = g_object_new (EGG_TYPE_RECENT_ACTION,
-						   "name", "ActionFileOpenRecent",
-						   "label", _("Open _Recent"),
-						   "tooltip", _("Open recent file"),
-							NULL);
-	egg_recent_action_add_model (EGG_RECENT_ACTION (action),
-								 loader_plugin->recent_files_model_top);
-	egg_recent_action_add_model (EGG_RECENT_ACTION (action),
-								 loader_plugin->recent_files_model_bottom);
-	g_signal_connect (action, "activate",
-					  G_CALLBACK (on_open_recent_file), plugin);
+	action = gtk_recent_action_new_for_manager ("ActionFileOpenRecent", _("Open _Recent"),
+												_("Open recent file"), NULL,
+												loader_plugin->recent_manager);
+	g_object_set (action, "stock-id", GTK_STOCK_OPEN, NULL);
+	setup_recent_chooser_menu (GTK_RECENT_CHOOSER (action), loader_plugin);
+	g_signal_connect (action, "activate", G_CALLBACK (on_open_activate), loader_plugin);
+	
 	gtk_action_group_add_action (group, action);
 	anjuta_ui_add_action_group (ui, "ActionGroupLoaderRecent",
 								N_("Open recent files"), group, FALSE);
@@ -1171,6 +1195,18 @@
 	/* Add UI */
 	loader_plugin->uiid = anjuta_ui_merge (ui, UI_FILE);
 	
+	/* Adding submenus */
+	recent_menu = gtk_recent_chooser_menu_new_for_manager (loader_plugin->recent_manager);
+	setup_recent_chooser_menu (GTK_RECENT_CHOOSER (recent_menu), loader_plugin);
+	widget = gtk_ui_manager_get_widget (GTK_UI_MANAGER(ui),
+					"/MenuMain/MenuFile/PlaceholderFileMenus/OpenRecent");
+	gtk_menu_item_set_submenu (GTK_MENU_ITEM (widget), 
+							   recent_menu);
+	
+	widget = gtk_ui_manager_get_widget (GTK_UI_MANAGER(ui),
+					"/MenuMain/MenuFile/PlaceholderFileMenus/Wizard");
+	gtk_menu_item_set_submenu (GTK_MENU_ITEM (widget), on_create_submenu(loader_plugin));
+	
 	/* Install drag n drop handler */
 	dnd_drop_init (GTK_WIDGET (plugin->shell), dnd_dropped, plugin,
 				   "text/plain", "text/html", "text/source", "application-x/anjuta",
@@ -1225,16 +1261,6 @@
 dispose (GObject *obj)
 {
 	AnjutaFileLoaderPlugin *plugin = ANJUTA_PLUGIN_FILE_LOADER (obj);
-	if (plugin->recent_files_model_top)
-	{
-		g_object_unref (plugin->recent_files_model_top);
-		plugin->recent_files_model_top = NULL;
-	}
-	if (plugin->recent_files_model_bottom)
-	{
-		g_object_unref (plugin->recent_files_model_bottom);
-		plugin->recent_files_model_bottom = NULL;
-	}
 	G_OBJECT_CLASS (parent_class)->dispose (obj);
 }
 
@@ -1252,17 +1278,6 @@
 	
 	plugin->fm_current_uri = NULL;
 	plugin->pm_current_uri = NULL;
-	
-	plugin->recent_files_model_top =
-		egg_recent_model_new (EGG_RECENT_MODEL_SORT_MRU);
-	egg_recent_model_set_limit (plugin->recent_files_model_top, 5);
-	egg_recent_model_set_filter_groups (plugin->recent_files_model_top,
-										"anjuta-projects", NULL);
-	plugin->recent_files_model_bottom =
-		egg_recent_model_new (EGG_RECENT_MODEL_SORT_MRU);
-	egg_recent_model_set_limit (plugin->recent_files_model_bottom, 15);
-	egg_recent_model_set_filter_groups (plugin->recent_files_model_bottom,
-										"anjuta-files", NULL);
 }
 
 static void

Modified: trunk/plugins/file-loader/plugin.h
==============================================================================
--- trunk/plugins/file-loader/plugin.h	(original)
+++ trunk/plugins/file-loader/plugin.h	Thu Apr  3 21:49:08 2008
@@ -1,6 +1,6 @@
 
 #include <libanjuta/anjuta-plugin.h>
-#include <libegg/recent-files/egg-recent-model.h>
+#include <gtk/gtkrecentmanager.h>
 
 extern GType anjuta_file_loader_plugin_get_type (GTypeModule *module);
 #define ANJUTA_TYPE_PLUGIN_FILE_LOADER         (anjuta_file_loader_plugin_get_type (NULL))
@@ -15,8 +15,8 @@
 
 struct _AnjutaFileLoaderPlugin{
 	AnjutaPlugin parent;
-	EggRecentModel *recent_files_model_top;
-	EggRecentModel *recent_files_model_bottom;
+	
+	GtkRecentManager *recent_manager;
 	GtkActionGroup *action_group;
 	GtkActionGroup *popup_action_group;
 	GtkActionGroup *recent_group;

Modified: trunk/plugins/search/Makefile.am
==============================================================================
--- trunk/plugins/search/Makefile.am	(original)
+++ trunk/plugins/search/Makefile.am	Thu Apr  3 21:49:08 2008
@@ -42,7 +42,6 @@
 	$(GNOME_UI_LIBS) \
 	$(GLADE_LIBS) \
 	$(LIBANJUTA_LIBS) \
-	$(top_builddir)/libegg/libanjuta-egg.la \
 	$(top_builddir)/tagmanager/libanjuta-ctags.la
 
 libanjuta_search_la_SOURCES= \

Modified: trunk/plugins/search/plugin.c
==============================================================================
--- trunk/plugins/search/plugin.c	(original)
+++ trunk/plugins/search/plugin.c	Thu Apr  3 21:49:08 2008
@@ -24,8 +24,6 @@
 #include <libanjuta/anjuta-shell.h>
 #include <libanjuta/anjuta-debug.h>
 
-#include <libegg/menu/egg-entry-action.h>
-
 #include "plugin.h"
 #include "search-replace.h"
 #include "search-replace_backend.h"

Modified: trunk/plugins/search/search-replace.c
==============================================================================
--- trunk/plugins/search/search-replace.c	(original)
+++ trunk/plugins/search/search-replace.c	Thu Apr  3 21:49:08 2008
@@ -36,8 +36,6 @@
 #include <libanjuta/interfaces/ianjuta-bookmark.h>
 #include <libanjuta/interfaces/ianjuta-indicable.h>
 
-#include <libegg/menu/egg-entry-action.h>
-
 #include "search-replace_backend.h"
 #include "search-replace.h"
 #include "search_preferences.h"
@@ -1354,21 +1352,6 @@
 
 #define MAX_ITEMS_SEARCH_COMBO 16
 
-void
-search_toolbar_set_text(gchar *search_text)
-{
-	AnjutaUI *ui; 
-	GtkAction *action; 
-	
-	AnjutaShell* shell;
-	g_object_get(G_OBJECT(sr->docman), "shell", &shell, NULL);
-	
-	ui = anjuta_shell_get_ui (shell, NULL);
-	action = anjuta_ui_get_action (ui, "ActionGroupNavigation",
-								   "ActionEditSearchEntry");
-	egg_entry_action_set_text (EGG_ENTRY_ACTION(action), search_text);	
-}
-
 static void
 search_update_combos(void)
 {

Modified: trunk/plugins/symbol-browser/Makefile.am
==============================================================================
--- trunk/plugins/symbol-browser/Makefile.am	(original)
+++ trunk/plugins/symbol-browser/Makefile.am	Thu Apr  3 21:49:08 2008
@@ -62,7 +62,6 @@
 	$(GDL_LIBS) \
 	$(GNOME_UI_LIBS) \
 	$(LIBANJUTA_LIBS) \
-	$(top_builddir)/libegg/libanjuta-egg.la \
 	$(top_builddir)/tagmanager/libanjuta-ctags.la
 	
 prefs_glade_files = anjuta-symbol-browser-plugin.glade

Modified: trunk/plugins/symbol-browser/anjuta-symbol-browser-plugin.ui
==============================================================================
--- trunk/plugins/symbol-browser/anjuta-symbol-browser-plugin.ui	(original)
+++ trunk/plugins/symbol-browser/anjuta-symbol-browser-plugin.ui	Thu Apr  3 21:49:08 2008
@@ -8,9 +8,6 @@
 			</menu>
 		</placeholder>
 	</menubar>
-	<toolbar name="ToolbarSymbols">
-		<toolitem name="Symbol" action="ActionGotoSymbol"/>
-	</toolbar>
 	<popup name="PopupSymbolBrowser">
 		<menuitem name="GotoDef" action="ActionPopupSymbolBrowserGotoDef"/>
 		<menuitem name="GotoDecl" action="ActionPopupSymbolBrowserGotoDecl"/>

Modified: trunk/plugins/symbol-browser/plugin.c
==============================================================================
--- trunk/plugins/symbol-browser/plugin.c	(original)
+++ trunk/plugins/symbol-browser/plugin.c	Thu Apr  3 21:49:08 2008
@@ -32,7 +32,6 @@
 #include <libanjuta/interfaces/ianjuta-markable.h>
 #include <libanjuta/interfaces/ianjuta-symbol-manager.h>
 #include <libanjuta/interfaces/ianjuta-preferences.h>
-#include <libegg/menu/egg-combo-action.h>
 
 #include <tm_tagmanager.h>
 #include "an_symbol_view.h"
@@ -544,17 +543,6 @@
 }
 
 static void
-on_symbol_selected (GtkAction *action, SymbolBrowserPlugin *sv_plugin)
-{
-	GtkTreeIter iter;
-	
-	if (egg_combo_action_get_active_iter (EGG_COMBO_ACTION (action), &iter))
-	{
-		goto_tree_iter (sv_plugin, &iter);
-	}
-}
-
-static void
 on_local_treeview_row_activated (GtkTreeView *view, GtkTreePath *arg1,
 								 GtkTreeViewColumn *arg2,
 								 SymbolBrowserPlugin *sv_plugin)
@@ -644,8 +632,6 @@
 		
 		/* Update File symbol view */
 		ui = anjuta_shell_get_ui (ANJUTA_PLUGIN (sv_plugin)->shell, NULL);
-		action = anjuta_ui_get_action (ui, "ActionGroupSymbolNavigation",
-									   "ActionGotoSymbol");
 		
 		
 		file_symbol_model =
@@ -653,18 +639,11 @@
 		g_object_set_data (G_OBJECT (editor), "tm_file",
 						   g_object_get_data (G_OBJECT (file_symbol_model),
 											  "tm_file"));
-		/* Set toolbar version */
-		egg_combo_action_set_model (EGG_COMBO_ACTION (action), file_symbol_model);
 		/* Set local view version */
 		gtk_tree_view_set_model (GTK_TREE_VIEW (sv_plugin->sl_tree),
 								 file_symbol_model);
 		sv_plugin->locals_line_number = 0;
 		on_editor_update_ui (editor, sv_plugin);
-		
-		if (gtk_tree_model_iter_n_children (file_symbol_model, NULL) > 0)
-			g_object_set (G_OBJECT (action), "sensitive", TRUE, NULL);
-		else
-			g_object_set (G_OBJECT (action), "sensitive", FALSE, NULL);
 
 #if 0
 		/* FIXME: Re-hilite all editors on tags update */
@@ -733,8 +712,6 @@
 		g_free (local_filename);
 		
 		anjuta_symbol_view_workspace_add_file (ANJUTA_SYMBOL_VIEW (sv_plugin->sv_tree), uri);
-		action = anjuta_ui_get_action (ui, "ActionGroupSymbolNavigation",
-									   "ActionGotoSymbol");
 		g_free (uri);
 		
 		file_symbol_model =
@@ -744,19 +721,12 @@
 			g_object_set_data (G_OBJECT (editor), "tm_file",
 						   g_object_get_data (G_OBJECT (file_symbol_model),
 											  "tm_file"));
-			/* Set toolbar version */
-			egg_combo_action_set_model (EGG_COMBO_ACTION (action), file_symbol_model);
 			
 			/* Set local view version */
 			gtk_tree_view_set_model (GTK_TREE_VIEW (sv_plugin->sl_tree),
 									 file_symbol_model);
 			sv_plugin->locals_line_number = 0;
 			on_editor_update_ui (IANJUTA_EDITOR (editor), sv_plugin);
-			
-			if (gtk_tree_model_iter_n_children (file_symbol_model, NULL) > 0)
-				g_object_set (G_OBJECT (action), "sensitive", TRUE, NULL);
-			else
-				g_object_set (G_OBJECT (action), "sensitive", FALSE, NULL);
 		}
 	}
 }
@@ -770,11 +740,7 @@
 	if (line == lineno)
 	{
 		GtkTreePath* path = gtk_tree_model_get_path (model, iter);
-		GtkAction* action = anjuta_ui_get_action (sv_plugin->ui, 
-												  "ActionGroupSymbolNavigation",
-												  "ActionGotoSymbol");
 		
-		egg_combo_action_set_active_iter (EGG_COMBO_ACTION (action), iter);
 		gtk_tree_view_set_cursor (GTK_TREE_VIEW (sv_plugin->sl_tree), path, NULL,
 								 FALSE);
 		gtk_tree_path_free (path);
@@ -875,9 +841,6 @@
 	
 	sv_plugin = ANJUTA_PLUGIN_SYMBOL_BROWSER (plugin);
 	ui = anjuta_shell_get_ui (plugin->shell, NULL);
-	action = anjuta_ui_get_action (ui, "ActionGroupSymbolNavigation",
-								   "ActionGotoSymbol");
-	g_object_set (G_OBJECT (action), "sensitive", FALSE, NULL);
 	sv_plugin->current_editor = NULL;
 }
 
@@ -885,7 +848,6 @@
 activate_plugin (AnjutaPlugin *plugin)
 {
 	GtkActionGroup *group;
-	GtkAction *action;
 	SymbolBrowserPlugin *sv_plugin;
 	
 	DEBUG_PRINT ("SymbolBrowserPlugin: Activating Symbol Manager plugin...");
@@ -983,19 +945,7 @@
 											G_N_ELEMENTS (popup_actions),
 											GETTEXT_PACKAGE, FALSE, plugin);
 	group = gtk_action_group_new ("ActionGroupSymbolNavigation");
-
-	/* create a new combobox in style of libegg... */
-	action = g_object_new (EGG_TYPE_COMBO_ACTION,
-						   "name", "ActionGotoSymbol",
-						   "label", _("Goto symbol"),
-						   "tooltip", _("Select the symbol to go"),
-						   "stock_id", GTK_STOCK_JUMP_TO,
-							NULL);
-
-	g_object_set (G_OBJECT (action), "sensitive", FALSE, NULL);
-	g_signal_connect (action, "activate",
-					  G_CALLBACK (on_symbol_selected), sv_plugin);
-	gtk_action_group_add_action (group, action);
+	
 	anjuta_ui_add_action_group (sv_plugin->ui, "ActionGroupSymbolNavigation",
 								N_("Symbol navigations"), group, FALSE);
 	sv_plugin->action_group_nav = group;

Modified: trunk/plugins/symbol-db/plugin.c
==============================================================================
--- trunk/plugins/symbol-db/plugin.c	(original)
+++ trunk/plugins/symbol-db/plugin.c	Thu Apr  3 21:49:08 2008
@@ -39,8 +39,6 @@
 #include <libanjuta/interfaces/ianjuta-iterable.h>
 #include <libanjuta/interfaces/ianjuta-preferences.h>
 
-#include <libegg/menu/egg-combo-action.h>
-
 #include "plugin.h"
 #include "symbol-db-view.h"
 #include "symbol-db-view-locals.h"

Modified: trunk/plugins/symbol-db/symbol-db-engine-iterator-node.c
==============================================================================
--- trunk/plugins/symbol-db/symbol-db-engine-iterator-node.c	(original)
+++ trunk/plugins/symbol-db/symbol-db-engine-iterator-node.c	Thu Apr  3 21:49:08 2008
@@ -25,6 +25,7 @@
 #include <libanjuta/interfaces/ianjuta-symbol.h>
 #include <libanjuta/anjuta-utils.h>
 #include <libanjuta/anjuta-debug.h>
+#include <libgnomevfs/gnome-vfs.h>
 
 #include "symbol-db-engine-iterator-node.h"
 #include "symbol-db-engine.h"
@@ -43,7 +44,6 @@
 SymbolDBEngineIteratorNode *
 symbol_db_engine_iterator_node_new (const GdaDataModelIter *data)
 {	
-/*	DEBUG_PRINT ("sdb_engine_iterator_node_new ()");*/
 	SymbolDBEngineIteratorNode *s;
 	s = g_object_new (SYMBOL_TYPE_DB_ENGINE_ITERATOR_NODE, NULL);
 	s->priv->data_iter = (GdaDataModelIter *)data;
@@ -56,7 +56,6 @@
 sdb_engine_iterator_node_instance_init (SymbolDBEngineIteratorNode *object)
 {
 	SymbolDBEngineIteratorNode *sdbin;
-/*	DEBUG_PRINT ("sdb_engine_iterator_node_instance_init ()");*/
 	
 	sdbin = SYMBOL_DB_ENGINE_ITERATOR_NODE (object);
 	
@@ -68,12 +67,9 @@
 static void
 sdb_engine_iterator_node_finalize (GObject *object)
 {
-	/* TODO: Add deinitalization code here */
 	SymbolDBEngineIteratorNode *dbin;
 	SymbolDBEngineIteratorNodePriv *priv;
 	
-/*	DEBUG_PRINT ("sdb_engine_iterator_node_finalize ()");*/
-	
 	dbin = SYMBOL_DB_ENGINE_ITERATOR_NODE (object);	
 	priv = dbin->priv;
 	if (priv->uri)
@@ -101,13 +97,11 @@
 {
 	SymbolDBEngineIteratorNodePriv *priv;
 	const GValue* value;
-	GdaParameter *par;
 	
 	g_return_val_if_fail (dbin != NULL, -1);
 	priv = dbin->priv;
 	
-	par = gda_data_model_iter_get_param_for_column (priv->data_iter, 0);
-	value = gda_parameter_get_value (par);	
+	value = gda_data_model_iter_get_value_at (priv->data_iter, 0);
 	
 	return value != NULL && G_VALUE_HOLDS_INT (value)
 		? g_value_get_int (value) : -1;
@@ -121,13 +115,11 @@
 {
 	SymbolDBEngineIteratorNodePriv *priv;
 	const GValue* value;
-	GdaParameter *par;
 	
 	g_return_val_if_fail (dbin != NULL, NULL);
 	priv = dbin->priv;
 	
-	par = gda_data_model_iter_get_param_for_column (priv->data_iter, 1);
-	value = gda_parameter_get_value (par);	
+	value = gda_data_model_iter_get_value_at (priv->data_iter, 1);
 	
 	return value != NULL && G_VALUE_HOLDS_STRING (value)
 		? g_value_get_string (value) : NULL;
@@ -141,13 +133,11 @@
 {
 	SymbolDBEngineIteratorNodePriv *priv;
 	const GValue* value;
-	GdaParameter *par;
 	
 	g_return_val_if_fail (dbin != NULL, -1);
 	priv = dbin->priv;
 	
-	par = gda_data_model_iter_get_param_for_column (priv->data_iter, 2);
-	value = gda_parameter_get_value (par);	
+	value = gda_data_model_iter_get_value_at (priv->data_iter, 2);
 	
 	return value != NULL && G_VALUE_HOLDS_INT (value)
 		? g_value_get_int (value) : -1;
@@ -162,15 +152,12 @@
 	SymbolDBEngineIteratorNodePriv *priv;
 	const GValue* value;
 	
-	GdaParameter *par;
-	
 	g_return_val_if_fail (dbin != NULL, FALSE);
 	priv = dbin->priv;
 	
-	par = gda_data_model_iter_get_param_for_column (priv->data_iter, 3);
-	value = gda_parameter_get_value (par);	
+	value = gda_data_model_iter_get_value_at (priv->data_iter, 3);
 	
-	if (value != NULL)
+	if (value != NULL && G_VALUE_HOLDS_INT (value))
 		return g_value_get_int (value) == 1 ? TRUE : FALSE;
 	
 	return FALSE;
@@ -184,13 +171,11 @@
 {
 	SymbolDBEngineIteratorNodePriv *priv;
 	const GValue* value;
-	GdaParameter *par;
 	
 	g_return_val_if_fail (dbin != NULL, NULL);
 	priv = dbin->priv;
 	
-	par = gda_data_model_iter_get_param_for_column (priv->data_iter, 4);
-	value = gda_parameter_get_value (par);	
+	value = gda_data_model_iter_get_value_at (priv->data_iter, 4);
 	
 	return value != NULL && G_VALUE_HOLDS_STRING (value)
 		? g_value_get_string (value) : NULL;
@@ -201,87 +186,64 @@
 												   gint sym_info)
 {
 	SymbolDBEngineIteratorNodePriv *priv;
-	GdaParameter *par = NULL;
-	GdaParameter *res = NULL;
-	gint column = -1;
+	const GValue *value = NULL;
 	
 	g_return_val_if_fail (dbin != NULL, NULL);
 	priv = dbin->priv;
-#if 0	
-	DEBUG_PRINT ("symbol_db_engine_iterator_node_get_symbol_extra_string () for %d", 
-				 sym_info);
-
-	if (GDA_PARAMETER_LIST(priv->data_iter)) {
-		g_print ("-Parameter(s):\n");
-		GSList *params;
-		for (params = GDA_PARAMETER_LIST(priv->data_iter)->parameters; params; 
-			 params = params->next) {
-			GdaParameter *parameter = GDA_PARAMETER (params->data);
-			g_print ("   - name:%s type:%s\n",
-				 gda_object_get_name (GDA_OBJECT (parameter)),
-				 g_type_name (gda_parameter_get_g_type (parameter)));
-		}
-	}
-#endif	
+	
 	if (sym_info & SYMINFO_FILE_PATH)
 	{
-		par = gda_parameter_list_find_param (GDA_PARAMETER_LIST(priv->data_iter),
-											 "file_path");
+		value = gda_data_model_iter_get_value_for_field (priv->data_iter, 
+														 "file_path");
 	}	
 	else if (sym_info & SYMINFO_LANGUAGE)
 	{
-		par = gda_parameter_list_find_param (GDA_PARAMETER_LIST(priv->data_iter),
-											 "language_name");
+		value = gda_data_model_iter_get_value_for_field (priv->data_iter, 
+														 "language_name");		
 	}
 	else if (sym_info & SYMINFO_IMPLEMENTATION)
 	{
-		par = gda_parameter_list_find_param (GDA_PARAMETER_LIST(priv->data_iter),
-											 "implementation_name");
+		value = gda_data_model_iter_get_value_for_field (priv->data_iter, 
+														 "implementation_name");
 	}
 	else if (sym_info & SYMINFO_ACCESS)
 	{
-		par = gda_parameter_list_find_param (GDA_PARAMETER_LIST(priv->data_iter),
-											 "access_name");
+		value = gda_data_model_iter_get_value_for_field (priv->data_iter, 
+														 "access_name");
 	}
 	else if (sym_info & SYMINFO_KIND)
 	{
-		par = gda_parameter_list_find_param (GDA_PARAMETER_LIST(priv->data_iter),
-											 "kind_name");
+		value = gda_data_model_iter_get_value_for_field (priv->data_iter, 
+														 "kind_name");
 	}
 	else if (sym_info & SYMINFO_TYPE)
 	{
-		par = gda_parameter_list_find_param (GDA_PARAMETER_LIST(priv->data_iter),
-											 "type");
+		value = gda_data_model_iter_get_value_for_field (priv->data_iter, 
+														 "type");
 	}
 	else if (sym_info & SYMINFO_TYPE_NAME)
 	{
-		par = gda_parameter_list_find_param (GDA_PARAMETER_LIST(priv->data_iter),
-											 "type_name");
+		value = gda_data_model_iter_get_value_for_field (priv->data_iter, 
+														 "type_name");
 	}
 	else if (sym_info & SYMINFO_PROJECT_NAME)
 	{
-		par = gda_parameter_list_find_param (GDA_PARAMETER_LIST(priv->data_iter),
-											 "project_name");
+		value = gda_data_model_iter_get_value_for_field (priv->data_iter, 
+														 "project_name");
 	}	
 	else if (sym_info & SYMINFO_FILE_IGNORE)
 	{
-		par = gda_parameter_list_find_param (GDA_PARAMETER_LIST(priv->data_iter),
-											 "file_ignore_type");
+		value = gda_data_model_iter_get_value_for_field (priv->data_iter, 
+														 "file_ignore_type");
 	}
 	else if (sym_info & SYMINFO_FILE_INCLUDE)
 	{
-		par = gda_parameter_list_find_param (GDA_PARAMETER_LIST(priv->data_iter),
-											 "file_include_type");
+		value = gda_data_model_iter_get_value_for_field (priv->data_iter, 
+														 "file_include_type");
 	}
 
-	if (par != NULL) 
-	{
-		column = gda_data_model_iter_get_column_for_param (priv->data_iter, par);
-		res = gda_data_model_iter_get_param_for_column (priv->data_iter, column);
-		return gda_parameter_get_value_str (res);
-	}
-	else
-		return NULL;	
+	return value != NULL && G_VALUE_HOLDS_STRING (value)
+		? g_value_get_string (value) : NULL;
 }
 
 void
@@ -315,65 +277,9 @@
 	}
 }
 
-
 /* IAnjutaSymbol implementation */
-static IAnjutaSymbolType
-isymbol_type (IAnjutaSymbol *isymbol, GError **err)
-{
-	SymbolDBEngineIteratorNode *s;
-	SymbolDBEngineIteratorNodePriv *priv;
-	gpointer tag_found;
-	const gchar* find_str;
-	
-	g_return_val_if_fail (SYMBOL_IS_DB_ENGINE_ITERATOR_NODE (isymbol), 
-						  IANJUTA_SYMBOL_TYPE_UNDEF);
-	
-	s = SYMBOL_DB_ENGINE_ITERATOR_NODE (isymbol);
-	priv = s->priv;
-	
-	find_str = symbol_db_engine_iterator_node_get_symbol_extra_string (s,
-												   SYMINFO_TYPE);
-	if (find_str == NULL) {
-		DEBUG_PRINT ("isymbol_type (): find_str is NULL");
-		return IANJUTA_SYMBOL_TYPE_UNDEF;												   
-	}
-												   
-	tag_found = g_hash_table_lookup (priv->sym_type_conversion_hash, find_str);
-	
-	if (tag_found == NULL) {
-		DEBUG_PRINT ("isymbol_type (): nothing matching ");
-		return IANJUTA_SYMBOL_TYPE_UNDEF;
-	}
-	
-	return (IAnjutaSymbolType)tag_found;
-}
-
-
-static const gchar*
-isymbol_type_str (IAnjutaSymbol *isymbol, GError **err)
-{
-	SymbolDBEngineIteratorNode *s;
-
-	g_return_val_if_fail (SYMBOL_IS_DB_ENGINE_ITERATOR (isymbol),  NULL);
-	s = SYMBOL_DB_ENGINE_ITERATOR_NODE (isymbol);
-	return symbol_db_engine_iterator_node_get_symbol_extra_string (s, 
-								SYMINFO_TYPE);
-}
-
-static const gchar*
-isymbol_type_name (IAnjutaSymbol *isymbol, GError **err)
-{
-	SymbolDBEngineIteratorNode *s;
-
-	g_return_val_if_fail (SYMBOL_IS_DB_ENGINE_ITERATOR (isymbol),  NULL);
-	s = SYMBOL_DB_ENGINE_ITERATOR_NODE (isymbol);
-	return symbol_db_engine_iterator_node_get_symbol_extra_string (s, 
-								SYMINFO_TYPE_NAME);
-}
-
-
 static const gchar*
-isymbol_name (IAnjutaSymbol *isymbol, GError **err)
+isymbol_get_name (IAnjutaSymbol *isymbol, GError **err)
 {
 	SymbolDBEngineIteratorNode *s;
 
@@ -384,7 +290,7 @@
 }
 
 static const gchar*
-isymbol_args (IAnjutaSymbol *isymbol, GError **err)
+isymbol_get_args (IAnjutaSymbol *isymbol, GError **err)
 {
 	SymbolDBEngineIteratorNode *s;
 
@@ -394,54 +300,18 @@
 }
 
 static const gchar*
-isymbol_scope (IAnjutaSymbol *isymbol, GError **err)
-{
-	SymbolDBEngineIteratorNode *s;
-
-	g_return_val_if_fail (SYMBOL_IS_DB_ENGINE_ITERATOR (isymbol),  NULL);
-	s = SYMBOL_DB_ENGINE_ITERATOR_NODE (isymbol);
-//	g_return_val_if_fail (s->priv->tm_tag != NULL, NULL);
-//	return s->priv->tm_tag->atts.entry.scope;
-	return NULL;
-}
-
-static const gchar*
-isymbol_inheritance (IAnjutaSymbol *isymbol, GError **err)
-{
-	SymbolDBEngineIteratorNode *s;
-
-	g_return_val_if_fail (SYMBOL_IS_DB_ENGINE_ITERATOR (isymbol),  NULL);
-	s = SYMBOL_DB_ENGINE_ITERATOR_NODE (isymbol);
-//	g_return_val_if_fail (s->priv->tm_tag != NULL, NULL);
-//	return s->priv->tm_tag->atts.entry.inheritance;
-//	return 
-	return NULL;
-}
-
-static const gchar*
-isymbol_access (IAnjutaSymbol *isymbol, GError **err)
+isymbol_get_extra_info_string (IAnjutaSymbol *isymbol, IAnjutaSymbolField sym_info,
+							   GError **err)
 {
 	SymbolDBEngineIteratorNode *s;
 
 	g_return_val_if_fail (SYMBOL_IS_DB_ENGINE_ITERATOR (isymbol), NULL);
 	s = SYMBOL_DB_ENGINE_ITERATOR_NODE (isymbol);
-	return symbol_db_engine_iterator_node_get_symbol_extra_string (s, 
-																SYMINFO_ACCESS);
-}
+	return symbol_db_engine_iterator_node_get_symbol_extra_string (s, sym_info);
+} 
 
 static const gchar*
-isymbol_impl (IAnjutaSymbol *isymbol, GError **err)
-{
-	SymbolDBEngineIteratorNode *s;
-
-	g_return_val_if_fail (SYMBOL_IS_DB_ENGINE_ITERATOR (isymbol), NULL);
-	s = SYMBOL_DB_ENGINE_ITERATOR_NODE (isymbol);
-	return symbol_db_engine_iterator_node_get_symbol_extra_string (s, 
-													SYMINFO_IMPLEMENTATION);
-}
-
-static const gchar*
-isymbol_uri (IAnjutaSymbol *isymbol, GError **err)
+isymbol_get_uri (IAnjutaSymbol *isymbol, GError **err)
 {
 	SymbolDBEngineIteratorNode *s;
 
@@ -458,7 +328,7 @@
 }
 
 static gulong
-isymbol_line (IAnjutaSymbol *isymbol, GError **err)
+isymbol_get_line (IAnjutaSymbol *isymbol, GError **err)
 {
 	SymbolDBEngineIteratorNode *s;
 
@@ -478,7 +348,7 @@
 }
 
 static const GdkPixbuf*
-isymbol_icon (IAnjutaSymbol *isymbol, GError **err)
+isymbol_get_icon (IAnjutaSymbol *isymbol, GError **err)
 {
 	SymbolDBEngineIteratorNode *s;
 	
@@ -492,22 +362,42 @@
 								SYMINFO_ACCESS));
 }
 
+static IAnjutaSymbolType 
+isymbol_get_sym_type (IAnjutaSymbol *isymbol, GError **err)
+{
+	SymbolDBEngineIteratorNode *s;
+	SymbolDBEngineIteratorNodePriv *priv;
+	const gchar* type_str;
+	gint type;
+	
+	g_return_val_if_fail (SYMBOL_IS_DB_ENGINE_ITERATOR (isymbol), 
+						  IANJUTA_SYMBOL_TYPE_UNDEF);
+	s = SYMBOL_DB_ENGINE_ITERATOR_NODE (isymbol);
+	
+	priv = s->priv;
+	
+	type_str = symbol_db_engine_iterator_node_get_symbol_extra_string (s, 
+												   IANJUTA_SYMBOL_FIELD_TYPE);
+	if (type_str == NULL)
+		return IANJUTA_SYMBOL_TYPE_UNDEF;
+
+	type = (IAnjutaSymbolType)g_hash_table_lookup ((GHashTable*)priv->sym_type_conversion_hash, 
+									  type_str);
+
+	return type;
+}
+
 static void
 isymbol_iface_init (IAnjutaSymbolIface *iface)
 {
-	iface->type = isymbol_type;
-	iface->type_str = isymbol_type_str;	
-	iface->type_name = isymbol_type_name;
-	iface->name = isymbol_name;
-	iface->args = isymbol_args;
-	iface->scope = isymbol_scope;
-	iface->inheritance = isymbol_inheritance;	
-	iface->access = isymbol_access;
-	iface->impl = isymbol_impl;
-	iface->uri = isymbol_uri;
-	iface->line = isymbol_line;
+	iface->get_uri = isymbol_get_uri;
+	iface->get_name = isymbol_get_name;	
+	iface->get_line = isymbol_get_line;
+	iface->get_sym_type = isymbol_get_sym_type;
 	iface->is_local = isymbol_is_local;
-	iface->icon = isymbol_icon;
+	iface->get_args = isymbol_get_args;
+	iface->get_extra_info_string = isymbol_get_extra_info_string;
+	iface->get_icon = isymbol_get_icon;
 }
 
 ANJUTA_TYPE_BEGIN (SymbolDBEngineIteratorNode, sdb_engine_iterator_node, G_TYPE_OBJECT);

Modified: trunk/plugins/symbol-db/symbol-db-view-locals.c
==============================================================================
--- trunk/plugins/symbol-db/symbol-db-view-locals.c	(original)
+++ trunk/plugins/symbol-db/symbol-db-view-locals.c	Thu Apr  3 21:49:08 2008
@@ -26,7 +26,6 @@
 #include <gtk/gtk.h>
 #include <libanjuta/anjuta-utils.h>
 #include <libanjuta/anjuta-debug.h>
-#include <libegg/menu/egg-combo-action.h>
 
 #include "symbol-db-view-locals.h"
 #include "symbol-db-engine.h"



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]