Updated Spanish translation
[anjuta-git-plugin.git] / src / widget-registry.c
bloba2edaa1a3a8aa1ffc3bcb958d094bae8ab7fa708
1 #include <gnome.h>
3 #include "widget-registry.h"
5 static GHashTable *registry = NULL;
7 static GtkWidget *default_submenu = NULL;
9 void an_register_submenu(const gchar *name, GtkWidget *submenu)
11 g_return_if_fail(submenu);
13 if (NULL == registry)
14 registry = g_hash_table_new(g_str_hash, g_str_equal);
15 if (NULL == name)
16 default_submenu = submenu;
17 else
19 gchar *lname = g_strdup(name);
20 g_strdown(lname);
21 if (NULL == g_hash_table_lookup(registry, lname))
22 g_hash_table_insert(registry, (gpointer) lname, submenu);
23 else
24 g_warning("an_register_submenu: %s is already registered"
25 , name);
29 GtkWidget *an_get_submenu(const gchar *name)
31 GtkWidget *submenu;
33 if (NULL == name)
34 return default_submenu;
35 else
37 gchar *lname = g_strdup(name);
38 g_strdown(lname);
39 submenu = g_hash_table_lookup(registry, lname);
40 g_free(lname);
41 if (NULL == submenu)
42 submenu = default_submenu;
43 return submenu;