menu accel conflict with entry


I'm a newbie trying to add an entry box in the same
window with a menu with accel keys.  I've found that
when I type into the text entry box, I can't enter letters
used by the menu.  How do I make the entry box
have priority over the menu when it is selected?
The file below demonstrates my problem... I can't
enter an 'n' into the entry box.

Another question about menu accel... how do I make
the menu show lower case letters when the accel key
is lower case?



#include <stdio.h>
#include <gtk/gtk.h>

void myAction(GtkAction *action,
             gpointer   user_data)

int main(int argc, char *argv[])
 gtk_init(&argc, &argv);

 GtkWidget *window;
 window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
 GtkWidget *vbox;
 vbox = gtk_vbox_new(FALSE, 0);
 gtk_container_add (GTK_CONTAINER(window), vbox);

 static GtkActionEntry entries[] = {
   { "FileMenu", NULL, "_File" },
   { "New", GTK_STOCK_NEW, "_New", "n", NULL, G_CALLBACK (myAction) },

 static const gchar *ui_info =
   "  <menubar name='MenuBar'>\n"
   "    <menu action='FileMenu'>\n"
   "      <menuitem action='New'/>\n"
   "    </menu>\n"
   "  </menubar>\n"
 GtkUIManager *manager;
 GtkActionGroup *actions;
 actions = gtk_action_group_new ("Actions");
gtk_action_group_add_actions (actions, entries, G_N_ELEMENTS (entries), NULL);
 manager = gtk_ui_manager_new ();
 GError *err;
 err = NULL;
 gtk_ui_manager_add_ui_from_string (manager, ui_info, -1, &err);
 gtk_ui_manager_insert_action_group (manager, actions, 0);
 gtk_window_add_accel_group (GTK_WINDOW (window),
                             gtk_ui_manager_get_accel_group (manager));
 GtkWidget *mw = gtk_ui_manager_get_widget (manager, "/MenuBar");
 gtk_box_pack_start (GTK_BOX (vbox),
                     FALSE, FALSE, 0);
 GtkWidget *entry = gtk_entry_new();
 gtk_box_pack_start(GTK_BOX(vbox), entry, TRUE, TRUE, 0);


All-in-one security and maintenance for your PC.  Get a free 90-day trial!

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