--- np2/x11/gtk/Attic/gtk_menu.c 2004/03/23 15:16:43 1.4 +++ np2/x11/gtk/Attic/gtk_menu.c 2004/06/17 14:36:34 1.6 @@ -49,6 +49,7 @@ #include "toolwin.h" #include "viewer.h" #include "debugwin.h" +#include "skbdwin.h" #include "mousemng.h" #include "scrnmng.h" @@ -58,7 +59,6 @@ #include "gtk/gtk_menu.h" #include "gtk/gtk_keyboard.h" -#include #include @@ -320,6 +320,7 @@ static GtkItemFactoryEntry menu_items[] { "/Other/sep1", NULL, NULL, 0, "" }, { "/Other/_Tool Window", NULL, f(toggle), TOOL_WINDOW, "" }, { "/Other/_Key Display", NULL, f(toggle), KEY_DISPLAY, "" }, +{ "/Other/S_oftware Keyboard", NULL, f(toggle), SOFT_KBD, "" }, { "/Other/sep2", NULL, NULL, 0, "" }, { "/Other/_About...", NULL, f(_create_about_dialog), 0, NULL }, }; @@ -349,6 +350,7 @@ static struct { { "/Other/S98 logging...", 0, 0 }, { "/Other/Tool Window", 0, SYS_UPDATEOSCFG }, { "/Other/Key Display", 0, SYS_UPDATEOSCFG }, + { "/Other/Software Keyboard", 0, SYS_UPDATEOSCFG }, }; static _MENU_HDL menu_hdl; @@ -358,15 +360,18 @@ static BOOL inited = FALSE; * menu initialize */ GtkWidget * -create_menu(GtkWidget *w) +create_menu(GtkWidget *parent) { GtkAccelGroup *accel_group; GtkWidget *menubar; + (void)parent; + accel_group = gtk_accel_group_new(); menu_hdl.item_factory = gtk_item_factory_new(GTK_TYPE_MENU_BAR, "
", accel_group); gtk_item_factory_create_items(menu_hdl.item_factory, NELEMENTS(menu_items), menu_items, NULL); - gtk_accel_group_attach(accel_group, GTK_OBJECT(w)); + + menubar = gtk_item_factory_get_widget(menu_hdl.item_factory, "
"); disable_unused_items(); @@ -385,6 +390,7 @@ create_menu(GtkWidget *w) xmenu_toggle_item(MOUSE_RAPID, np2cfg.MOUSERAPID, TRUE); xmenu_toggle_item(TOOL_WINDOW, np2oscfg.toolwin, TRUE); xmenu_toggle_item(KEY_DISPLAY, np2oscfg.keydisp, TRUE); + xmenu_toggle_item(SOFT_KBD, np2oscfg.softkbd, TRUE); xmenu_select_framerate(np2oscfg.DRAW_SKIP); xmenu_select_f12key(np2oscfg.F12KEY); @@ -395,8 +401,6 @@ create_menu(GtkWidget *w) inited = 1; - menubar = gtk_item_factory_get_widget(menu_hdl.item_factory, "
"); - if (np2oscfg.I286SAVE) { GtkWidget *debug_menu; GtkWidget *debug_item; @@ -505,8 +509,9 @@ xmenu_toggle_item(int arg, int onoff, in if (arg < NELEMENTS(toggle_items)) { if (onoff != toggle_items[arg].stat) { toggle_items[arg].stat = onoff; - if (emitp) + if (emitp) { xmenu_select_item(&menu_hdl, toggle_items[arg].name); + } if (inited && arg != MOUSE_MODE) { sysmng_update(toggle_items[arg].flag); } @@ -1261,6 +1266,15 @@ toggle(gpointer data, guint action, GtkW } break; + case SOFT_KBD: + np2oscfg.softkbd = !np2oscfg.softkbd; + xmenu_toggle_item(SOFT_KBD, np2oscfg.softkbd, FALSE); + if (np2oscfg.softkbd) { + skbdwin_create(); + } else { + skbdwin_destroy(); + } + case NUM_TOGGLE_ITEMS: default: break;