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 }