00001
00005 #include <gtk/gtk.h>
00006 #include "gui_dict.h"
00007
00018 void
00019 gui_menu_append_item (GtkMenu * menu, char *label,
00020 GtkSignalFunc cb, gpointer data)
00021 {
00022 GtkWidget *item;
00023 item = gtk_menu_item_new_with_label (label);
00024 if (cb != NULL)
00025 gtk_signal_connect (GTK_OBJECT (item), "activate", cb, data);
00026 gtk_menu_append (menu, item);
00027 gtk_widget_show (item);
00028 }
00029
00035 GtkWidget *
00036 gui_menu_file_new ()
00037 {
00038 GtkWidget *r;
00039 r = gtk_menu_new ();
00040
00041 gui_menu_append_item (GTK_MENU (r), "Exit", GTK_SIGNAL_FUNC (gtk_main_quit),
00042 NULL);
00043 return (r);
00044 }
00045
00052 GtkWidget *
00053 gui_menu_dict_new ()
00054 {
00055 GtkWidget *r;
00056
00057 r = gtk_menu_new ();
00058
00059 gui_menu_append_item (GTK_MENU (r), "Open...", gui_dict_open_cb, NULL);
00060 gui_menu_append_item (GTK_MENU (r), "Close", gui_dict_close_cb, NULL);
00061
00062 return (r);
00063 }
00064
00071 GtkWidget *
00072 gui_menu_mini_dict_new ()
00073 {
00074 GtkWidget *r;
00075
00076 r = gtk_menu_new ();
00077
00078 gui_menu_append_item (GTK_MENU (r), "New", NULL, NULL);
00079 gui_menu_append_item (GTK_MENU (r), "Open...", NULL, NULL);
00080 gui_menu_append_item (GTK_MENU (r), "Save", NULL, NULL);
00081 gui_menu_append_item (GTK_MENU (r), "Save as...", NULL, NULL);
00082 gui_menu_append_item (GTK_MENU (r), "Close", NULL, NULL);
00083
00084 return (r);
00085 }
00086
00093 void
00094 gui_menu_to_menubar (GtkMenuBar * bar, char *label, GtkWidget * menu)
00095 {
00096 GtkWidget *item;
00097 item = gtk_menu_item_new_with_label (label);
00098 gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu);
00099 gtk_widget_show (menu);
00100 gtk_menu_bar_append (bar, item);
00101 gtk_widget_show (item);
00102 }
00103
00111 GtkWidget *
00112 gui_menu_mainmenu_new ()
00113 {
00114 GtkWidget *r;
00115 r = gtk_menu_bar_new ();
00116
00117 gui_menu_to_menubar (GTK_MENU_BAR (r), "File", gui_menu_file_new ());
00118 gui_menu_to_menubar (GTK_MENU_BAR (r), "Dictionary", gui_menu_dict_new ());
00119 gui_menu_to_menubar (GTK_MENU_BAR (r), "Minidict",
00120 gui_menu_mini_dict_new ());
00121
00122 return (r);
00123 }