Re: Gtk2::DrawingArea
- From: Mitchell Laks <mlaks post harvard edu>
- To: gtk-perl-list gnome org
- Subject: Re: Gtk2::DrawingArea
- Date: Tue, 5 Feb 2008 11:28:24 -0500
On 08:30 Tue 05 Feb , muppet wrote:
By virtue of adding the key-press-event mask to the widget's event set,
the drawing area is set up to monitor key-press-event, but is not allowed to
take keyboard focus until you enable it. You need to do
$draw->can_focus (TRUE);
Now that works!
Ah!
Now I see why it worked in the histogram.pl example in the Gtk2-1.153/examples.
You set it there as well. I did not think/know about focus.
I just sat down and read about focus in the Havoc Pennington GTK+/Gnome application development book.
Now, this was really good to know.
I will have to think about focus for a bit.
Q1. Is the can_focus(TRUE) (as opposed to set_focus)
typically needed only for widgets like DrawingArea
that don't have a 'place' to put text? I guess I can always
try the function if I find I need it :).
***********************
I notice that I can capture modifier masks for the
GdkEventButton directly using the state member
so I can do
if ($state >= ["button2-mask","control-mask" ])
while doing a pointer-motion, in the
sub motion_notify_event {
}.
This works for Control/Alt/Caps-Lock/Shift modifiers of a pointer-motion
or a button-press-event.
On the other hand I would have to use the
signal from a key-press or key-release event (together with can_focus),
if I wanted to capture more obscure key presses like "A" together
with pointer motion.
Mitchell
(Dear muppet - sorry I sent the original letters to you and not to the list.
I hit r instead of L in mutt :(.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]