Govinda Parida wrote:
> 
> Hi, I have added a Gtk::TreeView control in a Gtk::Window and at the 
> right side of the treeview, I have added a Gtk::Button. when this button 
> is clicked the keypress event to the "page down" key should be generated 
> to view the next page of treeview. How do I generate keypress event for 
> "page down" key. please give me some clues.
> 

You have to create a GdkEventKey, something like that:

void Foo:bar() // handler for signal_clicked()
{
         <YOUR TREEVIEW>.grab_focus(); // essential

         guint keyval = GDK_Page_Down;

         GdkKeymapKey* keys;
         gint n_keys;
         gdk_keymap_get_entries_for_keyval(gdk_keymap_get_default(),
                                           keyval,
                                           &keys,
                                           &n_keys);
        // Note: GdkEvent is an union
         GdkEvent* event = gdk_event_new(GDK_KEY_PRESS);
         ((GdkEventKey*)event)->window =
                              <YOUR TREEVIEW>get_window()->gobj();
         ((GdkEventKey*)event)->send_event = TRUE;
         ((GdkEventKey*)event)->time = GDK_CURRENT_TIME;
         ((GdkEventKey*)event)->state = GDK_KEY_PRESS_MASK;
         ((GdkEventKey*)event)->keyval = keyval;
         ((GdkEventKey*)event)->hardware_keycode = keys[0].keycode;
         ((GdkEventKey*)event)->group = keys[0].group;

         gdk_event_put(event);
//      Or, more gdkmm-ish:
//      Gdk::Event(event).put();
}

Anyway it's GDK stuff, I don't know how to do that in gdkmm..
Take a look to GDK reference for more info.

Regards,
s.

> ------------------------------------------------------------------------
> 
> _______________________________________________
> gtkmm-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/listinfo/gtkmm-list





_______________________________________________
gtkmm-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to