Owen's Pango Status Report #4



In the Pango Status Report #4, Owen says:

"TODO highlights:

    The projects I intend to tackle next are:

           .
           .
           .

    - Write the necessary Pango functions to get proper arrow-key
      behavior in GtkEntry.
"

What does this last thing mean?
Does it mean that at last we will be able to use the numerical arrow
keys for moving and selecting in the GtkEntry widget? Note that nowadays
you can only use the non-numerical arrows to move/select in all the
widgets (GtkEntry, GtkText, GtkClist, GtkNotebook), while you can use
the numerical and non-numerical ones to move focus among the widgets of
a main window.
This is indeed annoying. For example, say you have the focus positioned
in a tab of a notebook. Well, if you press right with the non-numerical
arrows (GDK_RIGHT), then the notebook gets the keypress and moves you to
the next tab, while if you press right on the numerical ones
(GDK_KP_RIGHT), the notebook ignores the keypress and this ones passes
to the main window, that moves the focus to the next widget (not the
next notebook tab). This is indeed a BAD THING for the end user, because
is VERY INCONSISTENT.
For me, the right thing in all the GTK+ API is to consider:

GDK_RIGHT = GDK_KP_RIGHT
GDK_LEFT = GDK_KP_LEFT
etc...
except when the user press Num Lock, when the Shift status should
change.
The problem is in the widgets that need movement + selecting at the same
time (like GtkEntry, GtkText, GtkClist, others?), because you have to
press an arrow plus the Shift key, and here comes the problem, because
for example:
GDK_RIGHT + Shift = GDK_RIGHT + GDK_SHIFT_MASK
but
GDK_KP_RIGHT + Shift = GDK_KP_6 + GDK_SHIFT_MASK.

The big problem is knowing if the Num Lock key is on, because is changes
the semantic of the GDK_SHIFT_MASK. But which key is the Num Lock
one? The programmer only can know that is a GDK_MODi_MASK, with i
between 1 and 5. So, no way to know it.

Anybody knows how to solve this problem or how to make widgets that
overcomes that problem to behave correctly?.
Havoc, will your new Text widget behave correctly with the non-numerical
arrows?

Hope to hear from you...



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